计算机组成原理课程设第一部分使用logisim软件设计一个模型机器包括但不限于CPU,主存实现至少4条指令,在其上编织并执行一个程序(最好是循环程序)
logisim设计相应的课程設计逻辑电路。
1. 课程设计基本完成作业
(1)有清晰是时序逻辑
(2)有完整的微操作发生器(四条基本指令:ADD LDA JMP STP)。
(3)数据传递正确并能运行出结果,结果存在ACC(累加器)中
(1)有清晰是时序逻辑。
(2)有完整的微操作发生器(八条基本指令、建议可以实现一个循环程序段)
(3)数据传递正确,并能运行出结果结果存在ACC(累加器)中。
- 制作CPU和存储器等部件
该指令集设计为8位的指令字长高四位为OP,低四位为地址码或者立即数
需要注意的是在中,提到在数据寻址时高位自动补1010,在跳转指令寻址时高位自动补0001
故而需要在寻址时设计┅个 根据指令不同 自动补齐高位的电路(在下面的指令寄存器是由什么组成的电路模块有所体现)。
FE是取指令周期EX是执行周期。这里鈈考虑间址周期
现在的上传资源好像不能自己定积分了,默认就是5积分
这个图实在太大,截图显示鈈清楚可以使用logisim打开我完成的电路图看。
以上是整体的MOG图左下角一排是输入引脚,最上面一排是输出引脚最左侧是一个译码器,根據输入的4位OP码译码选择指令中间和右侧这整一大片是对微操作的选择电路。关于选择电路主要就是根据微操做时间表上的节拍和周期以忣指令类型进行选择
当完成微操作内部时,可以通过下图中的按钮进入一个调整页面调整其他程序调用它时的显示样式。
可以看到这张图比刚才还大。
4. ALU(加法器 位移操作器 操作数寄存器是由什么组成的X)
9. 门控电路和时钟控制电路
首先将数据清零,然后观察存储器数据是这样的
根据起那面的指令设计不难理解这里面的程序是这样的
具体内容是这样的 首先给IDload一个数,然后比较这个數是否与某个立即数相等如果相等则结束,否则进入循环:
ID++继续比较是否和一个立即数相等,如果相等这跳出循环,否则继续循环
详细的汇编指令不在赘述。
其实这里我理解错老师的意思了老师说的ID其实是一个变址寄存器是由什么组成的,在比较的时候时
这种形式的?,我就不再做修改了大家只要理解循环的思路,这个也是很容易做出来的