Bernard Cole, EE Times(11/07/2005 10:00 AM EST)
While the benefits of multiple cores have been well-documented, the programming tools have not-until now
The move toward multiple processors on a single chip, on a single board and in a single system to provide more features and speed at lower power may have solved certain embedded-hardware design problems. But for software developers and vendors, embedded multiprocessing presents a daunting set of challenges.
In contrast with the familiar balanced, symmetric and homogeneous multiprocessing environment of servers and large computer systems, the embedded and mobile-appliance world can require the developer to program a heterogeneous and unbalanced mix of RISC, DSP and network architectures, operating asymmetrically.
At recent conferences, hardware developers have bemoaned the lack of suitable tools and building blocks for software development in multicore environments. Many embedded-software vendors now say they have devised solutions to most of the immediate problems. The big question is where to go next as the cores used in multiprocessing designs increase in number and heterogeneity.
"As more processing elements are embedded into the silicon, the level of software complexity is outstripping the capability of traditional embedded-software tools to efficiently develop application software code and to manage the system," said Sven Brehmer, president and CEO at PolyCore Software Inc.
The problem is not a shortage but a surfeit of tools and building blocks, in the view of Robert O'Shanna, software engineering manager at Texas Instruments Inc.'s DSP Group. "With diverse solutions and no commonalities [among them], no industry standards on methods and procedures, vendors are beginning to appear with a wide range of OS- and hardware-specific solutions," O'Shanna said. "And those that offer some degree of platform independence require the use of frameworks and methodologies that are unfamiliar to many developers."
Click here to read more ...