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

11. 命令缓冲区和DMA

1.命令缓冲区和DMA


1.命令缓冲区和DMA

两者是"协作关系"—— CPU先把"数据上传指令"写入命令缓冲区,GPU执行指令时,底层通过DMA完成实际的数据拷贝 a.命令缓冲区-本质:CPU写给GPU的"指令清单"(内存块)-类比:你填的"快递单"(写清楚:要寄什么、寄到哪、怎么寄)b.DMA(直接内存访问)-本质:硬件级别的"数据搬运工"(独立于CPU)-类比:快递员(专门负责搬东西,不用你自己动手)
以CPU把顶点数据上传到GPU显存为例: a.CPU准备数据:把顶点数组(比如:Vector3[]坐标)整理好,存在CPU内存的连续区域 b.CPU写入命令缓冲区:CPU不会直接搬数据,而是往「命令缓冲区」里写入一条"数据上传指令",指令内容包括:-源地址:CPU内存中顶点数据的起始地址-目标地址:GPU 显存中 VBO 的起始地址-数据长度:要搬运的字节数(比如:1000个顶点 ×12字节/顶点=12000字节)-操作类型:从CPU内存拷贝到GPU显存 c.CPU提交命令缓冲区:CPU把写满指令的命令缓冲区提交给GPU的命令处理器 d.GPU解析指令,触发DMA:GPU读取命令缓冲区里的"数据上传指令",不会自己搬数据,而是通知DMA控制器执行搬运 e.DMA完成实际拷贝:DMA控制器直接访问CPU内存和GPU显存,把顶点数据从CPU内存拷贝到GPU显存的VBO中——这个过程不需 要CPU参与,CPU可以去做其他事(比如处理逻辑、准备下一批指令)f.DMA通知GPU完成:数据拷贝完成后,DMA向GPU发送"完成信号",GPU就可以用这个VBO进行渲染了
http://www.jsqmd.com/news/250227/

相关文章:

  • 12. CPU → GPU数据上传 + 渲染指令执行流程
  • [原创]基于CCO-LSSVM多输出回归+SHAP可解释性分析 Matlab代码(多输入多输出)
  • 【Java】万字解读Java的动态代理(JDK原生动态代理、CGLIB动态代理)_java 动态代理,零基础入门到精通,收藏这篇就够了
  • django基于python的秦宇宙智慧游乐场游乐园门票售票系统网站的设计与实现
  • java中反射机制的应用场景,零基础入门到精通,收藏这篇就够了
  • Java 开发转前端:利用 AI 竟然如此简单_java 对象生成前端文档,零基础入门到精通,收藏这篇就够了
  • django基于python的美食探店分享网站设计与实现
  • django基于python的社区老年人关爱服务系统的设计与实现
  • [原创]基于ELM多输出回归+SHAP可解释性分析+NSGAII多目标优化算法的工艺参数优化 Matlab代码
  • [原创基于CCO-LSSVM多输出回归+SHAP可解释性分析+NSGAII多目标优化算法的工艺参数优化 Matlab代码
  • django基于python的酒店预定管理系统 客房清洁
  • tinylisp:只有99行c代码的lisp语言
  • Java 常用编辑器 IntelliJ IDEA,零基础入门到精通,收藏这篇就够了
  • PaddleOCR免费调用API额度提高到3000页每天啦
  • 线程池简单源码思路手撕实现和关于参数设置
  • 破解 IPD 落地难题:专业咨询管理公司的核心价值
  • VBScript系统级自动化:使用WScript对象外部操控Office与模拟键盘输入
  • NPP 草原:南非图文巴,1949-1990 年,R1
  • NPP 草原:南非图文巴,1949-1990 年,R1
  • Open Code教程(二)| 命令与技巧大全
  • GEE初学:谷歌地球引擎GEE入门指南(最新注册全流程)
  • GEE初学:谷歌地球引擎GEE入门指南(最新注册全流程)
  • AI应用架构师打造的AI驱动虚拟旅游,树立行业标杆
  • 现代高级语言 JIT 编译优化技术——逃逸分析(Escape Analysis)
  • CRM系统如何通过AI与自动化重塑企业销售效能
  • 什么是SR-MPLS
  • Open Code教程(三)| 实战案例集
  • .Net 中的 ActivatorUtilitiesConstructor 特性
  • 学霸同款2026 TOP8 AI论文软件:本科生毕业论文必备测评
  • django-flask基于python的大学生公益活动志愿服务系统的设计与实现