• 【计算机系统结构】指令级高度并行的超级计算机


    📝本文介绍
    本文将以三种处理机:超标量处理机,超长指令字处理机,超流水线处理机来简要介绍指令高度并行的超级计算机

    👋作者简介:一个正在积极探索的本科生
    📱联系方式: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条。
    在这里插入图片描述

  • 相关阅读:
    Oracle/PLSQL: Sin Function
    【数据结构与算法】队列的实现
    各位同志,Android studio打不开,提示什么动态链接库
    基于SSM的网上手机商城
    pytorch autograd 自动微分
    watch在项目中的使用
    微服务从代码到k8s部署应有尽有系列(八、各种队列)
    使用Visual Studio调试VisionPro脚本
    自适应滤波器更新算法-EP1
    研究生如何学习与科研的几点建议——来自一枚菜博的愚见
  • 原文地址:https://blog.csdn.net/C_Ryson/article/details/138160589