Reproducing old machines with newer technology

Paul Koning paulkoning at
Sun Jul 19 07:45:02 CDT 2015

> On Jul 19, 2015, at 12:06 AM, Mike Stein <mhs.stein at> 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 mailing list