5.1
略
5.2
第一版4位乘法器
使用了八位被乘数寄存器 四位乘数乘数寄存器 八位积寄存器 八位ALU
工作过程:
首先检查乘数寄存器的最后一位,如果为1则积寄存器和被乘数寄存器相加存入积积寄存器,如果为0则跳过,将被乘数寄存器左移,乘数寄存器右移,最后判断是不是到了第4次循环,到4次循环则完成退出
5.3 5.4
优化1:
同时进行移位和内容相加操作
优化2:
被乘数寄存器缩减为4位且取消移位操作
8位ALU改为4位
取消乘数寄存器
初始将乘积寄存器高4位,低4位存乘数寄存器,随着运算过程不断右移
5.5 5.6
第一版4位除法器
一个八位除数寄存器 一个四位商寄存器 一个八位余数寄存器 一个八位ALU
工作过程:
首先将被除数放入余数寄存器 将除数放入除数寄存器高四位,用ALU执行余数-除数运算,若小于0则回退该操作商左移添0,否则商左移添1,除数右移1位,判断是否是第N+1次循环,是则结束
5.7
优化:
缩小除数寄存器,取消右移操作
缩小ALU
取消商寄存器
余数寄存器的低32位改为存储商,增加左移功能,增加右移功能为进行回退操作
----个人自用整理分享 仍在学习之中 有错误与不足欢迎指正交流----