PDP 11 Handbook 1969
PDP 11 Handbook 1969
PDP 11 Handbook 1969
digihl equipmentcorpomtion
Copyright 1969 by
Digital Equipment Corporation
PDP is a registered trademark
of Digital Equipment, Corporation
Ill
. .
DOUBLE OPERAND-INSTRUCTIONS .......................... i.. ............... 17
Arithmetic Operations .................. 1........................................ 18
Boolean Instructions ............................................................. 20
BRANCHES .......................................................................... .:. ..... 21
Unconditional Branch ..........................................................
I Simple Conditional Branches .............................................. ;:
Signed Conditional Branches .............................................. 23
Unsigned Conditional Branches ..........................................
JUMP .................................................................................... 9:
SUBROUTINES ............................................................................. 27
Examples ............................................................................ 28
SINGLE OPERAND INSTRUCTIONS ............................................
Multiple Precision Operations .............................................. zi
Rotates ................................................................................ 33
Shifts .................................................................................. 34
Examples ............................................................................ 36
BYTE OPERATIONS ...................................................................... 36
Double Operand Byte Instructions ...................................... 36
Example .......... . ................................................................... 37
Single Operand Instructions ................................................ 38
CONDITION CODE OPERATORS ................................................
MISCELLANEOUS CONTROL INSTRUCTIONS .............................. , i!
PROCESSOR TRAPS .................................................................... 41
Trap Instructions ............................ . ................................... 41
Stack Overflow Trap ............................................................
Bus Error Traps .................................................................. ii
Trace Traps .......................................................................... 43
CHAPTER 5 I ADDRESS ALLOCATION
ADDRESS MAP ............................................................................ 45
Interrupt and Trap Vector .................................................... 46
Processor Stack and General Storage ..................................
Peripheral Registers ............................................................ z
CORE MEMORY ............................................................................ 46
Read-Write Core Memory .................................. , ................. 46
Read-Only Core Memory ...................................................... g
Wordlet Memory ..................................................................
CHAPTER 6 PROGRAMMING OF PERIPHERALS
DEViCE REGISTERS ...................................................... ..... . ......... ;; -
CONTROL & STATUS REGISTERS ...............................................
Device Function Bits ....................................... :.. ................ $
Memory Extension ....................................................... . ......
Done Enable and Interrupt Enable ......................................
Condition Bits ............................................................. ..i .... ii
Unit Bits .............................................................................. g
Error Bits .............. I ..:. .........................................................
DATA BUFFER REGISTERS .................................................. .: ...... 48
PROGRAMMING EXAMPLES--NON INTERRUPT ........................ 48
INTERRUPT STRUCTURE ............................................................ 50
PROGRAMMING EXAMPLE .......................................................... 51
CHAPTER 7 PERIPHERAL BULLETINS .
TELETYPE (MODEL LT33-DC/DD) .............................................. ;;
Size ......................................................................................
Power Requirement ............................................................ 53
IV
. \
TELETYPE CONTROL (MODEL KLll) ......................................... 53
Teletype Control .......................................................... r ....... 53
Keyboard/Reader Operation ................................................ 53
Registers (TKS, TKB) .................................................. 54
Teleprinter/Punch ................................................................ 54
Registers (TPS, TPB) .................................................... .55
Programming Example ........................................................ 55
Peripheral Address Assignments .......................................... 55
Mounting ...................................... ....................................... 55
HIGH-SPEED PERFORATED TAPE READER (MODEL PCll) ...... 55
Tape Reader ........................................................................ 55
Registers (PRS, PRB) ................................................... 56
Programming Example ................................................ 56
Peripheral Address Assignments ................................ 56
Tape Punch .......................................................................... 56
Registers (PPS, PPB) .................. ., ................................ 57
Programming Example ................................................
Peripheral Address Assignments .................................. E
Mounting ............................................................................... 57
Environmental ....................................................................... 58
Line Frequency Clock (Model KWll-L) ............ I,....................
Register ..................................................................... .:. .... . .... 5588
Peripheral Address Assignments .......................................... 58
Mounting ............................................................................... 58
Vector Address .................................................................... 58
Priority Level ........................................................................ 58
CHAPTER 8 DESCRIPTION OF THE UNIBUS (
GENERAL CONCEPTS OF THE UNIBUS ...................................... 59
Single Bus ............................................................................ 59
Bidirectional Bus ................................................................ 59
Master-Slave Relation .......................................................... 59
. Interlocked Communication .................................................. 60
Dynamic Master-Slave Relation ............................................. 60
UNIBUS SIGNALS ........................................................................ 60
NON-INTERRUPT SIGNALS ..........................................................
Data Lines .................................. ..r.~. ................................... :?I
Address Lines ......................................................................
Control Lines .:. ..................................................................... E
Master Sync &‘Slave Sync ..................................................
Parity Available & Parity Bit ................................................ ::
Initialization ........................................................................ 61
Spare 1 & Spare 2 .............................................................. ,61
INTERRUPT SIGNALS ....................................... *. ....................... 61
Bus Request Lines ........................................................... 9..
I Bus Grant Lines ................. r.. .............................................. z:
Non-Processor Request ........................................................ 61
Non-Processor Grant ............................................................ 61
Selection Acknowledge ........................................................
Interrupt (and) Bus Busy .................................................... 6":
UNIBUS DATA TRANSFER OPERATIONS .................................... 61
DATO and DATOB ................................................................
DATI and DATIP .................................................................. :z
Examples of Data Transfers ......... . .................. ........ . ........... 62
Signal Description of Data Transfers ......... . ........................ 63
V
UNIBUS CONTROL ............. ’.........................................................
Priority Arbitration .................................................................
Selection of Next m m ..............................................
Interrupt Sequence ................................... . ..........................
Example of Interrupt, etc. ..................................................
Example of NPR Operation ..................................................
CHAPTER 9 WI’TERF~MC
REGISTERS .................................................................................. 69
BUS DRIVERS AND RECEIVERS .................................................. 69
ADDRESS SELECTOR ..................................................................
INTERRUPT CONTRbL ................................... .............................
DEVICE CONTROL LOGIC ............................................................ 76
CHAPTER 10 CONFlGUMTICM AND MSTALLATIOW PlANNlm;
MODULAR CONSTRUCTION ........................................................
MOUNTING BOXES AND CABINETS ............................................
. PDP-11 Tabletop Box for 11/20, Etc. ..................................
PDP-11 Basic Mounting Box ................................................
PDP-11 Tabletop Extension Mounting Box ..........................
PDP-1 l-Freestanding Base Cabinet ............................. . ......
Freestanding Programmer’s Table .........................................
SYSTEM UNITS AND CABLES ....................................................
Peripheral Mounting Unit ....................................................
Blank System Unit ........................................................... .: ...
Unibus Module ....................................................................
Unibus Cable ...... :. ................................................................
CABLE REQUIREMENTS ..............................................................
PDP-11/20 POWER REQUIREMENTS ..........................................
TELETYPE REQUIREMENTS ........................................................
ENVIRONMENTAL REQUIREMENTS ............................................
INSTALLATION PROCEDURE ..................... ................................
CHAPTER 11 PAPER TAPE SOFlWARE SYSTEM
PTS FEATURES ............................................................................
PAL-11A Assembler ..............................................................
.
ED11 Editor ..........................................................................
ODT On-Line Debugging ......................................................
IOX Input/Output, etc. ........................................................
Math Package .......................................................................
Loaders ................................................................................
Core Dump Routines ..................................................... . ......
CHAPTER 12 THE OPERATOR’S CONSOLE
\ CQNSOLE ELEMENTS ..................................................................
Indicator Lights ..................................................................... :;
Register Displays ..................................................................
Switch Register ....................................................................
Control Switches .......................................................... i’. .....
x;
a7
.. CONTROL SWITCH OPERATION .................................................. 89
APPENDIX A-PDP-11 INSTRUCTION REPERTOIRE .................. 91
APPENDIX B-ADDRESSING SUMMARY .................... ..- ............. 95
ADDRESSING MODES ......................................... . ......................
General Register Addressing ................................................ E
PC Register Addressing ............. \. ........... . ........................... 95
--
VI
INSTRUCTION FORMATS ._.___...........___........................................ 95
VII
The PDP-11”is available in two versions-PDP-ll/lO and PDP-
11/20. The basic PDP-ll/lO contains 1,024 words of read only
memory in conjunction with 128 words of read/write memory and
the basic PDP-ll/PO includes 4,096,words of read/write memory.
VIII
CHAPTER 1
INTRODUCTION
This publication is a handbook for Digital Equipment Corporation’s PDP-11.
It provides a comprehensive overview of the system structure, the instruction
repertoire, input/output programming, peripherals, general interfacing, soft-
ware, and console operation.
PDP-11 is Digital’s answer to the demand for a modular system for real-time
data acquisition, analysis and control. PDP-11 systems can handle a wide
variety of real-time control applications-each system being individually
tailored from a comprehensive array of modular building blocks. Digital is
unique among manufacturers of small-scale computers-in its ability to pro-
vide not only fast and efficient processing units, but also a large family of its
own compatible I/O devices including A/D and D/A converters, magnetic
tape, disk storage, paper tape, and displays, as well as a wide range of
general-purpose modules. This capability offers the user a hew, more efficient
approach to real-time systems.
The following paragraphs introduce the new PDP-11 by way of highlighting
several of the important design features that set it apart from other machines
in its class. Subsequent chapters of this manual place these features in their
proper context and provide detailed descriptions of each.
PDP-11 SYSTEMS
The PDP-11 is available in two versions designated as PDP-ll/ 10 and PDP-
11/20. The PDP-ll/ 10 contains a KAll processor, 1,024 words of 16-bit
read-only memory, and 128 16-bit words of read-write memory. The basic
PDP-ll/PO contains a KAll processor and 4,096 words of 16.bit read-write
core memory, a programmer’s console, and an ASR-33 Teletype. Both ver-
sions can be similarly expanded with either read-write or read-only memory
and peripheral devices.
UNIBUS _
Unibus is the name given to the single bus structure of the PDP-11. The
processor, memory and all peripheral devices share the same high-speed
bus. The Unibus enables the processor to view peripheral devices-as active
memory locations which perform special functions. Peripherals can thus be
addressed as memory. In other words, memory reference insfructions can
operate directly on’control, status, or data registers in peripheral devices.
Data transfers from input to output devices can bypass the processor com-
pletely.
KAll PROCESSOR
The KAll processor incorporates a unique combination of powerful features
not previously available in ldbit computers.
Priority Interrupts-A four-level automatic priority interrupt system permits
the processor to respond automatically to conditions outside the system, or
in the processor itself. Any number of separate devices can be attached to
each level.
Each perkpheral device in a PDP-11 system has a hardware pointer to its own
unique pair of memory locations which, in turn, point to the device’s service
routine. This unique identification eliminates the need for polling of devices
1
to identify an interrupt, since the interrupt servicing hardware selects and
begins executing the appropriate service routine.
The device’s interrupt priority and service routine priority are independent.
This allows dynamic adjustment of system behavior in response to real-time
conditions.
The interrupt system allows the processor continually to compare its own
priority levels with the levels of any interrupting devices and to acknowledge
the device with the highest level above the processor’s priority level. Servic-
ing an interrupt for a device can be interrupted for servicing a higher priority
device. Service to the lower priority device can be resumed aUtOmaticallY
upon completion of the higher level servicing. Such a process, called nested
interrupt servicing, can be carried out to any level.
PACKAGING ’
The PDP-11 has adopted a modular approach to allow custom configuring Of
systems, easy expansion, and easy servicing. Systems are composed of basic
building blocks, called System Units, which are completely independent sub-
systems connected only by pluggable Unibus and power connections.
There is no fixed wiring between them. An example of this type of subsystem
is a 4,096-word memory module.
System Units can be mounted in many combinations within the PDP-11
hardware, since there are no fixed positions for memory or l/O device con-
trollers. Additional units can be mounted easily and connected to the system
.
in the field. In case maintenance is required, defective System Units can be
replaced with spares and operation resumed within a few minutes.
-E ’
A corn-e package of user-oriented software includes:
Absolute assembler providing object and source listings
Stritig-oriented editor
Debugging routines capable of operating in a priority interrupt environ-
mint
Input/output handlers for standard peripherals
Relocatable integer and floating point math library
3
All PDP-11 processors, memories and peripherals are electrically
and mechanically modular subsystems .supported in System Units.
which are simply plugged together to form a computer tailored to
user needs.
‘4
I
CHAPTER i
SYSTEM INTRODUCTION
SYSTEM DEFINITION
Digital Equipment Corporation’s PDP-11 is a 16.bit, general-purpose, parallel-
logic computer using two’s complement arithmetic. The PDP-11 is a variable ’
word length processor which .directly addresses 32,768 16.bit words or
65,536 8-bit bytes. All communication between system components is done
on a single- high-speed bus called a Unibus. Standard features of the system
include eight general-purpose registers which can be used as accumulators.
index registers, or address pointers, and a multi’level automatic priority in-
terrupt system.
SYSTEM COMPONENTS
UNIBW-There are five concepts that are very important for understanding
both the hardware and software implications of the Unibus.
Single Bus--The Unibus is a single, common path that connects the central
processor memory, and all peripherals. Addresses, data, and control informa-
tion are sent along the 56 lines of the bus.
The form of communication is the same for every device on the Unibus. The
processor uses the same set of signals to communicate with memory as with
peripheral devices. Peripheral devices also use this set of signals when com-
municating with the processor, memory, or other peripheral devices.
6
Read-only core memory (ROM) is available in 1,024 16 bit-word segments.
The access time of the ROM is 500 nanoseconds. Memory is also available in
128 16-bit word segments with a 2.0 microsecond cycle time. Both 1,024
words of read-only memory and 128 words of read-write memory mount in
a single System Unit and are a standard part of the PDP-ll/lO system.
PERIPHERAL DEVICES-The ASR-33 Teletype with low-speed paper tape
reader and punch is provided in the basic PDP-11/20 system. Options for the
.PDP-11 include a paper tape reader capable of reading 300 characters per
second, a paper tape punch with an output capacity of 50 characters per
second, and additional Teletype units. Provision is made for the addition
of numerous peripheral devices. These include standard DEC peripherals as
well as other devices which will be unique to the PDP-11.
SYSTEM INTERACTION
At any point in time only one device can be in control of the bus, or be bus
master. The master communicates with another device on the bus which is
called the slave. Usually, the established master will communicate with the
slave in the form of data transfers.
Full 16-bit words or 8-bit bytes of information can be transferred on the bus
between the master and the slave. The information can be instructions, ad-
dresses, or data. This type of ‘operation occurs when the processor, as
master, is fetching instructions, operands, and data from memory, and re-
storing the results into memory after execution of instructions. Pure data
transfers occur between a disk control and memory.
TRANSFER OF BUS MASTER-When a device (other than the central pro-
cessor) is capable of becoming bus master and requests use of the bus, it is
generally for one of two purposes: 1) to make a non-processor transfer of
data directly to or from memory, or 2) to interrupt program execution and
force the processor to branch to a specific address where an interrupt
service routine is located.
PRIORITY STRUCTURE-When a device capable of becoming. bus master
requests use of the bus, the handling of that request depends on the loca-
tion of that device in the priority structure. These factors must be considered
to determine the priority of the request;
1. The processor’s priority can be set under program control to one of
eight levels using bits 7, 6, and 5 in the processor status register.
These three bits set a priority level that inhibits granting of bus re-
quests on lower levels.
2. Bus requests from external devices can be made on one of five re-
quest lines. A non-processor request (NPR) has the highest priority,
and its request is honored by the processor between bus cycles of
an instruction execution. Bus request 7 (BR7) is the next highest
--priority, and BR4 is the lowest. The four lower level priority requests
are honored by the processor between instructions. When the pro-
cessor’s priority is set to a level, for example 6, all bus requests on
BR6 and below are ignored.
3. When more than one device is connected to the same bus request
(BR) line, a device nearer the central processor has a higher priority
than a device farther away. Any number of devices can be connected
to a given BR or NPR line.
Once’s device other than the processor has control of the bus, it is for one
of two types of requests: 1) NPR Request, 2) ‘Interrupt Request.
7
NPR Requeata-NPR data transfers can be made between any two peripheral
devices without the supervision of the processor. Normally, NPR transfers
are between a mass storage device, such as a disk, and core memory.
The structure of the bus also permits device-to-device trat’ISfer% allowing.
customer-designed peripheral controllers to access other devices such as
disks directly. -
An NPR device has very fast access to the bus and can transfer at high data
rates once it has control. The processor state is not affected by the transfer:
therefore the processor can relinquish control while an instruction is in
Progress. This can occur at the end of any bus cycle except in between a
read-modify-write-sequence. (See Chapter 8 for details). In the PDP-11, an
NPR device can gain bus control in 3.5 microseconds or less. An NPR device
in COritrOl of the bus may transfer ldbit words from memory at memory
speed or every 1.2 microseconds in the PDP-ll/EO or every 1.0 microseconds
in the PDP-ll/lO.
IIIterrUpt Requests-Devices that request interrupts on the bus request lines
(BR7, BR6, BR5, BR4) can take advantage of the power and flexibility of
the processor. The entire instruction set is available for manipulating data
and status registers. When a device servicing program must be run, the task
currently under way in the central processor is interrupted and the device
service routine is initiated. Once the device request has been satisfied, the
processor returns to the interrupted task.
In the PDP-11, the return address for the interrupted routine and the proces-
sor status word are held in a “stack.” A stack is a dvnamic seauential
list of data with special provision for access from one end. A stack-is also
called a “push down” or “LIFO” (Last-In First-Out) list. Storaee and re-
trieval from stacks is called “pushing” and “popping” respecti&ly. These
operations are illustrated in Figure 2-1.
In the PDP-11, a stack is automatically maintained by the hardware for inter-
rupt processing. Thus, higher level requests can interrupt the processing of
lower level interrupt service, and automatically return control to the lower
level interrupt service routines when the higher level servicing is completed.
Here is an example of this procedure. A peripheral requires service and
requests use of the bus at one of the.BR levels (BR7, BR6, BR5, BR4). The
operations undertaken to “service” the device are as follows:
,E0
I l.AN EMPTY
STACK
3.PlJStlING
~tiW&CNTO
ANOTHER
THE
E2 E3 E3
El El
E0
4. ANOTHER
PUSH
Fig 2-1
El
5 POP
El
E0
Illustration
I3
6.
E4
EO
PUSH
8
Priorities permitting, the processor relinquishes the bus to that
device.
When the device has control of the bus, it sends the processor an
interrupt command with the address of the words in memory con-
taining the address and status of the appropriate device service
routine.
The processor then “pushes”- first, the current central processor
status (PS) and then, the current program counter (PC) onto the
processor stack.
The new. PC and PS (the “interrupt vector”) are taken from the loca-
tion specified by the.device and the next location. and the device
9
service routine is begun. Note that those operations all occur auto-
matically and that no device-polling is required to determine which
service routine to execute.
5. 7.2 microseconds is the time interval between the central Processor’s
receiving the interrupt command and the fetching of the first inStruC-
tion. This assumes there were no NPR transfers during this time.
6. The device service routine can resume the interrupted process by
executing the RTI (Return from interrupt) instrudion which ‘ipops”
the processor stack back into the PC and PS. This requires 4.5
microseconds if there are no intervening NPR’s.
7, A device service routine can be interrupted in turn by a sufficiently
high priority bus request any time after completion of its first in-
struction.
8. lf such an interrupt occurs, the PC and PS of the device service .
routine are aUtOITX3tiCally pushed into the stack and the new device
routine initiated as above. This “nesting” of priority interrupts can
go on to any level, limited only by the core available for the stack.
More commonly, this process will nest only four levels deep since
there are four levels of BR signals. An example of nested device
servicing is shown in Figure 2-2. A rough core map is given for each
step of the process. The SP points to the top word of the stack as
shown.
10
CHAPTER 3
ADDRESSING jdODES‘
Most data in a program is structured in some way-in a table, in a stack, in
a table of addresses, op perhap$ in a small set of frequently-used variables‘
local to a limited region of a program. The PDP-11 handles these common
data structures -with addressing modes specifically designed for each kind
of access. In addition, addressing for unstructured data is general enotfgh *’
to permit direct random ac%ess to all of core. Memory is not brokeri up into
pages and fields (often awkward and wasteful of core storage).
Addressing in the PDP-11 is dohe through the general registers. PrOWems
requiring several stacks can use the general registers for stack pointers.
Those requiring many local variables can use general registers as accumu-
lators. The general registers can be used interchangeably as index ,registen
or as sequential list pointers to access tabularrdata. Address arithmetic may
be done directly in the general registers. ,
ADDRESS FIELDS
PDP-11 instruction words contain a 6-bit address field divided into two sub-
fields selecting the general register and the mode generating the effective
address.
Operands that are pointed to -by addresses (indirect or deferred) are de-
noted to PAL-11 by the @ symbol. Thus, instructions of the form
*.
OPR @R
specify deferred register addressing and have the following address field.
11
Deferred register addressing may also be selected in PAL-11 by the form
OPR (R).
INDEXED AD~RE&G-T~IZ general fegisters may be used as index reg
jr&en to per&t random access of items in tables or stacks of data. InStrUC-
tions of the form
OPR X(R)
specify indexed mode addressing. The effective address is the sum of X
and the contents of the specified general- register R.
The index word containing X follows the instructi& word.
OPR @X(R) _
01% (RI+
specify autoincrement addressing. The address field for autoincrement ad-
dressing is
OPR @(Wk
specify deferred autoincrement addressing and assemble with the followihg
address field.
12
(decrement by two) address and-uses the new contents of the general reg-
ister as the operand address. Instructions of the form
-0PR -(RI
specify autodecrement addressing. The address field for autodecrement ad- ’
dressing is
This mode also may be deferred and specified by instructions of the form
OPR @ -(R). When deferred the address field is
STACK PROCESSING
The combination of autoincrement addressing in which the general register is
stepped forward after the operand address is determined and autodecrement
addressing in which the general register is stepped backward before the
operand address is determined is the basic requirement for convenient low
overhead stack operations.
The PDP-11 has extensive stack processing capabilities. The stack pointer
(SP), R6, maintains a stack for the nested handling of interrupts. All of the
general registers can maintain stacks under program control. Elements in
the middle of stacks may be accessed through indexed addressing. This
provides for convenient access of dynamically assigned temporary storage,
especially useful in nested procedures.
The program counter points to the word after the instruction word. The con-
tents of this word are therefore used as the operand and the program counter
. is stepped to the next word. PAL-11 recognizes address expressions of the
form “#n” as immediate operands and codes them with the address field
shown above followed by a word of data (n).
A full word is assembled for immediate operands even in byte instructions
so that instruction words are always fetched from even locations.
ABSOLUTE ADDRESSING-The contents of the location following the instruc
13
tion word may be taken as the address of an operand by specifying deferral
in immediate mode addressing. That is, instructions of the form
OPR A
(where A has not been assigned as a name of a general register) as an
instruction word with the address field
k-f OFTM*IIIID.2
14
and is followed by index words and immediate operands for the source and
destination address fields as appropriate. Source address calculations are
performed before destination address calculations. Since each operand may
be anywhere in core storage or in the general registers, each memory location
is thus effectively provided with the arithmetic capabilities of an accumulator.
Further, since peripheral device registers and memory location are addressed
in the same way, the contents of peripheral data buffers can be stored or
loaded directly to and from memory without use of any general register. This
means that interrupt routines can be executed without saving and restoring
any of the general registers.
19
CHAPTER 4
INSTRUCTION SET
This chapter Presents the order code for the PDP-11. Each PDP-11 instruc-
tion is described in terms of five parameters: operation, effect on condition
codes, base timing, assembler mnemonics, and octal representation. Special
comments are included where appropriate.
NOTATION
The following notations will be used in this section:
(XXX) : The contents of XXX
src : The Source Address
dst : The Destination Address
A : Boolean “AND” Function
V : Boolean “OR” Function
tf : Boolean “Exclusive OR” Function
: Boolean ‘NOT” Function (Complement)
: “becomes”
: “is popped from the stack”
i : “is pushed onto the stack”
INSTRUCTION TIMING
The PDP-11 is an asynchronous processor in which, in many cases, memory
and processor operations are overlapped. The execution time for an instruc-
tion is the sum of a basic instruction time and the time to determine and
fetch the source and/or destination operands. The following table shows the
addressing times required for the various modes of addressing source and
destination operands. The instruction time for each operation is given
(throughout this chapter) for the 11/20 configuration. All times stated are
subject to +20% variation.
ADDRESSING FORM TIMING
(src or dst) src bs)t dst Wt
R 0 0
(RI or @R 1.5 1.4*
1.5 1.4’
L”c’Rf 1.4*
@(W + ::7” 2.6*
G?-(R) 2.6*
BASE(R) 2:; 2.6*
@BASE(R) or @(R) 3.9 3.8’
l dst time is .4 ws. less than listed time if instruction was a
CoMPare. CoMPare Byte
Bit Test, Bit Test Byte
TeST, or TeST Byte
none of which ever modify the destination word.
t referencing bytes at odd addresses adds 0.6~s to sn and dst times.
17
Arithmetic Operations-
0 , 6 WC dst ,
I I I I I 1 I I
(5 12 11 6 5 0
18
Description: Adds the source operand to the destination operand and stores
the re< at the destination address. The original contents-of the destination
are lost. Ttr, ktmcI of the sowe are not a#ectod. Two’s cwpt addi-
tion is perfoti.
The ADD instruction inckdes as special cases the “add-to-register,” “add-t@
memory,” and ‘Md-reister-to-rwister” functions:
Add-to&gister ADD WC, R ,
A&l-to*mory ADD R, +t
Add Register-to-Register ADD RA. RB
Arithmetic may also be done directly in memory by the general form ADD
instruction
ADD src, dst
.
Use of this form saves considerable loadindand storing of accumulators.
Two special cases of the ADD instruction are particularly useful in coppilers,
interpreters, and other stack arithmeti processes:
ADD (R +, (RI
(where R is th II stack pointer)
which replaces the top two elements ‘pf the stack with their sum; and ADD
src. (R), which increases the top eletient of the stack by the contents of
the source address.
The “Add Immediate” operation is y&t another special case of this general-
ized .ADD iristruction:
ADD #n, dst *
All these special cases of the ADD instruction apply equally well to the other
double operand instruetions that follow.
suBtract SUB WC, drt 2.3 YI
1 , 6 WC drt
I t I I I t II t I I t I
15 12 11 6 5 0
Description: Subtract; the source operand from the destination operand and
leaves the result at the destination address. The original contents of the
destination are lost. The contents of the source are not affected.
19
COMParo CMP rrc.dst 2.3ur’
01 2 WC dst
I I I I 1 1 1 I I I t
6 5 0
(5 12 11
0 , 5
It~IJ*I~~I’~l
15 12 11 6 5 0
0 4 src dst
1 I L I t I t t I I I
15 12 11 6 5 0
Description: The BIC instructi,on clears each bit in the destination that car-
responds to a set bit in the source. The original contents of the destination
are lost. The contents of the sources are unaffected.
*There is no read/modify/write cycle in the CMP, BIT. and TST operations. This.iaves
0.4 ws in all destination address modes except register mode.
20 ’
Bll Test BIT rrc,dst .2.9***
* 0, 3 WC dd ,
I I I I I I I I 1 I
. 15 12 11 6 5 0
01 lOI I I Ol I4 I I I I I I
15 6 7 0
21
gbnpk corldttbnrit Bran&es-Conditioned branches combine in one instruc-
tion a conditional sMp, unconditional branch sequence.
.
Timing for the conditional branches is shown as execution time if the con-.
dition is not met, followed by the execution time if the condition is met (end
a program branch occurs).
Branch on Eauol(z.ro) BEQIOC ~.SILS,~,~.~ILS
offrrt
0 , ,O I I I I I 4 I I I I, I, 1
15 6 7 0
offset
0
0 1 0
I1 1
I I I I I I III I
15 B 7 0
0ffS.t
1 I 0 I, 0 I II 0 I I1 I I1 1
15 -. B 7 0
Operation: lot + (PC) if N = 0.
Description: Tests the state of the N-bit and causes a branch if N is,clear.
BPL is the complementary operation to BMI.
1 , 0, ,
31 I4 I I I I I I I
t5 8 7 0
Description: Tests the state of the C-bit and causes a branch if C is set. It
is used to test for a carry in the result of a previous operation.
, 0 3 0
1 I I I I I I I IOffset III I I
15 8 7 0
Description: Tests the state of the C-bit and causes a branch if C is clear.
BCC is the complementary operation to BCS.
offset
1 , 0 I I 2 I I 4 I I I I t I 1 I
15 8 7 0
Description: Tests the state of the V-bit (overflow) and causes a branch. if
the V-bit is set. BVS is used to detect arithmetic overflow in the previous
operation.
oftset
1 I 0
I 121 PI I I I I I I 1 I
15 8 7 0
Description: Tests the state of the V-bit and causes a branch if the V-bit is
clear. BVC is the complementary operation to BVS.
Note that the sense of signed comparisons differs from that of unsigned
comparisons in that in signed 16-bit, two’s complement arithmetic the
sequence of values is as follows:
23
largest .. ......... .... . . . . . . . . . . . . 077777
077776
positive .
.
.
000001
000000
177777
177776
negative
lQo00l
smallest 100000
whereas in unsigned 16-bit arithmetic the sequence is considered to be .
highest . . . . ~. . . . . . . . . . . . . . . . . . . . . . . . . 177777
.
000002
00000 1
lowest _. .._. . . . _.. ._ ,. .___, 000000
offset
01 0 2 4
I I I II I I I I I I I
15 8 7 0
offset
0 1 0
I I 2, IO I I I I I I
15 8 7 0
24
Branch on Less than or Equal(Z*ro) BLE lot 1.5~~. 2.6~
offset
01 to, I ‘31 14 I t I I I
i5 07 0
0, 0 I I 3 I II 0 11 1
offset ’ 1 ”
15 8 7 0
offset
1 , , 0
I, 1 I I ‘0
11.1 I I I I I
‘t 5 8 7 0
offset
I,0 f ,
1 I' I I I I I 1 1
(5 8 7 0
t 1 offset
0 3 0
I, Ii I I I, I I , I
15 -8 7 0
25
BLO IOC t.5 YS, 2.6~s
Branch on LOwn
Offset
t 1 0, 1 , 3 , 1 4 I I I I I 1.1
95 e 7 0
dst
1
01 ‘0
I I 0
I I I I I I I I t 1
15 6 5 0
26
address. A “boundary error” condition will result when the processor at-
tempts to fetch an instruction from an odd address.
Deferred index mode JMP instructions permit transfer of control to the
address contained in a selectable element of a. table of dispatch vectors.
SUBROUTINES-The subroutine call in the PDP-II provides for automatic
nesting of subroutines, regntrancy, and multiple entry points. Subroutines
may call other subroutines (or indeed themselves) to any level of nesting
without making special provision for storage of return addresses at each
level of subroutine call. The subroutine calling mechanism modifies no fixed
location in memory and thus also provides for reentrancy. This allows one
copy of a subroutine to be shared among several interrupting processes.
-Q dsi
01 0 I I 4 I I, I I, I I,,
15 9 6 6 3 0
27
ReTurn from Sutwoutine 3.5&S
I
15 3 2 0
28
The instruction INC Rl increases the contents of Rl by 1 and the instruction
CLR RO zeroes the register RO
The operation TST (SP)+ removes the top element on the stack. At the time
it is used, the top element holds the contents of R5 that were saved by the
call to REST. Since R5 is to be loaded with the value saved on the stack
by SAVE, this information is not needed.
29
At this point execution of RTS PC returns control to the main
program.
30
TYPFIN: HALT ;suspend processor opera-
;tion, wait for key continue
TYPOUT: JSR R5, TOLER ;get address of bad item:
- ;initialization entry
. WORD ARRAY ;address of array
. WORD -LENGTH ;-length of array
. WORD HILIM ;high limit
. WORD LOLIM ;low limit
TYPCHK: BEQ TYPFIN ;Z-bit is set if no more out
;of limits
JSR R5, SAVE ;an element is out of limits,
;save registers
MOV -(RO), RO ;RO holds address + 2, get
;operand into RO
JSR PC, DECPNT Tprint out number
MOV #CR, RO ;type CR, LF
JSR PC, TTYOUT mote use of second entry
;point
JSR R5, REST ;restore registers
JSR R5, TLOOP ;continue searching array,
;alternate entry
BR TYPCHK ;another bad element?
SINGLE OPERAND INSTRUCTIONS-Single Operand Instructions are repre-
sented as:
OPeRotion OPR dst Instruction Time
operation code dst
I I’ I I I I t ,I I I I 1 I I I I I
15 6 5’ 0
The execution time for single operand instructions is the sum of the basic
instruction time and destination a$dress time for the operation.
General Operations-
CLMR CLR dd 2.3~
0 1 0 I 51 I 101 dd
I I I I 1
15 6 5 0
Operation: 0 + (dst)
Condition Codes: Z: set
N: cleared
C: cleared
V: cleared
Description: Zeroes the specified destination.
INCrement = _ Hcdst 2.3~
drt --
0 1 0
I I
5
II I
2.
I I l t I 11
15 6 5 0
31
DECrment DEC drt 2.3~
drt
4
0 1 0
I I 5
t I I I I I I I I I
15 6 5 0
dst
0 1 0 5 7
I t 1. I , I I I’1 I I I
15 6 5 0
Operation: 0 - (dst)
Condition Codes: as in CMP #0, dst
Z: set if the result is 0; cleared otherwise
N: set if the result is < 0; cleared otherwise
C: cleared
V: cleared
Description: Sets the condition codes Z and N according to the contents of
the destination address.
COMplement COM dst 2.31~ *
dst
01 IO, I 15, I I’, t I I I I
15 6 5 0
32
Multiple Precision Operations-It is sometimes convenient
to d6 arithmetic
on operands considered as multiple words.‘The PDP-11 makes special pro-
vision for such operations with the instructions ADC (ADd Carry) and SBC
(SuBtract Carry).
ADd carry ADC dst 2.3YS
dst
5 5 I I
01 IO, 1 I I I I 1 1 I
15 6 5 0
dst
0 1 0 ,.. 5 6
I I I I I I I I J
t5 6 5 0
33
ROR dst 2.3~
ROtaA Right
dst
01 lOI I I 6 I .I 0 , I I I I 1
15 6 5 0
I 1I
dst
0 1 0
I 16, I I 1 I I 1 I 1
15 6 5 0
Condition Codes: Z: set if all bits of the result word = 0; cleared other-
wise
N: set if the highlorder bit of the result word is set;
cleared otherwise
C: loaded with the high-order bit of the destination
V: loaded with the Exclusive OR of the N-bit and C-bit
(as set by the completion of the rotate operation)
Description: Rotates all bits of the destination left one place. Bit 15 is loaded
into the C-bit of the status word and the previous contents of the C-bit are
loaded into bit 0 of the destination.
SWAO Bytes SWAB dst 2.3~
dst
01 10, I 10, .I 131 I I I I
15 6 5 0
dst
01 , 0, 1 , 6, 1 , 2 , I t I e I
15 6 5 0
dst
01 , 0 , 1 , 6 , 1 , 3, 1 I I I I
(5 6 5 0
Description: Shifts all bits of the destination left one place. Bit 0 is loaded
with a 0. The C-bit of the status word is loaded from the most significant bit
of the destination. ASL performs a signed multiplication of the destination
by 2.
-36
Operation: (src) + (dst)
Condition Codes: Set on the byte result as in MOV
SW dst
t1 ,s,- I I I I
I I I I I
I5 12 11 6 5 0
41 , 3, I I UCI 1 I drt
I I I I
t5 12 11 6 5 0
37 \
LNLINE is the Length of uNpacked LINES. The routine requires 24 words.
dst
‘I lOI I 15, I rot I I I I I
t5 6 5 0
Operation: 0 + (dst)
Condition Codes: Set on the byte result as in CLR
Description: Same as CLR
dst
‘I 101 I 15, I 121 I I I # I
15 6 5 0
dst
1 1 oi 1 5 3
I I I I 1 I I
15 6 5 0
38
~.
NEGote Byte NEGB -dst 23ns
dst
‘I 101 I Ii, I 141 I I I t
I5 6 5 0
-. l
dst
‘I lOI 5, I 17, I I I I
15 6 5 0
Operation: 0 - (dst)
Condition Codes: Set on the byte result as TST
dst
‘I 101 I 151% I I’, I I I I I
15 6 5 0
dst
‘I lOI I 15, I I 5 ,
I I I I
15 6 5 0
‘\ Operation: (dst) + (C) + (dst)
I , 0 dst
I 15, I I 6 I I I , I , ,
15 6 5 0
39
. ,
mtate Left Byte ROLB drt ’ ~ 2.3~1 Q
1
15
, 0 I I t 1 I I .I 1 1 1 ’ ’ 1
6 3
6 5
dst ,
1 1 0
I 16’1 I I
2
I
I
15 6 5 0
15 5 4 3 2 1 0
40
Combinations of the above set or clear operations may be ORed together to
form new instruction mnemonics. For example: CLCV = CLC ! CLV. The new
instruction clears C and V bits. (‘I!” signifies “inclusive or” in PAL-11.)
15 0
15 0
41
EMulotw Traps EMT xycx 9.9 us
XXI
‘I 101 ,4, 0, , 1 , , 1 , ,
15 9 7 0
Operation: (PS) J, SP
WI J SP
(30) + PC
(3?) + PS
15 0
Operation: Same as IOT except that trap vector is located at address 14.
42
R.Turn from Interrupt RTI 4.Bus
43
An instruction that set the T-bit-Since the T-bit was already set, Settiflg it
again has no effect.
An instruction that caused an Instruction Trap--The instruction trap is
sprung and the entire routine for the service trap is executed. If the service
routine exists with an RTI or in any other way restores the stacked status
word, the T-bit is set again, the instruction following the traced instruction
is executed and, unless it ,is one of the special cases noted above, a trace
trap occurs.
44
CHAPTER 5
ADDRESS ALLOCATION
The PDP-11 provides for a very flexible addressing structure. Both 16-bit
words and 8-bit bytes can be directly addressed. Addresses are 1Bbits long
allowing for direct addressing of 32,768 words or 65,536 bytes.
ADDRESS MAP
As a result of the organization of the PDP-11, bus addresses serve several
functions. A map of possible PDP-11 bus address allocation is shown
160bOOs
Typical
Registers for
. Programmed
Status Register and Transfer
Data Buffer Register Device
.
Device Address Register Typical
Word Count Register Registers
Memory Address Register for a
Control and Status Registers Block
Transfer
* Device
1777778
Figure 5-1
Simplified Address Allocation Map
45
in Figure 5-1. Three areas of addresses of particular interest to the Pro-
grammers are: 1) Interrupt and Trap VeMors; 2) Processor Stack and General
Storage; and 3) Peripheral Device Registers.
INTERRUPT AND TRAP VECTORS-Addresses between lOCatiOn zero and
location 4001 are generally reserved for interrupt and trap vectors.
PROCESSOR STACK AND GENERAL STORAGE-Addresses between 4001
and the limit of implemented core are available for the processor stack or
other programs and data. The highest address in ttiis region is 157777*.
PERIPHERAL DEVICE REGISTERS-Addresses above 160000, generally are
reserved for peripheral device status, control, and data registers. The general
registers and the processor status can be addressed from the program
console using addresses in this area.
A more detailed address allocation map can be found in Appendix D.
CORE MEMORY
The three types of core memory that can be used in a PDP-11 system are:
1) Read-Write Core Memory: 2) Read-Only Core Memory; and 3) Wordlet
Memory. These memories can be located anywhere in address space provided
they do not overlap. They do not have to be in continuous address locations.’
MMll-E READ WRITE CORE MEMORY-The MMll-E has the following
specifications: ,
Capacity: 4,096 l&bit words or 8,192 8-bit bytes -
Cycle Time: 1.2 microseconds
Access Time: 500 nanoseconds
Configuration: Planer 3-wire, 3-D using 22 mil cores
Packaging: One standard PDP-11 System Unit
interface: Designed to work with PDP-11 bus, l-FL-compatible
MRll-A READ-ONLY CORE MEMORY (ROM)-The ROM has the following
specifications:
Capacity: 1,024 l&bit words or 2,048 8-bit bytes
Access Time: 500 nanoseconds
Configuration: P-piece core with wire braid, 256 wires, 64 cores
Packaging: 3/4 of one standard PDP-11 System Unit
Interface: Designed to work with PDP-11 bus, TTL-compatible
MWllA WORDLET MEMORY-The wordlet memory is used with ROM sys-
tems and provides read-write memory capacity for temporary data and in- ’
struction storage.
Capacity: 128 16.bit words or 256 8-bit bytes
Cycle Time: 2.0 microseconds
Access Time: 1.0 miorosecond
Configuration: 5-Wire, 3D
Packaging: l/4 standard PDP-11 single System Unit-
Interface: The wordlet memory will work with the ROM and interfaces
through the ROM System Unit to the PDP-11 bus.
46
CHAPiER 6
PROGRAMMING OF PERIPHERALS
Programming of peripherals is extremely simple in the PDP-11-a special
class of instructions to deal with input/output operations is unnecessary.
The Unibus permits a unified addressing structure in which control, status,
and data registers for peripheral devices are directly addressed as memory
locations. Therefore all operations on these registers, such as transferring
information into or out of them or manpulating data within them, are per-
formed by normal memory reference instruction.
The ability to use all memory reference instructions on peripheral device.
registers greatly increases the flexibility of input/output programming. ln-
formation in a device register can be compared directly with a value and a
branch made on the result.
CMP #lOl, PRB
BEQ SERVICE
In this case the program looks for 101, from the paper tape reader data
buffer, and branches if it finds it. There is no need to transfer the informa-
tion into an intermediate register for comparison.
DEVICE REGISTERS
All peripheral devices are specified by a set of registers which are addressed
‘as core memory and manipulated as flexibly as an accumulator. There are
two types of registers associated with each device: 1) Control and Status.Reg-
isters (CSR); and 2) Data Registers.
CONTROL AND STATUS REGISTERS (CSR)-Each peripheral has one or more
control and status registers which contain all the information necessary to
communicate with that device. The general form of a control and status
register is shown below.
47
devices. Many devices will require less than sixteen status bits. Other devices
will require more than sixteen bits and therefore will require additional status
and control registers.
Memory Extension Bits-These two bits are resewed for future expansion.
They will allow devices to ‘use a full 18 bits to specify addresses on the bus.
Done Enable and Error Enable Bits-These two bits are independently Pro-
grammable. If bit 6 is set, an interrupt will occur as a reSUlt of a function
done condition. If bit 5 is set, an interrupt will occur as the result of an
error condition. This occurs when one or more of the error bits is sat to a
one. To initiate an interrupt routine to read from the paper tape reader,
the instruction
MOV #lOl, PRS
could be used. This sets bit 0 and bit 6 of the paper tape reader control and
status register. Setting bit 0 starts the read operation and setting bit 6
enables an interrupt to occur when the read operation’is complete.
Unit Bits-Some peripheral systems have more than one device per control.
For example, a disk system can have multiple surfaces per control and an
analog-to-digital converter can have multiple channels. The unit bits select
the proper surface or channel.
Example of Control and Status Register -The high-speed paper tape reader
control and status register (PRS) is as follows:
These bits may be read or set by instructions which use the appropriate
effective address. Bit 0 of the PRS is the function bit for reading one char-
48
acter. Incrementing the PRS will set bit 0 and cause one character to be
read. The instruction
INC PRS
performs that function. MOV #l, PRS does the same thing but takes one
more word.
PROGRAMMING EtiMPLES
PROGRAM CONTROLLED DATA TRANSFER WITH THE INTERRUPT DISABLED
-Single character I/O devices (teletype, paper tape reader/punch) have an
addressable register buffer through which data is transferred. For input, the
data buffer register is the source operand of the instruction used to get the
. data; for output, it% the destination operand. For example assuming the
paper tape reader interrupt is not enabled, character input could proceed
as follows:
MOV R, -(SP) ;
save R on the stack
MOV #8UFFER, R ;
pointer to input buffer into register R
START: INC PRS ;
start up reader
LOOP: BIT PRS, # 100200 ;
test DONE and ERROR bits
BEQ LOOP ;
branch back if none on yet
BMI ERROR ;
branch to error routine if minus
MOVB PRB, (R)+ ;
move byte from device buffer reg-
ister to user’s buffer and increment
;
;
pointer
CMP #LIMIT R, ;
check for end of buffer
BGE START ;
get next character.
MOV (SP)+, R restore R
;
-
Character output to the paper tape punch might be executed as follows:
MOV RO, L(SP) ; save RO
MOV Rl, -(SP) ; save Rl
MOV NCHAR, RO ; *number of characters into RO
MOV BUFFER, Rl ; user buffer address into Rl
LOOP: BIT PPS, #100200 ; test device ready and error bits
BEQ LOOP ; fall through if on
BMI ERROR ; branch on error
MOVB (Rl)+, PPB ; output character, increment pointer
DEC RO ; decrement character counter (and
; set condition codes)
BGT LOOP ; repeat if greater than zero
MOV (SP)+, RO ; restore RO
MOV (SP)+, Rl ; restore Rl
49
A tvoical
_. set might be:
1. Control-and status register
2. Memory address register
3. Word count register
4. Device address register
Loading the device address register would in general initiate the transfer,
which then proceeds without processor intervention. The device issues non-
processor requests for the Unibus that, when granted, allow direct data
transfer between the device and memory. These requests are interleaved
with processor. requests for the bus. If very fast transfer is required, the
processor may execute a WAIT instruction after starting the block transfer.
The DONE or appropriate -error bits are set in the CSR with Completion of
the transfer or when an error occurs. These may be enabled to cause an
interrupt or may be tested to determine when the device needs assistance.
A block transfer could be executed as follows:
’ MOV #401, DKS, ; read block of data (function 1)
; from unit 1
MOV #BUFADR, DKMA ; buffer address to memory ad-
; dress register
MOV #BUFCNT, DKWC ; word count to word count register
MOV #BLKNO, DKDA ; block number to device address
; register, which starts the trans-
; fer
.
: when data is needed.
LOOP: BIT #DKMSK, DKS ; test done bit and error bits
BEQ LOOP ; branch back if none on \
BIT #DKEMSK, DKS ; test for any error bits
BNE ERROR ; branch if any on
; data is now in buffer at BUFADR
INTERRUPT STRUCTURE
If the appropriate interrupt enable bit is on, in,the control and status register
of a device, transition from 0 to 1 of the DONE or READY bit causes an
interrupt request to be issued to the processor. Also if DONE or READY’ is a _
1 when the interrupt enable is turned on, an interrupt request is made. If
the device makes the request at a priority greater than that at which the
processor is running and no other conflicts exist, the request is granted and
the interrupt sequence takes place:
a. the current program counter and processor status are pushed onto
the processor stack;
.b. the new PC and PS are loaded from a pair of locations (the interrupt
vector) in low core unique to the interrupting device.
Since each device has a unique interrupt vector which dispatches control to
the appropriate interrupt handling routine immediately, no device polling is
required.. Furthermore, since the PS contains the processor priority, the
priority at which an interrupt request is serviced can be set under program
control and is independent of the priority of the interrupt request. The
50
ReTurn fmm Interrupt instruction is used to reverse the action of the
interrupt sequence. The top two words on the stack are popped into the PC
and PS, returning control to the interrupted sequence.
PROGRAMMING EXAMPLE
A paper tape reader interrupt service could appear as follows:
First the user must initialize the service routine by specifying an address
pointer and a word count
INIF MOV #BUFADR, #0 ; set up address pointer
POINTR = . - 2 ; in third word of MOV instruction.
MOV #CNTR, #0 ; set up character count in
CRCNT=.-2 ; third word of MOV instruction.
MOV #lOl, PRS ; read a character with interrupt
_ ; enabled.
When the interrupt request occurs and is acknowledged, the processor stores
the current PC and PS on the stack. Next it picks up the interrupt vector or
new PC and PS beginning at location 70~. The next instruction executed is
the first instruction of the device service routine at PRSER.
PRSER: TST PRS test for error
BMI ERROR I branch to error routine if
bit 15 of PRS is set.
MOVB PRB, @POINTR ; move character (byte)
from reader to buffer
INC POINTR increment pointer \
DEC CRCNT decrement character count
BEQ DONE branch when input done
. INC PRS start reader for next character
DONE: RTI ; return from interrupt
51
The DIGITAL M225 module contains 8 high speed general-purpose
registers. The M225 general registers provide program flexibility
when used as accumulators, index registers, and pointers to data
words.
52
CHAPTER 7
TELETYPE (MODEL LT33-DC/DD)
The standard Teletype Model 33 ASR (Automatic Send-Receive) can be used
to type in or print out information at a rate of up to ten characters per sec-
ond, or to read in or punch out perforated paper tape at a ten characters
per second rate. Signals transferred between the 33 ASR and the control
logic are standard serial, 11-unit code Teletype signals. The signals consist
of “marks” and “spaces” which correspond to idle and bias current in the
Teletype serial line, and to O’s and l’s in the control and computer. The
start mark and subsequent eight bits are each one unit of time duration and
are followed by the stop mark which is two units.
The 8-bit-code used by the Model 33 ASR Teletype unit is the America1
Standard Code for Information Interchange (ASCII) modified. To convert the
ASCII code to Teletype code, add 200 octal (ASCII + 200s = Teletype).
The Model 33 ASR can generate all assigned codes except 340 through
374 and 376. The Model 33 ASR can detect all characters, but does not
interpret all codes that it can generate as commands. The standard number
of characters printed per line is 72. The sequence for proceeding to the next
line is a carriage return followed by a line feed. Punched tape format is as
follows:
Tape Channel 87 654 S 321
53
Teletype unit to release the tape feed latch. When releasea the latch
mechanism stops tape motion only when a complete character has been
sensed, and before sensing of the next character is statthd. When the charac-
ter is available in buffer (TKB), the busy bit (BUSY) i$ cleared and the done
flag (DONE) is set. If the interrupt is enabled, a request is made for the bus
at level 4 (BR4). The interrupt vector is at location 60,. The DONE bit is
cleared by any instruction which reads the contents of the buffer (TKB) into
the processor. If the DONE flag is cleared before the interrupt is granted, no
interrupt will occur. The keyboard must be read within 18 milliseconds of
DONE to ensure no loss of information.
Registers1
Teletype Keyboard Status (TKS)
IS 1t 7 6 0
I 0*
l-BUSY ’ $&TENB L- ROR
ENB
Bit
0 RDR ENB Requests that one character be read from the
reader; set from the bus: (Note: Setting RDR
ENB causes tape to advance by one character
which is shifted into TK8 if DONE is cleared.)
Receipt of START bit on the serial input line sets
BUSY, clears RDR ENB and clears TKB.
6 INT ENB O-No interrupt; l-Attach the keyboard and
reader to the priority interrupt system at bus
request level 4.
7 DONE Character available; cleared by reading the buf-
fer (TKB).
11 BUSY Character is being read; set by RDR EN8 going
’ to a 1. Cleared by DONE going to a 1.
I The following notation will be used throyghout this chapter for describing registers.
0 -A power clear sets this bit to 0.
1 -A power clear sets this bit to 1.
l -This bit can only be read from the bus.
$-This bit can only be set from the bus. If it is read, it will always appear
as zero.
Teletype Keyboard Buffer (TKB).
*
&BIT CHARACTER
I I
15 B 7 0
54
Registers
Teleprinter Status Word (TPS)
7 6 2
*
L I-
I 1 0 0 1
Bit
2 MAINT Maintenance function which connects TPB serial
output to TKB serial input.
6 INT ENB O-No interrupt; 1 -attaches the Teleprinter to
the priority interrupt system at BR4.
7 READY Set by punch/printer DONE; cleared by loading
the teleprinterbuffer (TPB).
Teleprinter Buffer (TPB)
15 8
I 7
a-BIT CHARACTER OATA
0
l
55
by setting a DONE bit. If the interrupt is enabled and the interrupt is granted,
the processor traps to location 70, and may immediately begin executing the
service routine for the paper tape reader.
Reghters
Paper Tape Reader Status Word (PRS)
15 11 7 6 0
* it *
0 0 0 0 0
L
l- ERROR L BUSY
L DONE
LINT EN6 ROR
RDR
ENB
Bll ~
0 RDR ENB Requests read of next character; can be set from
bus only if ERROR = 0. Clears PRB, sets BUSY.
6 INT ENB O-No interrupt; 1-attached to priority interrupt
system at BR4. (Note: Interrupt occurs when INT
ENB is a 1 and either the error flag, ERROR, or
the done flag, DONE, becomes a 1.)
7 DONE Set by character available; cleared by reading the
paper, tape reader buffer (PRB).
11 BUSY Set by RDR ENB going to a 1; cleared by DONE
going to a 1. J
it
E-BIT CHARACTER
I I
15 8 7 0
TAPE PUNCH-This option of a Royal McBee paper tape punch that per-
forates B-hole tape at a rate of 50 characters per second. Information to be
punched on a line of tape is loaded in an B-bit punch buffer (PPB) from a
memory location or one of the general registers. The punch flag, READY,
becomes a 1 at the completion of punching action, signaling new information
may be transferred into the punch buffer and punching initiated.
56
Registers
Paper Tape Punch Status Word (PPS)
Bit
6 INT ENB O-No Interrupt; l-Attached fo priority iflterrUFt
system. (Note: An interrupt occurs when 1NT EN8
is a 1 and either the ERROR flag or the READY flag
becomes a ‘1.) i
7 READY Set by punch done; cleared by loading the paper
tape punch buffer (PPB).
15 ERROR Error Flag-Set by out-of-tape sensor: or unit power
off switch.
PROCRAMMING EXAMPLE
PUNCH: BIT # 100200, PPS ; test for ready or error
BEQ PUNCH
BMI ERROR
MOV RO. PPB
RTS R ;
ERROR: (message type out)
HALT; wait for operator to fix punch
JMP PUNCH; try again when Continue is hit.
VECTOR ADDRESSEGReader 70
Punch 74
-\
57
ENVIRONMENTAL
55”-100°F
20% -95% RH (without condensation) ~-
Bit
6 INTR ENB When set, an interrupt will occur every time CLOCK goes true.
Cleared by program or reset or start sequence.
7 CLOCK Set to 1 every 16.6 milliseconds (60 Hz) or 20 milliseconds (50
Hz). Cleared by reading LKS, RESET or pressing ttie START
switch.
PERIPHERAL ADDRESS ASSIGNMENTS
LKS 177546
VECTOR ADDRESS 100
PRIORITY LEVEL BR6
MOUNTING-This option plugs into the KAll processor.
.
58
CHAPTER 8 -~
DESCRIPTION OF THE UNIBUS
Communication between all system units in a PDP-11 configuration is done
by a single common bus: the Unibus. All communication-both instructions
and logical operations-is defined by a set of 56 signals. This set of 56 sig
nals is used for program controlled data transfers, direct memory data trans-
fers, priority bus control, and program interrupt.
This chapter presents the concepts of the Unibus and how they affect pro-
gram software and interfacing hardware. The use of the 56 bus signals to
effect.data transfers and to control bus use is also described.
I
DEVtCE LDGtC
l- ----------- J
59
the bus to communicate with other devices, call,ed slaves, on the bus. An
example of this relationship is the processor (master) fetching an instruction
from memory (which is always a slave).
INTERLOCKED COMMUNICATION-For erich control signal issued by the
master device, there is a response from the slave; thus bus communication
is independent of the physical bus length and the response time of the mas-
ter and slave devices. Also, master-slave relationships can exist in nearly
any combination between fast-responding and slow-responding devices.
* DYNAMIC MASTER-SLAVE RELATION-Master-slave relationships are dy-
namic. The processor, for example, can pa&s bus control to a disk. The disk,
as master, could then communicate with a slave memory bank.
UNIBUS SIGNALS
The 56 Unibus signals can be divided into two major groups-the interrupt
group and the non-interrupt group. The interrupt group can then be sub-
divided into two classes-the request and control class and the grant class.
All bus signals except the grant class are bidirectional in nature and are
% connected to every device (though they may not be used by every device).
The grant signals, because of their special nature in priority bus control
(to be explained later), are bussed through each device and are unidiiectional
in nature.
NON-INTERRUPT SIGNALS
Data Lines (0 < 15:OO >)-(Note that the notation A <a:b> specifies
b - a + 1 signal lines which are named Aa through Ab.) The 16 data lines
are used to transfer information between master and slave. This is the bit
format:
(5 8 7 0
Address Lines (A < 17:00 >)-The 18 address lines are used by the master
device’to select the slave (a unique core memory or device register address)
with which it will be communicating. This is the bit format of the 18 signals:
A < 15:Ol > are used to specify a unique 16-bit word group. In byte opera-
tions, A00 is used to specify the byte being referenced. If a word is refer-
enced at X (X must be even, since words can be addressed on even bound-
aries only), the low byte can be referenced at X and the high byte at X + 1.
A < 15:00 > are supplied by the software as memory reference addresses.
Al7 and Al6 are used as extended memory bits for relocation and as pro-
tection schemes in future systems. In the PDP-11/20 and the PDP-ll/lO,
Al7 and Al6 are asserted or forced to 1 whenever an attempt is made to
reference a memory location where A15’= Al4 = Al3 = 1. Thus the hard-
ware converts the 18bit software address to a full Is-bit-bus address.
An address map is shown in Figure 8-2.
60
oooo#O-017777
trt
scFrwAF& AOORESS
MEMORY
4K
BANK
HAROWARE
oooooo-own7
ADDRESS
.
02CWO-037777 02ooOO-037777
El I
I
2nd
MEMORY
4K
0Aw
I
I
t40000-t57777 t40000-157777
7th 4K
MEMORY BANK _
t6oooo-t77777 760000-777777
PERIPHERAL
BANK
El
Control Lines (C < 1:0 > )-These two bus signals are coded by the master
device to indicate to the slave one of four possible data transfer operations.
INTERRUPT SIGNALS
Bus Request Lines (BR i: 7:4 > )-These four bus signals are used by
peripheral devices to request control of the bus.
Bus Grant Lines (BG < 7:4 >-)-These signals are the processor’s response
to a BR. They will be asserted only at the end of instruction execution.
61
device. A data transfer from processor to memory (always a slave) is “data
out,” and a transfer from memory to processor is “data in.”
DATO AND DATOB-The DATO and DATOB operations are used to transfer
data out of the master to the slave. DATO is used to transfera word to the
address specified by A < .17:01 >. The slave ignores A00 and the data ap
pears onD < 15:00>. DATOB is used to transfer a byte of data to the ad-
dress specified by A < 17:OO >. A00 = 0 indicates, the low byte, and data
appears on D < 07:OO >; A00 = 1 indicates the high byte, and data appears
on D < 15:08 >.
DATI AND DATIP-The DATI and DATIP operations transfer data from a slave
whose address is specified on A < 17:Ol > into the master. Both transfers
are made in words on D < 15:00 >. In destructive read-out devices, DATI
commands a read-write operation, while a DATIP commands a read operation
only and sets a pause flag. When the device receives the subsequent DATO
or DATOB and its pause flag is set, the usual read cycle is skipped and an
immediate write cycle is initiated. Thus, DATlPs are immediately followed
by a DATO or DATOB to effect a read-modify-write data exchange. In non-
destructive read-out devices, DATI and DATIP are treated identically.
This diagram illustrates the data flow in the four data transfers:
DATI OR DATIP
DATA= D<l5:00> I
15 8.1 7 0
SLAM ~~EGISTER
I
HIGH BYTE , LOW BYTE
I
A A
DAToBI\AOO DATOBhm
DATA=D<t5:08 > DATA=D <OX00 >
DATA=CKl5:00>
Figure 8-3 Data Flow
Note that all transfers into the master are word operations; it is up to the
master to accept the appropriate byte. On a DATOB, the master must place
the byte on the appropriate data lines; the slave must accept the proper byte.
62
I instruction sequence will leave 10027 in location 500. In binary form, this
coding appears as:
1000: 105210 ;INCB @RO
1002: 062710 ;ADD (PC)+, @RO
1004: 000003 ;3
. The following table lists the bus operations that result as a consequence
of these two instructions:
Processor Cycle Bus Operation Bus Address Dais Transferred _
1. Fetch DATI (PC),= 001000 105210
2. Destination DATIP (RO) = 000500 010923
3. Execute DATOB (RO) = 000500 000024
4. Fetch DATI (lqz) = 001002 062710
5. Source DATI (PC)= 001004 000003
6. Destination DATIP (RO) = 000500 010024
7. Execute DATO (RO) = 000500 010027
Note that instep 3, it is inconsequential what data appears on D < 15:OB >;
the slave accepts only the modified low byte.
Note that in step 3, the soware specified address 177560 was converted to
the bus address 777560.
63
\
MASTER SLAVE
OPERATION: DAl-0
A.C,D
MSYN ‘4
rg------ SSYN
A’C’D 3
SSYN
I
Figure 8-4(a)
The flow of signals for DATI is shown in Figure 8.4(b). (DATIP is similar
except that the internal operation of the slave device is modified.) The master
sets Control for DATI, sets Address for the slave to be se’lected, and asserts
MSYN. The selected slave responds by setting Data for the information re-
quested and asserts SSYN. The master sees SSYN, accepts the data, and
then negates Control, Address, and MSYN. The slave sees MSYN negated
and negates SSYN. The master continues when it sees SSYN negated.
A more detailed signal sequence for the DATI, DATIP, DATO, and DATOB bus
operations can be found in Appendix D.
MASTER SLAVE
/
OPERATION: DATI
W
MSYN
, SSYNaD
v
$% _
ssVN6
i ’
Figure 8-4(b)
64
cessor status register. These three bits set a priority level that inhibits
granting of bus requests-on lower levels.
Second, bus requests from external devices can be made on oni of five
request lines. NPR has the highest priority, and its request is honored by the
processor between bus cycles of an instruction execution. BR7 is the next
highest; BR4 is the lowest. These four lower level requests are honored by
the processor between instructions, except when the instruction currently
being executed causes an internal trap (either an error or trap instruction).
In this case, BR requests will not be honored until completion of the first
instruction after the trap sequence. Thus if two requests are made to the
processor for bus control, the higher of the two requests will be honored first.
Third, in response to a bus request, the processor may honor the request by
asserting a bus grant (BG) corresponding to the line on which the bus re-
quest was made. This signal is passed serially through each device in the
system. If a device had made a request, it would. block the grant signal
and prevent it from reaching the following devices. Thus, in this “pass-the-
pulse” chain, the device that is closest to the processor has the highest
~ priority on that request level.
This table lists device priorities:
Highest: Devices on NPR
Processor when priority = 111
Devices on BR7
Processor when priority = 110
Devices on BR6
Processor when priority = 101
Devices on BR5
Processor when priority = 100
Devices on BR4
Processor when priority = 011
Internal options
Processor when priority = 010
Internal options I
Processor when priority = 001
Internal options
Lowest: Processor when priority = 000
When the processor’s priority is set at N, all requests for bus control at
level N and below are ignored.
SELECTION OF NEXT BUS MASTER-The signal sequence by which a device
becomes selected as next bus master is the PTR (Priority Transfer) bus ,
operation. Note that this operation does not actually transfer bus control:
it only selects a device as next bus master. It takes one additional condition
to complete the transfer: the current bus master must complete its bus
operations. The signal that indicates this is BBSY. Thus, when a device makes
an NP,R or BR request to the processor for bus control, it waits until it first
becomes selected as next bus master by the PTR operation and second, it
no longer senses BBSY, The negation of the BBSY signal indicates that
the current master has completed its bus operation. The selected device
now becomes bus master and asserts BBSY itself.
INTERRUPT SEQUENCE---Once the device has bus control and is asserting
BBSY itself, it‘is sole user of the bus until it releases its control. This release
of control can be made either actively or passively. Passive release is realized
65
by negating BBSY. Bus control will then pass to either a device that was
selected in the meantime by another PTR sequence or back to the processor,
which will continue where it was interrupted. Active release of bus control
is realized through the INTR bussequence.
The INTR (interrupt) operation is used by the bus master to transfer to the
processor a memory address (called the interrupt vector). Two consecutive
words, the starting address of an interrupt service routine and a new status
word, are stored at the interrupt vector address. After the INTR sequence is
Complete, the Processor automatically becomes bus master and begins a trap
sequence in which it stores the current value of the PC and PS on the stack
and fetches a new PC and PS from the location pointed to by the interrupt
vector. Thus, the next instruction executed is the Start of, the interrupt
service routine.
It is illegal to issue an INTR command after gaining control of the bus by
requesting on an NPR line. NPR requests are granted during instruction
execution and external bus masters must restrict their bus use* to nonpro-
cessor activities.
When a peripheral requires service and requests control of the bus with a
BR signal, the operations undertaken to “service” the device are as follows:
l Gain Control of the Bus-When the processor has no higher priority tasks
to complete, it relinquishes the bus to that device. Higher priority items are
(in order of priority):
1. Acknowledging an NPR request
2. Handling a processor error (illegal instructions, requirements for non-
existent memory, etc.)
3. Completing the current instruction
4. Acknowledging a trace trap
5. Continuing a higher priority process
6. Acknowledging a higher level BR signal
7. Acknowledging same level BR signals for devices closer to the processor
l Do INTR Sequence-when the device has cpntrol of the bus, it initiates
an INTR sequence, transferring to the processor the interrupt vector address
which specifies two words in memory containing the address and status of
the appropriate device service routine.
66
program would set certain function bits in the disk’s command and status
register that specify a read or write function. For this example, assume the
disk was set to read. *
Once the disk’s control registers are initialized, the disk control logic’starts
a search for the requested data. (fhe processor in the meantime has con-
tinued in its program execution.) When the disk has found the data, it
assembles the first l&bit word from the disk surface into its data register.
The disk now requests bus control via the NPR request line. The processor,
when it has completed its current bus cycle of the current instruction and
no higher NPR requests exist, grants control of the bus to the disk. The disk,
as bus master, effects a DATO bus operation, transferring the contents to
its data buffer to the core address held in its MA. The MA is now incremented
and the WC is decremented. When the DATO operation is COftydete, the disk
passively releases control of the bus.
When the second word has been assembled, the disk again requests bus
control, does a data transfer, and then releases bus control. This cycle is
repeated until the WC reaches zero. At this point, the disk has completed
the transfer that was requested.
To notify the program that the transfer is finished, the disk initiates a request
for bus control at the BR level, gains control when higher priority requests
are satisfied, and does an immediate INTR to the processor and causes the
program to branch to a specific service program (as described in the previous
example). \
Details of the INTR and PTR bus operations can be found in Appendix D.
67
,
,I ;
68
CHAPTER 9
Interfacing
A typical device bus interface as shown in Figure 9-l is composed of five
major components: 1). Registers; 2), Bus Drivers and Receivers; 3). Address
Selector; 4). interrupt Control; and 5), Device Control Logic.
REGISTERS
Each device is assigned bus addresses at which the program can inter-
rogate and/or load the device status, control, and data registers. The stan-
dardized mapping for these registers and the bit assignments of the corn- .
mandlstatus register (CSR) were given in Chapters 5 and 6.
As shown in Figure 9-1, all information flow between the device logic and ’
the Unibus is done through the registers. In general, registers are designed
to be both loadable and readable from the bus. This allows the program to
use such instructions as ADD RO, REG, or INC REG. However, registers can
be “one-sided,” either “read-only” or “write-only.” Examples of read-only
bits are the DONE and BUSY flags in the device’s CSR. These bits are de-
rived from the internal state of the device log& and are not under direct
program control. Write-only registers are used when it is unnecessary to
read back information. Attempting to read such a register would result in an .
all-zero transfer. The instructions effective with this type of register are then
limited to those which load the register such as MOV RO, REG, or CLR REG
(as opposed to ADD REG, RO, or INC REG).
69
I
I
I
I
I
I
I
I M930
L- --- -J i WI--
DRIVER
Rl , R2=190fi 5% 1/4W
R3. R4 = 390A 5% iI4W
Information is received from the bus using gates which have a high input
impedance and proper logic thresholds. High input levels must be greater
than 2.5 V with an input current less than 160 pa. Low level input must be
less than 1.4 V with an input current greater than 0 pa.
information transmitted on the bus must be driven with open collector drivers
capable of sinking 50 ma with a collector voltage of less than .8 V. Output
leakage current must be less than 25 ~a.
In PDP-11 systems, the bus signals are terminated at both ends by resistor
dividers provided on the M930 module. Physically, an M930 is located in
the processor; another is located at the last unit on the bus. A bus signal
sits at logical “0” (inactive, or negated state) at a voltage of 3.4 V. A bus
line is at logical “1” (active, or asserted) when it is pulled to ground.
Drivers and receivers meeting these specifications are available on the
M783, M784 and M785 modules as shown in Figures 9-3, 9-4 and 9-5.
70
Ml05 ADDREsS SELECTOR
Tho ‘Ml05 Address Selector as shown in Figure 9-6 is used to provide gating
signals for up to four device registers. The selector decodes the 18-bit bus
address on A < 17:00 > as follows:
A00 is used for byte control. A01 and A02 are decoded to provide one of
four addresses. A < 1203 > are determined by jumpers on the card. When
the jumper is in, the selector will look for a 0 on that address line-
A < 17:13 > must all be l’s-(this defines the external bank). Other bus
inputs to the selector are C < 1:0 > and MSYN. The single bus output is
SSYN. The user signals are SELECT 0. 2, 4, and 6 (corresponding to the
decoding of A02 and AOl, one of which is asserted when A < 17:13 > are all-
l’s and A < 12:03 > compare with the state of the jumpers. Other user sig-
nals are OUT HIGH (gate data into high byte), OUT LOW (gate data into low
byte), and IN (gate data onto the bus). The equations for these last three
signals are as follows: .
OUT HIGH = DATO + DATOB;AOO
OUT LOW = DATO + DATOB*m
IN = DATI + DATIP
72
EXT. CAP
I
-J f , 1 1 SELECT 2 H
EH
SELECT 4 H
SELECT 6 Ii
A62L J I
A61 L
AmL I
OUTHl6HH
GIL OUT LW Ii
CaL a IN tl
73
. .
-i
I
L--- -- ------2
74
In addition to two Master Control circuits, a third logic network provides the
necessary signals and gating to perform the INTR bus operation. When either
of the START INTR signals is asserted, the INTR bus signal is asserted
along with a vector address qn D < 07:02 >. Bits 07:03 are determined by
jumpers on the card. A jumper “in” forces a 0 in that bit. Bit 2 is controlled
by Vector Bit 2. When the processor responds to the INTR signal by asserting
SSYN, the INTR DONE signal is asserted. This line is used to clear the
condition which asserted INTR START.
76 .
CHAPTER 10
CONFlGURATtON AND INSTALLAflON PLANNING
MODULAR CONSTRUCTlbN
Physically, the PDP.11 is composed of a number of System Units. Each
System Unit is composed of three 8-slot connector blocks mounted end-to-
end as shown in Figure 10-l. The Unibus connects to the System Unit at
the lower left and at the upper left. Power also connects to the unit in the
leftmost black. A System Unit is connected to other System Units only via
the Unibus.
UNIBUS CONNECTION
p:*~~
The remainder of the System Unit contams logic for the processor, memory
or an I/O device interface. This logic is composed of single height, double
height, or quad height modules which are 8.5 ” deep.
The use of System Units allows the PDP-11 to be optimally packaged for
each individual application. Up to six System Units can be mounted into a
single mounting box. For a basic PDP-ll/PO system, the processor/console
would fill 21/2 System Unit spaces and 4096 words of core memory would
fill one System Unit space. This leaves 21/, spaces for user-designated op
tions. This would allow the user to add 8,192 words of additional core
memory, a Teletype control, and a High-Speed Paper Tape Control, or 4,096
words of core memory and six Teletype interfaces, Larger systems will
require a BAll-EC or BAll-ES Extension Mounting Box which contains space
for six additional System Units.
The use of System Units also facilitates expansion of systems in the field
and service. To add an additional option to a PDP-11 system, the proper
System Unit is mounted in the Basic or Extension Mounting 80x and the
Unibus is extended. Servicing of the PDP-11 can be done by swapping
modules or by swapping System Units.
MOUNTING BOXES AND CABINETS
The PDP-11 is available as either a tabletop or rack-mounted configura-
tion. The rack-mounted configuration may be installed in a DEC cabinet or
mounted in a customer cabinet. The PDP-11 mounts in an EIA standard 19-
inch cabinet. The rack-mounted PDP-11 has tilt-slides as standard mount-
ing hardware.
1 The following mounting units and cabinets are‘available for PDP-II systems.
PDP-11 TABLETOP BOX AND POWER SUPPLY FOR 11/20, ll/lO SYSTEMS-
fBAll-CC AND H720)-This cover and box may be specified with a basic
i1/20 and ll/lO system and includes:
'1. H720 Power Supply
2. 15’ of power cord with ground wire
77
+ For 115 V standard, 3prong; U-ground, 15-ampere connectors
+ For 230 V pigtail leads on one end
3. Cooling Fans
4. Filter
5. Programmers Console with 11/20 or Turn-Key Console with ll/lO
Approximate Size-11" high, 26” wide, 24” deep. Figure 10-2 shows the
layout of this unit.
I
*
Figure 10.2 Table Top PDP-11 Dimensions
Approximate Weight-100 Ibs. (including CP, console and 4K core)
. Power-12OV +- 10%,47-63 Hz 6 amps. single phase
(BAll-CC
and H720-A)
230V -c 10%,47-63 Hz 3 amps. single phase
(BAll-CC and H720.B)
PDP-11BkC MOUNTINGBOXAND PGWERSUPPLY(BAll-CSAND H720)
-This basic mounting box may be specified with a basic 11/20 or a ll/lO
system and includes:
1. Tilt and Lock Chasis Slides
2. H720 Power Supply
3. 15’ of power cord with ground wire
+ For 115 V standard, 3-prong, Uground, 15-ampere connector
+ For 230 V pigtail lead% on one end I
4. Cooling Fans
5. Filter
6. Programmers Console ‘with 11/20 or Turn-Key Console with lI/IO
Approximate Size-lbl/2” high, 19" wide, 23” deep. Figures 16-3, IO-4 and
lo-5 show the layout of this unit and give slide dimensipns.
.
78
. Approximate Weight-90 Itis. (including CP, cdnsole and AK core)
Power-12OV zflO%,47-63 Hz 6 amps. single phase
@All-C5 and H720-A) X -
230V +10%,47-63 Hz 3 amps. single phase
(BAll-C5 and H720-B)
~
Figure 10.3 Rack Mountable PDP-11 Dimensions
Panel capacity is six lOI/” high mounting spaces, each of which is covered
with black plastic panels if equipment is not mounted-(5 panels, maximum,
supplied).
items supplied with the cabinet include:
1. H950-A Frame
2. H952-E Coasters
3. H-952-F Levelers
4. H-952-C Fan Assembly (in top of cabinet)
5. H-950-S Filter
6. PDP-11 Logo
7. H-950-B Rear Door
8. lOl/," Plastic Bezels, maximum of 5 supplied
9. Two H952-A End Panels
80
10. H955)-D Mounting Panel Doors
11.. H952-B Stabilizer Feet
12. #7406782 Kick Plate
13. #7005909 Power Distribution Panel (ac ?rrd dc, mounted on upper
left side)
Approximate Size-22” wide, 39” deep (including stabilizer feet), 711/” high
Approximate height-150 Ibs. (without computer)
81
UNIBUS MODULE (M920)-The M920 is a double module which connects
the Unibus from one System Unit to the next within a Mounting Box. The
printed circuit cards are separated ‘by 1” for this-purpose. A single M920
will carry all 56 Unibus signals .and 14 grounds.
The 120 signals consist of the 56 Unibus lines plus 64 grounds., Signals and +
grou,nds alternate to minimize cross talk. .
BCl lA-2. 2’
BCllA-5 5’
BCllA-BA 8’6”
BCllA-10 10’
BCl l A-15 15‘
BCl lA-25 25’
CABLE REQUIREMENTS
When an Extension Mounting Box is used, an external cable, the @CIlA, is
the only signal.conn@ion between mounting boxes. This external bus cable
may also be. used to connect other peripherals to the PDP11. The maximum
combined, internal and external, bus cable.length is 50’. -
TELETYPE REQUIREMENTS
The standard Teletype requires a floor space approximately 221/2 inches
wide by 181/s inches deep. The Teletype cable length restricts its location to
within 8 feet of the si#e of the computer.
ENVIRONMENTAL REQUIREMENTS
The PDP-11 is designed to operate from +lO to +5O”C and with a relative
humidity of from 20 to 95% (without condensation).
82
.
. INSTALLATION .PROCEDlJRE
The PDP-11 is crated for shipment to the customer site to prevent damage.
Installation is provided by DEC personnel at the customers site.
Computer customers may send persorinel to instruction courses on camput&
operation, programming, and maintenance conducted regularly in Maynard,
Massachusetts, Palo Alto, California, and Reading, England.
83
The PDP-11 has adopted a moddlar packaging approach to allow
custom configuring of systems, easy expansion and easy servicing.
.. 84
CHAPTER 11
PAPER TAPE SiFTWARE SYSTEM‘
PAPER TAPE SOFTWARE SYSTEM (PTS) ’
PTS is a compatible group of software packages designed to aid development
of PDP-11 application programs. A brief description of each item with its
major features is offered below with detailed programming information avail-
able in corresponding software user’s manuals.
PTS FEATURES
l 4K Absolute Assembler
l Symbolic Program Editor for editing of paper tape which is string oriented
0 On-Line Debugging Aid allowing rapid and accurate modification of assem-
bled programs
0 I/O Driver Routine.allowing subroutine level communication with periph-
eral devices. and double buffered input/output operation concurrent with
running programs
0 Floating Point Math Package’using both reentrant and relocatable code
0 General Utilities in.cluding loaders and dump routines
PALIlA ASSEMBLER-This two- or three-pass assembler runs on a PDP-11
with 4K words bf core memory and an ASR-33. It will also accommodate a
high-speed reader/punch. Optional outputs include the absolute object code,
an assembly listing containing each sdurce statement, and an indication of
any errors detected in the statement. A symkol table may be alphabetically
listed.
ED11 EDITOR-The PDP-11 Editor (EDll) allows the user to type identified
portions of source program on the teleprinter and to make corrections or
additions. This is accomplished by typing simple commands that cause the
Editor to-read, print, punch out on paper tape, search, delete and/or add to
the text of the program.
Use of the ED11 presupposes no special knowledge or technical skill beyond
that of the operation of explicitly defined one-character commands. The
commands are grouped according to function: input, positioning of the
current-character location pointer, output, search (which is done by charac-
ter string), insert, delete, and exchange of text portions.
ED11 uses 2,000 words of-core and requires an ASR-33 unit which includes
a printer, keyboard, paper tape reader and paper tape punch. Alternatively,
a KSR-33 may be used in conjunction with the high-speed paper tape’reader
and punch.
ODT-11ON-LINE DEBUGGING TECHNIQUE-ODT-11 is a core resident pro-
gram which allows the user to debug his binary programs at the console by
running them in specific segments and checking for expected results at vari-
ous points. If modification of the program is needed, the user can alter the
contents of the appropriate location by “opening’! it and typing in new data.
Two versions of ODT are available, one being a subset of the other. The
larger system uses 750 words of core and utilizes an ASR-33, or a KSR-33
and a high-speed paper tape punch and reader. The smaller version uses the
same peripherals and 500 words of core. Up to eight breakpoints can be set
using the larger .version of ODT, while one breakpoint is allowed in the
smaller version.
85
Debugging operations alternate between commands to ODT and the running
of the program to be debugged. Breakpoints are set in the user’s program by
ODT commands, and a command to run starts execution of the program.
When a breakpoint is encountered, the program run is suspended, and the
progress of its execution can be monitored and altered. This is accomplished
by using commands to open memory locations of interest, as well as special
registers.
An Operator may examine and change the operating priority of both ODT
and the user’s program, the mask and address range for searches, results
of logical and arithmetic operations, the SP and PC, and the general registers.
Other commands will search for values of specified bits of a word, or for
references to.an address within an address range, calculate 16-bit and 8-bit
offsets to an address and restart the running of the user’s program at any
address.
IOX input/Output Utility ‘Peripheral Driver-lox is a set of service routines
allowing sing&or double buffered I/O processing on an ASR-33 and/or a high-
speed paper tape reader and punch. This routme atlows the user to make
simple assembly language calls specifying devices and data forms to accom-
plish interrupt-controlled data transfer concurrent with execution of the run-
ning program. Multiple devices can be run simultaneously.
IOX frees the user from the details of dealing directly with the device and
allows development of programs which may be run under the direction of a
monitor with minimum modification.
IOX also provides some degree of real-time control by allowing pser programs
to be executed at priority leaIs at the completion of some device action or
data transfer.
MATH PACKAGE-A number of commonly used subroutines are available to
simplify programming. These routines are reentrant and relocatable to pro-
vide maximum flexibility. Arguments are treated as floating point numbers
with a signed 31.bit fraction and a signed 15-bit exponent. Subroutines sup-
plied include:
ADD
MULtiply
SUBtract
DlVide
SIN
cos
ATAN
FIX-FLOAT
FLOAT-FIX
NORmalize
(Integer MULtiply and DlVide are also supplied)
LOADiER%Two loaders are used:
l A Bootstrap loader loads the ABSolute loader and jumps to it.
l ABSolute loader loads PAL-1lA output, checks for checksum errors and ,’
jumps to a user program or halts when done.
CORE DUMP ROUTINES-Routines are provided which dump specified ’
ranges of core locations on paper tape in absolute format or on the tele-
printer in octal.
86
CHAPTER 12 1. ’
THE OPERATOR’S CONSOiE
‘The PDP-11 Operator’s Console has been configured to achieve convenient
control of the system. Through switches and keys on the console, programs
or information can be manually inserted or modified. Also.indioator lamps on
, the console face display the status of the machine, the contents of t’he Bus
Address Register and the data at the output of the data paths. _
kllilaliltlalll lcidial ll
Figure 12-1
CONSOLE ELEMENTS
The console has the following indicators and switches:
1. A bank.of 8 indicators, indicating the following conditions or oper-
‘ations: Fetch, Execute, Bus, .Run, Source, Destination and Address
(2 bits).
2. An l&bit Address Register Display
3. .A 18bit Data Register Display
4. An l&bit Switch Register
5. Control Switches:
87
3. Bus-indicates that a peripheral is controlling the bus. It is lit when
BBSY (Bus Busy) is asserted, unless the processor (which includes
the Console) is asserting BBSY.
4. Run-indicates that the processor is running. It monitors the cdntrol
flip-flop for the internal clock.
5. Source&ndicates that the central processor is. obtaining source
data except from an internal register.
6. Destination-indicates that the central processor is obtaining des
tination data (except from an internal register).
7. Address-identifies the source or destination address cycle of the
’ central processor, using two lights that are decoded zero, one, two,
or three. When references are made via the Unibus to the.addresses,
the lights tell the machine’s source or destination cycle. For an in-
ternal register reference, there is a “zeroth” addressing operation.
REGISTER DISPLAYS-The Operator’s Console has an l&bit Address Regis-
ter Display and a 16-bit Data Register Display. The Address Register Display
is tied directly to the output of an l&bit flip-flop register called the Bus
Address Register. This register displays the address of data examined or
deposited.
*The l&bit data register is divided on the face of the console by a line into
two 8-bit bytes. This register is tied to t,he output of the processor data paths
and will reflect the output of the processor adder.
SWITCH REGISTER-The PDP-ll/lO’and PDP-ll/PO can reference 216 bytes
addresses. However, the Unibus ,has expansion capability for 218 byte ad-
dresses. In order that the console can access the entire l&bit address
scheme, the switch register is 18 bits wide. These bits are assigned as 0
. through 17. The highest two are used only as addresses. A switch in the
“up” position is considered to have a “1” value and in the “down” position
to .have a “0” value. The condition of the 18 switches can be loaded into the
bus address register or any memory location by using the appropriate control
switches which are described below.
CONTROL SWITCHES-The switches listed in item 5 of the “Console
Elements” have these specific control functions:,
1. LOAD ADDR-transfers the contents of the l&bit switch register
into the bus address register.
2. EXAM-displays the contents of the location specified by the bus
address register.
3. DEP-deposits the contents of the low 16 bits of the switch register
into the address then displayed in the address register. (This switch
is actuated by raising it.)
4. ENABLE/HALT-allows or prevents running of programs. For a pro-
gram to run, theswitch must be in the ENABLE position (up). Placing
the switch in the HALT position (down) will halt the system.
5. START-starts executing a program when the ENABLE/HALT switch
is in the ENABLE position. When the START switch is depressed, it
asserts a system initialization signal; the system actually starts when
the switch is released. The processor will start executing at the
address which was last loaded by the LOAD ADDR key.
6. CONT-allows ‘the machine to continue without initialization from
whateyer state it was in when halted.
7. S/ INST-S/CYCLE-determines whether a single instruction or a
single bus cycle is performed when the CONT switch is depressed
while the machine is in the halt mode.
88
. .
When the system is running a program, the LOAD ADDR, EXAM, and DE-
POSIT functions are disabled to prevent disrupting the,program. When the
machine is to be halted, the ENABLE/HALT switch is thrown to the halt
position. The machine will halt either at the end of the current instruction,
or at the end of the current bus cycle, depending upon the position of the
S/ INST-S/CYCLE switch.
The Run indicator lamp is driven off the flip-flop that controls the clock.
Normally, when the system is running, not only will this light be on, .but the
89
other lights; (Fetch, Execute, Source, Destination; the.Address lights, and the
Address and Data registers) will be flickering. If the run light is on, and none
ofthe other indicators are flickering, the system could. be executing a “wait”
instruction which waits for an interrupt.
While in the halt mode;if the operator wishes to do a siqgle instruction, he
places the S/INST-S/CYCLE switch in the S/lNST position and depresses
CONT. When CONT is depressed, the console momentarily passes control to
the processor, allowing the machine to execute one instruction before regain- .
.ing control. Each time the CONT switch is depressed, the machine will
execute one instruction.
Similarly, if the operator wishes to have the machine perform a single bus
cycle, he places the S/INST-S/CYCLE switch in the S/CYCLE position and
presses CONT. The machine will then perform one complete bus cycle and
halt. The operator cannot do an,examine or deposit function at the end of a
single bus cycle unless the cycle ends coincidental with the end of an in-
struction. This prevents altering machine flow. Only when the machine is at
the end of an instruction and in the halt mode’can the examine or deposit
functions operate.
To start the machine running its program again, the operator places the
ENABLE/HALT switch in the ENABLE position, and depresses the CONT
switch. ‘.
90
APPENDIX A-PDFIi INSTRUCTION REPERTOIRE
instruction Codes
Mnemonic Operation OP Code ZNCV Timing
91
SUBROUTINE CALL: JSR reg,dst
1JSR Jump to SubRoutine 004RDD - 4.2
(dstb (tmp), 0%) J
(PC> + (w3), Ww) + (PC)
SUBROUTINE RETURN: RTS reg
RTS ReTurn from Subroutine 00020R - 3.5
(w) + PC. t (w3)
SINGLE OPERAND GROUP: OPR dst
CLR(B) CLeaR (Byte) .050DD 1000 2.3
0 + (dst)
< COM(B) COMplement (Byte) -051DD 4 400 2.3
- (dst) + (dst)
INC(B) INCrement (Byte) -052DD
(dst) ,+ 1 + (dst)
DEC(B) DECrement (Byte) .053DD
(dst) 1 i 4 (dst)
NEG(B) NEGate (Bvte) .05,4DD
+‘(dstj + 1 + (dst)
ADW) ADd Carry (Byte) .055DD
(dst) + (Q --, (dst)
SBC(B) SuBtract Carry (Byte) .056DD
(dst) - (C) + (dst)
TST(B) TeST (Byte) .057DD
0 - (dst)
ROR(B) Rotate Right (Byte). .060DD
- rotate right 1 place with C
ROL(B) ROtate Left (Byte) .061DD
rotate left 1 place with C
A5R( B) Arithmetic Shift Right (Byte) .062DD r’ r’/ d 2.3”
shift right with sign extension
ASL( B) Arithmetic Shift Left (Byte) .063DD 4’4 r/ 4 2.3”
shift left with lo-order zero
JMP JUMP OOOlDD - 1.2
GM) + (PC)
SWAB SWAP Bytes 0003DD ,.‘t/OO 2.3 _
bytes of a word are exchanged
. CONDITION CODE OPERATORS: OPR 1.5
Condition Code Operators set or clear combinations of condition code bits.
Selected bits are set if S = 1 and cleared otherwise. Condition code bits cor-
responding to bits set as marked in the word below are set or cleared.
CONDITION CODE OPERATORS;
0 0 - 0 2 4SNZVC
1 I 1 I I I I i
15 54324 0
Thus SEC ‘= 000261 sets the C bit and has no effect on the other condition
code bits (CLC = 000241 clears the C Bit)
OPERATE GROUP: OPR-
HALT HALT 000000 l.8 I
processor stops; (RO) and the HALT address in lights
WAIT WAIT 00000 1 1.8
processor releases l&s, waits for interrupt
92
RTI ReTurn from Interrupt 000002 4 d / / 4.8
t Pa f (W
IOT Input/Output Trap 000004 d/v’/ 8.9
(PSI 4 s (PC) 4, (20) + (PC), (22) + (PS)
RESET RESET 000005 - 20 ms.
an INIT oulse;s issued bv the CP
EMT - EMulator Trap’ 104400--1104377
(PS) 4, (PC) 4, (30) + (PC), (32) + (PS)’
TRAP TRAP 104400-104777 4
PSI 4, (PC) 4 r (34) + (PC), (36) + (PSI
NOTATION:
1. for order codes -
word/byte bit, set for byte (+lOOOOO)
. SS-source field,
DD-destination field
XX-offset (8 bit)
2. for operations
A and,
V or,
not,
(’ contents of,
XOR
& “is pushed onto the processor stack”
-r “the contents
popped and becomes”
of the top of the processor stack is
+ “becomes”
3. for timing
* 0.4 ‘p.s less if not register mode
- 0.9 ps less if conditions for branch not met
0 1.2 r.~smore if addressing odd byte
/ (0.6 r~s additional in addressing odd bytes otherwise)
4. for condition codes
f ~;a;~;$=W
1 set
93
/
94
APPENDIX R-ADDRESSING SUhMlARY
ADDRESSING. ‘MODES.
PC REGISTER ADDRESSING
Timing w)
Mode Description Symbolic dst
immediate E 1.4
f absolute F?YA 2.7 2.6
.6 relative 2.7 2.6
7 relative deferred @A 3.9 3.8
INSTRUCTION FORMATS
CODE Y
I PI 4 11’15 I I I I I dsi, I I
15 12 11 6 5 0
0 , 0 I, 0 I I t 2 I I I 0 II 1 r*g II
15 3 2 0
.
OP COOE
I
15 6 s, 0
0 0 0“ 2 4SNZVC
I I 1 I I 1 I I
15 5432t 0
.
APPENDIX C-ADDRESS MAP .
0 USER DEVfCE INTERRUPT VECTOR
4 BUS ERROR, ILLEGAL INSTRUCTION, STACK OIKRFLOW TRAP
VECTOR
10 RESERVED INSTRUCTIONS TRAP VECTOR
14 CODE 000003 AND TRACE TRAP VECTOR
IOT INSTUCTION TRAP VECTOR
i: POWER FAIL INTERRUPT VECTOR
30 .EMT INSTRUCTION TRAP VECTOR
34 TRAP INSTUCTION TRAP VECTOR
40
44
SYSTEM SOFTWARE COMMUNQTION
50,
54 1
TELEPRINTER INTERRUPT YECTOR
z TELETYPE KEYBOARD AND LOW SPEED READER INTERRUPT
VECTOR
70 HIGH SPEED PAPER TAPE PUNCH INTERRUPT VECTOR
74 HIGH SPEED PAPER TAPE READER INTERRUPT VECTOR
.
.
. (additional interrupt vectors)
.
.
.
400
.
.
. PROCESSOR STACK
PROGRAM AND DATA
RESIDENT SYSTEM SOFTWARE
*
.
. (ABSOLUTE LOADER, BOOTSTRAP, I/O EXECUTIVE)
(end of implemented storage)
160000
.
. SMALL READ-ONLY STORAGE UNITS
.
. OTHER PERIPHERAL DEVICE REGISTERS
177550 HIGH SPEED READER AND PUNCH DEVICE STATUS AND BUFFER
REGISTERS
97
177560 TELElYP;- KEYBOARD AND PUNCH DEVCE STATUS AND EUFFER
REGISTER -’
.
.
.
*
177576
17-7600
.
RESERVEP FOR EXPANSION OF PROCESSOR REGISTERS
177677
177700
.
. GENERAL REGISTERS RO - R7
.
.
APPENDIX l+UNlBUS OPERATIONS
There are ‘six bus operations: four to effect data transfers, on9 to transfer
bus control, and one to effect a program interrupt. This appendix describes
the signal interaction on the Unibus to perform these six operations.
DATA TRANSFERS
The four data transfers use the C lines coded as follows:
Cl co
0 0 DATI-DATa In
0 1 DATIP-DATa In, Pause
1 0 DATO-DATa Out
1' 1 DATOB-DATa Out, Byte
DATI AND DATIP-These two bus operations transfer data from a Slave
whose address is specified by A < 17:Ol > into the master. Both transfers
are made in words on D, < 15:OC >. In destructive read-out devices,
DATI commands a read-restore operation, while DATIP commands a read-
pause operation and the setting of a pause flag. DATlPs are to be followed
by a DATO or DATOB to effect a read-modify.write data exchange. In non _
destructive read-out devices, DATI and DATIP are treated identically. The
sequence of operations is as follows:
1. Master puts address on A, 0 or 1 on C, and waits 150 nanoseconds.
(75 nanoseconds for deskewing address + 75 nanoseconds for ad-
.
dress decoding).
2. Master asserts MSYN.
3. Slave decodes address, sees 0 er 1 on C, and MSYN and ldegins read
cycle (flip-flop register would simply gate flop outputs to bus).
4. Slave completes read cycle, outputs data to D lines, and asserts
SSYN. If the slave is a destructive read-out device, it now restores
data on a OATI: it sets a pause flag on a DATIP.
Figure D-l shows the signals for a DATI operation.
a
SIGNALS Al MASTER
ADtRESS-CONTROL AT ! I
jR
DATA
JT
MSYN
L .
SSYN IR
SIGNALS AT SLAVE
ADDRESS-CONTROL IR 1
DATA p T I
I
MSYN IR I
SSYN
I
MEMORY CYCLE
T= SIGNAL AS TFIANSMITTEO
,
R*SIGNAL AS RECEIVED
99
l
MT0 AND DATOB-These two bus operations transfer data out of the mas-
ter to the slave. DATO is used to transfer a word to the address specified
by A < 17:Ol >. The slave ignores A00 and the data appear. on D < 15:00 >.
DATOB is used to transfer a byte to the add<ess specified by A < 17:00 >.
A00 = 0 indicates the low byte and data appears on D < 07:OO >; A00 f 1
indicates high byte and data appears on D < 15:08 >. The sequence of op
eration is as follows:
1. Master puts address on A, data on D, 2 or 3 on C, and waits 150
nanoseconds (75 nanoseconds for deskewing address + 75 nano-
seconds for address decoding).
. 2. Master asserts MSYN.
3. Slave decodes address, sees 2 or 3 on C and MSYN and strobes in
word or byte. When slave has taken data, it asserts SSYN. If the slave
is a destructive read-out device and its pause flag is set (by DATIP),
slave begins write cycle; if .not, slave must first do a read cycle to
clear the memory cell and then a write.
4. Master sees SSYN and drops MSYN and waits 75 nanosecondi (des-
kew address). e
Master drops A, D, and C, and waits for SSYN to fall.
2: Slave sees MSYN fall and drops SSYN.
7. Master sees SSYN fall, signaling end of bus operation.
Figure D-2 shows the signals for a DATO operation.
DATO
SIGNALS AT MAST&
.
DATA IT I
I
MSYN IT
IR I
SSYN
SIGNALS AT SLAVE
I
ADDRESS-CONTROL IR
BATA IR 1
MSYN IR I
SSYN * ‘T
MEMORY CYCLE -1
100
\
NOTES:
1. Step 1 of the next-data transfer-may begin at step 5 of the current DATO or
DATOB.
2. Step .2 of the next data transfer may begin at step 7 of the current DATO or
DATOB.
\
PTR-PRIORITY TRANSFER
This bus operation is used to pass control of the bus from one master to
another. The steps which fbllow are performed simultaneously with the data
transfers:
0. Current master device always has BBSY asserted.
1. Requesting device asserts its assigned BR line.
2. Processor sees BR asserted, determines which BR is highest, and
asserts the corresponding BG line if the processor’s Current Prior@
level’allow that level of bus request.
3. Each device that receives the BG passes it on to the next . device
unless it itself is requesting.
4. The BG is propagated a!ong the priority chain until it reaches the
first .requesting device. This device becomes selected as next bus
master and does not allow the BG to pass to succeeding devices.
5. The selected device asserts SACK and drops its BR, .and waits for
BBSY,,BG, and SSYN to drop. .
6. The processor sees SACK and drops BG.
The device which is current master completes its data transfers,
. 7.
drops BBSY, and ceases to be bus master. .
8. The selected device sees BG, BBSY, and SSYN drop, becomes bus
master, asserts BBSY, drops SACK, and begins data transfers.
9. New master relinquishes bus control, either to the processor or to a
requesting device, by dropping BBSY at the end of its last bus op
eration. This is termed a passive release of bus control.
NOTES:
1. NPR bus requests ore handled as above.
2. Processor defers action on BR <7:4> until last bus cycle of an instruction
execution or interrupt sequence, NPR is acted upon immediately.
. 3. Processor becomes bus master and asserts BBSY whenever it sees BBSY = 0
end no other’ device has been selected or is being selected as next bus master.
4. Processor will not execute step 2 if SACK is asserted. See note 2 under INTR.
BR JT . I
BG II3 I
SACK IT
SIGNALS AT PROCESSOR
BR JR I
‘0G .
SACK IR
T= SIGNAL AS TRANSMITTED
R * SIGNAL AS RECEIVED
101
INTR-lNTerRupt
This bus operation is initiated by a master immediately after receiving bus
control to effect a program interrupt in the processor. It proceeds as follows:
0. Device has become bus master via PTR and BBSY is as&ted.
Master puts interrupt vector address on D and asserts INTR.
:: Processor sees INTR and waits 75 nanoseconds (deskewdata).
Processor strobes data and asserts SSYN.
:: Master sees SSYN, drops INTR, -D, and BBSY. The master has now
relinquised bus control directly to the processor. The INTR sequence
is termed an active release of bus control.
- 5. Processor sees INTR drop and drops SSYN and. enters interrupt
sequence to update PC and PS.
1. Step 1 must be made simultaneously with step 8 of FTR; that-is, SACK cannot
be dropped until INTR i,s asserted.
2.’ When the processor’sees SACK drop. it waits 75 nanoseconds (deskew). If, at
that time, INTR = 1. the processor issues no SG’s until the interrupt sequence
is complete.
~
SIGNALS Al MASTER
BBSY T
JR
DATA IT 1
INTR IT
SMN rR 1
-%NALS AT FIWCESSOR
BBSY -i UT
MTA -R I
INTR jR 1
SBYN IT
T. SIGNAL AS TRANSMITTED
R * SIGNAL AS RECEIVED
io3
’ I
,
.
104