Multicore processing is old hat among the desktop computing crowd, withall of the major computer vendors offering multicore consumer desktopsystems. More recently multicore processing has been making waves inembedded computing. Many of the well known embedded software toolsproviders have been touting solutions designed to simplify multicoresoftware development.
On the hardware front Venture Development Corporation predicts thatmulticore AdvancedTCA blades will increasemarket share from 1 percent in 2005 to somewhere around 15 percent in2007. Clearly the embedded world is catching on to the multicorerevolution.
What's motivating the growth inmulti-core?
The embedded marketplace is not immune to the demands of increasedcomputing power. In the telecommunications market triple and quadrupleplay networks are stressing existing architectures, while advances insignal and image processing are driving performance demands in themilitary and medical markets.
In addition to the increase in absolute computational power, morestress is being put at the edge of networks, driving reduced powerconsumption and performance density. Traditional single core and eventraditional discrete multiprocessor approaches simply cannot scale inthe face of all of these demands.
With new integrated multicore solutions, board designers can achievedensities that were not possible with discrete multiprocessorsolutions. In the AdvancedMC and MicroTCA market, discretemultiprocessor architectures are likely physically impossible toimplement on a single-width card.
The AdvancedMC standard specifies a board size of approximately 180mm x 74 mm, however only about 55 percent to 65 percent of that spaceis available for processing and memory system layout (Figure 1 below ) after considerationsfor front panel I/O and AdvancedMC power supply requirements.
|Figure1: Typical AMC Layout Constraints|
With a discrete multiprocessor system two processing cores and abridge chip would consume roughly twice as much space as an integratedSystem-on-Chip (SoC) multicore processor. The table in Figure 2 below gives a roughcomparison of the space requirements for similar processingconfigurations using dual MPC7448s and a single MPC8641D. In additionthe discrete multiprocessor system would introduce additional layoutdifficulties that would cause this solution to use more space.
|Figure2: Dual Core Layout Comparison|
While discrete multiprocessor systems have been and continue to besuccessful in AdvancedTCA and CompactPCI blade designs, the multicoreSoCs such as the MPC8641D from Freescale offer much higher performancedensities and make multicore mezzanine cards a reality.
In addition to the high performance densities that can be achievedusing a multicore SoC in an AdvancedMC form factor, the end user gainssystem flexibility and cost savings that are otherwise unachievable.
At the most basic level a multicore processor can operate in Asymmetric Multiprocessing (AMP) modeor Symmetric Multiprocessing (SMP)mode. In AMP mode both cores will be running independent copies of anoperating system (or the same operating system) and certain systemresources are either partitioned ahead of time, or a method for sharingmust be designed.
A multicore board that can operate in AMP mode offers the systemdesigner several different configurations for balancing systemperformance. Figure 3 below showssome possible system configurations for an AMP multicore card.
|Figure3: AMP Configurations|
In SMP mode a single instance of an SMP-capable operating system isrunning across both cores. Resource sharing and load balancing aredynamically handled by the operating system. The SMP configuration willachieve the highest utilization of both processors because it canrespond dynamically to load in the system.
However, the system designer must decide if dynamic load balancingis acceptable and whether or not the system software is architected totake advantage of an SMP configuration. A multicore board operating inSMP mode will typically be used in higher-end systems that require veryhigh performance control systems. If there is enough computingoverhead, however, it can be used to help future proof an applicationand remove an extra control card from the system.
A carefully designed multicore AdvancedMC card can be configured tooperate in several different configurations depending on performance,reliability, and cost requirements. For example, the EP8641A includes independentbanks of DDRII RAM connected to the MPC8641D's dual memory controllers.
Configured in this manner the processors' cores can easily beconfigured to operate in either AMP or SMP mode with simple softwarechanges. When evaluating a multi-processor card it is important toconsider how the I/O resources such as memory controllers, interruptcontrollers, and bus interconnects are shared among the cores and howthe computing resources can be most efficiently and effectivelydeployed.
Quickly gobbling the power budget
While the SoC multicore processors in popular use today offer asignificant MIPS/Wt advantage, in a small footprint such as anAdvancedMC card power consumption cannot be ignored. While the 60 Wmaximum power for an AdvancedMC card is a significant improvement overthe less than 8 W maximum power for PMC cards, a multicore card canquickly reach the 60 W limit and challenge cooling demands.
Many of the multicore processors can take up half the power budgetwhen operating near the high end of its frequency spectrum. Combiningthe power requirements of the processor with high bandwidth memoryinterfaces and high speed interconnects such as Serial RapidIO, PCIExpress, and Gigabit Ethernet quickly eat into the total power budget.
In these cases the system designer needs to be aware of the end userrequirements and likely usage scenarios to determine realistic powerbudgets. Items that can typically be analyzed to optimize power budgetson an AMC card include I/O such as serial and USB ports, Ethernet,RapidIO, and PCIExpress, RAM size and speed, and CPU operatingfrequency.
For example, on an AdvancedMC card it is unlikely that all of thefront panel I/O will be in use at the same time that the fabricinterface and the processor are operating under peak demand, thereforethe power requirements for these items can be derated or consideredseparately.
Additionally, many of the SoC multicore processors are offered innumerous supply voltage and operating frequency configurations whichcan be used to adjust the total power budget. The increased flexibilityof system design offered by the latest multicore processors often meansthat application demands can be met by the lower power devices.
The power and performance advantages of multicore computing havealready substantially revolutionized the desktop computing world andthe revolution is rapidly expanding into embedded computing. The SoCmulticore processors offer the system designer tremendous computingpower and system design flexibility that was previously unavailable.
In power and space confined applications such as AdvancedMCs theincreased power and design flexibility requires the system designer tocarefully consider the end applications in order to completely realizethe performance and flexibility improvements.
Tim Van De Walle is currently the marketing manager at