Robert CravottaTechnical Editor Robert Cravotta explores 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.


   Advertisement

Profile

RSS Feed

  • Add this blog to your RSS newsreader!

Recent Posts

Recent Comments

Most Commented On

Archives

By Category

Processor-based Design Articles

Monday, June 29, 2009

Multiprocessing configurations (guest)

Jun 29 2009 2:46AM | Permalink | Email this | Comments (0) |

There are two sets of posts going out in this series in conjunction with my article on multiprocessing options – the series here and the series in our guest blog. Today’s guest post is from Mark Hermeling, Senior Product Manager, Wind River Systems. I encourage you to read both series of posts as they are intended to be complementary. I am alternating posts between the two series. My next post will expand on feedback-based multiprocessing.

 

If you missed the previous post in this series, ch...Read More


Wednesday, June 24, 2009

Multiprocessing taxonomy #3

Jun 24 2009 3:17AM | Permalink | Email this | Comments (0) |

MDBM (Multidomain-based multiprocessing) is a taxonomy category that encompasses applications that span multiple software domains, such as cell phones, automobiles, and many consumer products. This type of multiprocessing has been the bread and butter of embedded-multicore designs for decades. The multiprocessing implementation in many MDBM applications is less about meeting high-end processing performance – rather it is more about: partitioning design, build, and test complexity into semi-independent and manageable chunks; providing more independence in the time domain for resources that would otherwise be in complex contention in a shared capacity such as in a single processor implementation; and providing an optimized processing platform for each type of task that needs to be performed, such as using a microcontroller, DSP, and general-purpos...Read More


Wednesday, June 17, 2009

Multiprocessing considerations (guest)

Jun 17 2009 12:02AM | Permalink | Email this | Comments (0) |

There are two sets of posts going out in this series in conjunction with my article on multiprocessing options – the series here and the series in our guest blog. Today’s guest post is from Alan Gatherer, CTO and TI Fellow, High-Performance and Multicore Processing Business, Texas Instruments. I encourage you to read both series of posts as they are intended to be complementary. I am alternating posts between the two series. My next post will expand on multi-domain-based multiprocessing.

 

If you m...Read More


Friday, June 12, 2009

Multiprocessing taxonomy #2

Jun 12 2009 5:31AM | Permalink | Email this | Comments (0) |

[Housekeeping]: There are two sets of posts going out in this series – the series here and the series in our guest blog. Today’s guest post is from David Stewart at CriticalBlue about multicore programming. I encourage you to read both series of posts as they are intended to be complementary. David was kind enough to avoid all marketing in his post, but I did expect him to at least mention his company’s multicore programming Prism tool – so I will mention it here. [End Housekeeping]

...Read More

Thursday, June 11, 2009

Multiprocessing taxonomy

Jun 11 2009 3:42AM | Permalink | Email this | Comments (1) |

Last year at the Multicore Expo, I was asked why there were not more embedded developers at the conference. After some thought, I pointed out that the discussion at the conference was dominated by how to parallelize software running on GHz class machines, even though the majority of embedded processor offerings are MHz class machines. The point being, maybe there were other motivations for using multicore in embedded designs rather than clock rates are not continuing their dizzying climb into ever faster rates. Issues such as reducing overall system-level design, build, and test complexity through resource partitioning. This question got me thinking over the last year, so much so that I have proposed an update to my earlier proposed processor taxonomy from several years ago to more explicitly add...Read More


Tuesday, June 2, 2009

Rise of a Dhrystone terminator?

Jun 2 2009 3:27AM | Permalink | Email this | Comments (2) |

The Dhrystone benchmark is a single number benchmark score that was originally developed by Reinhold Weicker in 1984. After 25 years, it is still reported as a measure of a processor’s integer (no floating-point) performance. The types of functions in the benchmark code are simple integer arithmetic, string operations, logic decisions, and memory accesses. The processor hardware, memory architecture, wait states, integer data types, as well as the software design, compiler and linker optimizing options affect the benchmark score.

The Dhrystone benchmark is small, free, and easily ported to new processor designs; however, it is not without shortcomings. It is a synthetic benchmark in that the functions included in the code are based on exercising what the core is capable of performing rather than based on the rep...Read More


Related entries in: Processor-based Design | 


Monday, April 27, 2009

Recognizing the killer app enabler

Apr 27 2009 1:05AM | Permalink | Email this | Comments (4) |

There is a lot of energy being expended in the electronics industry to identify, create, and market the next killer application. The term killer application has been used to refer to a capability that draws in large numbers of new consumers for a particular system or platform. The iPhone from Apple and the Wii from Nintendo are two platforms that benefit from killer applications that rely on the system recognizing the user’s gestures instead of having to use conventional button-based and keyboard interfaces. My article about ...Read More


Thursday, March 5, 2009

Digging for the best processor

Mar 5 2009 12:26PM | Permalink | Email this | Comments (3) |

The available choices for digital signal processors are constantly evolving especially as many of the signal processing architectures targets the different tradeoffs for each specific application space. We regularly update the DSP Directory to help you dig through all of the available options and help you find the best processors to meet your project’s needs.

I would like to encourage you to visit the latest edition of the DSP Directory; the 2009 edition is now live. You can always find the latest version of the directory at www.edn.com/dspdirectory. In fact, we have gone the extra step to retain a copy each year of the directory so that you can find older compani...Read More


