前言
- 此刻距离我上一篇博客已有一年多,这一年来学业繁忙,少有顾及,但这个博客我会一直写下去的。
尽管现在的我还是菜鸡 - 今天要写的是关于我大二时候学习计算机原理的时候,用C#和C# Winform做的一个简单的带超前进位加法器的模型机。
- 其实现在我对计算机原理的认识,远超过当初,如果现在让我再做一个,我一定会做好内存管理,并且设计多级流水和微指令序列,这样更能够多方面的展现计算机的巧妙之处。
模型机设计
概述
- 本项目是在VisualStudio2015上使用C#Winform进行开发的,通过代码和窗体控件及相应的事件进行编写,能够模拟编译处理输入的CPU指令并执行,在执行过程中,可以在模型及主界面中看到程序计数器、指令寄存器、状态寄存器、地址寄存器、数据寄存器、总线的实时数据,通过可视化界面也可以区分访存指令、非访存指令和跳转指令。
- 程序正常执行完毕后,在外部文本文件中程序会已写好的一份包含模型机运行的每个周期主要寄存器的值和最终数据存储器的值的文本文件。
功能
- 输入CPU指令:读取程序外部指令文件或者在模型机主界面内输入需要执行的CPU指令。
- 编译指令:在模型机内部解析RichtextBox内的CPU指令。
- 执行指令:
- 单周期执行CPU指令,执行完后暂停。
- 自律执行CPU指令,模型机按一定的速度自动执行所有指令。
- 每个周期执行完毕后对相关数据值进行修改,同时在执行过程图中显示相应位置的数据。
- 保存数据:每个指令周期结束后对外部txt文件进行写入操作,将主要寄存器值有规律的保存在文本文件中,所有指令执行完毕后保存最终的数据存储器内的数据。
总体结构
模型机界面
项目资源链接
- 此链接包含报告和代码,可执行文件和相关子文本。(待审核通过后上传链接)
- 项目工程文件我将会上传到自己的Gitub账号和Gitee账号上。(仓库建立后我会将链接分享在此处)
- 希望这些能够帮助到各位大佬的学习和设计,若有相关问题欢迎私信我。
虽然我可能不登录看私信_
蒟蒻一只,欢迎指正。
|