【计算机基础】指令系统与流水线

摸鱼的时侯干点什么:学学指令系统和流水线的概念

0. Preface

每年都会有期末考试,每年都会有软考,每年都会有摸鱼的时候…

那么摸鱼的时候干什么呢?不如来学一下组成原理,本篇介绍CISC与RISC指令系统类型的异同,以及集流水线的概念。

下面开始!

学习目标

  • 了解指令系统类型与流水线的概念
  • 简单学学,让脑子里有这些概念,能应付软考

1. 指令系统

本节主要介绍 指令集的一些概念,纯理论。

1.1 指令集

指令集包括一系列操作码以及由特定处理器运行的基本命令。

51CTO-指令集-参考博文:https://blog.51cto.com/u_15064638/4677598

1.2 CISC 与 RISC

CISC 和 RISC 是指令集发展的两个途径。

CISC
Complex Instruction Set Computer, 复杂指令集计算机

  • 基本思想:进一步增强原有指令的功能,用更为复杂的新指令取代原先由软件子程序完成的功能,实现软件的硬化。

RISC
Reduced Instruction Set Computer, 精简指令计算机

  • 基本思想: 通过减少指令总数和简化指令功能,降低硬件设计的复杂度,使指令能单周期执行,并通过优化编译,提高指令执行速度,采用硬线控制逻辑,优化编译程序。

异同

指令系统类型指令寻址方式实现方式优点
CISC指令数量多,使用频率差异大,可变长格式支持多种微程序控制技术(微码)对特定的使用场景执行效率高
RISC指令数量少,使用频率接近,格式定长,大部分为单周期指令,操作寄存器,只有Load/Store 操作内存支持方式较少增加了通用寄存器,硬布线逻辑控制为主,适合采用流水线优化编译,有效支持高级语言

发展现状
CISC 与 RISC 严格区分的年代已经过去,现在CISC 与 RISC正逐步走向融合。

2. Pipeline 流水线

2.1 指令控制方式

指令的控制方式主要有以下几种:

  • 顺序方式,即一条一条指令顺序执行,控制简单,效率低,不考虑并行问题

  • 重叠方式,指在解释第K条指令的操作完成之前,就可以开始解释第K+1条指令,通常采用的是一次重叠。速度有所提高,控制也不复杂,但容易产生冲突、转移等问题。
    在这里插入图片描述

  • 流水方式,模仿工业生产过程的流水线而提出的一种指令控制方式。流水技术把并行或并发任务嵌入到计算机,将重复的顺序处理过程分解为若干子过程。在概念上,流水方式是重叠方式的延申,将多个任务分解为多个子过程。
    在这里插入图片描述

2.2 流水方式相关计算

2.2.1 流水周期及执行时间计算

例题
若指令流水线把一条指令分为取指,分析和执行三部分,且三部分的时间分别为 取指2ns,分析2ns,执行1ns,求流水线周期,以及100条指令全部执行完毕需要的时间是多少?

解题思路

  • 流水线周期:执行时间最长的一段
    上面的例题执行时间最长的为取指和分析都为2ns,取其中一个,即周期2ns;
  • 理论执行时长:第1条指令执行完毕总时长+剩余指令数乘以执行周期
    即:(2+2+1)+99*2 = 203(ns)
  • 将每个段都看成是一个流水线周期的时长:这种方式直接将段数乘以周期+剩余指令乘以执行周期数
    即:(2*3)+99*2 = 204(ns)

2.2.2 流水线吞吐率计算

例题
若指令流水线把一条指令分为取指,分析和执行三部分,且三部分的时间分别为 取指2ns,分析2ns,执行1ns,求流水线吞吐率是多少?

解题思路

  • 吞吐率 = 指令条数 / 流水线执行时间
    即:100 / 203

2.2.3 流水线加速比计算

例题
若指令流水线把一条指令分为取指,分析和执行三部分,且三部分的时间分别为 取指2ns,分析2ns,执行1ns,求流水线加速比?

解题思路

  • 加速比 = 顺序执行的总时间 / 流水线执行时间
    即: 5*100 / 203
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值