This is just speculation but, a shift in software engineering philosophy. The software of early probes was viewed, as a fixed part of the flight avionics and command sequencer. It was programmed well in advance to allow physical manufacture of the ROMs, tested as a whole unit, and the software became fixed quite early on in the project. Like a simple microcontroller, basically.
By the late 70s the modern understanding of software development was taking hold. They wanted to be able to download arbitrary programs, as needed, in flight. And so instead of having it mostly in ROM, the Voyager computers are like any other general purpose computer and all their main memory is RAM.
Updating a live system in RAM isn't as risky as it might sound when you consider there are three different computers on board, each dually redundant, serving a supervisor role for the other two.
Comments
This is just speculation but, a shift in software engineering philosophy. The software of early probes was viewed, as a fixed part of the flight avionics and command sequencer. It was programmed well in advance to allow physical manufacture of the ROMs, tested as a whole unit, and the software became fixed quite early on in the project. Like a simple microcontroller, basically.
By the late 70s the modern understanding of software development was taking hold. They wanted to be able to download arbitrary programs, as needed, in flight. And so instead of having it mostly in ROM, the Voyager computers are like any other general purpose computer and all their main memory is RAM.
Updating a live system in RAM isn't as risky as it might sound when you consider there are three different computers on board, each dually redundant, serving a supervisor role for the other two.
It doesn't need to be volatile (require power for data integrity) to be read/write. See the other subthread ...
Until the spares fail, in which case it gets fun. This is the case where the spare failed already.