数据表示和运算
溢出判断
双符号
符号位上两个 之后两个运算 之后可以看见 运算结果
- 01 正溢
- 10 负溢
单符号
符号位上一个 但是 要看符号位的 后一位 为有效位
符号位置有进位为 1 有效位置有进位 1
- 01 正溢
- 10 负溢
浮点数IEEE754表示
S | 阶码八位 | M |
---|---|---|
浮点数 到十进制
阶码八位 -127 得到十进制的数字 为e
(-1)的s次方 * 1.M * 2的e次方 =二进制数字
十进制到浮点数
首先转 二进制
移动小数点使得其在 第一位和第二位之间 移动了多少位置 为e
*e转二进制 之后加上127 得到阶码 八位这时候也可以看到 s为 0还是1
之后就可以得到一个 IEEE754的 二进制数字 转个十六进制
运算电路
一位全加器
可以看到很容易理解 直接就是 二进制加法
每次执行一个位置 计算 进位和输出
一位全加器
直接就是s=a异或b异或c
ci=(a异或b)与c+a与b
行波进位加法器
主要是加一个控制 M 在运算时先有一个M和 b异或的举动 之后才是正常的输入两个数字
姑且称b’ 则开始就是 b’异或 a
最后一步加上了一个 溢出判断 最后两个进位进行一个异或
延迟时间判断
异或一次3T 与1T 或1T
一位加法器
首先可以看到 异或需要3T 结束之后 需要3T异或 因此需要6T
行波进位加法器
溢出判断和开始的运算模式判断无法更改 必须有6T 之后进入 加法器里面 可以看到
首先必须有一个3T 并且是并发同时完成的 之后需要 ci 逐个传递 ci出现还要再一个2T
因此 总体时间*** TN=9T+2T* n
总结
目前个人水平来看 目前就是
定点数 和浮点数 在运算器中分两大类别
之后可以看到 分别由加减乘除 的运算步骤和电路的设计 包括电路延迟时间和 溢出判断
不过复习是有重点的