目录
- 第一章、计算机组成原理与体系结构
- 1、数据的表示
- 1.1.进制转换
- 1.2.原码、反码、补码、移码
- 1.3.数据的表述
- 2、计算机结构
- 3、Flynn分类法
- 4、CISC与RISC
- 5、流水线技术
- 5.1、流水线的基本概念
- 5.2、流水线的计算
- 5.3、流水线吞吐率计算
- 5.4、流水线加速比计算
- 5.5、流水线的效率
- 6、存储系统
- 6.1、层次化存储结构
- 6.2、Cache
- 6.3、局部性原理
- 6.4、主存-分类
- 6.5、磁盘结构与参数
- 7、总线系统
- 8、可靠性
- 8.1、串联系统与并联系统
- 8.2、模冗余系统与混合系统
- 9、校验码
- 9.1、CRC与海明校验码
第一章、计算机组成原理与体系结构
1、数据的表示
1.1.进制转换
1️⃣R进制转十进制:使用按权展开法,其具体操作方式为︰将R进制数的每一位数值用Rk形式表示,即幂的底数是R,指数为k ,k与该位和小数点之间的距离有关。当该位位于小数点左边,k值是该位和小数点之间数码的个数,而当该位位于小数点右边,k值是负值,其绝对值是该位和小数点之间数码的个数加1。
例如:
二进制10100.01=1 * 24 + 1 * 22 + 1 * 2-2
七进制 602.03=6 * 72+ 2 * 70+3 * 7-2
2️⃣十进制转R进制:使用短除法例如将94转换为二进制数。
3️⃣二进制转八进制:将二进制从小数点开始,对二进制整数部分向左每3位分成一组,不足3位的向高位补0凑成3位;对二进制小数部分向右每3位分成一组,不足3位的向低位补0凑成3位
4️⃣二进制转为十六进制:将二进制从小数点开始,对二进制整数部分向左每4位分成一组,不足4位的向高位补0凑成4位;对二进制小数部分向右每4位分成一组,不足4位的向低位补0凑成4位
1.2.原码、反码、补码、移码
原码,反码,补码和移码的相关概念一:对于正数,原码和反码,补码都是一样的,都是正数本身。
对于负数:
原码是符号位为1,数值部分取X绝对值的二进制。
反码是符号位为1,其它位是原码取反。
补码是符号位为1,其它位是原码取反,未位加1。
移码不管正负数,只要将其补码的符号位取反即可
数值表示范围
1.3.数据的表述
浮点数表示N=M*Re
其中M称为尾数,e是指数,R为基数
1000=1.0103
119=1.19102
相加:
对阶 :1.19102=0.119103
尾数计算:1.0+0.119=1.119
结果格式化(个位不能为0,也不能为1位以上):0.119=1.119*10-1
2、计算机结构
DR:我们在对内存储器进行读写操作的时候,用来暂存数据的
PSW:用来存储在运算的过程中的相关的标志位的
3、Flynn分类法
能分清体系结构的代表
4、CISC与RISC
能分清两个指令的区分
5、流水线技术
5.1、流水线的基本概念
流水线是指在程序执行时多条指令重叠进行操作的一种准并行处理实现技术。各种部件同时处理是针对不同指令而言的,它们可同时为多条指令的不同部分进行工作,以提高各部件的利用率和指令的平均执行速度
未使用流水线执行指令,大量时间浪费,使用流水线执行指令,取指的同时分析或执行,节约了时间
5.2、流水线的计算
执行分为两段,流水线建立时间,
例∶若指令流水线把一条指令分为取指、分析和执行三部分,且三部分的时间分别是取指2ns,分析2ns,执行1ns。那么,流水线周期是多少?100条指令全部执行完毕需要的时间是多少?
流水线周期:执行时间最长的那一段时间 2ns
理论公式:执行分为两段,第一部分流水线建立时间(2ns+2ns+1ns)。第二部分n-1 条指令×流水线周期(100-1)×2 结果 5+198=203
实践公式:把每一段都看成一个流水线周期那么长,就是执行时间的 1ns看成2ns
k 分几段k就是几,这里分了3段 结果 (3+ 99)×2=204
5.3、流水线吞吐率计算
流水线的吞吐率(Though Put rate,TP)是指在单位时间内流水线所完成的任务数量或输出的结果数量。计算流水线吞吐率的最基本的公式如下:
上面案例:TP=100/203≈0.4926
流水线最大吞吐率:
TPmax=1/2=0.5
5.4、流水线加速比计算
完成同样一批任务,不使用流水线所用的时间与使用流水线所用的时间之比称为流水线的加速比。计算流水线加速比的基本公式如下:
上面案例:不使用流水线执行时间(5×100=500)
S=500/203
5.5、流水线的效率
流水线的效率是指流水线的设备利用率。在时空图上,流水线的效率定义为n个任务占用的时空区与k个流水段总的时空区之比
计算流水线效率的公式为:
T0=n任务占用的时空区(△t+△t+△t+3△t)×4
kTk=k个流水段的总的时空区(15△t)×4
E=24△t/60△t
6、存储系统
6.1、层次化存储结构
速度最快,效率最高寄存器,在cpu中
cache高速缓存存储器
速度快,容量小。速度慢,容量大
6.2、Cache
Cache的功能:提高CPU数据输入输出的速率,突破冯·诺依曼瓶颈,即CPU与存储系统间数据传送带宽限制。
在计算机的存储系统体系中,Cache是访问速度最快的层次。
使用Cache改善系统性能的依据是程序的局部性原理。
如果以h代表对Cache的访问命中率,t1表示Cache的周期时间,t2表示主存储器周期时间,以读操作为例,使用“Cache+主存储器”的系统的平均周期为t3,则:
t3=h×t1+(1-h)×t2
其中,(1-h)又称为失效率(为命中率)
假如:
t1=1ns
t2=1us=1000ns
h=95%(cpu从Cache读取,如果数据在Cache中就会命中,如果没有就在内存中调用)
t3=95%×1ns+(1-95%)×1000ns=50.95ns
引入Cache后速度大大加快
6.3、局部性原理
时间局部性
空间局部性
工作集理论:工作集是讲程运行时被频繁访问的页面集合
int i,s=0;
for(i=1;i<1000;;i++)
for(j=1;j<1000;j++)
s+=j;
printf("结果为:%d",s)
把循环调用到Cache中,cpu直接总Cache中调用数据,体现时间局部性。
对于数组的访问,每个空间都需要初始化,访问了第一个空间,想要继续访问第二个空间,体现空间局部性。
6.4、主存-分类
内存属于随机存取存储器,断电后数据丢失
只读存储,断电后不会丢失
主存-编址
大地址-小地址+1
C7FFFH+1=C8000H
C8000H-ACFFFH=EC000H
EC000H/1024=112
112K×16/28×16K×X=1
求X=4
6.5、磁盘结构与参数
存取时间=寻道时间+等待时间(平均定位时间+转动延迟)
注意:寻道时间是指磁头移动到磁道所需的时间;等待时间为等待读写的扇区转到磁头下方所用的时间。
要读取磁盘的信息,首先要把磁头定位到我们目标的磁道上面,这个需要消耗一定的时间,这个时间被称为寻道时间
第二个是旋转延迟时间,也称为等待时间 ,在一个磁道上面会分为很多个扇区,这一小块一个磁道上面的一小段,是扇区,存储数据就存在扇区上面,磁头要找到这一数据要转到相对应的扇区。
例题:
7、总线系统
根据总线所处的位置不同,总线通常被分成三种类型,分别是
1️⃣内部总线:
内部总线是微机内部各外围芯片与处理器之间的总线,用于芯片一级的互连;
2️⃣系统总线:
而系统总线是微机中各插件板与系统板之间的总线,用于插件板一级的互连;
- 数据总线
数据总线是CPU与内存或其他器件之间的数据传送的通道,它的宽度就是总共有多少根数据线来传数据,1根线能传1位,这个数对应字长,也就是同一时间可以处理的二进制位数,我们通常所说的多少位处理器中的多少位,就是指的数据总线宽度。 - 地址总线
CPU通过地址总线来指定存储单元,地址总线的宽度就是能寻址到的地址的位数,最小寻址单位是字节,比如32位寻址,那寻址空间就是2^32B=4GB这么大的内存空间,我们通常所说的多少位操作系统中的多少位,就是指的是地址总线宽度。 - 控制总线
作用是反映数据的状态和传输方式,是地址总线的扩展和补充,CPU通过控制总线对外部器件进行控制,控制总线的宽度决定了CPU对外部器件的控制能力
3️⃣外部总线:
外部总线则是微机和外部设备之间的总线,微机作为一种设备,通过该总线和其他设备进行信息与数据交换,它用于设备一级的互连。
8、可靠性
8.1、串联系统与并联系统
串联模型
串联系统只要一个环节出问题,系统就不能运行
可靠度:累乘
失效率:累加(近似公式)
并联模型
只有当所有子系统都失效,系统才会失效
可靠度:1-(1-0.9)3
失效率:1-可靠度
8.2、模冗余系统与混合系统
9、校验码
9.1、CRC与海明校验码
什么是检错和纠错?
检错就是检查出错误
纠错不但要检查出来,还要将其纠正
往往是通过加冗余信息来实现的
在编码过程中,往往是通过增加码距达到想要的效果
什么是码距?
一个编码系统的码距是整个编码系统中任意(所有)两个码字的最小距离。
例:
若用1位长度的二进制编码。若A=1,B=0。这样A,B之间的最小码距为1.
若用2位长度的二进制编码,若以A=11,B=00为例,A、B之间的最小码距为2。
若用3位长度的二进制编码,可选用111,000作为合法编码。A,B之间的最小码距为3。
码距与检错、纠错有何关系?
1.在一个码组内为了检测e个误码,要求最小码距d应该满足:d>=e+1
2.在一个码组内为了纠正t个误码,要求最小码距d应该满足:d>=2t+1