《D算术逻辑运算电路.pptx》由会员分享,可在线阅读,更多相关《D算术逻辑运算电路.pptx(42页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、A A a a3 3 a a2 2 a a1 1 a a0 0 10111011B=B=b b3 3 b b2 2 b b1 1 b b0 0 111011101 0 1 1 A 1 1 1 0 B 1 1 0 Ci-11 1 0 0 1.i+1.1位全加器二进制加法运算举例半加全加第1页/共42页真值表1111101011011011000101110100101010000000COQPCI1位全加器逻辑符号COCI Q P 第2页/共42页具体实现具体实现:与或异或与或非?思考:如何列写1位全加器的与或非形式?集成1位全加器74183、74184第3页/共42页COB3A3B2A2B1A
2、1B0A03210COCI COCI COCI COCI Q P Q P Q P Q P 2.多位全加器4位全加器串行进位的速度低?思考:如何构成n位全加器?第4页/共42页超前进位方式超前进位方式迭代下去,最终有:超前进位只有2级门电路延时,速度高第5页/共42页集成4位加法器74283COCI 3 0 Q 3 0 P 3 0?思考:如何用74283构成8位加法器?第6页/共42页实现方法:错位存储实现 P166页图4.73.算法移位?思考:定点数左移或右移1位结果是什么?移位寄存器实现第7页/共42页真值表ABFABFA=BFAB000100100110100110104.比较运算1位比较
3、器第8页/共42页多位比较器实现方法:先比较两个数的最高位,若相等;再比较次高位,以此类推。COMPA0A1A2AB03PFABFABA3B0B1B203QB3PQFAB集成4位数值比较器7485第9页/共42页输入输入输出输出A3 B3A2 B2A1 B1A0 B0ABABFAB3 100A3 B2 100A3=B3A2 B1 100A3=B3A2=B2A1 B0100A3=B3A2=B2A1=B1A0 B0010A3=B3A2=B2A1=B1A0=B0100100A3=B3A2=B2A1=B1A0=B0010010A3=B3A2=B2A1=B1A0=B00010017485功能表第10页/
4、共42页【例】用7485构成8位数值比较器FABFABFABCOMP 高位片03PQPQ03COMP 低位片A0A1A203PA3QPQ03B0B1B2B31A4A5A6A7B4B5B6B7第11页/共42页1.加法运算与ALU的组织2.减法运算与求补电路3.乘法的实现与ALU的结构4.2 算术逻辑单元ALU的组织连加法移位相加法第12页/共42页(1)加法加法ALU的基本结构的基本结构操作数操作数累加器累加器加法操作过程加法操作过程1.加法运算与ALU组织(1)取操作数(被加数M)存入累加器A中CLA:A0;BM;AA+B(2)取另1操作数N并与M相加,和存入A中ADD:BN;AA+B(3)
5、将和存入存储器STO:MEMA第13页/共42页寄存器传递语言寄存器传递语言RTL举例:举例:A0ABAB05AA+BASRAA0X目标寄存器源寄存器运算符源寄存器第14页/共42页(2)加法运算的溢出问题)加法运算的溢出问题(Overflow)补码系统的溢出判别电路补码系统的溢出判别电路真值表01111011010100010110001011000000OvrnBnAn(3)浮点数加法运算对阶第15页/共42页(1)减法)减法ALU结构结构2.减法运算与求补电路?思考:补码系统中,如何求相反数?思考:能否将加、减电 路统一起来?第16页/共42页(2)具有加具有加/减控制的全加器电减控制的
6、全加器电路路ADDSUBP4P3P2P1P0Q4Q3Q2Q1Q043210CO&第17页/共42页(1)连加法实现)连加法实现MN3.乘法运算与ALU结构加法的扩展,通过连加法或移位相加法实现配置:寄存器Y存放M;递减计数器C存放N;累加器A存放积P。AA+YCC-1第18页/共42页连加法的实现流程连加法的实现流程第19页/共42页连加法的硬件实现方案连加法的硬件实现方案方案1:(M、N的字长均为n)u2n位的累加器u2n位的全加器方案2:un位普通累加器和n位递增计数器构成A 将全加器的溢出作为递增计数器的计数使能信号un位全加器第20页/共42页方案方案2的实现逻辑图(的实现逻辑图(8位
7、为例)位为例)递增计数器累加器H4L44位全加器寄存器BOver递减计数器C被加数加数第21页/共42页【例例】连加法求连加法求1011 0101步骤步骤递增计数器递增计数器 累加器累加器递减计数器递减计数器BStep10000000001011011Step20000101101001011Step30001011000111011Step40010000100101011Step50010110000011011Step60011011100001011第22页/共42页手动乘法运算举例(2)移位相加法实现)移位相加法实现MN 1 1 0 1 1 0 1 1 1 1 0 1 1 1 0 1
8、 0 0 0 0 1 1 0 1 1 0 0 0 1 1 1 1第23页/共42页 1 1 0 1 1 0 1 1 1 1 0 1 1 1 0 1 1 0 0 1 1 1 0 0 0 0 1 0 0 1 1 1 1 1 0 1 1 0 0 0 1 1 1 1计算机实现方案计算机实现方案1:部分积左移:部分积左移第24页/共42页 1 1 0 1 1 0 1 1 1 1 0 1 第一次部分积 1 1 0 1 部分积之和右移1位 1 1 0 1 第二次部分积 1 0 0 1 1 1 部分积之和 1 0 0 1 1 1 部分积之和右移1位 0 0 0 0 第三次部分积 1 0 0 1 1 1 部分积
9、之和 1 0 0 1 1 1 部分积之和右移1位 1 1 0 1 第四次部分积 1 0 0 0 1 1 1 1 部分积之和 1 0 0 0 1 1 1 1 部分积之和右移1位计算机实现方案计算机实现方案2:部分积之和右:部分积之和右移移第25页/共42页部分积之和右移的一般情形部分积之和右移的一般情形 A3 A2 A1 A0 B3 B2 B1 B0 (A3 A2 A1 A0)B0 第一次部分积 P3/P2/P1/P0 部分积之和右移1位 (A3 A2 A1 A0)B1 第二次部分积 P5/P4/P3/P2/P1 P0 部分积之和 P5/P4/P3/P2/P1 P0 部分积之和右移1位 (A3
10、A2 A1 A0)B2 第三次部分积 P6/P5/P4/P3/P2 P1 P0 部分积之和 P6/P5/P4/P3/P2 P1 P0 部分积之和右移1位 (A3 A2 A1 A0)B3 第四次部分积 P7 P6 P5 P4 P3 P2 P1 P0 部分积之和 P7 P6 P5 P4 P3 P2 P1 P0 部分积之和右移1位第26页/共42页移位相加算法乘法移位相加算法乘法ALU结构结构计数器C累计器A寄存器B B0全加器YB0被乘数乘数来自存储器寄存器Y第27页/共42页【例例】1101 1011YCarryABCMem110100000101101001101011011011010011
11、010011011010011shr1101100111101001111010100111100010shr11010010011110001shr1101100011111000111010100011110000shr第28页/共42页符号运算符号运算 用异或逻辑实现符号运算用异或逻辑实现符号运算补码运算的去符号处理补码运算的去符号处理 取绝对值相乘符号位取绝对值相乘符号位全加器溢出问题全加器溢出问题(3)乘法运算的其它考虑第29页/共42页乘法的其它实现方案:乘法器和乘法表乘法器乘法表第30页/共42页1.基本的逻辑运算 与、或、非、异或、同或等2.中规模集成ALU模块741814.3
12、 逻辑运算和中规模集成ALU控制端:M,S3,S2,S1,S0M1:逻辑运算M0:算术运算第31页/共42页1.1位BCD码加法运算2.多位BCD码全加器3.BCD码乘法4.4 BCD码运算?思考:两个1位BCD码相加,结果范围是什么?第32页/共42页N二进制数二进制数十进制数十进制数COB3B2B1B0D21D8D4D2D1000 0 0 00 0 0 0 0 9 01 0 0 10 1 0 0 110 01 0 1 01 0 0 0 011 01 0 1 11 0 0 0 1 15 01 1 1 11 0 1 0 11610 0 0 010 1 1 01710 0 0 110 1 1 1
13、18 10 0 1 01 1 0 0 019 10 0 1 11 1 0 0 1第33页/共42页BCD码的修正码的修正需作需作+6处理的包括:处理的包括:出现出现COB8B4B2B11010111111B8B4B2B1修正条件为:CO+B8B4+B8B2第34页/共42页AB30PB0B130QB2CI30B3CO84218421被加数加数30P1230Q4CI308CO842184211&FCO和相加修正判别修正1位BCD码全加器电路图第35页/共42页2.2.多位多位BCDBCD码全加器码全加器(1)行波进位的并行)行波进位的并行BCD码全加器码全加器COCI Q P COCI Q P
14、COCI Q P COCI Q P 总进位第36页/共42页(2)10的补码与的补码与9的补码的补码 余余3码补码表码补码表余余3码码9的补码的补码10的补码的补码0 0 1 11 1 0 00 0 1 10 1 0 01 0 1 11 1 0 00 1 0 1 1 0 1 01 0 1 10 1 1 0 1 0 0 11 0 1 00 1 1 11 0 0 01 0 0 11 0 0 00 1 1 11 0 0 01 0 0 1 0 1 1 00 1 1 11 0 1 00 1 0 10 1 1 01 0 1 10 1 0 00 1 0 11 1 0 0 0 0 1 10 1 0 0第37页
15、/共42页(3)串行)串行BCD码加码加/减运算减运算低位开始,按时钟节拍低位开始,按时钟节拍1位位1位送入,结果低位先位送入,结果低位先出出例例324+238CPA/SA寄存器B寄存器D触发器MC14561MC14560结果第38页/共42页1位位BCD码乘法码乘法1位十进制数乘多位十进制数位十进制数乘多位十进制数3.BCD码乘法 5 6 3 2 A3A2A1A0 8 B0 1 6 2 4 4 8 4 0 4 5 0 5 6第39页/共42页000001000100COCOCI COCI CI Q P 00000100Q P 10000010Q P 01000001Q P 01010000010101100110A3B0高位积A2B0高位积A0B0高位积A1B0高位积A3B0低位积 0 A2B0低位积A1B0低位积A0B0低位积BCD码乘法高速算法码乘法高速算法?思考:如何实现多位与多位的乘法?第40页/共42页感谢您的欣赏!第42页/共42页
限制150内