1 / 40

第一单元 运算器部件

第一单元 运算器部件. 第四讲 运算器设计及举例. 运算器基本功能. 完成算术、逻辑运算 + 、 — 、  、  、、、。 取得操作数 寄存器组、立即数 输出、存放运算结果 寄存器组、数据总线 暂存运算的中间结果 Q 寄存器、移位寄存器. 运算器基本功能. 获得运算结果的状态 C 、 Z 、 V 、 S 理解、响应控制信号. 全加器电路. Sum = ( A’ * B’ *CarryIn) + ( A’ *B* CarryIn’ ) + (A* B’ * CarryIn’ ) + (A*B*CarryIn)

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. 运算器基本功能 • 完成算术、逻辑运算 • +、—、、、、、。 • 取得操作数 • 寄存器组、立即数 • 输出、存放运算结果 • 寄存器组、数据总线 • 暂存运算的中间结果 • Q寄存器、移位寄存器

  3. 运算器基本功能 • 获得运算结果的状态 • C、Z、V、S • 理解、响应控制信号

  4. 全加器电路 Sum = (A’*B’*CarryIn) + (A’*B*CarryIn’) + (A*B’*CarryIn’) + (A*B*CarryIn) CarryOut = (A’*B*CarryIn) + (A*B’*CarryIn) + (A*B*CarryIn’) + (A*B*CarryIn) = (B*CarryIn) + (A*CarryIn) + (A*B)

  5. 补码减法 根据算术运算规则: a-b=a+(-b) -b的补码为:将b的各位求反,并加1。 我们可以用加法器实现减法。 加法器

  6. 原码乘法的实现 (三) • 32-位被乘数寄存器, 32 -位ALU, 64-位部分积寄存器 (0-位乘数寄存器) Multiplicand 32 bits 32-bit ALU Shift Right Product (Multiplier) Control Write 64 bits

  7. 除法的实现 • 32-位除数寄存器, 32 -位ALU, 64-位余数(被除数)寄存器 除数 32 bits 32-bit ALU 左移 余数 Control Write 64 bits

  8. 运算器实现 • ALU完成算术、逻辑运算。 • 寄存器组存放数据和结果 • 辅助寄存器完成中间结果的存放 • 选通门等控制数据通行 • 需要哪些控制信号? ALU

  9. 实现补码加减运算的逻辑电路 Fs OVR Z C F 1 Fs F ALU F   X F   Y X   F 加 F X F /Y F Y 选通门 二选通门 Y X X X+Y X X-Y 0 1 0 1 源 寄存器 目的 寄存器 累加器 F   X F  /Y F   1 X   F 选通门 减 X F 需要的控制信号: 功能选择

  10. 实现补码加减运算的逻辑电路 必要完善: 单累加器变多累积器: 两个选通门均变为多路 送操作数到ALU处理 接收门送指定累加器。 支持寄存器移位功能: 接收门变为三选一,即 分别接收本位/低位/高 位送来的信息送累加器 与外部部件的入出联系 Fs OVR Z C F 1 Fs ALU F X F /Y F Y 选通门 选通门 Y X 0 1 0 1 源 寄存器 目的 寄存器 选通门 X F

  11. 实现补码加减运算的逻辑电路 必要完善: 单累加器变多累积器: Fs OVR Z C F 1 ALU 选 通 门 选 通 门 通用寄存器组 选 通 门

  12. 实现补码加减运算的逻辑电路 必要完善: 单累加器变多累积器: 两个选通门均变为多路 送操作数到ALU处理 接收门送指定累加器。 Fs OVR Z C F 1 ALU 选 通 门 选 通 门 通用寄存器组 增加的控制信号: 操作数来源 选 通 门

  13. 实现补码加减运算的逻辑电路 必要完善: 单累加器变多累积器: 两个选通门均变为多路 送0还是送1到ALU处理 接收门送每个累加器。 支持寄存器移位功能: 接收门变为三选一,即 分别接收本位/低位/高 位送来的信息送累加器 Fs OVR Z C F 1 ALU 选 通 门 选 通 门 通用寄存器组 选 通 门 增加的控制信号:结果处理

  14. 实现补码加减运算的逻辑电路 必要完善: 单累加器变多累积器: 两个选通门均变为多路 送0还是送1到ALU处理 接收门送每个累加器。 支持寄存器移位功能: 接收门变为三选一,即 分别接收本位/低位/高 位送来的信息送累加器 与外部部件的入出联系 输出 Fs OVR Z C F 1 ALU 选 通 门 选 通 门 输入 通用寄存器组 选 通 门

  15. 实现补码加减运算的逻辑电路 必要完善: 单累加器变多累积器: 两个选通门均变为多路 送0还是送1到ALU处理 接收门送每个累加器。 支持寄存器移位功能: 接收门变为三选一,即 分别接收本位/低位/高 位送来的信息送累加器 与外部部件的入出联系 输出 Fs OVR Z C F 1 ALU 选 通 门 选 通 门 输入 通用寄存器组 选 通 门

  16. 实现补码加减运算的逻辑电路 输出 可选择的完善: 支持硬件乘除运算指令 需要增加一个Q寄存器 该寄存器应能自行移位 Fs OVR Z C F 1 ALU 选 通 门 选 通 门 Y 送入 通用寄存器组 乘商寄存器 选 通 门 选 通 门

  17. 实现补码加减运算的逻辑电路 输出 可选择的完善: 支持硬件乘除运算指令 需要增加一个Q寄存器 该寄存器应能自行移位 它应能接收与送出数据 Fs OVR Z C F 1 ALU 选 通 门 选 通 门 Y 送入 通用寄存器组 乘商寄存器 选 通 门 选 通 门

  18. 实现补码加减运算的逻辑电路 输出 选择完善: 支持硬件乘除运算指令 需要增加一个Q寄存器 该寄存器应能自行移位 应能接收与送出数据。 Fs OVR Z C F 1 ALU 选 通 门 选 通 门 Y 送入 通用寄存器组 乘商寄存器 选 通 门 选 通 门

  19. Y15~Y0 数据输出 二选一 状态输出 Am2901 OE 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 通用寄存器 A口 地址 R B口 地址 n 控制信号 三选一 RAM15 RAM0

  20. 运算器的控制与操作 ALU支持多种算数与逻辑运算功能 需要提供运算功能选择信号 寄存器组含多个累加器 需要提供两组选择累加器编号的信号 有多种不同方案组合数据送ALU的使用要求 需要提供选择数据组合的信号 运算器内寄存器有多种接收数据的不同方案 需提供那个寄存器接收,按什么办法接收的控制信号 累加器与乘商寄存器的移位关系 寄存器最高位与最低位的移入信号需用另外线路提供

  21. 入出信号及引脚 Y15~Y0 CP OE Cy F=0 Over F15 Cin 运 算 器 部 件 RAM15 RAM0 Q15 Q0 A3~A0 B3~B0 I8~I6 I5~I3 I2~I0 D15~D0

  22. 入出信号及引脚 Y15~Y0(指示灯显示) 一片GAL 一片GAL SST CP OE(已接地) Cy F=0 Over F15 SCi Cin 运 算 器 部 件 4片2901,1片2902 RAM15 RAM0 Q15 Q0 SSH A3~A0 B3~B0 I8~I6 I5~I3 I2~I0 2个12位的微型开关 D15~D0(开关拨数)

  23. Am2901的控制信号 B Q Y R S • 编码 I8 I7 I6 I5 I4 I3 I2 I1 I0 • 000 Q F F R + S A Q • 001 F S - R A B • 010 B F A R - S 0 Q • 011 B F F R S 0 B • 100 B F/2 Q Q/2 F R  S 0 A • 101 B F/2 F R  S D A • 110 B 2F Q 2Q F R  S D Q • 111 B 2F F R  S D 0

  24. 运算器用的GAL20V8的控制信号 • GAL1:状态寄存器 GAL3:进位入、移位入 • SST C Z V S SCi 运算 Cn 运算 Cn • 000 C Z V S 00 加 0 减 1 • 001 Cy ZROV F15 01 加 1 减 0 • 010 内部总线的一位 10 加 C 减 /C • 011 1 Z V S 11 方波 方波 • 100 0 Z V S SSH 左移位 右移位 • 101 RAM0 Z V S 00 0 X 0 X • 110 RAM15 Z V S 01 C X C X • 111 Q0 Z V S 10 Q15 /F15 CyRAM0 • RAM0 Q0 RAM15 Q15

  25. 控制器提供的控制信号 • B55 ~ B48 • 下地址 • B47 ~ B40 B39 ~ B32 • 备用 CI3~CI0 SCC SC 备 SST • B31 ~ B24 B23 ~ B16 • MIO I8~I6 REQ I5~I3 WE I2~I0 A口 • B15 ~ B8 B7 ~ B0 • B口 SCi SSH SA DC1 SB DC2

  26. 教学计算机的运算器概述 教学计算机的运算器的组成与设计 字长16(8)位,用4(2)片4位的位片结构的Am2901组成 1. 要详细介绍Am2901芯片的内部组成和实现的功能 2. 怎样连接4(2)片Am2901成为16(8)位的运算器 3. 怎样解决运算器实用中的几个问题: (1) 如何给出 Am2901最低位的进位输入信号 (2) 如何处理运算结果的标志位 (3) 如何处理移位指令、置‘1’ C和清‘0’ C 触发器的指令 (4) 如何支持硬件乘法、除法指令 重点是前 2 项内容和第 3 项中的 (1) (2) 教学计算机运算器的控制和使用(包括教学实验)

  27. 输出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 4 位的 Am2901 内部组成与功能 组成 算逻运算 部件 1 6 个 累加器 乘商寄存器 Q 5组多路选择门 功能 8 种 运算功能 8 种 数据组合 8 种 结果处理

  28. Am2901芯片是一个 4 位的位片结构的运算器器件,内部组成讲解如下 F 符号位 结果为零 结果溢出 进位输出 F3 F=0000 OVR Cn+4 A L U S R Cn 其输出为 F, 两路输入为 S、R,最低位进位Cn, 4 个状态输出信号,如图所示 3位功能选择码 8种运算功能 000 001 010 011 100 101 110 111 R+S SR RS R∨S RS RS RS RS 第一个组成部分是算逻运算部件ALU,完成 3 种算术运算 和 5 种逻辑运算 ,共 8 种运算功能

  29. 第二个组成部分 是通用寄存器组 由16个寄存器构 成,并通过B口 与A口地址选择 被读的寄存器, B口地址还用于 指定写入寄存器 F F3 F=0000 OVR Cn+4 A L U S R Cn B锁存器 A锁存器 通过B口地址、 A口地址读出的 数据将送到B、 A锁存器,要写 入寄存器的数据 由一个多路选择 器送来。 A口地址 B 16个 A 通用寄存器 B口地址 (写入)

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

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

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

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

  34. 输出Y 二选一 /OE 一组二选一门, 选择把ALU结果或A口数据 送出 芯片,给出输出Y的数据,Y输出的有无还受使能 信号控制,仅当 /OE为低才有 Y输出 ,/OE为高 Y输出为 高阻态 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

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

  36. 输出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 运算器,三大件 运算暂存乘除快 多路选通连起来 运算 暂存 乘除快 多路选通连起来 数据组合有内外 运算功能指明白 存移输出巧安排 存移输出巧安排 存移输出巧安排 存移输出巧安排 数据组合选择  I2 I1 I0 运算功能选择  I5 I4 I3 运算结果处理  I8 I7 I6

  37. 输出Y 二选一 Am2901内部组成 /OE F I5~I3 F3 F=0000 OVR Cn+4 A L U S R Cn 组成 算逻运算 部件 1 6 个 累加器 乘商寄存器 Q 5组多路选择门 功能 8 种 运算功能 8 种 数据组合 8 种 结果处理 I2~I0 三选一 二选一 输入D B锁存器 A锁存器 乘商寄存器Q A口地址 Q3 Q0 B 16个 A 通用寄存器 三选一 B口地址 I8~I6 三选一 RAM3 RAM0

  38. 运算器的时钟脉冲信号 • 运算器的时钟脉冲信号 CP • 教学计算机的主频: 1.8432MH z/3 周期 和低电平的作用 注意两个跳变沿 Q 接受 A、B口锁存 通用寄存器接受

  39. 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 010 001 001 1 右移 R0R0+R1 0000 0001 101 000 001 0 / 0000 QR0 Y F 0000 000 000 100 0 R0R0R1 Y A口 0000 0001 010 100 001 0 R0R0R1 Y F 0000 0001 011 100 001 0

  40. 作业 • 阅读:教材第2章 • 思考:运算器是如何完成算术运算的? • 思考:运算器设计中应考虑哪些主要问题? • 书面作业: • 教材P131 第11、13、14、15题。

More Related