当前位置: 首页 > news >正文

cpu的fetch/prefetch

一句话总结

  • Fetch = 取当前要执行的指令(必须取,不取就停)
  • Prefetch = 提前取未来可能执行的指令(预取,不影响当前执行,只为提速)

它们都是ICU(Instruction Cache Unit / Instruction Fetch Unit)核心工作。


1. Fetch(指令取指)——必须执行的操作

作用

给 CPU 核心拿到当前 PC(程序计数器)指向的指令

完整流程(极简版)

  1. PC 给出当前要执行的指令地址
  2. ICU 去ICache 查是否命中
    • 命中:直接给指令
    • 不命中:发请求去 L2/L3 / 内存取一整行cacheline
  3. 取回来的指令送给Decode(译码)执行

关键特点

  • 同步、阻塞:Fetch 不完成,后面流水线就停
  • 按 PC 顺序取
  • 和执行强相关

2. Prefetch(指令预取)——优化性能的操作

作用

提前把未来可能执行的指令取到 ICache,等 CPU 真正需要时直接命中,不 stall。

预取什么?

  • 顺序预取:PC 后面连续的指令
  • 分支预取:if/else/loop 可能跳去的目标地址
  • 历史预取:根据过去行为预测

关键特点

  • 异步、不阻塞
  • 不影响当前执行
  • 目标只有一个:减少 ICache Miss
  • 预取回来的行存在 ICache 里,打上 tag + valid

3. 最关键区别(一定要记住)

操作目的是否必须是否阻塞 CPU触发条件
Fetch取当前指令必须阻塞PC 当前地址
Prefetch提前备未来指令不必须不阻塞预测 / 顺序 / 分支

4. 最简单的比喻(秒懂)

  • Fetch = 现在就要吃饭,必须马上端上来
  • Prefetch = 提前把下一碗饭做好放旁边,等你要吃直接拿

Fetch是 CPU 根据当前 PC 指针,同步获取当前执行指令的过程,是流水线前端最基础、必须的操作,若 ICache miss 会阻塞流水线。Prefetch是 ICU 根据顺序执行、分支预测或历史行为,异步预取未来可能执行的指令到 ICache,不阻塞当前执行,目的是降低 ICache miss 率,提升 CPU 吞吐量。

http://www.jsqmd.com/news/367738/

相关文章:

  • 拯救大模型“幻觉”?Python_RAG九大架构全解析!
  • 别盲目跟随!家梁带你看清AI背后的操控与谎言
  • 网络安全学习路线图
  • 【重磅整理】2025计算机专业就业方向全景图:薪资、技能与前景深度剖析
  • 计算机Java毕设实战-基于springboot的农村康养院敬老院平台的设计与实现【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • 【预测模型】天牛须算法优化BP神经网络的电力负荷预测附matlab代码
  • Android 切换应用语言 - 指南
  • 计算机Java毕设实战-基于SpringBoot+Vue+MySQL的足球俱乐部管理基于springboot的足球俱乐部青训管理系统的设计与实现【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • 家梁眼中的AI乱象:惊讶、哭笑不得、还有点恐怖
  • SharePoint Online 嵌入 Power BI 报表
  • 计算机毕业设计springboot宠物托运服务系统 SpringBoot萌宠出行预约管理系统 SpringBoot爱宠远程护送信息平台
  • 【课程设计/毕业设计】基于Web足球青训俱乐部管理后台系统开发基于springboot的足球俱乐部青训管理系统的设计与实现【附源码、数据库、万字文档】
  • 独立开发配置
  • CAN FD总线协议深度解析:技术特点与应用优势
  • 【课程设计/毕业设计】基于springboot的农村康养院敬老院平台的设计与实现【附源码、数据库、万字文档】
  • 从零学网络安全 - 数据库安全与 SQL 注入(二)SQL 注入实战:联合查询
  • Z世代语境下的春节营销:海外红人如何为出海品牌“重新定价”
  • 考试满分,实战却“翻车”!《自然·医学》刊文:AI医疗助手为何难以应用?
  • 国际行情波动期的跨境运营:把“团队执行力”做成护城河
  • java+vue+SpringBoot高校专业实习管理系统(程序+数据库+报告+部署教程+答辩指导)
  • 【免费新增】MonkeyCode 支持 Minimax M2.1 模型!零成本解锁复杂场景AI研发,5分钟搞定小游戏/后端接口
  • java+vue+SpringBoot火锅店管理系统(程序+数据库+报告+部署教程+答辩指导)
  • ADC 中的抗体:核心性能要求、功能机制与片段优化方向
  • java+vue+SpringBoot小区团购管理系统(程序+数据库+报告+部署教程+答辩指导)
  • 焊装工艺管理:从经验驱动到数据智能的转型之路
  • 【预测模型】灰狼算法+粒子群+鲸鱼+蝴蝶算法改进LSSVM模型的锂电池SOH预测附Matlab代码
  • java+vue+SpringBoot交通管理在线服务系统(程序+数据库+报告+部署教程+答辩指导)
  • linux开机流程
  • java+vue+SpringBoot社区养老服务系统(程序+数据库+报告+部署教程+答辩指导)
  • 电脑“清灰”劝退指南:你以为的保养,可能是对主板的“酷刑”