Core memory emulator using non volatile ram.
paulkoning at comcast.net
Mon Dec 17 08:30:41 CST 2018
> On Dec 16, 2018, at 10:07 PM, ben via cctalk <cctalk at 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.
> 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.
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.
More information about the cctech