[Galaxy S II Android Development] dorimanx:
This is long INFO post from real chip designer that help to create CPU/GPU and other chips for the living for 14 years now, so respect :)

He sent me PM, for now he cant post that by him self.

Vikas is monitoring our thread and want to say his professional stand about UV/OV and why it's works for some and why not for others.

==================

I am calling Vikas(vikas.mishra) to the speech stand :)

Hello people.

Let me introduce myself - my name is Vikas Mishra and I am a chip designer by profession. .

I have worked on critical parts of design of TI OMAP4, OMAP5, Nvidia Tegra 3 etc and have been doing this for the last 14 years.

Of late - I have seen a lot of folks posting BUGS about undervolting of the GPU/CPU.

I think I can explain what are the possible issues with undervolting/overclocking in a laymans language.

It is a little long winded but I think the length is needed for providing the appropriate context.

* What is inside your Cellphone

Your cellphone is an amazing device. It is a full fledged computer

that fits into your pocket. They have all the standard components

that a computer has - except that they are all usually soldered on

the motherboard directly and are not meant to be user-servicable.

The chief components inside your cellphone are

1. Application Processor (AP)- this is the heart of a modern

cellphone. These are manufactured by many companies - the main

ones are Qualcomm, Nvidia, Samsung and Apple. The other not so

well known ones are made by Texas Instruments, ST Ericsson,

Marvell and Broadcom.

A modern AP has logic to control the camera and process the image

that it generates, to do video encoding (video recording) and

video decoding (movie watching), Audio processor etc. in addition

to the well known CPU and GPU.

2. Power Management Controller - This is the chip that is

responsible for generating and regulating the voltages that are

used by all the components on the board.

3. DRAM - not very different from the DRAM found on a PC (except

that it is lower voltage)

4. Flash - for storage

5. Touchscreen controller

6. Logic for microphone, speaker

7. Battery

One of the most complex piece of circuitry on the phone is the AP

and the power management controller.

* Circuit Basics

A modern AP has millions of circuit units called (Flip

Flops). These flip flops have two parameters associated with them

called Setup time and Hold time. More details on what a flip flop

can be found on the wikipedia at

http://en.wikipedia.org/wiki/Flip-flop_(electronics) . This is a

nice bit of bedside reading if you are interested. :)

A setup time roughly indicates what frequency you can run a design

or an AP at before it becomes unstable.

A hold time roughly indicates the maximum voltage till which a

design is stable.

A fully technical analysis of what is involved in these timing

parameters requires a degree in electrical engineering but in broad

terms the problem is described below.

Chip designers diligently ensure that all of the millions of the

flip flops in a chip meet the setup and hold time across a broad

range of voltages and silicon parameters. They do a pessimistic

analysis to ensure that a chip will run reliably across a wide

range of voltage/frequency combinations.

However, contrary to the popular belief, chips vary widely in their

silicon parameters. Even chips on a the same wafer and different

flip-flops within the same chip can have widely different silicon

parameters. This is why what works on one particular chip will not

work on the other chip.

Your silicon manufacturer provides a range of voltages and

frequencies across which the device can work reliably. The phone

manufacturer will further narrow down the range depending on the

other components they choose within the phone board.

* How does voltage affect the design

Reducing voltage makes the design slower and increasing voltage

makes the design faster.

So can I keep on increasing the voltage for ever and make the

circuit faster and faster. The answer is no - a point will come when

the circuit will become unreliable. This becomes unreliable because

the "hold time" of one or more of the flops will start

violating.

As you reduce the voltage of the design, the circuit will start

becoming slower. However typically it will continue to work till at

apoint it starts failing - this failure occurs due to violation of

"setup time" of one or more flops in the design.

So what happens when the setup time or the hold time of a design

fails - the answer is that it is unpredictable. Meaning suddenly if

you ask the processor what is the value of 2+2, the answer it will

provide could be unreliable - in some cases it could be 3, in some

cases it could be 4 in some cases it could be -2349783297 (a random number).

I am of course oversimplifying but I hope you get the picture.

* How does undervolting affect your phone processor

The reason undervolting is so appealing to people because they

thing that undervolting will save power and improve battery

life. While this is true in theory, in practice there is a caveat.

It will reduce the power of the chip, but the power consumed by the

phone as a whole will not improve. In some cases in fact it can

deteriorate. Let me explain.

The most power hungry part in the phone is not the AP - it is the

LCD screen. All of these screens consume a ton of power. So even

though your AP is now consuming lesser power, the overall impact to

the phone as a whole is not that much.

If you accompany undervolting with a frequency reduction (which you

should), the total time taken for doing a web page rendering (for

example) would increase. During this time the screen is on and it

has more than compensated for the power that you saved in the

AP.

You could of course come up with examples where this wouldn't

happen - but on a whole, IMHO, you should leave the voltage of the

AP/GPU/CPU to the guys who know the system best - the guys who

designed the chip and people who manufactured it.

* How does overvolting/overclocking affect your phone processor

If you want that last drop of performance from your phone and you

over clock it, at a point some of the design flops will start

violating the hold time and the design will stop working reliably.

Again, in some anecdotal cases this would work - but this is not a

reliable means/mode of working. Just because your friend's or your

first cousin's girlfriend's phone works - doesn't mean yours will

work as well.

* What are the user observable impacts of undervolting/overclocking?

It is hard to say - simply because there are so many of flops in

the design.

In some cases - you wouldn't see anything wrong with the phone

until one day you do. In some cases it will result in a SOD

immediately. In some cases it will result in your phone not waking

up reliably.

IMHO the risks of issues with undervolting/overclocking far

outweighthe potential gains you may get out of it. Usually there

is no lasting damage to the phone/AP if you overlock/undervolt but

it is possible to do it. For example, You run the phone at such a

high frequency that the chip temperature becomes more than what it

was designed for and the Silicon just fails.

So "Just say No" :). Don't overclock or undervolt your phone -

leave it to the guys who really understand what they are doing.

Thanks,

Vikas