Ethernet Hardware; Ethernet Microcode - Xerox Alto I Hardware Manual

A personal computer system alto series
Table of Contents

Advertisement

Alto Hardware Manual
Section 7: Ethernet
52
7.2 Ethernet Hardware
The Ethernet hardware consists of a
FIFO
buffer, an output shift register· and phase encoder, a clock
recovery circuit, an input shift register, a
eRe
register, and one microcode task. The hardware is shown
in block diagram form in Figure 8.
Packets on the Ether are phase encoded and transmitter
synchronous: it is the responsibility of the receiver to decide where a packet begins (and thus establish
the phase of the data clock), separate the clock from the data, and deserialize the incoming bit stream.
The purpose of the write register is to synchronize data transfers between the input shift register whose
clock is derived from the incoming data, and the
FIFO
which is synchronous to the processor system
. clock. The large
FIFO
is necessary because the Ethernet task has relatively low priority, and the worst
case latency from request to task wakeup is on the order of 20 microseconds. The phase encoder uses
the system clock (one Ethernet bit time is two clock periods).
Included in the clock recovery section is a one-shot which is retriggered by each level transition of a
passing packet. This detects the envelope of a packet and is called its 'carrier'. Ethernet phase encoders
mark the beginning of a packet by prefixing a single 1 bit, called the sync bit, to the front of all
transmissions. The leading edge of the sync bit of
a
packet will trigger the carrier one-shot of a listening
receiver and establish the receiver clock phase. The sync bit is clocked into the input shift register and
recirculated every 16 bit times thereafter to mark the presence of a complete word in the register. If
carrier drops without the sync bit at the end of the register, the transmission was incomplete, and is
flagged in the hardware status bits. When the shift register is full, the word is transferred to the write
register where it sits until the
FIFO
control has synchronized its presence and there is room to accept it.
If the shift register fills up again before the word has been transferred from the write register to the
FIFO,
data has been lost and the .!nput gata late flip flop is set.
Ethernet transmitters accumulate a 16 bit grc1ic redundancy .£hecksum on the data as it is serialized, and
append it to an outgoing packet after the last data word. As a receiver deserializes an incoming packet it
recomputes the checksum over the data plus the appended
eRe
word. If the resulting receiver checksum
is non-zero, the received packet is assumed to be in error, and the condition is flagged in the hardware
status byte. Since the
eRe
is of no interest to the emulator program, a wakeup request to empty data
from the
FIFO
is only made when it contains two or more words. This reduces the effective size of the
FIFO
by one word, but insures that the
eRe
will be left behind at the end of a packet.
The phase encoder is started when the microcode has decremented the countdown to zero, there is no
carrier present, and either the
FIFO
is full, or if the message is less than 16 words long, all of it has been
transferred to the
FIFO.
The phase encoder will not start up while there is carrier present. This means
that collisions can only happen because of delay in sensing carrier between widely spaced transmitters.
Collisions are detected at the transceiver by comparing the data the interface is supplying to the
data
being received off the Ether. If the two are not identical, a signal is returned to the interface which sets
the collision flip flop causing a wakeup request to the microcode which resets the interface. Countdowns
are accomplished by setting a flip flop from the microcode which will cause a wakeup request on the
next occurrence of
SWAKMRT.
This makes the grain size of countdowns about 38 microseconds.
The interface and the transceiver are connected together by three twisted pairs for signals plus two
supply voltages and ground supplied from the interface. The signals are (1) transmitted data to the
transceiver, (2) received data from the transceiver, and (3) the collision signal from the transceiver
indicating interference.
7.3 Ethernet Microcode
The Ethernet microcode uses a single task and 2 registers in
R:

Advertisement

Table of Contents
loading

This manual is also suitable for:

Alto ii

Table of Contents