Re: Mystery hardware query
- From: dempson@xxxxxxxxxxxxx (David Empson)
- Date: Fri, 3 Aug 2007 12:01:44 +1200
Michael J. Mahon <mjmahon@xxxxxxx> wrote:
For a software-driven network, it is quite time consuming to sense the
state of the bus to determine that another sender is interfering with
your transmission. Therefore, I would expect that collision avoidance
techniques were used (all in the arbitration phase) and that collision
detection existed only in the sense that a failed transmission checksum
was detected and retried.
Nestar did a brief negotiation using an arbitration handshake to confirm
that there was a single sender and recipient, followed by a burst of
data with checksum, and acknowledge. If the acknowledge was lost, the
sender retried (needing another arbitration phase).
Workstations weren't expecting to receive unsolicited data, so only the
server had to actively poll the network to look for incoming arbitration
requests. Workstations were then in an active polling state while
waiting for a response to a data request.
There were some special applications which did direct communication
between workstations, but they polled the network themselves.
There was no scheme for sending out notifications or alerts to
workstations, e.g. popup messages from the administrator.
The majority of data was accessed using block-level operations, together
with a higher level command set for mounting and unmounting volumes. A
station would send a request packet, then wait for the reply. The server
would respond when it had data available. I expect there was no need for
an acknowledgement of the request, and the server wasn't able to queue
or schedule requests, so the network communication would look like this:
1. Workstation arbitrates for network access for sending to server,
identifying itself. (A collision at this point results in failed
arbitration and randomly timed retries by the workstations.)
2. Server acknowledges to the workstation which it heard first.
3. Workstation sends request packet.
4. Server processes request and sends reply.
5. Workstation acknowledges the reply.
6. Network is released so another arbitration can occur.
If I can dig out the disassembled source code for the Nestar card, I
could confirm some of these details. I might not have got far enough
into the disassembly to fully understand this level of the protocol. I
only needed to find out how to replicate the Pascal block I/O protocol
so I could implement a ProDOS block driver which sent the same messages.
> Don't know how it dealt with fan-out problems or transmission line
> effects like signal reflections. I don't recall anything like a
> terminator as a separate component, or as a switch setting on the "end"
> cards.
At Apple II signalling speeds, 1 cycle is about 200 feet of cable, and
since handshaking involves multi-cycle delays between sensing "data rdy"
and sampling data lines, any reflections would be fully damped out.
Ok. That explains the lack of termination.
Fan-out (signal loading) would depend on the components used for the
transmit and receive circuits, and cable impedance. I expect it was
designed to cope with something in the order of 20 workstations on the
network, by which time the performance of the network in times of heavy
load was unbearably slow (due to server performance, network throughput
and arbitration collisions).
--
David Empson
dempson@xxxxxxxxxxxxx
.
- Follow-Ups:
- Re: Mystery hardware query
- From: Michael J. Mahon
- Re: Mystery hardware query
- References:
- Re: Mystery hardware query
- From: Michael J. Mahon
- Re: Mystery hardware query
- From: David Empson
- Re: Mystery hardware query
- From: Steven Hirsch
- Re: Mystery hardware query
- From: David Empson
- Re: Mystery hardware query
- From: Michael J. Mahon
- Re: Mystery hardware query
- Prev by Date: Re: ProTERM available? Or another good ZModem prog?
- Next by Date: Re: Apple II video problem?
- Previous by thread: Re: Mystery hardware query
- Next by thread: Re: Mystery hardware query
- Index(es):
Relevant Pages
|