CMP EMBEDDED.COM

Login | Register     Welcome Guest  
HOME DESIGN PRODUCTS COLUMNS E-LEARNING CONFERENCES CODE FORUMS/BLOGS NEWSLETTERS CONTACT FEATURES RSS RSS

Implementing Multicore designs using AdvancedMC



Embedded.com
Multicore processing is old hat among the desktop computing crowd, with all of the major computer vendors offering multicore consumer desktop systems. More recently multicore processing has been making waves in embedded computing. Many of the well known embedded software tools providers have been touting solutions designed to simplify multicore software development.

On the hardware front Venture Development Corporation predicts that multicore AdvancedTCA blades will increase market share from 1 percent in 2005 to somewhere around 15 percent in 2007. Clearly the embedded world is catching on to the multicore revolution.

What's motivating the growth in multi-core?
The embedded marketplace is not immune to the demands of increased computing power. In the telecommunications market triple and quadruple play networks are stressing existing architectures, while advances in signal and image processing are driving performance demands in the military and medical markets.

In addition to the increase in absolute computational power, more stress is being put at the edge of networks, driving reduced power consumption and performance density. Traditional single core and even traditional discrete multiprocessor approaches simply cannot scale in the face of all of these demands.

Performance density
With new integrated multicore solutions, board designers can achieve densities that were not possible with discrete multiprocessor solutions. In the AdvancedMC and MicroTCA market, discrete multiprocessor architectures are likely physically impossible to implement on a single-width card.

The AdvancedMC standard specifies a board size of approximately 180 mm x 74 mm, however only about 55 percent to 65 percent of that space is available for processing and memory system layout (Figure 1 below) after considerations for front panel I/O and AdvancedMC power supply requirements.

Figure 1: Typical AMC Layout Constraints

With a discrete multiprocessor system two processing cores and a bridge chip would consume roughly twice as much space as an integrated System-on-Chip (SoC) multicore processor. The table in Figure 2 below gives a rough comparison of the space requirements for similar processing configurations using dual MPC7448s and a single MPC8641D. In addition the discrete multiprocessor system would introduce additional layout difficulties that would cause this solution to use more space.

Figure 2: Dual Core Layout Comparison

While discrete multiprocessor systems have been and continue to be successful in AdvancedTCA and CompactPCI blade designs, the multicore SoCs such as the MPC8641D from Freescale offer much higher performance densities and make multicore mezzanine cards a reality.

Configurability
In addition to the high performance densities that can be achieved using a multicore SoC in an AdvancedMC form factor, the end user gains system flexibility and cost savings that are otherwise unachievable.

At the most basic level a multicore processor can operate in Asymmetric Multiprocessing (AMP) mode or Symmetric Multiprocessing (SMP) mode. In AMP mode both cores will be running independent copies of an operating system (or the same operating system) and certain system resources are either partitioned ahead of time, or a method for sharing must be designed.

A multicore board that can operate in AMP mode offers the system designer several different configurations for balancing system performance. Figure 3 below shows some possible system configurations for an AMP multicore card.

Figure 3: AMP Configurations

In SMP mode a single instance of an SMP-capable operating system is running across both cores. Resource sharing and load balancing are dynamically handled by the operating system. The SMP configuration will achieve the highest utilization of both processors because it can respond dynamically to load in the system.

However, the system designer must decide if dynamic load balancing is acceptable and whether or not the system software is architected to take advantage of an SMP configuration. A multicore board operating in SMP mode will typically be used in higher-end systems that require very high performance control systems. If there is enough computing overhead, however, it can be used to help future proof an application and remove an extra control card from the system.

A carefully designed multicore AdvancedMC card can be configured to operate in several different configurations depending on performance, reliability, and cost requirements. For example, the EP8641A includes independent banks of DDRII RAM connected to the MPC8641D's dual memory controllers.

Configured in this manner the processors' cores can easily be configured to operate in either AMP or SMP mode with simple software changes. When evaluating a multi-processor card it is important to consider how the I/O resources such as memory controllers, interrupt controllers, and bus interconnects are shared among the cores and how the computing resources can be most efficiently and effectively deployed.

1 | 2

Rate this article: Low High
Current rating
  • .
Embedded.com Career Center
Ready for a change?
SEARCH JOBS

Browse all jobs

SPONSOR
RECENT JOB POSTINGS





 :