计算机组成原理课设——我自己亲手写了机器指令和微指令
2016-01-19 17:58
661 查看
前言:2014年12月,大二上学期,计算机组成原理课程设计,我当年亲手写了一些机器指令,甚至设计出了一些微指令(扩充指令集,写到控制存储器里面),想想都觉得我当年好厉害。。。
PS. 刚刚写完微机接口课程设计报告,微机接口让我回想起了一年多前的计算机组成原理。我把当时的照片和报告都找了出来,温习了一下~
在本次课程设计中,我在试验箱已有的8086指令集的基础上,扩充了自己写的7条微指令。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201601/19/d16c33a8285f79123d1d1d0f5de3ea8e)
图:我扩充的微指令,需要写到控制存储器中
![](https://oscdn.geek-share.com/Uploads/Images/Content/201601/19/0cbf62cf79d9c8e037ad51d4bca5a15e)
图:最上面3条机器指令是依据我扩充的7条微指令设计出来的“新的机器指令”。下面一排机器指令,是一段完整的程序。这个程序最终应该输出”9119”、”9108”、”9107”、”0011”
![](https://oscdn.geek-share.com/Uploads/Images/Content/201601/19/139520057842429628dfceb3f866ffaf)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201601/19/62358ba55988ec1b7fd5df568170ae2b)
从微指令的设计到实现,我已经基本上完全弄明白了。本次试验中,微指令有 24 位。I0~I5 是下地址,指向下一条微指令的地址;I6~I8 是 F3 表示测试;I9~I11 表示 F2, I12~I14 表示F1,用来控制寄存器;I15~I23 用来表示微指令的功能(比如:加减法,相与或者相或)。
微指令与机器指令的关系,我现在更是理解透彻了。在实验中,我们组员单步调试(也就是按下脉冲信号),一步一步跟踪微地址灯的变化,从而一步一步观察什么时候执行哪一条微指令。课本上面说得很轻松:一条机器指令对应一段微程序,一段为微程序就是一系列微指令。但是,只有做实验:亲手设计微程序代码;亲手连接线路;遇到问题时亲手解决难题才能够真正理解计算机组成原理的精髓。
PS. 刚刚写完微机接口课程设计报告,微机接口让我回想起了一年多前的计算机组成原理。我把当时的照片和报告都找了出来,温习了一下~
设计微指令
x86有一套指令集,arm也自有一套指令集。这里的指令就是指的微指令。在本次课程设计中,我在试验箱已有的8086指令集的基础上,扩充了自己写的7条微指令。
图:我扩充的微指令,需要写到控制存储器中
编写的机器指令
这不是写C,不是C++,更不是Java,我是在写机器语言!没错,就是0、1序列!图:最上面3条机器指令是依据我扩充的7条微指令设计出来的“新的机器指令”。下面一排机器指令,是一段完整的程序。这个程序最终应该输出”9119”、”9108”、”9107”、”0011”
运行结果
运行结果完美符合预期总结
通过本次实验,我深入了解了微指令的“奥妙”。从微指令的设计到实现,我已经基本上完全弄明白了。本次试验中,微指令有 24 位。I0~I5 是下地址,指向下一条微指令的地址;I6~I8 是 F3 表示测试;I9~I11 表示 F2, I12~I14 表示F1,用来控制寄存器;I15~I23 用来表示微指令的功能(比如:加减法,相与或者相或)。
微指令与机器指令的关系,我现在更是理解透彻了。在实验中,我们组员单步调试(也就是按下脉冲信号),一步一步跟踪微地址灯的变化,从而一步一步观察什么时候执行哪一条微指令。课本上面说得很轻松:一条机器指令对应一段微程序,一段为微程序就是一系列微指令。但是,只有做实验:亲手设计微程序代码;亲手连接线路;遇到问题时亲手解决难题才能够真正理解计算机组成原理的精髓。
完整的课程设计报告
本博客节选自课程设计中的一个实验。课程设计总共有4个实验完整的报告在这里!下载链接,猛戳这里,不要积分相关文章推荐
- 网络编程-UDP2
- (十五)httpClient、HttpUrlConnecttion调研总结
- HTTP状态码
- 计算机网络的各层的常用协议
- 学习笔记------数据结构(C语言版)栈的顺序存储
- 网络篇-NSURLSession介绍
- 计算机相关专业的同学该怎么用自己的计算机
- In Gradle projects, always use http://schemas.android.com/apk/res-auto for custom attributes more..
- 自带finish清除网络请求的Activity
- 缓存工具类封装
- HDU 4494 Teamwork 费用流/网络流
- 安全HTTPS-全面详解对称加密,非对称加密,数字签名,数字证书和HTTPS
- 网络请求工具类
- 【数据结构与算法】【算法】一些算法
- 【数据结构与算法】【算法】一些算法
- 【数据结构与算法】【算法】一些算法
- 【数据结构与算法】【算法】一些算法
- 【数据结构与算法】【算法】一些算法
- 【数据结构与算法】【算法】一些算法
- 【数据结构与算法】【算法】一些算法