ACPI 中文文档ACPI 中文文档
首页
第 1 章
第 2 章
第 3 章
第 4 章
第 5 章
第 6 章
第 7 章
第 8 章
第 9 章
第 10 章
第 11 章
第 12 章
第 13 章
第 14 章
第 15 章
第 16 章
第 17 章
第 18 章
第 19 章
第 20 章
第 21 章
附录 A
首页
第 1 章
第 2 章
第 3 章
第 4 章
第 5 章
第 6 章
第 7 章
第 8 章
第 9 章
第 10 章
第 11 章
第 12 章
第 13 章
第 14 章
第 15 章
第 16 章
第 17 章
第 18 章
第 19 章
第 20 章
第 21 章
附录 A
  • 第 8 章

    • 总览
    • 8.1. 处理器电源状态
    • 8.2. 刷新缓存
    • 8.3. 电源、性能和节流状态依赖关系
    • 8.4. 声明处理器
      • 8.4.1. _PDC(处理器驱动程序能力)
      • 8.4.2. 处理器电源状态控制
      • 8.4.3. 处理器层次结构
      • 8.4.4. 更低功耗空闲状态
        • 8.4.4.1. 分层空闲状态
        • 8.4.4.2. 空闲状态协调
        • 8.4.4.3. _LPI(低功耗空闲状态)
        • 8.4.4.4. _RDI(空闲的资源依赖)
        • 8.4.4.5. 兼容性
      • 8.4.5. 处理器节流控制
      • 8.4.6. 处理器性能控制
      • 8.4.7. 协作式处理器性能控制
        • 8.4.7.1. _CPC(连续性能控制)
          • 8.4.7.1.1. 性能能力/阈值
          • 8.4.7.1.2. 性能控制
          • 8.4.7.1.3. 性能反馈
          • 8.4.7.1.4. CPPC 启用寄存器
          • 8.4.7.1.5. 自主选择启用寄存器
          • 8.4.7.1.6. 自主活动窗口寄存器
          • 8.4.7.1.7. 能量性能偏好寄存器
          • 8.4.7.1.8. OSPM 控制策略
          • 8.4.7.1.9. 使用 PCC 寄存器
          • 8.4.7.1.10. 与其他由 ACPI 定义的对象和通知的关系
          • 8.4.7.1.11. _CPC 实现示例
      • 8.4.8. _PPE(平台错误轮询)
    • 8.5. 处理器聚合器设备

8.2. 刷新缓存

为了在不使用 ARB_DIS 特性的情况下支持 C3 电源状态,硬件必须提供刷新并使处理器缓存失效的功能(对于 IA 处理器,这将是 WBINVD 指令)。为了支持 S1、S2 或 S3 睡眠状态,硬件必须提供刷新平台缓存的功能。缓存刷新由以下机制之一支持:

  • 将系统缓存回写并使其失效的处理器指令(对于 IA 处理器是 WBINVD 指令)。

  • 将系统缓存回写但不使其失效的处理器指令(对于 IA 处理器是 WBINVD 指令,以及某些仅部分支持的芯片组;也就是说,它们不会使缓存失效)。

ACPI 规范要求所有平台都支持用于刷新系统缓存的本地 CPU 指令(在 CPU 和芯片组中都提供支持),并为当前尚不具备此能力的系统提供有限的“尽力而为”支持。平台所使用的方法通过本节中指出的适当 FADT 字段和标志来指示。

ACPI 在 FADT 中规定了描述系统缓存能力的参数。如果平台正确支持处理器的回写并失效指令(对于 IA 处理器为 WBINVD),则通过在 FADT 中设置 WBINVD 标志向 OSPM 指示此支持。

如果平台既不支持前两种刷新选项中的任何一种,则 OSPM 可以在满足以下条件时尝试手动刷新缓存:

  • 对不超过 2 MB 的连续物理内存进行启用缓存的顺序读取将刷新平台缓存。

  • 还需要两个额外的 FADT 字段来支持手动刷新缓存:

  • FLUSH_SIZE,通常为系统中最大缓存大小的两倍。

  • FLUSH_STRIDE,通常为系统中最小的缓存行大小。

Prev
8.1. 处理器电源状态
Next
8.3. 电源、性能和节流状态依赖关系