计算机基本概念--超标量,多发射

计算机基本概念--超标量,多发射_第1张图片

多发射:

  1. 概念:是指存在多条流水线进行指令的译码, 取指令后,可以同时发射多条指令到不同的流水线进行译码。(和执行?)

超标量:

  1. 超标量是一条流水线中,存在多个执行部件,可以在上一条指令没有执行完成时,执行下一条指令。 即乱序执行。可以针对没有前后顺序关系的指令进行并行执行;
  2. 超标量是对程序员透明的,是指令级别的并行;
  3. 超标量是否意味着需要多条流水线?(好像不需要,如果有,好像最好?)
  4. 超标量处理器内部只有一个指令指针,一套控制逻辑,也就是说,对于外界而言,在同一时刻,只能执行一段指令序列。

超线程:

  1. 概念:处理器可以同时执行多个指令,来自不同的线程;
  2. 超线程是线程级别的并行,需要程序员显示的编写超线程程序;
  3. Intel提出的,是指一个核心同时拥有两套寄存器、缓存,保存两个线程工作的现场。 线程之间切换几乎没有成本。可以有效的支持多线程程序。共享处理运算单元。

多线程:

  1. 一个处理器,一套寄存器文件,来回切换

分支预测

  1. 一般是基于跳转指令的历史数据统计,投机预测下一条的分支跳转情况。预测错了也没什么大不了
  2. 没有分支预测:遇到跳转指令,导致流水线形成泡沫(跳转指令后面管道不进行取指,译码,而是等跳转指令执行完成后在进行);

CPU 设计举例:
arm cortex M3/4: 3级流水线+分支预测

arm cortex M7: 6级 顺序 双发射 超标量流水线 +分支预测
计算机基本概念--超标量,多发射_第2张图片

你可能感兴趣的:(ARM体系结构,嵌入式系统,计算机原理,嵌入式)