返回列表 发帖

C states VS P States VS T States

以前搞ACPI的时候,经常接触到C states和P States,最近翻了一下资料,发现出来个T States,仔细看了看,发现就是CPU Throttling,但是,是不是就是P States,有知道的同学发表一下,这两个有啥关系?
抛砖一下:
C States就是CPU的 idle的 states,包括C0,C1,C2,C3,C4。。。。
P States就是CPU在C0状态下,使用特定CPU的降频降压功能来省电(不同的CPU厂商的方式不同),主要表现就是CPU的频率在变化
T States就是CPU的Throttling,也就是在一定的频率下,可以让cpu在一段时间工作,一段时间不工作,也就是存在一个Duty cycle,这块和南桥的PMU有关系。
问题1)T States是不是 P states? 十有八九都不是,但是还想问问各位,确定一下。声明在intel的资料中看到的P states概念,在MS文档中看到的是T states名词。
问题2)FADT的DUTY_OFFSET和DUTY_WIDTH到底应该指的是什么?为什么两者加起来必须大于4?
问题3)FADT中的PSTATE_CNT和CST_CNT到底指的什么?PSTATE_CNT就是P_CNT吗?
谁有空给回答一下,呵呵

研究的这么高深呀,帮顶一个!

TOP

都在ACPI spec里面的吧,2)和3)都是ACPI reg的offset, chipset的相关部分也会提到的

TOP

C-State是CPU State, 基本上CPU和停止運行. P State則是降頻和降電壓. CPU還是會繼續跑Code. T-State則是CPU根據系統溫度, 跑一下, 停一下來降低熱度.
Jonson

TOP

楼上说的言简意赅,多谢多谢

TOP

P-States are OS controllable, (based as well on peformance profile). While C-States only change when CPU is idle, P-States changes during execution.
T-States are "a sort of" P-State, as it changes during execution, they can be OS controllable but often also HW-controllable. They are mostly used during thermal events on the CPU (overheat etc.). P-States change voltage and frequency parameters, but T-States "stops" the CPU for brief moments. The uses and when to go to a certain state is based on (user or powerdevice controlled) power profiles, latency and device interaction etc.

TOP

楼上的很清晰
像风一样的自由!

TOP

P-States are OS controllable, (based as well on peformance profile). While C-States only change when ...
edkii 发表于 2010-9-2 18:47



    顶这位的。。。两种state的设计的出发点完全不同
    我的理解是P-State用于电源管理的,主要是由OS在idle的时候可以通过降低工作电压导致processor降频,可以省电
    T-State主要由cpu的thermal sensor在过热时触发用于保护CPU的,具体做法是做duty cycle,另外触发信号还可以被拉出来用于fan speed control

TOP

回复 1# yuhensong


    [img][/img]
这个图三者之间的关系一目了然,来自ACPI spec 。
附件: 您需要登录才可以下载或查看附件。没有帐号?注册

TOP

学习了
活到老,學到老

TOP

讲得很好,学习了!

TOP

P-States are OS controllable, (based as well on peformance profile). While C-States only change when ...
edkii 发表于 2010-9-2 18:47



请问,这段文字来自那里???
讲的非常清晰明了,想看看这份文档。。。。

TOP

来自Intel一个engineer的blog,忘记地址了。
可以google or biying一下。

TOP

顶一下!!!!!!!

TOP

謝謝分享,講得很詳細.

TOP

估计那段全英文是intel的受控文档中的某一段:(还是不要想全文了吧。期待验证。谢谢!

TOP

此贴要加精啊,回答的都很精辟.
最少的服务+最小的权限=最大的安全

TOP

我建议你研究一下coreboot代码,里面有C State和P State实现的代码,比看其他BIOS Vendor的代码要简单得多。

TOP

T-States (Processor Throttling States)
T-states refer to throttling the processor clock to lower frequencies in order to reduce thermal effects. This means that the CPU is forced to be idle a fixed percentage of its cycles per second. Throttling states range from T1 (the CPU has no forced idle cycles) to Tn, with the percentage of idle cycles increasing the greater n is.

Note that throttling does not reduce voltage and since the CPU is forced to idle part of the time, processes will take longer to finish and will consume more power instead of saving any power.

T-states are only useful if reducing thermal effects is the primary goal. Since T-states can interfere with C-states (preventing the CPU from reaching higher C-states), they can even increase power consumption in a modern CPU capable of C-states.

TOP

回复 4# jonsontauoyuan


多谢,回答得言简意赅!

TOP

返回列表