news 2026/7/9 15:21:30

ACPI HMAT(Heterogeneous Memory Attribute Table,异构内存属性表)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
ACPI HMAT(Heterogeneous Memory Attribute Table,异构内存属性表)

好的,下面详细展开ACPI HMAT(Heterogeneous Memory Attribute Table,异构内存属性表)​ 在计算机体系结构和 Linux 内核中的含义与用途。


📌 HMAT 是什么

HMAT(Heterogeneous Memory Attribute Table)​ 是 ACPI 6.2+ 规范中定义的系统固件表(Section 5.2.27),用于向操作系统描述系统中不同类型内存的性能特征,主要包括:

  • 访问延迟(Latency):CPU/设备 → 各内存 Proximity Domain 的读写延迟

  • 带宽(Bandwidth):各访问路径的读/写带宽

  • 内存侧缓存属性(Memory Side Cache):如是否存在 Die 上/片外缓存及其大小、关联方式、写策略等

配合SRAT(System Resource Affinity Table)​ 使用:

  • SRAT​ 告诉 OS "有哪些 CPU / 内存 / 设备在哪个 NUMA Proximity Domain"

  • HMAT​ 补充 "从这些 Initiator(CPU/GPU/加速器)到这些 Memory Target 的性能参数是什么"


🎯 为什么需要 HMAT

现代服务器常见异构内存拓扑,例如:

  • 本地 DRAM + 持久内存(Intel Optane PMem / NVDIMM)

  • DRAM + HBM(High Bandwidth Memory)

  • DRAM + CXL Type-3 内存扩展设备

传统 NUMA 仅靠 SLIT 表给出"NUMA Distance"(一个粗略的相对值),不足以区分上述不同介质的真实延迟/带宽差异。HMAT 让 OS 和运行时库可以按性能特征做智能内存放置,例如:

  • Linux 内核据此建立Memory Tier(内存分层),自动将慢速内存(PMem/CXL)标记为较低 tier

  • 配置NUMA 交错权重(Interleave Weight)​ 偏向高性能节点

  • libmemkind/numactl等可按延迟或带宽偏好分配页面


🏗️ HMAT 关键结构

HMAT 表包含若干子结构(ACPI Spec 5.2.27):

子结构

说明

Memory Proximity Domain Attributes

标记某内存 Proximity Domain 关联的 Initiator(哪个 CPU Socket 可发起访问)

System Locency Latency and Bandwidth Info (SLLBI)

矩阵形式记录 Initiator→Target 的读/写延迟(ns)与带宽(MB/s)

Memory Side Cache Info

描述内存侧缓存(如 L4/Die-stacked cache)的大小、关联度、写回/写通策略等

示例概念(摘自内核文档):

Initiator Proximity Domain: CPU Socket 0 Target Proximity Domain: DRAM Node / CXL Mem Node → Latency: 80ns (DRAM), 100ns (CXL) → Bandwidth: 1200 (DRAM), 200 (CXL)

🐧 Linux 中的 HMAT 支持

  • 内核选项CONFIG_ACPI_HMAT=y(Linux 5.5+ 正式合入主线)

  • 解析路径drivers/acpi/hmat/中代码解析 BIOS 提供的 HMAT,向 sysfs 暴露性能信息

  • 查看方式

    # 确认 HMAT 表存在 sudo acpidump | grep -i HMAT # 或反汇编查看 sudo acpixtract -a iasl -d HMAT.dat # 查看 NUMA 节点及内存分层(内核 6.x) cat /sys/devices/system/node/node*/distance ls /sys/kernel/mm/memory_tiering/
  • 若 HMAT 缺失或数据不完整,Linux 会将所有内存归为同一 tier,不做差异化分层


🔗 与其他 ACPI 表的关系

作用

SRAT

定义 Proximity Domain ↔ CPU / Memory / Device 亲和关系

SLIT

给出 NUMA Node 间的相对距离(抽象值 10/21/31…)

HMAT

补充 SRAT 中内存域的具体延迟/带宽/缓存属性(更精确)

CEDT

CXL 设备发现(配合 HMAT 描述 CXL 内存性能)


简单说:HMAT 就是 BIOS/UEFI 告诉操作系统"这块内存快、那块内存慢、差多少 ns 和 MB/s"的一张明细表,是异构内存(PMem、CXL、HBM)在现代 Linux 上被正确分层调度的前提。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/9 15:18:51

AI与大模型新闻日报 | 2026-07-09

AI与大模型新闻日报20260709大模型技术共 16 条新闻1. 具身智能“高考”难疯了!人类100分,最强模型12.8来源: 量子位时间: 2026-07-08 13:07摘要: 具身测评界的珠峰来了:RoboDojo2. 别让AI一上来就“进厂打螺丝”:智源悟界Orca要先…

作者头像 李华
网站建设 2026/7/9 15:14:50

GSE宏编辑器终极指南:如何在魔兽世界中打造智能技能序列

GSE宏编辑器终极指南:如何在魔兽世界中打造智能技能序列 【免费下载链接】GSE-Advanced-Macro-Compiler GSE is an alternative advanced macro editor and engine for World of Warcraft. 项目地址: https://gitcode.com/gh_mirrors/gs/GSE-Advanced-Macro-Comp…

作者头像 李华
网站建设 2026/7/9 15:11:00

东芝H桥驱动器与PIC32MX的直流电机控制方案

1. 项目背景与核心器件选型 在工业自动化和消费电子领域,直流有刷电机因其结构简单、控制方便、成本低廉等优势,仍然占据着重要地位。本项目采用东芝TC78H651AFNG H桥驱动器与Microchip PIC32MX795F512L微控制器组合,构建了一套高性能的直流有…

作者头像 李华
网站建设 2026/7/9 15:09:11

A3910与STM32F215RE电机控制实战指南

1. 认识我们的硬件搭档:A3910与STM32F215RE当我在电子设计实验室第一次将A3910电机驱动芯片与STM32F215RE微控制器配对使用时,立刻意识到这个组合的潜力远超预期。A3910是一款专为直流电机控制设计的智能驱动芯片,而STM32F215RE则是STMicroel…

作者头像 李华
网站建设 2026/7/9 15:08:29

广州做小程序商城的公司有哪些,大湾区微信生态才是真正的选型红利

QuestMobile《2026全景生态流量春季报告》显示,小程序整体月活已达10.21亿,广州超80%的中小微企业有小程序搭建需求。广州人工智能与数字经济试验区集聚各类企业超10万家,高新技术企业超2100家,技术合同成交额超1500亿元。数据很亮…

作者头像 李华
网站建设 2026/7/9 15:08:24

FPGA 数字时钟 Verilog 模块化设计:4大核心模块与 50MHz 分频实战

FPGA 数字时钟 Verilog 模块化设计:4大核心模块与 50MHz 分频实战 数字时钟作为FPGA入门经典项目,看似简单却蕴含模块化设计的精髓。本文将彻底拆解一个完整的数字时钟系统,从50MHz主时钟到1Hz秒信号的分频计算,再到时分秒计数与数…

作者头像 李华