文档介绍:计算机组成原理运算器实验
实验一运算器实验
计算机的一个最主要的功能就是处理各种算术和逻辑运算,这个功能要由CPU中的运算器来完成,运算器也称作算术逻辑部件ALU。本章首先安排一个基本的运算器实验,了解运算器的基本结构,然后再设计一个加法器和一个乘法器。
一、实验目的
(1) 了解运算器的组成结构。
(2) 掌握运算器的工作原理。
二、实验设备
PC机一台,TD-CMA实验系统一套。
三、实验原理
本实验的原理如图1-1所示。
运算器内部含有三个独立运算部件,分别为算术、逻辑和移位运算部件,要处理的数据存于暂存器A和暂存器B,三个部件同时接受来自A和B的数据(有些处理器体系结构把移位运算器放于算术和逻辑运算部件之前,如ARM),各部件对操作数进行何种运算由控制信号S3?来决定,任何时候,多路选择开关只选择三部件中一个部件的结果作为ALU的输出。如果是影响进位的运算,还将置进位标志FC,在运算结果输出前,置ALU零标志。ALU中所有模块集成在一片CPLD中。
逻辑运算部件由逻辑门构成,较为简单,而后面又有专门的算术运算
部件设计实验,在此对这两个部件不再赘述。移位运算采用的是桶形移位器,一般采用交叉开关矩阵来实现,交叉开关的原理如图1-2所示。图中显示的是一个4×4的矩阵(系统中是一个8×8的矩阵)。每一个输入都通过开关与一个输出相连,把沿对角线的开关导通,就可实现移位功能,即:
(1) 对于逻辑左移或逻辑右移功能,将一条对角线的开关导通,这将所有的输入位与所使用的输出分别相连,而没有同任何输入相连的则输出连接0。
(2) 对于循环右移功能,右移对角线同互补的左移对角线一起激活。例如,在4位矩阵中使用‘右1’和‘左3’对角线来实现右循环1位。
(3) 对于未连接的输出位,移位时使用符号扩展或是0填充,具体由相应的指令控制。使用另外的逻辑进行移位总量译码和符号判别。
D[7..0]
IN[7..0]
图1-1 运算器原理图
运算器部件由一片CPLD实现。ALU的输入和输出通过三态门74LS245连到CPU内总线上,另外还有指示灯标明进位标志FC和零标志FZ。请注意:实验箱上凡丝印标注有马蹄形标记‘
’,表示这两根排
针之间是连通的。图中除T4和CLR,其余信号均来自于ALU单元的排线座,实验箱中所有单元的T1、T2、T3、T4都连接至控制总线单元的T1、T2、T3、T4,CLR都连接至CON单元的CLR按钮。T4由时序单元的
TS4提供,其余控制信号均由CON单元的二进制数据开关模拟给出。控制信号中除T4为脉冲信号外,其余均为电平信号,其中ALU_B为低有效,其余为高有效。
1
in[3]
in[2]
in[1]
in[0]
out[0]out[1]out[2]
out[3]
图1-2 交叉开关桶形移位器原理图
暂存器A和暂存器B的数据能在LED灯上实时显示,原理如图1-3所示(以A0为例,其它相同)。进位标志FC、零标志FZ和数据总线D7?D0的显示原理也是如此。
VCC
A0
图1-3 A0显示原理图
ALU和外围电路的连接如图1-4所示,图中的小方框代表排针座。
运算器的逻辑功能表如表1-1所示,其中S3 S2