《{企业管理制度}运算器和运算办法》由会员分享,可在线阅读,更多相关《{企业管理制度}运算器和运算办法(41页珍藏版)》请在金锄头文库上搜索。
1、第二章 运算器和运算方法,本章需解决的关键问题: 如何以加法器为基础,实现各种 运算处理。 解决思路: 复杂运算,四则运算,加法运算,解决方法: 在加法器的基础上,增加移位传送 功能,并选择输入控制条件。,(本位操作数),(低位进位),(本位进位),(本位和),第一节 算术逻辑运算部件 2.1.1 加法单元 1. 加法单元的输入和输出,一个输入为1时, i为1,Ci为0; 两个输入为1时, i为0,Ci为1; 三个输入为1时, i为1,Ci为1。,2. 全加器 (1)逻辑一,i = (Ai + Bi) + Ci-1 Ci = AiBi + (Ai + Bi)Ci-1,(2)逻辑二,i = (A
2、i + Bi) + Ci-1 Ci = Ai + Bi + (Ai + Bi)Ci-1,2.1.2 并行加法器与进位链逻辑 1.并行加法器 (1)特点:各位同时相加。 例. 8位数相加。,(2)影响速度的主要因素 存在着进位信号的传递。,1 1 1 1,0 0 0 0,1,1,1,1,1,1,0,0,0,0,2. 并行加法器的进位链 (1)进位链的基本逻辑关系,所以 Ci = Gi + Pi Ci-1,进位产生函数,进位传递函数(进位条件),本地进位、绝对进位,条件进位、传递进位,Ci = AiBi + (Ai + Bi)Ci-1 = AiBi + (Ai + Bi)Ci-1 或 Ci = A
3、iBi + (Ai + Bi)Ci-1,令 Gi = AiBi Pi = Ai + Bi = Ai + Bi = Ai + Bi,(2)串行进位 特点:进位信号逐位形成。 设n位加法器 1)逻辑式,C1 = G1 + P1C0 C2 = G2 + P2C1 Cn = Gn + PnCn-1,2)结构举例,C2 G2 P2 C1 G1 P1 C0,Gi Pi,Ai Bi Ai Bi,学习要求: 能写出任一进位的串、并、分组逻辑式。 例. 已知操作数Ai、Bi,初始进位C0。试 写出C6的逻辑式。 串行进位:C6 = 并行进位:C6 = 分级同时进位:C6 =,G6+P6C5,G6+P6G5+P6
4、P5G4+. +P6P5P1C0,G6+P6G5+P6P5CI,CI=GI+PIC0,G6+P6C5,G6+P6G5+P6P5G4+.,G6+P6G5+P6P5G4+.,G6+P6G5+P6P5CI,GI=G4+P4G3+P4P3G2+P4P3P2G1,PI=P4P3P2P1,Gi=AiBi Pi=AiBi,2.1.3 ALU部件,ALU,以SN74181芯片(4位片ALU)为例。 1. 组成 (1)一位逻辑,1位加法器(求和、进位) 1位选择器(1对 ) 1个公共控制门(4位共用),输入端: 操作数Ai、Bi 低位进位Ci-1,1,0,控制信号M,控制产生Gi、Pi,控制形成多种输入组合,作
5、逻辑运算,作算术运算,控制信号S3S2S1S0,Fi,1,0,1,1,输入端: 操作数Ai、Bi 低位进位Ci-1,Ci,0,1,Fi,S3S2 输出Xi S1S0 输出Yi,00 01 10 11,1 Ai+Bi,00 01 10 11,Ai AiBi AiBi,Ai+Bi Ai,Ai+Bi,AiBi,0,Pi,Gi,0,0,1,0,0,Ai,(2)多位逻辑 见教材P49:4位全加器 4位并行进位链 4位选择器 1个控制门,原始进位 Cn,进位输出,Cn+4 G、P,构成组间串行进位,构成组间并行进位,2. 运算功能 16种算术运算功能,16种逻辑运算功能 列于表2-5(P50)。 例1.
6、S3S2S1S0 Xi Yi F(M=1)F(M=0) 0 0 0 0 1 Ai,0,0,0,0,1,Ai,1,0,1,1,0,1,0,1,Ci-1,3. 进位逻辑 (1)组间串行,(2)组间并行,第二节 运算器组织,独立结构,小型存储 器结构,单口 双口,寄存器组,独立R、双口RAM用多路选择器作为ALU的输入逻辑, 单口RAM用锁存器作为ALU的输入逻辑。,2.2.1 带多路选择器的运算器,特点: R各自独立; 可同时向ALU提供两个操作数; 采用单向内总线。,2.2.2 带输入锁存器的运算器,特点: 单口RAM不能同时向ALU提供两个操作数; 用锁存器暂存操作数; 采用双向内总线。,2.
7、2.3 位片式运算器,特点: 用双口RAM(两地址端、两数据端)作通用寄存器组,可同时提供数据; 用多路选择器作输入逻辑,不需暂存操作数; ALU增加乘、除功能,用乘商寄存器存放乘数、乘积或商。,例. 4位片运算器粗框,第三节 定点加减运算,2.3.1 补码加减法,数用补码表示,符号位参加运算。,实际操作能否只取决于操作码? 结果需不需修正? 如何将减法转换为加法?,1. 基本关系式,( X + Y )补 = X补 + Y补 (1) ( X - Y )补 = X补 + (-Y)补 (2),式(1):操作码为“加”时,两数直接相加。,3) X= 3 Y= 2,X补=0 0011 Y补=1 111
8、0,0 0001,(+1补码),2) X= 3 Y= 2,X补=1 1101 Y补=1 1110,1 1011,( 5补码),1) X=3 Y=2,X补=0 0011 Y补=0 0010,0 0101,(+5补码),4) X= 3 Y= 2,X补=1 1101 Y补=0 0010,1 1111,(1补码),例. 求(X+Y)补,( X + Y )补 = X补 + Y补 (1) ( X - Y )补 = X补 + (-Y)补 (2),式(2):操作码为“减”时,将减转换为加。,1) X= 4 Y= 5,X补=0 0100 Y补=1 1011 (-Y)补=0 0101,0 1001,(+9补码),
9、2) X= 4 Y= 5,X补=1 1100 Y补=0 0101 (-Y)补=1 1011,1 0111,(9补码),例. 求(X Y)补,Y补 (Y)补:,将Y补变补,不管Y补为正或负,将其符号连同尾数一起各位变反,末位加1。,即将减数变补后与被减数相加。,X补=0 0100 Y补=1 1011,X补=1 1100 Y补=0 0101,注意:某数的补码表示与某数变补的区别。,例. 1 0101原 1 1011,补码表示,1 0011补 0 1101,变补,例. 1 0101原 1 1011,0 0101原 0 0101,补码表示,符号位不变;,0 0101原 0 0101,1 0101原 1
10、 1011,0 0101原 0 0101,负数尾数改变,正数尾数不变。,0 0011补 1 1101,1 0011补 0 1101,0 0011补 1 1101,1 0011补 0 1101,0 0011补 1 1101,变补,符号位改变,,尾数改变。,补码的机器负数,2. 算法流程,3. 逻辑实现,+1,CPA,A,(1)控制信号,加法器输入端:,+A:打开控制门,将A送 。,+B:打开控制门,将B送 。,+1:控制末位加 1 。,+B:打开控制门,将B送 。,加法器输出端:,A:打开控制门,将结 果送A输入端。,CPA:将结果打入A。,(2)补码加减运算器粗框,2.3.2 溢出判断,在什么
11、情况下可能产生溢出?,例.数A有4位尾数,1位符号SA 数B有4位尾数,1位符号SB,符号位参加运算,结果符号Sf 符号位进位Cf 尾数最高位进位C,正确,正溢,正确,负溢,正确,正确,1. 硬件判断逻辑一(SA、SB与Sf的关系),溢出=,SA,SB,Sf,SA,Sf,SB,2. 硬件判断逻辑二(Cf与C的关系),正确,正溢,正确,负溢,正确,正确,Cf=0 C =0,Cf=0 C =1,Cf=1 C =1,Cf=1 C =0,Cf=1 C =1,Cf=0 C =0,1,1,1,1,1,1,1. 硬件判断逻辑一(SA、SB与Sf的关系),2. 硬件判断逻辑二(Cf与C的关系),溢出= Cf
12、C,3. 硬件判断逻辑三(双符号位),第一符号位Sf1,第二符号位Sf2,1. 硬件判断逻辑一(SA、SB与Sf的关系),2. 硬件判断逻辑二(Cf与C的关系),溢出= Sf1 Sf2,3. 硬件判断逻辑三(双符号位),溢出= Cf C,2.3.3 移位操作,逻辑移位,:数码位置变化,数值不变。,1. 移位类型,算术移位,1 0 0 0 1 1 1 1,循环左移:,0,1 0 0 1 1 1 1,算术左移:,1,0,0,1,1,1,1,1,0,1,1,1,1,0,(-15),(-30),移位寄存器:,2. 移位逻辑,在寄存器中移位(串行接口中)。,移位门:,斜位传送(运算器中)。,移位寄存器,
13、移位门,加法器,(1)单符号位 :,0 0111,0 1110,(2)双符号位:,00 1110,00 0111,3.正数补码移位规则,(3)移位规则,左移,右移,右移,0 0111,0 0011,左移,左移,右移,右移,01 1100,00 1110,00 0111,数符不变,(单:符号位不变;双:第一符号位不变)。,空位补0,(右移时第二符号位移至尾数最高位)。,(1)单符号位 :,1 1011,1 0110,(2)双符号位:,10 1100,11 0110,4.负数补码移位规则,(3)移位规则,左移,右移,右移,1 1011,1 1101,左移,右移,右移,11 0110,11 1011
14、,数符不变,(单:符号位不变;双:第一符号位不变)。,左移空位补0,(第二符号位移至尾数最高位)。,右移空位补1,易出错处:,00 1110,左,右,01 1100,正确:,11 0110,10 1100,00 1100,01 1100,00 0110,正确:,00 1110,11 1100,左,正确:,10 1100,11 1110,右,11 0110,正确:,2.3.4 舍入方法,1. 0舍1入(原码、补码),0 00100原,1 00101原,1 11011补,2. 末位恒置1(原码、补码),0 00100原,1 11011补,1 00101原,0 0010原,1 0011原,1 1110补,0 0011原,1 0011原,1 1101补,1 0011原,1 1101补,例. 保留4位尾数:,例. 保留4位尾数:,