ADRIAN@vax.oxford.ac.uk (03/01/89)
Latest NETBUS description ========================= I have just mailed copies of the revised NETBUS document (draft 3.0). If you would like a copy, and none arrives with a week or so, please contact me. I have since noticed various printing errors in some copies, mainly reversed and disordered pages. Please ask if you need a better copy. For those asking "What *is* NETBUS?", in brief it is a hardware standard for building concurrent systems, especially those involving at least some transputers. I have added a slightly expanded description below. The main changes from the previous issue (draft 2.07) are the abolition of NBC2, the reduction of NBC1 from 96 ways to 32, the introduction of the link and power highways and a clock synchronization flag in the Global command. There is now also the possibility of using a ZIF connector for the system services. Adrian Lawrence ---------------------------------------------------------------------------- ADRIAN @ UK.AC.OXFORD.VAX Microprocessor Unit, Oxford University, 13,Banbury Road, Oxford, Oxon. OX2 6NN. UK. ---------------------------------------------------------------------------- EARN/Bitnet: ADRIAN%UK.AC.OXFORD.VAX@AC.UK {EARN node UKACRL} ARPA: ADRIAN%VAX.OXFORD.AC.UK ACSnet: adrian@vax.oxford.ac.uk@au.oz.munnari [ean.ac.uk%nummari.cs.mu] ----------------------------------------------------------------------------- Outline for new subscribers =========================== NETBUS is an attempt to provide a standard for concurrent systems such as exist in profusion for sequential systems. Examples of the latter are Futurebus, VME, Multibus II, STD and your_own_favourite_bus. As far as I am aware, there are no other such general standards. To the best of my knowledge, and from memory, the nearest approaches are: 1) LINZ bus (Excellent when applicable.) 2) The 'industry standard' tree of up/down system/subsystem connections for reset, analyse and error, with free trailing twisted pairs for links. 3) TRAM pin allocation. 4) Leon Heller's TRAM-like module pin out. 5) Various proprietry buses such as those used by Meiko and the Parsifal project. LINZ bus has less ambitious objectives than NETBUS. The 'industry standard' tree which originated with INMOS evaluation boards is only a very partial system, and has many limitations. It deals only with three signals, forces a binary tree structure on the connections preventing arbitrary resets and analysis, and specifies very little about the hardware. The TRAM specification is very local, and requires all error signals to be 'OR'ed together. In contrast, NETBUS attempts to specify sufficient details for complete systems, and will be in the public domain. It was presented at the 8th Occam User Group Technical Meeting at Sheffield, 1988. Some of the changes introduced in this new issue were as the result of feedback from the Hardware SIG at that meeting. NETBUS can be regarded under 4 main headings: 1) The system connector (NBC) 2) The link highway. 3) The (optional) power highway. 4) The system protocol (system services). System connector (NBC) ====================== Netbus systems consist of one or more NETBUS *stacks*. A netbus board carries a stacking connector which is usually a 32 way DIN component, but may be a ZIF connector. These stacked connectors form a 'backbone' for a stack, and carry the system services. These include obvious signals such as a global reset, but more importantly a general serial message passing system. The system services are protocols applied to that channel; they are open-ended and cater for arbitrary hardware. A NETBUS board may perhaps carry an SIMD array, or a conventional sequential processor such as an i860 or an MC88000. Link Highway ============ The link highway provides a standard way of connecting links using ground plane ribbon cable. With active, passive or mixed routing boards, arbitrary networks may be configured. Simple sytems without crosspoint switches can be routed in seconds with routing plugs. Power Highway (Optional) ======================== A specification for the location of power connectors and ordering of power lines to facilitate power harnesses. System Protocol =============== The system services are open-ended messages specification. Messages from a stack controller to a slave are generally commands or requests for a status report. A basic slave reply is to identify itself. Apart from the global command, the exact meaning of the other commands are a function of this slave identity. So if a slave identifies itself as containing an AMD29000 processor, subsequent messages will be appropriate to that context. Of course, there are standard recommendations for slaves containing transputers and/or cross point switches. Of course there are means for a board to attract the controller's attention:- this might be set up on a particular slave to activate automatically on a transputer error pin, or a memory parity error. <----------------------------------------------> Of course, all this has considerable relevance to some of the messages on this mailing list about link switching......