SYSTEM COMPONENTS
KA11 CENTRAL PROCESSOR
UNIBUS - There are.. concepts that are very important for understanding
both the hardware and software implications of the Unibus. [It is a single bus,
with bidirectional lines, a master-slave relation and with interlocked
communication.]
CORE MEMORY -The PDP-11 allows both 16.bit word and 8-bit byte ad-
dressing. The address space may be filled by core memory and peripheral
device registers. The top 4,096 words generally are reserved for peripheral
device registers. The remainder of address space can be used for read-write
core memory or read-only core memory. Read-write core memory is currently available in 4,096 16-bit word segments. This memory has a cycle time of 1.2 microseconds and an access time of 500 nanoseconds. It is a standard part of a PDP-11/20 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.
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 American
Standard Code for Information Interchange (ASCII) modified. To convert the
ASCII code to Teletype code, add 200 octal (ASCII + 200s = Teletype).
TELETYPE CONTROL - Serial information read or written by a Teletype unit is assembled or disassembled by the control for parallel transfer on the Unibus. The control also provides the flags which cause a priority interrupt and indicate the availability of the teletype.
KEYBOARD/READER -The Teletype control contains an 8-bit buffer (TKB) which assembles and holds the code ‘for the last character struck on the keyboard or read from the tape. Teletype characters from the keyboard/ reader are received serially by the 8-bit -shift register TKB. The code of -a Teletype character is loaded into the TKB so that "spaces" correspond to binary O’s and holes, "marks," correspond to binary 1’s. Upon program command, the contents of the TKB may be transferred in parallel to a memory location or a general register.
A character is read from the low-speed reader by setting the Teletype reader
enable bit, (RDR ENB), to a 1. This sets the busy bit (BUSY) to a 1. When a
Teletype character starts to enter, the control de-energizes a relay in the
Teletype unit to release the tape feed latch. When released the latch
mechanism stops tape motion only when a complete character has been
sensed, and before sensing of the next character is started. 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.
TELEPRINTER/PUNCH - On program command, a character is sent in parel-
lel from a memory location (or a general register) to the TPB shift register
for transmission to the teleprinter/punch unit. The control generates the . .
start "space," then shifts the eight bits serially into the Teletype unit, and
then generates the stop "marks." This transfer of information from the TPB
into the teleprinter/punch unit is accomplished at the normal Teletype rate
and requires 100 milliseconds for completion. The READY flag in the tele-
printer/punch indicates that the TP8 is ready to receive a new character. A
maintenance mode is provided which connects the TPB output to the TKB
input so that the parallel serial and serial parallel shifting may be verified.
HIGH-SPEED PERFORATED TAPE READER PUNCH AND
CONTROL (TYPE PC11)
TAPE READER - This device senses 8-hole perforated paper or Mylar tape photo-electrically at 300 characters per second. The reader control requests reader movement, transfers data from the reader into the reader buffer (PRB), and signals the computer when incoming data is present. It does this 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.
TAPE PUNCH -This option of a Royal McBee paper tape punch that per- forates 8-hole tape at a rate of 50 characters per second. Information to be punched on a line of tape is loaded in an 8-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.
LINE FREQUENCY CLOCK (TYPE KW11-L)
The KW11-L real timeclock provides a method of measuring time intervals
at line frequency. This clock consists of a frequency source and control logic.
When enabled the clock causes an interrupt every 16.6 or 20 milliseconds,
depending upon line frequency.
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.
INIT: 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