/*
计算机课程设计实验报告
跳转指令用栈实现
*/
一、设计内容
简单CPU模拟器的设计与实现
二、设计要求
计算机组成原理这门课程主要是告诉我们在硬件上计算机是如何工作的,如何实现我们的操作的,即让我们了解计算机的基本组成结构以及数据和命令在计算机的物理层面上如何运行的。在学习完这门课程后,我们应该能够运用该课程的基本原理和基本方法,对有关计算机硬件系统中的理论和实际问题进行计算和分析,并能对一些基本部件进行简单设计。因此在本次计算机原理课程设计中,我运用了所学的知识,对计算机CPU运行的过程进行了一次模拟。
1.模拟CPU基本组成
本次模拟的CPU由指令寄存器IR、数据寄存器、PC寄存器、程序状态寄存器SR、16个通用寄存器组成。指令寄存器地址总线和数据总线宽度为16位,数据总线的地址宽度为16位,数据总线的宽度为8位。指令寄存器IR、PC寄存器宽度为16位,16个通用寄存器组R0-R15, 对应的宽度为8位,对应的地址为0—15。通用寄存器、程序状态寄存器和数据存储器统一编址,通用寄存器既可以用寄存器号访问,也可以用地址空间的地址访问。
程序状态寄存器的位位置、位名称、读写属性、复位时的值见下图:
图1 程序状态寄存器介绍
所对应的含义如下:
I:全局中断允许位:为1时,允许中断,否则,禁止中断,CPU响应中断时,硬件将此位清0,从中断返回时,将此位置1
T:位复制存储位:BLD指令用此位的值与16个通用寄存器中的某位交换值
H:半进位标志:即低4位是否向高4位进位或借位,如果有则为1,否则,为0
S:符号标志位:本位是位N和位V的异或值
V:有符号数溢出标志位
C:无符号数溢出标志位
N:负数标志位:若运算结果是负数,则为1;否则,为0
Z:0标志位:若运算