PDP11 PeripheralsHbk 1972 - Trailing-Edge
PDP11 PeripheralsHbk 1972 - Trailing-Edge
PDP11 PeripheralsHbk 1972 - Trailing-Edge
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
3.S.3 Interface Programming<br />
To type a character on the secondary UNIBUS system Teletype, the processor on<br />
the primary UNIBUS executes the following sequence of instructions:<br />
MOV '75,UUCSR WHERE: UUCSR IS THE CONTROL REGISTER IN THE INTERFACE<br />
MOV CHAR,XPB CHAR IS THE LOCATION CONTAINING THE CHARACTER<br />
XPB HAS THE VALUE 157566<br />
The address transmitted on the secondary UNIBUS is the 13 least significant bits<br />
of XPB (17566) with the contents of the field select register appended as the 5<br />
most significant bits. The address is therefore 777566, which is the address of the<br />
system Teletype TPB.<br />
A block of data is transferred to locations on the secondary UNIBUS by setting<br />
the hold bit when the field register is set:<br />
MOV FIELD,UUCSR \'lHERE: FI ELD I S THE NUMBER OF THE 4K FI ELD<br />
OF ',WRD ADDRESSES TO BE ACCESSED ON<br />
THE SECONDARY UNIBUS (WITH A 1 APPENDED<br />
TO SET THE HOLD BIT><br />
Data transfers then access locations in that address field when the address on<br />
the primary UNIBUS has A< 17:13> equal to 00110 and A< 12:00> equal to the<br />
desired value of A< 12:00> on the secondary UNIBUS. If FIELD has the value<br />
11 8 , the address 140020 8 is translated to the address 100020 8 ,<br />
3.9 MEMORY INCREMENT INTERFACE<br />
An Increment Memory interface is used to increment a device-selected memory location<br />
without requiring processor intervention. The interface operates by performing<br />
a DATIP, DATO sequence with the selected memory location. This sequence<br />
is the same as processor operation with a destination operand. Data read<br />
from the memory location by the DATIP transfer is loaded into a counter register.<br />
A count cycle is initiated, and the count is allowed to ripple through the register.<br />
The new value is written back into the memory during the DATa cycle.<br />
A more flexible implementation uses an adder instead of a counter. The contents<br />
of the memory location are brought into a latch, which forms one input to the adder.<br />
The other input can be under device or program control; or a simple increment<br />
operation can be executed by providing a carry into the least significant<br />
bit. The adder permits arbitrary values to be added to the selected location. This<br />
expanded interface is not described in subsequent discussions.<br />
This interface differs from previous interface examples because the device output<br />
is used as a bus address rather than as data. The operations performed on the<br />
data in these locations effectively generate a time-interval histogram directly in<br />
core memory.<br />
3.9.1 Interface Description and Operation<br />
In Figure 3-16, the analog-to digital converter (ADC), which is an external device<br />
that supplies the digital value used as an address, is not part of the interface. One<br />
device register is used in the interface. The device register contains the enable bit<br />
which controls access of the interface to the UNIBUS, and contains the five field<br />
select bits used to select a 4K word block of bus addresses that the interface uses<br />
for conducting transfers. The counter and transmitters are under interface control.<br />
The interface provides all timing and control signals for one cycle of oper-<br />
271