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

UMA架构下的GPU 显存

GPU 显存 (Graphics Memory) 在大多数现代设备(包括 Android 手机、嵌入式设备等)上,确实是使用 DDR(Double Data Rate SDRAM) 类型的内存。

不过,具体实现方式根据硬件架构有所不同,主要分为以下两种情况:


📌 1. 共享内存架构 (Unified Memory Architecture, UMA)

移动设备嵌入式系统集成 GPU (Integrated GPU) 中,CPUGPU 共享同一片 DDR 内存。这种架构被称为 UMA,常见于 Android 设备、高通 (Qualcomm)、联发科 (MediaTek)、苹果 (Apple) 等移动平台的 SoC (System on Chip)

特点
  • 共享 DDR:GPU 和 CPU 访问同一片物理内存(DDR4/DDR5/LPDDR5)。
  • 数据交换效率高:不需要数据拷贝,CPU 和 GPU 可以直接共享缓冲区(如 gralloc 管理的 buffer)。
  • 成本和功耗低:无需额外配置独立显存,节省芯片面积和能耗。
  • 缓存一致性问题:需要严格控制 CPU 和 GPU 之间的 Cache FlushCache Invalidate,防止数据不一致。
应用场景
  • Android 设备(如手机、平板等)。
  • 一些低功耗嵌入式设备(如智能摄像头、车载系统)。
  • 采用 ARM MaliQualcomm AdrenoPowerVR 等 GPU 架构的 SoC。
示意图
      ┌───────────────────────┐
      │        DDR 内存        │
      └───────────────────────┘
               ▲      ▲
          ┌────┘      └────┐
          │ CPU           GPU │
          └───────────────────┘
     (共享物理内存,使用虚拟地址隔离)

📌 2. 独立显存架构 (Dedicated Video Memory)

独立 GPU (Discrete GPU),如 NVIDIAAMD高性能计算设备 中,GPU 拥有一块独立的高速显存,通常是 GDDR 系列(如 GDDR6X)或 HBM(高带宽内存)。

特点
  • 独立显存:GPU 使用单独的高速显存(而非共享 DDR)。
  • 性能更高:显存带宽更大,适合高吞吐量任务(如 AI 推理、4K 视频处理)。
  • 数据传输:CPU 和 GPU 之间需要通过 PCIe 等总线传输数据,速度相对较慢。
  • 数据拷贝:需要将 CPU 数据拷贝到 GPU 内存,或者使用 zero-copy 技术减少拷贝。
应用场景
  • 台式机和笔记本电脑的 独立显卡
  • 数据中心、高性能计算(HPC)、AI 训练/推理。
  • 需要高带宽的图形任务(如游戏、视频处理、深度学习)。
示意图
      ┌───────────────┐         ┌───────────────┐
      │     DDR 内存    │         │   GDDR 显存    │
      └───────────────┘         └───────────────┘
              ▲                       ▲
          ┌───┘                       └───┐
          │ CPU (主机)                 GPU │
          └────────────────────────────────┘
               通过 PCIe 进行数据传输

📌 3. Android 中的 GPU 显存管理

Android 设备通常使用 共享内存架构 (UMA),因此 GPU 显存也在 系统 DDR 中分配和使用,核心组件包括:

  1. Gralloc (Graphics Memory Allocator)

    • 用于 GPU-CPU 间共享内存缓冲区。
    • 通过 GRALLOC1_PRODUCER_USAGE_CPU_WRITEGRALLOC1_CONSUMER_USAGE_CPU_READ 控制 CPU 和 GPU 的访问权限。
  2. ION (Input-Output Memory Management Unit)

    • Android 平台通用的 内存分配机制,用于 DMA 和 GPU/ISP 的大页内存分配。
  3. DMA-BUF (Direct Memory Access Buffer)

    • Linux 和 Android 使用 DMA-BUF 在设备(如 GPU、ISP、显示控制器)之间共享物理内存。

📌 4. 总结对比

特性共享内存 (UMA)独立显存 (Dedicated Memory)
使用的内存系统 DDR (如 DDR4、LPDDR5)专用显存 (如 GDDR6、HBM)
CPU/GPU 数据共享直接共享,无需数据拷贝需要通过 PCIe 总线传输,需拷贝数据
性能适中,受 DDR 带宽限制极高,GDDR/HBM 带宽更大
适用场景Android、嵌入式设备、手机、平板高性能桌面 GPU、深度学习、HPC
缓存管理需要 Cache Flush / Invalidate独立缓存,不需要跨设备同步
数据延迟低延迟,CPU 和 GPU 共享虚拟地址高延迟,受 PCIe 传输速度限制

👉 简而言之:Android 和移动设备的 GPU 显存 通常使用的是 系统 DDR,而独立显卡使用的是 专用显存 (GDDR/HBM),两者在性能和架构上有所不同。

相关文章:

  • 4、MySQL的存储引擎有哪些?【中高频】
  • 蓝桥杯篇---按键长按与双击
  • 机试准备最后一天
  • electron框架(1.0)认识electron和基础创建
  • Elasticsearch基础教程:从入门到上手
  • 大话数据结构第二章,算法笔记
  • Oracle 公布 Java 的五大新功能
  • Vue安装及首次运行报错的相关问题解决方案
  • 二叉树(堆)
  • CentOS系统下安装tesseract-ocr5.x版本
  • Node.js 包与 npm 详解:概念、作用及完整使用指南
  • Android14 系统左右声音通道设置代码
  • 今天你学C++了吗?——二叉搜索树
  • 深入理解Python闭包与递归:原理、应用与实践
  • java项目之基于ssm的少儿编程在线培训系统(源码+文档)
  • 《K230 从熟悉到...》屏幕手画板
  • AI 原生 IDE Trae 深度体验:SSHremote 功能如何重新定义远程开发与云原生部署
  • 项目-苍穹外卖(九) 店铺营业状态设置+HttpClient
  • Node.js模块:使用 Bull 打造高效的任务队列系统
  • SQL Server数据库简介及应用
  • 菲律宾中期选举初步结果出炉,杜特尔特家族多人赢得地方选举
  • 国台办:80年前台湾重归中国版图,80年后不可能让台湾分裂出去
  • 经济日报:美国滥施汽车关税损人不利己
  • 宝通科技:与宇树合作已签约,四足机器人在工业场景落地是重点商业化项目
  • 反犹、资金与抗议:特朗普的施压如何撕裂美国大学?|907编辑部
  • 缺字危机:一本书背后有多少“不存在”的汉字?