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

In then the past few years we have seen multiprocessing systems become more mainstream, in fact most modern personal computer CPUs now feature symmetric multiprocessing systems (SMP), where multiple instantiations of the same processor share the processing burden of the applications running on the PC.

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.


Next:




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



Please sign in to post comment

Navigate to related information

Datasheets.com Parts Search

185 million searchable parts
(please enter a part number or hit search to begin)

Feedback Form