OCTOBUS

Octobus (or OCTObus, as it was written in some documentation) was a high-speed serial command bus for system-internal high speed signal/command transfer. It could send short messages used for synchronization of directly coupled processors in multi-processor configurations including DOMINO I/O controllers.

OCTObus physical implementation
The MPM-5 (MultiPortMemory) system was extended with the physical wiring and features for Octobus support and was then called Multi-Function bus, or MF-Bus, introduced with the ND-5000 series.

OCTObus purpose
Octobus was a part of transforming the original ND-500 design, where the ND-110 processor was an I/O bottleneck, to a multi-processor system with DOMINO I/O boards connected directly to the MF-Bus. The role of OCTObus was to manage and synchronize the processors.

OCTObus protocol overview

 * An OCTObus message is 32 bits. It includes priority, destination, source, information, etc.
 * Each device connected to the OCTObus is called a node.
 * There can be up to 62 nodes on one OCTObus.
 * An OCTObus can be bridged to another OCTObus if 62 nodes isn't sufficient.
 * One node must be set up as MASTER. This node supplies the OCTObus clock (XCLK)
 * Any node can be set up as MASTER, the MASTER node is not special.
 * All nodes can take control of the bus, by issuing a request (XREQ) intercepted by the MASTER.
 * Power failures are tolerated by all nodes.
 * Retries are handled by hardware.

OCTObus signals

 * XREQ - Transmit request
 * XCLK - Clock
 * XDAT - Data
 * XRFO - Refresh oscillator

OCTObus data rate
Data rate depends on cable length.

OCTObus cabling
The internal backwired OCTObus in the MF-Bus is called a local OCTObus and is TTL. Non-backwired OCTObus is called global OCTObus and uses differential cable.