华中科技大学武昌分校实验报告
实验名称实验日期专业学生姓名
数据通路组成实验2014.11.14计科唐海军
047
班号
第1202
3
次试验
组别
成绩
指导老师陈国平
同组学生
实验报告内容:一、实验目的
1. 2. 3. 4.
进一步熟悉计算机的数据通路。
将双端口通用寄存器堆和双端口存储器模块连接,构成新的数据通路。掌握数字逻辑电路中的一般规律,以及排除故障的一般原则和方法。
锻炼分析问题和解决问题的能力,在出现故障的情况下,独立分析故障现象,并排除故障。
二、实验设备
1. 2. 3. 4.
TEC-5计算机组成原理实验系统1台逻辑测试笔一支(在TEC-5实验台上)双踪示波器一台(公用)万用表一只(公用)
三、实验电路
数据通路实验电路图如图3.3所示。它是将双端口存储器模块和双端口通用寄存器堆模块连接在一起形成的。存储器的指令端口(右端口) 不参与本次实验。通用寄存器堆连接运算器模块,本次实验涉及其中的DR1。
由于双端口存储器是三态输出,因而可以直接连接到DBUS 上。此外,DBUS 还连接着通用寄存器堆。这样,写入存储器的数据由通用寄存器提供,从RAM 中读出的数据也可以放到通用寄存器堆中保存。
本实验的各模块在以前的实验中都已介绍,请参阅前面相关章节。注意实验中的控制信号与模拟它们的二进制开关的连接。
华中科技大学武昌分校实验报告
实验名称实验日期专业学生姓名
班号同组学生
第
次试验
成绩指导老师组别
丢失的地方,这样就把故障隔离到一个小范围内。有了故障的大概范围以后,去掉内部时钟脉冲,改用逻辑脉冲笔向特定的电路节点施加激励信号,观察输出端的状态。有了提供激励的逻辑脉冲笔和响应激励的逻辑测试笔,可以很容易地检查被怀疑的器件的真值表,从而探查出故障地点。
另一种寻找故障的方法,是预先隔离故障。进行的方法如下:从电路始端送入脉冲,在终端检测响应。如果信号未能正确送达,就对每一串电路用同样的方法检查。反复进行,就能将故障点隔离出来。五、实验任务
1. 将实验电路与控制台的有关信号进行连接。
2. 用8位数据开关SW7-SW0向RF 中的四个通用寄存器分别置入以下数据:R0
=0FH、R1=0F0H、R2=55H、R3=0AAH。
3. 用8位数据开关向AR 送入地址0FH,然后将R0中的数据0FH 写入双端口存
储器中。用同样的方法,依次将R1、R2、R3中的数据分别置入RAM 的0F0H、55H、0AAH单元。
分别将RAM 的0AAH 单元数据写入R0,55H 单元数据写入R1,0F0H 单元数据写入R2,0FH单元数据写入R3。然后将R0-R3中的数据读出,验证数据的正确性,并记录数据。六、实验要求
1. 做好实验预习,掌握实验电路的数据通路特点和通用寄存器堆的功能特性。2. 写出实验报告,内容是:
(1)(2)(3)
实验目的。
写出详细的实验步骤,记录实验数据。其他值得讨论的问题。
实验报告内容:
性,则可以往前一级查找。常见的布线错误是漏线和布错线。漏线的情况往往是输入端未连线或浮空。浮空输入可用三状态逻辑测试笔或电压表检测出来。
对于设计错误,需要在设计中加以留心和克服。首先要遵循的一个原则是:为使系统可靠的工作,从系统的初始状态开始,应该把线路置于信号的稳定电平上,而不是置于信号的前沿或后沿;其次没有出口的悬空状态是不允许存在的;另外设计中应当避免静态和动态的竞争冒险;最后,为便于维修,设计中应考虑把系统设计成具有单步工作的能力。
常见的设计错误包括对于中小规模集成电路中不用的输入端的接法。对一个不用的输入端常忘了接,因而输入端相当于接了有效的逻辑“1”电平。建议将门输入端统一接到一个逻辑“0”电平上。计数器不计数和寄存器不寄存信息的问题常常就是由不用的输入端进来的干扰信号引起的。
2.
元件损坏造成的故障
一个数字系统,即使逻辑设计和布线都正确无误,但如果使用的元件损坏或性能不良,也会造成系统的故障。这种故障只要更换元件,就能恢复正常运行。除了元件损坏或性能不良之外,数字系统的故障还可能由于虚焊、噪声等原因造成。许多最初是间歇性故障,但最终还是会变成固定性故障。这种故障不是固定的逻辑高电平,就是固定的逻辑低电平,所以通常称之为“逻辑故障”。实验逻辑测试笔和逻辑脉冲笔(逻辑脉冲产生器)可以方便地查找数字电路中的逻辑故障。一种方法是先使用逻辑测试笔检测关键信号(如时钟、启动、移位、复位等)
七、实验步骤
(1)将实验电路与控制台的有关信号进行连接接线表
数据通路模拟开关数据通路模拟开关
RS0K0
RS1K1
RD0K2
RD1K3
WR0K4LR/W#K12
WR1K5
LDRi K6CEL#K13
LDDR1K7LDAR#K14
RS_BUS#SW_BUS#ALU_BUS#RAM_BUS#K8
K9
K10
K11
华中科技大学武昌分校实验报告
实验名称实验日期专业学生姓名实验报告内容:
数据通路模拟开关
AR+1地
CER#VCC
Cn#VCC
M 地
S0地
S1地
S2地
S3地
SW7SW6SW5000按QD 按钮,将1H 写入R2。
SW40SW30SW20SW10SW01
(3)用8位数据开关向AR 送入地址1H,然后将R2中的数据1H 写入双端口存储器中。
成绩
第班号同组学生
次试验
指导老师组别
用同样的方法,再将R1中的数据分别置入RAM 的3H 单元。
1.令K6(LDRi)=0,K8(RS_BUS#)=1,K9(SW_BUS#)=0,K10(ALU_BUS#)=1,K11(RAM_BUS#)=1K13(CEL#)=1,K14(LDAR#)=0。K1(RS1)=0,K0(RS0)=1。K6(LDRi)0
K8K9K10K11(RS_BUS#)(SW_BUS#)(RA M _B U S #)
1
1
1
K13(CEL#)1
K14(LDAR#)
K1(RS1)1
K0(RS0)0
按QD 按钮,将1H 写入地址寄存器AR 。
2. 将数据FFH 打入RAM 里地址为3H 的单元里面,令K9(SW_BUS#)=1,K8(RS_BUS#)=0,K10(ALU_BUS#)=1,K11(RA_BUS#)=0,K12(LR/W#)=0,K13(CEL#)=1。K9K8K10K11(SW_BUS#)(RS_BUS#)(ALU_BUS#)(RA_BUS#)
1
1
K12(LR/W#)
K13(CEL#)1
(2)用8位数据开关SW7-SW0向RF 中的四个通用寄存器分别置入以下数据:R1
=3H、R2=1H。
1.令K4(WR0)=1,K5(WR1)=0,K6(LDRi)=1,K8(RS_BUS#)=1,K9(SW_BUS#)=0,
K10(ALU_BUS#)=1,K11(RAM_BUS#)=1,K13(CEL#)=1。K4(WR0)1
K5(WR1)0
K6(LDRi)=1
1
K8K9K10K11K13(RS_BUS#)(SW_BUS#)(RAM_BUS#)(CEL#)
1
1
1
1
置SW7-SW0=FFH,
SW71SW61SW51SW41SW31SW21SW11SW01
按QD 按钮,将FFH 写入RAM 。
3. 检验RAM 中1H 单元的内容是否正确,令K8(RS_BUS#)=0,K9(SW_BUS#)=1,
K10(ALU_BUS#)=1,K11(RAM_BUS#)=1,K1(RS1)=1,K2(RS0)=0,K14(LDAR)=0。数据通路模拟开关
K8K9K10K11(RS_BUS#)(SW_BUS#)(A L U _B U S #) =(RAM_BUS#)
1
1
1
K1(RS1)1
K2(RS0)0
K13(LDAR)0
置SW7-SW0=3H,
SW7SW6SW5000按QD 按钮,将3H 写入R1。
SW40SW30SW20SW11SW01
按QD 按钮,将1H 写入地址寄存器AR。
令K12(LR/W#)=1,K8(RS_BUS#)=1,K9(SW_BUS#)=1,K10(ALU_BUS#)=1,K11(RAM_BUS#)=0K13(CEL#)=0,K14(LDAR#)=0。K12(LR/W#)
1
K8K9K10K11(RS_BUS#)(SW_BUS#)(RA M _B U S #)
1
1
1
K13(CEL#)0
K14(LDAR#)
2.令K4(WR0)=1,K5(WR1)=0,K6(LDRi)=1,K8(RS_BUS#)=1,K9(SW_BUS#)=0,
K10(ALU_BUS#)=1,K11(RAM_BUS#)=1,K13(CEL#)=1。K4(WR0)0
K5(WR1)1
K6(LDRi)=1
1
K8K9K10K11K13(RS_BUS#)(SW_BUS#)(RAM_BUS#)(CEL#)
1
1
1
1
置SW7-SW0=1H,按QD 按钮,观察DBUS 上的数据是否为FFH 。
华中科技大学武昌分校实验报告
实验名称实验日期专业学生姓名实验报告内容:
(4)将RAM 中地址为1H 的数据写入双端口寄存器堆RF 的R0单元。
令K8(RS_BUS#)=1,K9(SW_BUS#)=1,K10(ALU_BUS#)=1,K11(RAM_BUS#)=0,
K5(WR1)=0,K4(WR0)=0,K14(LDRi)=1。数据通路模拟开关
K8K9K10K11(RS_BUS#)(SW_BUS#)(A L U _B U S #) =(RAM_BUS#)
1
1
1
K5(WR1)0
K4(WR0)0
K6(LDRi)1
(6)检验指定地址单元的内容是否正确
令K8(RS_BUS#)=0,K9(SW_BUS#)=1,K10(ALU_BUS#)=1,K11(RAM_BUS#)=1,K1(RS1)=1K2(RS0)=0,K14(LDAR)=0。数据通路模拟开关
K8K9K10K11(RS_BUS#)(SW_BUS#)(A L U _B U S #) =(RAM_BUS#)
1
1
1
K1(RS1)0
K2(RS0)1
K13(LDAR)0
成绩
第班号同组学生
次试验
指导老师组别
按QD 按钮,将3H 写入地址寄存器AR。
令K12(LR/W#)=1,K8(RS_BUS#)=1,K9(SW_BUS#)=1,K10(ALU_BUS#)=1,K11(RAM_BUS#)=0K13(CEL#)=0,K14(LDAR#)=0。K12(LR/W#)
1
K8K9K10K11(RS_BUS#)(SW_BUS#)(RA M _B U S #)
1
1
1
K13(CEL#)0
K14(LDAR#)
按QD 按钮,观察DBUS 上的数据是否为FFH 。
可用同样的方法观察RAM 其他地址单元的内容
按QD 按钮,将FFH 写入R0。
(5)将R0的内容写如RAM 的3H 地址单元
1. 令K6(LDRi)=0,K8(RS_BUS#)=1,K9(SW_BUS#)=0,K10(ALU_BUS#)=1,
K11(RAM_BUS#)=1,K13(CEL#)=1,K14(LDAR#)=0。K1(RS1)=0,K0(RS0)=1。
K6(LDRi)0
K8
K9
K10
K11(RA M _B U S #)
1
K13(CEL#)1
K14(LDAR#)
K1(RS1)0
K0(RS0)1
(RS_BUS#)(SW_BUS#)1
1
1
按QD 按钮,将3H 写入地址寄存器AR。2.将R0的内容写入RAM。
令K9(SW_BUS#)=1,K8(RS_BUS#)=0,K10(ALU_BUS#)=1,K11(RA_BUS#)=1,K12(LR/W#)=0,
K13(CEL#)=0。
K9K8K10K11K12(SW_BUS#)(RS_BUS#)(ALU_BUS#)(RA_BUS#)(LR/W#)
1
1
1
K13(CEL#)0
K1(RS1)
K0(RS0)
按QD 按钮,将FFH 写入RAM 的3H 地址单元。
华中科技大学武昌分校实验报告
实验名称实验日期专业学生姓名
常规型程序控制器组成实验2014.11.14计科唐海军
047
班号
第1202
3
次试验
组别
成绩指导老师陈国平
本次实验不涉及硬连线控制器,因此时序发生器中产生W1-W3的部分也可根据需要放到硬连线控制器实验中介绍。
产生时序信号T1-T4的功能集成在图中左边的一片GAL22V10中,另外它还产生节拍信号W1-W3的控制时钟CLK1。该芯片的逻辑功能用ABEL 语言实现。其源程序如下:
MODULE TIMER1
TITLE 'CLOCK GENERATOR T1-T4' CLK =.C.; "INPUT
MF, CLR, QD, DP, TJ, DB PIN 1..6; W3PIN 7; "OUTPUT
T1, T2, T3, T4PIN 15..18ISTYPE 'REG'; CLK1PIN 14ISTYPE 'COM';
QD1, QD2, QDR PIN ISTYPE 'REG'; ACT PIN ISTYPE 'COM';
S =[T1,T2, T3, T4, QD1, QD2, QDR];EQUATIONS
QD1:=QD; QD2:=QD1;
ACT =QD1&!QD2;
QDR :=CLR &QD #CLR &QDR;
T1:=CLR &T4&ACT #CLR &T4&! (DP#TJ #DB &W3) &QDR; T2:=CLR &T1; T3:=CLR &T2;
T4:=!CLR #T3#T4&!ACT &(DP#TJ#DB&W3) #!QDR; CLK1=T1#!CLR &MF; S.CLK =MF; END
同组学生
实验报告内容:一、实验目的
1. 掌握时序发生器的组成原理。2. 掌握微程序控制器的组成原理。二、实验电路
1.
时序发生器
本实验所用的时序电路见图3.4。电路由一个500KHz 晶振、2片GAL22V10、一片74LS390组成,可产生两级等间隔时序信号T1-T4、W1-W3,其中一个W 由一轮T1-T4组成,相当于一个微指令周期或硬连线控制器的一拍,而一轮W1-W3可以执行硬连线控制器的一条机器指令。另外,供数字逻辑实验使用的时钟由MF 经一片74LS390分频后产生。
节拍电位信号W1-W3只在硬连线控制器中使用,产生W 信号的功能集成在右边一片GAL22V10中,用ABEL 语言实现。其源程序如下:
华中科技大学武昌分校实验报告
实验名称实验日期专业学生姓名实验报告内容:
MODULE TIMER2
//头部
成绩
第班号同组学生
次试验
指导老师组别
TITLE 'CLOCK GENERATOR W1-W3' DECLARATIONS //说明部
CLK =.C.; "INPUT
CLK1, CLR, SKIP PIN 1..3; "OUTPUT
W1, W2, W3PIN 16..18ISTYPE 'REG'; W =[W1,W2, W3];EQUATIONS //逻辑描述部
W1:=CLR &W3;
W2:=CLR &W1&!SKIP;
W3:=!CLR #W2#W1&SKIP; W.CLK =CLK1; END TIMER2
//结束部
左边GAL 的时钟输入MF 是晶振的输出,频率为500KHz。T1-T4的脉宽为2μs。CLR实际上是控制台的CLR#信号,因为ABEL 语言的书写关系改为CLR,仍为低有效。CLR#=0将系统复位,此时时序停在T4、W3,微程序地址为000000B。建议每次实验台加电后,先按CLR#复位一次。实验台上CLR#到时序电路的连接
华中科技大学武昌分校实验报告
实验名称实验日期专业学生姓名
班号同组学生
第
次试验
成绩指导老师组别
实验报告内容:
对应微指令格式,微程序控制器的组成见图3.6。
控制存储器采用4片E 2PROM(HN58C65)组成,HN58C65是8K×8位的,地址输入端有13位(A12-A0),实验中只用到A5-A0,所以A12-A6接地,实际的使用空间为64字节。
微地址寄存器μAR共6位,用一片8D 触发器74LS174组成,带有异步清零端。
两级与、或门构成微地址转移逻辑,用于产生下一微指令地址。
在每一个T1的上升沿,新的微指令地址打入微地址寄存器中,控制存储器随即输出该条微指令的控制信号。微地址转移逻辑生成下一微地址,等到下一个T1上升沿,将其打入微地址寄存器中。
微地址转移逻辑的多个输入信号中,SWC、SWB、SWA是控制台指令的定义开关,它们用来决定控制台指令微程序的分支。C是进位信号,IR7-IR4是机器指令的操作码字段,根据它们的值来控制微程序转向某个特定的分支。三、机器指令与微程序
为教学中简单明了,本实验仪器使用了8条机器指令,均为单字长(8位)指令。指令功能及格式如表3.3所示。指令的高4位IR7-IR4是操作码,提供给微程序控制器用作地址转移;低4位提供给数据通路。
华中科技大学武昌分校实验报告
实验名称实验日期专业学生姓名实验报告内容:
班号同组学生
第
次试验
成绩指导老师组别
微指令代码表
根据图3.7的微程序流程图计算出微程序代码比较困难。为了计算出微程序代码,需要1个各微指令使用的信号表,即代码表。
表3.4
微指令当前微地址下一微地址
P0P1P2备用TJ LDIR PC+1
KT RRF 00081. . . . . .
0C 1E . . . . 1. .
. . . . . .
. .
微程序代码表
WRF
RRM
WRM
PR
10. 1. . . 1.
0A [1**********]80F . . . . . . . . .
. . . 1. . .
. . . . . . .
. . . 1. .
. . .
. . . . .
. . . 1. . .
. . . . . . .
06070B 1D 0D 0E . . . . . 1
. . . 1. .
. . .
. . . . 1
. . . . . . .
. . . 11. .
. . . 1.
1E 06071E 1D 0D 0E 1D [1**********]40F
微程序流程图
华中科技大学武昌分校实验报告
实验名称实验日期专业学生姓名实验报告内容:
LDPC#AR+1LDAR#LDDR1LDDR2LDRi SW_BUS#RS_BUS#ALU_BUS#RAM_BUS#CER#CEL#LR/W#Cn#M S0S1S2S3
. . . . . .
. . . . . . . .
. . . . . .
. . .
. . . .
. . . . .
. . . . . . .
. . . . 101. 1. . . 1. . .
. 1. . .
. . . . .
. . . . . 1
. .
. . . . . . . . . .
. . . .
. 1. . . . . .
. . . . .
.
. .
. . . .
. . . . . 1. .
. . 10.
. . . . . .
. . . . .
. . 1
. . . 1. .
. 1. .
.
. . . . .
. . .
. . . .
.
. . . . .
1
. . .
. . . . . .
. .
. . . . . . . . . 11
. . . . 1. . . 1
. . . . . . 1. 11. . . . . . . . . . . . . . . . . . . .
. . . . . . 1.
. . . 1. . . . . . . . . . . . . . . 10. . . . . . . . . . . .
. . 1. . . 1. . . . . . . . . . . .
. . . . . . . . . . . . . . .
. 1
. . . . 1. . . 1. . . 1.
. . . . . .
表3.4
微指令当前微地址下一微地址
P0
ADD
SUB
AND
微程序代码表(续)
STA
LDA 0F 1C 0F . . . . . . . . . 1
. . . . . . . 1. . . . . . . . . . . 10. 00000. . . . . . 1
. . . . . . . . . . . 1
. 1. . . . 1.
. . 1. . . 1. 11. . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . .
. . . . . . . .
. . . . . . 1. . . JC
STP
OUT 170F . .
. . 1. . 1. . . . . . 1. . . . . .
. . . . . . . .
. . . . .
. . . . .
. 1. . . . . .
. 1.
. . . . . . . 1. 1.
151F 160F 0F 0F . . 1. . . 1. . . . . . . . . .
. .
[1**********]A 131B 141C 180F 190F . . . . . . . . . 11. . . . . . . . . . . . . .
. 01001. .
. 1
. . . . . . . . . . . . . . 1.
. .
. . . . 100110
. . . . . . . 1
. . . . . . . . . . 11. .
. 1. . . . . . . . . . . . . . . . 1. . . . . 1. . . . . . . . 11101. . 11. .
. 11A 0F 1B . . . . . . . .
. . . . . . 1. . . . . 1.
. . . . .
成绩
第班号同组学生
次试验
指导老师组别
备用TJ
P1P2
LDIR PC+1LDPC#AR+1LDAR#LDDR1LDDR2LDRi SW_BUS#RS_BUS#ALU_BUS#RAM_BUS#. CER#CEL#LR/W#Cn#M S0S1S2S3
1
注:后缀为#的信号都是低电平有效信号,为了在控存ROM 中用“1”表示有效,这些信号在控制器中经过反相后送往数据通路。
为了向RAM 和寄存器堆中装入程序和数据、检查写入是否正确,并能启动程序执
注:后缀为#的信号都是低电平有效信号,为了在控存ROM 中用“1”表示有效,这些信号在控制器中经过反相后送往数据通路。
行,还设计了以下五个控制台操作微程序:
在按复位按钮CLR#后,TEC-5复位,根据SWC、SWB、SWA状态来选择工作方式。在控制台工作方式,必须使DP=0,DB=0。
华中科技大学武昌分校实验报告
实验名称实验日期专业学生姓名实验报告内容:
启动程序(PR):按下复位按钮CLR#后,微地址寄存器清零。这时,置SWC =0、SWB=0、SWA=0,用数据开关SW7-SW0设置RAM 中的程序首地址,按QD 按钮后,启动程序执行。
写存储器(WRM):按下复位按钮CLR#,置SWC=0、SWB=0、SWA=1。①在SW7-SW0中置好存储器地址,按QD 按钮将此地址打入AR。②在SW7-SW0置好数据,按QD,将数据写入AR 指定的存储器单元,这时AR 加1。③返回②。依次进行下去,直到按复位键CLR#为止。这样就实现了对RAM 的连续手动写入。这个控制台操作的主要作用是向RAM 中写入自己编写的程序和数据。
读存储器(RRM):按下复位按钮CLR#,置SWC=0、SWB=1、SWA=0。①在SW7-SW0中置好存储器地址,按QD 按钮将此地址打入AR,RAM此地址单元的内容读至DBUS 显示。②按QD 按钮,这时AR 加1,RAM新地址单元的内容读至DBUS 显示。③返回②。依次进行下去,直到按复位键CLR#为止。这样就实现了对RAM 的连续读出显示。这个控制台操作的主要作用是检查写入RAM 的程序和数据是否正确。在程序执行后检查程序执行的结果(在存储器中的部分)是否正确。
寄存器写操作(WRF):按下复位按钮CLR#,置SWC=0、SWB=1、SWA=1。①首先在SW7—SW0置好存储器地址,按QD 按钮,则将此地址打入AR 寄存器和PC 寄存器。②在SW1、SW0置好寄存器选择信号WR1、WR0,按QD 按钮,通过双端口存储器的右端口将WR1、WR0(即SW1、SW0)送到指令寄存器IR 的低2位。③在SW7-SW0中置好要写入寄存器的数据;按QD 按钮,将数据写入由WR1、WR0
班号同组学生
第
次试验
成绩指导老师组别
指定的寄存器。④返回②继续执行,直到按复位按钮CLR#。这个控制台操作主要在程序运行前,向相关的通用寄存器中置入初始数据。
寄存器读操作(RRF):按下复位按钮CLR#,置SWC=1、SWB=0、SWA=0。①首先在SW7—SW0置好存储器地址,按QD 按钮,则将此地址打入AR 寄存器和PC 寄存器。②在SW3、SW2置好寄存器选择信号RS1、RS0,按QD 按钮,通过双端口存储器的右端口将RS1、RS0(即SW3、SW2)送到指令寄存器IR 的第3、2位。RS1、RS0选中的寄存器的数据读出到DBUS 上显示出来。③返回②继续下去,直到按复位键CLR#为止。这个控制台操作的主要作用是在程序执行前检查写入寄存器堆中的数据是否正确,在程序执行后检查程序执行的结果(在寄存器堆中的部分)是否正确。四、实验设备
1. TEC-5计算机组成原理实验系统1台2. 逻辑测试笔一支(在TEC-5实验台上)3. 双踪示波器一台(公用)4. 万用表一只(公用)
五、实验任务
1. 按实验要求,连接实验台的电平开关K0-K15、时钟信号源和微程序控制器。连接完成后应仔细检查一遍,然后才可以加上电源。
注意:本次实验只做微程序控制器本身的实验,故微程序控制器输出的微命令信号与执行部件(数据通路)的连线不连接。
2. 观察时序信号。
用双踪示波器观测时序发生器的输入、输出信号:MF、T1-T4、W1-W3。比较相位关系,画出其波形图,并标注出测量所得的脉冲宽度。观察时须将DB、DP开关置为0状态,然后按QD 按钮。
熟悉启停控制按钮的功能,并熟练使用这些控制按钮或开关。
3. 熟悉微指令格式的定义,按此定义将图3.7所示的全部微程序变换成二进制
代码,并列表登记。此表请在预习时完成。
4. 控制台操作的功能由SWC、SWB、SWA 三个二进制开关的状态配合P0判断来决
定。用单拍(DP)方式执行控制台操作微程序,观察判别字段和微地址指示灯的显示,跟踪微指令的执行情况,并与上表数据对照。
5. 深刻理解0FH 微指令的功能和P1测试的状态条件(IR7-IR4),用二进制开
华中科技大学武昌分校实验报告
实验名称实验日期专业学生姓名
班号同组学生
第
次试验
成绩指导老师组别
T1,T1和T2,T2和T3,T3和T4,T1和W1,W1和W2,W2和W3。观察结果并绘图。(3)控存代码表
表3.5
微地址[***********]090A 0B 0C 0D 0E 0F [***********]191A 1B 1C 1D 1E 1F
CM[***********][***********][**************]64B[1**********]
[***********][1**********]C [***********][**************]0
控存代码表
CM[***********]08480A4A40C [***********][***********]
CM[**************]1E 0F 04021D 1E 0E 1D 9018191A 1B 1C 0F 0F 0F 0F 0F 0F 0F 0F 0D 060F
CM2
实验报告内容:
开关设置IR7-IR4的不同状态,观察ADD 至OUT 八条机器指令对应微程序的微命令信号,特别是微地址转移的实现,并与上面表格进行对照。六、实验要求
1. 做好实验预习,掌握微程序控制器和时序发生器的工作原理。
2. 根据实验任务所提的要求,在预习时完成表格填写、数据和理论分析值。3. 写出实验报告,内容是:
(1)(2)
(3)
实验目的。
实验任务2的时序波形图和测量值。
实验任务3的表格。
七、实验步骤和实验结果(1)接线
控制器模拟开关时序电路固定电平
C K0TJ 地
IR4K1SKIP 地
IR5K2
IR6K3
IR7K4
注意:接线表中的TJ 是时序电路中的TJ,不是控制器中的TJ(该TJ 由控制器产生,不能接输入信号),千万不要接错。
(2)观察时序信号的波形
置DP=0,DB=0。按CLR#按钮复位,再QD 按钮。时序部分开始不停止地运行,直到按CLR#按钮为止。用双踪示波器观察MF、T1、T2、T3、T4、W1、W2、W3信号。观察的方法是同时观察两路信号,以便于比较相位。按下述顺序进行观察:MF和
中科技大学武昌分校实验报告
实验名称实验日期专业学生姓名实验报告内容:
(4)控制台操作微指令编码测试
控制台微代码在58C65的D0—D7输出,D0是最低位,D7是最高位,CM0是最低字节,CM3是最高字节。D0—D7对应于28C64的引脚11、12、13、15、16、17、18、19。对于控存的输出,有相应的32个指示灯指示。
置DP =1,DB=0,使实验系统处于单拍状态。置SWC =0、SWB=0、SWA=1,实验系统处于写存储器WRM 工作模式。按CLR#按钮,使实验系统处于初始状态,微地址为00H,测得的微码是00H 00H 00H 48H。按一次QD 按钮,微地址为09H,测得的微码是00H 08H 84H 04H。按一次QD 按钮,微地址为04H,测得的微码是01H 08H 00H 05H。按一次QD 按钮,微地址为05H,测得的微码是00H 00H 44H 04H。按一次QD 按钮,微地址为04H。由于微地址又返回04H,停止测试。置DP =1,DB=0,使实验系统处于单拍状态。置SWC =0、SWB=1、SWA=0,实验系统处于读存储器RRM 工作模式。按CLR#按钮,使实验系统处于初始状态,微地址为00H,测得的微码是00H 00H 00H 48H。按一次QD 按钮,微地址为0AH,测得的微码是00H 08H 80H 02H。按一次QD 按钮,微地址为02H,测得的微码是03H 40H 04H 03H。按一次QD 按钮,微地址为03H,测得的微码是00H 00H 40H 02H。按一次QD 按钮,微地址为02H。由于微地址又返回02H,停止测试。
置DP =1,DB=0,使实验系统处于单拍状态。置SWC =0、SWB=1、SWA=1,实验系统处于写寄存器WRF 工作模式。按CLR#按钮,使实验系统处于初始状态,微地址为00H, 测得的微码是00H 00H 00H 48H。按一次QD 按钮,微地址为
班号同组学生
第
次试验
成绩指导老师组别
0BH,测得的微码是00H 08H 0A4H 1DH。按一次QD 按钮,微地址为1DH,测得的微码是01H 08H 00H 0DH。按一次QD 按钮,微地址为0DH,测得的微码是00H 按钮,微地址为1DH。由于微地址又返回1DH,停止测试。
置DP =1,DB=0,使实验系统处于单拍状态。置SWC =1、SWB=0、SWA=0,实验系统处于读寄存器工作模式。按CLR#按钮,使实验系统处于初始状态,微地址为00H, 测得的微码是00H 00H 00H 48H。按一次QD 按钮,微地址为0CH,测得的微码是00H 08H 0A4H 1EH。按一次QD 按钮,微地址为1EH,测得的微码是01H 08H 00H 06H。按一次QD 按钮,微地址为06H,测得的微码是00H 80H 08H 07H。按一次QD 按钮,微地址为07H,测得的微码是00H 10H 04H 1EH。按一次QD 按钮,微地址为1EH。由于微地址又返回1EH,停止测试。
置DP =1,DB=0,使实验系统处于单拍状态。置SWC=0、SWB=0、SWA=0,实验系统处于PR 工作模式。按CLR#按钮,使实验系统处于初始状态,微地址为00H。按一次QD 按钮,微地址为08H,测得的微码是00H 08H 20H 0FH。按一次QD 按钮,微地址为0FH,测得的微码是00H 80H 08H 90H。由于以后的微码与机器指令有关,停止测试。
(5)深刻理解0FH 微指令的功能和P1测试的状态条件(IR7-IR4),用二进制开关设置IR7-IR4的不同状态,观察ADD 至OUT 八条机器指令对应微程序的微命令信号,特别是微地址转移的实现。
0FH 微指令的功能是根据程序计数器PC 从存储器取指令,送往指令寄存器IR。0FH 微指令的下一微指令地址是10H。不过,10H只是一个表面的下一微地址,由于该微指令中P1=1,因此实际的微指令地址的低4位要根据IR7—IR4确定,实际微地址为10H +IR7IR6IR5IR4。
1.置DP =1,DB=0,使实验系统处于单拍状态。选择SWC =0、SWB=0、SWA=0,按CLR#按钮,使实验系统处于初始状态,微地址是00H。按一次QD 按钮,微地址变为08H,微代码为00H 08H 20H 0FH。按一次QD 按钮,微地址变为0FH,微代码为00H 80H 08H 90H。令K4(IR7)=0,K3(IR6)=0,K2(IR5)==0,相当于ADD 指令的操作码。按一次QD 按钮,微地址变为10H,微代码是00H 03H 00H 18H。按一次QD 按钮,微地址变为18H,微代码是90H 24H 10H 0FH。按一次QD 按钮,微地址回到0FH。
80H
0CH
0EH。按一次QD 按钮,微地址为0EH,测得的微码是00H 0CH 04H 1DH。按一次QD
中科技大学武昌分校实验报告
实验名称实验日期专业学生姓名实验报告内容:
2.置DP =1,DB=0,使实验系统处于单拍状态。选择SWC =0、SWB=0、SWA=0,按CLR#按钮,使实验系统处于初始状态,微地址是00H。按一次QD 按钮,微地址变为08H,微代码为00H 08H 20H 0FH。按一次QD 按钮,微地址变为0FH,微代码为00H 80H 08H 90H。令K4(IR7)=0,K3(IR6)=0,K2(IR5)=0,K1(IR4)=1,相当于SUB 指令的操作码。按一次QD 按钮,微地址变为11H,微代码是00H 03H 00H 19H。按一次QD 按钮,微地址变为19H,微代码是64H 24H 10H 0FH。按一次QD 按钮,微地址回到0FH。
3.置DP =1,DB=0,使实验系统处于单拍状态。选择SWC =0、SWB=0、SWA=0,按CLR#按钮,使实验系统处于初始状态,微地址是00H。按一次QD 按钮,微地址变为08H,微代码为00H 08H 20H 0FH。按一次QD 按钮,微地址变为0FH,微代码为00H 80H 08H 90H。令K4(IR7)=0,K3(IR6)=0,K2(IR5)=1,K1(IR4)=0,相当于AND 指令的操作码。按一次QD 按钮,微地址变为12H,微代码是00H 03H 00H 1AH。按一次QD 按钮,微地址变为1AH,微代码是0B8H 24H 10H 0FH。按一次QD 按钮,微地址回到0FH。
4.
微地址变为13H,微代码是00H 11H 80H 1BH。按一次QD 按钮,微地址变为1BH,微代码是01H 20H 10H 0FH。按一次QD 按钮,微地址回到0FH。
4.置DP =1,DB=0,使实验系统处于单拍状态。选择SWC =0、SWB=0、SWA=0,按CLR#按钮,使实验系统处于初始状态,微地址是00H。按一次QD 按钮,微地址
成绩
第班号同组学生
次试验
指导老师组别
变为08H,微代码为00H 08H 20H 0FH。按一次QD 按钮,微地址变为0FH,微代码为00H 80H 08H 90H。令K4(IR7)=0,K3(IR6)=1,K2(IR5)==0,相当于LDA 指令的操作码。按一次QD 按钮,微地址变为14H,微代码是00H 10H 80H 1CH。按一次QD 按钮,微地址变为1CH,微代码是03H 44H 10H 0FH。按一次QD 按钮,微地址回到0FH。
5.置DP =1,DB=0,使实验系统处于单拍状态。选择SWC =0、SWB=0、SWA=0,按CLR#按钮,使实验系统处于初始状态,微地址是00H。按一次QD 按钮,微地址变为08H,微代码为00H 08H 20H 0FH。按一次QD 按钮,微地址变为0FH。令K4(IR7)=0,K3(IR6)=1,K2(IR5)=0,K1(IR4)=1,相当于JC 指令的操作码。按一次QD 按钮,微地址变为15H,微代码是00H 00H 11H 0FH。令K0(C)=0。按一次QD 按钮,微地址变为0FH,微代码为00H 80H 08H 90H。按一次QD 按钮,微地址变为15H。令K0(C)=1,按一次QD 按钮,微地址变为1FH,微代码是00H 10H 20H 0FH。按一次QD 按钮,微地址回到0FH。
6.置DP =1,DB=0,使实验系统处于单拍状态。选择SWC =0、SWB=0、SWA=0,按CLR#按钮,使实验系统处于初始状态,微地址是00H。按一次QD 按钮,微地址变为08H,微代码为00H 08H 20H 0FH。按一次QD 按钮,微地址变为0FH,微代码为00H 80H 08H 90H。令K4(IR7)=0,K3(IR6)=1,K2(IR5)==0,相当于STP 指令的操作码。按一次QD 按钮,微地址变为16H,微代码是00H 00H 14H 0FH。按一次QD 按钮,微地址回到0FH。
7.置DP =1,DB=0,使实验系统处于单拍状态。选择SWC =0、SWB=0、SWA=0,按CLR#按钮,使实验系统处于初始状态,微地址是00H。按一次QD 按钮,微地址变为08H,微代码为00H 08H 20H 0FH。按一次QD 按钮,微地址变为0FH,微代码为00H 80H 08H 90H。令K4(IR7)=0,K3(IR6)=1,K2(IR5)==1,相当于OUT 指令的操作码。按一次QD 按钮,微地址变为17H,微代码是00H 10H 14H 0FH。按一次QD 按钮,微地址回到0FH。
置DP =1,DB=0,使实验系统处于单拍状态。选择SWC =0、SWB=0、SWA=0,按CLR#按钮,使实验系统处于初始状态,微地址是00H。按一次QD 按钮,微地址变为08H,微代码为00H 08H 20H 0FH。按一次QD 按钮,微地址变为0FH,微代码为00H 80H 08H 90H。令K4(IR7)=0,K3(IR6)=0,K2(IR5)=1,K1(IR4)=1,相当于STA 指令的操作码。按一次QD 按钮,
华中科技大学武昌分校实验报告
实验名称实验日期专业学生姓名
数据通路组成实验2014.11.14计科唐海军
047
班号
第1202
3
次试验
组别
成绩
指导老师陈国平
同组学生
实验报告内容:一、实验目的
1. 2. 3. 4.
进一步熟悉计算机的数据通路。
将双端口通用寄存器堆和双端口存储器模块连接,构成新的数据通路。掌握数字逻辑电路中的一般规律,以及排除故障的一般原则和方法。
锻炼分析问题和解决问题的能力,在出现故障的情况下,独立分析故障现象,并排除故障。
二、实验设备
1. 2. 3. 4.
TEC-5计算机组成原理实验系统1台逻辑测试笔一支(在TEC-5实验台上)双踪示波器一台(公用)万用表一只(公用)
三、实验电路
数据通路实验电路图如图3.3所示。它是将双端口存储器模块和双端口通用寄存器堆模块连接在一起形成的。存储器的指令端口(右端口) 不参与本次实验。通用寄存器堆连接运算器模块,本次实验涉及其中的DR1。
由于双端口存储器是三态输出,因而可以直接连接到DBUS 上。此外,DBUS 还连接着通用寄存器堆。这样,写入存储器的数据由通用寄存器提供,从RAM 中读出的数据也可以放到通用寄存器堆中保存。
本实验的各模块在以前的实验中都已介绍,请参阅前面相关章节。注意实验中的控制信号与模拟它们的二进制开关的连接。
华中科技大学武昌分校实验报告
实验名称实验日期专业学生姓名
班号同组学生
第
次试验
成绩指导老师组别
丢失的地方,这样就把故障隔离到一个小范围内。有了故障的大概范围以后,去掉内部时钟脉冲,改用逻辑脉冲笔向特定的电路节点施加激励信号,观察输出端的状态。有了提供激励的逻辑脉冲笔和响应激励的逻辑测试笔,可以很容易地检查被怀疑的器件的真值表,从而探查出故障地点。
另一种寻找故障的方法,是预先隔离故障。进行的方法如下:从电路始端送入脉冲,在终端检测响应。如果信号未能正确送达,就对每一串电路用同样的方法检查。反复进行,就能将故障点隔离出来。五、实验任务
1. 将实验电路与控制台的有关信号进行连接。
2. 用8位数据开关SW7-SW0向RF 中的四个通用寄存器分别置入以下数据:R0
=0FH、R1=0F0H、R2=55H、R3=0AAH。
3. 用8位数据开关向AR 送入地址0FH,然后将R0中的数据0FH 写入双端口存
储器中。用同样的方法,依次将R1、R2、R3中的数据分别置入RAM 的0F0H、55H、0AAH单元。
分别将RAM 的0AAH 单元数据写入R0,55H 单元数据写入R1,0F0H 单元数据写入R2,0FH单元数据写入R3。然后将R0-R3中的数据读出,验证数据的正确性,并记录数据。六、实验要求
1. 做好实验预习,掌握实验电路的数据通路特点和通用寄存器堆的功能特性。2. 写出实验报告,内容是:
(1)(2)(3)
实验目的。
写出详细的实验步骤,记录实验数据。其他值得讨论的问题。
实验报告内容:
性,则可以往前一级查找。常见的布线错误是漏线和布错线。漏线的情况往往是输入端未连线或浮空。浮空输入可用三状态逻辑测试笔或电压表检测出来。
对于设计错误,需要在设计中加以留心和克服。首先要遵循的一个原则是:为使系统可靠的工作,从系统的初始状态开始,应该把线路置于信号的稳定电平上,而不是置于信号的前沿或后沿;其次没有出口的悬空状态是不允许存在的;另外设计中应当避免静态和动态的竞争冒险;最后,为便于维修,设计中应考虑把系统设计成具有单步工作的能力。
常见的设计错误包括对于中小规模集成电路中不用的输入端的接法。对一个不用的输入端常忘了接,因而输入端相当于接了有效的逻辑“1”电平。建议将门输入端统一接到一个逻辑“0”电平上。计数器不计数和寄存器不寄存信息的问题常常就是由不用的输入端进来的干扰信号引起的。
2.
元件损坏造成的故障
一个数字系统,即使逻辑设计和布线都正确无误,但如果使用的元件损坏或性能不良,也会造成系统的故障。这种故障只要更换元件,就能恢复正常运行。除了元件损坏或性能不良之外,数字系统的故障还可能由于虚焊、噪声等原因造成。许多最初是间歇性故障,但最终还是会变成固定性故障。这种故障不是固定的逻辑高电平,就是固定的逻辑低电平,所以通常称之为“逻辑故障”。实验逻辑测试笔和逻辑脉冲笔(逻辑脉冲产生器)可以方便地查找数字电路中的逻辑故障。一种方法是先使用逻辑测试笔检测关键信号(如时钟、启动、移位、复位等)
七、实验步骤
(1)将实验电路与控制台的有关信号进行连接接线表
数据通路模拟开关数据通路模拟开关
RS0K0
RS1K1
RD0K2
RD1K3
WR0K4LR/W#K12
WR1K5
LDRi K6CEL#K13
LDDR1K7LDAR#K14
RS_BUS#SW_BUS#ALU_BUS#RAM_BUS#K8
K9
K10
K11
华中科技大学武昌分校实验报告
实验名称实验日期专业学生姓名实验报告内容:
数据通路模拟开关
AR+1地
CER#VCC
Cn#VCC
M 地
S0地
S1地
S2地
S3地
SW7SW6SW5000按QD 按钮,将1H 写入R2。
SW40SW30SW20SW10SW01
(3)用8位数据开关向AR 送入地址1H,然后将R2中的数据1H 写入双端口存储器中。
成绩
第班号同组学生
次试验
指导老师组别
用同样的方法,再将R1中的数据分别置入RAM 的3H 单元。
1.令K6(LDRi)=0,K8(RS_BUS#)=1,K9(SW_BUS#)=0,K10(ALU_BUS#)=1,K11(RAM_BUS#)=1K13(CEL#)=1,K14(LDAR#)=0。K1(RS1)=0,K0(RS0)=1。K6(LDRi)0
K8K9K10K11(RS_BUS#)(SW_BUS#)(RA M _B U S #)
1
1
1
K13(CEL#)1
K14(LDAR#)
K1(RS1)1
K0(RS0)0
按QD 按钮,将1H 写入地址寄存器AR 。
2. 将数据FFH 打入RAM 里地址为3H 的单元里面,令K9(SW_BUS#)=1,K8(RS_BUS#)=0,K10(ALU_BUS#)=1,K11(RA_BUS#)=0,K12(LR/W#)=0,K13(CEL#)=1。K9K8K10K11(SW_BUS#)(RS_BUS#)(ALU_BUS#)(RA_BUS#)
1
1
K12(LR/W#)
K13(CEL#)1
(2)用8位数据开关SW7-SW0向RF 中的四个通用寄存器分别置入以下数据:R1
=3H、R2=1H。
1.令K4(WR0)=1,K5(WR1)=0,K6(LDRi)=1,K8(RS_BUS#)=1,K9(SW_BUS#)=0,
K10(ALU_BUS#)=1,K11(RAM_BUS#)=1,K13(CEL#)=1。K4(WR0)1
K5(WR1)0
K6(LDRi)=1
1
K8K9K10K11K13(RS_BUS#)(SW_BUS#)(RAM_BUS#)(CEL#)
1
1
1
1
置SW7-SW0=FFH,
SW71SW61SW51SW41SW31SW21SW11SW01
按QD 按钮,将FFH 写入RAM 。
3. 检验RAM 中1H 单元的内容是否正确,令K8(RS_BUS#)=0,K9(SW_BUS#)=1,
K10(ALU_BUS#)=1,K11(RAM_BUS#)=1,K1(RS1)=1,K2(RS0)=0,K14(LDAR)=0。数据通路模拟开关
K8K9K10K11(RS_BUS#)(SW_BUS#)(A L U _B U S #) =(RAM_BUS#)
1
1
1
K1(RS1)1
K2(RS0)0
K13(LDAR)0
置SW7-SW0=3H,
SW7SW6SW5000按QD 按钮,将3H 写入R1。
SW40SW30SW20SW11SW01
按QD 按钮,将1H 写入地址寄存器AR。
令K12(LR/W#)=1,K8(RS_BUS#)=1,K9(SW_BUS#)=1,K10(ALU_BUS#)=1,K11(RAM_BUS#)=0K13(CEL#)=0,K14(LDAR#)=0。K12(LR/W#)
1
K8K9K10K11(RS_BUS#)(SW_BUS#)(RA M _B U S #)
1
1
1
K13(CEL#)0
K14(LDAR#)
2.令K4(WR0)=1,K5(WR1)=0,K6(LDRi)=1,K8(RS_BUS#)=1,K9(SW_BUS#)=0,
K10(ALU_BUS#)=1,K11(RAM_BUS#)=1,K13(CEL#)=1。K4(WR0)0
K5(WR1)1
K6(LDRi)=1
1
K8K9K10K11K13(RS_BUS#)(SW_BUS#)(RAM_BUS#)(CEL#)
1
1
1
1
置SW7-SW0=1H,按QD 按钮,观察DBUS 上的数据是否为FFH 。
华中科技大学武昌分校实验报告
实验名称实验日期专业学生姓名实验报告内容:
(4)将RAM 中地址为1H 的数据写入双端口寄存器堆RF 的R0单元。
令K8(RS_BUS#)=1,K9(SW_BUS#)=1,K10(ALU_BUS#)=1,K11(RAM_BUS#)=0,
K5(WR1)=0,K4(WR0)=0,K14(LDRi)=1。数据通路模拟开关
K8K9K10K11(RS_BUS#)(SW_BUS#)(A L U _B U S #) =(RAM_BUS#)
1
1
1
K5(WR1)0
K4(WR0)0
K6(LDRi)1
(6)检验指定地址单元的内容是否正确
令K8(RS_BUS#)=0,K9(SW_BUS#)=1,K10(ALU_BUS#)=1,K11(RAM_BUS#)=1,K1(RS1)=1K2(RS0)=0,K14(LDAR)=0。数据通路模拟开关
K8K9K10K11(RS_BUS#)(SW_BUS#)(A L U _B U S #) =(RAM_BUS#)
1
1
1
K1(RS1)0
K2(RS0)1
K13(LDAR)0
成绩
第班号同组学生
次试验
指导老师组别
按QD 按钮,将3H 写入地址寄存器AR。
令K12(LR/W#)=1,K8(RS_BUS#)=1,K9(SW_BUS#)=1,K10(ALU_BUS#)=1,K11(RAM_BUS#)=0K13(CEL#)=0,K14(LDAR#)=0。K12(LR/W#)
1
K8K9K10K11(RS_BUS#)(SW_BUS#)(RA M _B U S #)
1
1
1
K13(CEL#)0
K14(LDAR#)
按QD 按钮,观察DBUS 上的数据是否为FFH 。
可用同样的方法观察RAM 其他地址单元的内容
按QD 按钮,将FFH 写入R0。
(5)将R0的内容写如RAM 的3H 地址单元
1. 令K6(LDRi)=0,K8(RS_BUS#)=1,K9(SW_BUS#)=0,K10(ALU_BUS#)=1,
K11(RAM_BUS#)=1,K13(CEL#)=1,K14(LDAR#)=0。K1(RS1)=0,K0(RS0)=1。
K6(LDRi)0
K8
K9
K10
K11(RA M _B U S #)
1
K13(CEL#)1
K14(LDAR#)
K1(RS1)0
K0(RS0)1
(RS_BUS#)(SW_BUS#)1
1
1
按QD 按钮,将3H 写入地址寄存器AR。2.将R0的内容写入RAM。
令K9(SW_BUS#)=1,K8(RS_BUS#)=0,K10(ALU_BUS#)=1,K11(RA_BUS#)=1,K12(LR/W#)=0,
K13(CEL#)=0。
K9K8K10K11K12(SW_BUS#)(RS_BUS#)(ALU_BUS#)(RA_BUS#)(LR/W#)
1
1
1
K13(CEL#)0
K1(RS1)
K0(RS0)
按QD 按钮,将FFH 写入RAM 的3H 地址单元。
华中科技大学武昌分校实验报告
实验名称实验日期专业学生姓名
常规型程序控制器组成实验2014.11.14计科唐海军
047
班号
第1202
3
次试验
组别
成绩指导老师陈国平
本次实验不涉及硬连线控制器,因此时序发生器中产生W1-W3的部分也可根据需要放到硬连线控制器实验中介绍。
产生时序信号T1-T4的功能集成在图中左边的一片GAL22V10中,另外它还产生节拍信号W1-W3的控制时钟CLK1。该芯片的逻辑功能用ABEL 语言实现。其源程序如下:
MODULE TIMER1
TITLE 'CLOCK GENERATOR T1-T4' CLK =.C.; "INPUT
MF, CLR, QD, DP, TJ, DB PIN 1..6; W3PIN 7; "OUTPUT
T1, T2, T3, T4PIN 15..18ISTYPE 'REG'; CLK1PIN 14ISTYPE 'COM';
QD1, QD2, QDR PIN ISTYPE 'REG'; ACT PIN ISTYPE 'COM';
S =[T1,T2, T3, T4, QD1, QD2, QDR];EQUATIONS
QD1:=QD; QD2:=QD1;
ACT =QD1&!QD2;
QDR :=CLR &QD #CLR &QDR;
T1:=CLR &T4&ACT #CLR &T4&! (DP#TJ #DB &W3) &QDR; T2:=CLR &T1; T3:=CLR &T2;
T4:=!CLR #T3#T4&!ACT &(DP#TJ#DB&W3) #!QDR; CLK1=T1#!CLR &MF; S.CLK =MF; END
同组学生
实验报告内容:一、实验目的
1. 掌握时序发生器的组成原理。2. 掌握微程序控制器的组成原理。二、实验电路
1.
时序发生器
本实验所用的时序电路见图3.4。电路由一个500KHz 晶振、2片GAL22V10、一片74LS390组成,可产生两级等间隔时序信号T1-T4、W1-W3,其中一个W 由一轮T1-T4组成,相当于一个微指令周期或硬连线控制器的一拍,而一轮W1-W3可以执行硬连线控制器的一条机器指令。另外,供数字逻辑实验使用的时钟由MF 经一片74LS390分频后产生。
节拍电位信号W1-W3只在硬连线控制器中使用,产生W 信号的功能集成在右边一片GAL22V10中,用ABEL 语言实现。其源程序如下:
华中科技大学武昌分校实验报告
实验名称实验日期专业学生姓名实验报告内容:
MODULE TIMER2
//头部
成绩
第班号同组学生
次试验
指导老师组别
TITLE 'CLOCK GENERATOR W1-W3' DECLARATIONS //说明部
CLK =.C.; "INPUT
CLK1, CLR, SKIP PIN 1..3; "OUTPUT
W1, W2, W3PIN 16..18ISTYPE 'REG'; W =[W1,W2, W3];EQUATIONS //逻辑描述部
W1:=CLR &W3;
W2:=CLR &W1&!SKIP;
W3:=!CLR #W2#W1&SKIP; W.CLK =CLK1; END TIMER2
//结束部
左边GAL 的时钟输入MF 是晶振的输出,频率为500KHz。T1-T4的脉宽为2μs。CLR实际上是控制台的CLR#信号,因为ABEL 语言的书写关系改为CLR,仍为低有效。CLR#=0将系统复位,此时时序停在T4、W3,微程序地址为000000B。建议每次实验台加电后,先按CLR#复位一次。实验台上CLR#到时序电路的连接
华中科技大学武昌分校实验报告
实验名称实验日期专业学生姓名
班号同组学生
第
次试验
成绩指导老师组别
实验报告内容:
对应微指令格式,微程序控制器的组成见图3.6。
控制存储器采用4片E 2PROM(HN58C65)组成,HN58C65是8K×8位的,地址输入端有13位(A12-A0),实验中只用到A5-A0,所以A12-A6接地,实际的使用空间为64字节。
微地址寄存器μAR共6位,用一片8D 触发器74LS174组成,带有异步清零端。
两级与、或门构成微地址转移逻辑,用于产生下一微指令地址。
在每一个T1的上升沿,新的微指令地址打入微地址寄存器中,控制存储器随即输出该条微指令的控制信号。微地址转移逻辑生成下一微地址,等到下一个T1上升沿,将其打入微地址寄存器中。
微地址转移逻辑的多个输入信号中,SWC、SWB、SWA是控制台指令的定义开关,它们用来决定控制台指令微程序的分支。C是进位信号,IR7-IR4是机器指令的操作码字段,根据它们的值来控制微程序转向某个特定的分支。三、机器指令与微程序
为教学中简单明了,本实验仪器使用了8条机器指令,均为单字长(8位)指令。指令功能及格式如表3.3所示。指令的高4位IR7-IR4是操作码,提供给微程序控制器用作地址转移;低4位提供给数据通路。
华中科技大学武昌分校实验报告
实验名称实验日期专业学生姓名实验报告内容:
班号同组学生
第
次试验
成绩指导老师组别
微指令代码表
根据图3.7的微程序流程图计算出微程序代码比较困难。为了计算出微程序代码,需要1个各微指令使用的信号表,即代码表。
表3.4
微指令当前微地址下一微地址
P0P1P2备用TJ LDIR PC+1
KT RRF 00081. . . . . .
0C 1E . . . . 1. .
. . . . . .
. .
微程序代码表
WRF
RRM
WRM
PR
10. 1. . . 1.
0A [1**********]80F . . . . . . . . .
. . . 1. . .
. . . . . . .
. . . 1. .
. . .
. . . . .
. . . 1. . .
. . . . . . .
06070B 1D 0D 0E . . . . . 1
. . . 1. .
. . .
. . . . 1
. . . . . . .
. . . 11. .
. . . 1.
1E 06071E 1D 0D 0E 1D [1**********]40F
微程序流程图
华中科技大学武昌分校实验报告
实验名称实验日期专业学生姓名实验报告内容:
LDPC#AR+1LDAR#LDDR1LDDR2LDRi SW_BUS#RS_BUS#ALU_BUS#RAM_BUS#CER#CEL#LR/W#Cn#M S0S1S2S3
. . . . . .
. . . . . . . .
. . . . . .
. . .
. . . .
. . . . .
. . . . . . .
. . . . 101. 1. . . 1. . .
. 1. . .
. . . . .
. . . . . 1
. .
. . . . . . . . . .
. . . .
. 1. . . . . .
. . . . .
.
. .
. . . .
. . . . . 1. .
. . 10.
. . . . . .
. . . . .
. . 1
. . . 1. .
. 1. .
.
. . . . .
. . .
. . . .
.
. . . . .
1
. . .
. . . . . .
. .
. . . . . . . . . 11
. . . . 1. . . 1
. . . . . . 1. 11. . . . . . . . . . . . . . . . . . . .
. . . . . . 1.
. . . 1. . . . . . . . . . . . . . . 10. . . . . . . . . . . .
. . 1. . . 1. . . . . . . . . . . .
. . . . . . . . . . . . . . .
. 1
. . . . 1. . . 1. . . 1.
. . . . . .
表3.4
微指令当前微地址下一微地址
P0
ADD
SUB
AND
微程序代码表(续)
STA
LDA 0F 1C 0F . . . . . . . . . 1
. . . . . . . 1. . . . . . . . . . . 10. 00000. . . . . . 1
. . . . . . . . . . . 1
. 1. . . . 1.
. . 1. . . 1. 11. . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . .
. . . . . . . .
. . . . . . 1. . . JC
STP
OUT 170F . .
. . 1. . 1. . . . . . 1. . . . . .
. . . . . . . .
. . . . .
. . . . .
. 1. . . . . .
. 1.
. . . . . . . 1. 1.
151F 160F 0F 0F . . 1. . . 1. . . . . . . . . .
. .
[1**********]A 131B 141C 180F 190F . . . . . . . . . 11. . . . . . . . . . . . . .
. 01001. .
. 1
. . . . . . . . . . . . . . 1.
. .
. . . . 100110
. . . . . . . 1
. . . . . . . . . . 11. .
. 1. . . . . . . . . . . . . . . . 1. . . . . 1. . . . . . . . 11101. . 11. .
. 11A 0F 1B . . . . . . . .
. . . . . . 1. . . . . 1.
. . . . .
成绩
第班号同组学生
次试验
指导老师组别
备用TJ
P1P2
LDIR PC+1LDPC#AR+1LDAR#LDDR1LDDR2LDRi SW_BUS#RS_BUS#ALU_BUS#RAM_BUS#. CER#CEL#LR/W#Cn#M S0S1S2S3
1
注:后缀为#的信号都是低电平有效信号,为了在控存ROM 中用“1”表示有效,这些信号在控制器中经过反相后送往数据通路。
为了向RAM 和寄存器堆中装入程序和数据、检查写入是否正确,并能启动程序执
注:后缀为#的信号都是低电平有效信号,为了在控存ROM 中用“1”表示有效,这些信号在控制器中经过反相后送往数据通路。
行,还设计了以下五个控制台操作微程序:
在按复位按钮CLR#后,TEC-5复位,根据SWC、SWB、SWA状态来选择工作方式。在控制台工作方式,必须使DP=0,DB=0。
华中科技大学武昌分校实验报告
实验名称实验日期专业学生姓名实验报告内容:
启动程序(PR):按下复位按钮CLR#后,微地址寄存器清零。这时,置SWC =0、SWB=0、SWA=0,用数据开关SW7-SW0设置RAM 中的程序首地址,按QD 按钮后,启动程序执行。
写存储器(WRM):按下复位按钮CLR#,置SWC=0、SWB=0、SWA=1。①在SW7-SW0中置好存储器地址,按QD 按钮将此地址打入AR。②在SW7-SW0置好数据,按QD,将数据写入AR 指定的存储器单元,这时AR 加1。③返回②。依次进行下去,直到按复位键CLR#为止。这样就实现了对RAM 的连续手动写入。这个控制台操作的主要作用是向RAM 中写入自己编写的程序和数据。
读存储器(RRM):按下复位按钮CLR#,置SWC=0、SWB=1、SWA=0。①在SW7-SW0中置好存储器地址,按QD 按钮将此地址打入AR,RAM此地址单元的内容读至DBUS 显示。②按QD 按钮,这时AR 加1,RAM新地址单元的内容读至DBUS 显示。③返回②。依次进行下去,直到按复位键CLR#为止。这样就实现了对RAM 的连续读出显示。这个控制台操作的主要作用是检查写入RAM 的程序和数据是否正确。在程序执行后检查程序执行的结果(在存储器中的部分)是否正确。
寄存器写操作(WRF):按下复位按钮CLR#,置SWC=0、SWB=1、SWA=1。①首先在SW7—SW0置好存储器地址,按QD 按钮,则将此地址打入AR 寄存器和PC 寄存器。②在SW1、SW0置好寄存器选择信号WR1、WR0,按QD 按钮,通过双端口存储器的右端口将WR1、WR0(即SW1、SW0)送到指令寄存器IR 的低2位。③在SW7-SW0中置好要写入寄存器的数据;按QD 按钮,将数据写入由WR1、WR0
班号同组学生
第
次试验
成绩指导老师组别
指定的寄存器。④返回②继续执行,直到按复位按钮CLR#。这个控制台操作主要在程序运行前,向相关的通用寄存器中置入初始数据。
寄存器读操作(RRF):按下复位按钮CLR#,置SWC=1、SWB=0、SWA=0。①首先在SW7—SW0置好存储器地址,按QD 按钮,则将此地址打入AR 寄存器和PC 寄存器。②在SW3、SW2置好寄存器选择信号RS1、RS0,按QD 按钮,通过双端口存储器的右端口将RS1、RS0(即SW3、SW2)送到指令寄存器IR 的第3、2位。RS1、RS0选中的寄存器的数据读出到DBUS 上显示出来。③返回②继续下去,直到按复位键CLR#为止。这个控制台操作的主要作用是在程序执行前检查写入寄存器堆中的数据是否正确,在程序执行后检查程序执行的结果(在寄存器堆中的部分)是否正确。四、实验设备
1. TEC-5计算机组成原理实验系统1台2. 逻辑测试笔一支(在TEC-5实验台上)3. 双踪示波器一台(公用)4. 万用表一只(公用)
五、实验任务
1. 按实验要求,连接实验台的电平开关K0-K15、时钟信号源和微程序控制器。连接完成后应仔细检查一遍,然后才可以加上电源。
注意:本次实验只做微程序控制器本身的实验,故微程序控制器输出的微命令信号与执行部件(数据通路)的连线不连接。
2. 观察时序信号。
用双踪示波器观测时序发生器的输入、输出信号:MF、T1-T4、W1-W3。比较相位关系,画出其波形图,并标注出测量所得的脉冲宽度。观察时须将DB、DP开关置为0状态,然后按QD 按钮。
熟悉启停控制按钮的功能,并熟练使用这些控制按钮或开关。
3. 熟悉微指令格式的定义,按此定义将图3.7所示的全部微程序变换成二进制
代码,并列表登记。此表请在预习时完成。
4. 控制台操作的功能由SWC、SWB、SWA 三个二进制开关的状态配合P0判断来决
定。用单拍(DP)方式执行控制台操作微程序,观察判别字段和微地址指示灯的显示,跟踪微指令的执行情况,并与上表数据对照。
5. 深刻理解0FH 微指令的功能和P1测试的状态条件(IR7-IR4),用二进制开
华中科技大学武昌分校实验报告
实验名称实验日期专业学生姓名
班号同组学生
第
次试验
成绩指导老师组别
T1,T1和T2,T2和T3,T3和T4,T1和W1,W1和W2,W2和W3。观察结果并绘图。(3)控存代码表
表3.5
微地址[***********]090A 0B 0C 0D 0E 0F [***********]191A 1B 1C 1D 1E 1F
CM[***********][***********][**************]64B[1**********]
[***********][1**********]C [***********][**************]0
控存代码表
CM[***********]08480A4A40C [***********][***********]
CM[**************]1E 0F 04021D 1E 0E 1D 9018191A 1B 1C 0F 0F 0F 0F 0F 0F 0F 0F 0D 060F
CM2
实验报告内容:
开关设置IR7-IR4的不同状态,观察ADD 至OUT 八条机器指令对应微程序的微命令信号,特别是微地址转移的实现,并与上面表格进行对照。六、实验要求
1. 做好实验预习,掌握微程序控制器和时序发生器的工作原理。
2. 根据实验任务所提的要求,在预习时完成表格填写、数据和理论分析值。3. 写出实验报告,内容是:
(1)(2)
(3)
实验目的。
实验任务2的时序波形图和测量值。
实验任务3的表格。
七、实验步骤和实验结果(1)接线
控制器模拟开关时序电路固定电平
C K0TJ 地
IR4K1SKIP 地
IR5K2
IR6K3
IR7K4
注意:接线表中的TJ 是时序电路中的TJ,不是控制器中的TJ(该TJ 由控制器产生,不能接输入信号),千万不要接错。
(2)观察时序信号的波形
置DP=0,DB=0。按CLR#按钮复位,再QD 按钮。时序部分开始不停止地运行,直到按CLR#按钮为止。用双踪示波器观察MF、T1、T2、T3、T4、W1、W2、W3信号。观察的方法是同时观察两路信号,以便于比较相位。按下述顺序进行观察:MF和
中科技大学武昌分校实验报告
实验名称实验日期专业学生姓名实验报告内容:
(4)控制台操作微指令编码测试
控制台微代码在58C65的D0—D7输出,D0是最低位,D7是最高位,CM0是最低字节,CM3是最高字节。D0—D7对应于28C64的引脚11、12、13、15、16、17、18、19。对于控存的输出,有相应的32个指示灯指示。
置DP =1,DB=0,使实验系统处于单拍状态。置SWC =0、SWB=0、SWA=1,实验系统处于写存储器WRM 工作模式。按CLR#按钮,使实验系统处于初始状态,微地址为00H,测得的微码是00H 00H 00H 48H。按一次QD 按钮,微地址为09H,测得的微码是00H 08H 84H 04H。按一次QD 按钮,微地址为04H,测得的微码是01H 08H 00H 05H。按一次QD 按钮,微地址为05H,测得的微码是00H 00H 44H 04H。按一次QD 按钮,微地址为04H。由于微地址又返回04H,停止测试。置DP =1,DB=0,使实验系统处于单拍状态。置SWC =0、SWB=1、SWA=0,实验系统处于读存储器RRM 工作模式。按CLR#按钮,使实验系统处于初始状态,微地址为00H,测得的微码是00H 00H 00H 48H。按一次QD 按钮,微地址为0AH,测得的微码是00H 08H 80H 02H。按一次QD 按钮,微地址为02H,测得的微码是03H 40H 04H 03H。按一次QD 按钮,微地址为03H,测得的微码是00H 00H 40H 02H。按一次QD 按钮,微地址为02H。由于微地址又返回02H,停止测试。
置DP =1,DB=0,使实验系统处于单拍状态。置SWC =0、SWB=1、SWA=1,实验系统处于写寄存器WRF 工作模式。按CLR#按钮,使实验系统处于初始状态,微地址为00H, 测得的微码是00H 00H 00H 48H。按一次QD 按钮,微地址为
班号同组学生
第
次试验
成绩指导老师组别
0BH,测得的微码是00H 08H 0A4H 1DH。按一次QD 按钮,微地址为1DH,测得的微码是01H 08H 00H 0DH。按一次QD 按钮,微地址为0DH,测得的微码是00H 按钮,微地址为1DH。由于微地址又返回1DH,停止测试。
置DP =1,DB=0,使实验系统处于单拍状态。置SWC =1、SWB=0、SWA=0,实验系统处于读寄存器工作模式。按CLR#按钮,使实验系统处于初始状态,微地址为00H, 测得的微码是00H 00H 00H 48H。按一次QD 按钮,微地址为0CH,测得的微码是00H 08H 0A4H 1EH。按一次QD 按钮,微地址为1EH,测得的微码是01H 08H 00H 06H。按一次QD 按钮,微地址为06H,测得的微码是00H 80H 08H 07H。按一次QD 按钮,微地址为07H,测得的微码是00H 10H 04H 1EH。按一次QD 按钮,微地址为1EH。由于微地址又返回1EH,停止测试。
置DP =1,DB=0,使实验系统处于单拍状态。置SWC=0、SWB=0、SWA=0,实验系统处于PR 工作模式。按CLR#按钮,使实验系统处于初始状态,微地址为00H。按一次QD 按钮,微地址为08H,测得的微码是00H 08H 20H 0FH。按一次QD 按钮,微地址为0FH,测得的微码是00H 80H 08H 90H。由于以后的微码与机器指令有关,停止测试。
(5)深刻理解0FH 微指令的功能和P1测试的状态条件(IR7-IR4),用二进制开关设置IR7-IR4的不同状态,观察ADD 至OUT 八条机器指令对应微程序的微命令信号,特别是微地址转移的实现。
0FH 微指令的功能是根据程序计数器PC 从存储器取指令,送往指令寄存器IR。0FH 微指令的下一微指令地址是10H。不过,10H只是一个表面的下一微地址,由于该微指令中P1=1,因此实际的微指令地址的低4位要根据IR7—IR4确定,实际微地址为10H +IR7IR6IR5IR4。
1.置DP =1,DB=0,使实验系统处于单拍状态。选择SWC =0、SWB=0、SWA=0,按CLR#按钮,使实验系统处于初始状态,微地址是00H。按一次QD 按钮,微地址变为08H,微代码为00H 08H 20H 0FH。按一次QD 按钮,微地址变为0FH,微代码为00H 80H 08H 90H。令K4(IR7)=0,K3(IR6)=0,K2(IR5)==0,相当于ADD 指令的操作码。按一次QD 按钮,微地址变为10H,微代码是00H 03H 00H 18H。按一次QD 按钮,微地址变为18H,微代码是90H 24H 10H 0FH。按一次QD 按钮,微地址回到0FH。
80H
0CH
0EH。按一次QD 按钮,微地址为0EH,测得的微码是00H 0CH 04H 1DH。按一次QD
中科技大学武昌分校实验报告
实验名称实验日期专业学生姓名实验报告内容:
2.置DP =1,DB=0,使实验系统处于单拍状态。选择SWC =0、SWB=0、SWA=0,按CLR#按钮,使实验系统处于初始状态,微地址是00H。按一次QD 按钮,微地址变为08H,微代码为00H 08H 20H 0FH。按一次QD 按钮,微地址变为0FH,微代码为00H 80H 08H 90H。令K4(IR7)=0,K3(IR6)=0,K2(IR5)=0,K1(IR4)=1,相当于SUB 指令的操作码。按一次QD 按钮,微地址变为11H,微代码是00H 03H 00H 19H。按一次QD 按钮,微地址变为19H,微代码是64H 24H 10H 0FH。按一次QD 按钮,微地址回到0FH。
3.置DP =1,DB=0,使实验系统处于单拍状态。选择SWC =0、SWB=0、SWA=0,按CLR#按钮,使实验系统处于初始状态,微地址是00H。按一次QD 按钮,微地址变为08H,微代码为00H 08H 20H 0FH。按一次QD 按钮,微地址变为0FH,微代码为00H 80H 08H 90H。令K4(IR7)=0,K3(IR6)=0,K2(IR5)=1,K1(IR4)=0,相当于AND 指令的操作码。按一次QD 按钮,微地址变为12H,微代码是00H 03H 00H 1AH。按一次QD 按钮,微地址变为1AH,微代码是0B8H 24H 10H 0FH。按一次QD 按钮,微地址回到0FH。
4.
微地址变为13H,微代码是00H 11H 80H 1BH。按一次QD 按钮,微地址变为1BH,微代码是01H 20H 10H 0FH。按一次QD 按钮,微地址回到0FH。
4.置DP =1,DB=0,使实验系统处于单拍状态。选择SWC =0、SWB=0、SWA=0,按CLR#按钮,使实验系统处于初始状态,微地址是00H。按一次QD 按钮,微地址
成绩
第班号同组学生
次试验
指导老师组别
变为08H,微代码为00H 08H 20H 0FH。按一次QD 按钮,微地址变为0FH,微代码为00H 80H 08H 90H。令K4(IR7)=0,K3(IR6)=1,K2(IR5)==0,相当于LDA 指令的操作码。按一次QD 按钮,微地址变为14H,微代码是00H 10H 80H 1CH。按一次QD 按钮,微地址变为1CH,微代码是03H 44H 10H 0FH。按一次QD 按钮,微地址回到0FH。
5.置DP =1,DB=0,使实验系统处于单拍状态。选择SWC =0、SWB=0、SWA=0,按CLR#按钮,使实验系统处于初始状态,微地址是00H。按一次QD 按钮,微地址变为08H,微代码为00H 08H 20H 0FH。按一次QD 按钮,微地址变为0FH。令K4(IR7)=0,K3(IR6)=1,K2(IR5)=0,K1(IR4)=1,相当于JC 指令的操作码。按一次QD 按钮,微地址变为15H,微代码是00H 00H 11H 0FH。令K0(C)=0。按一次QD 按钮,微地址变为0FH,微代码为00H 80H 08H 90H。按一次QD 按钮,微地址变为15H。令K0(C)=1,按一次QD 按钮,微地址变为1FH,微代码是00H 10H 20H 0FH。按一次QD 按钮,微地址回到0FH。
6.置DP =1,DB=0,使实验系统处于单拍状态。选择SWC =0、SWB=0、SWA=0,按CLR#按钮,使实验系统处于初始状态,微地址是00H。按一次QD 按钮,微地址变为08H,微代码为00H 08H 20H 0FH。按一次QD 按钮,微地址变为0FH,微代码为00H 80H 08H 90H。令K4(IR7)=0,K3(IR6)=1,K2(IR5)==0,相当于STP 指令的操作码。按一次QD 按钮,微地址变为16H,微代码是00H 00H 14H 0FH。按一次QD 按钮,微地址回到0FH。
7.置DP =1,DB=0,使实验系统处于单拍状态。选择SWC =0、SWB=0、SWA=0,按CLR#按钮,使实验系统处于初始状态,微地址是00H。按一次QD 按钮,微地址变为08H,微代码为00H 08H 20H 0FH。按一次QD 按钮,微地址变为0FH,微代码为00H 80H 08H 90H。令K4(IR7)=0,K3(IR6)=1,K2(IR5)==1,相当于OUT 指令的操作码。按一次QD 按钮,微地址变为17H,微代码是00H 10H 14H 0FH。按一次QD 按钮,微地址回到0FH。
置DP =1,DB=0,使实验系统处于单拍状态。选择SWC =0、SWB=0、SWA=0,按CLR#按钮,使实验系统处于初始状态,微地址是00H。按一次QD 按钮,微地址变为08H,微代码为00H 08H 20H 0FH。按一次QD 按钮,微地址变为0FH,微代码为00H 80H 08H 90H。令K4(IR7)=0,K3(IR6)=0,K2(IR5)=1,K1(IR4)=1,相当于STA 指令的操作码。按一次QD 按钮,