要求设计一个简单的CPU。该CPU拥有基本的指令集,并且能够使用指令集运行简单的程序。另外,CPU的控制器部分(CU)要求必须采用微程序设计方式。
-
独立设计微程序控制器及外围的各寄存器。
-
使用实验指导书中的1+2+…+100和相应的乘法例子来验证程序的正确性与完整性。
-
要求完成并支持指令集中列出的所有指令。
-
不得随意增加CPU内寄存器,不能随意增加控制器到各寄存器的控制线。必须采用微程序方式设计控制器,否则不予通过
命令 | 解释 | 命令号 |
---|---|---|
store | 存储进入RAM | 0x01 |
load | 装载到ALU | 0x02 |
store1 | 存储乘高位进入RAM | 0x11 |
add | 加 | 0x03 |
sub | 减 | 0x04 |
jmpz | 为0时跳转 | 0x05 |
halt | 停止 | 0x07 |
计算1+2+…+100
Load a0;(a0=0)
Add a1;
Store a0;
Load a1;
Sub a2;
Store a1;
JMPZ 0;
Load a0;
Halt;
计算0x1111*0x404
load a0;
mpy a1;
halt;
一正一负相乘
负数乘以负数
0x1111求反
load a0;
not a0;
0x1111与0x0404逻辑相与,相或
load a0;
and a1;
or a2;
0x0800逻辑左移与逻辑右移