【系统架构师】计算机组成与体系结构⑤(CISC与RISC|流水线|校验码)

目录

一、CISC与RISC

1.CISC

2.RISC

3.区别

二、流水线

1.原理

2.流水线执行时间计算

3.流水线吞吐率计算

4.流水线加速比计算

三、校验码

1.奇偶校验码

2.循环冗余校验码CRC

3.海明码


一、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的关系应满足:
 


 【系统架构师备考资料】点赞关注私信博主即可免费领取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值