指令系统、流水线

指令系统

分类



寻址方式

设计

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

操作码设计

MIPS




流水线

MIPS流水线

改进后


取指(IF)

译码(ID)

执行(EX)

存储器访问

寄存器-寄存器 ALU

寄存器-立即值 ALU

分支

访存(MEM)

Load/Store

分支

写回(WB)

性能分析

吞吐率(TP)

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

实际吞吐率


效率


相关

结构相关

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

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

数据相关

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

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


流水线锁

插入暂停周期

流水线调度(指令调度)

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

控制相关

分支指令带来的暂停

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

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

延迟分支


向量处理机

向量处理方式

  • 水平处理方式
  • 垂直处理方式
  • 分组处理方式
相关推荐
武子康4 小时前
Java-148 深入浅出 MongoDB 聚合操作:$match、$group、$project、$sort 全面解析 Pipeline 实例详解与性能优化
java·数据库·sql·mongodb·性能优化·系统架构·nosql
老友@7 小时前
集中式架构、分布式架构与微服务架构全面解析
分布式·微服务·架构·系统架构
十五年专注C++开发1 天前
QT 中的元对象系统(六):connect函数详解
开发语言·c++·qt·设计模式·系统架构·qevent
武子康2 天前
Java-145 深入浅出 MongoDB 基本操作详解:数据库查看、切换、创建集合与删除完整教程
java·数据库·sql·mysql·mongodb·性能优化·系统架构
谱写秋天2 天前
软考-系统架构设计师 软件系统质量属性详细讲解
系统架构·软考架构师
张较瘦_2 天前
从零学会绘制系统架构图:目的、思路与实操指南
架构·系统架构·软件工程
谱写秋天2 天前
软考-系统架构设计师 软件架构复用详细讲解
系统架构·软考架构师
博一波2 天前
软考高级-系统架构设计一些概念的串联
微服务·架构·系统架构
谱写秋天2 天前
软考-系统架构设计师 系统架构评估详细讲解
系统架构·软考架构师
谱写秋天3 天前
软考-系统架构设计师 软件架构风格详细讲解
系统架构