| | AUGUST 20219CIOReviewapplication level software, etc. Projections are that software in the auto segment will go from up to 200 million lines of code this year to 1 billion lines of code by 2030. Ok maybe not exactly Moore's law but you get the picture.With this comes the threat of Wirth's law. This law basically asserts that software is getting slower more rapidly than hardware is becoming faster. Niklaus Wirth wrote an article on this back in the 90's and its still true today, "A Plea for Lean Software". Even Bill Gates got his name in on this. Gate's law says that "the speed of software halves every 18 months", essentially negating the benefits of Moore's law. Especially in embedded systems, software developers can not get lazy when it comes to optimizing code, leading to what we call "code cruft" (essentially a catch call for poorly written code).Figure 3. Moore's Law for Hardware (and Software)5. The "openness" of software (and hardware) can be used to accelerate innovation; I like Allison Randal's (President of the Open Source Initiative) talk on "How Open Source Drives Innovation". Using the speed of sound analogy she shows how innovation in open source software has gone from subsonic to supersonic. This innovation is being used to enable semiconductors at an increasing rate. As an example open source machine learning software from Google (TensorFlow), Facebook (GLOW compilers), and Linaro (advanced compute libraries) are used to create enablement software for machine learning on all forms of semiconductor processing elements such as CPU's, GPU's, DSP's and Neural Network Accelerators. Vendors can leverage (and contribute to) the technology created by these innovative software companies, add vendor specific customizations such as optimizations, security, and out of box experience, and create value much more quickly than doing it internally. Of course operating systems like Linux and Zephyr are other areas of innovation for semiconductor vendors for networking, multimedia, connectivity and other areas. The "open" trend is now moving to hardware as seen by the growth in RISC-V International (open source ISA specification) and the Open Hardware Group (open source processor cores, software and validation suites). I read once that writing embedded software requires a devious mind with an affinity for puzzles. That's probably still somewhat true but times are changing and the hardware/software partnership in the semiconductor industry continues to morph with the times. when done correctly, SoC "platforms" can accomplish the same thing. One SoC can be used for multiple different applications by changing the software running on top of it. A multimedia SoC platform can be used for the audio market with soundbar software for one customer and for the AVR market with another software platform. Software can provide the differentiation and segmentation for the different markets without having to build a new SoC for every new market. We call this the "long tail of software"...continuing much longer than the lifecycle of a new device. Of course this means that the SoC platform must be architected to support these different markets and one bad GPU or peripheral can ruin multiple market opportunities. Just ask the Takata airbag folks.Figure 2 SoC platform to drive multiple markets4. The completeness of Enablement and entitlement and software's contribution to Moore's law. Semiconductors need software and tools to being them to life and I describe in two terms;a. Enablement; providing software support for all hardware on the SoC. There is nothing a design manager or GM hates more than putting gates on a chip and then not having the support available to support them. Whether this enablement is build or buy is secondary.b. Entitlement; providing, through software, the right levels of performance that are expected from the SoC. This performance can be defined in terms of cycles, memory, and (low) power.Both are necessary and the as Moore's law drives more gates then so too must there be a discussion about Moore's law for software. There are three factors influencing this growth in software (figure 3);a. There are more and more Si gates to enable and optimizeb. Semi's are moving higher and higher up the software stackc. Software is "helping" with Moore's law (as Moore's law slows due to physical limitations, multicore processing is gaining traction which requires new software programming models to support).This becomes a multidimensional problem requiring multiple different types of software development; drivers, boot code, operating systems, advanced IP enablement, Vendors can leverage (and contribute to) the technology created by these innovative software companies, add vendor specific customizations such as optimizations, security, and out of box experience, and create value much more quickly than doing it internally
<
Page 8 |
Page 10 >