RFC 642 (rfc642) - Page 2 of 4
Ready line philosophy and implementation
Alternative Format: Original Text Document
RFC 642 Ready Line Philosophy and Implementation July 1974
by sending a message intended to be thrown away* (which may he
appended to the current message) and throw away the message currently
being received. (Both the host - IMP message and the IMP - host
message).
The simplest arrangement for the host's interface driver is a pair of
processes, one sending messages and the other receiving messages.
This drop of the IMP's ready line must be provided as an error status
bit to each process. However, the two processes will need to clear
this condition independently: the simplest implementation is an Input
Error flop and an Output Error flop. Both flops are set by a drop of
the IMP's ready line, and they are cleared independently under
program control.
When the IMP raises its ready line, each contact bounce will again
set the Error flops in the host's interface. To insure that messages
are not flowing across the interface at this time, assertions of the
signals "there's your IMP bit" and "ready for next host bit" have
been delayed sufficiently in the IMP to guarantee that the IMP ready
line has stabilized.
III. Programming
The interface driver processes can be described simply:
INPUT: Wait until an input buffer is available
Wait until IMP ready
Start input
Wait until input is complete
IF Input Error
THEN clear Input Error // Flush smashed message. Input
// buffer will be reused.
ELSE queue message on input queue
GOTO INPUT
OUTPUT: Wait until a message is present on output queue
Wait until IMP ready
Start output
Wait until output is complete
IF Output Error
THEN clear Output Error // smashed message is flushed
ELSE deque message from output queue // Free up
// output buffer
GOTO 0UTPUT
----------
*The standard convention uses the host-IMP NOP message.
Burchfiel