📝本文介绍
本文将以三种处理机:超标量处理机,超长指令字处理机,超流水线处理机来简要介绍指令高度并行的超级计算机
👋作者简介:一个正在积极探索的本科生
📱联系方式:943641266(QQ)
🚪Github地址:https://github.com/sankexilianhua
🔑Gitee地址:https://gitee.com/Java_Ryson
由于本人的知识所限,如果文章有问题,欢迎大家联系并指出,博主会在第一时间修正。
文章目录
- 📕超标量处理机
- 📖概念
- 📖典型架构
- 📖单发射与多发射
- 📖先行指令窗口
- 📘超长指令字处理机
- 📖概念
- 📙超流水线处理机
- 📖概念
- 📖执行时序
- 📖超标量超流水线处理机
📕超标量处理机
📖概念
- 采用多指令流水线(度 = m)
- 配置多套功能部件,指令译码电路和多组总线。
- 适合求解稀疏向量,矩阵。
- 利用增加硬件资源来换取处理机性能。
- 采用的是空间并行性
实际上,在图中表现出来就相当于有多个译码电路集成在一起,可以在同一时刻处理多条指令的译码
📖典型架构
- 多条指令流水线
- 先进的超标量处理机有:定点处理部件CPU,浮点处理部件FPU,图形加速部件GPU
- 大量的通用寄存器,两个一级高速Cache(可能为指令或数据)
- 超标量处理机的指令级并行度大于1
📖单发射与多发射
单发射处理机:
- 每个周期只取一条指令,译码一条指令,执行一条指令,写回一个结果。
- 取指和译码部件只有一套,但操作部件可以为一个多功能操作部件或多个独立单功能部件。
- 操作部件可以采用流水也可以不采用
例如:
多发射处理机
- 每个周期同时取多条指令、同时译码多条指令,同时执行多条指令,同时写回多个运算结果
- 需要多个取指,译码,写结果部件
- 设置多个指令执行部件,一般采用流水线结构
如:
📖先行指令窗口
- 能够从指令Cache中预取多条指令
- 能够对窗口内的指令进行数据相关性分析和功能部件冲突的检测
- 窗口的大小:一般为2至8条指令
📘超长指令字处理机
📖概念
VLIW (Very Long Instruction Word)是将水平型微码和超标量处理两者结合的结构
- 指令字长可达数百位,多个功能部件并发工作,共享大容量寄存器堆。
- 是一种单指令多操作码多数据的系统结构(SIMOMD)
- 简化了取指,译码。将多个操作组合成一条超长指令字,一次取指,译码(之后可以一多次执行)
📙超流水线处理机
📖概念
- 两种定义
- 一个周期内能够分时发射多条指令的处理机称为超流水线处理机。
- 指令流水线有8个或更多功能段的流水线处理机称为超流水线处理机。
- 通过各硬件部分充分重叠工作来提高处理机性能
- 采用时间并行性
📖执行时序
- 每隔1/n个时钟周期发射一条指令,流水线周期为1/n个时钟周期。(在一个始终周期内可以发射n条指令)
📖超标量超流水线处理机
概述
把超标量与超流水线技术结合在一起,就成为超标量超流水线处理机
执行时序
超标量超流水线处理机在一个时钟周期内分时发射指令n次,每次同时发射指令m条,每个时钟周期总共发射指令m × n条。