关于计组整机实验的补充说明

Posted 叶卡捷琳堡

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于计组整机实验的补充说明相关的知识,希望对你有一定的参考价值。

一、写在最前面

之前的整机实验(1)已经更新,由于之前对结构框架图的把握失误,导致必须重新画图和写微指令,耗费了不少时间,因此整机实验一直没有更新。

链接放在这里

山东大学软件学院计算机组成原理课程设计整机实验(1)

关于拓展功能,如果能很快做完,且符合要求,就会按时更新

这两篇整机实验博客如有错误,还望大家指出,大家一起进步,谢谢

二、整机实验的其它注意事项

2.1 关于ALU的说明

74181是补码运算器,参与运算的数都是补码有符号数,最高位为符号位
因此如果后续需要实现带符号位的原码一位乘,需要先将补码转换为原码,进行计算后,再转换为补码,存入内存中

2.2 关于状态位的说明

在实验中需要保存四个状态位

  • C:进位
  • V:溢出
  • N:结果为负
  • Z:结果为0

关于这四个状态位的获取和呈现,我是用了一个PSW寄存器用于存储状态位,PSW的输出连灯,直接在实验台上显示

具体的电路图如下
在这里插入图片描述

  • 进位的判断直接使用ALU的CN4管脚即可,但要注意,CN4的输出要加非门(我封装在ALU内部,图上没显示),进位结果才正确
  • 溢出的结果我使用了双符号位判断,使用Q7与CN4做异或判断,如果Q7与CN4不同,则溢出。值得注意的是,如果正数+负数,则不会溢出,因此溢出判断里还需要将A7和B7连同或门,再与Q7与CN4的输出连与门,得到的结果才正确
  • 判断为负直接将Q7打入即可,因为Q7代表结果的符号位
  • 判断是否为0我使用了或门+非门的方式,如果全为0,则结果为1

2.3 关于寄存器组的说明

本次实验要求使用寄存器组,要用机器指令第一字长的后四位指定打入哪个寄存器,而不是使用微指令控制打入
而寄存器组要封装才行
老师的PPT上要求2-4个寄存器组,有的老师要求必须封装四个寄存器组
我这里只封装了两个寄存器组,因此比较容易

这个寄存器组能实现LOAD时选中某一个寄存器,二四译码电路放在寄存器组外

在这里插入图片描述

以上是关于关于计组整机实验的补充说明的主要内容,如果未能解决你的问题,请参考以下文章

多思计组实验3---总线实验(含文件~)

合肥工业大学计组实验四

合肥工业大学计组实验四

合肥工业大学计组实验四

合肥工业大学计组实验五

合肥工业大学计组实验五