This note makes proposals for software control of the Titan/PDP-7 link. Titan will be the master machine having control over all data transfers over the link. PDP-7 initiated transfers may only commence after obtaining permission from Titan.
Desirable facilities for communication between Titan and the PDP-7 are:
These four facilities are discussed in Sections 2 through 5 below.
Direct transfer of a block between areas of user program in each machine appears to be the simplest and most general way of providing data transfers. The contents and length of the block should be arbitrary (there may be an upper bound on length but see below) and hence the mechanism may be used to transmit any unit of data such as characters, lines, etc.
The transfer could be achieved by four extracodes, analogous to those used for magnetic tape transfers.
(iii) and (iv) would use the lockout facility as for tape transfers. If lockout were not used then:
The disadvantage of using lockout is that the section of user core locked out cannot be dumped to secondary storage. Immovable areas of core could adversely affect multi-programming strategies, and so it would be desirable to release lockout as quickly as possible. Hence some upper bound would have to be placed on the length of a block to be transferred. This limitation does not, however, appear to be severe. The interrupt processing takes about 20 orders per half word, which at 6 µs/order means approximately 125 mS of interrupt processing time would be required for a 512 word block. Depending upon other interrupt activity on Titan such a block could probably be transferred in under a second.
The link would only deal with one transfer request (of whatever kind, see Section 3, 4, 5 below also) at a time and would complete that before starting another. Consequently, a new halt queue must be introduced - "Halt for PDP-7 link busy". A Titan user program would be added to the queue if requesting a transfer when the link was busy,
Transfers initiated by the PDP-7 would be handled by the "Attention" mechanism described below.
Time sequenced events occurring in the PDP-7 may yield information that requires processing in Titan. This information may well be generated faster than Titan can process it, especially as the user program in Titan is only running intermittently. Such information may concern light pen sees, push buttons, requests for data from Titan etc., and it is essential that the PDP-7 should be able to generate the information, whatever the status of the corresponding Titan user program. It provides the ability for the PDP-7 user (person or program) to operate continuously even though the Titan user program operates intermittently. This is particularly important for information produced by display interrupts which is to be processed in Titan. The name coined at Project MAC for such a piece of information is an Attention, and the queue of Attentions is known as the Attention List. A user controlled executive function could place an identifying character on the screen each time an Attention is added to the list, and remove it when the Attention is removed. This serves to leave a history on the screen of actions performed, but not yet processed.
The information added to the Attention List would be under user control. The PDP-7 executive will contain an option allowing information from selected interrupts to be automatically added if the user does not wish to process them in the PDP-7. There will also be a facility allowing the user program to add arbitrary information (up to some limited length) to the Attention List.
There are two methods of informing the Titan user program of the occurrence of an Attention. Both require a further queue for halting a Titan user program "Halt awaiting arrival of an Attention".
This problem could be handled via the Attention mechanism. Since the PDP-7 user program may add arbitrary information to the Attention List it may add a message to be decoded by the Titan user program to be a request for a core-to-core transfer (read or write). If the Titan user program allowed the request, it could then itself initiate it using the machinery described in Section 2 above.
Access to the disk can be achieved in several ways. Three are set out below. I favour the first for initial implementation. The second could be implemented later if found necessary.
Since the Multiplexer routines handle only characters, a special command would be added "write (or read) binary". This would handle binary characters (say 24 bits) and would only make sense when coming from the PDP-7, and not from a teletype.
This method has the two advantages that there would be no scheduling delay and it would not require a Titan user program. However, it would require additional Titan supervisor and PDP-7 executive program and provide the PDP-7 user with only very limited disk access facilities, as designed for a teletype. I feel this method is not nearly so general or powerful as the above two, and it advantages are not strong enough to justify its adoption.
The existing PDP-7 teletype could be used to act as a normal remote teletype to the time-sharing system (via the Titan/PDP-7 link) as well as to handle the PDP-7 input/output as at present. This would add further complications to the PDP-7 executive and Titan supervisor, as well as place a slight restriction on the user who would have to type some control code and say if following characters were for the PDP-7 or Titan. Further, printouts could be difficult to follow with output coming from two machines.
A far simpler and more desirable solution would be to install a second teletype at the PDP-7, it being one of those connected to the Multiplexer. The additional cost of this teletype would be largely offset by the savings in not writing or running the software required for the single teletype scheme.
C.A.L.
2 December 1965
Copyright © 1965 University of Cambridge Computer Laboratory. Distributed by permission. Thanks to Barry Landy, Roger Needham and David Hartley for giving permission to distribute these documents. Thanks to Barry Landy for lending me the paper document from which this was scanned. Any typographical errors probably arose in the course of OCR.
Previous Planning Document: 9. (Number 9 missing)
Next Planning Document: 11. The File Dictionary
System: I - General Description, DWB, 11 February 1966 (supersedes
number 6)
Return to Cambridge Supervisor Planning Documents
Return to CUCPS TITAN page
Return to CUCPS home page
Return to University of Cambridge home page