《计算机组成原理》3.6运算器的组成
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
a
5
(2)Am2901A位片式结构运算器
• 利用大规模集成电路技术(LSI)常将ALU与寄存器集 成为位片式结构的运算器芯片,如 4位/片。用几块 位片芯片拼接,可以构成较长位数的运算器。
• Am2901A是一种位片式结构运算器组件。
a
6
a
7
Am2901A运算器组件的特点
• 采用位片式结构,内部有四位线路,把多块Am2901A芯片级联起 来,可实现不同位数的运算器。
⑵ 作乘除运算时
尾数运算部件和阶码运算部件独立工作,阶
码仅作加减运算,运算结束,对结果进行规
格化处理。
a
17
浮点运算尾数部件中寄存器分配
a
18
• 其ALU可实现八种运算功能,用外部送入的三位控制信号I5I4I3的 编码值,实现八种功能的选择控制。
• 由外部送来的三位控制码I2I1I0控制R、S的多路选择器选择输入。 • 运算器中有1个16×4位的通用寄存器组和一个4位的Q寄存器。
• ALU给出的四个状态信息。
• RAM3、RAM0、Q3、Q0:移位寄存器接收与送出移位数值的引线 • 运算器的四位输出为Y3~Y0,它可以是ALU的运算结果,也可以
OE
a
11
例:给出实现指令2(D-R9)→R10的控制信号
解: • 选择R9:A地址=1001; • 选择R10:B地址=1010; • R=D,S=A:I2I1I0=101; • R-S:I5I4I3=010; • 输出运算结果2F到R10:I8I7I6=111 • 为了封锁Y=F的输出,OE=1
△E为+,E2小,R1右移,每移一位,EC-1
△E为-,E1小,R0右移,每移一位,EC+1
直到EC=0,完成对阶工作a 。
16
② 尾数部件作加/减运算,结果存入R0。 ③ 判别运算结果,进行规格化。
在规格化处理过程中,每将R0左移(或右移) 一位时,应将E1与E2中的较大者减1(或加1), 最后作为结果的阶码。
是寄存器组A输出端口上的内容。
a
8
表 3-9 ALU 功能选择
编码 I5 I4 I3 000 001 010 011 100 101 110 111
功能
R+S S-R R-S R∨S R∧S R ∧S R⊕S R⊙S
表 3-10 ALU 操作数选择
编码
ALU 操作数输入
I2 I1 I0
RS
000
AQ
3.6 运算器组成
3.6.1定点运算器
1.基本结构
运算器结构的基本组成部分:包括ALU、寄存器、多 路开关、标志/状态触发器、移位器和数据总线等基 本逻辑部件。
运算器设计主要是围绕着ALU和寄存器同数据总线之 间如何传送操作数和运算结果而进行的。
a
1
(1)单总线结构运算器
a
2
(2)双总线结构运算器
a
12
3.6.2 浮点运算器
• 由于浮点运算中阶码运算与尾数运算分别进行, 因此浮点运算部件应包括尾数部件和阶码部件两 个部分。
a
13
实现四则运算的浮点运算器
a
14
尾数运算部件
进行尾数的加减乘除运算。 由寄存器R0、R1、MQ及并行加法器Fm组成。 R0、R1:暂存操作数。其中R0也称为累加器,用于存 放运算结果。 MQ:乘商寄存器 用于进行乘除运算,R0、MQ具有联合左移、右移的功 能,实现方法与定点乘、除法器相类似。 R1具有右 移功能,以实现对阶移位。
001
AB
010
0Q
011
0B
100
0A
101
DA
110
DQ
111
D0
a
9
表 3-11 A L U 的 功 能 选 择
编码
功能
I8 I7 I6 000
寄存器组
Q 寄存器
Y 输出 F
001 010 011 100 101 110 111
F
F→ B
A
F→ B
F
F /2→ B
Q /2→ Q
F
F /2→ B
a
15
阶码运算部件
进行阶码的加减运算。
由寄存器E1、E2、阶差计数器EC以及并行加法器Fe组 成。E1、E2:存放与R0、R1中尾数相对应的阶码。 ⑴ 作加减运算时
① 由阶码运算部件求出阶差△E=E1-E2,并存入阶 差计数器EC中,EC可根据符号判断哪个阶码小,
控制将对应的尾数(R0或R1)进行右移。
a
3
(3)三总线结构运算器
a
4
2.定点运算器举例
(1)最简Fra Baidu bibliotek的运算器
最基本的运算器由算术逻 辑部件ALU、累加器(AC)、数据 缓冲寄存器(MDR)组成。
运算器与存储器之间通过 一条双向数据总线进行联系, 可以实现从存储器中读取一个 数据经MDR、ALU存放在AC中, 也可把AC中信息经MDR存入主存 的指定单元。它也可以实现AC 中数据与主存某一单元的数据 经ALU运算,结果暂存于AC中。
F
2F→ B
2Q→ Q
F
2F→ B a
F 10
例:给出实现指令R0+R1→M的控制信号。
解: • 选择R0:A地址=0000; • 选择R1:B地址=0001; • R=A,S=B:I2I1I0=001; • R+S:I5I4I3=000; • 输出运算结果F(Y=F):I8I7I6=001
• 控制允许运算结果F输出: =0