
The
PDP-11
/40 processor has a special role
in
bus control operations
as
it performs the priority arbitration to select
the next bus master. The processor assumes bus control when no other device has control.
The Unibus originates in the processor with the Internal Unibus and Terminator module (M981), which carries the
Unibus from the processor to the next system unit.
All
56 Unibus signals and
17
grounds are carried
in
this one
module. In addition, a 120-conductor Mylar cable may be used to connect system units
in
different mounting boxes
or
to connect a peripheral device removed from the mounting box.
A complete description
of
the Unibus, including specifications,
is
presented
in
the PDP-11 Peripherals and
Interfacing Handbook.
1.3.2 KDl
1-A
Processor
The
KDll-A
Processor decodes instructions; accepts, modifies, and outputs data; performs arithmetic operations;
and controls allocation
of
the Unibus among external devices. The processor contains sixteen hardware registers,
eight
of
which are programmable. Two
of
the eight programmable registers are specifically used for processor
operation: a program counter (PC) and a stack pointer (SP); the remaining six
serve
as
arithmetic accumulators,
index register, and autoincrement and autodecrement registers.
The
eight non-programmable registers are used for storage
of
a variety
of
functions including: intermediate address,
source and destination data, a copy
of
the instruction register, the last interrupt vector address, console operation
data and stack pointer for the
KTl
1-D
Memory Management Option.
Because
of
the flexibility
of
hardware registers, address modes, instruction set, and
DMA,
PDP-11
/40 programs are
written in directly relocatable codes. The processor also includes a full complement
of
instructions that manipulate
byte operands and provisions for byte swapping. Either words or bytes may
be
displayed on the programmer's
console.
Any
of
the eight programmable internal registers can be used to build last-in, first-out stacks. One register serves
as
a
processor (or system) stack pointer for automatic stacking. This stack-handling capability permits
save
and restore
of
the program counter and status word in conjunction with subroutine calls and interrupts. This feature allows true
reentrant codes and automatic nesting
of
subroutines.
The Unibus serves the processor and
all
peripheral devices; therefore, there must be a priority structure to determine
which device becomes bus master. Generally, a device requests use
of
the bus for one
of
two reasons: to make a
non-processor transfer
of
data directly to or from memory,
or
to interrupt program execution and force the
processor to branch to an interrupt service routine. An NPR
is
granted by the processor at the end
of
bus cycles and
allows device-to-device data transfers without processor intervention. A BR
is
granted by the processor at the end
of
an
instruction and allows the device to interrupt the currentprocessor task.
The
processor recognizes four levels
of
hardware BRs, with each major
level
containing sublevels. Many devices can
be
attached on each major level, with the device that is electrically closest to the processor given priority over other
devices on the same priority level. The priority level
of
the processor itself
is
programmable within the hardware
levels; therefore, a running program can select the priority level
of
permissible interrupts.
Additional speed and power are added to the interrupt structure through the use
of
the PDP-11/40 fully vectored
interrupt scheme. With vectored interrupts;-the device identifies itself, and a unique interrupt service routine
is
automatically selected by the processor. This eliminates
d(:lvice
polling and permits nesting
of
device service routines.
The device interrupt priority and service routine priority are independent to allow dynamic adjustment
of
system
behavior in response
to
real-time conditions.
The Unibus addresses generated by the KDl
1-A
Processor are 18-bit direct byte addresses, even though the
PDP-11/40 word length and operational logic is
all
16-bit word length. Thus, while the PDP-11/40 word can only
contain address references up to 32K words (64K bytes), the KD11-A Processor can reference addresses up to 128K
words (256K bytes).
1-5