Design Article
PRODUCT HOW-TO: Increase embedded processor efficiency through the use of distributed CPU blocks
Loren Hobbs
11/23/2009 11:13 PM EST
While SMPs are quite common today, we typically have not seen a shift towards multiprocessing in embedded computing. However, a new type of embedded design technique gives engineers the freedom to intelligently distribute processing functions across a digital subsystem.
This article will look at an example of the distributed processing technique using Cypress Semiconductor's PSoC 3 and PSoC 5 architectures, which consist of a main CPU (in this case an 8051 or ARM Cortex M3), a DMA engine, and array of Universal Digital Blocks (UDB).
The UDBs effectively serve as an array of mini-processors. By distributing processing functions across such a subsystem the engineer can increase the efficiency of the overall system by offloading less computationally complex processing functions.
There are multiple benefits to breaking up processing functions across multiple functional blocks, the largest of which is a reduction in active power consumption. By lowering the burden on the CPU of processing MIPS hungry - but computationally simple functions such servicing interrupts - it is possible to run the application at a lower frequency since the CPU does not have does not have to burn instruction cycles on the less complex functions in addition to all of the functions in the application.
This reduces the power consumption of the overall applications in two ways. The first benefit is obvious -by reducing the CPU clock you see a linear decrease in active power consumption as the clock speed is reduced.
The second benefit, while perhaps more subtle, it is equally as important:the CPU has roughly 10X more logic gates than the UDB, by offloading processing functions to the mini-processors from the main CPU the number of logic gates that will be toggle to complete a processing function the active power consumption is further significantly improved.
In addition to significantly reducing active power consumption in an lication, another benefit of distributed processing isthat the CPU is freed from the burden of the more mundane processing. It can then focus its MIPS on functions that better take advantage of the features of the CPU, such as more computationally intensive functions like multiply and divide instructions.
To understand how it is possible to break up the processing functions across the architecture, we will take a look at a common embedded application as an example: Brushless DC Motor control. But first let's take a look under the hood and examine the PSoC 3 and PSoC 5 digital subsystem to understand its capabilities.




Who Knew
11/27/2009 11:00 AM EST
Great article, content wise. I'm a fan of PSoCs, and I can't wait for my next PSoC 3 or 5 project. It's a shame the author didn't take an extra 5 minutes to proof read/have it proofed by a colleague. It's full of what appears to be incomplete re-edits.
Sign in to Reply
lgadwah
12/8/2009 1:29 PM EST
See Cypress Application Note AN53595 for more information.
Sign in to Reply
HMIBagle
3/18/2010 5:12 PM EDT
PSoC 1/3/5 enables revolutionary breakouts in embedded design by integrating the flexible digital and analog "peripherals", well, they are not peripherals anymore, they are systems. For example, in each universal digital blocks, the ALU inside itself is an processor. Anyhow, PSoC brought multiple true systems on a single chip.
Sign in to Reply