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

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

一、计算机系统基础知识

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


二、计算机体系结构

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 计算机指令的组成

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


在计算机中,操作要求和操作数地址都由二进制数码表示,分别称作操作码和地址码,整条指令以二进制编码的形式存放在存储器中。

微信图片_20230701110734.png


1.2.2 计算机指令执行过程

计算机指令执行过程: 取指令——分析指令——执行指令

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

1.2.3 指令寻址方式

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


顺序寻址方式: 当执行一段程序时,是一条指令接着一条指令地顺序执行

跳跃寻址方式: 指下一条指令的地址码不是由程序计数器给出,而是由本条指令直接给出。

程序跳跃后,按新的指令地址开始顺序执行。因此,程序计数器的内容也必须相应改变,以便及时跟踪新的指令地址。

1.2.4 指令操作数的寻址方式

微信图片_20230701110747.png


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

微信图片_20230701110803.png

一条指令的执行:取指令访存1次,执行指令访存0次,共访存1次


2️⃣直接寻址方式:在指令的地址字段中直接指出操作数在主存中的地址。

微信图片_20230701110814.png

一条指令的执行:取指令访存1次,执行指令访存1次,共访存两次


3️⃣间接寻址方式:指令地址码字段所指向的存储单元中存储的是操作数的地址。

微信图片_20230701110828.png

指令在执行阶段要多次访存(一次间址需两次访存)


4️⃣寄存器寻址方式:指令中的地址码是寄存器的编号。

微信图片_20230701110840.png

一条指令的执行:取指令访存1次,执行指令访存0次,共访存1次


🚩1.3 指令系统CISC和RISC

CISC(Complex Instruction Set Computer,复杂指令集计算机)是复杂指令系统,兼容性强,指令繁多、长度可变,由微程序实现;

RISC(Reduced Instruction Set Computer,精简指令集计算机)是 精简指令系统,指令少,使用频率接近,主要依靠硬件实现(通用寄存器、硬布线逻辑控制)

二者的区别

指令系统类型

指令

寻址方式 🚩实现方式 其他

CISC(复杂) 数量多,使用频率差别大,可变长格式 支持多种 微程序控制技术(微码) 研制周期长

RISC(精简) 数量少,使用频率接近,定长格式,大部分为单周期指令,操作寄存器,只有Load/Store操作内存 支持方式少 增加了通用寄存器;硬布线逻缉控制为主;适合采用流水线 优化编译,有效支持高级语言

🚩1.4 指令的流水处理

1.4.1流水线原理

将指令分成不同段,每段由不同的部分去处理,因此可以产生叠加的效果,所有的部件去处理指令的不同段

微信图片_20230701110853.png

🚩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流水线的效率

微信图片_20230701110904.png


示例:

微信图片_20230701110916.png

如上图,流水线的效率分母其实是一个面积,为整个流水段长方形的总面积,为4×15=60,而其中4个任务只占用了阴影小方块,总的是4×6=24,可以简单的理解为(一条指令的执行时间/整个流水线的执行时间)


相关文章
|
4月前
|
弹性计算 运维 Serverless
项目管理和持续集成系统搭建问题之云效流水线支持阿里云产品的企业用户如何解决
项目管理和持续集成系统搭建问题之云效流水线支持阿里云产品的企业用户如何解决
89 1
项目管理和持续集成系统搭建问题之云效流水线支持阿里云产品的企业用户如何解决
|
7月前
|
并行计算 数据挖掘 数据处理
【软件设计师备考 专题 】CISC RISC,流水线操作,多处理机,并行处理
【软件设计师备考 专题 】CISC RISC,流水线操作,多处理机,并行处理
144 0
|
7月前
|
存储 Ruby 内存技术
【机组期末速成】CPU的结构与功能|CPU结构|指令周期概述|指令流水线|中断系统
【机组期末速成】CPU的结构与功能|CPU结构|指令周期概述|指令流水线|中断系统
274 1
|
5月前
|
数据挖掘 数据处理 Python
🔍深入Python系统编程腹地:文件系统操作与I/O管理,打造高效数据处理流水线
【7月更文挑战第29天】深入Python系统编程腹地:文件系统操作与I/O管理,打造高效数据处理流水线
43 3
|
6月前
|
敏捷开发 测试技术 持续交付
阿里云云效产品使用问题之在流水线中无法运行已在系统环境变量中配置的可执行命令,是什么导致的
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
7月前
【中级软件设计师】—(针对上午题)指令流水线(十七)
【中级软件设计师】—(针对上午题)指令流水线(十七)
【中级软件设计师】—(针对上午题)指令流水线(十七)
|
数据采集 机器学习/深度学习 弹性计算
【SIGMOD 2023】深度学习弹性数据流水线系统GoldMiner,大幅提升任务和集群效率
阿里云机器学习平台PAI和北京大学杨智老师团队合作的论文被SIGMOD 2023录用。
|
存储
【计算机系统】CPU指令执行流程与指令流水线原理
【计算机系统】CPU指令执行流程与指令流水线原理
1864 0
【计算机系统】CPU指令执行流程与指令流水线原理
软件设计师之计算机组成原理与体系结构(3)流水线技术(重要)
软件设计师之计算机组成原理与体系结构(3)流水线技术(重要)
软件设计师之计算机组成原理与体系结构(3)流水线技术(重要)
[软考考点解析]软件设计师--流水线的操作周期
1. 概念 指令流水线的操作周期大于等于指令中执行时间最长的指令的操作时间。 虽然可以并行执行,但是完成时间至少也是最长指令的操作时间。
317 0
下一篇
DataWorks