【软考:软件设计师】 2 计算机组成与体系结构(二)详解指令系统 | 指令流水线

【软考:软件设计师】 2 计算机组成与体系结构(二)详解指令系统 | 指令流水线_第1张图片

这是爱书不爱输的程序猿的博客, 本博客致力于知识分享,与更多的人进行学习交流

本文收录于软考中级:软件设计师系列专栏,本专栏服务于软考中级的软件设计师考试,包括不限于知识点讲解真题讲解两大部分,并且提供电子教材电子版真题,关注私聊即可


计算机组成与体系结构(二)

  • 一、计算机系统基础知识
  • 二、计算机体系结构
    • 1.计算机体系结构
      • 1.1计算机体系结构的分类
        • 1.1.1 宏观上按处理机的数量分类
        • 1.1.2 微观上按并行程度分类
      • 1.2 计算机指令
        • 1.2.1 计算机指令的组成
        • 1.2.2 计算机指令执行过程
        • 1.2.3 指令寻址方式
        • 1.2.4 指令操作数的寻址方式
      • 1.3 指令系统CISC和RISC
      • 1.4 指令的流水处理
        • 1.4.1流水线原理
        • 1.4.2流水线时间计算
        • 1.4.3流水线吞吐率计算
        • 1.4.4流水线的加速比计算
        • 1.4.5流水线的效率

一、计算机系统基础知识

:传送门计算机系统基础知识

二、计算机体系结构

1.计算机体系结构

1.1计算机体系结构的分类

1.1.1 宏观上按处理机的数量分类

  • ①单处理系统(Uni-processing System):利用一个处理单元与其他外部设备结合起来,实现存储、计算、通信、输入与输出等功能的系统
  • ②并行处理与多处理系统(ParallelProcessingandMultiprocessingSystem):为了充分发挥问题求解过程中处理的并行性, 将两个以上的处理机互连起来, 彼此进行通信协调,以便共同求解一个大问题的计算机系统
  • ③分布式处理系统(Distributed Processing System):指物理上远距离而松親合的多计算机系统。
    • 其中,物理上的远距离意味着通信时间与处理时间相比己不可忽略, 在通信线路上的数据传输速率要比在处理机内部总线上传输慢得多, 这也正是松耦合的含义

1.1.2 微观上按并行程度分类

  • ①Flynn分类法

1966年, MJ.Flynn提出按指令流和数据流的多少进行分类
指令流为机器执行的指令序列, 数据流是由指令调用的数据序列。

体系结构类型 结构 关键特性 代表
单指令流单数据流SISD 控制部分:1个
处 理 器:1个
主存模块:1个
单处理器系统
单指令流数据流SIMD 控制部分:1个
处 理 器:
主存模块:
各处理器以异步的形式执行同一条指令 并行处理机
阵列处理机
超级向量处理机
指令流单数据流MISD 控制部分:
处 理 器:1个
主存模块:
被证明不可能,至少是不实际 目前没有,有文献称流水线计算机为此类
指令流数据流MIMD 控制部分:
处 理 器:
主存模块:
能够实现作业、任务、指令等各级全面并行 多处理机系统
多计算机
  • 由上图可知,措令流由控制部分处理,每一个控制部分处理一条指令流,多指令流就有多个控制部分;数据流由处理器来处理,每一个处理器处理一条数据流,多数据流就有多个处理器;至于主存模块,是用来存储的,存储指令流或者数据流,因此,无论是多指令流还是多数据流,都需要多个主存模块来存储,对于主存模块,指令和数据都一样。
  • 扩展:为何多指令流单数据流MISD不实际?
    答: 依据计算机特性,是由指令来控制数据的传输,因此,一条指令可以控制一条或多条数据流,但一条数据流不能被多条指令控制否则会出错,就如同上级命令太多还互相冲突,不知道该执行哪个,因此多指令单数据MISD不可能。
  • ②冯泽云分类法
  • ③Handler分类法
  • ④Kuck分类法

1.2 计算机指令

1.2.1 计算机指令的组成

  • 一条指令操作码操作数 两部分组成操作码决定要完成的操作,操作数指参加运算的数据及其所在的单元地址。

  • 在计算机中,操作要求操作数地址都由二进制数码表示,分别称作操作码地址码整条指令以二进制编码的形式存放在存储器中
    在这里插入图片描述

