previous | contents | next

242 Part 3 ½ Regions of Computer Space
Section 2 ½ Memory Hierarchies and Multiple Processes

Example Machines

Several papers in this book trace the development of virtual machine concepts from their roots in virtual memory systems.

Atlas

The Atlas has been described in Chap. 10. Atlas pioneered the concept of virtual memory with its one-level store. The Atlas extracodes were a forerunner of the standard user-operating-system interface commonly used today. By executing these special instructions, complete firmware or software functions can be evoked.

B5000

The B5000, introduced in Chap. 9, had several interesting innovations even though it is most often remembered as a stack machine. However, a common theme in Burroughs machines has been the integration of hardware and software design with the consequence of hardware support for software primitives. The B5000 provides extensive hardware support for block-structured languages. Virtual memory is supported by segmentation and indirect referencing through descriptors stored in the Program Reference Table.

B6500/7500

An evolution to the basic B5000, the B6500/7500, offers even more hardware assistance to dynamic memory control. Chapter 16 gives a detailed discussion of the tagged memory (tags identify memory words as data, descriptors, and control words), descriptor formats, the concept of lexical levels in programs, and the corresponding hardware development of display registers. Multiprogramming as supported by a stack environment is also discussed.

Cleary [1969] illustrates how the hardware defined by Hauck and Dent in Chap. 16 can be used by software to support multiple processes, process activation and deactivation, locking (synchronization), software interrupts, and event signaling. Feustel [1973] provides a detailed discussion of the advantages of tagged architectures.

ICL 2900

Based on many of the ideas developed by Manchester University's MU-5 [Ibbett and Capon, 1978], the ICL 2900 series has bloodlines traceable to the Atlas machine. ICL's design goals are very similar to Burroughs' and provide extensive hardware support to the software. But unlike Burroughs, ICL has not implemented a pure segmented virtual memory, but rather a paged-segmented virtual memory.

Keedy (Chap. 17) presents the fundamentals of virtual memory and traces the ICL rationale that ended up in a paged-segmented design. While logically tracing the design process, Keedy outlines a series of virtual memory designs, one of which is the basis for the virtual memory design for almost all contemporary computer manufacturers. The advantages and disadvantages of each virtual memory system should prove of interest to students and designers
 
 

previous | contents | next