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

018、NPU中的存储层次:全局缓存、本地缓存、寄存器文件

018、NPU中的存储层次:全局缓存、本地缓存、寄存器文件

去年调一个端侧推理项目,模型在PC上跑得好好的,一上板子就崩。定位了三天,最后发现是NPU的本地缓存溢出——一个卷积层的中间特征图尺寸刚好卡在本地缓存边界上,编译器没做tiling,直接写爆了。从那以后,我对NPU的存储层次就再也不敢只看框图了。

为什么NPU的存储层次和CPU不一样

CPU的存储层次(L1/L2/L3缓存)对软件基本透明,你写C代码时根本不用操心哪个变量在哪个缓存里。NPU不行。NPU的存储层次是显式管理的,程序员或者编译器必须明确告诉硬件:数据从哪里读、暂存在哪里、算完写回哪里。

根本原因在于NPU的架构哲学:用确定性的数据流换取能效。CPU要处理乱序执行、分支预测、缓存一致性,这些开销在NPU场景下都是浪费。NPU面对的是规整的矩阵运算,数据访问模式可以提前分析,那就干脆把存储层次的控制权交给软件,省掉硬件自动预取和一致性维护的功耗。

三层存储,各司其职

NPU的存储通常分三层:全局缓存(Global Buffer)、本地缓存(Local Buffer)、寄存器文件(Register File)。不同芯片的叫法可能不同,比如有些叫Shared Memory、Scratchpad,但本质一样。

全局缓存:DRAM和计算单元之间的缓冲带

全局缓存是NPU芯片上最大的片上存储,通常几百KB到几MB。它连接着片外DRAM和计算单元,主

http://www.cnnetsun.cn/news/2461009.html

相关文章:

  • Rust错误处理:Result与Error深度解析
  • 在线去除视频水印工具对比|在线去本地视频水印工具推荐,2026年实测对标
  • 从1秒到60ms:手把手教你用STM32硬件SPI驱动GC9A01 LCD,性能飙升实战
  • 阿里面试官冷笑:“现在上下文窗口都 200 万 token 了,你的 RAG 还有存在的必要吗?“ 我算了一笔账,他沉默了
  • 【Perplexity编程搜索实战指南】:20年工程师亲授5大高效编码检索技巧,告别无效搜索!
  • MTK联发科4G安卓主板开发指南:从硬件选型到低功耗与网络优化
  • 如何在Chrome中一键转换图片格式:Save Image as Type终极指南
  • 利润增长,是设计出来的
  • 全域粒子质量几何曲率统一公式体系(通俗易懂版)
  • Perplexity新闻搜索失效真相:LLM缓存机制、地域策略与时间戳偏移的三重干扰(内部技术备忘录节选)
  • RAG+Embedding多路召回实测:基于搜搜果GEO优化工具拆解SaaS品牌AI曝光逻辑
  • 桌面歌词神器LyricsX:让音乐与文字同步起舞的终极指南
  • 转行对谈:转向AI是破茧成蝶还是折翼未来?
  • SPSS毕业论文救星:一键导入三线表模板,告别手动调整格式的烦恼
  • 如何用Nucleus Co-Op轻松实现单机游戏本地分屏多人体验
  • Perplexity搜索结果泛化严重?紧急启用「设计意图锁定协议」——20年UX架构师压箱底的5行元提示词
  • windoes terminal终端右键菜单快捷配置
  • STM32F108C8T6小白入门特训营__1.5main.c代码分析
  • Artisan烘焙软件:基于Python的开源咖啡烘焙数据采集与控制平台技术实现
  • 别再只懂配置了!拆解XXL-Job时间轮源码,搞懂任务触发与过期处理的底层逻辑
  • 保姆级教程:从零搭建你的SMT热仿真材料库(以Ansys Sherlock或Flotherm为例)
  • 手把手教你用STM32F103CBT6自制Type-C接口的ST LINK V2-1,附PCB文件与避坑指南
  • 10.2 全栈 CRUD 工程结构搭建:Cursor 4 步初始化 + 3 层目录规范
  • 告别迷茫!手把手教你用ESPFlashDownloadTool_v3.6.3给NodeMCU烧录固件(附Flash地址详解)
  • 从手机扫描到3D建模:我是如何用iPhone和Polycam为NeRF Studio准备训练数据的
  • 从UCIe标准看未来:你的下一颗‘芯片’,何必是一颗芯片?(深入OpenHBI、BoW与AIB)
  • MT8195安卓核心板设计解析:从6nm芯片到高性能智能终端
  • 电力线路保护原理与整定计算实战解析:从电流、距离到差动保护
  • 告别静态UI!用UE5 WidgetComponent实现场景内动态标签(含近大远小效果)
  • 车载TSN技术:智能汽车确定性网络的原理、应用与工程实践