My Photo

Recent Comments

« Creating Efficient Architectures | Main | The Energy Content of Software – Part II »

August 26, 2008

The Energy Content of Software – Part I

Bookmark and Share

I’m frequently asked what is being done to improve the efficiency of semiconductor devices.  Digital core companies such as Altera and Xilinx as well as processor companies like Intel, AMD, Freescale and many others have been working to reduce both static and dynamic power in their products especially as geometries move beyond 40 nanometers.  Most modern analog processes have much larger feature sizes and do not suffer from the static power losses.  In fact, there is a renaissance of analog functionality which is being implemented in today’s designs.  Primarily this is being driven by the move to retreat from the digital domain. 

During the birth of the DSP age digital processing was the Holy Grail of the electronics industry and supplier’s products wouldn’t move off the shelf unless they had a "Powered by a DSP" sticker on them. The mantra was to convert analog signals into the digital domain as soon as possible so that algorithms running on digital signal processors could process what was once done with operational amplifiers.  This was a love affair with the ease of use and relatively short design cycles associated with coding the solution. This science also provided abilities completely unrealizable in the analog domain - thus the romance with digital signal processing and the shift of curriculums away from analog design across the world’s universities.

It is now recognized that DSP cycles along with high performance analog-to-digital and digital-to-analog converters all consume large amounts of power.  In many applications analog solutions were overlooked since many engineers were trained to solve the problems digitally.  A case in point is a technology familiar to many people - active noise cancellation.  Early attempts at removing ambient noise from either headphones or microphones employed DSPs with CODECs (Coder / Decoder) along with high performance digital filters and noise cancellation algorithms running on the processor.  This approach is fine for equipment plugged into power lines, but what happens when you want to use this technology in a set of headphones or a cellular phone running on a tiny lithium Ion battery? 

Run time is king when using portable devices - especially consumer equipment such as cellular phones.  Many phone developers assume that the cost of the DSP in the phone is already amortized, so they look to continue to bloat the code by adding this function into the already taxed DSP.  Processing cycles are not free even if the hardware is... and this problem shows up in poor run time or a lack of performance.  Moving some of the functionality back to the analog domain can save a large amount of the power budget.  This is not only due to the function being moved out of the DSP’s software to a lower power analog solution, but by reducing the cycles executed by the processor. 

An example of this is the National LMV1088 Far Field Noise Suppression device.  This IC uses two microphones to listen to the near field audio signal or speech and cancel out the far field noise.  The noise suppression function is completely done in the analog domain greatly saving energy.  This technique is also referred to as A-to-I for Analog-to-Information.  It means that the analog signals are directly converted into something useful - in this case, improved speech recognition in high noise environments.

Next week in Part II of this post I’ll discuss the fundamentals of coding software and the effects it has on the power consumption of our computers and infrastructure.  Till next time...


TrackBack URL for this entry:

Listed below are links to weblogs that reference The Energy Content of Software – Part I:


Feed You can follow this conversation by subscribing to the comment feed for this post.

The comments to this entry are closed.