Platform Environment Control Interface (二):peci command介绍

前言

上一篇文章大致介绍了peci协议,这篇文章详细讲一下GetDIB、GetTemp、RdPkgConfig、WrPkgConfig4种peci command

GetDIB()

GetDIB()用于返回reversion number和device info。
在这里插入图片描述

device info

device info 会提供domain的数量信息,在任何一个客户端中,至少必须存在一个域,即“Domain 0”。因此,所报告的“域的数量”定义为除了“Domain 0”之外的域的数量。

举个例子:
如果设备信息字节的第2位返回“1”,则表示PECI客户端支持两个域。如果设备信息字节全为0,则表示PECI客户端支持1个域,即domain 0。
在这里插入图片描述

Revision Number

Revision Number在getdib respone的第二个字节,主要作用是确保通信的双方都知道它们正在使用的协议版本,从而避免版本不匹配。

Revision又分为major revision和minor revision。major revision用来指定PECI客户端处理器所支持的PECI规范版本,minor revision
用来指定客户端支持的确切命令套件。在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

GetTemp()

GetTemp()用于返回处理器die温度。使用GetTemp得到的值是一个负数,代表低于processor DTS temperature (TProchot)多少摄氏度。

TProchot:DTS(Digital Thermal Sensor,数字温度传感器)温度,是处理器的一个安全温度阈值。当GetTemp返回值为0时,就表示处理器温度为TProchot。

这里还要提到一个名词:TCONTROL(thermal management system uses as a control set point)热管理系统用作控制设定点,也被定义为低于TProchot的负数。当处理器温度接近这个值时,系统可能会采取行动(如增加风扇速度)来防止温度进一步上升。TCONTROL可以通过RdPkgConfig或者RDMSR获取。
在这里插入图片描述

RdPkgConfig()

RdPkgConfig()命令允许用户读取处理器内部的包配置空间(PCS)中的数据。这个空间包含了各种与电源管理和热管理相关的功能设置和数据,比如:处理器核心温度和功耗、DIMM模块温度等。
在这里插入图片描述

completion code

从RdPkgConfig开始,后面所述所有peci command的返回值都会包含一个byte的completion code,它包含了成功/失败状态信息。
completion code会用简写"cc"表示,cc各个值含义如下:
cc = 0x40 : 命令成功,返回的值可用
cc = 0x80 :回复超时,处理器无法及时生成响应,建议重试命令
cc = 0x81 :回复超时,处理器此时无法分配用于服务此命令的资源,建议重试命令
cc = 0x90 :无效请求
cc = 0x91 :PECI控制硬件、固件或相关逻辑错误。处理器无法处理该请求。

WrPkgConfig()

WrPkgConfig()命令提供对处理器内的包配置空间(PCS)的写访问,包括各种电源和热管理功能。处理器支持的典型PCS写入服务包括功率限制、热平均恒定编程等。
在这里插入图片描述

AW FCS

AW FCS (Assured Write FCS):PECI command中所有的写访问都会包含一个byte的AW FCS,因为写访问通常涉及对CPU或其他部件重要功能进行设置,错误地写入数据可能导致不可恢复的严重后果,所以为了确保从host接受到的数据是正确的,在消息结尾增加AW FCS对peci request进行校验。

DRAM热量和功率优化

DRAM(动态随机存取存储器)热量和功耗优化服务,这些服务通常被称为RAPL(Running Average Power Limit,运行平均功率限制),它们为平台热管理解决方案提供了一种编程和访问DRAM功率、能量和温度参数的方式。

内存温度信息通常用于调节风扇速度,调整刷新率(内存保持数据不丢失的速率),以及根据需要限制内存子系统的性能。

内存温度数据可能来自多种来源,包括:芯片上或板上的DIMM传感器(即直接测量DIMM的温度);DRAM活动信息(即基于DRAM的读写活动来估计温度);这两者的组合(即结合直接测量和基于活动的估计)。

获取和设置DRAM温度/功率等参数信息就需要RdPkgConfig()WrPkgConfig()

WrPkgConfig()和RdPkgConfig()通过IndexParameter获取设定指定服务信息,见下表:
在这里插入图片描述

DRAM列温度写入

这个特性允许PECI主机编程进入处理器,以设置DIMM内部所有等级(最多四个等级)的温度。

前文提到WrPkgConfig需要通过参数parameter参数设置温度信息,parameter format如下:
在这里插入图片描述

温度读取,功率设置和读取后面会陆续补充完

  • 14
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值