Wasting Transistors To Conserve Power

What do you think is one of the problems we will not solve for good before 2020? It is power consumption (yes, I have said this a number of times already...). Thirty years ago when I was starting my lifetime adventure with computers, nobody cared about power consumption. The problem number one was speed. And today? Theoretically we can have almost as much speed as we want, provided we have enough power to supply to a computer and are able to dissipate the heat it converts to. Things are not that bad as long as our machines are plugged to a power plant. But get orders of magnitude more complicated once we want to cut the power cords and be mobile.

Today all mobile devices have one problem in common. Battery life. From mobile phones to portable game consoles, to music players and portable computers, their batteries last too short. And even if they in some rare occasions last long enough, it is because we limit the battery life cutting down on speed or because we install excessively big batteries. Do you realize batteries occupy about 70% of the iPad?

Developments of system architectures today is primarily driven by the power consumption issue. Not many here realize how far the edge is being pushed. Power is the number one scarcity in the 2010 - 2020 decade of mobile computing. To conserve it we will waste a lot of things we have in abundance. Primarily transistors. Actually it happens a device that consists of more transistors draws less power. It seems strange at first, but the idea behind today's hardware designs is to turn off entire functional blocks of hardware, when they are not used.

Consider a mobile phone. Big screen. Fast graphics. Broadband mobile Internet. But that all is never needed when the phone sits in a pocket. So the processor, the screen and the modem should be turned off. This is just an illustration. The reality spins much faster. You browse a Web. The page downloads and renders lightning fast. But even the download process is a long series of requests, and the accelerated graphics engine is not needed at this very moment. Then the page renders. The modem circuitry should shut down immediately. Then you take your time to read the page. Theoretically the processor should be shut down completely, as nothing happens. But it has to be awake to check the inputs from the external sensors. The accelerometer (you may be turning the phone horizontal). Or the ambient light sensor (the lighting conditions change independently and have to be addressed by changing the screen backlight, color temperature mapping or contrast saturation curve). Today to be able to shut down the main CPU and still be able to service such external interrupts, we take the path called offload engines. This concept is also referred to as conservation cores (C-Cores).

Offload engines are various specialized coprocessors (yes, we put more silicon and more transistors, essentially wasting them), that allow us to shut down the main processor more often (reducing the power consumption) and still be able to respond to and service the external interrupts. The concept goes even further. The offload engines can process certain software algorithms in a more energy efficient way. Things like adapting screen colors and contrast saturation to external lighting conditions. Or even more. Like processing typical algorithmic blocks like JPEG rendering or GZIP decompression.

Thirty years ago, when IBM introduced the first 8088 - based PC computer, it had a math coprocessor socket for the 8087. The 8087 had a lot of transistors and they were expensive. To cut down the price the basic systems were sold without the 8087 math chip. Instead the 8088 was emulating the math library in software. Today, as the cost of a single transistor is zero, we will waste more and more of them to conserve what is scarce today - the consumption of power.

The issue is being addressed very proactively today by the leading platform vendors. Last week a group of friends of mine pointed me to the Mobile Development Platform (MDP) introduced by Qualcomm at the Uplinq developers conference. The platform is built to expose all the features of the Qualcomm mobile chipset, but at the same time it is focused on monitoring power consumption by various subsystems in various scenarios. It is for the first time when broad community of software engineers will have the tools to actually see how their code influences power draw.

Quicklogic, the company I mentioned here a number of times, is designed into the Qualcomm platform. With Quicklogic's strategic focus on solutions that optimize power, the company becomes a key supplier of CPU offload engines to mobile hardware vendors. Their current offering includes VEE/DPO and Frame Recycler display coprocessors, WAV (Wake And Verify) coprocessors for servicing external interrupts, and SPIDA coprocessors servicing flash storage. They are central to the current "waste transistors to conserve power consumption" paradigm. The paradigm, to be in force for the entire decade.

Comments