运算器的基本结构
一.算术逻辑单元(ALU)
算术逻辑单元(arithmetic and logic unit) 是能实现多组算术运算和逻辑运算的组合逻辑电路,简称ALU。
通过对一组控制信号
S
0
S
1
S
2
S
3
S_0S_1S_2S_3
S0?S1?S2?S3?取不同的值,可以控制ALU进行不同种类的算数/逻辑运算。
二.运算器结构分类
运算器内部大多采用总线互连。根据运算器内部总线的连接方式,可将运算器的基本结构分为单总线,双总线及三总线结构。
1.单总线结构
单总线结构运算器的特点是所有部件都连接在同一总线上,在同一时间内,只能有一个操作数放在总线上进行传输。数据可以在任何两个寄存器之间,或者在任意一个寄存器和ALU之间传送。当执行双操作数运算指令时,需要分两次才能将两个操作数输入ALU,并且需要两个暂存器。也就是说需要三步操作控制(对应三个时钟周期)方可获得运算结果。当运算结束后,通过单总线将运算结果存入目的寄存器。 单总线结构的特点是控制电路比较简单,其缺点是操作速度比较慢。
2.双总线结构
双总线结构运算器的特点是运算相关部件连接到两条总线上,可以同时传输两个数据。当执行双操作数运算指令时,两个操作数可以同时加载到ALU进行运算。但是由于两条总线被两个操作数占用,运算结果不能直接加到总线上,因此需要在ALU输出端设置暂存器来存储运算结果,在下一个时钟周期才能将运算结果写入目的寄存器。 也就是说,需要两部操作(两个时钟周期)才可以得到运算结果。显然,双总线结构运算器比单总线结构运算器执行速度快。
3.三总线结构
三总线结构运算器的特点是运算相关部件连接到两条总线上,可以同时传输三个数据。当执行双操作数运算指令时,两个操作数可以同时加载到ALU进行运算,第三条总线输出运算结果,只需一步操作(一个时钟周期)就可以完成运算。 此外三总线结构运算器还具有直接传送功能,一个不需要修改的操作数可以通过总线开关从输入总线直接传送到输出总线。与单总线和双总线结构相比,三总线结构运算器的运算速度最快,但是硬件电路非常复杂。
三.ALU总线数据传输分析:
1.对于单总线结构的两种框图的分析: (1)单总线结构1:
- 第一个总线周期:操作数1通过总线从通用寄存器传输到暂存器1中
- 第二个总线周期:操作数2通过总线从通用寄存器传输到暂存器2中
- 第三个总线周期:在ALU完成运算后,结果通过总线从ALU传输回通用寄存器中
(2)单总线结构2:
- 第一个总线周期:操作数1通过总线从通用寄存器传输到暂存器1中
- 第二个总线周期:操作数2通过总线从通用寄存器传输到ALU中
- 第三个总线周期:在ALU完成运算并将结果直接存入暂存器2后,结果通过总线从暂存器2传输回通用寄存器中。
2.对于双总线结构框图分析:
- 第一个时钟周期:操作数1和操作数2通过两条不同的总线从通用寄存器中传输到ALU中。
- 第二个时钟周期:在ALU完成运算并将结果存入暂存器后,结果通过总线从暂存器传输回通用寄存器中。
3.对于三总线结构框图分析:
- 第一个时钟周期:操作数1和操作数2通过两条不同的总线从通用寄存器中传输到ALU中,在很短的时间内,ALU完成了运算并得出了结果,结果又通过第三条总线从ALU中传输回通用寄存器中。所有的步骤都在一个时钟周期内完成。
计算机简单框图
|