Chuck Guzis wrote:
I was helping a fellow with a writeup on the CDC
STAR-100 (circa 1974) and
stumbled across some of the old manuals on bitsavers.
You know, back in 1975, the machine was arguably the fastest in the world
(I won't get into benchmark results, but it was definitely in competition
with Cray). I'd forgotten that the maximum memory available was a megaword
(64-bit words) and that standard was half a meg.
Consider that that's 8MB by today's standards, barely enough to host
Windows 98. On the other hand, the CPU is still pretty complex by today's
standards--and we had 256 64-bit registers to work with.
Jerome Fine replies:
Back in the early 1970's, CDC set up a facility in Toronto.
One of the initial goals was to produce an operating system
for the STAR-100 which I seem to remember had many of the
advanced features found in a current high quality OS such as
VMS. The instruction set also included VECTOR instructions
such as the ability to multiply up to 64K elements times
a second set of 64K elements and place the products in a
third set of 64K elements. Such an instruction would make
use of 3 registers to specify each of the 3 sets of elements
(high order 16 bits of each register was the count and low
order 48 bits of each register was the virtual memory address).
In addition, security was a high priority. Also, implicit
in the design was virtual memory since the program address
space used 48 bits down the the bit level leaving 45 bits
to address the 32 TerraBytes of virtual memory (although
if I remember correctly, the top 16 TerraBytes was reserved
for the protected OS leaving ONLY 16 TerraBytes for a user
program). A standard OS function was the ability to associate
(MAP) a file to an address range which the OS then managed
for the user when any portion of the MAPPED file was accessed
if any memory within the file range was referenced.
One very helpful hardware feature was an ordered list of all
of the pages of memory which a user program was allowed to
reference at any given point in time. Memory management
hardware placed the MOST RECENTLY used page at the top of
the ordered list and the LEAST RECENTLY used page automatically
drifted to the bottom of the list. This feature of the hardware
allowed the OS to determine which pages to remove from memory
when a user program exceeded the currently allowed number of
pages in memory. For example, if the user program referenced
some code or data in virtual memory that was currently on
disk and not presently in physical memory, a page fault
occurred. Prior to the user program continuing execution,
the OS discarded a LEAST RECENTLY used page, then read into
physical memory the newly referenced page.
Many of the applications required so much memory that only one
program could efficiently run at a time - 8 MegaBytes may
have been a huge physical resource in the early 1970s, but as
with many programs today, the available physical memory was
just much too small.
By the way, because the STAR-100 was so expensive, a baby
called the PL-50 was produced which had the same instruction
set and registers, but ran much slower.
All of this took place more than 30 years ago.
Sincerely yours,
Jerome Fine
--
If you attempted to send a reply and the original e-mail
address has been discontinued due a high volume of junk
e-mail, then the semi-permanent e-mail address can be
obtained by replacing the four characters preceding the
'at' with the four digits of the current year.