Both hardware and software development must continue to address coming system architecture challenges.
A piece by Patrick Mannion (Opinion: The irrelevance of silicon, written just after the Embedded Systems Conference puts forward the thesis that software constitutes the added value in today's products and will become more important than hardware in future products. Nick Tredennick, technology analyst for Gilder Publishing, the main keynote speaker at the conference, went as far as stating that transistors are "good enough". Mr. Tredennick is obviously unaware of the many physics issues semiconductors designers are struggling with.
It is true that I myself have pointed out that there are applications that are well served with semiconductor technologies that are no longer leading edge. It is true that there is still a place for 8051 architectures built with 180 nm processes. But is also true that we have yet to reach true real time response for many applications, and that markets that require fast correlation of diverse data types are mostly still under served due to limitation in the hardware.
Only looking at either soft or hard components of a products is taking the wrong approach. It is the system that counts, and a leading product is the result of the correct tradeoff between hard and soft components to meet well thought requirements.
A parochial view of the electronics industry that divides software from hardware is counterproductive at a time when hardware/software co-design is the accepted method for product development.
I remember, from my days as a software developers that there are certain undeniable truths guiding software development:
- there is never enough central memory available,
- the instruction set is not flexible enough, and
- the CPU is too slow.
The invention of logic synthesis gave us the ability to develop Application Specific Integrated Circuits (ASIC) relatively cheaply and make some of those points irrelevant by mostly shutting out the software developers. As long as the product market life was over two years, companies could see a good return on their investments, and thus application specific hardware dominated the design and development process. This approach, that lasted well over twenty years, resulted in significant benefits to computer architecture. It gave us Graphic Processors, many types of standard I/O Controllers, and a number of robust format standards.
The advancements in silicon manufacturing did have what ASIC designers might consider a negative side effect: the amount of space on the die that could be dedicated to memory increased significantly, especially since the turn of the century. In addition, processing speed is now such that, with the exception of very few niche applications, this is no longer a problem for consumer products developers. The impressive reduction in market life of electronic products, most do not generate significant revenue for more than nine months, combined with the new-found hardware capabilities has swung the pendulum back toward software as the most efficient implementation tool.
And yet, interactive games, the market sector that generates the largest profits in the electronics sector, still requires dedicated hardware design of the highest quality. Those who say that we have enough transistors on a die, or that ICs have has much computing power as they will ever need, or even that transistors are as good as we will ever need, demonstrate a troubling superficial understanding not only of today's market requirements, but of untapped markets requiring very large storage capabilities, wideband communications, and parallel execution using heterogeneous processors.
It is not us versus them, it is us and them together forging an integration of disciplines that allows superior solutions to known problems and cultivates the ability to develop practical solution to problems we have yet to understand and tackle.