计算机组成原理实验14.docx
《计算机组成原理实验14.docx》由会员分享,可在线阅读,更多相关《计算机组成原理实验14.docx(27页珍藏版)》请在冰点文库上搜索。
计算机组成原理实验14
实验一寄存器实验
一、实验目的
1、了解CPTH模型机中寄存器的结构、工作原理及其控制方法。
2、熟悉CPTH实验仪的基本构造及操作方法。
二、实验电路
寄存器的作用是用于保存数据的,因为CPTH模型机是8位的,因此模型机中大部寄存器是8位的,标志位寄存器(Cy,Z)是二位的。
CPTH用74HC574(8-D触发器)来构成寄存器。
74HC574的功能如表1-1所示:
图1-174HC574的引脚图
1.在CLK的上升沿将输入端的数据打入到8个触发器中
2.当OC=1时触发器的输出被关闭,当OC=0时触发器的输出数据
表1-174HC574功能表
图1-274HC574工作波形图
三、实验内容
(一)proteus仿真平台
1、proteus仿真平台简介
Proteus软件是英国LabCenterElectronics公司出版的EDA工具软件。
它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。
它的主界面如图1-3所示:
图1-3proteus仿真平台主界面
2、在proteus平台上运行电路:
寄存器_1.DSN。
拨动开关,观察灯的亮灭,回答思考题1。
思考题1:
先使OC=1,拨D0~D7=00110011,按下CK提供CLK上升沿;再拨D0~D7=01000100,OC=0,此时Q0~Q7为多少?
3、CPTH模型机上,寄存器A的电路组成如图1-4所示。
在proteus平台上运行电路:
寄存器_2.DSN,回答思考题2。
图1-4寄存器A原理图
思考题2:
数据从D端传送到Q端,相应的控制端如何设置?
3、CPTH模型机上,寄存器组R0~R3的电路组成如图1-5所示。
在proteus平台上运行电路:
寄存器_3.DSN,回答思考题3。
图1-5寄存器组R0~R3原理图
74LS139是2-4线译码器,由A、B两个输入端选择控制4个输出端Y0~Y3,使能端E低电平有效,允许译码输出。
74HC32是或门,两个输入端同时为低电平,输出为低电平。
具体的控制方式见表1-2。
表1-2寄存器组R0~R3的选择及控制
选择端
控制端
功能描述
SB
SA
RRD
RWR
CK
0
0
0
1
*
Y0为0,选中R0,内部触发器数据输出(读出)
0
1
Y1为0,选中R1,数据输出
1
0
Y2为0,选中R2,数据输出
1
1
Y3为0,选中R3,数据输出
0
0
1
0
↑
Y0为0,选中R0,数据写入内部触发器(写入)
0
1
Y1为0,选中R1,数据写入
1
0
Y2为0,选中R2,数据写入
1
1
Y3为0,选中R3,数据写入
思考题3:
给寄存器赋值(写入)R1=31H、R3=33H,具体如何操作?
读取寄存器R1的值,又如何操作?
(二)CPTH组成原理实验平台
1、在CPTH实验平台上,给寄存器A、W赋值。
具体实验连线见表1-3。
表1-3寄存器A、W实验连线表
系统清零和手动状态设定:
K23-K16开关置零,按[RST]钮;按键盘上的[TV/ME]键三次,液晶屏上显示"Hand......",进入手动状态。
(在后面实验中实验模式为手动的操作方法不再详述)
(1)将55H写入A寄存器
二进制开关K23-K16用于DBUS[7:
0]的数据输入,置数据55H。
WEN接K4、AEN接K3,置控制信号为:
按住STEP脉冲键,CK由高变低,这时寄存器A的黄色选择指示灯亮,表明选择A寄存器。
放开STEP键,CK由低变高,产生一个上升沿,数据55H被写入A寄存器。
(注意观察:
数据是在放开STEP键后改变的,也就是CK的上升沿数据被打入。
)
思考题4:
如果将66H同时写入寄存器A、W,应如何设置控制信号?
2、在CPTH实验平台上,对寄存器R0,R1,R2,R3进行读写操作。
具体的实验连线见表1-4。
表1-4寄存器组R0~R3实验连线表
(1)将11H写入R0寄存器
二进制开关K23-K16用于DBUS[7:
0]的数据输入,置数据11H;
置控制信号为:
按住STEP脉冲键,CK由高变低,这时寄存器R0的黄色选择指示灯亮,表明选择R0寄存器。
放开STEP键,CK由低变高,产生一个上升沿,数据11H被写入R0寄存器。
(2)将22H写入R1寄存器
二进制开关K23-K16用于DBUS[7:
0]的数据输入,置数据22H;
置控制信号为:
按住STEP脉冲键,CK由高变低,这时寄存器R1的黄色选择指示灯亮,表明选择R1寄存器。
放开STEP键,CK由低变高,产生一个上升沿,数据22H被写入R1寄存器。
(3)读R0寄存器
置控制信号为:
这时寄存器R0的红色输出指示灯亮,R0寄存器的数据送上数据总线。
此时数据总线指示灯L7...L0为:
00010001,将K11(RRD)置为1,关闭R0寄存器输出。
(4)读R1寄存器
置控制信号为:
这时寄存器R1的红色输出指示灯亮,R1寄存器的数据送上数据总线。
此时数据总线指示灯L7...L0为:
00100010.将K11(RRD)置为1,关闭R1寄存器输出。
(注意观察:
数据在K11(RRD)为0时输出,不需要上升沿触发,与数据打入不同。
)
思考题5:
从开关输入的数据经寄存器R0传送到数据总线的过程中,有哪些控制信号及相应的取值是什么?
四、实验报告
1、简述CPTH实验平台上,如何对寄存器A、W的进行读写。
2、回答思考题。
实验二运算器及输出实验
一、实验目的
1、了解运算器ALU的组成及控制方法。
2、CPTH实验箱中数据输出到数据总线的选择控制。
二、实验内容
(一)proteus仿真平台
1、运算器ALU组成电路
图2-1中的运算器ALU由两片74LS181(4位运算功能发生器)构成。
其中74LS181
(1)做低4位算术逻辑运算,74LS181
(2)做高4位算术逻辑运算,74LS181
(1)的进位输出信号Cn+4与74LS181
(2)的进位输入信号Cn相连,两片74LS181的控制信号S3~S0、M分别相连。
两片4位的74LS181构成了8位字长的ALU;两片8位数据锁存器74LS273作为工作寄存器A和B,用于暂存参与运算的数据;参与运算的数据由数据开关通过三态门74LS245送入工作寄存器,ALU的运算结果也通过三态门74LS245发送到数据显示灯上。
74LS245是8路同相三态双向总线收发器,可双向传输数据。
使能端CE=0、且AB=1时,数据从A→B;使能端CE=0、且AB=0时,数据从B→A;CE=1时,AB两端为高阻状态。
74LS273是带清除功能的8D触发器,做为8位的数据锁存器。
MR=0时,输出全为0(清零);MR=1,且CLK上升沿来时,Q=D。
图2-1运算器ALU的组成电路
参与运算的数据由SW7~SW0二进制开关来设置,当SW-BUS=0时,数据通过三态门74LS245输出到数据锁存器A和B。
在CK1的上升沿将数据打入A寄存器,同时送至74LS181的A输入口;在CK2的上升沿将数据打入B寄存器,并送至74LS181的B输入口。
在proteus平台,运行电路:
运算器电路.DSN。
验证74LS181的算术运算和逻辑运算功能。
观察输出信号灯的亮灭,填写表2-1,并和理论值进行比较、验证。
(给定A=65H、B=97H,要求将输出结果转换成十六进制的数填入表2-1中)
具体操作步骤:
1)运行电路;
2)设置SW7~SW0开关为65H=01100101B;
3)设置SW-BUS=0,打开数据输入端的三态门;
4)按下CK1按钮,提供一个脉冲信号的上升沿,数据打入寄存器A;
5)设置SW7~SW0开关为97H=10010111B;
6)按下CK2按钮,提供一个脉冲信号的上升沿,数据打入寄存器B;
7)设置Cn=1,ALU无进位输入;
8)设置ALU-BUS=0,打开ALU输出端的三态门;
9)将S3~S0=0000、M=0,输出指示灯应显示A中的数据01100101B;
10)将S3~S0=1010、M=1,输出指示灯应显示B中的数据10010111B;
11)改变ALU的功能模式,观察的输出(二进制数),转换成十六进制数填入表2-1中。
表2-174LS181运算器功能验证表
注意:
AB表示A、B的逻辑与运算;A’表示A的逻辑非运算;A+B表示A、B的逻辑或运算;A
B表示逻辑异或运算。
(二)CPTH组成原理实验平台
1、数据的运算
CPTH中的运算器由一片CPLD实现(可编程器件),有8种运算,通过S2,S1,S0来选择,运算数据由寄存器A及寄存器W给出,运算结果输出到直通门D。
表2-2CPTH的运算功能选择控制
表2-3CPTH运算器的实验连接线表
(1)将55H写入A寄存器
二进制开关K23-K16用于DBUS[7:
0]的数据输入,置数据55H;
置控制信号为:
按住STEP脉冲键,CK由高变低,这时寄存器A的黄色选择指示灯亮,表明选择A寄存器。
放开STEP键,CK由低变高,产生一个上升沿,数据55H被写入A寄存器。
(2)将33H写入W寄存器
二进制开关K23-K16用于DBUS[7:
0]的数据输入,置数据33H;
置控制信号为:
按住STEP脉冲键,CK由高变低,这时寄存器W的黄色选择指示灯亮,表明选择W寄存器。
放开STEP键,CK由低变高,产生一个上升沿,数据33H被写入W寄存器。
(3)A=55H、W=33H,设置下表的控制信号,将下表填写完整,检验运算器运算结果。
表2-4A=55H、W=33H时的各种运算结果
K5(CyIN)
K2(S2)
K1(S1)
K0(S0)
结果(直通门D)
注释
*
0
0
0
88H
加运算
*
0
0
1
*
0
1
0
*
0
1
1
*
1
1
0
*
1
1
1
0
带进位加运算
1
带进位加运算
0
带进位减运算
1
带进位减运算
注意:
运算器在加上控制信号及数据(A,W)后,立刻给出结果,不须时钟。
2、数据输出/移位
CPTH中有7个寄存器可以向数据总线输出数据,但在某一特定时刻只能有一个寄存器输出数据,由X2,X1,X0决定那一个寄存器输出数据。
图2-2数据输出选择器原理图
74HC138是3-8译码器,由输入端CBA选择Y0~Y7中的一位输出(输出低电平)。
表2-5寄存器输出选择控制
表2-6寄存器输出控制连接线表
(1)数据输出实验
置下表的控制信号,检验输出结果
(2)移位输出
图2-3ALU直接输出和零标志位产生原理图
图2-4ALU左移输出原理图
图2-5ALU右移输出原理图
直通门将运算器的结果不移位直接送总线。
当X2X1X0=100时运算器结果通过直通门送到数据总线。
同时,直通门上还有判0电路,当运算器的结果为全0时,Z=1,右移门将运算器的结果右移一位送总线。
当X2X1X0=101时运算器结果通过右通门送到数据总线。
具体内部连接见图2-6。
图2-6移位门连线
左移门将运算器的结果左移一位送总线。
当X2X1X0=110时运算器结果通过左通门送到数据总线。
具体连线见图2-6。
思考题:
(1)设置A=55H,改变CN、CyIN的值,观察移位门的输出,填写下表:
表2-7数据的移位输出结果
CN
CyIN
L
D
R
0
*
55H(01010101B)
1
0
1
1
注意:
移位与输出门是否打开无关,无论运算器结果如何,移位门都会给出移位结果。
但究竟把那一个结果送数据总线由X2X1X0输出选择决定。
(2)把右移门的数据送到数据总线,X2X1X0如何设置?
三、实验报告
1、整理实验数据、填写表格。
2、回答思考题。
实验三 存储器EM实验
一、实验目的:
1、了解CPTH实验箱存储器EM的工作原理及控制方法。
2、掌握对程序存储器EM进行读、写操作的方法。
二、实验原理及内容:
(一)proteus仿真平台
图3-1proteus仿真存储器原理图
图3-1所示的存储器EM由一片6116RAM构成,是用户存放程序和数据的地方。
6116RAM是2K*8位静态随机存储器芯片。
E片选、G读允许、W写允许均为低电平有效。
(有11根地址线,A0~A10,存储空间为211=2K)
74HC245是8线双向三态收发器。
DR方向控制端,DR=0:
B→A;DR=1:
A→B。
E输出控制端,低电平有效。
图3-1中,静态存储器6116的E端接地,片选信号有效;G端接EMRD,当EMRD=0时读存储器内容;EMWR与CK经或门后接6116的W端,当EMWR=CK=0时,W为低电平,进行写存储器的操作;地址输入引入脚A10~A8接地,因此实际存储容量为256字节。
6116的数据引脚为输入、输出双向引脚,在某一时刻只能进行读或者写的操作。
图3-1电路中,控制信号及其作用如下:
(1)EMEN:
存储器与数据总线之间的传输控制。
当EMEN=0时,三态门打开,允许数据传送;当EMEN=1时,关闭三态门。
(2)EMWR:
存储器写信号。
当EMEN=0、EMWR=0时,三态门打开,74HC245的数据传输方向B→A,按下CK(经反相器)使或门输出为低电平,此时存储器的W写信号有效,进行写存储器的操作。
松开CK后或门的输出为高电平,W信号无效;当EMWR=1时,74HC245的数据传输方向A→B。
(3)EMRD:
存储器读信号。
当EMRD=0时,存储器的G信号有效,把指定地址单元的内容读出,如果此时EMEN=0、EMWR=1,将读出的数据送到数据总线;如果此时EMEN=1,读出的数据仅送显示灯。
1、写存储器实验
在proteus平台,运行电路:
存储器EM1.DSN。
向31H、32H、33H、34H、35H存储单元分别写入数据1H、2H、3H、4H、5H。
以向31H单元写入1H为例填写以下空白:
1)设置地址及数据:
ABUS=(),DBUS=();
2)设置控制信号值:
EMEN=()、EMWR=()、EMRD=()
3)按下CK,将总线上的数据1H写入RAM的31H单元;
4)重复1)-3)步,将数据写入指定的单元。
2、读存储器实验
依次读出31H、32H、33H、34H、35H存储单元中的内容,观察上述单元中的内容是否与前面写入的一致。
设置控制信号值:
EMEN=()、EMWR=()、EMRD=()
(二)、CPTH组成原理实验平台
CPTH实验箱上的存储器EM电路如图3-2所示。
其地址由PC或MAR提供;数据输出D0~D7直接接到指令总线IBUS,同时还通过一片74HC245与数据总线相连。
指令总线IBUS的数据还可以来自一片74HC245。
当ICOE为0时,这片74HC245输出中断指令B8(中断实验中使用)。
图3-2CPTH存储器EM原理图
写数据时,先在数据开关上设置好要写的存储单元地址,把地址值送到MAR(地址寄存器)或者PC(程序计数器),由它们把地址送给存储器EM;在数据开关上设置好要写的数据,设置EMEN=0,三态门打开允许数据传送到6116,并且使EMRD=1、EMWR=0、按下CK按钮(STEP键)即可将开关数据写入指定地址单元。
读数据时,先在数据开关上设置好要写的存储单元地址,把地址值送到MAR(地址寄存器)或者PC(程序计数器),设置EMRD=0、EMWR=1、EMEN=1即可读出指定地址单元的内容。
CPTH实验箱中地址寄存器MAR的工作原理图如图3-3所示。
图3-3寄存器MAR原理图
图3-3中,MAREN=0且CK上升沿时,数据锁存到74HC574中;当MAROE=0时,输出寄存器中的数据。
1、CPTH写存储器EM实验
表3-1CPTH存储器实验连接线表
(1)将地址值30H写入MAR寄存器
二进制开关K23-K16用于DBUS[7:
0]的数据输入,置数据30H
置控制信号为:
按住STEP脉冲键,CK由高变低,这时寄存器MAR的黄色选择指示灯亮,表明选择MAR寄存器。
放开STEP键,CK由低变高,产生一个上升沿,数据30H被写入MAR寄存器。
K14(MAROE)为0,MAR寄存器中的地址输出,MAR红色输出指示灯亮。
将K14(MAROE)置为1,关闭MAR输出。
(2)写存储器EM
存贮器EM的地址由MAR提供,将数据1H存入地址为31H的存储单元。
二进制开关K23-K16用于DBUS[7:
0]的数据输入,置数据1H;
置控制信号为:
按STEP键,将数据1H写入EM[31H]
(3)连续写存储器EM
存储器EM的地址由MAR提供,将地址为31H~35H的存储单元内容更改为1H、2H、3H、4H、5H。
依操作步骤,写出相应的控制信号及取值,填入表3-2。
表3-2CPTH连续写存储器操作步骤
操作
开关数据
控制信号
说明
IREN
PCOE
MAROE
MAREN
EMEN
EMRD
EMWR
写地址
1H写入【31H】
写数据
写地址
2H写入【32H】
写数据
写地址
3H写入【33H】
写数据
2、CPTH读存储器EM实验
存储器EM的地址由MAR提供,将地址为31H~35H的存储单元内容读取出来。
观察上述单元中的内容是否与前面写入的一致。
表3-3CPTH连续读存储器操作步骤
开关数据
控制信号
显示EM内容
IREN
PCOE
MAROE
MAREN
EMEN
EMRD
EMWR
注意:
读EM时,EMEN、MAREN有效都是往数据总线输送数据,二者不能同时为0。
三、实验报告
1、简述CPTH实验箱存储器EM的工作原理。
2、填写实验内容表格。
实验四 程序计数器PC实验
一、实验目的:
1、了解模型机中程序计数器PC的工作原理及其控制方法。
2、了解程序执行过程中顺序和跳转指令的实现方法。
二、实验电路及内容:
CPTH实验箱中的程序计数器PC是由两片74HC161(4位可预置同步加法计数器)构成的八位计数器,预置数据来自数据总线。
程序计数器的输出通过74HC245(双向三态门)送到地址总线或者送回数据总线。
CPTH实验箱的PC组成原理图见图4-1。
图4-1程序计数器PC原理图
74HC161(4位可预置同步加法计数器),PE是预置端,低电平有效,当PE=0时,CLK的上升沿触发使Q端同P端;CEP、CET是计数端,当CEP=CET=1时,CLK的上升沿触发使Qn+1=Qn+1;MR是清零端。
图4-1中各个控制信号的作用如下:
当RST=0时,PC记数器被清0
当LDPC=0时,在CK的上升沿,预置数据被打入PC记数器
当PC+1=1时,在CK的上升沿,PC记数器加一(PC+1由PCOE取反产生)
当PCOE=0时,PC值送地址总线
其中的LDPC预置控制信号由一片74HC151(八选一数据选择器)构成。
(由isp1016实现)
图4-2LDPC预置控制端产生原理图
LDPC由ELP、JIR2、JIR3来决定输出结果。
具体见表4-1。
表4-1选择确定LDPC的取值表
当ELP=1时,LDPC=1,不允许PC被预置
当ELP=0时,LDPC由JIR3,JIR2,Cy,Z确定
当JIR3JIR2=1X时,LDPC=0,PC被预置
当JIR3JIR2=00时,LDPC=非Cy,当Cy=1时,PC被预置
当JIR3JIR2=01时,LDPC=非Z,当Z=1时,PC被预置
表4-2CPTH实验箱PC实验连接线表
1、PC加一实验
置控制信号为:
按一次STEP脉冲键,CK产生一个上升沿,数据PC被加一。
2、PC预置实验
二进制开关K23-K16用于DBUS[7:
0]的数据输入,置数据30H
置控制信号为:
每置控制信号后,按一下STEP键,观察PC的变化。
(注:
LDPC=0时,CK上升沿触发PC预置初值,即PC=30H)
思考题:
设置PC值从30H开始,逐次加一至34H,具体操作及取值填表4-3。
表4-3PC操作控制表
开关数据
控制信号
操作说明
PCOE
JIR3
JIR2
JRZ
JRC
ELP
预置初值PC=30H
PC+1
PC+1
PC+1
PC+1
3、PC给存储器EM提供地址
存储器EM的地址由PC提供,将地址为31H~35H的存储单元内容更改为1H、2H、3H、4H、5H。
依操作步骤,写出相应的控制信号及取值,填入表4-4。
表4-4CPTH连续写存储器操作步骤
操作
开关数据
控制信号
PCOE
ELP
JIR3
EMEN
EMRD
EMWR
说明
PC=31H
PC预置初值
PC+1
写【31H】
PC+1
写【32H】
PC+1
写【33H】
PC+1
写【34H】
PC+1
写【35H】
注意:
按一次STEP脉冲键,同时提供给PC和EM的CK端一个上升沿,
即PC+1与写EM操作同时进行。
思考题:
当PC=34H时,这时完成修改哪个单元的内容?
设置控制信号,将地址为31H~35H的存储单元内容读取出来。
观察上述单元中的内容是否与前面写入的一致。
写出相应的控制信号及取值,填入表4-5。
表4-5CPTH连续读存储器操作步骤
操作
开关数据
控制信号
PCOE
ELP
JIR3
EMEN
EMRD
EMWR
说明
PC=31H
PC预置初值
PC+1
读【31H】=()
PC+1
【