Dr. Dobb's is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.


Channels ▼
RSS

Embedded Systems

Comment: Software Development Environments -- Quo Vadis?


Are you listening to these words as a podcast on the device which used to be your cell phone and now has become the victim of convergence combining a myriad of consumer functions in a single unit? Are you wondering what the next level of convergence will bring?

Be advised that the electronics industry is at risk of not being able to deliver that next generation. That's because methodologies to develop cheaper, faster, more power-efficient and reliable chips that drive consumer electronics are simply running out of steam. Innovative thinking is required to address design and verification across multiple specializations — hardware, software, architecture and verification.

Examples of the first generations of platforms targeted to consumer markets are Philips' nExperia, Texas Instruments' OMAP and STMicroelectronics' Nomadik. On the nExperia silicon, users already find three processors and about 20 dedicated hardware components. Given the huge investment necessary for a platform easily ranging between $20 and $100 million, not only is time to market important but time in market has to be optimized to allow proper returns on the investment. This in turn has driven the trend to enable more flexibility using software on processors.

However, power consumption has since become the limiting factor. While the desktop computing world has stopped at about 4 GHz, processors in the embedded consumer world have reached 1 GHz only to run into similar power and clock frequency limitations. Using 10 processors instead, each of them consuming 100 times less power, leads to an overall 10 times reduction in power consumption. In reality, the industry is lacking methodologies to efficiently parallelize and distribute the software across those processors in an automatic fashion.

The current situation suggests great discontinuity in the electronics industry short term and, in turn, offers a tremendous long-term opportunity for those willing to seize it. As the industry moves forward, developing and programming multi-processor systems-on-chip (MPSoC) will require a unified systems design automation approach in which hardware and software technologies and design processes are combined in a seamless development environment.

This change will also cause a restructuring of the electronics industry as business units like the one developing nExperia have already become software companies with the number of software developers exceeding the number of hardware designers. And, this trend will become more prominent with the average number of processors per MPSoC growing and programmers finding that their existing tools do not work for the new class of multi-processor or multi-core chips.

Assessing who will be able to seize this opportunity requires understanding of the fundamental requirements a software development environment for MPSoCs has to meet. Software developers can no longer wait for the chip to debug the software because the chip is becoming the software. Hardware developers realize that the MPSoC, its structure and partitioning have become part of the software problem.

Not quite meeting the requirements of an application market has unfortunate consequences for a silicon platform given the development effort. Even more flexibility is required leading to more processors and cores. The number of processors and in which configuration and partitioning is dependent on the software requirement running on it.


Related Reading


More Insights






Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

 
Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.