计算机组成原理虚拟实验指导书.docx
《计算机组成原理虚拟实验指导书.docx》由会员分享,可在线阅读,更多相关《计算机组成原理虚拟实验指导书.docx(27页珍藏版)》请在冰豆网上搜索。
![计算机组成原理虚拟实验指导书.docx](https://file1.bdocx.com/fileroot1/2022-12/13/d9b541ae-ef59-4089-8a1f-d016aa0f5082/d9b541ae-ef59-4089-8a1f-d016aa0f50821.gif)
计算机组成原理虚拟实验指导书
计算机组成原理
实验指导书
(虚拟实验系统)
实验11位全加器
Ø实验目的
⏹掌握全加器的原理及其设计方法。
⏹熟悉组成原理虚拟教学平台的使用。
Ø实验设备
与非门(3片)、异或门(2片)、开关若干、指示灯若干
Ø实验原理
1位二进制加法器单元有三个输入量:
两个二进制数Ai,Bi和低位传来的进位信号Ci,两个输出量:
本位和输出Si以及向高位的进位输出C(i+1),这种考虑了全部三个输入量的加法单元称为全加器。
来实验要求利用基本门搭建一个全加器,并完成全加器真值表。
Ø实验步骤
各门电路芯片引脚显示于组件信息栏。
1.测从组件信息栏中添加所需组件到实验流程面板中,按照图1.1所示搭建实验。
图1.1组合逻辑电路实验流程图
2.打开电源开关,按表1设置开关的值,完成表1-1。
表1-1
输入
输出
Ai
Bi
Ci
Si
C(i+1)
0
0
0
0
0
1
0
1
0
0
1
1
1
0
0
1
0
1
1
1
0
1
1
1
实验2算术逻辑运算实验
Ø实验目的
⏹了解运算器的组成结构
⏹掌握运算器的工作原理
⏹掌握简单运算器的组成以及数据传送通路
⏹验证运算功能发生器(74LS181)的组合功能
Ø实验设备
74LS181(2片),74LS273(2片),74LS245(2片),开关若干,灯泡若干,单脉冲一片
Ø实验原理
实验中所用的运算器数据通路图如图2.1所示,实验中的运算器由两片74LS181以并/串形式构成8位字长的ALU。
运算器的输出经过一个三态门(74LS245)和数据总线相连,运算器的两个数据输入端分别由两个锁存器(74LS373)锁存,锁存器的输入连至数据总线,数据开关用来给出参与运算的数据(A和B),并经过一个三态门(74LS245)和数据显示灯相连,显示结果。
⏹74LS181:
完成加法运算
⏹74LS273:
输入端接数据开关,输出端181。
在收到上升沿的时钟信号前181和其输出数据线之间是隔断的。
在收到上升沿信号后,其将输出端的数据将传到181,同时,作为触发器,其也将输入的数据进行保存。
因此,通过增加该芯片,可以通过顺序输入时钟信号,将不同寄存器中的数据通过同一组输出数据线传输到181芯片的不同引脚之中
⏹74LS245:
相当于181的输出和数据显示灯泡组件之间的一个开关,在开始实验后将其打开,可以使181的运算结果输出并显示到灯泡上
图2.1运算器通路图
Ø实验步骤
1.选择实验设备:
根据实验原理图,将所需要的组件从组件列表中拖到实验设计流程栏中。
搭建实验流程:
将已选择的组件进行连线(鼠标从一个引脚的端点拖动到另一组件的引脚端,即完成连线)。
搭建好的实验流程图如图2.2所示。
图2.2运算器实验流程图
2.初始化各芯片的控制信号,仔细检查无误后点击【电源开/关】按钮接通电源,用二进制数码开关向DR1和DR2寄存器置数。
具体操作步骤图示如下:
其中T4的脉冲信号通过鼠标双击单脉冲产生。
3.检验DR1和DR2中存的数是否正确,具体操作为:
关闭数据输入三态门(SW-B=1),打
开ALU输出三态门(ALU-B=0),当置S3、S2、S1、S0、M为11111时,总线指示灯显示DR1中的数,而置成10101时总线指示灯显示DR2中的数。
4.验证74LS181的算术运算和逻辑运算功能(采用正逻辑)
在给定DR1=65、DR2=A7的情况下,改变运算器的功能设置,观察运算器的输出,填入下表2-2中,并和理论分析进行比较、验证。
74LS181的功能见表2-1,A和B分别表示参与运算的两个数,“+”表示逻辑或,“加”表示算术求和。
表2-1
S3S2S1S0
M=0(算术运算)
M=1(逻辑运算)
CN=1(无进位)
CN=0(有进位)
0000
F=A
F=A加1
F=
0001
F=A+B
F=(A+B)加1
F=
0010
F=A+
F=(A+
)加1
F=
B
0011
F=0减1
F=0
F=0
0100
F=A+A
F=A加A
加1
F=
0101
F=(A+B)加A
F=(A+B)加A
加1
F=
0110
F=A减B减1
F=A减B
F=
0111
F=A
减1
F=A
F=A
1000
F=A加AB
F=A加AB加1
F=
+B
1001
F=A加B
F=A加B加1
F=
1010
F=(A+
)加AB
F=(A+
)加AB加1
F=B
1011
F=AB减1
F=AB
F=AB
1100
F=A加A
F=A加A加1
F=1
1101
F=(A+B)加A
F=(A+B)加A加1
F=A+
1110
F=(A+
)加A
F=(A+
)加A加1
F=A+B
1111
F=A减1
F=A
F=A
表2-2
DR1
DR2
S3S2S1S0
M=0(算术运算)
M=1(逻辑运算)
CN=1(无进位)
CN=0(有进位)
65
A7
0000
F=()
F=()
F=()
65
A7
0001
F=()
F=()
F=()
65
A7
0010
F=()
F=()
F=()
65
A7
0011
F=()
F=()
F=()
65
A7
0100
F=()
F=()
F=()
65
A7
0101
F=()
F=()
F=()
65
A7
0110
F=()
F=()
F=()
65
A7
0111
F=()
F=()
F=()
65
A7
1000
F=()
F=()
F=()
65
A7
1001
F=()
F=()
F=()
65
A7
1010
F=()
F=()
F=()
65
A7
1011
F=()
F=()
F=()
65
A7
1100
F=()
F=()
F=()
65
A7
1101
F=()
F=()
F=()
65
A7
1110
F=()
F=()
F=()
65
A7
1111
F=()
F=()
F=()
Ø思考与分析
1.运算器主要由哪些器件组成?
怎样连接这些器件?
实验3存储器实验
Ø实验目的
⏹掌握静态存储随机存储器RAM的工作特性
⏹掌握静态存储随机存储器RAM的读写方法
Ø实验设备
74LS273(一片),静态存储器MEMORY6116(一片),与门(一片),与非门(一片),单脉冲(一片),开关若干,灯泡若干
Ø实验原理
在微机系统中,常用的静态RAM有6116、6264、62256等。
在本实验中使用的是6116。
6116为2K╳8位的静态RAM,其逻辑图3.1如下:
图3.16116逻辑图
其中A0~10为11根地址线,I/O0~7为8根数据线,CS为片选端,OE为数据输出选通端,WR为写信号端。
其工作方式见下表3-1:
表3-1工作方式表
控制信号
CS
OE
WR
数据线
读
L
L
H
输入
写
L
X
L
输出
非选
H
X
X
高阻态
实验所用的半导体静态存储器电路原理如图3.2所示,实验中的静态存储器一片6116(2K×8)构成,其数据线接至数据总线,地址线由地址锁存器(74LS273)给出。
地址灯AD0—AD7与地址线相连,显示地址线内容。
数据开关经一三态门(74LS245)连至数据总线,分时给出地址和数据。
图3.2存储器实验原理图
因地址寄存器为8位,接入6116的地址A7—A0,而高三位A8—A10接地,所以其实际容量为256字节。
6116有三个控制线:
CE(片选线)、OE(读线)、WE(写线)。
当片选有效(CE=0)时,OE=0时进行读操作,WE=0时进行写操作。
本实验中将OE常接地,在此情况下,当CE=0、WE=0时进行读操作,CE=0、WE=1时进行写操作,其写时间与T3脉冲宽度一致。
控制信号SW-B为低电平有效,控制信号LDAR为高电平有效。
Ø实验步骤
1.选择实验设备:
根据实验原理图,将所需要的组件从组件列表中拖到实验设计流程栏中。
搭建实验流程:
将已选择的组件进行连线(鼠标从一个引脚的端点拖动到另一组件的引脚端,即完成连线)。
搭建好的实验流程图如图3.3所示。
图3.3存储器实验流程图
2.初始化各芯片的控制信号,仔细检查无误后点击【电源开/关】按钮接通电源。
3.写存储器。
给存储器的00、01、02、03、04地址单元中分别写入数据11H、12H、
13H、14H、15H。
由图3.2存储器实验原理图看出,由于数据和地址全由一个数据开关给出,因此要分
时地给出。
下面的写存储器要分两个步骤,第一步写地址,先关掉存储器的片选(CE=1),
打开地址锁存器门控信号(LDAR=1),打开数据开关三态门(SW-B=0),由开关给出要写入的存储单元的地址,双击单脉冲产生T3脉冲将地址输入到地址锁存器;第二步写数据,关掉地址锁存器门控信号(LDAR=0),打开存储器片选,使之处于写状态(CE=0,WE=1),由开关给出此单元要写入的数据,,双击单脉冲产生T3脉冲将数据写入到当前的地址单元中。
写其他单元依次循环上述步骤。
写存储器流程如图3.4所示(以向00号单元写入11H为例)。
图3.4写存储器流程图
4.读存储器。
依次读出第00、01、02、03、04号单元中的内容,观察上述各单元中的内容是否与前
面写入的一致。
同写操作类似,读每个单元也需要两步,第一步写地址,先关掉存储器的片
选(CE=1),打开地址锁存器门控信号(LDAR=1),打开数据开关三态门(SW-B=0),由开关给出要写存储单元的地址,双击单脉冲产生T3脉冲将地址输入到地址锁存器;第二步读存储器,关掉地址锁存器门控信号(LDAR=0),关掉数据开关三态门(SW-B=1),片选存储器,使它处于读状态(CE=0,WE=0),此时数据总线上显示的数据即为从存储器当前地址中读出的数据内容。
读其他单元依次循环上述步骤。
读存储器操作流程如图3.5所示(以从00号单元读出11H数据为例)
图3.5读存储器流程图
Ø思考与分析
1.由两片6116(2K*8)怎样扩展成(2K*16)或(4K*8)的存储器?
怎样连线?
实验4总线基本实验
Ø实验目的
⏹掌握静态存储随机存储器RAM的工作特性
⏹掌握静态存储随机存储器RAM的读写方法
Ø实验设备
74LS374(一片),74LS245(一片),74LS273(一片),静态存储器MEMORY6116(一片),8位数据排线(一片),与门(两片),与非门(一片),单脉冲(三片),开关若干,灯泡若干。
Ø实验原理
总线传输实验框图如图4.1所示,它将几种不同的设备挂至总线上,有存储器、输入
设备、输出设备、寄存器。
这些设备都需要有三态输出控制,按照传输要求恰当有序的控制
它们,就可实现总线信息传输。
图4.1总线传输实验框图
总线基本实验要求如下:
根据挂在总线上的几个基本部件,设计一个简单的流程。
(1)输入设备将一个数输入R0寄存器。
(2)输入设备将另一个数输入地址寄存器。
(3)将R0寄存器中的数写入到当前地址的存储器中。
(4)将当前地址的存储器中的数用LED数码管显示。
Ø实验步骤
1.选择实验设备:
根据实验原理图,将所需要的组件从组件列表中拖到实验设计流程栏中。
搭建实验流程:
将已选择的组件进行连线(鼠标从一个引脚的端点拖动到另一组件的引脚端,即完成连线)。
搭建好的实验流程图如图4.3所示。
2.初始化各芯片的控制信号,仔细检查无误后点击【电源开/关】按钮接通电源。
图4.2总线基本实验流程图
3.实验的具体操作步骤如图4.2所示。
首先应关闭所有三态门(SW-B=1,CS=1,R0-B=1,LED-B=1),并将关联的信号置为:
LDAR=0,LDR0=0,W/R(RAM)=1,W/R(LED)=1。
然后参照如下操作流程,先给数据开关置数,打开数据输出三态门,开关LDR0置1,并双击旁边的单脉冲,使产生一个上升沿将数据输入到R0中;然后继续给数据开关置数,开关LDAR置1,并双击旁边的单脉冲,使产生一个上升沿将数据输入到AR中;关闭数据开关三态门,打开R0寄存器输出控制(开关LDR0和开关R0-B都置0),使存储器处于写状态(W/R=0、CS=0)将R0中的数写到存储器中;关闭存储器片选,关闭R0寄存器输出(开关R0-B置0),使存储器处于读状态(W/R=1、CS=0)。
图4.3实验步骤图
实验5模型机实验
Ø实验目的
⏹掌握微程序执顺序强制改变的原理
⏹掌握机器指令与微程序的对应关系
⏹掌握机器指令的执行流程
⏹本实验提供了五条机器指令,编写相应的微程序,并调试验证,形成整机概念。
Ø实验设备
74LS181芯片两片,memory6116一片,微程序控制存储器芯片一片,编译器芯片一片,八位同步计数器芯片一片,ALU_G芯片一片,PC_G芯片一片,74LS273芯片若干,输入,输出芯片各一片,选择器芯片若干,连接器芯片若干,灯泡若干,开关若干等。
Ø实验原理
模型机在微程序控制下自动产生各部件单元控制信号,实现特定指令的功能。
这里,计算机数据通路的控制将由微程序控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一段微程序。
本实验采用五条机器指令:
IN(输入)、ADD(二进制加法)、STA(存数)、OUT(输出)、JMP(无条件转移),其指令格式如下(前4位为操作码):
助记符机器指令码说明
IN00000000“INPUTDEVICE”中的开关状态–>RO
ADDaddr00010000××××××××二进制加法R0+[addr]–>R0
STAaddr00100000××××××××存数RO–>[addr]
OUTaddr00110000××××××××输出[addr]–>LED
JMPaddr01000000××××××××无条件转移addr–>PC
其中IN为单字长(8位)指令,其余为双字长指令,××××××××为addr对应的二进制地址码。
图5.1模型机数据通路图
根据模型机的数据通路图(如图5.1所示)和指令的要求定义微代码如下:
表1微代码定义
微程序
24~21
20
19
18
17
16
15~13
12~10
9~7
6~1
控制信号
S3~S0
M
CN
RD
M17
M16
A
B
P
uA5~uA0
表2A、B、P字段
A字段
B字段
P字段
15
14
13
控制信号
12
11
10
控制信号
9
8
7
控制信号
0
0
0
0
0
0
0
0
0
0
0
1
LDRI
0
0
1
RS_G
0
0
1
P1
0
1
0
LDDR1
0
1
0
RD_G
0
1
0
P2
0
1
1
LDDR2
0
1
1
RI_G
0
1
1
P3
1
0
0
LDIR
1
0
0
299_G
1
0
0
P4
1
0
1
LOAD
1
0
1
ALU_G
1
0
1
AR
1
1
0
LDAR
1
1
0
PC_G
1
1
0
LDPC
表中μA5~μA0为6位后续微地址,A、B、C为三个译码字段,分别由三个控制位译码出多位。
P字段中的P
(1)~P(4)是四个测试字位。
其功能是根据机器指令及相应微代码进行译码,使微程序转入相应的微地址入口,从而实现微程序的顺序、分支、循环运行。
B字段中的RS-B、RD-B、RI-B分别为源寄存器选通信号、目的寄存器选通信号及变址寄存器选通信号,其功能是根据机器指令来进行三个工作寄存器R0、R1及R2的选通译码。
A字段中的LDRI为从输入设备组件中读入数据使能控制信号。
系统涉及到的微程序流程如图5.2所示,这里“取指”是公用微指令,为了能确定不同机器指令有各自不同的微程序转向,我们在这里以指令寄存器的前4位(IR7~IR4)作为测试条件,引入了P
(1)指令测试字段,如此,对于五条机器指令,就可以有五路P
(1)测试分支,对于每一指令分别予以微程序解释。
由图5.2微程序流程图中可以看到,在执行机器指令IN的时候要执行三条微指令:
01、02和10,每个微指令需要一个CPU周期来执行,所以执行一条机器指令IN需要三个CPU周期。
图5.2微程序流程图
当全部微程序设计完毕后,应将每条微指令代码化,表3即为将图5.2的微程序流程图按微指令格式转化而成的二进制微代码表。
表3二进制代码表
微地址
S3S2S1S0MCNWEM17M16
A
B
P
μA5…μA0
00
000000011
000
000
100
010000
01
000000011
110
110
110
000010
02
000000001
100
000
001
001000
03
000000001
110
000
000
000100
04
000000001
011
000
000
000101
05
000000011
010
001
000
000110
06
100101011
001
101
000
000001
07
000000001
110
000
000
001101
10
000000000
001
000
000
000001
11
000000011
110
110
110
000011
12
000000011
110
110
110
000111
13
000000011
110
110
110
001110
14
000000011
110
110
110
010110
15
000000101
000
001
000
000001
16
000000001
110
000
000
001111
17
000000001
010
000
000
010101
20
000000011
110
110
110
010010
21
000000011
110
110
110
010100
22
000000001
010
000
000
010111
23
000000011
000
000
000
000001
24
000000000
010
000
000
011000
25
000001110
000
101
000
000001
26
000000001
101
000
110
000001
27
000001110
000
101
000
010000
30
000001101
000
101
000
010000
本实验设计机器指令程序如表4所示。
表4实验中机器指令解释表
地址(二进制)
内容(二进制)
助记符
说明
00000000
00000000
IN
将输入数据送R0寄存器
00000001
00010000
ADD[0AH]
RO+[0AH]—>R0
00000010
00001010
地址
00000011
00100000
STA[0BH]
R0—>[0BH]
00000100
00001010
地址
00000101
00110000
OUT[0BH]
[0BH]—>LED
00000110
00001011
地址
00000111
01000000
JMP[00H]
00H—>PC
00001000
00000000
跳转地址
00001010
00000001
加数,可自定
00001011
求和结果保存在0B单元中
本程序使用五条机器指令编写指令程序,内存映象(装入起始地址00H)如表4。
本程序从输入设备组件中读入数据,与内存组件中地址为OAH中的数据进行相加,和存入内存中的OBH中,并在输出设备组件中显示,本程序不断循环运行,直到用户中断实验。
平台中模型机搭建说明如下:
模型机的组成结构复杂,引脚很多,所以连线很复杂,模型机的连线图如图5.3所示,在搭建模型机图的时候最好参考图5.1中的模型机结构图,这里将模型机分成五个部分来让大家看清模型机中各个组件的连线方法。
这五个部分包括:
模型机各个组件之间的数据连线、模型机微控中的控制信号的连线、模型机脉冲信号的连线、模型机中用来对组件进行功能控制的开关的连线及开关值的设置、模型机通用寄存器