运算功能及其硬件实现

运算功能及其硬件实现

ID:39413870

大小:459.31 KB

页数:43页

时间:2019-07-02

运算功能及其硬件实现_第1页
运算功能及其硬件实现_第2页
运算功能及其硬件实现_第3页
运算功能及其硬件实现_第4页
运算功能及其硬件实现_第5页
资源描述:

《运算功能及其硬件实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第一单元运算器部件第三讲运算功能及其硬件实现1复习计算机组成原理单台计算机完整的硬件系统的基本原理与内部运行机制计算机的层次结构理解计算机系统和结构的钥匙计算机的发展历史以史为鉴,可知兴替,可明得失。2原反补码表示复习正数的原码,反码,补码表示均相同,符号位为0,数值位同数的真值。零的原码和反码均有2个编码,补码只一个码负数的原码,反码,补码表示均不同,符号位为1,数值位:原码为数的绝对值;反码为每一位均取反码;补码为反码再在最低位+1;由[X]补求[-X]补:每一位取反后再在最低位+1;由[X]补求X的真值:X=-1+Xi*2-ii=1n

2、3内容提要ALU需要实现的功能一位ALU设计加法的实现和加法器设计减法的实现4位ALU设计乘法实现除法实现4运算器基本功能完成算术、逻辑运算+、—、、、、、。取得操作数寄存器组、立即数输出、存放运算结果寄存器组、数据总线暂存运算的中间结果Q寄存器、移位寄存器5运算器基本功能获得运算结果的状态C、Z、V、S理解、响应控制信号61位ALU最低位其他位7全加器电路Sum=(A’*B’*CarryIn)+(A’*B*CarryIn’)+(A*B’*CarryIn’)+(A*B*CarryIn)CarryOut=(B*CarryIn)+(A*

3、CarryIn)+(A*B)8加法器设计过程输入条件:根据输入条件,得到真值表,并写出逻辑表达式;根据逻辑表达式实现逻辑电路。如何实现4位的加法器呢?94位加法器设计思路1:同1位加法器设计,写真值表,逻辑表达式,实现逻辑电路。思路2:用1位加法器串联起来,得到4位的加法器。104位加法器设计FAFAFAFA10011101010111000最低位进位为0低位的进位输出是高位的进位输入11超前进位生成如何能提前得到Cout?显然:1.当a=b=0时,Cout=0;2.当a=b=1时,Cout=1;3.当a=1,b=0或a=0,b=1时,Cou

4、t=Cin.由此可得:C1=a1b1+(a1+b1)C0;C2=a2b2+(a2+b2)C1;C3=a3b3+(a3+b3)C2;C4=a4b4+(a4+b4)C3.定义:Pi=ai+bi;Gi=aibi通过单独的进位电路,可以同时得到计算结果和进位12其它结果标志Z=F1F2F3F4S=最高位OV=f1’*f2’*fs+f1*f2*fs’13补码减法根据算术运算规则:[a-b]补=[a]补+[-b]补[-b]的补码为:将[b]补的各位求反,并加1。由此,我们可以用加法器实现减法。加法器14将加法和减法组合给定控制命令C=0,则ALU完

5、成加法a+b;C=1,完成减法a-b。可以用选择器实现如下:15000100100010000000000011001x0001原码乘法从一个简单的例子开始:16二进制乘法算法描述基本算法:若乘数的当前位==1,将被乘数和部分积求和。若乘数的当前位==0,则跳过。将部分积移位。所有位都完成后,部分积即为最终结果。N位乘数*M位被乘数=>N+M位的积乘法显然比加法更复杂…但比10进制乘法要简单17乘法算法实现 (一)3.将乘数寄存器右移1位DoneYes2.将被乘数寄存器左移1位.No1.乘数最低位是否为0?Multiplier0=0Multi

6、plier0=11a.将被乘数和部分积求和并存入部分积寄存器中是否结束?开始18原码乘法的实现(一)64-位被乘数寄存器,64-位ALU,64-位部分积寄存器,32-位乘数寄存器ProductMultiplierMultiplicand64-bitALUShiftLeftShiftRightWriteControl32bits64bits64bitsMultiplier=datapath+control1932-位被乘数寄存器,32-位ALU,64-位部分积寄存器,32-位乘数寄存器ProductMultiplierMultiplicand3

7、2-bitALUShiftRightWriteControl32bits32bits64bitsShiftRight原码乘法的实现(二)20实现(二)与(一)比较实现(一)的不足:被乘数的一半存储的只是0,浪费存储空间每次加法实际上只有一半的位有效,浪费了计算能力实现(二)的改进:只在部分积左边进行加法。在减少加法器位数的同时,并没有减低积的位数。21乘法算法实现 (二)3.将乘数寄存器右移1位DoneYes2.将部分积寄存器右移1位.No1.乘数最低位是否为0?Multiplier0=0Multiplier0=11a.将被乘数和部分积左半部

8、分求和并存入部分积寄存器左半部分中是否结束?开始2232-位被乘数寄存器,32-位ALU,64-位部分积寄存器(0-位乘数寄存器)Product(Multiplie

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。