目录
一、CISC与RISC
1.CISC
复杂指令集计算机(CISC,Complex Instruction Set Computers):兼容性强,指令繁多、长度可变,由微程序实现
2.RISC
精简指令集计算机(RISC,Reduced Instruction Set Computers):指令少,使用频率接近,主要依靠硬件来实现(通用寄存器、硬布线逻辑控制)
3.区别
| 指令系统类型 | 指令 | 寻址方式 | 实现方式 | 其他 |
|---|---|---|---|---|
| CISC (复杂) | 数量多,使用频率差别大,可变长格式 | 支持多种 | 微程序控制技术 | 研制周期长 |
| RISC(精简) | 数量少,使用频率接近,定长格式,大部分为单周期指令,操作寄存器,只有Load/Store操作内存 | 支持方式少 | 增加了通用寄存器;硬布线逻辑控制为主;适合采用流水线 | 优化编译,有效支持高级语言 |
二、流水线
1.原理
将指令分成不同段,每段由不同的部分去处理,因此可以产生叠加的效果,所有的部件去处理指令的不同段,如下图所示:

RISC中的流水线技术:
超流水线技术:通过细化流水、增加级数和提高主频,使得在每个机器周期内能完成一个甚至两个浮点操作。其实质时以时间换取空间。
超标量技术:通过内装多条流水线来同时执行多个处理,其时钟频率虽然与一般流水线接近,却又更小的CPI,其实是以空间换取时间。
超长指令字VLIW技术:VLIW 和超标量都是20 世纪80 年代出现的概念,其共同点是要同时执行多条指令,其不同在于超标量依靠硬件来实现并行处理的调度,VLIW 则充分发挥软件的作用,而使硬件简化,性能提高。
2.流水线执行时间计算
流水线周期:指令分成不同执行段,其中执行时间最长的段为流水线周期。
流水线计算公式为:
1条指令执行时间 + (指令条数 -1) * 流水线周期
①理论公式:(t1+t2+..+tk)+(n-1)* t
②实际公式: k * t + (n-1) * t
(注意!!!实际公式在没有正确答案才会使用,一般使用理论公式)
3.流水线吞吐率计算
吞吐率即单位时间内执行的指令条数。
公式:指令条数/流水线执行时间。
流水线最大吞吐率(简化之后):
1/流水线周期
4.流水线加速比计算
加速比即使用流水线后效率提升度,即比不使用流水线快了多少倍,越高表面流水线效率越高,加速比是>=1 的
公式:不使用流水线执行时间/使用流水线执行时间。
三、校验码
码距:就单个编码 A:00而言,其码距为1,因为其只需要改变一位就变成另一个编码。在两个编码中,从A码到B码转换所需要改变的位数称为码距,如A:00要转换为B:11,码距为2。一般来说,码距越大,越利于纠错和检错。
1.奇偶校验码
在编码中增加1位校验位来使编码中1的个数为奇数(奇校验)或者偶数(偶校验),从而使码距变为 2。奇校验可以检测编码中奇数个数据位出错,即当合法编码中的奇数位发生了错误时,即编码中的1变成0或者0变成1,则该编码中1的个数的奇偶性就发生了变化,从而检查出错误。但无法纠错。
2.循环冗余校验码CRC
CRC只能检错,不能纠错,其原理是找出一个能整除多项式的编码,因此首先要将原始报文除以多项式,将所得的余数作为校验位加在原始报文之后,作为发送数据发给接收方。使用CRC 编码,需要先约定一个生成多项式 G(x)。生成多项式的最高位和最低位必须是 1。假设原始信息有 m位,则对应多项式 M(x)。生成校验码思想就是在原始信息位后追加若干校验位,使得追加的信息能被 G(x)整除。接收方接收到带校验位的信息,然后用 G(x)整除。余数为0,则没有错误:反之则发生错误。
例:假设原始信息串为 10110,CRC 的生成多项式为G(x)=x^4+x+1,求CRC 校验码。
(1)在原始信息位后面添0,假设生成多项式的阶为r,则在原始信息位后添加r个0,本题中,G(x)阶为 4,则在原始信息串后加4个0,得到的新串为 101100000,作为被除数。
(2)由多项式得到除数,多项中x的幂指数存在的位置1,不存在的位置0。本题中,x的幂指数为 0,1,4的变量都存在,而幂指数为2,3的不存在,因此得到串10011。
(3)生成CRC校验码,将前两步得出的被除数和除数进行模2除法运算(即不进位也不借位的除法运算)。除法过程如下图所示。

得到余数 1111。
注意:余数不足r,则余数左边用若干个0补齐。如求得余数为 11,r=4,则补两个0 得到 0011。 (4)生成最终发送信息串,将余数添加到原始信息后。上例中,原始信息为10110,添加余数1111 后,结果为101101111。发送方将此数据发送给接收方。
(5)接收方进行校验。接收方的CRC 校验过程与生成过程类似,接收方接收了带校验和的帧后,用多项式 G(x)来除。余数为0,则表示信息无错;否则要求发送方进行重传。
注意:收发信息双方需使用相同的生成多项式。
3.海明码
海明码是一种多重奇偶校验码,具有检错和纠错的功能。数据位n,校验位k的关系应满足:

【系统架构师备考资料】点赞关注私信博主即可免费领取
&spm=1001.2101.3001.5002&articleId=148588373&d=1&t=3&u=c84a98739baa4aff82700a240785f09d)
7954

被折叠的 条评论
为什么被折叠?



