《计算机组成原理实验报告》由会员分享,可在线阅读,更多相关《计算机组成原理实验报告(7页珍藏版)》请在人人文库网上搜索。
1、计算机组成原理实验报告郑州航空工业管理学院 计算机科学与应用系实验报告 课 程 名: 计算机组成原理 学 号: 141096138 姓 名: 阚丰蕊 指导教师: 范喆 成 绩; 计算机科学与应用系 实验一 运算器实验(一) 1、实验目的 深入了解AM2901运算器的功能及具体用法。 深化运算器部件的组成、设计、控制与使用知识。 能够熟练掌握对运算器所需控制信号的设置,并使之完成运算。 能够独立地成功完成所给指令在运算器中的运算实验。 2、实验要求 实验前,认真了解AM2901运算器的基本结构,预习所需实验的内容,并在课前填写实验步骤表格,对于实验数据和实验结果进行预期性的分析,以提高实验效率。。
2、 实验过程中,要按照正确的流程操作,防止损坏设备,分析可能遇到的各种现象,判断结果是否正确,并记录运算结果。 实验之后,要认真填写实验报告,包括对对到的各种现象的分析,实验步骤和实验结果。 3、实验原理 (1)运算器数据通路 TEC-XP教学机的运算器主要采用4片AM2901芯片级联组成;每片AM2901芯片实现4位运算,4片芯片级联成16位的运算器。 AM2901芯片组成包括:1个4位的算术逻辑运算单元ALU、16个4位的通用寄存器、一个4位的乘商寄存器Q和若干个多路选择开关。AM2901的数据通路如图所示: 算术逻辑运算单元ALU ALU有两个数据输入端R和S。在RS的各种组合中除去没有意。
3、思的和重复的,只有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口指定的寄存器中,而且在写。
4、寄存器时,可以通过通用寄存器组入口的三选一多路开关,选择写入ALU结果值,或其左移(乘2)、右移(除2)之后的结果。 乘商寄存器 乘商寄存器是Q是为配合ALU的乘除运算二设置的。该寄存器输入端有三选一多路开关,可选择ALU输出结果、或乘商寄存器Q本身的内容作为其输入数据,同时还可以将这两个输入值左移、右移之后在送入Q中。 最低进位信号Cin AM2901的基本运算是加法电路,其减法功能的实现是通过对减数求补而完成的。因此,在ALU运算时,应使用SCI控制位设置最低进位信号Cin的状态。 (2)AM2901的级联结构 一片4位的AM2901芯片的引脚信号如图所示。其中A3A0、B3B0用于输入选。
5、中的通用寄存器地址;I8I0用于运算过程的控制信号;D3D0用于输入外部数据;Y3Y0用于输出运算的结果;CP为时钟信号;/OE为选通信号;RAM3、RAM0为运算结果左右移动时的移出位;Q3、Q0为乘商寄存器Q左右移时的移出位;Cy、F=0、Over、F3分别为进位标志位、零标志位、溢出标志位、符号标志位;Cin为外部输入的最低进位。 注:TEC-XP教学机的16位运算器是采用4片AM2901芯片级联而成的,各芯片之间采用串行进位方式,具体连接图在此并未给出。 (3)AM2901时钟信号的作用 在AM2901的每个ALU操作周期内,ALU各部件的执行时间是不同的。在时钟脉冲为高电平时,从寄存。
6、器组读出的数据可穿过锁存器直接传送到ALU的数据输入端,在下降沿时,A、B口数据锁存,在时钟脉冲为低电平时,通用寄存器接收运算器的输出结果,上升沿时,Q寄存器接受数据。 (4)实验控制信号开关说明 该实验是在完全脱机的方式下完成的。实验过程中,使用实验箱面板下方标有micro switch 1和micro switch 2的两个红色开关,设置24位的运算控制信号。运算完成后,通过实验箱面板中间位置的发光二极管观察运算结果。实验过程中可能会用到外部输入数据,则可通过实验箱面板右下方的16个黑色数据开关设置。控制信号顺序如下图所示: Micro switch 1 I8I6 I5I3 I2I0 SS。
7、T SSH Micro switch 2 SCI B Port A Port Micro switch开关信号顺序图 (5)指令举例 指令1:MVRD R0,OFFFFII 分析: 该指令是在使用立即数为寄存器赋值的,立即数应从数据总线拨入,经ALU传送至目的寄存器R0,因此,ALU的数据应选择D、0,即I2I0取值为111. 该赋值指令中的数据必须经过ALU才可写入通用寄存器,可使用FFFFH+0-R0的操作,因此,ALU的运算类型应该选择算术加;I5I3取值为000。 ALU的运算结果应保存至B口地址指定的通用寄存器中,即I8I6取值为011,同时B口地址输入R0的地址(0000)。 其余。
8、信号:A口地址无用,为任意值;SST取000(标志位保持不变,传送类指令不影响标志位状态);SSH-00(不移位);Sci-00(Cin=0)。 4、实验步骤 首先,将TEC-XP教学机左下方的5个功能开关设置为1*00(单步、16位、脱机);先按一下“RESET”按键,再按一下“START”按键,进行初始化。 完成初始化后,根据所给定的指令,按顺序控制运算器执行每条指令,每条指令执行时请记录按START前和按START后两个时刻的状态。 预习AM2901运算器原理,按步骤完成实验后,填写的实验表格如下: 运算 I8-0 SST SSH SCI B A 按START前 ALU输出 SVZC 1。
9、111 1111 1111 0000 0001 0001 按START后 ALU输出 0101 1010 2121 F0F1 0E0E 0F0F SVZC 1111 1111 0000 0001 0001 0101 , , , , , , 011000111 011000111 011000001 011001001 011001001 011011001 000 000 001 001 001 001 00 00 00 00 00 00 00 00 00 01 01 00 0000 0001 0000 0000 0001 0000 0000 0000 0001 0001 0000 0001 0101 1010 1111 0101 0F0F 0F0F 5、实验结果及总结 通过本次实验,进一步了解了AM2901运算器的基本结构,能够熟练的操作运算器面板上的按键,在实验过程中,也遇到了些问题,比如刚开始没能设置好Micro switch开关中相关信号的位置,还有对于什么时候该按“START”和“RESET”没有弄清楚。不过,通过不断地摸索与调试,最终成功完成了此次实验,感觉收获还是颇多的。。