> On Dec 16, 2018, at 10:07 PM, ben via cctalk <cctalk@classiccmp.org> wrote:
>
> On 12/16/2018 8:00 PM, allison via cctech wrote:
>
>> In the end, current generation CMOS ram is the easy out, battery is
>> small, cost is small, and
>> produces much less of the heat that is killer to systems. The only
>> reason to do that is core
>> cost big if you can find it for your machine. I can cost more if you
>> want to run an OS that
>> needs a fair amount of it. AC as well as it can help heat the room and
>> also power as in
>> makes the meter spin.
>> So much lathering and speculation about what and how. When the point is
>> totally missed.
>> Allison
>
> What programs or operating sytems require non volatile core?
> Did DEC have any BOOTSTRAP programs in prom for the 8?
> A small prom and regular slow mos memory may be the solution.
> Ben.
Before boot ROMs, it was standard practice to toggle the boot loader into core
where it would be available indefinitely, including across power cycles. You
can see this in the PDP-8, and it was also documented in the early days of the
PDP-11 (though in 1973 I didn't have to do this, we had a 16-word diode matrix
boot ROM).
RSTS-11 V4 had optional power fail handling, which would allow it to continue
running after a power cycle. Not by rebooting as later versions did, but by
continuing from where it left off. It would have to reinitialize the I/O
devices since I/O registers are volatile, but the OS in memory would be intact
and logged in user sessions would be preserved. I actually saw that work once,
pretty neat.
For all this, the only necessary memory property is simply that the contents
was preserved across power cycles. None of the other details of core memory
are important. For that matter, core memory details such as destructive read
weren't visible to the CPU; the read/restore cycle was handled inside the core
memory logic. That's typical; one exception I know of is the CDC 6000 series
peripheral processor, which I mentioned before: there the restore cycle is part
of the main execution pipeline. That's why readstart (system reboot) drops a
zero in memory, it disrupts that read/restore cycle.
paul