NuBus is a 32-bit parallel computer bus, originally developed at MIT as a part of the NuMachine workstation project. The first complete implementation of the NuBus and the NuMachine was done by Western Digital for their NuMachine, and for the Lisp Machines Inc. LMI-Lambda. The NuBus was later incorporated in products by Texas Instruments (Explorer), Apple Computer and NeXT. It is no longer widely used outside of the embedded market.
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 that direction.
In addition, NuBus was agnostic about the processor itself. Most buses 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 they were 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.
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 had to be configured not only for the card, but for any memory it required, the interrupts it used, and so on. NuBus required no such configuration, making it one of the first examples of plug-and-play architecture.
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.
The NuBus became a standard in 1987 as IEEE 1196. This version used a standard 96-pin three-row connector, running the system on a 10 MHz clock for a maximum burst throughput of 40 MB/s and average speeds of 10 to 20 MB/s. A later addition, NuBus90, increased the clock rate to 20 MHz for better throughput, burst increasing to about 70 MB/s, and average to about 30 MB/s.
The NuBus was first developed commercially in the Western Digital NuMachine, and first used in a production product by their licensee, Lisp Machines, Inc., in the LMI-Lambda, a Lisp Machine. The project and the development group was sold by Western Digital to Texas Instruments in 1984. The technology was incorporated into their TI Explorer, also a Lisp Machine. In 1986, Texas Instruments used the NuBus in the S1500 multiprocessor UNIX system. Later, both Texas Instruments and Symbolics developed Lisp Machine NuBus boards (the TI MicroExplorer and the Symbolics MacIvory) based on their Lisp supporting microprocessors. These NuBus boards were co-processor Lisp Machines for the Apple Macintosh line (the Mac II and Mac Quadras).
Full article ▸