合肥工业大学计算机组成原理实验报告.doc
《合肥工业大学计算机组成原理实验报告.doc》由会员分享,可在线阅读,更多相关《合肥工业大学计算机组成原理实验报告.doc(35页珍藏版)》请在冰豆网上搜索。
实验一存储器实验
一、实验目的
了解静态随机存取存贮器的工作原理;掌握读写存贮器的方法。
二、实验原理
实验仪的存贮器MEM单元选用一片静态存贮器6116(2K×8bit)存放程序和数据。
CE:
片选信号线,低电平有效,实验仪已将该管脚接地。
OE:
读信号线,低电平有效。
WE:
写信号线,低电平有效。
A0..A10:
地址信号线。
I/O0..I/O7:
数据信号线。
CE
OE
WE
功能
1
×
×
不选中6116
0
0
1
读
0
1
0
写
0
0
0
不确定
SRAM6116功能表
存贮器挂在CPU的总线上,CPU通过读写控制逻辑,控制MEM的读写。
实验中的读写控制逻辑如下图:
读写控制逻辑
M_nI/O用来选择对MEM还是I/O读写,M_nI/O=1,选择存贮器MEM;M_nI/O=0,选择I/O设备。
nRD=0为读操作;nWR=0为写操作。
对MEM、I/O的写脉冲宽度与T2一致;读脉冲宽度与T2+T3一致,T2、T3由CON单元提供。
存贮器实验原理图
存贮器数据信号线与数据总线DBus相连;地址信号线与地址总线ABus相连,6116的高三位地址A10..A8接地,所以其实际容量为256字节。
数据总线DBus、地址总线ABus、控制总线CBus与扩展区单元相连,扩展区单元的数码管、发光二极管上显示对应的数据。
IN单元通过一片74HC245(三态门),连接到内部数据总线iDBus上,分时提供地址、数据。
MAR由锁存器(74HC574,锁存写入的地址数据)、三态门(74HC245、控制锁存器中的地址数据是否输出到地址总线上)、8个发光二极管(显示锁存器中的地址数据)组成。
T2、T3由CON单元提供,按一次CON单元的uSTEP键,时序单元发出T1信号;按一次uSTEP键,时序单元发出T2信号;按一次uSTEP键,时序单元发出T3信号;再按一次uSTEP键,时序单元又发出T1信号,……
按一次STEP键,相当于按了三次uSTEP键,依次发出T1、T2、T3信号。
其余信号由开关区单元的拨动开关模拟给出,其中M_nI/O应为高(即对MEM读写操作)电平有效,nRD、nWR、wMAR、nMAROE、IN单元的nCS、nRD都是低电平有效。
三、实验结果及分析
四、思考题
1.本实验系统中所使用的存储芯片6116的容量有多大?
系统中实际可访问的空间是多大?
2K*8位、256*8位
2.本实验系统中存储器的读写控制信号如何得到的?
它们各自在什么时候有效?
通过手拨动开关来获得控制信号,OE:
读信号线,低电平有效。
WE:
写信号线,低电平有效。
实验二系统总线和具有基本输入输出功能的总线接口实验
一、实验目的
理解总线的概念及其特性;掌握控制总线的功能和应用。
二、实验内容
由于存储器和输入、输出设备最终是要挂接到外部总线上,所以需要外部总线提供数据信号、地址信号以及控制信号。
在该实验平台中,外部总线分为数据总线、地址总线、和控制总线,分别为外设提供上述信号。
外部总线和CPU内总线之间通过三态门连接,同时实现了内外总线的分离和对于数据流向的控制。
地址总线可以为外部设备提供地址信号和片选信号。
由地址总线的高位进行译码,系统的I/O地址译码原理见下图(在地址总线单元)。
由于使用A6、A7进行译码,I/O地址空间被分为四个区,如表所示:
I/O地址译码原理图
A07A06
片选
地址范围
00
IO_nCE0
00-3F
01
IO_nCE1
40-7F
10
IO_nCE2
80-BF
11
IO_nCE3
C0-FF
I/O地址空间分配
CPU通过读写控制逻辑,控制MEM和I/O设备的读写。
实验中的读写控制逻辑如下图:
读写控制逻辑
M_nIO用来选择对MEM还是I/O读写,M_nIO=1,选择存贮器MEM;M_nIO=0,选择I/O设备。
nRD=0为读操作;nWR=0为写操作。
对MEM、I/O的写脉冲宽度与T2一致;读脉冲宽度与T2+T3一致,T2、T3由CON单元提供。
在理解读写控制逻辑的基础上我们设计一个总线传输的实验。
实验所用总线传输实验框图如下图所示,它将几种不同的设备挂至总线上,有存贮器、输入设备、输出设备、寄存器。
这些设备都需要有三态输出控制,按照传输要求恰当有序的控制它们,就可实现总线信息传输。
总线传输实验框图
一、读写控制逻辑实验
1、连线说明:
CBus单元:
M_nIO、nRD、nWR、nINTA(JP42)
——
开关区单元:
K15..K12(JP92)
CBus单元:
nM_RD、nM_WR、nIO_RD、nIO_WR(JP50)
——
扩展区单元:
JP67
注意:
nINTA(K12)置“1”,使中断响应信号不干扰读写存贮器。
2、打开实验仪电源,按CON单元的nRST按键,复位实验仪
3、如果EXEC键上方指示灯点亮,表示实验仪在运行状态;否则,按一次EXEC键,使EXEC键上方指示灯点亮
4、对MEM进行读操作(M_nIO=1、nRD=0、nWR=1),按CON单元的uSTEP键,在T2、T3时刻,扩展区单元JP67对应的DS159指示灯熄灭,DS160-DS162指示灯点亮,表示nM_RD读信号在T2、T3时刻有效
5、对MEM进行写操作(M_nIO=1、nRD=1、nWR=0),按CON单元的uSTEP键,在T2时刻,扩展区单元JP67对应的DS160指示灯熄灭,DS159、DS161、DS162指示灯点亮,表示nM_WR写信号在T2时刻有效
6、对I/O进行读操作(M_nIO=0、nRD=0、nWR=1),按CON单元的uSTEP键,在T2、T3时刻,扩展区单元JP67对应的DS161指示灯熄灭,DS159、DS160、DS162指示灯点亮,表示nIO_RD读信号在T2、T3时刻有效
7、对I/O进行写操作(M_nIO=0、nRD=1、nWR=0),按CON单元的uSTEP键,在T2时刻,扩展区单元JP67对应的DS162指示灯熄灭,DS159-DS161指示灯点亮,表示nIO_WR写信号在T2时刻有效
二、基本输入输出功能的总线接口实验。
1、根据挂在总线上的几个基本部件,设计一个简单的流程:
①输入设备将一个数打入R0寄存器。
②输入设备将另一个数打入地址寄存器。
③将R0寄存器中的数写入到当前地址的存储器中。
④将当前地址的存储器中的数通过OUT单元用LED数码管显示。
2、连线说明:
CBus单元:
M_nIO、nRD、nWR、nINTA(JP42)
——
开关区单元:
K5..K12(JP92)
ALU单元:
rR0、wR0
——
开关区单元:
K9、K8
ALU单元:
IN0..IN7(JP22)
——
iDBus单元:
JP37
MAR单元:
nMAROE、wMAR(JP13)
——
开关区单元:
K11、K10(JP94)
MAR单元:
D0..D7(JP14)
——
iDBus单元:
iD0..iD7(JP38)
存贮器MEM单元:
A0..A7(JP72)
——
ABus单元:
A00..A07(JP56)
存贮器MEM单元:
D0..D7(JP73)
——
DBus单元:
D0..D7(JP53)
存贮器MEM单元:
M_nRD、M_nWR(JP71)
——
CBus单元:
nM_RD、nM_WR(JP44)
IN单元:
IN0..IN7(JP101)
——
DBus单元:
D0..D7(JP52)
IN单元:
nRD
——
CBus单元:
nIO_RD(JP49)
IN单元:
nCS
——
扩展区单元:
GND
OUT单元:
nWR(JP68)
——
CBus单元:
nIO_WR(JP48)
OUT单元:
nCS
——
扩展区单元:
GND
OUT单元:
JP69
——
DBus单元:
D0..D7(JP54)
OUT单元:
JP70
——
扩展区单元:
JP65
注意:
nINTA(K12)置“1”,使中断响应信号不干扰读写存贮器。
3、具体操作步骤图示如下:
在星研软件的工具条中选择“简单模型机实验”,打开简单模型机实验的数据通路图。
(1)拨动开关区单元开关:
M_nIO=1、nRD=1、nWR=1、nINTA=1、rR0=1、wR0=1、wMAR=1;nMAROE=0(允许地址寄存器MAR输出到地址总线)
(2)打开实验仪电源
(3)通过输入设备(IN单元)将数据55H写入R0寄存器
将IN单元置01010101,wR0=0,允许写寄存器R0,M_nIO=0、nRD=0、nWR=1,点击星研软件“单节拍运行”按扭(运行一个机器周期),观察通路图,T2、T3时刻IN单元输出数据,在T3的下降沿IN单元输出的数据写入R0。
wR0=1,结束写R0操作
(4)读R0中数据写入存贮器MEM的15H单元
将IN单元置00010101,wMAR=0,允许写MAR,M_nIO=0、nRD=0、nWR=1,点击星研软件“单节拍运行”按扭(运行一个机器周期),观察通路图,在T3的下降沿IN单元输出的数据写入地址寄存器MAR。
wMAR=1,结束写MAR操作。
rR0=0,允许读寄存器R0;M_nIO=1、nRD=1、nWR=0,允许写存贮器;点击星研软件“单节拍运行”按扭(运行一个机器周期),观察通路图,在T2的时刻完成对存贮器的写入操作。
rR0=1,M_nIO=1、nRD=1、nWR=1,结束写MEM操作。
(5)将当前地址的存贮器中数据读出,写入R0寄存器中。
将IN单元置00010101,wMAR=0,允许写MAR,M_nIO=0、nRD=0、nWR=1,点击星研软件“单节拍运行”按扭(运行一个机器周期),观察通路图,在T3的下降沿IN单元输出的数据写入地址寄存器MAR。
wMAR=1,结束写MAR操作。
wR0=0,允许写寄存器R0;M_nIO=1、nRD=0、nWR=1,允许读存贮器;点击星研软件“单节拍运行”按扭(运行一个机器周期),观察通路图,T2、T3时刻MEM单元输出数据,在T3的下降沿MEM单元输出的数据写入R0。
wR0=1,M_nIO=1、nRD=1、nWR=1,结束写R0操作。
(6)读R0寄存器,数据写入OUT单元,用数码管显示数据。
rR0=0,允许读寄存器R0;M_nIO=0、nRD=1、nWR=0,允许写I/O设备;点击星研软件“单节拍运行”按扭(运行一个机器周期),观察通路图,在T2的下降沿,R0寄存器输出的数据写入OUT单元。
rR0=1、M_nIO=1、nRD=1、nWR=1,结束本次操作。
三、实验结果及分析
本次实验由于是2人完成,由我的学号作为地址,将另一个人的学号输出。
四、思考题
1.本实验系统中外设的读写控制信号如何得到的?
对外设的读、写控制信号能不能同时发出?
对存储器呢?
本实验系统中外设的读写控制信号是拨开关得到的,对外设的读、写控制信号不能同时发出,对存储器的读、写控制信号也不能同时发出。
2.总线上的部件输出数据时为什么要加三态门?
三态门是一种扩展逻辑功能的输出级,也是一种控制开关。
主要是用于总线的连接,因为总线只允许同时只有一个使用者。
通常在数据总线上接有多个器件,每个器件通过OE/CE之类的信