Reproducing old machines with newer technology
paulkoning at comcast.net
Sun Jul 19 07:45:02 CDT 2015
> On Jul 19, 2015, at 12:06 AM, Mike Stein <mhs.stein at gmail.com> wrote:
> I always wondered which was more efficient, multiplexing among essentially complete 'computers per user' sharing a common I/O 'channel' or swapping processes and memory banks…
If you’re talking about switching a single resource (or fixed set of resources) among consumers, the answer doesn’t directly tie to the technical approach used but rather to the efficiency of switching among consumers.
For example, a multiprogramming OS has to do a context switch. That may require one or two instructions, which may be very fast (CDC 6600 — about 3.5 microseconds) or not so fast (VAX). Or it may take a few hundred instructions (most machines).
But you may also find more limited sharing systems where the switching is so fast that it isn’t a factor in the performance. The timesharing of the PPU logic in a CDC 6600 is an example: the logic is that of a 10 MHz class machine, but the memory is 1 MHz, so 10x sharing of the logic among 10 memory banks and 10 sets of state makes sense.
That approach still exists; nowadays it’s called “hardware threads (as in the mutithreaded MIPS processors from Sibyte/Broadcom and Raza/Broadcom and others) or “hyperthreading”. But, as with so many things, Cray did it first.
More information about the cctalk