Current buzz indicates that multicore and virtualization are the next move for RTOS vendors. However, in taking a closer look at the market, it appears that less than 10 percent of today’s designs require the overkill provided by multicore or virtualization.
- Many companies are still struggling with moving from Assembly language to C. Some designers are moving from 8-bit to 32-bit processors, skipping 16 bits and still using Assembly language. Because 32-bit processors open a whole new world of possibilities, migrating to a high-level language, using an RTOS, and buying COTS products are more sensible choices.
- Approximately 45 percent of products today either don’t use an RTOS or are still roll-your-own even though a commercial RTOS has substantial time-to-market advantages. A 2008 Embedded Market Forecasters survey of RTOS users revealed that 44.3 percent of projects that used an in-house RTOS and 41.4 percent of those that used open source were completed late by an average of three months.
- Is processor performance exhausted to the extent that multicores are a must? Performance bottlenecks in most cases are due to memory, not processors.
- As microprocessors become more complex, the visibility into their inner workings diminishes. Debuggers are great at proving algorithms and debugging the system statically (a breakpoint must be hit to step through code) but fall short with dynamic systems. Instead of adding more processor cores, semiconductor manufacturers need to add logic that can greatly enhance debugging.
- Code reuse is an extremely important design, time-to-market, and quality issue that is often all but ignored. This also applies to semiconductor vendors who don’t always use the same hardware blocks when developing different chips. Two chips within the same family from the same manufacturer typically use two different USB device controllers. How many different SPI controllers, UARTs, and timers do designers need?
While it is important for designers to consider the future, it is even more imperative that they first close the loop on their own design/performance issues and determine if they are using the right tools and becoming more efficient at designing reliable systems.
Although designers will always be interested in the next best thing that can catapult the industry forward, they must make sure that the majority of design needs are met before taking too long to get designs out the door. Building or rebuilding a product with the complexity involved in multicore and virtualization designs is a daunting task. Instead, developing quality, user-friendly code, reusing code whenever possible, and following a pattern of logical steps for growth are the best design strategies, at least for now.
Micrium
954-217-2036
info@micrium.com









