实验八 指令部件模块实验
一、实验目的⒈ 掌握时序产生器的组成方式。
⒉ 熟悉指令产生的原理。
二、实验原理
图7-8-1 程序计数器单元
表7-1-1
C
B
A
选择
0
0
0
禁止
0
0
1
PC-B
0
1
0
ALU-B
0
1
1
299-B
1
0
0
Rs-B
1
0
1
Rd-B
1
1
0
保留位
1
1
1
保留位
指令部件模块实验的原理就是先给程序计数器PC一个值,进行下一条指令时观察PC值的变化,实验八和实验七微程序控制单元的区别在于实验七是微观的,实验八是宏观上的,打个比方就是实验八的重点是是我发出叫你跑的指令后我的状态,实验七的重点是我发出跑的指令后你要进行的行为。
如图7-8-1所示,2片74LS163作为8位PC程序计数器的8位输入/输出公用端用8芯扁平线与BUS总线接口相连接。2片74LS163组成了PC程序计数器,它有LDPC、LOAD信号,LDPC是程序计数器的端,LOAD是装入数据,脉冲T3来控制PC指针的装载和加1操作。在“L”状态下,由8位置数开关装入起始地址,当LOAD=1、LDPC=1时,按【单步】命令键,在T3上升沿把数据开关的内容装入PC。当CBA=001、由表7-1-1知是PC送总线,LOAD=0、LDPC=1、LDAR=1时,按【单步】命令键,在单周期四节拍时序的T2时刻打开PC-B三态门,在T3时刻PC值通过总线打入地址寄存器、同时PC值加1。
三、实验连线
图7-8-5 实验连线示意图
按图7-8-5所示,连接实验电路:连接B1、B7、B9、B10、B21
四、实验内容及结果分析
在闪动的“P.”状态下按动【增址】命令键,使LED显示器自左向右第4位显示提示符“L”,表示本装置已进入手动单元实验状态。
(一)程序计数器(PC值)的置数、输出与加1
⑴ PC值的写入
拨动二进制数据开关向程序计数单元置数(置数灯亮表示它所对应的数据位为“1”、反之为零)。具体操作步骤图示如下:
数据开关
数据开关
三态门
CBA=000
CE=0
SW-B=1
按单步
程序计数单元
LOAD=1
LDPC=1
注:【单步】键的功能是启动时序电路产生T1~T4四拍单周期脉冲
⑵ PC值的读出
关闭数据输入三态(SW-B=0)、CE保持为0、LOAD=0、LDPC=0、CBA=001时,按【单步】键,打开PC-B缓冲输出门,数据总线单元应显
⑶ PC值送地址寄存器并加1
在保持PC值读出的开关状态下,置LDAR=1、LDPC=1,按【单步】命令键,在T3节拍把当前数据总线的内容(即PC)打入地址锁存器,地址总线单元的显示器应显示00H,在T3节拍的上升沿PC计数器加1,PC单元的显示器应显示01H。
(二)指令码的打入与散转
按实验七图7-7-3微程序流程所示的微控制流程,对指令译码寄存器IR分别打入微控制流程定义的操作码20H、40H、60H、80H、0A0H,然后根据流程图定义的基地址08H置入数据开关,按【单步】键,在机器周期的T2节拍把基地址08H打入微地址锁存器,在机器周期T4节拍按微控制流程对IR指令寄存器的内容进行测试和判别,使后续微地址转向与操作码相对应的微程序入口地址。举例操作如下:
当IR寄存器为20H、微地址为08H时,按【单步】键后微地址为09H。
数据开关
数据开关
CBA=000 CE=0
SW-B=1
微地址灯
(001001)
P(1)=1
数据开关
LDIR=0
SW-B=0
微地址灯
(001000)
指令寄存器IR
LDIR=1
注:【单步】键的功能是启动时序电路产生T1~T4四拍单周期脉冲
结果分析:
先由数据开关给PC置数其它都关闭,只令SW-B=1,表示其他部件送总线,令LOAD LOPC都为1时,由图7-8-1是给PC中装入数据开关置的数,地址总线单元显示00H,数已装入,这是PC值的写入;关闭SW-B,LOAD LOPC都为0,令CBA=001是PC送总线,此时数据总线显这是PC值的读出;
在保持PC值读出的开关状态下,置LDAR=1、LDPC=1,按【单步】命令键,在T3节拍把当前数据总线的内容(即PC)打入地址锁存器,地址总线单元的显示器显示00H,在T3节拍的上升沿PC计数器加1,PC单元的显示器显示01H;
五、实验总结
通过实验七和八明白了计算机运行过程的皮毛,用户给出一条指令,计算机转换为自己的语言,并让程序计数器加1好执行下一条指令,这是宏观的,用户下的这条指令又分为一些微指令,由微程序控制单元继续执行,指令有很多,这就要求计算机选择执行或不执行,执行哪一条,如何执行,出错了怎么处理等等,关于计算机我们要学习的还很多,我们得先弄明白现有的计算机是怎么工作的,才能更好的去维护和应用计算机,技术更高时我们要创造更先进的计算机。