版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第四章运算方法和运算器计算机组成原理·学习课件Contents本章目录计算机组成原理·运算方法与运算器设计01定点数加减法运算02定点数乘除法运算03浮点数运算方法04校验码与数据校验05运算器结构与ALU设计CHAPTER01定点数加减法运算补码加减法规则、溢出判定与移位运算计算机组成原理·运算方法补码加减法核心公式补码加减法的核心在于将减法统一为加法运算,通过两个基本公式[X+Y]补=[X]补+[Y]补和[X-Y]补=[X]补+[-Y]补,实现了硬件电路上加减法的统一处理,这是现代计算机运算器设计的理论基石。01加法公式[X+Y]补=[X]补+[Y]补:两数之和的补码等于两数补码之和,需分X、Y正负四种情况分别证明02减法公式[X−Y]补=[X]补+[−Y]补:减法转化为被减数补码与减数相反数补码之和,硬件上只需一个加法器03证明思路以X>0,Y<0为例:[X]补=X,[Y]补=2+Y,相加得2+X+Y,对2取模后即[X+Y]补04运算规则总结符号位与数值位一起参与运算,最高位产生的进位丢弃(mod2),结果仍为补码形式COMPLEMENTARITHMETIC补码加减法运算示例通过具体例题演示补码加减法的完整运算流程:先分别求出操作数的补码表示,再按二进制加法规则逐位相加(含符号位),最高位进位丢弃,最终结果即为补码形式的正确答案。01求补码X=+10011,Y=−01101[X]补=0,10011——正数符号位为0,数值不变[Y]补=1,10011——负数符号位为1,数值从右扫首个1后取反[−Y]补=0,01101——Y的相反数为正数,直接取补02运算过程与结果X+Y=0,10011+1,10011=0,01110——丢弃最高进位,结果为正数+01110X−Y=[X]补+[−Y]补=0,10011+0,01101=0,11110——无进位丢弃,结果为正数+10000COMPUTERARITHMETIC溢出判定方法(一):进位法与双符号位法溢出是指运算结果超出机器数表示范围的现象,只有同号相加或异号相减才可能产生。进位判定法通过比较最高有效位进位与符号位进位的异同来检测溢出,双符号位法则通过运算后两个符号位是否一致来判定溢出类型。进位判定法01核心原理:比较最高有效位产生的进位Cf与符号位产生的进位Cs02判定规则:当Cf≠Cs时产生溢出,即V=Cf⊕Cs(异或为1则溢出)03适用场景:单符号位补码运算的硬件实现,电路简洁高效V=Cf⊕Cs核心公式双符号位法(模4补码)01正数双符号位为00,负数双符号位为11,两个符号位同时参加运算02运算后若两位相同(00或11)则无溢出,若不同则溢出0301表示正溢出(结果>最大正数),10表示负溢出(结果<最小负数)01/10溢出类型标识溢出检测·OverflowDetection溢出判定方法(二):符号判定与综合例题符号判定法通过操作数与结果的符号关系直接判断溢出,概念最直观。三种方法在本质上等价,硬件设计中通常选用进位法或双符号位法。符号判定法正溢出条件:两正数相加结果为负,或正数减负数结果为负负溢出条件:两负数相加结果为正,或负数减正数结果为正本质:只有同号数相加或异号数相减才可能产生溢出综合例题验证符号法:X=+1000,Y=+1001→01000+01001=10001(符号位1=负,正溢出)交叉验证:进位法Cf=1,Cs=0,V=1⊕0=1;双符号位法01000+01001=010001,双符号位01(均确认正溢出)ShiftOperation移位运算规则移位运算分为逻辑移位和算术移位两类,无符号数采用逻辑移位(补0),带符号数采用算术移位(右移补符号位)。移位溢出的判定因数据类型不同而异,是乘除法算法中不可或缺的基本操作。无符号数LogicalShiftLeftShift逻辑左移:高位移出,低位补0;若移出位为1则发生溢出,结果丢失有效数据RightShift逻辑右移:低位移出,高位补0;无溢出问题,相当于无符号数除以2的幂次Application常用于位运算、数据打包解压、快速乘法除法实现等底层优化场景带符号整数ArithmeticShiftLeftShift算术左移:与逻辑左移相同,但若移出位≠新符号位则溢出,需特别检测RightShift算术右移:低位移出,高位补符号位;原码表示时除符号位外补0Example补码负数算术右移:1,0110右移一位得1,1011(高位补1保持负数性质)Chapter02定点数乘除法运算原码与补码乘法算法、Booth算法与除法运算Algorithm原码一位乘法原码一位乘法将符号位与数值位分离处理:符号位通过异或运算确定,数值部分通过逐位判断乘数、累加被乘数并右移部分积的方式实现,共需n次加法和n次移位操作完成n位乘法。01符号位处理积的符号由被乘数符号与乘数符号异或确定,数值部分取绝对值进行乘法运算。⊕XOR02核心步骤从乘数最低位yn开始判断:若yn=1则部分积加被乘数|X|,若yn=0则加0。yn=103移位循环每次加法后部分积与乘数联合右移一位,重复n次(n为数值位位数)。n次循环04最终结果部分积寄存器与乘数寄存器拼接,得到2n位乘积的数值部分。2n位COMPUTERARITHMETIC补码乘法:校正法补码校正法通过将乘法分解为"无符号乘法+符号校正"两步实现:先按原码方式计算[X]补与乘数数值部分的乘积,再根据乘数符号位决定是否加上[-X]补进行校正。FORMULA核心公式[X×Y]补=[X]补×(0.y₁y₂...yₙ)+y₀×[-X]补其中y₀表示乘数的符号位,决定是否需要校正POSITIVEY为正数(y₀=0)无需校正,直接得到最终乘积结果结果即为[X]补与Y数值部分的原码乘积,运算步骤简化NEGATIVEY为负数(y₀=1)需在原码乘积基础上加上[-X]补进行校正通过补码加法实现符号修正,保证结果的正确性LIMITATION局限性需要额外判断乘数符号并执行校正加法运算步骤不够统一,硬件实现相对复杂,控制逻辑需区分正负COMPUTERARITHMETICBooth乘法算法Booth算法通过引入辅助位yn+1,将乘数相邻位的差值映射为加0、加[X]补或加[-X]补三种操作,实现了补码乘法的统一处理。Booth算法规则表yₙ(当前位)yₙ₊₁(辅助位)操作00+0→算术右移1位01+[X]补→算术右移1位10+[-X]补→算术右移1位11+0→算术右移1位01加正、10加负、00/11不加—Booth算法通过相邻位差值决定操作类型ALGORITHMNOTESBooth算法运算要点与注意事项Booth算法的运算流程需严格遵循'前n步加后移、最后一步只加不移'的规则,被乘数采用双符号位防溢出,乘数采用单符号位加辅助位,整个过程符号位直接参与运算,正负数统一处理无需校正。01被乘数X用双符号位,乘数Y用单符号位,辅助位yn+1初始化为0双符号位02共执行n+1步操作:前n步每步执行加法后算术右移1位,第n+1步只加不移n+1步03中间步骤若符号位出现10(溢出)无需处理,后续右移自动修正自动修正04算法优势:正负数统一处理,无需判断符号和校正,硬件实现规整高效统一处理COMPUTERARCHITECTURE阵列乘法器阵列乘法器通过二维逻辑门阵列实现所有部分积的并行生成与累加,利用斜向进位机制加速进位传播,以O(n²)的硬件代价换取O(n)的时间复杂度,是高性能计算中并行乘法的核心实现方案。结构原理用与门阵列生成所有部分积aᵢ×bⱼ,再用全加器阵列逐列累加,形成完整的二维计算网格。aᵢ×bⱼ斜向进位机制某位加和产生的进位直接斜向传给左下角全加器的输入端,避免逐位串行传播延迟。斜向传播时间复杂度关键路径延迟为O(n),远优于串行乘法器的O(n²),实现线性级别的乘法运算速度。O(n)硬件代价需要约n²个与门和全加器,面积功耗较大,适用于对性能要求极高的高性能计算场景。n²COMPUTERARITHMETIC定点数除法:原码恢复余数法逐位试商:余数左移减除数,为负则商0并恢复余数,为正则商1,共n次迭代得n位商01符号判定商的符号由被除数与除数符号位异或运算确定,数值部分则取两者的绝对值进行后续运算,确保运算过程专注于无符号数的处理异或运算02迭代操作每次迭代先将当前余数左移一位,再执行减法操作,即加上除数绝对值的补码形式[−|Y|]补,通过移位与减法组合实现逐位求商+[−|Y|]补03商值判定根据新余数的符号位判断商值:若余数非负则该位商置1并继续下一位;若余数为负则商置0,必须加回除数绝对值以恢复正确的余数恢复步骤04迭代终止经过n次迭代得到n位商值,由于恢复操作增加了运算周期,现代计算机体系结构普遍采用不恢复余数法(加减交替法)来优化性能不恢复余数法COMPUTERARITHMETIC定点数除法:不恢复余数法(加减交替法)不恢复余数法通过"余数为正减除数、余数为负加除数"的交替策略消除了恢复操作,每次迭代仅需一次加法,效率显著优于恢复余数法,是实际硬件除法器的主流实现方案。01核心规则(余数≥0):上次余数≥0→左移一位后减除数(+[-|Y|]补),商1商102核心规则(余数<0):上次余数<0→左移一位后加除数(+|Y|),商0商003效率优势:每次迭代仅需一次加法操作,无需恢复步骤,运算效率提升约50%≈50%04末尾处理:若最后一次余数为负,需额外加除数恢复得到正确余数CORRECTIONChapter03浮点数运算方法浮点加减法的对阶、尾数运算、规格化与舍入处理计算机组成原理浮点数表示格式回顾浮点数由符号位、阶码和尾数三部分组成,N=(-1)^S×M×2^E。阶码采用移码表示以方便比较大小,尾数采用补码或原码表示。IEEE754标准是当今计算机系统中最广泛使用的浮点数表示规范。浮点数构成符号位S:0表示正数,1表示负数,占1位阶码E:采用移码表示,偏置值127或1023,便于直接比较大小尾数M:规格化小数,采用原码或补码表示,隐含最高位1N=(-1)S×M×2EIEEE754标准格式单精度(32位):1位符号+8位阶码(偏置127)+23位尾数,精度约7位十进制双精度(64位):1位符号+11位阶码(偏置1023)+52位尾数,精度约16位十进制Single&DoublePrecisionCOMPUTERARITHMETIC·PROCESS浮点加减法运算步骤浮点加减法遵循"对阶→尾数运算→规格化→舍入→溢出判定"五步流程,其中对阶采用小阶向大阶看齐原则,规格化分为左规和右规,整个过程需要阶码和尾数两个部件协调配合。01对阶—求阶差ΔE=Eₓ−Eᵧ,小阶向大阶看齐,尾数右移ΔE位,阶码加ΔE02尾数加减—对阶后的两尾数按定点补码加减法规则进行运算03规格化—结果不满足规格化时左规(尾数左移,阶码减1)或右规(尾数右移,阶码加1)04舍入处理—按0舍1入法或恒置1法等规则处理右移丢弃的尾数低位05溢出判定—检查阶码是否超出表示范围(上溢报错,下溢作机器零处理)浮点运算·完整流程浮点加法运算示例通过具体例题演示浮点加法的完整运算过程:对阶时小阶向大阶看齐并右移尾数,尾数相加后根据结果判断是否需要规格化(左规或右规),最后处理舍入和溢出检查。例题:X=0.1101×2³,Y=0.1001×2¹Step01·对阶阶差ΔE=3−1=2,Y尾数右移2位得0.0010,阶码升为3Step02·尾数相加0.1101+0.0010=0.1111(已规格化,无需调整)Step03·结果X+Y=0.1111×2³右规场景示例判断条件尾数相加结果为1.0100(双符号位01),说明需要右规右规操作尾数右移一位得0.1010,阶码加1(3→4),最终0.1010×2⁴FLOATING-POINTARITHMETIC浮点乘法与除法运算浮点乘法的核心是阶码相加、尾数相乘后规格化;浮点除法则是阶码相减、尾数相除后规格化。两者都需要注意移码阶码的偏置值修正,以及除法中尾数商的规格化预处理。01浮点乘法阶码运算E_result=Ex+Ey−偏置值移码加法需修正偏置尾数运算M_result=Mx×My按定点数乘法规则执行后处理对乘积尾数进行规格化与舍入检查阶码是否溢出02浮点除法阶码运算E_result=Ex−Ey+偏置值移码减法需修正偏置尾数运算M_result=Mx÷My,要求|Mx|<|My|否则Mx右移1位、Ex加1后处理对商的尾数进行规格化与舍入检查阶码是否溢出CHAPTER04校验码与数据校验奇偶校验、海明码与CRC循环冗余校验的原理与应用ERRORDETECTION奇偶校验码奇偶校验码通过添加一位校验位使码字中1的总数为奇数或偶数,硬件实现仅需一个异或门,是最基础的数据校验手段;但其只能检测奇数个位错误,无法检测偶数个错误,也不具备纠错能力。基本原理奇校验与偶校验—奇校验使码字中1的个数为奇数;偶校验使1的个数为偶数。硬件实现—一般用异或门(奇校验)或异或非门(偶校验)生成和检测校验位。编码示例—数据1011001(4个1),奇校验位=1,编码后为10110011(5个1)。局限性分析检错能力—只能检测奇数个位同时出错,偶数个位错误无法发现。纠错能力—完全不具备纠错能力,发现错误后只能请求重传。应用提示:适用于误码率较低、对可靠性要求不高的简单通信场景。ErrorDetection&Correction海明校验码海明码通过在数据位中按2的幂次位置插入多个校验位,构建多重奇偶校验关系,实现1位错误的自动定位与纠正(码距d≥3),是内存ECC纠错等场景中广泛使用的校验方案。01校验位放置位于第1、2、4、8…位(2的幂次),其余位置放数据位2ⁿ02校验关系每个校验位Pᵢ对位号二进制表示中第i位为1的所有位做奇偶校验Pᵢ03纠错原理接收端重新计算校验位,不符的校验位号做OR运算即可定位出错位OR04码距要求d≥3,可纠1位错误;同时检2位错误时需扩展为扩展海明码d≥3DATALINKLAYER·ERRORDETECTIONCRC循环冗余校验码CRC基于多项式模2除法取余附加于数据尾部,接收端验证余数判错,检错强且硬件高效。编码过程数据M(x)乘以xr后模2除以生成多项式G(x),余数R(x)附加为校验位模2除法校验过程接收端用G(x)模2除接收码字,余数为0则正确,非0则出错余数=0检错能力码距d=3,可纠1位错误或检测多位突发错误,实际主要用于检错d=3常用标准CRC-16、CRC-32等标准,硬件用移位寄存器+异或门高效实现CRC-32Chapter05运算器结构与ALU设计加法器优化、先行进位、ALU核心结构与浮点运算器ComputerArchitectureALU基本结构与功能ALU是运算器的核心部件,以加法器为基础,配合移位器、逻辑运算单元和多路选择器实现算术与逻辑运算。其设计优劣直接决定处理器的运算性能,加法器的进位传播速度是ALU速度的关键瓶颈。01核心部件加法器是ALU的基础,减法、乘法、除法均通过加法和移位组合实现,是所有算术运算的底层支撑。ADDER02内部组成加法器+移位器+逻辑运算单元(AND/OR/NOT/XOR)+多路选择器(MUX)四大模块协同工作。MUX+SHIFTER03输入输出两个操作数从通用寄存器读入,运算结果写回结果寄存器或累加器,完成数据通路的闭环。REGISTER04状态标志进位C、溢出V、零Z、负N等标志位记录运算结果特征,供条件跳转指令使用。C·V·Z·NComputerArithmetic串行进位与先行进位加法器串行进位加法器进位逐级传递,延迟O(n);先行进位加法器通过进位生成函数G和传递函数P将各级进位展开为输入的函数,实现进位并行计算,显著提升加法速度。串行进位加法器RippleCarryAdder进位逐级传递:Ci+1=Ai·Bi+(Ai⊕Bi)·Ci,每位须等前位进位n位加法器总延迟=n×单级进位延迟,位宽越大速度越慢O(n)先行进位加法器CarryLookaheadAdder进位生成函数Gi=Ai·Bi,进位传递函数Pi=Ai⊕Bi展开进位:C2=G1+P1·G0+P1·P0·C0,所有进位可并行计算延迟降为O(logn)(受门扇入限制),4位CLA延迟约为2级门延迟O(logn)CarryLookaheadAdder多级先行进位加法器多级先行进位加法器通过"组内并行、组间并行"的两级(或多级)先行进位策略,解决了单级CLA门扇入过大的问题,在合理硬件开销下实现O(logn)级延迟,是高性能处理器中32/64位加法器的标准实现。分组策略将n位加法器分为多个小组(如4位一组),每组内部用CLA实现组内并行进位,有效降低单级门扇入压力。4位一组组级先行进位定义组进位生成函数Gg和传递函数Pg,组间同样采用CLA结构实现并行进位传递。Gg&Pg16位示例4组×4位结构,组内CLA与组间CLA两级并行,总延迟控制在约3–4级门延迟。3–4级延迟扩展方式对于32/64位加法器,可扩展为三级先行进位架构(组内–组间–块间),保持对数级延迟特性。三级先行COMPUTERARITHMETIC移码运算与BCD码校正移码运算在浮点数阶码处理中不可或缺,[X]移+[Y]补=[X+Y]移是浮点加减法中阶码运算的核心公式;BCD码加法在结果超过9时需加6校正,是十进制运算的硬件实现基础。EXCESSCODE[X]移+[Y]补=[X+Y]移浮点阶码运算核心公式BCDCORRECTION结果>9→加6校正8421码合法性恢复移码运算01[X]移+[Y]移=2ⁿ+[X+Y]移,结果符号位需取反02[X]移+[Y]补=[X+Y]移,浮点阶码运算中直接使用此公式03溢出判定(双符号位):最高两位10=正溢出,11=负溢出(作机器零处理)8421BCD码校正04校正条件:p=s₈·s₄+s₈·s₂+C(结果>9或产生进位时需校正)05校正方法:在BCD码加法结果上加6(0110),使其回到合法BCD编码范围FloatingPointUnitArchitecture浮点运算器基本结构浮点运算器由阶码运算部件、尾数运算部件、移位器和控制逻辑四部分组成,阶码部件处理指数加减,尾数部件执行数值运算,控制逻辑协调对阶、规格化和舍入等步骤,现代FPU支持流水线操作以提升吞吐率。阶码运算部件较小位宽的定点加法器,处
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中国半导体晶圆厂设备采购决策因素分析
- 2026年广州市海珠区新港街招考合同制工作人员易考易错模拟试题(共500题)试卷后附参考答案
- 2026年广东韶关南雄市第二批“丹霞英才”青年人才招聘55人易考易错模拟试题(共500题)试卷后附参考答案
- 2026年广东省茂名高新区招聘政府雇员20人易考易错模拟试题(共500题)试卷后附参考答案
- 2026年广东省湛江市麻章区民政局招聘社会救助经办服务工作人员易考易错模拟试题(共500题)试卷后附参考答案
- 2026年广东省江门市棠下镇人民政府招聘5人易考易错模拟试题(共500题)试卷后附参考答案
- 2026年广东省广州海洋地质调查局招聘工作人员3人(第四批)易考易错模拟试题(共500题)试卷后附参考答案
- 2026年广东省广州大学第二次招聘事业编制人员15人易考易错模拟试题(共500题)试卷后附参考答案
- 2026年广东省事业单位招聘高校应届毕业生蓬江考区易考易错模拟试题(共500题)试卷后附参考答案
- 2026年广东珠海市斗门区审计局招聘政府雇员(派驻区管企业审计员)3人易考易错模拟试题(共500题)试卷后附参考答案
- GB/T 23932-2025建筑用金属面绝热夹芯板
- 货运夏季安全常识培训课件
- 2026年大学四年级(服装设计与工程)服装生产管理试题及答案
- 工程代理合同范本
- 取水许可证培训
- 碳信息披露报告范例
- 客户服务投诉处理流程规范工具
- 《电力变压器声纹检测技术导则》
- 意外伤害安全培训
- QGDW11970.7-2023输变电工程水土保持技术规程第7部分水土保持设施质量检验及评定
- 实验室生物安全管理体系
评论
0/150
提交评论