实验一
基本运算器实验
一、 实验原理
运算器内部含有三个独立运算部件,分别为算术、逻辑和移位运算部件,要处理的数据存于
暂
存器 A 和暂存器 B,三个部件同时接受来自 A 和 B 的数据(有些处理器体系结构把移位运算器
放
于算术和逻辑运算部件之前,如
ARM),各部件对操作数进行何种运算由控制信号
S3…S0
和
CN 来决定,任何时候,多路选择开关只选择三部件中一个部件的结果作为 ALU 的输出。如果是
影响进位的运算,还将置进位标志 FC,在运算结果输出前,置 ALU 零标志。ALU 中所有模块集
成在一片 CPLD 中。
逻辑运算部件由逻辑门构成,较为简单,而后面又有专门的算术运算部件设计实验,在此对 这
两个部件不再赘述。移位运算采用的是桶形移位器,一般采用交叉开关矩阵来实现,交叉开关
的原理
如图 1-1-2 所示。图中显示的是一个 4X4 的矩阵(系统中是一个 8X8 的矩阵)。每一个输入都通
过开关与一个输出相连,把沿对角线的开关导通,就可实现移位功能,即:
(1)
对于逻辑左移或逻辑右移功能,将一条对角线的开关导通,这将所有的输入位与所使用的输
出分别相连,而没有同任何输入相连的则输出连接 0。
(2)
对于循环右移功能,右移对角线同互补的左移对角线一起激活。例如,在4 位矩阵中使用‘右
1’和‘左 3’对角线来实现右循环 1 位。
(3)
对于未连接的输出位,移位时使用符号扩展或是 0 填充,具体由相应的指令控制。使用另外
的逻辑进行移位总量译码和符号判别。
原理如图 1-1-1 所示