了解指令结构、PC寄存器的功能和指令系统的基本工作原理。
学习设计指令的方法。
根据实验指导书的相关内容,对于部分使用频率很高,且只用几条微指令即可完成的简单操作,可以把这部分简单操作的微指令序列固定下来,存放在一个快速存储器中。之后我们就可以用不同的指令来调用不同的微程序,以达到完成不同指令的功能。
本实验所用的实验箱的指令系统中,每条指令均由4条微指令组成。当实际需要的微指令数量不足4条时,可用无效微指令FFFFFFH补足,但最后一条有效微指令一定是CBFFFFH微指令,表示本条指令执行完毕,取下一条指令。
指令系统的工作原理:
指令获取:从存储器中获取下一条指令,通过地址总线传递给存储器。
指令解码:将获取的指令二进制通过指令总线传递给微程序计数器,高6位作为微程序入口地址,低2位分别作为SA和SB。
微程序执行:根据微程序入口地址访问微程序存储器,将控制信号输出到控制总线,执行当前微指令功能。uPC加1,输出下一条微指令,重复执行,直到“取下一条指令”微指令。
取下一条指令:PC加1,开始执行下一条指令。
观察机器指令码为66H的各微指令信号,验证该指令的功能。假设A=03H,R2=77H,77地址单元存放06H数据。
修改机器指令码为E8H的功能,使其完成“输出A+W的结果右移一位的值送OUT输出”操作。
**注意:**两个任务连起来做。
(1) 实验步骤
注释仪器,打开电源,手不要远离电源开关,随时准备关闭电源,注意各数码管、发光管的稳定性,静待10秒,确信仪器稳定、无焦糊味。
按Reset键初始化系统,并设置实验箱进入EM模式。设置Adr=00,按下NX,设置DB=66;而后按下NX,设置DB=E8;最后设置Adr=77,按下NX,设置DB=06。
设置实验箱进入uEM模式。设置Adr=E8,按下NX,设置E8=FF DE B8H;而后按下NX,设置E9=CB FF FFH;最后按相同的方式将EA和EB设置为FF FF FFH。
设置实验箱进入uPC模式。设置uPC=00,PC=00,A=03;按NX三次,设置R2=77,按下STEP键,观察实验结果。
记录实验结果,关闭实验箱电源。
(2) 实验现象
第一次按下STEP键时,发现uPC显示64,PC显示01。
第二次按下STEP键时,发现uPc显示65,MAR显示77。
第三次按下STEP键时,发现uPC显示66,W显示06。
第四次按下STEP键时,发现uPC显示67,A显示07。
第五次按下STEP键时,发现uPC显示E8。
第六次按下STEP键时,发现uPC显示E9,OUT显示06。

(3)实验结论
由第二次按下STEP键发现MAR显示77,可知指令码为66H的含义是将R2寄存器中的内容读出并写入MAR寄存器。
通过一系列正确的设计,我们成功地完成了“输出A+W的结果右移一位的值送OUT输出”操作功能的实现。
在分析66H处的指令时,可以将其与例子中的指令进行比较观察在二进制格式下有哪些位不同。
在编制指令时,要确定好“A+W”运算、“右移一位”和“送OUT”输出分别对应微指令在二进制格式下的哪些位置。
通过此次实验,加深了我对计算机体系结构中PC寄存器和指令系统的理解,同时也让我学会了如何设计指令,还让我能将理论知识应用到实际情景中,为进行下一次实验打下了扎实基础。
指令获取。
指令解码。
微指令执行。
uPC更新。
取下一条指令。