指令系统、流水线

指令系统

分类



寻址方式

设计

能够改变控制流的指令:分支、跳转、过程调用、过程返回

操作码设计

MIPS




流水线

MIPS流水线

改进后


取指(IF)

译码(ID)

执行(EX)

存储器访问

寄存器-寄存器 ALU

寄存器-立即值 ALU

分支

访存(MEM)

Load/Store

分支

写回(WB)

性能分析

吞吐率(TP)

单位时间流水线完成的任务数或输出的结果数

实际吞吐率


效率


相关

结构相关

某些指令组合在流水线中重叠执行时,产生资源冲突

解决方案:指令和数据分离;添加"气泡"

数据相关

指令在流水线中重叠执行时,流水线可能改变指令读/写的顺序,使得读/写的操作顺序不同于非流水线的实现顺序

分类
  • 写后读相关(RAW)
  • 写后写相关(WAW)
  • 读后写相关(WAR)
定向技术(旁路/短路)


流水线锁

插入暂停周期

流水线调度(指令调度)

编译器重新组织代码顺序消除暂停

控制相关

分支指令带来的暂停

减少流水线处理分支指令时的暂停时钟周期数有如下两种途径:

  • 在流水线中尽早地判断出分支转移是否成功。
  • 尽早地计算出分支转移成功时的PC值(即分支的日标地址)。

延迟分支


向量处理机

向量处理方式

  • 水平处理方式
  • 垂直处理方式
  • 分组处理方式
相关推荐
dishugj5 小时前
2.2.3存储器 考点整理(系统架构设计师)
系统架构
dishugj10 小时前
系统架构的常用建模方法和评价架构的4+1观察视角
架构·系统架构
风123456789~10 小时前
【架构专栏】第7章 系统架构设计基础知识 3/3
架构·系统架构
风123456789~11 小时前
【架构专栏】第7章 系统架构设计基础知识 2/3
架构·系统架构
励志不掉头发的内向程序员11 小时前
【LibreCAD 2D架构】RS_Line创建之后发生了什么?从图形容器到屏幕渲染
开发语言·c++·qt·学习·系统架构
微三云生态系统架构师-彭丹21 小时前
顶俏积分闭环S2B2C系统设计:以销定产与积分换货的技术实现
系统架构
m0_587383001 天前
全民健身解决方案软件开发:从架构设计到落地实践
人工智能·数据挖掘·系统架构·需求分析
王解1 天前
AG-31_Grok Build 开源解读:马斯克的命令行 Agent
系统架构·开源·agent
小哈里3 天前
【执行】个人操作系统架构图 v1(硬件层,OS层,软件层,Agent层,横向控制面)
系统架构·操作系统·agent·架构图·执行
励志不掉头发的内向程序员3 天前
【LibreCAD 2D架构】从鼠标点击到图形创建:RS_ActionDrawLine交互流程与状态机解析
开发语言·c++·qt·学习·系统架构·计算机外设·交互