1、计算机组成原理实验报告计算机组成与设计实验报告年级、专业、班级2011级计科6班201154022011级计科6班20115404姓名杨春平朱大鹏实验题目基本运算器实验时间 2013年11月13日实验地点主教410实验成绩 实验性质验证性 设计性 综合性教师评价:算法/实验过程正确; 源程序/实验内容提交 程序结构/实验步骤合理;实验结果正确; 语法、语义正确; 报告规范; 其他: 评价教师签名:一、实验目的(1) 了解运算器的组成结构。(2) 掌握运算器的工作原理。二、实验项目内容运算器内部含有三个独立运算部件,分别为算术、逻辑和移位运算部件,要处理的数据存于暂存器A 和暂存器B,三个部件同
2、时接受来自A 和B 的数据(有些处理器体系结构把移位运算器放于算术和逻辑运算部件之前,如ARM),各部件对操作数进行何种运算由控制信号S3S0和CN 来决定,任何时候,多路选择开关只选择三部件中一个部件的结果作为ALU 的输出。如果是影响进位的运算,还将置进位标志FC,在运算结果输出前,置ALU 零标志。ALU 中所有模块集成在一片CPLD 中。逻辑运算部件由逻辑门构成,较为简单,而后面又有专门的算术运算部件设计实验,在此对这两个部件不再赘述。移位运算采用的是桶形移位器,一般采用交叉开关矩阵来实现,交叉开关的原理如图1-1-2 所示。图中显示的是一个4X4 的矩阵(系统中是一个8X8 的矩阵)
3、。每一个输入都通过开关与一个输出相连,把沿对角线的开关导通,就可实现移位功能,即:(1) 对于逻辑左移或逻辑右移功能,将一条对角线的开关导通,这将所有的输入位与所使用的输出分别相连,而没有同任何输入相连的则输出连接0。(2) 对于循环右移功能,右移对角线同互补的左移对角线一起激活。例如,在4 位矩阵中使用右1和左3对角线来实现右循环1 位。(3) 对于未连接的输出位,移位时使用符号扩展或是0 填充,具体由相应的指令控制。使用另外的逻辑进行移位总量译码和符号判别。运算器部件由一片 CPLD 实现。ALU 的输入和输出通过三态门74LS245 连到CPU 内总线上,另外还有指示灯标明进位标志FC
4、和零标志FZ。请注意:实验箱上凡丝印标注有马蹄形标记 ,表示这两根排针之间是连通的。图中除T4 和CLR,其余信号均来自于ALU 单元的排线座,实验箱中所有单元的T1、T2、T3、T4 都连接至控制总线单元的T1、T2、T3、T4,CLR 都连接至CON 单元的CLR 按钮。T4 由时序单元的TS4 提供(时序单元的介绍见附录二),其余控制信号均由CON 单元的二进制数据开关模拟给出。控制信号中除T4 为脉冲信号外,其余均为电平信号,其中ALU_B 为低有效,其余为高有效。暂存器 A 和暂存器B 的数据能在LED 灯上实时显示,原理如图1-1-3 所示(以A0 为例,其它相同)。进位标志FC、
5、零标志FZ 和数据总线D7D0 的显示原理也是如此。ALU 和外围电路的连接如图1-1-4 所示,图中的小方框代表排针座。运算器的逻辑功能表如表1-1-1 所示,其中S3 S2 S1 S0 CN 为控制信号,FC 为进位标志,FZ 为运算器零标志,表中功能栏内的FC、FZ 表示当前运算会影响到该标志。三、实验过程或算法(源程序) (1) 按图1-1-5 连接实验电路,并检查无误。图中将用户需要连接的信号用圆圈标明(其它实验相同)。 (2) 将时序与操作台单元的开关KK2 置为单拍档,开关KK1、KK3 置为运行档。 (3) 打开电源开关,如果听到有嘀报警声,说明有总线竞争现象,应立即关闭电源,
6、重新检查接线,直到错误排除。然后按动CON 单元的CLR 按钮,将运算器的A、B 和FC、FZ 清零。(4) 用输入开关向暂存器A 置数。 拨动CON 单元的SD27SD20 数据开关,形成二进制数01100101(或其它数值),数据显示亮为1,灭为0。 置LDA=1,LDB=0,连续按动时序单元的ST 按钮,产生一个T4 上沿,则将二进制数01100101 置入暂存器A 中,暂存器A 的值通过ALU 单元的A7A0 八位LED 灯显示。(5) 用输入开关向暂存器B 置数。 拨动CON 单元的SD27SD20 数据开关,形成二进制数10100111(或其它数值)。 置LDA=0,LDB=1,连
7、续按动时序单元的ST 按钮,产生一个T4 上沿,则将二进制数10100111置入暂存器B 中,暂存器B 的值通过ALU 单元的B7B0 八位LED 灯显示。(6) 改变运算器的功能设置,观察运算器的输出。置ALU_B=0、LDA=0、LDB=0,然后按表1-1-1置S3、S2、S1、S0 和Cn 的数值,并观察数据总线LED 显示灯显示的结果。如置S3、S2、S1、S0 为0010,运算器作逻辑与运算,置S3、S2、S1、S0 为1001,运算器作加法运算。如果实验箱和PC 联机操作,则可通过软件中的数据通路图来观测实验结果,方法是:打开软件,选择联机软件的“【实验】【运算器实验】”,打开运算
8、器进行上面的手动操作,每按动一次ST 按钮,数据通路图会有数据的流动,反映当前运算器所做的操作,或在软件中选择“【调试】【单节拍】”,其作用相当于将时序单元的状态开关KK2 置为单拍档后按动了一次ST 按钮,数据通路图也会反映当前运算器所做的操作。重复上述操作,然后改变A、B 的值,验证FC、FZ 的锁存功能。四、实验结果及分析和(或)源程序调试过程1)逻辑运算当运算指令S3S2S1S0为0000时,F=A=65=01100101当运算指令S3S2S1S0为0001时,F=B=A7=10100111当运算指令S3S2S1S0为0010时,F=AB=25=00100101当运算指令S3S2S1S
9、0为0011时,F=A+B=E7=11100111当运算指令S3S2S1S0为0100时,F=/A=9A=100110102)移位运算当运算指令S3S2S1S0为0101时,F=A 不带进位循环右移B(取低3 位)位=CA=11001010当运算指令S3S2S1S0为0110,CN=0时,F=A逻辑右移一位=32=00110010当运算指令S3S2S1S0为0110,CN=1时,F=A 带进位循环右移一位=B2=10110010当运算指令S3S2S1S0为0111,CN=0时, F=A 逻辑左移一位=CA=11001010当运算指令S3S2S1S0为0111,CN=1时,F=A 带进位循环左移一位=CA=110010103)算术运算当运算指令S3S2S1S0为1000时,FC=CN=0当运算指令S3S2S1S0为1001时,F=A加B=0C=00001100当运算指令S3S2S1S0为1010时,F=A加B加FC=0D=00001101当运算指令S3S2S1S0为1011时,F=A减B=BE=10111110当运算指令S3S2S1S0为1100时,F=A减 1=64=01100100当运算指令S3S2S1S0为1101时,F=A加1=66=01100110
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1