Alan Perry <alanp at snowmoose.com> wrote:
This also included the Burroughs/Unisys A-series systems that were
made into the early 90s.
The A-series systems used a 52-bit, tagged word. 1 bit of parity, 3
bits of tag and 48 bits of data.
I don't recall how the addressing worked and Al has my papers on the
architecture, so I can't look it up ...
The A-series were direct successors to the B5000/6000/7000 series and
used the same architecture. Unisys still sells the ClearPath MCP
systems, now using Intel processors and running the MCP operating system
(under emulation I think).
The architecture has so-called display registers, each of which pointed
to a stack frame for a lexicographical level in the code, i.e. the
procedure call level. Data is addressed as an address couple consisting
of a display register number and an offset, stored in a so-called
Indirect Reference Word (IRW). Data outside of the stack can be
addressed by means of descriptors. Data in another program's stack is
addressed by means of Stuffed Indirect Reference Words (SIRW), which
include a stack number and an offset. The operating system keeps track
of individual program stacks by means of a tree of pointers to job
stacks. Also, to keep track of the procedure calling and return linkage,
Mark Stack Control Words (MSCW) are created whenever a procedure is
called. The Display Registers point to the MSCWs.
All this is designed to support block-structured high level languages, in
fact all the operating system software is (was) written in various ALGOL
dialects.
There is quite a lot of information about this on the net. A book which
describes it is Computer Systems Organization by Elliott Organick (ACM
Monograph Series, 1973. LCN: 72-88334).
-Jonas