The Semantics Of Multiprocessing

Dec. 13, 2007
The terminology involved in multicore design can get pretty confusing. It involves designers coming from different backgrounds and target markets—software versus hardware, embedded versus general-purpose, and so on. That being said, the following is an

The terminology involved in multicore design can get pretty confusing. It involves designers coming from different backgrounds and target markets—software versus hardware, embedded versus general-purpose, and so on. That being said, the following is an attempt to clear the air by providing some basic definitions.

Heterogenous: These systems include at least two different components. Viewed from a hardware architecture perspective, this lately has meant different processor cores. It could refer to the physical size of the core, the number of threads it can run, the pipeline configuration, and other differences. The Cell microprocessor from IBM, Sony, and Toshiba is a good example of a heterogeneous architecture. From a software perspective, heterogeneous generally refers to running different operating systems on each processor.

Homogeneous: These systems comprise identical components. From a hardware perspective, for the most part, all memories, caches, and the architecture in general is the same across processors. A motherboard with two CPU sockets, each containing the same model CPU, would be an example of a homogeneous system. From a software perspective, homogeneous refers to running the same operating system for each processor in the system or chip.

Symmetric multiprocessing: From a hardware perspective, this is essentially an expansion of the homogeneous definition, whereby the processing elements are expected to share resources, such as main memory and peripheral devices. A personal computer loaded with a multicore chip is an example of a symmetric multiprocessing system. From a software perspective, symmetric multiprocessing could take on the same meaning as homogeneous.

Asymmetric multiprocessing: From a hardware perspective, it’s essentially an expansion of the heterogeneous definition, whereby the processing elements could be separate, such as a DSP and an MCU, or it could be a self-contained asymmetric multicore chip (or both). Sharing memory with asymmetric systems is optional, though sharing peripherals is still common. A mobile multimedia device with a general-purpose MCU that handles the user interface and a DSP that handles signal processing (such as a phone signal) would be an example of an asymmetric multiprocessing system. From a software perspective, asymmetric multiprocessing could take on the same meaning as heterogeneous.

Networked/clustered multiprocessing: Networked multiprocessing is an asymmetric implementation mostly found in embedded architectures. Here, the system typically has a network connection, shared bus, or shared mailbox for communication between processing elements. Otherwise, the main memory isn’t shared.

Sponsored Recommendations

Highly Integrated 20A Digital Power Module for High Current Applications

March 20, 2024
Renesas latest power module delivers the highest efficiency (up to 94% peak) and fast time-to-market solution in an extremely small footprint. The RRM12120 is ideal for space...

Empowering Innovation: Your Power Partner for Tomorrow's Challenges

March 20, 2024
Discover how innovation, quality, and reliability are embedded into every aspect of Renesas' power products.

Article: Meeting the challenges of power conversion in e-bikes

March 18, 2024
Managing electrical noise in a compact and lightweight vehicle is a perpetual obstacle

Power modules provide high-efficiency conversion between 400V and 800V systems for electric vehicles

March 18, 2024
Porsche, Hyundai and GMC all are converting 400 – 800V today in very different ways. Learn more about how power modules stack up to these discrete designs.

Comments

To join the conversation, and become an exclusive member of Electronic Design, create an account today!