《DJ算术逻辑运算基础.pptx》由会员分享,可在线阅读,更多相关《DJ算术逻辑运算基础.pptx(26页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1.补码加减运算的基本关系式(X+Y)补 =X补 +Y补 (1)(X-Y)补 =X补 +(-Y)补 (2)(1)式:操作码为“加”时,两数直接相加。3)X=3 Y=2 X补=0 0011 Y补=1 11100 0001(+1补码)2)X=3 Y=2 X补=1 1101 Y补=1 11101 1011(5补码)1)X=3 Y=2 X补=0 0011 Y补=0 00100 0101(+5补码)4)X=3 Y=2 X补=1 1101 Y补=0 00101 1111(1补码)例.求(X+Y)补第1页/共26页(X+Y)补 =X补 +Y补 (1)(X-Y)补 =X补 +(-Y)补 (2)(2)式:操作码
2、为“减”时,将减转换为加。1)X=4 Y=5 X补=0 0100 Y补=1 1011(-Y)补=0 01010 1001(+9补码)2)X=4 Y=5 X补=1 1100 Y补=0 0101(-Y)补=1 10111 0111(9补码)例.求(X Y)补Y补 (Y)补:将Y补变补不管Y补为正或负,将其符号连同尾数一起各位变反,末位加1。即将减数变补后与被减数相加。X补=0 0100 Y补=1 1011 X补=1 1100 Y补=0 0101第2页/共26页注意:某数的补码表示与某数变补的区别。例.1 0101原 1 1011补码表示1 0011补 0 1101变补 0 0101原 0 0101
3、补码表示符号位不变;负数尾数改变,正数尾数不变0 0011补 1 1101变补符号位改变,尾数改变。补码表示:数的正负关系不变变补:数的正负关系发生改变第3页/共26页2.算法流程操作数用补码表示,符号位参加运算结果为补码表示,符号位指示结果的正负X补+Y补X补+(-Y)补ADDSUB第4页/共26页3.补码加减运算的逻辑实现A(X补)B(Y补)+AABB+B+B+1CPA A(1)控制信号加法器输入端控制:+A:打开控制门,将A送。+B:打开控制门,将B送。+1:控制末位加 1。+B:打开控制门,将B送。加法器输出端控制:A:打开控制门,将结 果送A输入端。CPA:将结果打入A。(2)补码加
4、减运算器粗框第5页/共26页3.3.2 溢出判断、移位和舍入1、溢出以及判断方法 什么是溢出?在什么情况下可能产生溢出?例.数A有4位尾数,1位符号SA 数B有4位尾数,1位符号SB 符号位参与运算 结果符号Sf尾数最高位进位C符号位进位Cf第6页/共26页正确0 00110 0010+(1)A=3 B=2 3+2:0 0101 (2)A=10 B=7 10+7:0 10100 0111+1 0001 正溢正确负溢(3)A=3 B=2 3+(2):1 1011 1 11011 1110 +(4)A=10 B=7 10+(7):0 1111 1 01101 1001+正确正确(5)A=6 B=4
5、 6+(4):0 0010 0 01101 1100+(6)A=6 B=4 6+4:1 1110 1 10100 0100+第7页/共26页上式中,有两种情况产生溢出:(2)A=10 B=7 10+7:0 10100 0111+1 0001 正溢负溢(4)A=10 B=7 10+(7):0 1111 1 01101 1001+尾数最高位进位C=1符号位进位Cf=0尾数最高位进位C=0符号位进位Cf=1 硬件判断逻辑一(SA、SB与Sf的关系)溢出=SA SB Sf+SA SB Sf第8页/共26页 硬件判断逻辑二(Cf与C的关系)上述的溢出情况:(2)A=10 B=7 10+7:0 10100
6、 0111+1 0001 正溢负溢(4)A=10 B=7 10+(7):0 1111 1 01101 1001+尾数最高位进位C=1符号位进位Cf=0尾数最高位进位C=0符号位进位Cf=1溢出=Cf C第9页/共26页 硬件判断逻辑三(双符号位Sf1、Sf2)采用单符号位,在溢出时结果的符号发生错误;若采用双符号位,在溢出时,仍然能够判断结果的正确符号位;采用双符号位的计算例:正确(1)3+2:00 001100 0010+00 0101 (2)10+7:00 101000 0111+01 0001 正溢第一符号位Sf1第二符号位Sf2第10页/共26页负溢正确正确正确(3)3+(2):11
7、1011 11 110111 1110+(4)10+(7):10 1111 11 011011 1001+(5)6+(4):00 0010 00 011011 1100+(6)6+4:11 1110 11 101000 0100+溢出=Sf1 Sf2由此可得:第11页/共26页溢出判断的三种方式:溢出=SA SB Sf+SA SB Sf溢出=Cf C溢出=Sf1 Sf2(对双符号位)2、移位操作 逻辑移位:移位类型1 0 0 0 1 1 1 1循环左移:纯粹逻辑数码位置的移动,无数值含义。0 0 0 1 1 1 1 11第12页/共26页 算术移位:数码位置变化,有数值和符号的区别。移位后符号
8、位不变。1 0 0 1 1 1 1算术左移:1 0 1 1 1 1 0(15 原码)(30 原码)移位寄存器:移位逻辑在寄存器中移位 D4 D3 D2 D1移位寄存器D4 D3 D2 右移左移 D3 D2 D1 第13页/共26页 移位门:斜位传送(运算器中)。左斜送 右斜送 门4 门3 门2 门1移位门加法器 4 3 2 1 原码移位规则符号位不变,空位补01001111(15 原码)左移:原数 21011110(30 原码)右移:原数201010(10原码)00101(5原码)第14页/共26页 补码移位规则 正数的补码移位规则单符号位:双符号位:00 1110 00 01110 0111
9、0 1110 左移右移右移0 0111 0 0011 左移左移右移右移01 1100 00 1110 00 0111 数符不变(单:符号位不变;双:第一符号位不变)左移空位补0,尾数最高位移至第二符号位右移时第二符号位移至尾数最高位第15页/共26页单符号位:1 10111 0110 双符号位:10 1100 11 0110 负数补码移位规则左移右移右移1 1011 1 1101 左移右移右移11 0110 11 1011 数符不变(单:符号位不变;双:第一符号位不变)左移空位补0,尾数最高位移至第二符号位右移空位补1(第二符号位移至尾数最高位)第16页/共26页易出错处:00 1110 左右
10、01 1100 正确:10 1100 00 1100 01 1100 00 0110 正确:00 1110 11 0110 11 1100 左正确:10 1100 11 1110 右11 0110 正确:第17页/共26页3、舍入方法 0舍1入(原码、补码)0 00100原 1 00101原 1 11011补 末位恒置1(原码、补码)0 00100原 1 11011补 1 00101原 0 0010原 1 0011原 1 1110补 0 0011原 1 0011原 1 1101补 例.保留4位尾数:例.保留4位尾数:(0舍)(1入)(1入)第18页/共26页3.3.3 定点乘法运算 乘法运算的
11、三个步骤:相乘、移位、部分积累加1、原码一位乘法基本思想:每次用乘数中的一位去乘被乘数。例.0.1101 1.1011积符 SP=SX SYX原Y原乘积 P=X Y(1)算法分析第19页/共26页(2)手算 0.1101 0.10110.10001111需解决的问题:1)加数增多(由乘数位数决定)2)加数的位数增多(与被乘数、乘数位数有关)3)部分积错位相加解决方法:将一次性相加改为分步累加。上符号:1.100011111101110100001101+部分积部分积部分积部分积第20页/共26页(3)分步乘法 每次将乘数的一位所对应的部分积与原部分积的累加和相加,并右移一位。设置寄存器:A:存
12、放部分积累加和、乘积高位 B:存放被乘数 C:存放乘数、乘积低位 设置初值:C=Y =.1011 B=X =00.1101A=00.0000第21页/共26页步数 条件 操作 A C 00.0000 .1011 1)Cn=1+BCn+00.110100.1101 0.1101 0.1011 1101 1101 0000 1101 0.10001111BC 1101 00.01101.101 0.1101 0.10112)Cn=1+B+00.110101.001100.100111.10 0.1101 0.1011 0.1101 0.1011 1101 1101 0000 1101 0.1000
13、1111BC3)Cn=0+0+00.000000.100100.0100111.14)Cn=1+B+00.110101.000100.10001111加符号位 X原Y原=1.10001111第22页/共26页 0.1101 0.1011 1101 1101 0000 1101 0.10001111BC第23页/共26页 2.算法流程0 A、X B、Y C、0 CRCn=1?CR=n?1/2(A+B)A,C1/2(A+0)A,C CR+1 CRYYNN Sx+Sy SA循环次数第24页/共26页 3.运算规则(1)操作数、结果用原码表示;(2)绝对值运算,符号单独处理;(3)被乘数(B)、累加和(A)取双符号位,乘数只取尾数或其绝对值(将乘数的符号位略去,以免计算时将符号位误作一位数字加以处理);(4)乘数末位(Cn)为判断位,其状态决定下步操作;(5)作n(乘数有效位数)次循环(累加、右移)第25页/共26页感谢您的欣赏!第26页/共26页
限制150内