The drive to higher levels of integration more transistors on a single die - has been implemented by developments in semiconductor technology. The fundamental driver, however, remains the underlying economics of the business. And so while there appears to be no short-term end in sight for the progression of Moore's Law, from a technology perspective, the economics are changing very dramatically and may very well impose limits on the rate of advance of the technology.
When systems were built using logic devices, our company's designers were primarily what have now become known as hardware engineers. With the advent of microprocessor-based systems, the bulk of the system logic is now implemented by software controlling a microprocessor. Consequently, most companies now have design teams with a majority of software engineers.
But what happens when the designers can't get the required performance out of a microprocessor-based system? The obvious first choice is to use a faster version of the microprocessor. Or if this still doesn't get them the required performance, go to a specialized microprocessor like a digital signal processor or even a custom microprocessor implemented in an application-specific integrated circuit an ASIC.
There are two major challenges with these approaches: power and economics. Faster microprocessors require more power, and the economics of ASICs are becoming unfavorable for all but very high-volume applications. Given this reality, how do we enable higher performance applications in the future?
We need to change the architecture of the way we built electronic systems. Instead of implementing all the logic required by the system in software driving a microprocessor, we can offload those compute-intensive tasks to dedicated hardware. We should implement those tasks that require a much higher-performance microprocessor and therefore more power to programmable hardware. For you software engineers, you can think of this as subroutine calls being executed in dedicated hardware.
In the past, the semiconductor devices needed to implement this architectural approach to system design and implementation didn't exist but they do today. And they are available as standard, off-the-shelf products, with no huge non-recurring engineering costs, no time to revenue delays, no minimum purchase requirements just like the standard logic parts of the past. The big difference is these modern devices offer software and hardware programmability. We call them embedded standard products.