previous | contents | next

778 Part 4 ½ Family Range, Compatibility, and Evolution Section 2 ½ Minicomputer Families


Table 1 Chronology of PDP-1 1 Instruction Set Processor (ISP) Evolution

Model(s)

Evolution

11/20

Base ISP (16-bit virtual address) and PMS (16-bit processor physical memory address) Unibus with 18-bit addressing

11/20

Extended Arithmetic Element (hardware multiply/divide)

11/45 (11/55,11/70, 11/60,11/34)

Floating-point instruction set with 6 additional registers (46 instructions) in the Floating-Point Processor

11/45 (11/55,11/70)

Memory management (KT11C). 3 modes of protection (Kernel, Supervisor, User); 18-bit processor physical addressing; 16-bit virtual addressing in 8 segments for both instruction and data spaces

11/45 (11/55,11/70)

Extensions for second set of general registers and program interrupt request

11/40 (11/03)

Extended Instruction Set for multiply/divide; floating-point instruction set (4 instructions)

11/40 (11/34,11/60)

Memory Management (KT11D), 2 modes of protection (Kernel, User); 18-bit processor physical addressing; 16-bit virtual addressing in 8 segments

11/70

22-bit processor physical addressing; Unibus map for peripheral controller 22-bit addressing

11/70 (11/60)

Error register accessibility for on-line diagnosis and retry (e.g., cache parity error)

11/03 (11/04,11/34)

Program access to processor status register via explicit instruction (versus Unibus address)

11/03

One level program interrupt

11/60

Extended Function Code for invocation of user- written microcode

VAX-11/780

VAX architectural extensions for 32-bit virtual addressing VAX ISP

11/03

Commercial Instruction Set (CIS)

11/70mP

Interprocessor Interrupt and System Timers for multiprocessor

 

accommodate instructions for new data-types. Ideally, the complete set of operation codes should have been specified at initial design time so that extensions would fit. With this approach, the uninterpreted operation codes could have been used to call the various operation functions, such as a floating-point addition. This would have avoided the proliferation of run-time support systems for the various hardware/software floating-point arithmetic methods (Extended Arithmetic Element, Extended Instruction Set, Floating Instruction Set, Floating-Point Processor). The extracode technique was used in the Atlas and Scientific Data Systems (SDS) designs, but these techniques are overlooked by most computer designers. Because the complete instruction set processor (or at least an extension framework) was unspecified in the initial design, completeness and orthogonality have been sacrificed.

At the time the PDP-11/45 was designed, several operation code extension schemes were examined: an escape mode to add the floating-point operations, bringing the PDP-11 back to being a more conventional general register machine by reducing the number of addressing modes, and finally, typing the data by adding a global mode that could be switched to select floating point instead of byte operations for the same operation codes. The floating-point instruction set, introduced with the 11/45, is a version of the second alternative.

It also became necessary to do something about the small address space of the processor. The Unibus limits the physical memory to the 262,144 bytes addressable by 18-bits. In the PDP-11/70, the physical address was extended to 4 Mbytes by providing a Unibus map so that devices in a 256 Kbyte Unibus space could transfer into the 4-Mbyte space via mapping registers. While the physical address limits are acceptable for both the Unibus and larger systems, the address for a single program is still confined to an instantaneous space of 16 bits, the user virtual address. The main method of dealing with relatively small addresses is via process-oriented operating systems that handle many small tasks. This is a trend in operating systems, especially for process control and transaction processing. It does, however, enforce a structuring discipline in (user) program organization. The RSX-11 series of operating systems for the PDP-11 are organized this way, and the need for large addresses is lessened.

The initial memory management proposal to extend the virtual memory was predicated on dynamic, rather than static, assignment of memory segment registers. In the current memory management scheme, the address registers are usually considered to be static for a task (although some operating systems provide functions to get additional segments dynamically).

With dynamic assignment, a user can address a number of segment names, via a table, and directly load the appropriate segment registers. The segment registers act to concatenate additional address bits in a base address fashion. There have been other schemes proposed that extend the addresses by extending the length of the general registers¾ of course, extended addresses propagate throughout the design and include double length address variables. In effect, the extended part is loaded with a base address.

previous | contents | next