Originally Posted by csm725
I don't know what was up previously, but I have the C states disabled and am getting around 10 points more in AS SSD than with them enabled, lol.
There is no reason in my understanding why C states would improve performance, unless its doing offline maintenance during C3/C6. From my understanding of the implementation, The C states are causing the port to slow down sort of like ASPM does(part of the protocol for SATA is autonegotiation of link speed) for the pci-e links(im noticing a lot of people are leaving ASPM turned on in there desktop. Telltale is motherboard tab on cpuz shows 8x or less link speed on the graphics card) which the fluctuations between idle/load on the bus will likely add noticeable graphics latency. It makes perfect sense to use ASPM on a laptop as keeping those pci-e lanes fired up all the time costs about 15 watts
Another setting that confuses me is a lot of people seem to be disabling NX/VT even tho windows 7 implements VT in software for its os functions if it doesnt have hardware (the security prompt is windows 7 when you start up certain programs is the program exiting the VM) It also implements a software version of NX using canaries if you dont have NX bit, so your in both cases from my understanding of implementation hurting performance.
here is a quote on what C6 does:
Warning: Spoiler! (Click to show)
When the CPU enters this state it saves its entire architectural state inside a special static RAM, which is fed from an independent power source. This allows the CPU internal voltage to be lowered to any value, including 0 V, what would completely turn off the CPU when it is idle. Then when the CPU is waked up it loads the previous state of all internal units from its special static RAM. Of course waking up the CPU from this state takes a lot longer than the previous states we discussed, but it is faster than turning off the computer and then turning it back on and loading the operating system, etc.
Notice that there is only one voltage line for the entire CPU (the only component with a different voltage source is the abovementioned special memory) and lowering or turning off the CPU voltage is an all-or-nothing kind of deal: if you turn off the CPU, you have to turn off it entirely when it goes into C6 mode.
The forthcoming Core i7 CPU (codename Nehalem) will have an embedded power control unit that allows the voltage for individual parts of the CPU to be reduced or turned off. For example, if only one processing core of the CPU is idle, it will be able to turn off just one of the cores, putting it on C6 mode.
Warning: Spoiler! (Click to show)
The next state, Sleep (C3), cuts all internal clock signals from the CPU, including the clocks from the bus interface unit and from the APIC. This means that when the CPU is in the Sleep mode it can’t answer to important requests coming from the CPU external bus nor interruptions.
Intel CPUs and Turion 64 from AMD allow a C3 sub-mode called Deep Sleep, where the CPU external clock is also stopped, thus saving more power.
The way the CPU enters C3 state depends on the manufacturer. Intel CPUs add an extra pin, called SLP (or DPSLP, depending on the CPU model), which must be activated when the CPU is in C2 state in order to switch the CPU into C3 state. So first STPCLK pin must be activated and then one should activate the SLP pin. Entering the Deep Sleep state is achieved by simply cutting the external clock signal.
These transitions are the reason why you see stability gain out of turning them off, as they are playing with the clock and power input to the cpu.
C1E and Speedstep are both bundled together as they do nearly the same thing(couple posts back C1E seems to take over Speedstep duties if speedstep is shut down) you can kind of think of speedstep as C1E 2.0 as its essentially doing the same exact things to the cpu. C1E has idle and full load, speedstep has everything in between too. Windows doesnt implement speedstep properly however with out third party tools to help it along. Linux and i think OSX does and will step up the cpu speed until its 'fast enough'Edited by ryuji - 2/5/12 at 2:34pm