实验目的:
模型机是计算机的缩细模型,通过它可以理解计算机整机的结构和功能,理解CPU,存储器,中断控制器,接口的结构及实现逻辑和各部件之前的接口关系。本实验是设计一个8位模型计算机。
实验原理:
1. 微操作和微命令
微操作:一条机器指令可以分解成一个微操作序列,这些微操作是计算机最基本的,不可再细分的操作。
微命令:在微程序控制的计算机中。将控制部件向执行部件发出的各种控制命令成为微命令,它是构成控制序列的最小单位。微命令和微操作是一一对应的。微命令是微操作的控制信号,微操作微命令的执行过程。
2.微指令,微地址和微周期
微指令:微指令是若干微命令的集合。微指令又分为操作控制字段和顺序控制字段。操作控制字段:又称微操作码字段,用于产生某一步操作所需的控制信号
顺序控制字段:又称微地址码字段,用于控制产生下一条要执行的微指令地址。
微地址:存放微指令的控制存储器的单元地址称微地址。
微周期:微周期通常指从控制存储器中读取一条微指令并执行相应的微操作所需的时间。
3.程序与微程序
程序:指令的有序集合,用于完成特定的功能
微程序:微指令的有序集合,一条指令的功能由一段微程序来实现
4.主存储器与控制存储器
主存储器:用于存放程序和数据,在CPU外部,用RAM实现。
控制存储器:用于存放微程序,在CPU内部,用ROM实现。
5.地址寄存器(MAR)与微地址寄存器(CMAR)
地址寄存器:存放要访问的存储器的地址,在CPU内部,在CU外部,对应指令
微地址寄存器:存放要访问的控制存储器的地址,在CPU内部,在CU内部,对应微指令
6.指令寄存器(IR)与微指令寄存器(CMDR)
指令寄存器:存放机器指令,在CPU内部,在CU外部,对应指令
微指令寄存器:存放微指令,在CPU内部,在CU内部,对应微指令
微指令控制单元
事先把操作控制信号存储在一个专门的存储器(控制存储器)中,将每一条机器指令编写成一个微程序,这些微程序可以存放到一个控制存储器中,用寻址用户程序机器指令的办法来寻址每个微程序中的微指令
指令总控制信号如下:
Bits in Control Memory |
Micro-operation |
Meaning |
C0~C7 |
/ |
Branch Addresses |
C8 |
PC←0 |
Clear PC |
C9 |
PC←PC+1 |
Increment PC |
C10 |
PC←MBR[7..0] |
MBR[7..0] to PC |
C11 |
ACC←0 |
Clear ACC |
C12--C15 |
ALU CONTROL |
Control operations of ALU |
C16 |
R |
Read data from Memory to MBR |
C17 |
W |
Write data to Memory |
C18 |
MAR←MBR[7..0] |
MBR[7..0] to MAR as address |
C19 |
MAR←PC |
PC value to MAR |
C20 |
MBR←ACC |
ACC value to MBR |
C21 |
IR←MBR[15..8] |
MBR[15..8] to IR as opcode |
C22 |
BR←MBR |
Copy MBR to BR |
C23 |
CAR←CAR+1 |
Increment CAR |
C24 |
CAR←C0~C7 |
C7~C0 to CAR |
C25 |
CAR←OPCODE+CAR |
Add OP to CAR |
C26 |
CAR←0 |
Reset CAR |
C27--C31 |
Not use |
----------- |
实验设计
1.总体设计
单地址指令格式用于我们简单的CPU 设计。指令字包括操作码和地址码俩个部分,其中操作码用于定义指令的功能,比如指令是加法运算还是减法运算等,地址码在本次设计中又分为直接寻址和立即寻址两种,其中直接寻址的地址码存放的是操作数在内存中的地址,立即寻址的地址码即为操作数。
2.微指令设计
0 : 00810000; R←1, CAR←CAR+1
1 : 00A00000; OP←MBR[15..8],CAR←CAR+1
2 : 02000000; CAR←CAR+OP
3 : 01000014; CAR←14H
4 : 01000019; CAR←19H
5 : 0100001E; CAR←1EH
6 : 01000023; CAR←23H
7 : 01000041; CAR←41H
8 : 01000028; CAR←28H
9 :