FormerlyKnownAs, on Sep 5 2009, 11:11 PM, said:
Let's be fair shall we? Let's read page 292 of the specification, which clearly states:
Each performance state entry contains six data fields as follows:
CoreFreq. Indicates the core CPU operating frequency (in MHz).
Power. Indicates the performance state��‚��„�s maximum power dissipation (in milliWatts).
TransitionLatency. Indicates the worst-case latency in microseconds that the CPU is unavailable
during a transition from any performance state to this performance state.
BusMasterLatency. Indicates the worst-case latency in microseconds that Bus Masters are prevented
from accessing memory during a transition from any performance state to this performance state.
Control. Indicates the value to be written to the Performance Control Register (PERF_CTRL) in order
to initiate a transition to the performance state.
Status. Indicates the value that OSPM will compare to a value read from the Performance Status
Register (PERF_STATUS) to ensure that the transition to the performance state was successful. OSPM may always place the CPU in the lowest power state, but additional states are only available when indicated by the _PPC method.
And thus there is no multiplier anywhere in the _PSS. Let's tackle your next blurb:
FormerlyKnownAs, on Sep 5 2009, 11:11 PM, said:
UCpu = 800 mV + vid*12.5 mV
ergo vid = [vCore -800mV]/12.5mV
Name (_PSS, Package() {
Package(){650, 21500, 500, 300, 0x00, 0x08}, // Performance State zero (P0)
Package(){600, 14900, 500, 300, 0x01, 0x05}, // Performance State one (P1)
Package(){500, 8200, 500, 300, 0x02, 0x06} // Performance State two (P2)
}) // End of _PSS object
Take a look at the Performance States! Note the 8, 5 and 6 here. Why is it that the P-States Calculator gives me other values? How do I know which one is right, if I can't check it myself? p.s. Try not to attack people who are only trying to help you!



Sign In
Create Account









