找回密码
 加入计匠网
搜索
热搜: BIOS ACPI CPU Windows
查看: 7034|回复: 3

请教我这样把系统放到C4为何不行?

[复制链接]
发表于 2008-10-17 17:49:46 | 显示全部楼层 |阅读模式
因为系统要在某个特定的情况下需要特别省电,然后回来要特别快所以没有办法用S3,我现在想了个办法是, 要进到这个特殊的用户使用模式的时候触发SMI,在SMI handler 里面通过一个while(1)循环把cpu放到C4。 为了从这个特定的模式返回所以在这个循环中会在每次从C4因为interrupt而返回的时候检查 ICH 的某个GPIO,如果电平没有变化那么就继续把CPU放到C4,否则的话就从 SMI handler 返回。 而这个GPIO从L到H也是用户按键,通过EC firmware 来做的。( y. X5 L1 E1 @3 t( ?2 s
% r2 ^1 j( U( N2 U( Q2 [5 _
现在的问题是: 持续的把CPU 放到C4 我从数字电源上看到的功耗并没有丝毫的下降。。。/ i9 a( A5 X* e5 p

) d2 i3 e3 c3 H, T7 r& d不解是为何? 按照c4的说法至少CPU这边的能耗是会下来一些的呀。, w0 o4 o$ N( @+ O7 ~

* }3 n& \8 Z/ y9 g$ e3 R. v) ~. e另外想求教论坛的前辈,有没有其他的办法事先我所需要的这个功能就是在某种情况下shutdown CPU/Chipset,让系统的功耗降得尽可能的低,同事要保证系统恢复到原始状态的延迟小于10ms。
发表于 2008-10-17 18:48:25 | 显示全部楼层
为什么不用S1?
回复

使用道具 举报

发表于 2008-10-18 00:46:06 | 显示全部楼层
我倒想听听你所谓SMI中的while(1)是如何进入C4的。哈哈,狂抓9 w+ g! P7 U$ b9 y" E) W5 _' }: ~, \3 s
典型的是让马儿跑,又不让马儿吃草。
% R" R2 f3 O) ^! Y, ]8 f3 D% @) L4 B$ B2 _$ B) \
同意xtdumpling同学的,用S1,对速度没太大的要求,就用S3。
回复

使用道具 举报

 楼主| 发表于 2008-10-22 09:29:52 | 显示全部楼层
>>> 我倒想听听你所谓SMI中的while(1)是如何进入C4的。哈哈,狂抓
. s" }% `) J1 @& ^, G1 ?; g/ T
0 H7 q4 \8 D2 {6 k$ E. G# n& dSMI_Handler() {
$ Z6 d- {2 d7 q4 K* H while( 1 ) {
, B' D% f0 X# A0 K; f1 U: Q4 U    read_ACPI_LVL4();  //  <---- CPU into C4.
& Y4 x" j% V7 K6 M6 W& `! J2 S8 z                       //  Interrupts or breakup events take CPU out of C4;
8 P& L& h. d9 s# i) a    if( GPIO_is_High() )
4 a  A6 o/ A9 N2 L       break;  B) C$ R$ d1 L1 Y: H) V( {7 t
}
, d4 ?. `" R% I" W1 V}
; P! p: ~# z+ |* ~有什么不对吗? ) z1 U# E8 L; Y* n$ z$ ^  ?

3 X; \- Q( O5 V% w  U现在的问题是,用示波器观察STP_CLK/STP_CPU 等pin都没有发现assert,另外进到C4 按道理cpu应该会发VID 给VR 的结果也没有看到,不知为何。 是因为在SMI 里面写LVL3/4 register 不会让CPU 进入到C4吗?' Y& \0 ?* Y$ L# {
- B. Q) \+ N; L. B. F% ~" i
另外请教,让系统进入到S1然后返回的延时大概是什么样子? 可否达到要求?* p8 Q  L- h: C3 }' z$ I
还请大侠多指点几句。。。 不要抓狂。。
% O/ ]9 U0 V/ m2 `( ]7 c7 ^! g0 p/ ], g9 L/ _) E# i4 }4 q0 D5 ~- N1 _
[ 本帖最后由 1点0 于 2008-10-22 09:36 编辑 ]
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入计匠网

本版积分规则

Archiver|手机版|小黑屋|计匠网

GMT+8, 2026-6-4 19:19 , Processed in 0.047140 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表