计算机组成与体系结构学习笔记
内容提要
- 数据的表示
- 计算机结构
- Flynn分类法
- CISC与RISC
- 流水线技术
- 存储系统
- 总线系统
- 可靠性
- 校验码
一、数据的表示
主要是进制的转换,二进制数,八进制数,十进制数,十六进制数之间的相互转换。
- 对于任意进制的数,即R进制数转十进制的技巧

- 对于十进制转任意进制数即R进制,一般使用短除法

原码、反码、补码、移码
正数:原码 = 反码 = 补码 移码在补码的基础上首位取反;
负数:
原码符号位为1。
反码在原码符号位不变的基础上取反。
补码在反码的基础上+1。
移码在补码的基础上首位取反。

数值的取值范围

例如一个8字节的二进制数,n=8 它的原码取值范围就是 (-127 ~ 127)
这里的补码算法和其他有一点不同,结合上面讲到到,负数补码到求得方法是负数反码的基础上+1,所以负数补码的取值比正数补码多一位。
浮点数运算
什么是浮点数?

简言之就是一个带有小数点,且小数点后不全为0的数。
浮点数的具体运算法则
对阶 → 尾数计算 → 结果格式化

二、计算机结构
计算机结构里的主机,不是指机箱里面的那些玩意儿。这里的主机是指CPU+内存

三、Flynn分类法

四、CISC与RISC

五、流水线技术
流水线是指在程序执行多条指令重叠进行操作的一种准并行处理实现技术。
例如执行一条指令:取指 → 分析 → 执行
在未使用流水线执行指令的情况下

在使用里流水线执行指令的情况下

流水线计算

流水线吞吐率计算
流水线的吞吐率(TP)是指在单位时间内流水线所完成的任务数量或输出结果数量。

流水线的加速比
完成同一批任务,不使用流水线所用时间和使用流水线所用时间的比值。

流水线的效率
流水线的效率是指流水线的设备利用率。

六、存储系统
层次化存储结构

Cache
- Cache的功能:提高CPU的输入输出速率,突破冯.诺依曼瓶颈(CPU与存储系统之间数据传送宽带的限制)。
- 在计算机的存储系统中,Cache是访问速度最快的层次。(除了寄存器)
- 使用Cache使计算机计算速度成倍上升,他的依据是程序的局部性原理。
计算引入Cache后计算机存储速度的变化

主存
主存的分类

主存的编址

例题:
内存地址从AC000H到C7FFFH,共有_112_kB个地址单元,如果该内存地址按字(16bit)编址,由28片存储器芯片构成。已知构成此内存的芯片每片有16kB个存储单元,则该芯片每个存储单元存储4bit信息。
解题思路:(大地址 - 小地址 + 1)即得出两个地址间有多少地址单元。
显而易见AC000H和C7FFFH是两个16进制数(尾数H是16进制数标志)。
转变思路现将大地址:C7FFFH+1=C8000H
大地址-小地址:C8000-AC000=1C000byte
因为1kB = 1024byte
所以将1C000化为十进制数再除以1024得到112k个地址单元
每个地址单元存储16bit位信息,即总内存:112*16=1792
该内存由28片芯片组成,可得每片芯片内存:112*16/28=64
又知每片芯片有16kb的储存单元,即每个储存单元存储64/16=4位信息
七、总线系统
- 内部总线
- 系统总线
- 数据总线
- 地址总线
- 控制总线
- 外部总线
八、可靠性
系统可靠性分析 - 串联系统与并联系统
串联系统的可靠度计算
R = R1 * R2 * R3 * … * Rn
并联系统的可靠度计算
R = 1 - (1-R1) * (1-R2) * (1-R3) * … * (1-Rn)
系统可靠性分析 - 模冗余模型与混合系统


九、校验码
所谓通讯过程的校验是指在通讯数据后加上一些附加信息,通过这些附加信息来判断接收到的数据是否和发送出的数据相同。
差错控制 - CRC与海明校验码
检错与纠错
码距
一个编码系统的码距是整个编码系统中任意(所有)两个码字的最小距离。
例:
若用1位长度的二进制编码。A=11,B=0。这样A,B之间的最小码距为1。
若用2位长度的二进制编码。A=11,B=00。这样A,B之间的最小码距为2。
若用3位长度的二进制编码。A=111,B=000。这样A,B之间的最小码距为3。
码距与检错,纠错
- 在一个码组内为了检测e个误码,要求最小码距d应该满足:d>=e+1
- 在一个码组内为了纠正t个误码,要求最小码距d应该满足:d>=2t+1
循环冗余校验码 CRC
是一种可以做检错,但纠错的校验码。编码长度(CRC字长)为数据位+校验位
奇偶校验
通常用于对少量数据的校验。
- 将信息数据的各位进行模二加法并作为校验码的称为奇校验。
- 将信息数据的各位进行模二加法并取反作为校验码的称为偶校验。
海明码
海明(汉明)码是广泛采用的一种有效的校验码,它实际上是一种多重奇偶校验码。
海明码的原理就是在有效信息位中加入几个校验位形成海明码,并把海明码的每一个二进制分配到几个奇偶校验中。当某一位出错的时候,不仅能检错,还能发现出错位的位置。
假设校验位有k位,那么校验码最多有(2的k次幂)个,显然其中有一个校验码是正确的,那么就能校验出(2的k次幂)-1个错位。所以,如果能满足一个n位数n+k<=2k-1,则在理论上即可判断出哪一位数出错
而校验码一般取位置为2的n次幂位置。
例题:
