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