好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

计算机组成原理AM2901.ppt

35页
  • 卖家[上传人]:au****y
  • 文档编号:49132052
  • 上传时间:2018-07-24
  • 文档格式:PPT
  • 文档大小:1,001.50KB
  • / 35 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 定点运算器举例(AM2901)一、加法器 • 1.半加器:不考虑进位输入时,两个数码 Xn和Yn相加称为半加设半加和为Hn ,则 Hn的表达式为: Hn=Xn⊕Yn• 2.全加器:考虑进位Cn-1输入时的相加称 为全加设全加和为Fn ,向高位的进位为 Cn,则其功能表如下: • 由表可得全加和Fn和进位输出Cn的表达式为 : • Fn= Xn⊕Yn⊕Cn-1 • Cn=XnYn+(Xn⊕Yn)Cn-1由8个全加器组成的8位加法器(串行进位)• 由8个全加器组成的8位加法器 • 大家注意的是:加法器无存储功能• 全加器的位数与操作数的位数相等的加法器 称并行加法器 • 进位信号的产生与传递的逻辑结构称为进位 链 • 当Xi与Yi都为1时,Ci=1,即有进位信号产生 ,所以将XiYi称为进位产生函数或本地进位 ,并以Gi=XiYi表示 • 当Xi⊕Yi=1且Ci-1=1时,则Ci=1这种情况可 看作是当Xi⊕Yi=1时,第i-1位的进位信号Ci-1可以通过本位向高位传送因此,把 Xi⊕Yi称为进位传递函数或进位传递条件, 并以Pi=Xi⊕Yi表示组内并行、 组间串行的进位链• 这种进位链每小组4位,组内采用并行进位 结构,组间采用串行进位传递结构,进位表 达式为: • C1=G1+P1C0 • C2=G2+P2G1+P2P1C0 • C3=G3+P3G2+P3P2G1+P3P2P1C0 • C4=G4+P4G3+P4P3G2+P4P3P2G1+P4P3P2P1C0 • 16位组内并行组间串行进位链框图如下图所 示。

      16位组内并行、组间串行进位链框图组内并行、组间并行的进位链• G1*=G4+P4G3+P4P3G2+P4P3P2G1(小组的进位产生函数) • P1*=P4P3P2P1(小组的进位传递函数) • 因此: • C4=G1*+P1*C0 • 同理: • C8=G2*+P2*C4 • C12=G3*+P3*C8 • C16=G4*+P4*C12 • 这是一组递推表达式,可将其展开为:• C4=G1*+P1*C0 • C8=G2*+P2*G1*+P2*P1*C0 • C12=G3*+P3*G2*+P3*P2*G1*+P3*P2*P1*C0 • C16=G4*+P4*G3*+P4*P3*G2*+P4*P3*P2*G1*+P4*P3*P2*P1*C0 • 其中: • G1*=G4+P4G3+P4P3G2+P4P3P2G1 • G2*=G8+P8G7+P8P7G6+P8P7P6G5 • G3*=G12+P12G11+P12P11G10+P12P11P10G9 • G4*=G16+P16G15+P16P15G14+P16P15P14G13 • P1*=P4P3P2P1 P2*=P8P7P6P5 • P3*=P12P11P10P9 P4*=P16P15P14P1316位组内并行、组间并行进位链框图• 进位产生次序: • ①产生第一小组的C1、C2、C3及所有G*、P* • ②产生组间的进位信号C4、C8、C12、C16 • ③产生第二、三、四小组的C5~C15 • 至此,进位信号全部形成,和数也随之产 生。

      二、AM2901A简介 • 在此,我们将以Am2901A四位双极型位片式结构的 运算器为实例,看一个已经商品化的运算器的实际 组成 • 图4.7给出的是该运算器的逻辑简框图 • 图4.8给出了Am2901A较为具体的逻辑原理图 AM2901 • 给出这个实例的目的是帮助了解运算器本身的总体 结构,建立起运算器的控制与运行过程的概念事 实上现在已有更高集成度的运算器芯片,但工作原 理是类似的• 其内部组成讲解如下: • 第一个组成部分是算逻运算部件ALU,能完成 3 种算术运算和5种逻辑运算功能其输出为F, 两路输入为 S、R,最低位进位Cn,四个状态输 出信号如图所示F3、F=0000、OVR、Cn+4 • 第二个组成部分是通用寄存器组 • 由16个寄存器构成,并通过A口与B口地址选择被读 的寄存器,B口地址还用于指定写入寄存器通过B 口地址、A口地址读出的数据将送到B、A锁存器,要 写入寄存器的数据由一个多路选择器送来• 第三个组成部分是乘商寄存器Q,它能对自 己的内容完成左右移位功能,其输出可以 送往ALU,并可接收ALU的输出结果 • 该芯片的第四个组成部分是五组多路选通 门,包括如下内容: • 一组二选一门,选择把A口数据或ALU结果 送出芯片,以给出输出Y的数据。

      Y输出的 有无还受输出使能OE信号的控制,仅当OE 为低时才有Y输出 ,OE为高,Y输出为高阻 态• 一组三选一门和另一组二选一门用来选择送 向ALU的 S、R输入端的数据来源,包括Q寄存 器、A口、 B口、外部输入D数据的8 种不同 组合 • 一组三选一门完成把ALU的输出、或左移一 位、或右移一位的值送往通用寄存器组,最 高、最低位移位信号有双向入/出问题一组 三选一门完成Q寄存器的左移一位、或右移 一位、或接收ALU输出值的功能,最高、最 低位移位信号有双向入/出问题 • AM2901A运算器有以下主要特点: • ①它是位片式结构,即每片内仅有四位线路,要实 现不同位数的运算器,需将几片同样的器件串接起 来使用例如用四片可实现—个16位字长的运算器 • ②该运算器的ALU能实现八种运算功能,它每一位 上的两个输入端数据分别用R和S表示,则这八种功 能是:R+S,S-R和R-S三种算术运算功能, 五种逻辑运算功能这八种功能的选择控制,是用 外部送入的三位编码值I5I4I3扎实现的,其具体规 定如表4.1所示• ③ALU的R输入端可以接收外部送入运算器的数据D, 寄存器组的—组输出A,或接收逻辑0值。

      ALU的S输 入端可以接收寄存器组的一组输出A和另—组输出B ,还可以接收Q寄存器的输出这样,R和S接收的数 据可以有如下12种组合情况: • R 0000 AAAA DDDD • S ABQ0 ABQ0 ABQ0 • 考虑到R和S同时接收0无实用价值,OA与AO组合、AA 和AB组合、DA和DB组合可以相互替代,故只需留下八 种组合情况即可、此时可用外部送来的三位控制码 来决定ALU的输入数据,即区分可用的八种组合,具 体对应关系如表4.2所示• ④运算器中有1个16X4位的通用寄存器组和一个4位 的Q寄存器寄存器组被设计成能双端口输出的部 件每一个寄存器都可以用A地址或B地址选择,将 寄存器中的内容分别送到输出端口A或B当A和B地 址不同时,在输出端口A和B将得到两个不同寄存器 中的内容该寄存器组的写入控制,只能用B地址 实现,写入的数据是ALU的输出经过移位器送到寄 存器组的输入端的移位器可执行直送、左移一位 操作,或右移一位的操作,使加减运算和移位操作 可在同一个操作步骤中完成 • ⑤Q寄存器本身具有移位功能,即它可以接收自己 左移一位或右移一位的值。

      Q寄存器还可以接收ALU 的输出F的值Q的输出可在经ALU的S输入端送入 ALU• ⑥ALU还给出了Cn+4、F3(可用作符号位)、 OVR和F=0000四个状态信息,它们分别是本 四位运算器产生的向更高位的进位、本片最 高位的取值、结果溢出和结果为零的状态 ALU的最低位还接收从更低位片送来的进位 信号Cn,ALU还给出了超前进位信号G和P • ⑦ 移位器还有接收与送出移位数值的引线 ,它们分别是RAM3、RAM0、Q3和Q0,它们都 是用三态门给出的具有双向传送功能的线路 实现的• ⑧运算器的四位输出为Y3一Y0,它可以是 ALU的运算结果,也可以是寄存器组A输出 端口上的内容这里用的是三态门电路, 仅当OE#信号为低电平时,y的值才是可用 的,否则Y输出处于高阻状态 • ⑨控制数据传送的方式(移不移位)和数据 发送的去向,是用另外三位编码不I8I7I6来 控制的,具体规定如表4.3所示• 我们可以用四片Am2901A组成一个16位字长的 定点运算器,其连接关系如图4.9所示 • 四片Am2901A是串接起来的,即低位一片的Q3 端与相邻高位一片的Q0端相接,对应的RAM3 端与RAM0端相连接,低位片的进位输出CN+4与 高位邻片的进位输入Cn相连接,以保证四片 片间的左右移位功能和进位关系的正确执行 。

      最低位一片的移位输入/输出信号Q0端和 RAM0端、以及进位输入信号Cn在图中空着, 要用另外的电路控制其输入/输出数据例 如当实现左右循环移位功能时,就要连接相 应的信号 入出信号及引脚Y3~Y0D3~D0RAM3 Q3RAM0 Q0CPOECnCy F=0 Over F3Am2901A3~A0 B3~B0I8~I6 I5~I3I2~I0Am2901Y11~8Y3~0D11~8D7~4D3~0CinRAM0Q0Y7~4高位Am2901Y15~12D15~12OVERF=0F15CyCPRAM15Q15A口 B口 I8~6 I5~3 I2~04 片Am2901之间的连接Am2901Am2901VccR• 通用寄存器组RAM的两个地址控制端“A”(读)和 “B”(读/写)、Q寄存器移位用的CP时钟脉冲信 号,分别送入每—片Am2901A的“A”、“B”和CP 输入端;有了上述说明,就比较容易看懂下述几 条指令在运算器部件中的控制方法: • (1)把主存数据寄存器中读得的数据写入通用寄存 器组中的某个寄存器中; • (2)把通用寄存器组中某个寄存器的内容写进主存 数据寄存器中; • (3)通用寄存器组中的两个寄存器的内容相加。

      结 果写回其中的一个寄存器中 • 按Am2901A的功能规定,可以给出如表4.4所示的 一张信号分配表• 对第一条指令,把主存数据寄存器的输出接到Am2901A的D输 入端,用111作为ALU的输入数据选择(D,0组合),用000作 为ALU的功能选择(加,即实现D十0),用011作为ALU的数据 传送控制,即把ALU的输出送到通用寄存器组的输入,再写 入由“B”地址选择的寄存器中在此操作过程中,最低位 进位输入值给0 • 对第二条指令,用011作为ALU的输入选择(0,B组合),用 000作为ALU的功能选择(加,即实现0+B号寄存器的内容), 用001作为Am2901A的输出选择并同时给出OE信号,Y输出即 为B寄存器的内容,可以把Y接到主存数据寄存器的输入端, 从而完成向该寄存器的写入操作 • 对第三条指令,用001作为ALU的输入数据选择(A,B组合) ,000作为ALU的功能选择,用010作为ALU的数据传送选择, 从而完成A寄存器的内容加B寄存器的内容,并把结果写入B 寄存器中的操作过程此时要使OE取高电平,使输出Y处于 高阻状态,而不是输出A寄存器的内容• 这三条指令的运行结果,应按某种规定设置运算器的状态 标志触发器C、y、Z、N,这些触发器要在Am2901A芯片之外 实现,将Am2901A的最高位芯片的输出Cn+4、OVR、F=0000 和F3的值写入这四个标志触发器中。

      图上省略了这一部分 逻辑电路 • 如果用该16位的运算器完成乘除法运算,Q寄存器应被用作 乘商寄存器,此时,要特别注意通用寄存器和Q寄存器的共 同移位问题对乘法,对每次求得的部分积要用100码接收 ,即在把F/2B的同时,还完成Q/2Q的操作,101码只 用于通用寄存器的右移位控制,不影响Q寄存器的内容,对 除法,要用110码接收除后的余数,即把2FB的同时,还 实现2QQ的移位操作,而111码只用于通用寄存器的左移 位控制,不影响Q寄存器中的内容 • 实现原码乘除的符号运算,即求二个数符号的半加和,以 及处理上商,判求部分积是用被乘数还是0,与前一次部分 积相加等逻辑电路,也应在Am2901A之外另行给出,图中省 略了这部分电路。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.