计算机组成原理(运算器)_第1页
计算机组成原理(运算器)_第2页
计算机组成原理(运算器)_第3页
计算机组成原理(运算器)_第4页
计算机组成原理(运算器)_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机组成原理主讲:颜俊华运算器2与逻辑或逻辑非逻辑基本逻辑运算常用逻辑运算复合逻辑运算与非或非与或非同或异或常用逻辑运算31、与逻辑开关A开关B灯F断断断合合断合合灭灭灭亮ABF101101000010逻辑表达式Z=A·B=AB&ABZ逻辑符号真值表ABZABZ当且仅当所有条件全部具备,事件才能发生

基本逻辑运算42、或逻辑ABZ有一个或以上条件具备,结果就会发生ABZ真值表000011101111逻辑表达式:Z=A+B≥1ABZABZ逻辑符号ABZ基本逻辑运算53、非逻辑(反相器)AZR条件不具备时结果反而发生AZ0110真值表逻辑表达式:Y=A=A’1ZAAZ逻辑符号ZAZA基本逻辑运算6与非逻辑表达式:

Z=AB

逻辑符号:或非

逻辑表达式:

Z=A+B

逻辑符号:与或非

逻辑表达式:

Z=AB+CD

逻辑符号:&≥1+图形中的小圆圈表示非运算复合逻辑运算7异或

当两个输入相异时,结果为1。同或

当两个输入相同时,结果为1。ABF000011101110异或ABF001010100111同或F=A⊙B=AB=A·B+A·BABF=1ABF=复合逻辑运算8一、单变量逻辑代数公理0-1律互补律重复律变量和常量的关系变量和其自身的关系求反律还原律逻辑代数的常用定理9二、与普通代数相似的公理交换律结合律分配律也适合于同或和异或的情况逻辑代数的常用定理10反演律消因律包含律吸收律三、定理——常用的特殊关系逻辑代数的常用定理算术、逻辑运算部件需解决的关键问题:如何以加法器为基础,实现各种运算处理?解决思路:复杂运算解决方法:在加法器的基础上,增加移位传送功能,并选择输入控制条件四则运算加法运算用硬件实现算术、逻辑运算功能涉及到的问题:如何构成一位二进制加法单元?如何用n位全加器(连同进位信号传送逻辑)构成一个n位并行加法器?如何以加法器为核心,通过输入选择逻辑扩展为具有多种算术、逻辑功能的ALU?算术、逻辑运算部件加法单元iAiBiCi-1Ci∑i(本位操作数)(低位进位)(本位进位)(本位和)一个输入为1时,∑i为1,Ci为0;两个输入为1时,∑i为0,Ci为1;三个输入为1时,∑i为1,Ci为1。加法单元(1)逻辑一(全加器)图3-17(a)∑i

=(Ai+Bi)+Ci-1Ci=AiBi+(Ai+Bi)Ci-1Ci∑iAiBiCi-1加法单元

(2)逻辑二(全加器)图3-17(b)∑i

=(Ai+Bi)+Ci-1Ci=Ai+Bi+(Ai+Bi)Ci-1Ci∑iAiBiCi-1AiBi加法单元并行加法器特点:各位同时相加影响速度的主要因素:存在着进位信号的传递∑8

∑7∑2∑1A8B8A7B7A2B2A1B1

C0111100010111110000所以

Ci=Gi+PiCi-1进位产生函数进位传递函数(进位条件)本地进位、绝对进位条件进位、传递进位

Ci=AiBi+(Ai+Bi)Ci-1

=AiBi+(Ai+Bi)Ci-1或

Ci=AiBi+(Ai+Bi)Ci-1令

Gi=AiBiPi=Ai+Bi=Ai+Bi=Ai+Bi进位信号基本逻辑

特点:进位信号逐位形成。设n位加法器逻辑式:∑8

∑7∑2∑1A8B8A7B7A2B2A1B1

C0111100010111110000C1=G1+P1C0C2=G2+P2C1Cn=Gn+PnCn-1串行进位特点:各位进位信号同时形成。逻辑式(设n位加法器)

