第4章计算机中的运算器部件本章主要内容运算器部件概述定点运算器的功能、组成与设计浮点运算与浮点运算器运算器的基本功能完成算术、逻辑运算,产生运算结果+、—、×、÷、∧、∨、¬并给出运算结果的状态信息C、Z、V、S暂存运算所用操作数寄存器组、立即数、数据总线暂存运算的中间结果寄存器组、Q寄存器、移位线路输出运算结果寄存器组、数据总线运算周期一个运算周期中的各时间段示意图控制信号建立时间运算结果送到寄存器输入端时间寄存器内容送出时间运算器执行运算时间寄存器接收运算结果时间控制信号数据运算线路(组合逻辑)数据暂存线路(时序逻辑)送出结果输入数据运算器组成示意图执行一次运算的时序关系两种不同类型的运算器运算器包括定点运算器和浮点运算器两种类型定点运算器:主要完成对整数类型数据的算术运算、逻辑类型数据的逻辑运算浮点运算器:主要完成对浮点类型数据的算术运算,也用于完成长整数、BCD等类型的数据运算位片结构的运算器芯片2901教学机中的运算器是选用4片4位字长的运算器芯片Am2901实现的,我们首先花一点时间讲解这个芯片的内部组成和功能,接下来还要说明将其使用在TEC-2000教学机中需要解决的一些设计和技术方面的问题。请大家注意,这个芯片以及具体的教学计算机系统,只是众多器件和计算机系统中的一个特例,把握好了解特例和学懂通用原理的关系非常重要。二选一B16个A通用寄存器三选一二选一三选一三选一ALUSRB锁存器A锁存器乘商寄存器QCn/OEQ3Q0RAM0RAM3F输出YF3F=0000OVRCn+4输入DA口地址B口地址组成算逻运算部件通用寄存器组乘商寄存器Q5组多路选择门功能8种运算功能8种数据组合8种结果处理Am2901内部组成ALUSRCnFF3F=0000OVRCn+4Am2901芯片是一个4位的位片结构的运算器器件,其内部组成如下:第一个组成部分是算逻运算部件ALU,完成3种算术运算和5种逻辑运算,共计8种功能。其输出为F,两路输入为S、R,最低位进位Cn,4个状态输出信号如图所示符号位结果为零结果溢出进位输出R⊕SR⊕S8种运算功能0000010100111001011101113位功能选择码R+SSRRSR٧SRSRSAm2901芯片之ALUB16个A通用寄存器ALUSRB锁存器A锁存器CnFF3F=0000OVRCn+4A口地址B口地址第二个组成部分是通用寄存器组由16个寄存器构成,并通过B口与A口地址选择被读的寄存器,B口地址还用于指定写入寄存器通过B口地址、A口地址读出的数据将送到B、A锁存器,要写入寄存器的数据由一个多路选择器送来。(写入)Am2901芯片之寄存器组B16个A通用寄存器ALUSRB锁存器A锁存器Q寄存器CnFF3F=0000OVRCn+4A口地址B口地址第三个组成部分是乘商寄存器Q它能对自己的内容完成左右移位功能,其输出可以送往ALU,并可接收ALU的输出结果。Am2901芯片之乘商寄存器Q该芯片的第四个组成部分是5组多路选通门,包括B16个A通用寄存器三选一二选一ALUSRB锁存器A锁存器Q寄存器CnFF3F=0000OVRCn+4输入DA口地址B口地址一组三选一门和另一组二选一门用来选择送向ALU的R、S输入端的数据来源,包括Q寄存器、A口、B口、外部输入D数据的8种不同组合。8种数据组合(R,S)AQAB0Q0B0ADADQD03位数据选择码000001010011100101110111Am2901芯片之数据来源选择门B16个A通用寄存器三选一二选一三选一三选一ALUSRB锁存器A锁存器Q寄存器CnQ3Q0RAM0RAM3FF3F=0000OVRCn+4输入DA口地址B口地址一组三选一门完成把ALU的输出、或右移一位、或左移一位的值送往通用寄存器组,最高、最低位移位信号有双向入/出问题一组三选一门完成Q寄存器的右移一位、或左移一位、或接收ALU输出值的功能,最高、最低位移位信号有双向入/出问题。Am2901芯片之结果去向选择门二选一B16个A通用寄存器三选一二选一三选一三选一ALUSRB锁存器A锁存器Q寄存器Cn/OEQ3Q0RAM0RAM3F输出YF3F=0000OVRCn+4输入DA口地址B口地址一组二选一门,选择把A口数据或ALU结果送出芯片,以给出输出Y的数据,Y输出的有无还受输出使能/OE信号的控制,仅当/OE为低是才有Y输出,/OE为高,Y输出为高阻态。Am2901芯片之结果送出选择门8种结果处理000QFF001F010BFA011BFF100BF/2QQ/2F101BF/2F110B2FQ2QF111B2FF3位控制码通用寄存器Q寄存器Y输出存移输出巧安排存移输出巧安排存移输出巧安排存移输出巧安排二选一三选一二选一三选一三选一Q3Q0RAM0RAM3ALUSRCnFF3F=0000OVRCn+4B16个A通用寄存器B锁存器A锁存器A口地址B口地址运算器,三大件运算暂存乘除快多路选通连起来数据组合选择I2I1I0运算功能选择I5I4I3运算结果处理I8I7I6运算暂存乘除快数据组合有内外运算功能指明白多路选通连起来Q寄存器输入D/OE输出YAm2901总结二选一B16个A通用寄存器三选一二选一三选一三选一ALUSRB锁存器A锁存器乘商寄存器QCn/OEQ3Q0RAM0RAM3F输出YF3F=0000OVRCn+4输入DA口地址B口地址组成算逻运算部件通用寄存器组乘商寄存器Q5组多路选择门功能8种运算功能8种数据组合8种结果处理I5~I3I2~I0I8~I6Am2901内部组成通用寄存器是RS触发器,低电平期间接收输入。运算器的时钟脉冲信号CP时钟脉冲信号CP用于控制寄存器和锁存器的动作时间,注意两个跳变沿和低电平的作用。周期通用寄存器接收A、B口锁存Q接收Q寄存器是D型触发器,用脉冲上升沿接收输入。锁存器,在时钟脉冲的高电平期间,其输入信号直接“穿”过线路送到其输出端,用脉冲下降沿把输入信号存储起来用于后续的输出。Am2901的控制信号汇总表000Q←FFR+SAQ001FS−RAB010B←FAR−S0Q011B←FFR٧S0B100B←F/2Q←Q/2FRΛS0A101B←F/2FRΛSDA110B←2FQ←2QFR⊕SDQ111B←2FFR⊕SD0BQYRS编码I8I7I6I5I4I3I2I1I0操作功能控制信号B口A口结果去向I8I7I6运算功能I5I4I3数据来源I2I1I0CnD+0→R0R0-F→B,F→Y+D00R0+R1→R1R1R0F→B,F→Y+AB0R1R2→R2R2R1F→B,F→YAB0R2→R0R0R2F→B,F→Y+0A0R2-R0→R0R0R2F→B,F→Y-AB1R5+1→R5同时R5→YR5R5F→B,A→Y+0B1Am2901控制信号练习