基于C++实现的简单CPU模拟器

一、实验背景

该实验为计算机原理模拟实验平台。在学习计算机原理实验课程中,为了方便同学们学习了解模型机中各种寄存器结构、工作原理、算术、逻辑运算单元及其控制方法。所以我们设计计算机组成原理虚拟实验系统方便同学们更加深入的了解实验内容,掌握计算机通过指令系统进行运算的过程。

程序编写语言:c++ 平台环境:VisualStudio2017、C-free

二、设计思想

运算器由算术逻辑单元、累加器、状态寄存器、通用寄存器组等组成。算术逻辑运算单元(ALU)的基本功能为加、减、乘、除四则运算,与、或、非、异或等逻辑操作,以及移位、求补等操作。计算机运行时,运算器的操作和操作种类由控制器决定。运算器处理的数据来自存储器,现代计算机都是以存储器为核心,存储能力严重关系到计算机的性能,现代计算机的多级缓存,甚至带有缓存的硬盘都是为了解决性价比问题。由于计算机程序的局部性原理是的Cache-主存结构得以建立,部分程序备份到Cache中,使其读写时大概率命中Cache,极大降低了cpu的等待时长,而且因为Cache比较小,成本得以控制。另外虚拟存储器技术也是为了解决容量和价格的矛盾。Cache-主存的地址映射机制中,全相联方式更加的灵活利用率也高,但是由于采用了全部比较的方式,使得电路复杂,成本加大,而且不利于大容量存储器使用,而直接映射方式采用对号入座的方式简单快速,;处理后的结果数据通常送回存储器,或暂时寄存在运算器中。与Control Unit共同组成了CPU的核心部分。

基于C++实现的简单CPU模拟器_第1张图片

点击此处下载源码

你可能感兴趣的:(基于C++实现的简单CPU模拟器)