C1=G1+P1C0C2=G2+P2C1

=G2+P2G1+P2P1C0

Cn=Gn+PnCn-1=Gn+PnGn-1+…+PnPn-1…P2P1C0

n+1项并行进位设16位加法器,4位一组,分为4组:4位4位4位4位

第4组第3组第2组第1组C16~C13C12~C9C8~C5C4~C1C0C16C12C8C4分级同时进位组间进位:C4C8C12C16用CICⅡCⅢCⅣ表示

组内进位:C1~C3、C5~C7、C9~C11、C13~C15

分组进位

第1组组内:

C1=G1+P1C0C2=G2+P2G1+P2P1C0C3=G3+P3G2+P3P2G1+P3P2P1C0

第1组组间:

C4=G4+P4G3+P4P3G2+P4P3P2G1+P4P3P2P1C0GIPI

所以

CI=GI+PIC0分组进位

第2组组内:

C5=G5+P5CIC6=G6+P6G5+P6P5CIC7=G7+P7G6+P7P6G5+P7P6P5CI

第2组组间:

C8=G8+P8G7+P8P7G6+P8P7P6G5+P8P7P6P5CIGⅡPⅡ

所以CⅡ=GⅡ+PⅡCI

第3组组内:

C9=G9+P9CⅡC10=G10+P10G9+P10P9CⅡC11=G11+P11G10+P11P10G9+P11P10P9CⅡ

第3组组间:

C12=G12+P12G11+P12P11G10+P12P11P10G9+P12P11P10P9CⅡGⅢPⅢ

所以CⅢ=GⅢ+PⅢ

CⅡ

第4组组内:

C13=G13+P13CⅢC14=G14+P14G13+P14P13CⅢC15=G15+P15G14+P15P14G13+P15P14P13CⅢ

第4组组间:

C16=G16+P16G15+P16P15G14+P16P15P14G13+P16P15P14P13CⅢGⅣPⅣ所以

CⅣ=GⅣ+PⅣCⅢ

各组间进位逻辑CI=GI+PIC0CⅡ=GⅡ+PⅡCICⅢ=GⅢ+PⅢ

CⅡCⅣ=GⅣ+PⅣCⅢ=GⅡ+PⅡGI

+PⅡPIC0

=GⅢ+PⅢ

GⅡ+PⅢ

PⅡGI

+PⅢ

PⅡPIC0

=GⅣ+PⅣ

GⅢ+PⅣPⅢ

GⅡ

+

PⅣ

PⅢ

PⅡGI

+PⅣPⅢ

PⅡPIC0

∑41~∑85~∑129~∑1613~组间进位链A8....A5

B8....B5A4....A1

B4....B1A12....A9

B12....B9A16....A13

B16....B13CoCⅣGⅣPⅣGⅢPⅢGⅡPⅡGI

PI

C3~1C15~13C11~9C7~5

CⅢ

CⅡCI

进位传递过程Ai、Bi、C0A8....A5

B8....B5A4....A1

B4....B1A12....A9

B12....B9A16....A13

B16....B13CoGⅣ、PⅣ….GI、PI、GⅣPⅣGⅢPⅢGⅡPⅡGI

PI

C3~1CⅣ

CⅢ

CⅡCI

CⅣ、CⅢ、CⅡ、CI

C15~13C11~9C7~5

C15~13、C11~9、C7~5

C3~1

要求:写出任一进位的串、并逻辑式。例:已知操作数Ai、Bi,初始进位C0。试写出C6的逻辑式。串行进位:C6=并行进位:C6=分级同时进位:C6=G6+P6G5+P6P5G4+….+P6P5…P1C0CI=GI+PIC0G6+P6C5G6+P6G5+P6P5CIGI=G4+P4G3+P4P3G2+P4P3P2G1PI=P4P3P2P1Gi=AiBiPi=Ai⊕Bi算术、逻辑运算部件ALU:将N位加法器、并行进位链、输入选择门等集成在一块芯片上。例如:SN741814位片ALU一位逻辑:1位加法器:求和Fi、进位Ci1位输入选择器:操作数Ai、Bi,

