Aardvark DailyNew Zealand's longest-running online daily news and commentary publication, now in its 25th year. The opinion pieces presented here are not purported to be fact but reasonable effort is made to ensure accuracy.
Content copyright © 1995 - 2019 to Bruce Simpson (aka Aardvark), the logo was kindly created for Aardvark Daily by the folks at aardvark.co.uk
Please visit the sponsor!
It is looking as if the current chip shortage may last longer than originally thought.
With lead-times for many popular bits of silicon now stretching out beyond 52 weeks it is clear that the problem won't be going away any time soon.
So what can we do about this?
Well perhaps we could try to do more with less?
One of the truths of the world is that if you give someone (be they a programmer or an engineer) more resources, they will gladly use them.
Back in the early days of microcomputer programming we were severely constrained by the lack of expensive resources such as memory and CPU cycles. As a result of this, those early bits of software were often incredibly small and efficient.
I recall spending many, many hours optimising code for size and speed in order to fit it in the minisucule amount of RAM available and to make it run fast enough to be useful.
These days, if we're running out of resource then we simply add more.
Code running too slow? Well you don't need more efficient code... you need a faster processor!
Out of memory? Well go buy some more!
I'm wondering whether the current silicon shortage might give us time to reflect on the benefits of optimising systems rather than just throwing more silicon at them.
Take, for example, one of the most popular microcontroller chip families on the planet -- the humble STM32. The STM32 starts with the F0 variant which is a tiny minow of a device with just a whiff or RAM and a smidgen of processor power. When first released, this chip was a power-house, bringing true 32bit architecture to a market sector that had previously been the doman of 8-bit components from the likes of Microchip and Atmel.
The shift from 8-bit to 32-bit removed many of the constraints that made building devices based on microcontroller tech so hard. As a result, the STM32 family has grown to become ubiquitous, now being found in everything from toasters to flight controllers and automotive computer systems.
Programmers love them because they're just so much easier to cut code for. There's no longer any need to optimise -- just write, test and ship. That makes for quicker product development and lower costs.
Of course the STM32 family has itself grown significantly, from the original F0 through F1, F2 etc... until now it even offers an "H" variant (faster, more RAM) that allows incredibly sophisticated systems to be created without code optimisation.
Unfortunately, the silicon shortage has meant that many of these more sophisticated STM32 devices are not available "off the shelf" any more. They're backordered to hell and back with those uber-long lead-times I mentioned. The result of this is that a growing number of manufacturers are stuck without key components to build their systems.
One of the worst-hit sectors is car manufacturing. Since the STM32 chips are very popular in this industry and any car built in the past decade or so is likely to have a small handful of them hidden away in the various electronic systems, this is a huge problem.
Of course auto-makers could simply stop the production lines and wait until the devices become available again but that would be a massive cost to their bottom line.
So why don't they redesign their systems to use lesser chips that might be more readily available?
Not enough RAM? Not enough processor power?
Bah! That never stopped us back in the 1970s and 1980s :-)
Perhaps it's time to go back to the old strategies of optimising code for speed and performance instead of just adding RAM and CPU power to the hardware specs.
Yes, this would cost a lot more at the development stage... but hey, idle assembly lines and near-zero sales cost a whole lot more in the long term.
Let's see how this all pans out... I wonder if we will see some rapid redesigns of many electronic systems and a sudden demand for programmers that are more than just code-cutters. Perhaps being a *real* programmer with optimisation skills could make you a very valuable commodity in 2021/22.
Does anyone else remember the old days of trying to fit code into the tiny memory of early computer systems? This was often just a Kbyte or two on early microprocessor systems; 48Kbytes for CP/M and 640K for the early 16-bit systems.
Ah... overlays... who remembers writing software that was made up of dozens of overlays?
Please visit the sponsor!
Have your say in the Aardvark Forums.