计算机组成原理

cs
Author

dd21

Published

December 5, 2022

定点数

  • 纯小数 0.12, 0.98, 0.22……
  • 纯整数: 11, 2, 3, 4…

浮点数

  • N = 2^e.M

原码: 便于人类计算,但是不利于计算机,进位和移位以及异号运算复杂 反码:转换为补码的过度 补码: 将减法转换为加法 移码: 补码符号位取反, 便于比较大小

移码参考视频:https://www.bilibili.com/video/BV1dL4y1a7h2/?spm_id_from=333.337.search-card.all.click&vd_source=c0157a4afd2e47c7662431fd9d2739fb

二进制转换计算器https://cn.calcuworld.com/%E4%BA%8C%E8%BF%9B%E5%88%B6%E8%AE%A1%E7%AE%97%E5%99%A8

ieee754:

book p22 ->2.9

奇偶校验

奇校验: - 奇数个1:校验正确, 校验位填0 - 偶数个1:校验错误, 校验位填1

偶校验: - 奇数个1:校验错误, 校验位填1 - 偶数个1:校验正确, 校验位填0

奇偶校验参考视频:https://www.bilibili.com/video/BV1n5411m7QP/?spm_id_from=333.337.search-card.all.click&vd_source=c0157a4afd2e47c7662431fd9d2739fb

定点加法

补码加法

  • 补码相加等于原码相加, 最高位进位丢掉(符号位)

补码减法

  • x-y = x+(-y)

溢出概念

正溢

两个正数相加后得到负数就是溢出了 例如:(第一位为符号位) ~01000 +01011 =10011(符号位为1即为负,所以不对)正溢 ## 负溢 两个负数相减也是类似相减后得到一个正数

溢出的检测方法

  • 变形补码, 通过双符号位进行表示符号
  • 00 代替原先的0表示正数, 如果出现10表示正溢
  • 11代替原先的1表示负数, 如果出现01表示负溢

全加器

  • 既然说到全加器, 那肯定得谈谈半加器
  • 个人理解的半加器, 就是不可以输入进位, 不可以串起来, 全加器可以实现N个加法器串联, 实现多位的运算

>异或门: 相异 => 1 与非门: 1, 1 => 0

在这里插入图片描述

仿真:https://blog.csdn.net/qq_40272978/article/details/106229002 matlab 仿真参考: https://max.book118.com/html/2019/0531/6152154012002034.shtm