计算机组成原理实验指导书.docx
《计算机组成原理实验指导书.docx》由会员分享,可在线阅读,更多相关《计算机组成原理实验指导书.docx(101页珍藏版)》请在冰豆网上搜索。
计算机组成原理实验指导书
计算机组成原理
实验指导
四川大学计算机学院
西安唐都科教仪器公司
实验一 运算器组成实验
(一)算术逻辑运算实验
一.实验目的
1.掌握简单运算器的数据传送通路。
2.验证运算功能发生器(74LS181)的组合功能。
二.实验设备
TDN-CM++计算机组成原理教学实验系统一台,排线若干。
三.实验内容
1.实验原理
实验中所用的运算器数据通路如图1-1所示。
其中运算器由两片74LS181以并/串形式构成8位字长的ALU。
运算器的输出经过一个三态门(74LS245)和数据总线相连,运算器的两个数据输入端分别由二个锁存器(74LS373)锁存,锁存器的输入连至数据总线,数据开关(“INPUTDEVICE”)用来给出参与运算的数据,并经过一三态门(74LS245)和数据总线相连,数据显示灯(“BUSUNIT”)已和数据总线相连,用来显示数据总线内容。
图中已将用户需要连接的控制信号用圆圈标明(其他实验相同,不再说明),其中除T4为脉冲信号,其它均为电平信号。
由于实验电路中的时序信号均已连至“W/RUNIT”的相应时序信号引出端,因此,在进行实验时,只需将“W/RUNIT”的T4接至“STATEUNIT”的微动开关KK2的输出端,按动微动开关,即可获得实验所需的单脉冲,而S3、S2、S1、S0、Cn、M、LDDR1、LDDR2、ALU-B、SW-B各电平控制信号用“SWITCHUNIT”中的二进制数据开关来模拟,其中Cn、ALU-B、SW-B为低电平有效,LDDR1、LDDR2为高电平有效。
图1-1 运算器数据通路
2.实验步骤
(1)连接实验线路,仔细查线无误后,接通电源。
(2)用二进制数码开关向DR1和DR2寄存器置数。
具体操作步骤图示如下:
数据开关
(01100101))
三态门
寄存器DR1
(01100101)
寄存器DR2
(10100111)
数据开关
(10100111)
ALU-B=1LDDR1=1 LDDR1=0
SW-B=0LDDR2=0LDDR2=1
T4=T4=
检验DR1和DR2中存的数是否正确,具体操作为:
关闭数据输入三态门(SW-B=1),打开ALU输出三态门(ALU-B=0),当置S3、S2、S1、S0、M为11111时,总线指示灯显示DR1中的数,而置成10101时总线指示灯显示DR2中的数。
(3)验证74LS181的算术运算和逻辑运算功能(采用正逻辑)
在给定DR1=65、DR2=A7的情况下,改变运算器的功能设置,观察运算器的输出,填入下表中,并和理论分析进行比较、验证。
表1-1
DR1
DR2
S3S2S1S0
M=0(算术运算)
M=1
(逻辑运算)
Cn=1
无进位
Cn=0
有进位
65
65
65
A7
A7
A7
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
F=(65)
F=(E7)
F=(7D)
F=()
F=()
F=()
F=()
F=()
F=()
F=()
F=()
F=()
F=()
F=()
F=()
F=()
F=(66)
F=(E8)
F=(7E)
F=()
F=()
F=()
F=()
F=()
F=()
F=()
F=()
F=()
F=()
F=()
F=()
F=()
F=(9A)
F=(18)
F=(82)
F=()
F=()
F=()
F=()
F=()
F=()
F=()
F=()
F=()
F=()
F=()
F=()
F=()
(二)进位控制实验
一.实验目的
1.验证带进位控制的算术运算功能发生器的功能。
2.按指定数据完成几种指定的算术运算。
二.实验设备
TDN-CM++计算机组成原理教学实验系统一台,排线若干。
三.实验内容
1.实验原理
图1-3 进位控制实验原理图
进位控制运算器的实验原理如图1-3所示,在实验(1)的基础上增加进位控制部分,其中181的进位进入一个74锁存器,其写入是由T4和AR信号控制,T4是脉冲信号,实验时将T4连至“STATEUNIT”的微动开关KK2上。
AR是电平控制信号(低电平有效),可用于实现带进位控制实验,而T4脉冲是将本次运算的进位结果锁存到进位锁存器中。
2.实验步骤
(1)连接实验线路,仔细查线无误后,接通电源.
(2)用二进制数码开关向DR1和DR2寄存器置数,具体方法:
①关闭ALU输出三态门(ALU-B=1),开启输入三态门(SW-B=0),设置数据开关
2例如向DR1存入01010101,向DR2存入10101010。
具体操作步骤如下:
数据开关
(01010101))
三态门
寄存器DR1
(01010101)
寄存器DR2
(10101010)
数据开关
(10101010)
ALU-B=1LDDR1=1 LDDR1=0
SW-B=0LDDR2=0LDDR2=1
T4=T4=
(3)进位标志清零具体操作方法如下:
实验板中“SWITCHUNIT”单元中的CLR开关为标志CY、ZI的清零开关,它为零时是清零状态,所以将次开关做101操作,即可使标志位清零。
注:
进位标志指示灯CY亮时表示进位标志为“0”,无进位;标志指示灯CY灭时表示进位为“1”,有进位。
(4)验证带进位运算及进位锁存功能,使Cn=1,Ar=0来进行带进位算术运算。
例如:
做加法运算,首先向DR1、DR2置数,然后使ALU-B=0,S3S2S1S0M状态为10010,此时数据总线上显示的数据为DR1加DR2加当前进位标志,这个结果是否产生进位,则要按动微动开关KK2,若进位标志灯亮,表示无进位;反之,有进位。
(三) 移位运算实验
一.实验目的
验证移位控制的组合功能。
二.实验设备
TDN-CM++计算机组成原理教学实验系统一台,排线若干。
三.实验内容
1.实验原理
图1-5 移位运算实验原理图
移位运算实验原理如图1-5所示,使用了一片74LS299作为移位发生器,其八
输入/输出端以排针方式和总线单元连接。
299-B信号控制其使能端,T4时序为其时钟脉冲,实验时将“W/RUNIT”中的T4接至“STATEUNIT”中的KK2单脉冲发生器,由S0S1M控制信号控制其功能状态,其列表如下:
299-B
S1
S0
M
功 能
0
0
0
任意
保持
0
1
0
0
循环右移
0
1
0
1
带进位循环右移
0
0
1
0
循环左移
0
0
1
1
带进位循环左移
任意
1
1
任意
装数
2.实验步骤
(1)连接实验线路,仔细查线无误后接通电源。
(2)移位操作:
1置数,具体步骤如下:
三态门
三态门
置数
(01101011)
数据开关
(01101011)
SW-B=0S0=1SW-B=1
S1=1
T4=
2移位,参照上表改变S0S1M299-B的状态,按动微动开关KK2,观察移位结果。
实验二 存储器实验
(一)静态随机存储器实验
一.实验目的
掌握静态随机存储器RAM工作特性及数据的读写方法。
二.实验设备
TDN-CM++计算机组成原理教学实验系统一台,排线若干。
三.实验内容
1.实验原理
实验所用的半导体静态存储器电路原理如图2-1-1所示,实验中的静态存储器
一片6116(2K×8)构成,其数据线接至数据总线,地址线由地址锁存器(74LS273)给出。
地址灯AD0—AD7与地址线相连,显示地址线内容。
数据开关经一三态门(74LS245)连至数据总线,分时给出地址和数据。
因地址寄存器为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脉冲宽度一致。
实验时将T3脉冲接至实验板上时序电路模块的TS3相应插孔中,其脉冲宽度可调,其它电平控制信号由“SWITCHUNIT”单元的二进制开关模拟,其中SW-B为低电平有效,LDAR为高电平有效。
2.实验步骤
(1)形成时钟脉冲信号T3,具体接线方法和操作步骤如下:
1接通电源,用示波器接入方波信号源的输出插孔H24,调节电位器W1,使H24端输出实验所期望的频率的方波。
2将时序电路模块中的ф和H23排针相连。
3在时序电路模块中有两个二进制开关“STOP”和“STEP”。
将“STOP”开关置为“RUN”状态、“STEP”开关置为“EXEC”状态时,按动微动开关START,则T3输出为连续的方波信号,此时调节电位器W1,用示波器观察,使T3输出实验要求的脉冲信号。
当“STOP”开关置为“RUN”状态、“STEP”开关置为“STEP”状态时,每按动一次微动开关START,则T3输出一个单脉冲,其脉冲宽度与连续方式相同。
4关闭电源。
图2-1-1 存储器实验原理图
(2)连接实验线路,仔细查线无误后接通电源。
由于存储器模块内部的
连线已经接好,因此只需完成实验电路的形成、控制信号模拟开关、时钟脉冲信号T3
与存储模块的外部连接。
(3)给存储器的00、01、02、03、04地址单元中分别写入数据11、12、13、14、15,具体操作步骤如下:
(以向0号单元写入11为例)
地址寄存器AR
(00000000)
三态门
数据开关
(00000000)
SW-B=0
SW-B=1SW-B=0CE=1
CE=1LDAR=1
T3=
数据开关
(00010001)
三态门
存储器RAM
(00010001)
SW-B=0
CE=0WE=1SW-B=0SW-B=1
LDAR=0LDAR=0
T3=
依次读出第00、01、02、03、04号单元中的内容,观察上述各单元中的内容是否与前面写入的一致。
具体操作步骤如下:
(以从0号单元读出11数据为例)
数据开关
(00000000)
存储器RAM
(00010001)
三态门
地址寄存器AR
(00000000)
SW-B=1SW-B=0SW-B=0SW-B=1
CE=1CE=1CE=0WE=0
LDAR=1LDAR=0
T3=
(二)先进先出(FIFO)存储器实验
一.实验目的
了解及掌握先进先出(FIFO)存储器的工作特性及其读写方法。
二.实验设备
TDN-CM++计算机组成原理教学实验系统一台,排线若干。
三.实验内容
1.实验原理
本实验用CPLD芯片来实现一个简单的8位x4的FIFO,其信号引脚如下:
8x4FIFO
EMPTYFULL
OD0~DO7ID0~ID7
FIFORDFIFOWR
RST
其各信号的功能为:
EMPTY:
FIFO存储器为空标志,高电平有效。
FULL:
FIFO存储器满标志,高电平有效。
RET:
清FIFO存储器为空。
FIFOWR:
FIFO存储器写入信号,低电平有效。
FIFORD:
FIFO存储器读信号,低电平有效。
ID0~ID7:
FIFO存储器输入数据线。
OD0~OD7:
FIFO存储器读出数据线。
此8x4FIFO的内部逻辑图如下:
OD0~OD7
MUX--4
OE1
OE2
CLK
273
REG2
CLK
273
REG0
CLK
273
REG3
CLK
273
REG1
C1C2C3C4
ID0~ID7
C1C2C3C4
FIFO控制逻辑
FIFORDOE1
FIFOWROE2
RSTFULLEMPTY
一.实验步骤
(1)编写cpld芯片设计程序
1.顶层电路图模块,见图2-2-1
2.FIFO控制逻辑模块(fifo.abl)
MODULEFIFO
"INPUT
RST,FIFORD,FIFOWRPIN;
"OUTPUT
FULL,EMPTYPINISTYPE'COM';
C1,C2,C3,C4PINISTYPE'COM';
"NODE
OE1,OE2,O2,O1PINISTYPE'REG';
FLAGGPINISTYPE'REG';
"
OE=[OE2,OE1];O=[O2,O1];
"
EQUATIONS
OE.CLK=FIFORD;
O.CLK=!
FIFOWR;
OE.AR=!
RST;
O.AR=!
RST;
FLAGG.CLK=FIFOWR;
FLAGG.AR=(!
FIFORD)#(!
RST);
FLAGG:
=1;
WHENOE==3THENOE:
=0ELSEOE:
=OE+1;
WHENO==3THENO:
=0ELSEO:
=O+1;
C1=FIFOWR&!
O2&!
O1;
C2=FIFOWR&!
O2&O1;
图2-2-1
C3=FIFOWR&O2&!
O1;
C4=FIFOWR&O2&O1;
EMPTY=(OE==O)&!
FLAGG;
FULL=(OE==O)&FLAGG;
END
3.LS273模块(ls273.abl)
MODULELS273
"INPUT
CLKPIN;
I7,I6,I5,I4,I3,I2,I1,I0PIN;
"OUTPUT
O7,O6,O5,O4,O3,O2,O1,O0PINISTYPE'REG';
I=[I7,I6,I5,I4,I3,I2,I1,I0];
O=[O7,O6,O5,O4,O3,O2,O1,O0];
"
EQUATIONS
O.CLK=CLK;
O:
=I;
END
4.MUX4多路选择模块(mux4.abl)
MODULEMUX4
"INPUT
OE1,OE2PIN;
D07,D06,D05,D04,D03,D02,D01,D00PIN;
D17,D16,D15,D14,D13,D12,D11,D10PIN;
D27,D26,D25,D24,D23,D22,D21,D20PIN;
D37,D36,D35,D34,D33,D32,D31,D30PIN;
"OUTPUT
O7,O6,O5,O4,O3,O2,O1,O0PIN;
"
I0=[D07,D06,D05,D04,D03,D02,D01,D00];
I1=[D17,D16,D15,D14,D13,D12,D11,D10];
I2=[D27,D26,D25,D24,D23,D22,D21,D20];
I3=[D37,D36,D35,D34,D33,D32,D31,D30];
OD=[O7,O6,O5,O4,O3,O2,O1,O0];
OE=[OE2,OE1];
EQUATIONS
WHENOE==0THENOD=I0;
ELSEWHENOE==1THENOD=I1;
ELSEWHENOE==2THENOD=I2;
ELSEWHENOE==3THENOD=I3;
END
(3)编译上述文件,并将生成的JEDEC文件下载至ISPLSI1032E中。
(4)按所画连线图接线。
(5)操作步骤
接线图中OO1、OO2、OOE1、OOE2是四个观察记数的指示灯,其中OO1、OO2是
写信号记数,OOE1、OOE2是读信号记数。
FULL及EMPTYy是满和空标志灯。
实验时,先拨动CLR开关使FIFO清空。
然后给INPUTDEVICE单元中置一个数,按动START,此时将此数写入到FIFO中,依次写四次后,FULL满标志置位。
此时再也写不进去,然后连续按动KK2-读信号,将顺序读出所存的四个数,从总线显示灯检查结果是否与理论值一致。
实验三 微控制器实验
一.实验目的
1.掌握时序产生器的组成原理。
2.掌握微程序控制器的组成原理。
3.掌握微程序的编制、写入,观察微程序的运行。
二.实验设备
TDN-CM++计算机组成原理教学实验系统一台。
三.实验内容
1.实验原理
实验所用的时序电路原理如图3-1所示,可产生4个等间隔的时序信号TS1—
TS4,其中φ为时钟信号,由实验台右上方的方波信号源提供,可产生频率及脉宽可调的方波信号。
学生可根据实验自行选择方波信号的频率及脉宽。
为了便于控制程序的运行,时序电路发生器也设置了一个启停控制触发器Cr,使TS1—TS4信号输出可控。
图中STEP(单步)、STOP(停机)分别是来自实验板上方中部的两个二进制开关STEP、STOP的模拟信号。
START键是来自实验板上方中部的一个微动开关START的按键信号。
当STEP开关为0时(EXEC),一旦按下启动键,运行触发器Cr一直处于“1”状态,因此时序信号TS1—TS4将周而复始地发送出去。
当STEP为1(STEP)时,一旦按下启动键,机器便处于单步运行状态,即此时只发送一个CPU周期的时序信号就停机。
利用单步方式,每次只读一条微指令,可以观察微指令的代码与当前微指令的执行结果。
另外,当机器连续运行时,如果STOP开关置“1”(STOP),也会使机器停机。
由于时序电路的内部线路已经连好,所以只需将时序电路与方波信号源连接(即将时序电路的时钟脉冲输入端ф接至方波信号发生器输出端H23),时序电路的CLR已接至实验板左下方的CLR模拟开关上。
图3-1 时序电路原理图
2.微程序控制电路与微指令格式
(1)微程序控制电路
微程序控制器的组成见图3-2,其中控制存储器采用3片2816的E2PROM,具有掉电保护功能,微命令寄存器18位,用两片8D触发器(273)和一片4D(175)触发器组成。
微地址寄存器6位,用三片正沿触发的双D触发器(74)组成,它们带有清“0”端和预置端。
在不判别测试的情况下,T2时刻打入微地址寄存器的内容即为下一条微指令地址。
当T4时刻进行测试判别时,转移逻辑满足条件后输出的负脉冲通过强置端将某一触发器置为“1”状态,完成地址修改。
在该实验电路中设有一个编程开关(位于实验板右上方),它具有三种状态:
PROM(编程)、READ(校验)、RUN(运行)。
当处于“编程状态”时,学生可根据微地址和微指令格式将微指令二进制代码写入到控制存储器2816中。
当处于“校验状态”时,可以对写入控制存储器中的二进制代码进行验证,从而可以判断写入的二进制代码是否正确。
当处于“运行状态”时,只要给出微程序的入口微地址,则可根据微程序流程图自动执行微程序。
图中微地址寄存器输出端增加了一组三态门,目的是隔离触发器的输出,增加抗干扰能力,并用来驱动微地址显示灯。
(2)微指令格式
微指令字长共24位,其控制位顺序如下:
24
23
22
21
20
19
18
17
16
151413
121110
987
6
5
4
3
2
1
S3
S2
S1
S0
M
Cn
WE
A9
A8
A
B
C
uA5
uA4
uA3
uA2
uA1
uA0
A字段
15
14
13
选择
0
0
0
0
0
1
LDRi
0
1
0
LDDR1
0
1
1
LDDR2
1
0
0
LDIR
1
0
1
LOAD
1
1
0
LDAR
B字段
12
11
10
选择
0
0
0
0
0
1
RS-B
0
1
0
RD-B
0
1
1
RI-B
1
0
0
299-B
1
0
1
ALU-B
1
1
0
PC-B
C字段
9
8
7
选择
0
0
0
0
0
1
P
(1)
0
1
0
P
(2)
0
1
1
P(3)
1
0
0
P(4)
1
0
1
AR
1
1
0
LDPC
表3-1
其中UA5—UA0为6位的后续微地址,A、B、C为三个译码字段,分别由三个控制位译码出多位。
C字段中的P
(1)—P(4)是四个测试字位。
其功能是根据机器指令及相应微代码进行译码,使微程序转入相应的微地址入口,从而实现微程序的顺序、分支、循环运行,其原理如图3-3所示,图中I7—I2为指令寄存器的第7—2位输出,SE5—SE1为微控器单元微地址锁存器的强置端输出。
AR为算术运算是否影响进位及判零标志控制位,其为零有效。
B字段中的RS-B、R0-B、RI-B分别为源寄存器选通信号、目的寄存器选通信号及变址寄存器选通信号,其功能是根据机器指令来进行三个工作寄存器R0、R1及R2的选通译码,其原理如图3-4,图中I0—I4为指令寄存器的第0—4为,LDRi为打入工作寄存器信号的译码器使能控制位。
图3-3
图3-4
3.实验步骤
(1)图3-5为几条机器指令对应的参考微程序流程图,将全部微程序按微指令格式变成二进制代码,可得到表3-2的二进制代码表。
表3-2 二进制代码表
微地址
S3S2S1S0MCNWEA9A8
A
B
C
UA5~UA0
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