计算机组成原理实验报告记录.docx
《计算机组成原理实验报告记录.docx》由会员分享,可在线阅读,更多相关《计算机组成原理实验报告记录.docx(43页珍藏版)》请在冰豆网上搜索。
![计算机组成原理实验报告记录.docx](https://file1.bdocx.com/fileroot1/2023-2/23/2a541681-7568-41dc-8345-43efb87ec4c3/2a541681-7568-41dc-8345-43efb87ec4c31.gif)
计算机组成原理实验报告记录
计算机组成原理实验报告记录
————————————————————————————————作者:
————————————————————————————————日期:
郑州航空工业管理学院
计算机科学与应用系实验报告
课程名:
计算机组成原理
学号:
141096138
姓名:
阚丰蕊
指导教师:
范喆
成绩;
计算机科学与应用系
实验一运算器实验
(一)
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)实验控制信号开关说明
该实验是在完全脱机的方式下完成的。
实验过程中,使用实验箱面板下方标有microswitch1和microswitch2的两个红色开关,设置24位的运算控制信号。
运算完成后,通过实验箱面板中间位置的发光二极管观察运算结果。
实验过程中可能会用到外部输入数据,则可通过实验箱面板右下方的16个黑色数据开关设置。
控制信号顺序如下图所示:
Microswitch1
Microswitch2
I8~I6
I5~I3
I2~I0
SST
SSH
SCI
BPort
APort
Microswitch开关信号顺序图
(5)指令举例
指令1:
MVRDR0,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运算器原理,按步骤完成实验后,填写的实验表格如下:
运算
I8-0
SST
SSH
SCI
B
A
按START前
按START后
ALU输出
SVZC
ALU输出
SVZC
MVRD R0,0101
011000111
000
00
00
0000
0000
0101
1111
0101
1111
MVRD R1,1010
011000111
000
00
00
0001
0000
1010
1111
1010
1111
ADD R0,R1
011000001
001
00
00
0000
0001
1111
1111
2121
0000
SUB R0,R1
011001001
001
00
01
0000
0001
0101
0000
F0F1
0001
SUB R1,R0
011001001
001
00
01
0001
0000
0F0F
0001
0E0E
0001
OR R0,R1
011011001
001
00
00
0000
0001
0F0F
0001
0F0F
0101
5、实验结果及总结
通过本次实验,进一步了解了AM2901运算器的基本结构,能够熟练的操作运算器面板上的按键,在实验过程中,也遇到了些问题,比如刚开始没能设置好Microswitch开关中相关信号的位置,还有对于什么时候该按“START”和“RESET”没有弄清楚。
不过,通过不断地摸索与调试,最终成功完成了此次实验,感觉收获还是颇多的。
实验二运算器实验
(二)
1、实验目的
深入了解AM2901运算器的功能及具体用法。
深化运算器部件的组成、设计、控制与使用知识。
能够熟练掌握对运算器所需控制信号的设置,并使之完成运算。
能够独立地成功完成所给指令在运算器中的运算实验。
2、实验要求
实验前,认真了解AM2901运算器的基本结构,预习所需实验的内容,并在课前填写实验步骤表格,对于实验数据和实验结果进行预期性的分析,以提高实验效率。
实验过程中,要按照正确的流程操作,防止损坏设备,分析可能遇到的各种现象,判断结果是否正确,并记录运算结果。
实验之后,要认真填写实验报告,包括对对到的各种现象的分析,实验步骤和实验结果。
3、实验原理
(1)运算器数据通路
TEC-XP教学机的运算器主要采用4片AM2901芯片级联组成;每片AM2901芯片实现4位运算,4片芯片级联成16位的运算器。
AM2901芯片组成包括:
1个4位的算术逻辑运算单元ALU、16个4位的通用寄存器、一个4位的乘商寄存器Q和若干个多路选择开关。
算术逻辑运算单元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的状态。
(二)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芯片级联而成的,各芯片之间采用串行进位方式,具体连接图在此并未给出。
(三)AM2901时钟信号的作用
在AM2901的每个ALU操作周期内,ALU各部件的执行时间是不同的。
在时钟脉冲为高电平时,从寄存器组读出的数据可穿过锁存器直接传送到ALU的数据输入端,在下降沿时,A、B口数据锁存,在时钟脉冲为低电平时,通用寄存器接收运算器的输出结果,上升沿时,Q寄存器接受数据。
(四)实验控制信号开关说明
该实验是在完全脱机的方式下完成的。
实验过程中,使用实验箱面板下方标有microswitch1和microswitch2的两个红色开关,设置24位的运算控制信号。
运算完成后,通过实验箱面板中间位置的发光二极管观察运算结果。
实验过程中可能会用到外部输入数据,则可通过实验箱面板右下方的16个黑色数据开关设置。
控制信号顺序如下图所示:
Microswitch1
Microswitch2
I8~I6
I5~I3
I2~I0
SST
SSH
SCI
BPort
APort
Microswitch开关信号顺序图
(五)指令举例
指令1:
ADDR0,R1
分析:
该指令是加法运算指令,因此,ALU的运算类型应选择算术加:
I5~I3取值为000。
两个操作数都是通用寄存器,故,ALU的数据来源应选择A、B。
I2~I0取值为001,且A口地址为0001,B口地址为0000,I8~I6取值为011(将ALU的输出保存至B口指定的寄存器)
其余信号:
SST——001(按照运算结果设置标志位,加法指令正常影响标志位),SSH——00(不移位),Sci——(Cin=0)。
4、实验步骤
首先,将TEC-XP教学机左下方的5个功能开关设置为1**00(单步、16位、脱机);先按一下“RESET”按键,再按一下“START”按键,进行初始化。
完成初始化后,根据所给定的指令,按顺序控制运算器执行每条指令,每条指令执行时请记录按START前和按START后两个时刻的状态。
预习AM2901运算器原理,按步骤完成实验后,填写的实验表格如下:
运算
I8-0
SST
SSH
SCI
B
A
按START前
按START后
ALU输出
SVZC
ALU输出
SVZC
MVRD R0,0101
011000111
000
00
00
0000
0000
0101
1111
0101
1111
MVRD R1,1010
011000111
000
00
00
0001
0000
1010
1111
1010
1111
MVRDR2,0110
011000111
000
00
00
0010
0000
0110
1111
0110
1111
SUB R0,R1
011001001
001
00
01
0000
0001
F0F1
1111
E0E1
1000
ADD R2,R1
011000001
001
00
00
0010
0001
1120
1000
2130
0000
5、实验结果及总结
在实验中,需要注意的是操作符的控制及输入输出的控制思想,通过实验要求,对此次运算器做了相关的设计,并成功完成了相关的实验操作,这次实验,使我可以更清楚的了解计算机的数据存储和数据的运算,由于上次实验的经验,在这次实验中,并未遇到问题,很顺利地完成了实验。
实验中,需要注意的是,要将教学机左下方的5个功能开关设置为1**00,要注意按‘RESET’和‘START’键,进行初始化。
实验三存储器实验
1、实验目的
了解计算机中半导体存储器RAM和EPROM和E2PROM的功能和区别。
掌握存储器字扩展、位扩展的方法。
理解并掌握半导体存储器芯片的扩展和验证方式。
能够进一步深入的了解及熟悉所做的实验内容。
2、实验要求
在开始实验前,应该先复习存储器字扩展、位扩展的方法。
在实验过程中,应该小心使用TEC-XP教学机,避免造成不必要的损坏。
能够熟练的完成本次实验内容。
3、实验原理
TEC-XP教学机的存储系统中,2000H~27FFH的2K空间是由6116RAM芯片构成的。
随机存储器的读写特性是:
在不断电的情况下,CPU可以对该存储器的任何单眼进行随机读写操作,其中内容可以长期保存,但该存储器是易失性存储器,一旦断电,其中的数据均被清空。
本次实验要在监控状态下,分别使用不同的监控命令对该RAM存储芯片的读写特性进行验证。
由于是联机测试,需要将TEC-XP的功能开关先置为00110。
在断电后重新启动教学机,使用D命令再次查看所修改单元的内容,实验中每次要改动芯片连接时,应该先断电再进行,在实验完成后,取下扩展芯片等,需要注意的是在实验过程中,不要随意改动其他芯片的位置或连接。
4、实验步骤
该实验是联机实验,在开始实验前,先进行联机测试,需将TEC-XP教学机的功能开关设置为00110。
再进行联机操作,在计算机上安装并打开软件大板可编程器件下的Pece16,选择接口1,按“RESET”和“START”按键,再按回车即可往里面输入命令。
先将E2PROM的芯片插入扩展插槽位置,需要注意的是芯片插入时,应将带有半圆形缺口的一方朝左插入,一旦插反会导致芯片烧毁。
然后进行数据地址线连接,读写控制总线连接和片选信号的连接。
进行扩展容量的读写特性的验证
扩展用的E2PROM芯片,其读操作和RAM一样,而其写操作,由于要先擦除信息再写入,因此需要一定的延迟时间,大约为1毫秒。
子啊对E2PROM进行写操作时,应加入一段延时子程序的调用,以完成正确的读写。
a.用E修改扩展单元的内容,并用D查看结果
假设扩展连接采用的是默认地址4000H~5FFFH,使用E命令修改该地址范围内的某几个单元,再用D命令查看数据的修改情况。
b.控制程序
实验使用的E2PROM芯片不能直接用A命令输入程序,单字节的指令可能会写进去,双字节指令的低位会出错。
因此,可以将程序放到RAM(6116)中,使用程序读写扩展空间5000H~500FH单元。
从2000H单元开始输入主程序:
(2000)MVRDR0,0030
MVRDR2,0010R2记录循环次数
MVRDR3,5000R3的内容为16位内存地址
(2006)STRR[R3],R0将R0寄存器的内容放到R3给出的内存单元中
CALA2200调用程序地址为2200的延时子程序
INCR0R0加1
INCR3R3加1
DECR2R2减1
JRNZ2006R2不为0跳转到2006H
RET
c.延时子程序
从2200H单元开始输入延时子程序
(2002)PUSHR3
MVRDR3,0001
(2203)DECR3
JRNZ 2203
POPR3
RET
d.运行程序,查看结果
在命令提示符下输入:
G2000,按回车,运行程序。
使用D命令查看5000H~500FH单元中的数据。
5、实验结果及总结
由于本次实验是联机实验,在实验前,需要进行联机测试,还要把教学机的功能开关设置为00110,应该注意的是在每次要改动芯片连接时,应先断电进行,同时在实验过程中,不要随意改动其他芯片的位置或来接。
通过本次实验,使我了解到了存储器的字、位扩展的内容,原理,能够使用相关的命令完成实验中的要求。
在实验中,虽然也遇到了问题,但同过请教老师和同学,问题最终得到了解决,并成功完成了本次实验。
实验四微程序控制器实验
(一)
1、实验目的
深入理解微程序控制器的功能和组成结构。
学习教学计算机各指令的指令格式、寻址方式及执行流程。
学习微程序控制器的设计过程和相关技术。
能够理解基本指令的执行流程,并在教学机上验证其对应的微指令。
能够设计出几条指令的功能,格式和指令的流程,并在教学计算机上进行测试。
2、实验要求
在实验前,认真准备,对于该实验的基本原理、微指令格式、以及相关机器指令的微程序等内容预先做好分析和设计。
在实验过程中,应该认真进行实验操作,仔细思考实验有关内容,把难点内容通过实验理解清楚,争取最好的实验结果。
实验之后,应该认真思考,写出实验总结,包括实验中遇到的问题和分析、解决方法。
3、实验原理
(1)TEC-XP教学机的控制器基本原理
TEC-XP教学机中包含组合控制逻辑和微程序控制逻辑两种不同结构的控制器。
本实验中使用的是微程序控制器,与微程序控制器相关的机器结构如下图所示。
控制器中使用程序计数器PC跟踪机器指令的执行,使用PC中的内容访存获取机器指令,得到的机器指令送入控制器中的指令寄存器IR暂存,并由微程序控制器分析执行,执行过程中所有控制信号均由微程序控制器中的微命令寄存器uIR发出。
微程序控制器的工作过程是:
对于指令寄存器IR中的机器指令,由地址映射部件产生该指令所对应的微指令程序的入口地址,通过AM2901送给控制存储器。
取出的一条微指令送入微指令寄存器,其中的微命令字段用于发出控制信号,控制各部件的执行,下地址字段与条件判定线路的各测试信号一起送给AM2901,由其确定下条指令的地址,继续执行。
(2)地址映射部件
地址映射部件,即微指令地址映射部件,它是由一片E2PROM构成的,一般称为MAPROM。
指令寄存器IR将其中的高8位指令操作码送给MAPROM,MAPROM根据操作码与微地址之间的映射关系,给出该指令对应微程序入口的地址。
(3)TEC-XP教学机的微指令格式
TEC-XP教学机的微指令共有48位,由16位的下地址字段和32位的操作控制字段形成,其格式如下图:
微下址
CI3~CI0
SSC3~SSC0
IOMRW
I2~0I8~3
A口地址
B口地址
SST
SSH
SCI
DC2
DC1
8位
4位
4位
3位
9位
8位
8位
3位
1位
2位
3位
3位
(4)控制存储器
控制存储器字长48位,用来存放TEC-XP教学机的所有微指令。
硬件实现时,是使用两片EEPROM芯片(53C64)存放16位下地址字段信息,而32位操作控制字段信息存放在MACH器件内。
每次读控制存储器时,从这三个芯片中读出一条微指令。
48位的微指令寄存器也分为两段,即16位的下地址信息,和32位的微命令信息。
(五)A、B、C、D组指令的执行流程
4、实验步骤
设定工作方式
接通TEC-XP教学机的电源,将功能开关设置为11010,即设为单步、手动执行指令、使用微程序控制器,联机操作。
验证A组基本指令——加法指令ADDR0,R1的微程序
根据如下所示的ADD指令格式,可得到指令ADDR0,R1的机器代码为0000000000000001,其中高8位为ADD指令的操作码,接下来的两个4位分别对应R0和R1寄存器。
1587430
OP
DR
SR
先按下RESET按键,复位系统,然后通过16位的数据开关SW拨入指令代码,再按下RESET按键,此时指示灯Microp亮,其它灯全灭。
在完成以上设置后,接下来每次按下START按键,控制器就会执行一条微指令,请在实验前看懂以下微指令,在实验中验证每条微指令,并记录每条微指令执行时微地址、微下址指示灯的状态。
加法指令ADDR0,R1的微程序
微地址
操作功能
下址
CI3~0
SCC3~0
MRW
I2~0
I8~3
B口
A口
SST
SSH\SC
DC2
DC1
00H
0—>PC
DI#=0
00H
1110
0000
100
001
011001
0101
0101
000
001
111
000
01H
PC->AR
PC+1->PC
00H
1110
0000
100
011
010000
0101
0101
000
001
011
000
02H
MEM->IR
00H
1110
0000
001
000
001000
0000
0000
000
000
001
000
03H
/MAP