1-计算机组成与机构-1.2校验码_体系结构_指令

1、校验码

  • 码距:就单个编码A:00而言,其码距为1,因为其只需要改变一位就变成另一个编码。在两个编码中,从A码到B码转换所需要改变的位数称为码距,如A:00要转换位B:11,码距是2.一般来说码距越大,越利于纠错和检错。
  • 奇偶校验码:在编码中增加1位校验位来使编码中1的个数为奇数(奇校验)或者偶数(偶校验),从而使码距变为2.例如:
    • 奇校验:编码中,含有奇数个1,发送给接收方,接受方收到后,会计算收到的编码有多少个1,如果是奇数个,则无误,是偶数个,则有误。
    • 偶校验:同理,只要编码中有偶数个1,由上述,奇偶校验只能检1位错,并且无法纠错。

2、循环冗余校验码CRC

  • CRC只能检查,不能纠错,其原理是找出一个能整除多项式的编码,因此首先要将原始报文除以多项式,将所得的余数作为检验位加在原始报文之后,作为发送数据发给接收方,其编码格式为:

  • 由此可知,CRC由两部分组成,左边为信息吗(原始数据),右边为校验码。校验码是由信息码产生的,校验码位数越长,校验能力越强。请CRC编码时,采用的是模2运算(按位运算,不发生借位和进位)。

3、海明校验码

  • 海明码:本质也是利用奇偶性来检错和纠错的检验方法,构成方法是在数据位之间的确定位置上插入k个校验码,通过扩大码距实现检错和纠错。
  • 设数据位是n位,校验位是k位,则n和k必须满足一下关系:2^k-1>=n+k

4、计算机体系结构分类

Flynn分类法:

体系结构类型 结构 关键特性 代表
单指令流单数据流SISD

控制部分:一个

处理器:一个

主存模块:一个

  单处理器系统
单指令流多数据流SIMD

控制部分:一个

处理器:多个

主存模块:多个

各处理器以异步的形式执行同一条指令

并行处理机

阵列处理器

超级向量处理机

多指令流单数据流MISD

控制部分:多个

处理器:一个

主存模块:多个

被知名不可能,至少是不实际 目前没有,有文献称流水线计算机为此类
多指令流多数据MIMD

控制部分:多个

处理器:多个

主存模块:多个

能够iu实现作业、任务、指令等各级全面并行 多处理机系统多计算机

5、计算机指令

  • 计算机指令的组成:一条指令由操作码和操作数两部分组成,操作码决定要完成的操作,操作数指参加运算的数据及其所在的单元地址。
  • 在计算机中,操作要求和操作数地址都由二进制数码表示,分别称作操作码和地址码,整条指令以二进制编码的形式存放在存储器中。
  • 计算机指令执行过程:取指令一一分析指令一一执行指令三个步骤,首先将程序计数器PC中的指令地址取出,送入地址总线,CPU依据指令地址去内存中取出指令内容存入指令寄存器IR;而后由指令译码器进行分析,分析指令操作码;最后执行指令,取出指令执行所需的源操作数。

6、指令寻址方式

  • 指令寻址方式
    • 顺序寻址方式:当执行一段程序时,是一条指令接着一条指令地顺序执行。
    • 跳跃寻址方式:指下一条指令的地址码不是由程序计数器给出,而是由本条指令直接给出。程序跳跃后,按新的指令地址开始顺序执行。因此,程序计数器的内容也不许相应改变,以便及时跟踪新的指令地址。
  • 指令操作数的寻址方式
    • 立即寻址方式:指令的地址码字段指出的不是地址,而是操作数本身。
    • 直接寻址方式:在指令的地址字段中直接指出操作数在主存中的地址。
    • 间接寻址方式:指令地址码字段所指向的存储单元中存储的时操作数的地址。
    • 寄存器寻址方式:指令中的地址码是寄存器的编号。

7、指令系统

  • CISC是复杂指令系统,兼容性强,指令繁多、长度可变,由微程序实现;
  • RISC是精简指令系统,指令少,使用频率接近,主要依靠硬件实现(通用寄存器、硬布线逻辑控制)。
    • 具体区别
      指令系统类型 指令 寻址方式 实现方式 其他
      CISC(复杂)  数量多,使用 频率差别大,可变长格式 支持多种 微程序控制技术(微码) 研制周期长
      RISC(精简) 数量少,使用频率接近,定长格式,大部分为单周期指令,操作寄存器,只有Load/Store操作内存 支持方式少 增加了通用寄存器;硬布线逻辑控制为主;适合采用流水线 优化编译,有效支持高级语言

8、指令流水线

  • 指令流水线原理:将指令分成不同段,每段由不同的部分去处理,因此可以产生叠加的效果,所有的部件去处理指令的不同段,如下图所示:

9、流水线相关计算

  • 流水线周期:指令分成不同执行段,其中执行时间最长的段为流水线周期。
  • 流水线执行时间:1条指令总执行时间+(总执行条数-1)*流水线周期。
  • 流水线吞吐率:总指令条数/流水线执行时间
  • 流水线加速比:不使用流水线总执行时间/使用流水线总执行时间。
  • 超标量流水线技术:常规流水线是度为1的,即每个流水线阶段只执行一个部分,当度大于1时,就是超标量技术,当度为3时,相当于3条流水线并行执行,即取指、分析、执行每个阶段都同时处理3条指令,因此,当题目提到度的概念时,计算时需要将:指令条数=指令条数/度。然后再套流水线执行时间的公式。

猜你喜欢

转载自blog.csdn.net/python_jeff/article/details/112463416