计算机中的运算器部件.ppt

上传人:zhu****ei 文档编号:3590089 上传时间:2019-12-18 格式:PPT 页数:62 大小:2.92MB
返回 下载 相关 举报
计算机中的运算器部件.ppt_第1页
第1页 / 共62页
计算机中的运算器部件.ppt_第2页
第2页 / 共62页
计算机中的运算器部件.ppt_第3页
第3页 / 共62页
点击查看更多>>
资源描述
第4章,计算机中的运算器部件,2019/12/18,安阳工学院,2,本章主要内容,运算器部件概述定点运算器的功能、组成与设计浮点运算与浮点运算器,2019/12/18,安阳工学院,3,运算器功能与组成概述,计算机五大功能部件之一,在控制器的指挥控制下,完成指定给它的运算处理功能。运算器通常包括定点运算器和浮点运算器两种类型:定点运算器:完成对整数类型数据的算术运算、逻辑类型数据的逻辑运算浮点运算器:完成对浮点类型数据的算术运算,2019/12/18,安阳工学院,4,运算器设计需要解决的问题,需要明确参加运算的数据来源,运算结果的去向。运算器能直接运算的数据,通常来自于运算器本身的寄存器。这些寄存器本身是暂存数据用的,是由触发器构成的时序逻辑电路。需要明确将要执行的运算功能,是对数值数据的何种算术运算功能,还是对逻辑数据的何种逻辑运算功能。完成数据运算功能的线路是组合逻辑电路。运算器完成一次数据运算过程由多个时间段组成,其时序关系示意表示在下图。运算器部件只有和计算机的其他部件连接起来才能协同完成指令的执行过程。,2019/12/18,安阳工学院,5,2019/12/18,安阳工学院,6,本章主要内容,运算器部件概述定点运算器的功能、组成与设计浮点运算与浮点运算器,2019/12/18,安阳工学院,7,定点运算器功能与组成,完成算术与逻辑运算功能算术逻辑单元(ALU)暂存参加运算的数据和中间结果通用寄存器组乘除法运算的硬件线路支持乘商寄存器(Q寄存器)作为处理机内部数据通路(DataPath),通过几组多路选择器电路实现相互连接,以便数据传送。,2019/12/18,安阳工学院,8,教学计算机硬件系统的组成,计算机终端,PC机,微程序控制器,运算器(16位),主存储器(16位),按键开关指示灯,串行接口,接口实验中断实验内存扩展实验,电源+5V,硬布线控制器,2019/12/18,安阳工学院,9,RESET,START按键,运行功能选择开关,两个12位的微型开关,16位的手拨输入开关,微程序控制器小板,串行口接线座,5V直流电源,电源开关,组合逻辑控制器,运算器,内存储器,串口电路,I86I53I20SSTSCISSHA口B口,2019/12/18,安阳工学院,10,教学计算机运算器实例,教学计算机运算器字长16位,用4片4位的位片结构的Am2901组成。Am2901芯片的内部组成和实现的功能怎样连接4片Am2901成为16位的运算器怎样解决运算器实用中的几个问题:(1)运算器最低位进位输入信号Cin的形成(2)运算器4位标志位信号的接收与记忆线路(3)移位时最高、最低位的移位输入信号设计,2019/12/18,安阳工学院,11,Am2901内部组成,组成算逻运算部件通用寄存器组乘商寄存器Q功能8种运算功能8种数据组合8种结果处理,2019/12/18,安阳工学院,12,Am2901芯片是一个4位的位片结构的运算器器件,其内部组成如下:,第一个组成部分是算逻运算部件ALU,完成3种算术运算和5种逻辑运算,共计8种功能。,其输出为F,两路输入为S、R,最低位进位Cn,4个状态输出信号如图所示,2019/12/18,安阳工学院,13,B16个A通用寄存器,ALUSR,B锁存器,A锁存器,Cn,F,F3F=0000OVRCn+4,A口地址,B口地址,第二个组成部分是通用寄存器组由16个寄存器构成,并通过B口与A口地址选择被读的寄存器,B口地址还用于指定写入寄存器,通过B口地址、A口地址读出的数据将送到B、A锁存器,要写入寄存器的数据由一个多路选择器送来。,(写入),2019/12/18,安阳工学院,14,B16个A通用寄存器,ALUSR,B锁存器,A锁存器,Q寄存器,Cn,F,F3F=0000OVRCn+4,A口地址,B口地址,第三个组成部分是乘商寄存器Q它能对自己的内容完成左右移位功能,其输出可以送往ALU,并可接收ALU的输出结果。,2019/12/18,安阳工学院,15,该芯片的第四个组成部分是5组多路选通门,包括,B16个A通用寄存器,三选一,二选一,ALUSR,B锁存器,A锁存器,Q寄存器,Cn,F,F3F=0000OVRCn+4,输入D,A口地址,B口地址,一组三选一门和另一组二选一门用来选择送向ALU的R、S输入端的数据来源,包括Q寄存器、A口、B口、外部输入D数据的8种不同组合。,8种数据组合(R,S)AQAB0Q0B0ADADQD0,3位数据选择码,000001010011100101110111,2019/12/18,安阳工学院,16,一组三选一门完成把ALU的输出、或左移一位、或右移一位的值送往通用寄存器组,最高、最低位移位信号有双向入/出问题,一组三选一门完成Q寄存器的左移一位、或右移一位、或接收ALU输出值的功能,最高、最低位移位信号有双向入/出问题。,2019/12/18,安阳工学院,17,二选一,B16个A通用寄存器,三选一,二选一,三选一,三选一,ALUSR,B锁存器,A锁存器,Q寄存器,Cn,/OE,Q3,Q0,RAM0,RAM3,F,输出Y,F3F=0000OVRCn+4,输入D,A口地址,B口地址,一组二选一门,选择把A口数据或ALU结果送出芯片,以给出输出Y的数据,Y输出的有无还受输出使能/OE信号的控制,仅当/OE为低是才有Y输出,/OE为高,Y输出为高阻态。,2019/12/18,安阳工学院,18,8种结果处理,3位控制码通用寄存器Q寄存器Y输出000QFF001F010BFA011BFF100BF/2QQ/2F101BF/2F110B2FQ2QF111B2FF,2019/12/18,安阳工学院,19,Am2901的控制信号,编码I8I7I6I5I4I3I2I1I0000QFFR+SAQ001FSRAB010BFARS0Q011BFFRS0B100BF/2QQ/2FRS0A101BF/2FRSDA110B2FQ2QFRSDQ111B2FFRSD0,BQY,RS,2019/12/18,安阳工学院,20,存移输出巧安排,存移输出巧安排,存移输出巧安排,存移输出巧安排,运算器,三大件运算暂存乘除快多路选通连起来,数据组合选择I2I1I0,运算功能选择I5I4I3,运算结果处理I8I7I6,运算,暂存,乘除快,数据组合有内外,运算功能指明白,多路选通连起来,2019/12/18,安阳工学院,21,二选一,B16个A通用寄存器,三选一,二选一,三选一,三选一,ALUSR,B锁存器,A锁存器,乘商寄存器Q,Cn,/OE,Q3,Q0,RAM0,RAM3,F,输出Y,F3F=0000OVRCn+4,输入D,A口地址,B口地址,Am2901内部组成,组成算逻运算部件通用寄存器组乘商寄存器Q功能8种运算功能8种数据组合8种结果处理,I5I3,I2I0,I8I6,2019/12/18,安阳工学院,22,运算器的时钟脉冲信号,运算器的时钟脉冲信号CP教学计算机的主频:1.8432MHz/6,A、B口锁存,通用寄存器接受,Q接受,周期,和低电平的作用注意两个跳变沿,2019/12/18,安阳工学院,23,Am2901的操作使用,操作功能,控制信号B口A口I8I7I6I5I4I3I2I1I0Cn,R0R0+R1,R2R2R0,QR0,右移R0R0+R1,R0R0R1,YA口,YF,0000,011,0001,000,001,0,0010,0000,010,001,001,1,0000,101,0001,000,001,0,0000,000,000,100,0,/,0000,010,0001,100,001,0,R0R0R1,YF,0000,011,0001,100,001,0,2019/12/18,安阳工学院,24,入出信号及引脚,Y3Y0,D3D0,RAM3,Q3,RAM0,Q0,CP,OE,Cn,Cn+4F=0OverF3,Am2901,A3A0,B3B0,I8I6,I5I3,I2I0,2019/12/18,安阳工学院,25,Y118,Y30,D118,D74,D30,Cin,RAM0,Q0,Y74,4片Am2901之间的连接,VccR,2019/12/18,安阳工学院,26,片间高速进位用Am2902,高位Am2901,Am2901,Am2901,低位Am2901,Am2902Cn+zCn+yCn+x,/G/P,Y1512,Y118,Y74,Y30,D1512,D118,D74,D30,OVER,F=0,F15,Cy,Cin,CP,RAM15,Q15,RAM0,Q0,A口,B口,I86I53I20,VccR,2019/12/18,安阳工学院,27,入出信号及引脚,Y15Y0,D15D0,RAM15,Q15,RAM0,Q0,CP,OE,Cin,CyF=0OverF15,运算器部件,A3A0,B3B0,I8I6I5I3I2I0,2019/12/18,安阳工学院,28,运算器实用中的几个问题,运算器最低位进位输入信号Cin的形成运算器4位标志位信号的接收与记忆线路移位时最高、最低位的移位输入信号设计,2019/12/18,安阳工学院,29,如何提供ALU最低位进位信号,不同指令需求Cin例子最低位进位控制码ADD指令0R0+R1+0INC指令1R0+0+1ADC指令CR0+R1+CSUB指令1R0+/R1+1DEC指令0R0+/0+0SBB指令(原理)CR0+/R1+C,加运算,减运算,SCI,最低位进位信号由SCI编码决定,000110010010,2019/12/18,安阳工学院,30,最低位进位信号Cin的逻辑表达式,Cin=/SCI1*SCI0+SCI1*/SCI0*C,2019/12/18,安阳工学院,31,16位的运算器,16位运算器最低位进位输入信号Cin,CyF=0OVRF15,RAM15Q15,RAM0Q0,最低位进位GAL3,SCI,01C,Y150,D150,B口,A口,I8I0,Cin,2019/12/18,安阳工学院,32,如何处理计算结果标志位,算术与逻辑的运算指令结果产生标志位的值该标志位的值只在执行运算步骤接收输入算术运算指令的结果会影响C、Z、V、S逻辑运算指令的结果只影响Z、S其他指令或其他执行步骤不接受标志位的值由此可见:若设置标志位寄存器,会有依据什么指令的什么时刻接收或不接收ALU输出的标志位的值这样两种处理,2019/12/18,安阳工学院,33,几条影响C触发器的指令,指令中有STC(C1)、CLC指令(C0)指令中有RCL、RCR、SHL、SHR指令,它们的移位输出要传送进C,还需要决定寄存器的移位输入是什么值。,C,通用寄存器,通用寄存器,C,0,0,RCL,RCR,SHR,SHL,RAM15,RAM0,RAM0,RAM15,2019/12/18,安阳工学院,34,对乘除法指令的支持,指令中MULSR指令,DIVSR指令它们的运行用到了移位输出要传送进C(还决定寄存器的移位输入),C,通用寄存器,通用寄存器,Q寄存器,乘法,联合右移位,Q寄存器,除法,联合左移位,/F15,Q0,Cy,2019/12/18,安阳工学院,35,状态寄存器的控制,用3位码控制有8处来源SST20CZVS000不变三位不变(C,Z,V,S)001接受ALU状态输出(Cy,ZR,OV,F15)010接收内部总线输出(IB7654)0110三位不变1001三位不变101RAM0三位不变110RAM15三位不变111Q0三位不变,2019/12/18,安阳工学院,36,状态寄存器的逻辑表达式,C:=/SST2*/SST1*/SST0*CV:=/SST2*/SST1*/SST0*V+/SST2*/SST1*SST0*Cy+/SST2*/SST1*SST0*OV+/SST2*SST1*/SST0*IB7+/SST2*SST1*/SST0*IB5+SST2*/SST1*/SST0+/SST2*SST1*SST0*V+SST2*/SST1*SST0*RAM0+SST2*V+SST2*SST1*/SST0*RAM15+SST2*SST1*SST0*Q0Z:=/SST2*/SST1*/SST0*ZS:=/SST2*/SST1*/SST0*S+/SST2*/SST1*SST0*ZR+/SST2*/SST1*SST0*F15+/SST2*SST1*/SST0*IB6+/SST2*SST1*/SST0*IB4+/SST2*SST1*SST0*Z+/SST2*SST1*SST0*S+SST2*Z+SST2*S,2019/12/18,安阳工学院,37,0,1,RAM0Q0,RAM15,16位的运算器,16位运算器的状态寄存器,四位标志位GAL1,SST,CZVS,CyF=0OVF15,来自内部总线IB,RAM15Q15,RAM0Q0,Y150,D150,B口,A口,I8I0,Cin,2019/12/18,安阳工学院,38,寄存器移位输入信号,2位控制码左移(I7)右移(/I7)指令SSH10RAM0Q0RAM15Q15000/0/SHLSHR01C/C/RCLRCR10Q15/F15CyF0DIVMUL实现中,具体移位输入信号是用SSH编码和ALU中的结果处理控制信号I7(移位方向)共同决定的。,2019/12/18,安阳工学院,39,左右移位输入信号逻辑表达式,RAM15=/SSH1*SSH0*C+SSH1*/SSH0*CyQ15=SSH1*/SSH0*F0RAM0=/SSH1*SSH0*C+SSH1*/SSH0*Q15Q0=SSH1*/SSH0*/F15RAM15.OE=/I7Q15.OE=/I7RAM0.OE=I7Q0.OE=I7,2019/12/18,安阳工学院,40,16位的运算器,16位运算器的最高位、最低位移位输入信号,右移输入信号GAL3,左移输入信号GAL3,CyF=0OVRF15,SSH,SSH,右移控制,左移控制,RAM15Q15,RAM0Q0,0CQ15/F15,0CCyF0,Y150,D150,B口,A口,I8I0,Cin,2019/12/18,安阳工学院,41,0,1,RAM0Q0,RAM15,16位的运算器,16位运算器的完整组成,四位标志位GAL1,右移输入信号GAL3,SST,左移输入信号GAL3,最低位进位GAL3,CZVS,CyF=0OVRF15,来自内部总线IB,SSH,SSH,SCI,右移控制,左移控制,RAM15Q15,RAM0Q0,0CQ15/F15,0CCyF0,01C,Y150,D150,B口,A口,I8I0,Cin,2019/12/18,安阳工学院,42,运算器用的GAL20V8的控制信号,GAL1:状态寄存器GAL3:进位输入SSTCZVSSCI运算Cin000CZVS00加0001CyZROVF1501加1010内部总线的一位10加C移位输入0111ZVSRAM0Q0RAM15Q151000ZVSSSH左移位右移位101RAM0ZVS000X0X110RAM15ZVS01CXCX111Q0ZVS10Q15/F15CyF0,2019/12/18,安阳工学院,43,脱机的运算器实验,在已经设计好并实现了运算器部件之后,如何控制它完成指定的运算功能并检查它的执行结果呢?最简单的办法是:(1)通过开关向其提供将要使用的数据,(2)通过开关向其提供必要的控制信号,(3)通过开关按钮控制寄存器接收运算结果,(4)通过指示灯显示运算结果和控制信号的值。其实这就是把计算机的运算器部件从计算机系统中孤立出来,用手工方式操作其运行过程,这不会涉及计算机的其他功能部件,事情变得更单纯简单,更容易理解,学懂这一部分内容之后,很容易与通过计算机的控制器控制运算器运行的具体实现方案联系起来,更有利于把复杂的事情简单化。,2019/12/18,安阳工学院,44,16位运算器脱机实验,Y15Y0,D15D0,RAM15,Q15,RAM0,Q0,Cin,CyF=0OverF15,运算器部件,A30,B30,I86,(用16个开关提供输入数据),CZVS,SSH,SST,SCI,I53,I20,A口B口SCISSH,I86I53I20SST,通过24位微型开关提供控制信号,用四个指示灯显示状态,(用16个指示灯显示结果),2019/12/18,安阳工学院,45,本章主要内容,运算器部件概述定点运算器的功能、组成与设计浮点运算与浮点运算器,2019/12/18,安阳工学院,46,浮点运算器与浮点数运算,浮点运算器通常由处理阶码的和处理尾数的两个定点运算器组成在早期的小或微型机中,浮点运算器通常以任选件方式提供给用户,主要用于计算浮点数浮点数加减运算对阶执行加减规格化舍入(右归)判溢出浮点数乘除运算阶码加减尾数乘除舍入与规格化处理判溢出,2019/12/18,安阳工学院,47,浮点数在计算机内的格式,浮点数:X=MSESEm-1.E2E1M-1M-2.M-n,符号位阶码位尾数数码位总位数,短浮点数:182332,长浮点数:1115264,临时浮点数:1156480,IEEE标准:阶码用移码,基为2;尾数用原码,浮点数的阶码的位数决定数的表示范围,尾数的位数决定数的有效精度。,2019/12/18,安阳工学院,48,浮点数在计算机内的格式,IEEE标准:尾数用原码,浮点数是数学中实数的子集合,由一个纯小数乘上一个指数值来组成。在计算机内,其纯小数部分被称为浮点数的尾数,对非0值的浮点数,要求尾数的绝对值必须=1/2,称满足这种表示要求的浮点数为规格化表示;把不满足这一表示要求的尾数,变成满足这一要求的尾数的操作过程,叫作浮点数的规格化处理,通过尾数移位和修改阶码实现。,2019/12/18,安阳工学院,49,浮点数在计算机内的格式,IEEE标准:尾数用原码,按国际电子电气工程师协会规定的标准,浮点数的尾数要用原码表示,即符号位Ms:0表示正,1表示负,且非0值尾数数值的最高位M-1必为1,才能满足浮点数规格化表示的要求;既然非0值浮点数的尾数数值最高位必定为1,则在保存浮点数到内存前,通过尾数左移,强行把该位去掉,用同样多的尾数位就能多存一位二进制数,有利于提高数据表示精度,称这种处理方案使用了隐藏位技术。当然,在取回这样的浮点数到运算器执行运算时,必须先恢复该隐藏位。,2019/12/18,安阳工学院,50,浮点数在计算机内的格式,X=MsEsEm-1.E1E0M-1M-2.M-n,IEEE标准:阶码用移码,基为2,按国际电子电气工程师协会规定的国际通用标准,浮点数的阶码用整数给出,并且要用移码表示,用作为以2为底的指数的幂。既然该指数的底一定为2,可以不必在浮点数的格式中明确表示出来,只需给出阶码的幂值即可。移码表示只用于表示整数,只用在浮点数的阶码部分,其定义类似于整数的补码定义,差别在符号位。移码的符号位是0表示负,1表示正,与补码的符号位正好相反,移码是指机器数在数轴上有个移位关系;移码的数值位则与补码的数值位完全相同。,2019/12/18,安阳工学院,51,浮点数格式:关于移码的知识,移码表示只用于表示整数,只用在浮点数的阶码部分。一位符号位和n位数值位组成的移码,其定义为;E移=2n+E-2n=E2n表示范围:0000000011111111,2019/12/18,安阳工学院,52,浮点数格式:关于移码的知识,一位符号位和n位数值位组成的移码,其定义为;E移=2n+E-2n=E2n表示范围:0000000011111111负数正数机器数,0,移码只执行二数的加减运算与增1、减1操作。加减运算时,符号位计算结果求反后,才是加减运算的正确符号位的值。,8位的阶码能表示-128+127,当阶码为-128时,其补码表示为00000000,该浮点数的绝对值2-128,人们规定此浮点数的值为零,若尾数不为0就清其为0,并特称此值为机器零。,8位移码表示的机器数为数的真值在数轴上向右平移了128个位置,-128,+127,2019/12/18,安阳工学院,53,浮点数算术运算,(1)对阶操作,求阶差:E=MX-MY,使阶码小的数的尾数右移E位,其阶码取大的阶码值;(2)尾数加减;(3)规格化处理;(4)舍入操作,可能带来又一次规格化;(5)判结果的正确性,即检查阶码上下溢出,浮点数加减运算,2019/12/18,安阳工学院,54,浮点数加运算举例,X=2010*0.1101111,Y=2100*(-0.1010110)写出X、Y的正确的浮点数表示:阶码用4位移码尾数用9位原码(含符号位)(含符号位)X浮=010101101111Y浮=111001010110为运算方便,尾数的符号为写在数值位之前:MX浮=101001101111MY浮=110011010110,2019/12/18,安阳工学院,55,浮点数加运算举例,X=2010*0.1101111,Y=2100*(-0.1010110)(1)计算阶差:E=EX-EY=EX+(-EY)=1010+0100=0110注意:阶码计算结果的符号位在此变了一次反,结果为-2的移码,是X的阶码值小,使其取Y的阶码值1100(即+4);因此,相应地修改MX补=00001101111(即右移2位)(2)尾数求和:0001101111此处是原码加法,符号不相+11010110同,绝对值大的减小的,结1011101111果符号取决于绝对值大的数,2019/12/18,安阳工学院,56,浮点数加运算举例,X=2010*0.1101111,Y=2100*(-0.1010110)(3)规格化处理:相加结果,数值的最高位为0,应执行1次左规操作,故得MX原=11110110,阶码减1,EX移=1011(4)舍入处理:结果为负,警戒位为正,在最低位减111110110+0000000111110101(5)检查溢出否:和的阶码为1011,不溢出计算后的X移=110111110101,即数的实际值为23*(-0.1110101),2019/12/18,安阳工学院,57,浮点数算术运算,(1)阶码加、减:乘:EX+EY,除:EX-EY(2)尾数乘、除:乘:EX*EY,除:EX/EY(3)规格化处理;(4)舍入操作,可能带来又一次规格化;(5)判结果的正确性,即检查阶码上下溢出,浮点数乘除运算,2019/12/18,安阳工学院,58,浮点数乘法运算举例,X=2010*0.1011,Y=2100*(-0.1101)写出X、Y的正确的浮点数表示:阶码用4位移码尾数用9位原码(含符号位)(含符号位)X浮=010101011Y浮=111001101,2019/12/18,安阳工学院,59,浮点数乘运算举例,X=2010*0.1011,Y=2100*(-0.1101)(1)阶码相加:积的阶码=EX+EY=1010+1100=1110注意:计算结果的阶码符号位在此变了一次反,移码结果为+6(2)尾数相乘:MX*MY=0.1011*(-0.1101)=-0.10001111(3)(4)(5)已是规格化数,不必舍入,也不溢出最终乘积MX移=1111010001111,即26*(-0.10001111),2019/12/18,安阳工学院,60,浮点数除运算举例,X=2010*0.1011,Y=2100*(-0.1101)(1)阶码相减:积的阶码=EX-EY=EX+(-EY)=1010+0100=0110注意:计算结果的阶码符号位在此变了一次反,为移码-2(2)尾数相除:MX/MY=0.1011/(-0.1101)=-0.1101(3)(4)(5)已是规格化数,不必舍入,也不溢出最终的商MX移=101101101,即2-2*(-0.1101),2019/12/18,安阳工学院,61,IEEE浮点数标准754,浮点数:X=MSESEm-1.E2E1M-1M-2.M-n,符号位阶码位尾数数码位总位数,短浮点数:182332,长浮点数:1115264,临时浮点数:1156480,IEEE标准:阶码用移码,基为2;尾数用原码,对长、短浮点数的尾数选用隐藏位技术,2019/12/18,安阳工学院,62,IEEE浮点数标准754,规定对长、短浮点数的尾数使用隐藏位技术,即把非0值的尾数的最高位上的1经过左移操作后强行去掉,则原来不能表示的更低一位就进到最低一位,使23位的尾数数值位就能给出24位的精度,此时还应把阶码位相应的减1,变原来的移128为移127。正常的阶码值范围:01hFEh,表示-126+127特定的阶码:00h,23位的非0尾数表示非规格化浮点数(隐藏位此时一定为0);FFh,尾数为全0时表示无穷大的浮点数,可正可负,由符号位决定。尾数非全0时属于非法数值,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!