1.2.2 计算机指令执行过程

  • 计算机指令执行过程: 取指令——分析指令——执行指令
  • 1️⃣将程序计数器PC中的指令地址取出,送入地址总线, CPU依据指令地址去内存中取出指令内容存入指令寄存器IR;2️⃣由指令译码器进行分析,分析指令操作码;3️⃣执行指令,取出指令执行所需的源操作数

1.2.3 指令寻址方式

指令寻址:确定下一条要执行的指令的存放地址

  • 顺序寻址方式: 当执行一段程序时,是一条指令接着一条指令地顺序执行
  • 跳跃寻址方式:下一条指令的地址码不是由程序计数器给出,而是由本条指令直接给出
    • 程序跳跃后,按新的指令地址开始顺序执行。因此,程序计数器的内容也必须相应改变,以便及时跟踪新的指令地址。

1.2.4 指令操作数的寻址方式

在这里插入图片描述

  • 1️⃣立即寻址方式:指令的地址码字段指出的不是地址,而是操作数本身。

    • 一条指令的执行:取指令访存1次,执行指令访存0次,共访存1次
      【软考:软件设计师】 2 计算机组成与体系结构(二)详解指令系统 | 指令流水线_第2张图片
  • 2️⃣直接寻址方式:在指令的地址字段中直接指出操作数在主存中的地址。

    • 一条指令的执行:取指令访存1次,执行指令访存1次,共访存两次
      【软考:软件设计师】 2 计算机组成与体系结构(二)详解指令系统 | 指令流水线_第3张图片
  • 3️⃣间接寻址方式:指令地址码字段所指向的存储单元中存储的是操作数的地址。

    • 指令在执行阶段要多次访存(一次间址需两次访存)
      【软考:软件设计师】 2 计算机组成与体系结构(二)详解指令系统 | 指令流水线_第4张图片
  • 4️⃣寄存器寻址方式:指令中的地址码是寄存器的编号。

    • 一条指令的执行:取指令访存1次,执行指令访存0次,共访存1次
      【软考:软件设计师】 2 计算机组成与体系结构(二)详解指令系统 | 指令流水线_第5张图片

1.3 指令系统CISC和RISC

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

1.4 指令的流水处理

1.4.1流水线原理

  • 将指令分成不同段,每段由不同的部分去处理,因此可以产生叠加的效果,所有的部件去处理指令的不同段
    【软考:软件设计师】 2 计算机组成与体系结构(二)详解指令系统 | 指令流水线_第6张图片

1.4.2流水线时间计算

  • 1️⃣流水线周期:指令分成不同执行段,其中执行时间最长的段为流水线周期
  • 2️⃣流水线执行时间: 1条指令总执行时间+(总指令条数-1)*流水线周期

超标量流水线技术:常规流水线是度为1的,即每个流水线阶段只执行一个部分,当度大于1时,就是超标量技术,当度为3时,相当于3条流水线并行执行,即取指、分析、执行每个阶段都同时处理3条指令,因此,当题目提到度的概念时,计算时需要将:指令条数=指令条数/度。然后再套流水线执行时间的公式

1.4.3流水线吞吐率计算

  • 吞吐率: 单位时间内执行的指令条数
    T P = 总指令条数 / 流水线执行时间 TP = 总指令条数 / 流水线执行时间 TP=总指令条数/流水线执行时间

1.4.4流水线的加速比计算

  • 加速比: 使用流水线后的效率提升度,即比不使用流水线快了多少倍,越高表明流水线效率越高
    S = 不使用流水线总执行时间 / 使用流水线总执行时间 S=不使用流水线总执行时间 / 使用流水线总执行时间 S=不使用流水线总执行时间/使用流水线总执行时间

1.4.5流水线的效率

【软考:软件设计师】 2 计算机组成与体系结构(二)详解指令系统 | 指令流水线_第7张图片

  • 示例:
    【软考:软件设计师】 2 计算机组成与体系结构(二)详解指令系统 | 指令流水线_第8张图片
    如上图,流水线的效率分母其实是一个面积,为整个流水段长方形的总面积,为4×15=60,而其中4个任务只占用了阴影小方块,总的是4×6=24,可以简单的理解为(一条指令的执行时间/整个流水线的执行时间
    请添加图片描述
今天的内容就到这里啦
希望对大家的学习有所帮助
欢迎大家来访,我们共同学习交流

【软考:软件设计师】 2 计算机组成与体系结构(二)详解指令系统 | 指令流水线_第9张图片

你可能感兴趣的:(软考中级:软件设计师系列,软考,软件设计师,计算机组成原理,指令系统,指令流水线,计算机体系结构)