控制信号S3、S2、S1、S01个公共控制门:

M=0算术运算,M=1逻辑运算Ci

S3S2BiS1S0Ai

FiMCi-1xiYi算术、逻辑运算部件多位逻辑(四位片SN74181)4位全加器4位并行进位链4位选择器1个控制门算术、逻辑运算部件SN74181外特性数据输入端:A0~A3、B3~B0结果输出:F0~F3功能选择控制:MS0S1S2S3最低位进位输入:Cn最高位进位输出:Cn+4构成组间串行进位小组进位辅助函数:G、P构成组间并行进位算术、逻辑运算部件ALU运算功能SN74181功能表P100表3-2ALU进位逻辑组间串行168C12168C8168C4168C0C16Cn+4Cn算术、逻辑运算部件组间并行1715874181CIII1715874181CII1715874181CI1715874181C074182并行进位链GIPIPG运算器组织具有多路选择器的运算器移位器ALU多路选择器多路选择器R0RnR0...RnR0...Rn内部总线(单向)特点:R各自独立;可同时向ALU提供两个操作数;采用单向内总线。运算器组织具有输入锁存器的运算器移位器ALU锁存器锁存器内部总线(双向)R0Rn通用寄存器组(小型存储器)特点:单口RAM不能同时向ALU提供两个操作数;用锁存器暂存操作数;采用双向内总线。运算器组织位片式运算器移位器ALU多路选择器多路选择器DO

RAMDi

B地址A地址CnDBDAG、P控制信息Cn+4乘商寄存器444444444444运算器组织特点:用双口RAM(两地址端、两数据端)作通用寄存器组,可同时提供数据用多路选择器作输入逻辑,不需暂存操作数;ALU增加乘、除功能,用乘商寄存器存放乘数、乘积或商。设计算机字长为8,它表示有符号数的范围是多少?若该计算机计算90+100,会发生什么样的情况?38机器数有原、反、补码,计算机加减运算采用什么码制更方便?问题与讨论定点加减法运算定点加法运算

[X+Y]补=[X]补+[Y]补进行补码加法运算,若高位有进位,则自动丢掉,不影响计算结果1.补码加法运算的基本关系式定点加法运算2)X=3Y=–23+(-2)=1

00011

1111000001(+1补码)3)X=–3Y=–2(-3)+(-2)=-5

11101

111101

11011(–5补码)1)X=3Y=23+2=5

00011

0001000101(+5补码)例.求(X+Y)补丢掉定点减法运算1.补码减法运算的基本关系式

(X-Y)补=X补+(-Y)补把减法运算换算成加法运算,在计算机中只需要设置加法器就可以了,而不需要单独设置减法器即将减数变补后与被减数相加。Y补(–Y)补:将Y变补将Y补连同符号位一起变反加1定点减法运算1)X=3Y=23-2=1

00011

11110100001(1补码)例.求(X-Y)补3)X=–3Y=–2(-3)-(-2)=-1

11101

0001011111(–1补码)2)X=3Y=-23-(-2)=5

00011

0001000101(+5补码)定点减法运算注意:某数的补码表示与某数变补的区别。例.10101原

11011补码表示10011补

01101变补

10101原

11011

00101原

00101补码表示符号位不变;

00101原

0010100011补

1110110011补

0110100011补

11101变补连同符号位一起取反加1补码的机器负数定点加减运算操作数用补码表示,符号位参加运算结果为补码表示,符号位指示结果正负X补+Y补X补+(-Y)补ADDSUB总结:补码加减运算流程溢出判断溢出判断方法在什么情况下可能产生溢出?

例.数A有4位尾数,1位符号SA

数B有4位尾数,1位符号SB

符号位参加运算

结果符号Sf

符号位进位Cf

