东北大学计算机组成原理实验报告.docx
《东北大学计算机组成原理实验报告.docx》由会员分享,可在线阅读,更多相关《东北大学计算机组成原理实验报告.docx(20页珍藏版)》请在冰豆网上搜索。
东北大学计算机组成原理实验报告
机器号___________________
实验报告
专业班级
姓名
机器号:
学号
E-mail
分步成绩
实验表现
实验报告
总成绩
实验一寄存器及数据输出实验
一、实验目的
1、掌握寄存器器件的工作原理,了解COP2000模型机所用主要寄存器的位置、作用、数据通路及控制信号;
2、掌握寄存器组的工作原理;
3、了解计算机中多个寄存器不能同时向部数据总线送出数据的事实——COP2000实验仪选择某个寄存器(允许其向DBUS上输出数据)的方法。
二、实验原理
(一)寄存器
COP2000用74HC574来构成寄存器,74HC574的功能如下:
1,在CLK的上升沿将输入端的数据打入到8个触发器中。
2,当OC=1时触发器的输出被关闭,当OC=0时触发器输出数据。
74HC574工作波形图
1、累加器A、暂存器W实验
2、地址寄存器MAR、堆栈寄存器ST、输出寄存器OUT实验
寄存器MAR原理图
寄存器ST原理图
寄存器OUT原理图
(二)寄存器组
寄存器组R原理图
74HC139含有两个独立的2—4译码器,其引脚与部逻辑、功能表见实验指导书。
(三)数据输出实验
COP2000实验仪中有7个寄存器可以向DBUS输出数据,但在某一特定时刻只能有一个寄存器输出数据。
由X0、X1、X2控制信号决定那一个寄存器向数据总线输出数据,而这三个控制信号为74HC138译码器的三个选择输入端。
74HC138用于选片。
数据输出选择器原理图
X2X1X0
输出寄存器
000
IN-OE外部中断
001
IA-OE中断向量
010
ST-OE堆栈寄存器
011
PC-OEPC寄存器
100
D-OE直通门
101
R-OE右移门
110
L-OE左移门
111
没有输出
三、实验容
1、A、W的写入
按下表连线
连接
信号孔
接入孔
1
J1座
J3座
2
AEN
K0
3
WEN
K1
4
ALUCK
CLOCK
(1)将数据写入A寄存器
用手动开关K23—K16进行DBUS[7:
0]的数据输入(87)
K23
K22
K21
K20
K19
K18
K17
K16
1
0
0
0
0
1
1
1
置控制信号:
K0(AEN)
K1(WEN)
1
0
给CLOCK跳变信号:
按住CLOCK脉冲键,注意哪个寄存器的黄色指示灯亮起,就是你所选的要写入的寄存器。
放开CLOCK键,一个上升沿即产生,观察寄存器写入的值。
(2)将数据写入W寄存器
置数据:
K23
K22
K21
K20
K19
K18
K17
K16
0
1
0
1
0
1
0
1
置控制信号:
K0(AEN)
K1(WEN)
0
1
给CLOCK跳变信号,观察寄存器写入的值。
2、R?
的写入与读出
按下表连接线
连接
信号孔
接入孔
1
J1座
J3座
2
RRD
K11
3
RWR
K10
4
SB
K1
5
SA
K0
6
RCK
CLOCK
(1)R?
的写入
写入R0:
(55H)
置数据:
K23
K22
K21
K20
K19
K18
K17
K16
0
1
0
1
0
1
0
1
置控制信号:
K11(RRD)
K10(RWR)
K1(SB)
K0(SA)
1
0
0
0
给出CLOCK脉冲上升沿。
写入R1:
(57H)
置数据:
K23
K22
K21
K20
K19
K18
K17
K16
0
1
0
1
0
1
1
1
置控制信号:
K11(RRD)
K10(RWR)
K1(SB)
K0(SA)
1
0
0
1
给出CLOCK脉冲上升沿。
(58h)
写入R2:
置数据:
K23
K22
K21
K20
K19
K18
K17
K16
0
1
0
1
1
0
0
0
置控制信号:
K11(RRD)
K10(RWR)
K1(SB)
K0(SA)
1
0
1
0
给出CLOCK脉冲上升沿。
写入R3:
(59h)
置数据:
K23
K22
K21
K20
K19
K18
K17
K16
0
1
0
1
1
0
0
1
置控制信号:
K11(RRD)
K10(RWR)
K1(SB)
K0(SA)
1
0
1
1
给出CLOCK脉冲上升沿。
(2)R?
的读出
自己设置RRD、RWR、SB及SA信号,观察R?
的红色指示灯及液晶显示容。
读R0:
置控制信号:
K11(RRD)
K10(RWR)
K1(SB)
K0(SA)
0
1
0
0
液晶显示为:
55H
读R1:
置控制信号:
K11(RRD)
K10(RWR)
K1(SB)
K0(SA)
0
1
0
1
液晶显示为:
57H
读R2:
置控制信号:
K11(RRD)
K10(RWR)
K1(SB)
K0(SA)
0
1
1
0
液晶显示为:
58H
读R3:
置控制信号:
K11(RRD)
K10(RWR)
K1(SB)
K0(SA)
0
1
1
1
液晶显示为:
59H
3、MAR、ST、OUT寄存器实验
按下表连接线
连接
信号孔
接入孔
1
J2座
J3座
2
MAROE
K14
3
MAREN
K15
4
STEN
K12
5
OUTEN
K13
6
MARCK
CLOCK
(1)MAR的写入(55h)
置数据:
K23
K22
K21
K20
K19
K18
K17
K16
0
1
0
1
0
1
0
1
置控制信号:
K14(MAROE)
K15(MAREN)
K12(STEN)
K13(OUTEN)
0
0
1
1
给出CLOCK脉冲上升沿。
(2)ST的写入(57H)
置数据:
K23
K22
K21
K20
K19
K18
K17
K16
0
1
0
1
0
1
1
1
置控制信号:
K14(MAROE)
K15(MAREN)
K12(STEN)
K13(OUTEN)
1
1
0
1
给出CLOCK脉冲上升沿。
(3)OUT
置数据:
K23
K22
K21
K20
K19
K18
K17
K16
0
1
0
1
0
1
0
1
置控制信号:
K14(MAROE)
K15(MAREN)
K12(STEN)
K13(OUTEN)
1
1
1
0
给出CLOCK脉冲上升沿。
4、数据输出实验
按下表连线
连接
信号孔
接入孔
1
J1座
J3座
2
X0
K0
3
X1
K1
4
X2
K2
置下表的控制信号,写出指示灯的状态:
X2X1X0
指示灯
液晶显示(数据总线值)
000
IN
输入门(K23—K16)
001
IA
中断向量(由拨动开关给出)
010
ST
堆栈寄存器
011
PC
PC寄存器
100
D
D直通门
101
R
R右移门
110
L
L左移门
111
IR
没有输出
实验二计数器实验
一、实验目的
1、掌握程序计数器PC和微程序计数器µPC的工作原理;
2、掌握COP2000中需要对PC进行置数的条件;
二、实验原理
(一)微程序计数器µPC
COP2000实验仪中,微程序计数器uPC由2片74HC161组成的。
指令总线IBUS[7:
0]的高六位被接到µPC预置输入的高六位,µPC预置的低两位被置为0。
两片161的连接为同步连接。
低片161的CEP、CET已置为有效,而其进位输出端TC接至高片161的CEP、CET。
µPC原理图
当RES=0时,µPC被清0;
当IREN=0时,在CK的上升沿,预置数据被打入µPC。
指令总线(IBUS)上的数据可来自一片74HC245。
当IREN=1时,在CK的上升沿,µPC加1。
(二)程序计数器PC
程序计数器PC由2片74HC161组成,能完成加1和预置数功能。
程序计数器的输出由74HC245保存,74HC245与74HC161的输出相连,74HC245
(2)的输出连接地址总线,74HC245
(1)的输出接到数据总线(当LDPC=0时)。
程序计数器原理图
当指令正常执行时,程序计数器完成加1操作;当执行转移指令时,74HC161用预置数功能,从数据总线接收要跳转的地址。
当RES=0时,PC计数器被清0。
当PC+1=1时,在CK的上升沿,PC计数器加一;当LDPC=0时,在CK的上升沿,预置数据被打入PC计数器;当PCOE=0时,PC值送地址总线。
在COP2000中,计数允许控制端PC+1由PCOE取反产生。
PC跳转控制电路原理:
在COP2000中,虚拟一片74HC151器件(做在控制芯片CPLD95108中)来决定PC是否被预置。
74HC151为八选一数据选择器,其真值表及工作原理如下图所示。
PC预置控制原理图
当ELP=1时,LDPC=1,不允许PC被预置;
当ELP=0,IR3=0,IR2=0时,且Cy=1时,LDPC=非Cy,当PC被预置;
当ELP=0,IR3=0,IR2=1时,且Z=1时,LDPC=非Z,当PC被预置;
当ELP=0,IR3=1,IR2=X时,LDPC=0,PC被预置。
三、实验容
(一)PC实验
1、PC加一实验
连接线表
连接
信号孔
接入孔
作用
有效电平
1
J2座
J3座
将K23—K16接入DBUS[7:
0]
2
JRC
K0
C标志输入
3
JRZ
K1
Z标志输入
4
PCOE
K2
PC输出到地址总线
低电平有效
5
JIR2
K3
预置选择
6
JIR3
K4
预置选择
7
ELP
K5
预置允许
低电平有效
8
PCCK
CLOCK
PC工作脉冲
上升沿打入
置控制信号为:
K2(PCOE)
K5(ELP)
0
0
按一次CLOCK脉冲键,CLOCK产生一个上升沿,数据PC被加一。
2、PC预置实验
二进制开关K23—K16置入数据:
K23
K22
K21
K20
K19
K18
K17
K16
0
1
0
1
0
1
0
1
置控制信号为:
ELP
(K5)
IR3
(K4)
IR2
(K3)
JRZ
(K1)
JRC
(K0)
LDPC
PC预置指
示灯状态
1
X
X
X
X
1
N
0
0
0
X
1
0
Y
0
0
0
X
0
1
N
0
0
1
1
X
0
Y
0
0
1
0
X
1
N
0
1
X
X
X
0
Y
每置控制信号后,按一下CLOCK键,观察PC的变化。
注意:
X表示为任意值
(二)µPC实验
按下表所示连线
连接
信号孔
接入孔
作用
有效电平
1
J2座
J3座
将K23┈K16接入DBUS[7┈0]
2
IREN
K0
预置μPC
低电平有效
3
EMEN
K1
EM存储器工作使能
低电平有效
4
EMWR
K2
EM存储器写能
低电平有效
5
EMRD
K3
EM存储器读能
低电平有效
6
IRCK
CLOCK
µPC工作脉冲
上升沿打入
1、µPC加一实验
设置控制信号为:
K3(EMRD)
K2(EMWR)
K1(EMEN)
K0(IREN)
0
0
0
1
按一次CLOCK一次,CLOCK产生一个上升沿,µPC的输出数据被加一。
2、µPC预置数据实验
用二进制开关K23~K16将数据送到数据总线(DBUS),置数据57H
K23
K22
K21
K20
K19
K18
K17
K16
0
1
0
1
0
1
1
1
设置控制信号为:
K3(EMRD)
K2(EMWR)
K1(EMEN)
K0(IREN)
0
0
0
0
按住CLOCK键,CLOCK由高变低,这时µPC的黄色预置指示灯亮,表明µPC被预置数。
放开CLOCK键,CLOCK产生下降沿,数据?
?
H被写入µPC寄存器。
四、思考题
寄存器
1、AEN、WEN同时为高电平或同时为低电平时,给出CLOCK上升沿,会有什么结果?
并解释之
答:
AEN、WEN同为低电平时AW寄存器同时写入数据,AEN、WEN同时为高电平时,AW寄存器都不写入数据。
由图可知AEN WEN分别与CK相连进行或运算,CLOCK上升沿时同进同不进。
2、寄存器组的数据读出与CLOCK脉冲是否有关系?
由此说明寄存器的数据打入与读出在控制上的差别。
答:
无关 寄存器输入需要CLOCK提供上升沿信号,而读出不需要,因为OC始终接地为低电平有效。
3、总结寄存器部分实验有多少个控制信号,并写出其作用。
答:
答:
AEN、WEN为寄存器A、W写入控制信号,低有效。
RRD、RWR为寄存器组写入读出控制信号,1、0代表写入,0、1代表读出。
SB、SA为寄存器组选定信号,00--R0、01--R1、10--R2、11--R3。
MAROE、MAREN、STEN、OUTEN为MAR、ST、OUT寄存器控制信号。
MAROE:
控制MAR容是否输出到ABUS。
MAREN、STEN、OUTEN分别控制DBUS中数据写入寄存器的选定。
011--MAR、101--ST、110--OUT。
计数器
1、请叙述程序计数器PC、微程序计数器µPC工作原理,两者在预置条件上有何区别?
答:
程序计数器PC工作原理如下:
程序计数器是包含当前正在执行的指令的地址,当某个指令被获取,程序计数器的存储地址加一,指向顺序中的下一个指令。
在程序开始执行前,必须将它的起始地址,即第一条指令所在的存单元地址送入程序计数器。
当执行指令时,处理器将自动修改PC的容,即每执行一条指令PC增加一个量,这个量等于指令所含的字节数,以便使其保持的总是将要执行的下一条指令的地址。
由于大多数指令都是按顺序来执行的,所以修改的过程通常只是简单的对PC加1,但是,当遇到转移指令如JMP指令时,后继指令的地址必须从指令寄存器中的地址字段取得。
在这种情况下,下一条从存取出的指令将由转移指令来规定,而不像通常一样按顺序来取得。
微程序计数器µPC工作原理如下:
一般情况下,由µPC+1来指向下条微指令在控存中的地址, 只有遇到转移类微指令才会改变µPC的容以实现微程序的转移。
这种结构的优点是微指令的字长有效缩短,从而可减少控制存储器的容量。
两者在预置条件上的区别如下:
(1)对于µPC,当RES=0时,µPC被清0;当IREN=0时,在CK的上升沿,预置数据被打入µPC。
指令总线(IBUS)上的数据可来自一片74HC245。
当IREN=1时,在CK的上升沿,µPC加1。
(2)对于PC,当ELP=1时,LDPC=1,不允许PC被预置;当ELP=0,IR3=0,IR2=0时,且Cy=1时,LDPC=非Cy,当PC被预置;当ELP=0,IR3=0,IR2=1时,且Z=1时,LDPC=非Z,当PC被预置;当ELP=0,IR3=1,IR2=X时,LDPC=0,PC被预置。
2、在程序计数器PC中ELP控制信号的作用;设置什么控制信号可实现PC计数操作?
答:
设置什么控制信号可实现PC计数操作:
ELP=1,不允许PC被预置,ELP=0,允许PC被预置。
3、对微程序计数器µPC进行预置操作时,如果置入数据12H,µPC模块中的数码管还显示12吗?
观察结果并解释之。
答:
不是显示12,因为会进行加1的操作
五、实验体会及建议
实验遇到的问题及解决办法;
答:
由于是第一次接触到组成原理的实验器材,因此对其构造和一些相关操作的概念很模糊,并且不是特别明白控制信号是如何设置的。
后来通过和同学的互相讨论和阅读相关书籍解决了此问题。
实验容是否合适:
(容多,适中,容少);
答:
觉得实验容适中。
通过老师的分析,以及同学的帮助觉得并不是很多。
对本次实验的建议,以及以后实验容安排的建议等。
答:
实验仪器有部分的坏损,建议定期维修。