Software Takes Control

Hardware-software co-design increasingly weighted toward end-applications; shift has already begun.


By Pallab Chatterjee
The idea that SoC and system design are a mix of hardware and software, in the form of both application software and firmware, has been in place for more than 60 years. But the emphasis is beginning to shift.

The traditional approach has been to create the highest-performance circuit design, with some control options for flexibility, and then use this adaptable “platform” product in the end application. This allowed for cost savings by re-use of the hardware for multiple designs, and the ability to quick-start programs with custom designs before the finalized specification was in place, as it could be adjusted in software.

This trend continued in to the SoC arena, where standardized designs were created and SoC platforms were developed. The ability to create a logic design with literally billions of gates and functions required a great deal of software to manage. The designs are so large that they cannot be up at one time, and the internal data paths of the design exceed the bandwidth of external bus and memory systems so all the logic processing cannot be done at once. As a result, there is a lot of software control needed to use the correct portion of these SoC platforms at the correct time.

This partitioning between hardware and software has brought with it a number of things. First, it brought the ability for in-the-field updates and feature changes. As the available hardware is known, changing the software/firmware allows for enabling and disabling features. It has been the major driver of the $100M chip. The cost of a large digital custom chip used to be less than $1M and take six to nine months to develop. Current SoCs are now on a 2.5- to 3-year development cycle with control software/firmware development accounting for upwards of $65 million of the $100 million in design costs.

The interaction between hardware and software systems started to shift with rise of mobile devices. Mobile has an unending need for power management coupled with high performance. The trend has been to continue to utilize the platform SoCs and ASICs in a system, but to embed context and application-based power management into the design. This allows for the same qualified platforms and end application code to be used that are in cord-powered products. By selectivity turning on and off functions (portions of the chip) based on what mode the product is in—such as getting a user input, displaying a static graphic and reading an external device—the overall power of the product can be reduced, and the operating time of the device can be extended.

This scheme has worked well. However, over the next year end-application software will take the driving role in hardware architecture. The Linley Processor conference was filled with application-optimized hardware for network and packet processing, multicore and distributed processors for data processing, and communications and security acceleration processors. Companies such as Broadcom even recently introduced high-speed carrier Ethernet products that are simultaneously power- and performance-optimized under firmware control, for both voice (PTN) and data (IP-RAN) network applications. The move to multi-core and distributed CPU/GPU processing has now and forever moved application software to being at the forefront of the design flow and being the optimization criteria for the hardware design.

This concept was exemplified at Oracle World, when several new “engineered systems” were released for the cloud server and core data center applications. These database- and Java-processing optimized servers, supporting the Oracle Elastic Cloud along with the Exadata and Exalogic hardware accelerators, were engineered from the application software down through the rack design, the board designs, the bus backplane selection, to the memory access architecture and processor design to provide the highest possible performance on high user count cloud access processing. These optimized products are the start, and future products like the announced but not yet released Oracle Exalytic query and expression processor are signs that application software is now driving mobile and cloud hardware design.