尾数最高位进位C溢出判断溢出判断?Sf=00001100010(1)A=3B=23+2:00101(5)A=10B=710+7:010100011110001Sf=1Sf=1Sf=0Sf=0Sf=1(2)A=-3B=-2-3+(-2):1110111110111110(6)A=-10B=-7-10+(-7):1011111011011001(3)A=6B=-46+(-4):1000100011011100(4)A=-6B=4-6+4:111101101000100正溢负溢结论:两个相同符号数相加(包括不同符号数相减),而运算结果的符号与原数据符号相反时,产生溢出;溢出判断硬件判断逻辑一(SA、SB与Sf的关系)(1)A=10B=710+7:01010

0011110001(2)A=-10B=-7-10+(-7):011111011011001溢出=SASBSfSASfSB溢出判断硬件判断逻辑二(Cf与C的关系)正确0001100010(1)A=3B=23+2:00101(2)A=10B=710+7:010100011110001正溢正确负溢(3)A=-3B=-2-3+(-2):110111110111110(4)A=-10B=-7-10+(-7):011111011011001Cf=0C=0Cf=0C=1Cf=1C=1Cf=1C=01111溢出=CfC溢出判断硬件判断逻辑三(双符号位)(1)3+2:正确00001100001000

0101(2)10+7:001010000111010001正溢正确负溢(3)-3+(-2):110111111101111110(4)-10+(-7):101111110110111001第一符号位Sf1第二符号位Sf21.硬件判断逻辑一(SA、SB与Sf的关系)2.硬件判断逻辑二(Cf与C的关系)溢出=Sf1Sf23.硬件判断逻辑三(双符号位)溢出=CfC溢出=SASBSfSASfSB

0

0结果为正

0

1结果正溢出

1

0结果负溢出

1

1结果为负溢出判断溢出判断练习题用补码计算X补+Y补=?指出是否溢出1)X补=0.110011Y补=0.1011012)X补=1.110011Y补=1.101101用补码计算X补-Y补=?指出是否溢出1)X补=0.110110Y补=1.0100112)X补=1.100011Y补=0.110100移位操作逻辑移位逻辑移位:数码位置变化,数值不变算术移位:数码位置变化,数值变化,符号位不变10001111循环左移:01001111算术左移:1

001

1111011110(-15)原(-30)原移位操作

正数原码/补码移位规则:数符不变,空位补0a、单符号位:0

011101110

b、双符号位:001110

0001110

0111011100

001110000111011100

111001100

溢出!0

001100111001110

011100

001110移位操作

负数补码移位规则:数符不变,左移时空位补0,右移时空位补1a、单符号位:1

101110110

b、双符号位:110110

1110111

1011101100

110110111011101101

011011100

溢出!1

11011

1011110110

10

1100

110110计算机中的数据要参与运算前,常扩展成双符号位再运算,在溢出发生时方便移位补救!1、双符号位的作用是?2、计算机什么情况下要使用到移位?浮点加减运算浮点运算的实现浮点运算比定点运算复杂,硬件成本高软件子程序实现浮点运算浮点处理器CPU内部配有专门的浮点运算部件,包含相应的浮点运算指令N=M×REEfE1……E2EmM1MfM2……Mn阶码E阶符尾数M数符浮点加减运算1.浮点加减运算步骤:(1)检测能否简化操作:

判操作数是否为0尾数为0阶码下溢(2)对阶:小数点实际位置对齐1)对阶规则:小阶向大阶对齐。2×0.10012×0.1101232×0.010032×0.110132)对阶操作:小阶阶码增大,尾数右移。

若:AE>BE,则BE+1BM,直到BE=AE若:AE<BE,则AE+1AM,直到BE=AE浮点加减运算(3)尾数加减.

1)11.0001+00.100111.1010

2)00.0101+00.1101AM+BMAM(4)结果规格化

M<1/201.0010M>1应左移规格化(左规)应右移规格化(右规)浮点加减运算例题1:A=(0.1101)·21

,B=(-0.1010)·23,求X+Y=?其浮点数的格式:补码表示,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论