计算机组成原理课程设计—基于微程序控制器的简单计算机系统设计与实现 - 图文 下载本文

序列 功能 有效值 C15 C14 C13 C12 C11 C10 C9 C8 C7 C6 C5 C4 C3 C2 C1 C0 STOP LOAD 161_置数 DR2_CONT DR2_G AC_G DR1_G DOWN_244 UP_244 S3 S2 S1 S0 M Cn 6116-W0 0 1 1 0 0 0 1 1 X X X X X X 0 表4.34 微指令格式设计

② :控制存储器内容:如表4.35

指令存入主存和控存中,如下所示 指令 地址 C13 C15 STOP C14 161_置CONT LOAD 数 _G DR2G _G DR2_ AC_DR144 S3 S2 S1 S0 M Cn C12 C11 C10 C9 DOWN_2UP_244 C8 C7 C6 C5 C4 C3 C2 C1 C6_ 取址 0000 0 0 LOAD 0001 0 STORE 0010 0 JMP ADD SUB AND 或 NOT 乘2 END 0011 0 0100 0 0101 0 0110 0 0111 0 1001 0 1011 0 1100 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 1 1 1 1 1 1 0 0 1 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 0 1 1 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 1 1 0 0 0 1 0 0 0 0 0 0 1 0 1 1 0 1 1 0 0 0 0 0 0 1 1 1 0 0 1 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 1 1 1 1 1 0 1 1 1 1 1 1 1 00100000NOTD 1000 0 异或 1010 0 00000表4.35 存储的指令表

4.3.4测试程序

1、检测逻辑运算(1+2-2)&3 Load 1 0000 0001 0101 加 2 0001 0100 0110 减 2 0010 0101 0111 AND 3 0011 0110 1000 END 0100 1100 1111 操作数A =1 0101 0000 0001 操作数B =2 0110 0000 0010 操作数C =2 0111 0000 0010 操作数D =3 1000 0000 0011 最后结果为1

2、检测store/Jump Load 0000 0001 1100 Store 0001 0010 1111 Jump 0010 0011 0111 …

Store 0111 0010 1110 End 1000 1100 1111

地址原来存的数 1100 1010 1010

1110 0000 0000 1111 0000 0000

指令执行完后 地址存的新数据:

1100 1010 1010

1110 1010 1010 1111 1010 1010

并且成功看到PC数值的变化,即完成了跳转!

5、实验过程与调试

5.1仿真

实验中的时序电路部分采用了波形仿真,主要用于检验电路能否实现预期的效果,出现问题也主要是根据波形仿真去发现错误然后改正,对于时序电路的仿真图5.1所示:

图 5.1 时序仿真图