第二章:GEM 与 TTM 概述:2.3 TTM显存管理概述
2026/6/15 3:11:51 网站建设 项目流程

前一节我们总结GEM的五大需求,这些需求更多的是面向用户态而言的。如果从实际物理内存管理的角度看,我们还需要一个模块,它就是TTM。

TTM 概述

TTM 设计目标是为 GPU 提供通用、可扩展的内存管理框架,支持多种内存类型(如 VRAM、GTT、系统内存)、动态迁移、页表管理、内存回收等高级特性。TTM 的主要特性包括:

  • 多内存类型支持:通过 ttm_resource、ttm_placement 等结构体,为不同类型的内存分别初始化 range manager。例如,AMDGPU 驱动会为 VRAM、GTT 分别创建 ttm_range_manager 实例,管理各自的地址空间,实现支持VRAM、GTT、系统内存等多种后端。

  • 页表管理:支持 GPU 虚拟地址空间的页表管理,便于实现大内存、稀疏映射等功能。

  • 动态迁移与回收:支持 BO 在不同内存类型间动态迁移,支持内存回收、swap、备份等机制。

TTM 的出现极大提升了 Linux 图形驱动的内存管理能力,成为 AMDGPU、nouveau 等驱动的核心基础。

GEM 与 TTM 的内在关联十分值得探究,梳理二者的演进时间线,也有助于更深入地理解其设计脉络与依存关系。

1. TTM 与 GEM 的历史关系:先有 TTM,后有 GEM

很多文章将 GEM 和 TTM 的关系描述为"TTM 在 GEM 基础上扩展",在设计上的确如此。但这两者的发展历史却是复杂的。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询