Main Page | See live article | Alphabetical index

NuBus

NuBus is a 32-bit parallel computer bus, originally developed at MIT as a part of their NuMachine workstation project, and eventually used by Apple Computer and NeXT Computer. It is no longer widely used.

NuBus was a considerable step forward compared to other interfaces of the day. At the time most computer bus systems were 8-bit, as were the computers they plugged into. However NuBus decided on a 32-bit interface because it was clear the market was headed in this direction.

In addition, NuBus was agnostic about the processor itself. Most busses up to this point were basically the pins on the CPU run out onto the backplane, meaning that the cards had to conform to the signalling and data standards of the machine it was plugged into (being little endian for instance). NuBus made no such assumptions, which meant that a NuBus card could be plugged into any NuBus machine, as long as there was an appropriate device driver.

And in order to select the proper device driver, NuBus included an ID scheme that allowed the cards to identify themselves to the host computer during startup. This meant that the user didn't have to configure the system, the bane of bus systems up to that point. For instance, with ISA the driver has to be configured not only for the card, but for the slot it is plugged into, any memory it needs, and the interrupts it uses. With NuBUS you simply plugged in the card, installed the driver, and it would just work. Today we refer to this as plug-and-play.

On the downside, while this flexibility made NuBus much simpler for the user and device driver authors, it made things more difficult for the designers of the cards themselves. Whereas most "simple" bus systems were easily supported with a handful of input/output chips designed to be used with that CPU in mind, with NuBus every card and computer had to convert everything in a platform-agnostic "NuBus world". Typically this meant adding a NuBus controller chip between the bus and any I/O chips on the card, increasing costs. While this is a trivial exercise today, one that all newer buses require, at the time in the 1980s NuBus was considered complex and expensive.

NuMachine was never released, but Texas Instruments later took over the NuBus work in 1980 and standardized it as IEEE 1196. This version used a standard 96-pin three-row connector, commonly found on other bus systems like VME and PCI, running the system on a 10Mhz clock for a maximum burst throughput of 40Mbps and average speeds of 10 to 20Mbps. A later addition, NuBus90, bumped the clock rate to 20Mhz for better throughput, burst increasing to about 70Mbps, and average to about 30Mbps.

NuBus was later selected by Apple Computer for use in their Macintosh II project, where its plug-n-play nature fit well with the Mac philosophy of ease-of-use. It was used in most of their Mac line through the late 1980s and into the 1990s, and was upgraded to NuBus90 starting with the Macintosh Quadras. Early machines only supported the 20MHz rate when two cards were talking to each other, the motherboard controller was not upgraded. This was later addressed in the 660av and 880av models, and used on the early PowerMac models. Apple's implementation also supplied an always-on +5v "trickle" power supply for tasks such as watching the phone line while the computer was turned off. This was apparently part of an unapproved NuBus standard.

NuBus was also selected by NeXT Computer for their line of machines, but used a different physical PCB layout, which didn't help matters. NuBus appears to have seen little use outside these roles, and when Apple switched to PCI in the early 1990s, NuBus quickly disappeared.