前言:2014年12月,大二上学期,计算机组成原理课程设计,我当年亲手写了一些机器指令,甚至设计出了一些微指令(扩充指令集,写到控制存储器里面),想想都觉得我当年好厉害。。。
PS. 刚刚写完微机接口课程设计报告,微机接口让我回想起了一年多前的计算机组成原理。我把当时的照片和报告都找了出来,温习了一下~
设计微指令
x86有一套复杂指令集(CISC),每一条复杂指令背后由若干条微指令组成。
在本次课程设计中,我在试验箱已有的8086的微指令集的基础上,扩充了自己写的7条微指令。
图:我扩充的微指令,需要写到控制存储器中
编写的机器指令
这不是C,不是C++,不是Java,而是机器语言!没错,就是0、1序列!
图:最上面3条机器指令是依据我扩充的7条微指令设计出来的“新的机器指令”。下面一排机器指令,是一段完整的程序。这个程序最终应该输出”9119”、”9108”、”9107”、”0011”
运行结果
运行结果完美符合预期
总结
通过本次实验,我深入了解了微指令的“奥妙”。
从微指令的设计到实现,我已经基本上完全弄明白了。本次试验中,微指令有 24 位。I0~I5 是下地址,指向下一条微指令的地址;I6~I