Tuesday, December 30, 2008

Remember what's important

Dec 30 2008 9:02AM | Permalink | Email this | Comments (2) |

The last few months have been challenging ones for my family. Over the past few years, we have known two coworker families that lost a family member during this time of year to asthma. This year, it hit close to home as my wife dealt with a life-threatening asthma condition. The good news is that after a three-month disability absence, my wife should be returning to work in January.

I share this with you because while working on what to write about here, the incident reminded me of an experience. As a junior member of the technical staff I attended a company training course with a group of senior managers. Normally I would not have been placed with this group, but I had missed the training at an earlier time, and this was the only meeting available that I could attend. Everyone else in the training course was older enough to have been my parent.

During the class,...Read More


Friday, October 31, 2008

Modern candlewicks: An example of structural processing

Oct 31 2008 8:08AM | Permalink | Email this | Comments (0) |

I was thinking about a video I recently saw about candles. Before seeing the video, I had never given candles much thought. They did what they did, and they seemed trivially simple in their structure. I always took for granted that the candlewick was consumed during the process of burning the candle. Until the invention of self-snuffing wicks, a scissor-like tool called a candle snuffer, was needed to trim the wick precisely because the wick did not burn and to avoid excess smoke.

As I thought more about this topic, I realized the wick could be considered an example of the passive or structural processing I introduced in an earlier post. In this case, the structural characteristics created d...Read More


Tuesday, October 7, 2008

Will structural processing take digital processing to new levels of performance?

Oct 7 2008 7:44AM | Permalink | Email this | Comments (1) |

The earliest machines capable of being programmed were mechanical. Then analog programming provided a new level of flexibility and ability to handle more complex instruction sequences at lower cost. Digital processing has further extended this flexibility and capability at ever-lower costs over the decades. However, more efficient energy dissipation, something that "just happened for free" with each generation in digital processing technology nodes, is an increasingly important performance measurement that is more difficult to maintain with each new generation of processors.

Implanted medical equipment is one application area that demands extreme energy efficiency in order to minimize how often batteries that will reside inside a patient must be replaced. Remote and distributed industrial sense and control modules represent another application area where energy ...Read More


Thursday, September 4, 2008

Debuggers for embedded systems: More than just fixing software bugs

Sep 4 2008 2:14AM | Permalink | Email this | Comments (3) |

As part of a continuing effort to determine what is different between embedded software and application level software, this week's design feature ("Shedding light on embedded debugging") explores how embedded developers are using debugging tools. One difference is that many embedded systems must resolve whether unexpected inputs are due to the variable nature of real world interfaces or artifacts of closed-loop control algorithms where outputs affect inputs. In fact, several inputs may be influenced by multiple outputs in complex relationships. In many cases, characterizing the behavior of the whole system cannot be performed until system level integration is underway.

A primary capability of a debugger is to provide the developer with visibility into how the system is working. It is this core capability t...Read More


Thursday, July 10, 2008

Emerging embedded systems: sensor-rich designs are part of the newest innovations

Jul 10 2008 12:00AM | Permalink | Email this | Comments (3) |

This week's cover story touches on how designers are adding more sensors to their designs and how this is enabling them to build systems that would cost more to implement or use more power to operate if they did not use those extra sensors. In other words, the cost of taking on the additional design-time complexity of working with more sensors is being increasingly being offset by the savings in design complexity or operational costs. I like the phrase "emerging embedded systems" that I heard from Gene Frantz, Principal Technical Fellow at Texas Instruments  in a recent conversation to describe a larger trend that includes sensor-rich designs.

When I started working on this article, I thought it would be easy to line up examples to include in the article mostly because ...Read More


Monday, June 30, 2008

Is embedded different? The experience of a designer transitioning to embedded design

Jun 30 2008 11:59AM | Permalink | Email this | Comments (10) |

In a previous post I proposed that the differences between developing for embedded versus application-level systems are poorly distinguished and that, as an industry, we are paying an increasingly visible price for this lack of clarity. I personally came to understand some of the differences between the two types of development when I transitioned into the embedded world many years ago.

I did not think much of those differences as a public discussion until someone asked me why more embedded developers are not attending multicore conferences. That question made me realize that there are at least two very different perspectives on what multicore or multiprocessor means, and the typical embedded care-abouts are not the same as what I have seen as the major focus of contemporary muticore conferences (topic...Read More


Wednesday, May 14, 2008

What makes it an 'embedded system?'

May 14 2008 7:42AM | Permalink | Email this | Comments (9) |

I keep hearing people say that applications are becoming more embedded and that the line between applications and embedded systems is blurring. I think statements like these are a symptom of a lack of a clear distinction of what constitutes an embedded system. I believe the time has come that we should clarify the distinction between embedded and application-level software because we, as an industry, are now more visibly paying a price for this confusion.

An online search using the query "What is an embedded system" yielded a few definitions. The first definition on the list (from BDTI) includes a significant ambiguity. It says that an embedded system is "A system containing a processor where the processor is not generally reprogrammable by the end user. For example, a cell phone containing a DS...Read More




ADVERTISEMENT

©1997-2009 Reed Business Information, a division of Reed Elsevier Inc. All rights reserved.
Use of this Web site is subject to its Terms of Use | Privacy Policy

Please visit these other Reed Business sites