计算机组成原理实验报告

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

郑州航空工业管理学院

计算机科学与应用系实验报告

课程名:计算机组成原理

学号:*********

*名:***

指导教师:**

成绩;

计算机科学与应用系

实验一运算器实验(一)

1、实验目的

①深入了解AM2901运算器的功能及具体用法。

②深化运算器部件的组成、设计、控制与使用知识。

③能够熟练掌握对运算器所需控制信号的设置,并使之完成运算。

④能够独立地成功完成所给指令在运算器中的运算实验。

2、实验要求

①实验前,认真了解AM2901运算器的基本结构,预习所需实验的内容,并在课前填写实验步骤表格,对于实验数据和实验结果进行预期性的分析,以提高实验效率。

②实验过程中,要按照正确的流程操作,防止损坏设备,分析可能遇到的各种现象,判断结果是否正确,并记录运算结果。

③实验之后,要认真填写实验报告,包括对对到的各种现象的分析,实验步骤和实验结果。

3、实验原理

(1)运算器数据通路

TEC-XP教学机的运算器主要采用4片AM2901芯片级联组成;每片AM2901芯片实现4位运算,4片芯片级联成16位的运算器。

AM2901芯片组成包括:1个4位的算术逻辑运算单元ALU、16个4位的通用寄存器、一个4位的乘商寄存器Q和若干个多路选择开关。AM2901的数据通路如图所示:

①算术逻辑运算单元ALU

ALU有两个数据输入端R和S。在RS的各种组合中除去没有意思的和重复的,只有8种有效组合。ALU可完成连个操作数的加、减、与、或、异或等多种操作。ALU的输出结果可保存到通用寄存器、乘商寄存器Q,并且可将其值乘除2之后在保存。ALU根据其运算的结果会产生4个标志位——符号标志位F3、零标志位F=0、溢出标志位OVR和进位标志位Cn+4。

②通用寄存器组

AM2901中的通用寄存器组是由16个寄存器构成,具有双端口读写电路。可以通过A口、B口输入的地址(4位地址)选择寄存器,将其值送入A、B锁存器。其中A口地址指定的寄存器是只读的,B口地址指定的寄存器是可读写的。

A和B锁存器可作为ALU的输入数据,ALU输出的结果值也可以保存到B 口指定的寄存器中,而且在写寄存器时,可以通过通用寄存器组入口的三选一多路开关,选择写入ALU结果值,或其左移(乘2)、右移(除2)之后的结果。

③乘商寄存器

乘商寄存器是Q是为配合ALU的乘除运算二设置的。该寄存器输入端有三选一多路开关,可选择ALU输出结果、或乘商寄存器Q本身的内容作为其输入数据,同时还可以将这两个输入值左移、右移之后在送入Q中。

④最低进位信号Cin

AM2901的基本运算是加法电路,其减法功能的实现是通过对减数求补而完成的。因此,在ALU运算时,应使用SCI控制位设置最低进位信号Cin的状态。(2)AM2901的级联结构

一片4位的AM2901芯片的引脚信号如图所示。其中A3~A0、B3~B0用于输入选中的通用寄存器地址;I8~I0用于运算过程的控制信号;D3~D0用于输入外部数据;Y3~Y0用于输出运算的结果;CP为时钟信号;/OE为选通信号;RAM3、RAM0为运算结果左右移动时的移出位;Q3、Q0为乘商寄存器Q左右移时的移出位;Cy、F=0、Over、F3分别为进位标志位、零标志位、溢出标志位、符号标志位;Cin为外部输入的最低进位。

注:TEC-XP教学机的16位运算器是采用4片AM2901芯片级联而成的,各芯片之间采用串行进位方式,具体连接图在此并未给出。

(3)AM2901时钟信号的作用

在AM2901的每个ALU操作周期内,ALU各部件的执行时间是不同的。在时钟脉冲为高电平时,从寄存器组读出的数据可穿过锁存器直接传送到ALU的数据输入端,在下降沿时,A、B口数据锁存,在时钟脉冲为低电平时,通用寄存器接收运算器的输出结果,上升沿时,Q寄存器接受数据。

(4)实验控制信号开关说明

该实验是在完全脱机的方式下完成的。实验过程中,使用实验箱面板下方标有micro switch 1和micro switch 2的两个红色开关,设置24位的运算控制信号。运算完成后,通过实验箱面板中间位置的发光二极管观察运算结果。实验过程中可能会用到外部输入数据,则可通过实验箱面板右下方的16个黑色数据开关设置。控制信号顺序如下图所示:

Micro switch开关信号顺序图

(5)指令举例

指令1:MVRD R0,OFFFFII

分析:

①该指令是在使用立即数为寄存器赋值的,立即数应从数据总线拨入,经ALU传送至目的寄存器R0,因此,ALU的数据来源应选择D、0,即I2~I0取值

为111.

②该赋值指令中的数据必须经过ALU才可写入通用寄存器,可使用FFFFH+0->R0的操作,因此,ALU的运算类型应该选择算术加;I5~I3取值为000。

③ALU的运算结果应保存至B口地址指定的通用寄存器中,即I8~I6取值为011,同时B口地址输入R0的地址(0000)。

④其余信号:A口地址无用,为任意值;SST取000(标志位保持不变,传送类指令不影响标志位状态);SSH-00(不移位);Sci-00(Cin=0)。

4、实验步骤

①首先,将TEC-XP教学机左下方的5个功能开关设置为1**00(单步、16位、脱机);先按一下“RESET”按键,再按一下“START”按键,进行初始化。

②完成初始化后,根据所给定的指令,按顺序控制运算器执行每条指令,每条指令执行时请记录按START前和按START后两个时刻的状态。

③预习AM2901运算器原理,按步骤完成实验后,填写的实验表格如下:

5、实验结果及总结

通过本次实验,进一步了解了AM2901运算器的基本结构,能够熟练的操作运算器面板上的按键,在实验过程中,也遇到了些问题,比如刚开始没能设置好Micro switch开关中相关信号的位置,还有对于什么时候该按“START”和“RESET”没有弄清楚。不过,通过不断地摸索与调试,最终成功完成了此次实验,感觉收获还是颇多的。

相关文档
最新文档