计算机组成原理 实验四 模拟微程序实现指令

本文详细介绍了微指令如何结合实验二和实验三的功能,实现计算机程序的自动运行。关键在于字存储器的使用,它取代了手动开关,通过26个输出端控制数据输入、工作寄存器、通用寄存器和ALU的操作。理解每个输出端的作用对于编写和理解微指令至关重要。微指令的编写需要根据电路图中各部件的状态进行,确保每个步骤的正确执行。通过这样的设计,可以构建出能够连续运算的程序流程。
摘要由CSDN通过智能技术生成

微指令的实现其实就是前两个实验的结合,实验二嘛是需要手工操作开关控制运算器的运行,而实验三嘛则是通过提前存好指令,然后让字存储器实现自发的顺序运行,两者结合起来不就是一个可以自发运算的程序啦,话不多说,上电路图:
在这里插入图片描述
看得明白吗,看不明白就对了,来,听我慢慢给你说,先说说这个图和实验二的电路图的区别把,少了开关,对了,不管是控制三态门的开关还是数据输入的开关都没有了相反的是多了一个字存储器,开关去哪了呢,开关的活被字存储器包揽了自然麻溜的滚了。
说说字存储器吧,总共运用了其26个输出端:每个输出端的控制说明如下:
0-7:表示数据
8:控制数据输入总线的三态门控制端
9:与DR1关联的三态门控制端
10:DR1的CLK控制端
11:与DR2关联的三态门控制端
12:DR2的CLK控制端
13:GR1的OC片选控制端
14:GR1的CLK控制端
15:与GR1关联的三态门控制端
16:GR2的OC片选控制端
17:GR2的CLK控制端
18:与DR2关联的三态门控制端
19:ALU的S0
20:ALU的S1
21:ALU的S2
22:ALU的S3
23:ALU的CN
24:ALU的M
25:与ALU关联的三态门的控制端
这很重要哦,因为到时候你去写微指令的时候需要根据每个输出端连接的器件在每条指令执行下的状态来编写的,需要一一对应的,而且别人来读你的指令也需要先了解输出端代表了什么。
这个部分怎么说呢,运行过程和实验二是一样的,我根据输出端来说明一下他的功能吧,首先先通过微指令的前八位输入需要运算的操作,你可能会问,那每次都输入操作数,会不会造成操作数的混乱呀,放心操作数流入中线有一个三态门控制,三态门的开关控制就是8号输出端,如果需要数据录入的时候就为0,不需要的时候就为1,然后9号控制端是第一个工作寄存器的关联的三态门的开关控制,一般是需要把数从通用寄存器中传送到工作寄存器中的时候需要打开为1,然后其下一条指令就是10号端口给工作寄存器一个上升沿存入数据,下一步则是关掉打开的三态门了。而端口11,12与前两个相同控制另一个工作寄存器,端口13关联的是通用寄存器的OC片选,就是控制通用寄存器的开关,为0时表示开,一般是使用通用寄存器的时候打开,下一个就是控制给寄存器一个CLK的端口了14号,从0转换到1就存入数据,而如果通用寄存器的数据需要送到总线就需要15号端口,其是与GR相关联的三态门开关,而16,17,18这三个就是控制的另一个通用寄存器,19-22这四个数表示的是ALU的S0-S3这时候一般是,数据已就位(存放在工作寄存器中了),然后再加下两个表示CN、M的端口就可以完成运算了,而数据要传输出去呢就需要25号端口把和ALU关联的三态门打开。了解了各个端口的运行就可以去把一次操作分成每个模块,哪个录入数据,那个转移数据,基本每个模块是由三个部分组成,先打开需要用总线连接的三态门,然后进行操作,然后关闭三态门,指令的设计呢,如果对电路图了解了,就直接根据需求写,如果不熟悉呢,就去做实验二,每手动一步就记录一次每个控制端的状态,微指令的设计完成了,就可以运行了,至于能不能运行完全呢,那我就不知道了,反正我的可以运行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值