Industry leaders share their insights about processor and software-processing architectures and the impact they have on system and software development. Relevant architectures include microprocessors, microcontrollers, digital signal processors (DSPs), multiprocessor architectures, processor fabrics, coprocessors, and accelerators, plus embedded cores in FPGAs, SOCs, and ASICs. Moderated by EDN Technical Editor Robert Cravotta.
Jul 20 2009 7:54PM | Permalink |Comments (1) |
Robert’s insightful article on multicore taxonomy makes a good case for the need for standard ways to describe and discuss multicore technology. But it might be simply too soon in the game to settle on a firm taxonomy.
Industry consensus on even the most basic definition of what constitutes a multicore processor remains elusive. Participants in the “Trends in Multicore Processor Design and Application Optimization Panel” at the recent Multicore Expo event were barely able to agree on the most basic definition of a multicore processor. After much back-and-forth, the panelists ultimately compromised and agreed that multicore is more than one CPU which can run an operating system and be programmed in ANSI C. So the lack of a common agreement on the definition of a multicore processor might indicate that consensus on a broader multicore taxonomy might be a ways off.
I believe that the primary reason for lack of a standard definition/terminology is due to the immaturity of the multicore market and applications it serves. We remain in the early adoption phase of embedded multicore, and current multicore architectures and implementations are still very generalized -- primarily as a function of trying to serve the maximum number of application spaces with the fewest number of devices necessary. Today’s multicore devices are often simply evolutions of single-core microprocessors, driven to transformation by the need to provide higher computation within a constrained power budget. But as multicore market opportunities grow and the application requirements become more specific over time, distinct multicore taxonomies, analogous to what occurred for single core processors, will evolve and develop naturally.
For the time being, the current taxonomy used to describe multicore configurations – asymmetric run to completion (AMP), symmetric parallel processing (SMP), functional pipelining, and heterogeneous multicore – together with combinations and derivatives of these, seem sufficient for mapping and discussing multicore architectures and applications until the embedded multicore market matures. In the final analysis, it will be the applications that ultimately drive multicore architectures, and then a taxonomy will naturally follow.
- Kent Fisher, Chief Scientist, Chief Systems Engineer for High-Performance Processor Products in the Networking Systems Division at Freescale Semiconductor.
If you missed the previous guest post on multiprocessing, check out what Grant Martin from Tensilica had to say about dataplane processing.