---恢复内容开始---
除法器
指令集:
乘法器和除法器共用一套hardware
对于中间结果,乘法是向右移,除法是向左移,alu的话在乘法时加,在除法时减,这个要记住
浮点数
表示方法:
符号、指数、尾数,为什么要这样摆?
方便比较大小
biased notation:先不考虑符号,按照二进制数计算出数值,之后单精度浮点数减127,双精度浮点数减1023,得到有符号数
举例说明:
尾数之前有隐藏的1
把分数变成浮点数,不断乘2,把十进制转换成二进制
然后有四种特殊的组合需要单独定义
0,0 表示0,没有隐藏的1了
0,nonzero表示underflow,虽然不在可表示的范围内,但还是尝试去表示它,没有隐藏的1,指数也直接是最负的值
255(全1),0表示 正无限大/负无限大 看符号位
255(全1),nonzero表示 计算结果不是一个数字的情况 比如0/0,或者根号-4这种
浮点数的加法:
1.对齐小数点
2.尾数相加
3.标准化
4.处理进位问题
举个例子:
左移右移指的是number
IC设计:
把算法用hardware表示
浮点数加法运算
讲的挺清楚的但是记不住,???
浮点数的乘法:
在计算机中有FPU这个处理器来做浮点运算(coprocessor)
浮点运算的指令:
有指令可以让data在mainprocessor中和coprocessor中搬来搬去
对同一个数字,解释的方法不同,对应的hardware也不一样
计算机能表示的数字是有限的,范围和精度有限,在编程的时候得把这一点考虑进去
由于这个问题,加法交换律也会“失效”:
设计processor的时候要知道的一件事:
然后MAKE THE COMMON CASE FAST!
这一章结束啦!
大概是第三章:design a single-cycle processor
指令--->hardware
要清楚的知道每条连线的作用!搞清楚的话就说明硬件搞清楚了
到哪里去拿指令? PC
解释指令
接下来的操作取决于指令
指令的执行:
红色圈圈的地方出现竞争,如果使用两条路的话会比较浪费硬件资源,所以这里用mux来解决问题
有mux就要有控制信号:
设计处理器的步骤: