8.4.7. 协作式处理器性能控制
协作式处理器性能控制定义了一种抽象且灵活的机制,使 OSPM 能够与平台中的某个实体协作来管理逻辑处理器的性能。在该方案中,平台实体负责创建并维护性能定义,以支持一个连续的、抽象的、无单位的性能刻度。在运行时,OSPM 在这个抽象刻度上请求期望的性能,而平台实体负责将 OSPM 的性能请求转换为实际的硬件性能状态。平台还可以支持自主选择适合当前工作负载的性能级别的能力。在这种情况下,OSPM 向平台传递信息,以指导平台进行性能级别选择。
先前的处理器性能控制(P-states 和 T-states)一直以处理器频率来描述其对处理器性能的影响。尽管处理器频率是处理器完成工作的速度的一个粗略近似,但工作负载性能并不保证会随频率线性变化。因此,协作式处理器性能控制并不规定处理器性能的特定度量,而是将精确性能度量的定义留给平台。平台可以选择使用单一指标(例如处理器频率),也可以选择融合多个硬件指标来创建性能的综合度量。通过这种方式,平台可以自由地提供 OSPM 所请求的性能级别,而不必一定提供特定的处理器频率。OSPM 不得对平台提供的性能值的确切含义作出任何假设,也不得假设这些值如何与诸如处理器频率之类的特定硬件指标相关联。
平台必须对系统中的所有处理器使用相同的性能刻度。在具有异构处理器的平台上,所有处理器的性能特征可能并不完全相同。在这种情况下,平台必须综合出一个性能刻度,以调整处理器之间的差异,使得任意两个处理器在相同性能级别下运行相同工作负载时,能够在大致相同的时间内完成。平台应为不同类别的处理器公开不同的能力,以准确反映每类处理器的性能特征。
控制机制由 _CPC 对象方法进行抽象,该方法描述了如何以通用方式控制和监视处理器性能。寄存器方法可以在 Platform Communications Channel(PCC)接口中实现(参见 Platform Communications Channel(PCC))。这提供了足够的灵活性,因此 OSPM 所通信的实体可以是处理器本身、平台芯片组,或者一个独立的实体(例如,BMC)。
为了向现有的、以频率形式报告处理器性能的工具提供向后兼容性,_CPC 对象可以选择性地提供处理器频率范围值供 OS 使用。如果提供了这些频率值,则对 _CPC 信息使用的限制仍然适用:OSPM 不得对平台提供的性能值的确切含义作出任何假设,并且所有功能决策以及与平台的交互仍然使用抽象性能刻度进行。这些频率值仅包含在 _CPC 对象中,以便在无法通过其他机制从平台发现频率时,允许 OS 以简单的频率范围形式呈现性能数据。