1 / 32

综合考虑各类定点运算算法后,发现: 所有运算都可通过 “ 加 ” 和 “ 移位 ” 操作实现

2.3 定点运算器的组成. 综合考虑各类定点运算算法后,发现: 所有运算都可通过 “ 加 ” 和 “ 移位 ” 操作实现 以一个或多个 ALU (或加法器)为核心,加上移位器和存放中间临时结果的若干寄存器,在相应控制逻辑的控制下,可以实现各种运算 。 运算部件通常指 ALU 、移位器、寄存器组,加上用于数据选择的多路选择器和实现数据传送的总线等构成的一个运算数据通路。 可用专门运算器芯片实现(如: 4 位运算器芯片 AM2901 ) 可用若干芯片级联实现(如 4 个 AM2901 构成 16 位运算器 )

Download Presentation

综合考虑各类定点运算算法后,发现: 所有运算都可通过 “ 加 ” 和 “ 移位 ” 操作实现

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 2.3 定点运算器的组成 • 综合考虑各类定点运算算法后,发现: • 所有运算都可通过“加”和“移位”操作实现 以一个或多个ALU(或加法器)为核心,加上移位器和存放中间临时结果的若干寄存器,在相应控制逻辑的控制下,可以实现各种运算。 • 运算部件通常指ALU、移位器、寄存器组,加上用于数据选择的多路选择器和实现数据传送的总线等构成的一个运算数据通路。 • 可用专门运算器芯片实现(如:4位运算器芯片AM2901) • 可用若干芯片级联实现(如4个AM2901构成16位运算器) • 现代计算机把运算数据通路和控制器都做在CPU中,为实现高级流水线,CPU中有多个运算部件,通常称为“功能部件”或“执行部件”。

  2. 寄存器组 内 部 总 线 一、运算器的基本组成 移位逻辑 标志寄存器 ALU 锁存器A 锁存器B

  3. 2、通用寄存器组 • 寄存器是计算机中存取速度最快的存储器件 • 暂存参加运算的数据和中间结果 • 可以被汇编程序直接访问和使用 • 能够左右移位的乘商寄存器

  4. 3、标志寄存器(PSW) 用于保存ALU运算结果的状态信息。 S符号标志位:S为1时表示运算结果为负; V 溢出标志位:V为1时表示运算结果溢出; Z 零标志位: Z为1时表示运算结果零; C 进位标志位:C为1时表示运算结果有进位。

  5. 4、移位及数据选择器 对参加运算的数据,执行某种运算以及将运算结果送往何处进行控制。

  6. 5、数据的传送通路 以总线结构为主的数据通路 单总线结构的运算器 双总线结构的运算器 三总线结构的运算器

  7. 二、定点运算器举例 TH-Union教学计算机简介 字长16位,用4片四位的位片结构运算器芯片Am2901组成。 位片结构:将位数较少、功能完整、独立封装的大规模集成电路经多片拼接构成较长位数的运算器。

  8. 输出Y 二选一 /OE F F3 F=0000 OVR Cn+4 A L U S R Cn 三选一 二选一 输入D B锁存器 A锁存器 乘商寄存器Q A口地址 Q3 Q0 B 16个 A 通用寄存器 三选一 B口地址 三选一 RAM3 RAM0 1、4位的Am2901 内部组成与功能 组成 1)算逻运算部件 2)16个寄存器 3)乘商寄存器Q 4)5组多路选择器 功能 8 种运算功能 8 种数据组合 8 种结果处理

  9. F F3 OVR F=0000 Cn+4 A L U S R Cn I5 I4 I3 8种运算功能 R+S SR RS R∨S 或 RS 与 RS RS 异或 RS 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 第一个组成部分是算逻运算部件ALU,完成3种算术运算 和5种逻辑运算,共 8种运算功能。

  10. F F3 OVR F=0000 Cn+4 A L U S R Cn B锁存器 A锁存器 B A 通用寄存器 B口地址 A口地址 (写入) 第二个组成部分是通用寄存器组由16个寄存器(R0~R15)构成,并通过B口与A口地址选择被读的寄存器,B口地址还用于指定写入寄存器。 R0~R3、R8~R15为通用寄存器 R4为SP、R5为PC

  11. F F3 OVR F=0000 Cn+4 A L U S R Cn B锁存器 A锁存器 Q寄存器 B A 通用寄存器 B口地址 A口地址 (写入) 第三个组成部分 是乘商寄存器Q 它能对自己的内 容完成左右移位 功能,其输出可 以送往ALU,并 可接收ALU的输 出结果。

  12. F F3 OVR F=0000 Cn+4 A L U S R Cn B锁存器 A锁存器 Q寄存器 B A 通用寄存器 B口地址 A口地址 (写入) 该芯片的第四个 组成部分是5 组 多路选通门,包括 三选一 二选一 一组三选一门和 另一组二选一门 用来选择送向ALU的R、S输入端的数据来源,包括:Q寄存器、A口、 B口数据、外部输入D数据共8种不同组合。 输入D

  13. F F3 OVR F=0000 Cn+4 A L U S R Cn B锁存器 A锁存器 Q寄存器 B A 通用寄存器 B口地址 A口地址 (写入) 一组三选一门和 另一组二选一门 用来选择送向ALU的R、S输入端的数据来源,包括:Q寄存器、A口、 B口数据、外部输入D数据共8种不同组合。 三选一 二选一 输入D 8种数据组合(R,S) AQ AB 0Q 0B 0A DA DQ D0 3位数据选择码 000 001 010 011 100 101 110 111

  14. F 一组三选一门完成把ALU的输出、或左移一位、或右移一位的值送往通用寄存器组,最高、最低位移位信号有双向入/出问题 F3 F=0000 OVR Cn+4 A L U S R Cn 三选一 二选一 输入D B锁存器 A锁存器 Q寄存器 一组三选一门完成Q寄存器的左移一位、或右移一位、或接收ALU输出值的功能,最高、最低位移位信号有双向入/出问题。 A口地址 Q3 Q0 B 16个 A 通用寄存器 三选一 B口地址 三选一 RAM3 RAM0

  15. F3 F=0000 OVR Cn+4 A L U S R Cn 三选一 二选一 输入D B锁存器 A锁存器 Q寄存器 A口地址 Q3 Q0 B 16个 A 通用寄存器 三选一 B口地址 三选一 RAM3 RAM0 输出Y 二选一 /OE F 一组二选一门, 选择把ALU结果或A口数据送出芯片,给出输出Y的数据,Y输出的有无还受使能信号控制,仅当/OE为低才有Y输出,/OE为高Y输出为高阻态。

  16. 运算结果的8 种处理 • 3位控制码 通用寄存器 Q寄存器 Y输出 • 000 QF F • 001 F • 010 BF A • 011 BF F • 100 BF/2 QQ/2 F • 101 BF/2 F • 110 B2F Q2Q F • 111 B2F F

  17. 输出Y 二选一 /OE F F3 F=0000 OVR Cn+4 A L U S R Cn 三选一 二选一 输入D Q寄存器 B锁存器 A锁存器 A口地址 Q3 Q0 B 16个 A 通用寄存器 三选一 B口地址 三选一 RAM3 RAM0 运算器,三大件 运算暂存乘除快 多路选通连起来 运算 暂存 乘除快 多路选通连起来 数据组合有内外 运算功能指明白 存移输出巧安排 存移输出巧安排 存移输出巧安排 存移输出巧安排 数据组合选择  I2 I1 I0 运算功能选择  I5 I4 I3 运算结果处理  I8 I7 I6

  18. Y15~Y0 数据输出 二选一 状态输出 OE Am2901 Cy F=0000 OVR F15 I2 I1 I0 选数据源 ALU 定点运算器部件实例 C in R S 二选一 三选一 I5 I4 I3 选操作功能 A B D15~D0 乘商 Q R0 数据输入 R1 Q15 Q0 三选一 通用寄存器 选结果安排 I8 I7 I6 R n A口地址 B口地址 RAM15 三选一 RAM0 控制信号

  19. ALU操作周期 A、B口锁存 通用寄存器接收 回存结果 2.AM2901的时序关系 • 运算器的时钟脉冲信号 CP • 教学计算机的主频:1.33MHZ 和低电平的作用 注意两个跳变沿 Q 寄存器接收 高电平时I8-I0稳定给出、 数据输入、且获得本次 运算结果。

  20. 3.Am2901的操作与控制(数据来源、操作功能与结果处理)3.Am2901的操作与控制(数据来源、操作功能与结果处理) 控制信号 B口 A口 I8 I7 I6 I5 I4 I3 I2 I1 I0 Cn 操作功能 R0R0+R1 0000 0001 011 000 001 0 R2R2∧R0 0010 0000 011 100 001 0 右移 R0R0+R1 0000 0001 101 000 001 0 / 0000 QR0 Y F 0000 000 000 100 0 R5R5+1 Y A口 0101 0101 010 000 011 1 R0R0-R1 Y F 0000 0001 011 001 001 1

  21. Cy F=0 Over F3 4. 外部入出信号及引脚 4个状态标志位 输出 Y3~Y0 外部数据输入 CP OE Cin Am2901 RAM3 RAM0 Q3 Q0 A3~A0 B3~B0 I8~I6 I2~I0 9位控制操作码 I5~I3 D3~D0 BACK

  22. 16 位机的运算器的完整组成 • SST 来自内部总线 IB SCi [运算功能码] Y15~0 Cy F=0 OVR F15 0 1 C [/C] 方波 最低位进位 GAL3 四位标志位 GAL1 C Z V S 16位的 运算器 Cin 0,1,RAM0 Q0,RAM15 0 C Q15 /F15 左移输入信号 GAL3 RAM0 Q0 右移输入信号 GAL3 RAM15 Q15 0 C Cy RAM0 B口 D15~0 A口 I8~I0 SSH 右移控制 左移控制 SSH BACK

  23. 16 位运算器的操作使用 控制信号 B口 A口 SST I8~6 I5~3 I2~0 SSH SCi 操作功能 R0  R0+R1 0000 0001 001 011 000 001 0 00 R2  R21 0 0010 / 001 011 001 011 00 逻辑右移 右移 R0  R0+R1 00 01 0000 0001 001 101 000 001 1 与C循环右移 Q  R0 / 0000 000 000 000 100 0 00 Y  F 联合左移 0000 0011 001 110 001 001 1 10 R0QR0R3Q YR5 R5R5+1 01 0101 0101 001 010 000 011 0

  24. F F3 OVR F=0000 Cn+4 A L U S R Cn 8种运算功能 I5 I4 I3 R+S SR RS R∨S RS RS RS RS 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 三选一 二选一 B锁存器 A锁存器 输入D Q寄存器 B A 通用寄存器 B口地址 A口地址 (写入) 8种数据组合(R,S) AQ AB 0Q 0B 0A DA DQ D0 000 001 010 011 100 101 110 111

  25. 3位控制码 通用寄存器 Q寄存器 Y输出 • 000 QF F • 001 F • 010 BF A • 011 BF F • 100 BF/2 QQ/2 F • 101 BF/2 F • 110 B2F Q2Q F • 111 B2F F

  26. 1.先行进位ALU • 先行进位ALU芯片(SN74181) • 四位ALU芯片,中规模集成电路。在先行进位加法器基础上附加部分线路,具有基本的算术运算和逻辑运算功能。 • SN74181的逻辑图和功能表 • SN74182是4位BCLA (成组先行进位)芯片。 • 多芯片级联构成先行进位ALU • 1个SN74181芯片直接构成一个4位全先行进位ALU • 4个SN74181芯片串行构成一个16位单级先行进位ALU • 4个SN74181芯片与1个SN74182芯片可构成16位两级先行进位ALU • 16个SN74181芯片与5个SN74182芯片可构成64位先行进位ALU ALU中的“加”运算电路相当于n档二进制加法算盘。 所有其他运算都以ALU 中“加”运算为基础! SKIP

  27. 输入端 输出端 P SN74181的引脚 输入端:Ai和Bi分别为第1和2操作数,Cn为低位进位,M为功能选择线,Si为操作选择线,共4位,故最多有16种运算。 输出端:Fi为运算结果,Cn+4、P和G为进位,“A=B”为相等标志

  28. SN74181逻辑电路图

  29. SN74181正逻辑功能表 BACK

  30. SN74182芯片的引脚 输入端:Pi和Gi分别为第i组的组内进位传递函数和进位生成函数, Cn为低位进位。 输出端:Cn+4、Cn+8 、Cn+12为相应组的组内进位,P*和G*分别为整个大组的组进位传递函数和进位生成函数。

  31. SN74182芯片的逻辑电路图 BACK

  32. SN74181和SN74182组成16位先行进位ALU 4位ALU 4位ALU 4位ALU 4位ALU 16位级联先行进位ALU BACK

More Related