计算机组成原理实验报告Word文件下载.docx
《计算机组成原理实验报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《计算机组成原理实验报告Word文件下载.docx(26页珍藏版)》请在冰豆网上搜索。
专用寄存器
(2)
4
数据输出/移位门
5
微程序计数器
综合性
6
运算器
7
程序计数器
8
存储器读写
9
微程序存储器读写
10
中断
11
模型计算机设计(数据传送指令)
五、参考教材
《计算机组成原理》唐朔飞着 高等教育出版社
《计算机组成与结构》王爱英着 清华大学出版社
实验项目一专用寄存器
(1)
掌握模型机中专用寄存器结构、工作原理及其控制方法。
二、实验内容
1、实验要求
利用CPTH实验仪上的K16..K23开关做为DBUS的数据,其它开关做为控制信号,将数据写入专用寄存器A、工作寄存器W,然后读出数据。
2、实验原理
CPTH用74HC574来构成寄存器。
74HC574的引脚图见图1,功能如下:
(1)在CLK的上升沿将输入端的数据打入到8个触发器中。
(2)当OC=1时触发器的输出被关闭,当OC=0时触发器输出数据。
实验原理图如图2和图3所示。
3、实验步骤
首先设置手动模式:
按[TV/ME]键三次,进入"
Hand......"
手动状态。
(1)按照下表连接线。
(2)连接数据线:
K16~K23分别连接D0~D7。
(3)系统清零K23-K16开关置零,按[RST]钮。
(4)将55H写入A寄存器。
二进制开关K23-K16用于DBUS[7:
0]的数据输入,置数据55H:
置控制信号为:
按住STEP脉冲键,CK由高变低,这时寄存器A的黄色选择指示灯亮,表明选择A寄存器。
放开STEP键,CK由低变高,产生一个上升沿,数据55H被写入A寄存器。
(5)将66H写入W寄存器。
0]的数据输入,置数据66H
按住STEP脉冲键,CK由高变低,这时寄存器W的黄色选择指示灯亮,表明选择W寄存器。
放开STEP键,CK由低变高,产生一个上升沿,数据66H被写入W寄存器。
操作注意事项:
*数据是在放开STEP键后改变的,也就是CK的上升沿数据被打入。
*WEN,AEN为高时,即使CK有上升沿,寄存器的数据也不会改变。
实验项目二通用寄存器
掌握模型机中通用寄存器结构、工作原理及其控制方法。
利用CPTH实验仪上的K16..K23开关做为DBUS的数据,其它开关做为控制信号,将数据写入R0,R1,R2,R3寄存器并读出。
通用寄存器的原理图如图4所示。
图4通用寄存器原理图
(2)将11H写入R0寄存器。
0]的数据输入,置数据11H:
按下表置控制信号。
按住STEP脉冲键,CK由高变低,这时寄存器R0的黄色选择指示灯亮,表明选择R0寄存器。
放开STEP键,CK由低变高,产生一个上升沿,数据11H被写入R0寄存器。
(3)将22H写入R1寄存器。
0]的数据输入,置数据22H
按住STEP脉冲键,CK由高变低,这时寄存器R1的黄色选择指示灯亮,表明选择R1寄存器。
放开STEP键,CK由低变高,产生一个上升沿,数据22H被写入R1寄存器。
(4)将33H写入R2寄存器。
0]的数据输入,置数据33H
按住STEP脉冲键,CK由高变低,这时寄存器R2的黄色选择指示灯亮,表明选择R2寄存器。
放开STEP键,CK由低变高,产生一个上升沿,数据33H被写入R2寄存器。
(5)将44H写入R3寄存器。
0]的数据输入,置数据44H:
按住STEP脉冲键,CK由高变低,这时寄存器R3的黄色选择指示灯亮,表明选择R3寄存器。
放开STEP键,CK由低变高,产生一个上升沿,数据44H被写入R3寄存器。
注意观察:
数据是CK的上升沿数据被打入。
K1(SB),K0(SA)用于选择寄存器。
(6)读R0寄存器。
这时寄存器R0的红色输出指示灯亮,R0寄存器的数据送上数据总线。
此时数据总线指示灯L7...L0为:
00010001.将K11(RRD)置为1,关闭R0寄存器输出。
(7)读R1寄存器。
这时寄存器R1的红色输出指示灯亮,R1寄存器的数据送上数据总线。
00100010。
将K11(RRD)置为1,关闭R1寄存器输出。
(7)读R2寄存器。
这时寄存器R2的红色输出指示灯亮,R2寄存器的数据送上数据总线。
00110011。
将K11(RRD)置为1,关闭R2寄存器输出。
(8)读R3寄存器。
这时寄存器R3的红色输出指示灯亮,R3寄存器的数据送上数据总线。
01000100。
将K11(RRD)置为1,关闭R3寄存器输出。
1.数据在K11(RRD)为0时输出,不是沿触发,与数据打入不同。
实验项目三专用寄存器
(2)
掌握模型机中其它专用寄存器结构、工作原理及其控制方法。
利用CPTH实验仪上的K16..K23开关做为DBUS的数据,其它开关做为控制信号,将数据写入MAR寄存器、ST寄存器、OUT寄存器并读出。
MAR寄存器、ST寄存器、OUT寄存器的原理图分别如图5、6、7所示。
(1)将12H写入MAR寄存器。
0]的数据输入,置数据12H:
按住STEP脉冲键,CK由高变低,这时寄存器MAR的黄色选择指示灯亮,表明选择MAR寄存器。
放开STEP键,CK由低变高,产生一个上升沿,数据12H被写入MAR寄存器。
K14(MAROE)为0,MAR寄存器中的地址输出,MAR红色输出指示灯亮。
将K14(MAROE)置为1,关闭MAR输出。
(2)将34H写入ST寄存器。
0]的数据输入,置数据34H
按住STEP脉冲键,CK由高变低,这时寄存器ST的黄色选择指示灯亮,表明选择ST寄存器。
放开STEP键,CK由低变高,产生一个上升沿,数据34H被写入ST寄存器。
(3)将56H写入OUT寄存器。
0]的数据输入,置数据56H
按住STEP脉冲键,CK由高变低,这时寄存器OUT的黄色选择指示灯亮,表明选择OUT寄存器。
放开STEP键,CK由低变高,产生一个上升沿,数据56H被写入OUT寄存器。
实验项目四数据输出/移位门
1、掌握模型机中数据总线的原理。
2、掌握运算器中移位功能的实现方法。
利用CPTH实验仪的开关做为控制信号,将指定寄存器的内容读到数据总线DBUS上;
观察移位门输出结果。
2、实验电路
CPTH中有7个寄存器可以向数据总线输出数据,但在某一特定时刻只能有一个寄存器输出数据,由X2,X1,X0决定那一个寄存器输出数据,下表是X2,X1,X0与各个寄存器的关系表。
图8是总线上的7个寄存器的控制端原理图。
X2X1X0
输出寄存器
000
IN-OE外部输入门
001
IA-OE中断向量
010
ST-OE堆栈寄存器
011
PC-OEPC寄存器
100
D-OE直通门
101
R-OE右移门
110
L-OE左移门
111
没有输出
图8数据输出选择器原理图
(2)数据输出。
置下表的控制信号,检验输出结果。
(2)移位。
ALU直接输出和零标志位产生原理图如图9所示。
图9ALU直接输出和零标志位产生原理图
ALU左移输出原理图、ALU右移输出原理图分别如图10和图11所示。
直通门将运算器的结果不移位送总线。
当X2X1X0=100时运算器结果通过直通门送到数据总线。
同时,直通门上还有判0电路,当运算器的结果为全0时,Z=1,右移门将运算器的结果右移一位送总线。
当X2X1X0=101时运算器结果通过右通门送到数据总线。
(3)将55H写入A寄存器。
0]的数据输入,置数据55H
S2S1S0=111时运算器结果为寄存器A内容。
移位与输出门是否打开无关,无论运算器结果如何,移位门都会给出移位结果。
但究竟把那一个结果送数据总线由X2X1X0输出选择决定。
实验项目五微程序计数器
掌握模型机中微程序计数器结构、工作原理及其控制方法。
利用CPTH实验仪上的K16..K23开关做为DBUS的数据,其它开关做为控制信号,实现微程序计数器uPC的写入和加1功能。
微程序计数器的原理图如图12所示。
74HC161是一片带预置的4位二进制记数器。
功能如下:
当RST=0时,记数器被清0;
当IREN=0时,在CK的上升沿,预置数据被打入记数器;
当IREN=1时,在CK的上升沿,记数器加1;
TC为进位,当记数到F(1111)时,TC=1;
CEP、CET为记数使能,当CEP=CET=1时,记数器工作;
CEP=CET=0时,记数器保持原值。
图12uPC原理图理图
(2)uPC加1。
按一次STEP脉冲键,CK产生一个上升沿,数据uPC被加1。
(3)uPC打入。
当EMWR,EMEN=0时,数据总线(DBUS)上的数据被送到指令总线(IBUS)上。
按住STEP脉冲键,CK由高变低,这时寄存器uPC的黄色预置指示灯亮,表明uPC被预置。
放开STEP键,CK由低变高,产生一个上升沿,数据10H被写入uPC寄存器。
实验项目六运算器
掌握模型机中算术逻辑运算单元的控制方法。
利用CPTH实验仪的K16..K23开关做为DBUS数据,其它开关做为控制信号,将数据写累加器A和工作寄存器W,并用开关控制ALU的运算方式,实现运算器的功能。
CPTH中的运算器由一片CPLD实现,有8种运算(见下表),通过S2、S1、S0来选择,运算数据由保存到寄存器A及寄存器W中,运算结果输出到直通门D。
(2)将55H写入A寄存器。
(3)将33H写入W寄存器。
0]的数据输入,置数据33H:
放开STEP键,CK由低变高,产生一个上升沿,数据33H被写入W寄存器。
(4)置下表的控制信号,检验运算器的运算结果。
运算器在加上控制信号及数据(A,W)后,立刻给出结果,不需时钟。
实验项目七程序计数器
掌握模型机中程序计数器PC的工作原理及其控制方法。
利用CPTH实验仪上的K16..K23开关做为DBUS的数据,其它开关做为控制信号,实现程序计数器PC的写入及加1功能。
PC是由两片74HC141构成的八位带预置记数器,预置数据来自数据总线。
记数器的输出通过74HC245(PCOE)送到地址总线。
PC值还可以通过74HC245(PCOE_D)送回数据总线。
PC原理图由图13所示。
在CPTH中,PC+1由PCOE取反产生。
当RST=0时,PC记数器被清0。
当LDPC=0时,在CK的上升沿,预置数据被打入PC记数器。
当PC+1=1时,在CK的上升沿,PC记数器加1。
当PCOE=0时,PC值送地址总线。
PC打入控制电路由一片74HC151构成(isp1016实现)。
原理图如图14所示。
功能表见下表。
当ELP=1时,LDPC=1,不允许PC被预置。
当ELP=0时,LDPC由IR3,IR2,Cy,Z确定。
当IR3IR2=1X时,LDPC=0,PC被预置。
当IR3IR2=00时,LDPC=非Cy,当Cy=1时,PC被预置。
当IR3IR2=01时,LDPC=非Z,当Z=1时,PC被预置。
(2)按照下表设置控制信号。
按一次STEP脉冲键,CK产生一个上升沿,数据PC被加1。
(3)二进制开关K23-K16用于DBUS[7:
每置控制信号后,按一下STEP键,观察PC的变化。
实验项目八存储器读写
掌握模型机中程序存储器的工作原理及控制方法。
利用CPTH实验仪上的K16..K23开关做为DBUS的数据,其它开关做为控制信号,实现程序存储器EM的读写操作。
存储器EM由一片6116RAM构成,是用户存放程序和数据的地方。
存储器EM通过一片74HC245与数据总线相连。
存储器EM的地址可选择由PC或MAR提供。
存储器EM的数据输出直接接到指令总线IBUS,指令总线IBUS的数据还可以来自一片74HC245。
当ICOE为0时,这片74HC245输出中断指令B8。
EM原理图如图15所示。
EM原理图
(2)按照下表置控制信号。
(3)将地址0写入MAR。
0]的数据输入,置数据00H:
按STEP键,将地址0写入MAR。
(4)将数据11H写入EM[0]。
按STEP键,将数据11H写入EM[0]。
(5)将地址1写入MAR。
0]的数据输入,置数据01H:
按STEP键,将地址1写入MAR。
(6)将数据22H写入EM[1]。
0]的数据输入,置数据22H:
按STEP键,将数据22H写入EM[1]。
(7)将地址0写入MAR。
(8)读EM[0]。
EM[0]被读出:
11H。
(9)将地址1写入MAR。
按STEP键,将地址1写入MAR。
(10)读EM[1]。
EM[1]被读出:
22H:
实验项目九微程序存储器读写
1、掌握微程序控制方式模型机的基本工作原理。
2、掌握微程序存储器uM的控制方法。
利用CPTH实验仪上的开关做为控制信号,实现微程序存储器uM的输出功能。
存储器uM由三片6116RAM构成,共24位微指令,采用水平型微指令格式。
存储器的地址由uPC提供,片选及读信号恒为低,写信号恒为高.存储器uM始终输出uPC指定地址单元的数据。
存储器uM原理图如图16所示。
(2)微程序存储器uM读出。
K0为1。
(3)uM输出uM[0]的数据。
(4)uM输出uM[1]的数据。
uM输出uM[2]的数据。
实验项目十中断
掌握模型机的中断功能的工作原理及中断过程中,申请、响应、处理、返回各阶段时序。
利用CPTH实验仪上的开关做控制信号,实现中断功能。
中断电路有两个D触发器,分别用于保存中断请求信号(IREQ)及中断响应信号(IACK)。
INT有上升沿时,IREQ触发器被置为1。
当下一条指令取指时(IREN=0),存贮器EM的读信号(EMRDP)被关闭,同时产生读中断指令(ICEN)信号,程序的执行被打断转而去执行B8指令响应中断。
在取B8的同时置IACK触发器被置为1,禁止新的中断响应。
EINT信号置0,IACK,IREQ触发器为0,中断电路可以响应新的中断。
中断控制器原理图如图17所示。
(2)置控制信号。
短路块选择端JINT指向RG侧,按RG脉冲键,产生中断请求,此时黄色REQ指示灯亮,同时B8输出红色指示灯。
按STEP脉冲键,产生取指脉冲,黄色ACK指示灯亮。
REQ,ACK灯灭。
实验项目十一模型计算机设计
1、掌握微程序控制模型计算机的基本工作原理和设计方法。
2、掌握微程序存储器uM的控制方法和上位机软件的使用方法。
设计模型计算机,并利用CPTH实验仪的上位机软件控制该模型计算机,实现模型机的数据传送功能。
模型机总体结构
CPTH模型计算机包括了一个标准CPU所具备所有部件,这些部件包括:
运算器ALU、累加器A、工作寄存器W、左移门L、直通门D、右移门R、寄存器组R0-R3、程序计数器PC、地址寄存器MAR、堆栈寄存器ST、中断向量寄存器IA、输入端口IN、输出端口寄存器OUT、程序存储器EM、指令寄存器IR、微程序计数器uPC、微程序存储器uM,以及中断控制电路、跳转控制电路。
其中运算器和中断控制电路以及跳转控制电路用CPLD来实现,其它电路都是用离散的数字电路组成。
微程序控制部分也可以用组合逻辑控制来代替。
模型机为8位机,数据总线、地址总线都为8位,但其工作原理与16位机相同。
相比而言8位机实验减少了烦琐的连线,但其原理却更容易被学生理解、吸收。
模型机的指令码为8位,根据指令类型的不同,可以有0到2个操作数。
指令码的最低两位用来选择R0-R3寄存器,在微程序控制方式中,用指令码做为微地址来寻址微程序存储器,找到执行该指令的微程序。
而在组合逻辑控制方式中,按时序用指令码产生相应的控制位。
在本模型机中,一条指令最多分四个状态周期,一个状态周期为一个时钟脉冲,每个状态周期产生不同的控制逻辑,实现模型机的各种功能。
模型机有24位控制位以控制寄存器的输入、输出,选择运算器的运算功能,存储器的读写。
24位控制位分别介绍如下:
EMRD:
程序存储器EM读信号。
PCOE:
将程序计数器PC的值送到地址总线ABUS上。
EMEN:
将程序存储器EM与数据总线DBUS接通,由EMWR和EMRD决定是将DBUS数据写到EM中,还是从EM读出数据送到DBUS。
IREN:
将程序存储器EM读出的数据打入指令寄存器IR和微指令计数器uPC。
EINT:
中断返回时清除中断响应和中断请求标志,便于下次中断。
ELP:
PC打入允许,与指令寄存器的IR3、IR2位结合,控制程序跳转。
MAREN:
将数据总线DBUS上数据打入地址寄存器MAR。
MAROE:
将地址寄存器MAR的值送到地址总线ABUS上。
OUTEN:
将数据总线DBUS上数据送到输出端口寄存器OUT里。
STEN:
将数据总线DBUS上数据存入堆栈寄存器ST中。
RRD:
读寄存器组R0-R3,寄存器R?
的选择由指令的最低两位决定。
RWR:
写寄存器组R0-R3,寄存器R?
CN:
决定运算器是否带进位移位,CN=1带进位,CN=0不带进位。
FEN:
将标志位存入ALU内部的标志寄存器。
X2、X1、X0三位组合来译码选择将数据送到DBUS上的寄存器。
WEN:
将数据总线DBUS的值打入工作寄存器W中。
AEN:
将数据总线DBUS的值打入累加器A中。
S2:
S2、S1、S0三位组合决定ALU做何种运算。
模型机寻址方式
模型机的寻址方式分五种:
累加器寻址:
操作数为累加器A,例如“CPLA”是将累加器A值取反,还有些指令是隐含寻址累加器A,例如“OUT”是将累加器A的值输出到输出端口寄存器OUT。
寄存器寻址:
参与运算的数据在R0-R3的寄存器