计算机组成原理 第二章 数据的表示和运算(一)
数制与编码
数制与编码
进制转换
其他进制数转化为十进制
| 位权乘以进制(16转化为10进制,就每一位的数字乘以16的n次方,n决定于这是第几位,个位n=0,左加右减)
十进制转化为其他进制
| 分开 整数和小数,用短除和短乘法
真值和机器数
真值
| 符合人类习惯的数字
机器数
| 机器内部保存的格式,正负号用数据表示
BCD码
8421码(掌握加法)
| 4位二进制表示一位十进制,1010-1111为非法,位权分别为8421,加法时,如果合法就不动,非法的位+6,比如14 1110B,加6就相当于用6替换4,肯定是16进一位,剩下了4.
余3码
| 8421基础上加 0011B,无权码
2421码
| 有权码,0-4最高位为0,5-9最高位为1.
字符与字符串
英文
| ASCII码,8biit表示一个字符,最高位都为0,共128个字符,0-31和127为通信控制字符,32-126为可印刷字符,数字 48-7,大写65-90,小写97-122;
汉字
| GB 2312-80 :7445个汉字和字符
| 区位码: 2个字节,区码和位码
| 国标码:区位码+20H(32D)
| 汉字内码(机内码):国标码+80H(128D)
字符串
| 从低地址到高地址逐个字符存储,\0作为结尾
| 多字节数据可以采用大端模式和小端模式
| 大端模式:正常顺序,高位字节放在低位地址
| 小端模式:反着存储,低位字节放在地位地址
|
校验码
校验原理
| 相关概念
| 码字 : 几个二进制数用来表示一个数据
| 码字之间的距离:两个码字每一位都进行比较,有几个不同,码字之间的距离就是几
| 码距:编码中,合法码字之间最小的距离
| 码距 =2,有检错能力,码距>=3,可能有纠错能力(设计合理)
|
奇偶校验
| 1的个数为奇数或者偶数个,
| 硬件实现原理:异或运算
| 奇偶校验只能检测奇数为的错误
异或运算
| 异或=异货:相异就有货,不同为1,相同为0
海明码
| 求1001的海明码
| 1. 确定校验位位数K,
2
k
≥
n
+
k
+
1
2^k \geq n+k+1
2k≥n+k+1 , k 取3即可
| 2.确定校验位p位置,1/2/4/8,p对应的位权
| 3.计算p的值 : 1,分组,二进制写出D对应的H的下标,对应p位权为1的分到p_i 组,对组内D进行异或,求出p ,加全校验码
| 4. 校验方程 s= p 和组内 d 进行异或,一共三个s,倒着写出来,
| 5. 判断 : s=0,全校验成功,正确 ;s!=0,全校验失败,纠错;s!=0,全校验成功,重新传送;
|
| 注意,海明码,1位纠错,2位检错。
循环冗余校验码(CRC码)
| 求1001 的CRC码 生成多项式G(x) =
x
3
x^3
x3 +
x
2
x^2
x2 +1
| 1. 根据多项式求除数和校验位位数,1101,3位
| 2. 1001000(数据补3位0)模二除:余011
| 3. CRC码为1001011,
定点数表示和运算
定点数表示
定点数运算
C语言整数类型以及类型转换
数据的存储和排列
浮点数的表示和运算
表示
加减运算
算数逻辑单元
串行,并行加法器
ALU的功能和结构
本章小结
思维导图
幕布文件
https://www.mubucm.com/doc/2AgUgdI_4OW幕布文件
手写笔记
文章仅代表个人观点。