之前我上传的自制8位CPU实现了加减法运算,可是在电路设计有一个BUG,本来是实现4条指令的,可是因为这个BUG让我这个板子不能做加法运算,这个版本就修改了这个bug,完美实现了4条指令,分别是
1. 加法运算
2. 减法运算
3. 按位取反运算
4. 补码运算
其实用MOS管实现加法运算特别简单,但是减法运算就要麻烦了,在计算机系统里没有减法运算,本质上是转换成加法运算来实现的。那要怎么做呢,在前面的视频里我介绍过了,通过对被减数进行补码运算,而补码运算就是对输入的数据按位取反加1,所以要实现按位取反指令,加1到是好办,调用之前设计的加法器加1便是。所以补码运算本质上就是加法器和按位取反指令的组合。我扣掉几层头皮巧妙的设计让这些指令通过拨码开关实现,并在一个计算周期内完成计算。
下图就是本次设计好的原理图:
下图是做好的板子,其实板子早就做好了,只是没时间验证
现在就演示一下加法运算,指令编码0000,输出有效值9位,设置指令薄码开关为0000