Unibus
Unibus
Unibus backplane (left) and two expansion cards
Year created1969 (1969)
Created byDigital Equipment Corporation
Width in bits18 address, 16 data
StyleParallel
A DEC Core Memory Unibus card (16K × 18)

The Unibus was the earliest of several computer bus and backplane designs used with PDP-11 and early VAX systems manufactured by the Digital Equipment Corporation (DEC) of Maynard, Massachusetts. The Unibus was developed around 1969 by Gordon Bell and student Harold McFarland while at Carnegie Mellon University.[1]

The name refers to the unified nature of the bus; Unibus was used both as a system bus allowing the central processing unit to communicate with main memory, as well as a peripheral bus, allowing peripherals to send and receive data. Unifying these formerly separate busses allowed external devices to easily perform direct memory access (DMA) and made the construction of device drivers easier as control and data exchange was all handled through memory-mapped I/O.[2]

Unibus was physically large, which led to the introduction of Q-bus, which multiplexed some signals to reduce pin count. Higher performance PDP systems used Fastbus, essentially two Unibusses in one. The system was later supplanted by Massbus, a dedicated I/O bus introduced on the VAX and late-model PDP-11s.

Technical specifications

A Unibus connector and extension cable

The Unibus consists of 72 signals, usually connected via two 36-way edge connectors on each printed circuit board. When not counting the power and ground lines, it is usually referred to as a 56-line bus. It can exist within a backplane or on a cable. Up to 20 nodes (devices) can be connected to a single Unibus segment; additional segments can be connected via a bus repeater.

The bus is completely asynchronous, allowing a mixture of fast and slow devices. It allows the overlapping of arbitration (selection of the next bus master) while the current bus master is still performing data transfers. The 18 address lines allow the addressing of a maximum of 256 KB. Typically, the top 8 KB is reserved for the registers of the memory-mapped I/O devices used in the PDP-11 architecture.

The design deliberately minimizes the amount of redundant logic required in the system. For example, a system always contains more slave devices than master devices so most of the complex logic required to implement asynchronous data transfers is forced into the relatively few master devices. For interrupts, only the interrupt-fielding processor needs to contain the complex timing logic. The result is that most I/O controllers can be implemented with simple logic, and most of the critical logic is implemented as a custom MSI IC.

Pinout

NumberNameTypeDescription
18A00-A171Address Lines
16D00-D151Data Lines
4BR4-BR71Bus (Interrupt) Requests at priorities 4 (lowest) through 7 (highest)
4BG4-BG72Bus (Interrupt) Grants at priorities 4 (lowest) through 7 (highest)
1NPR1Non Processor (DMA) Request
1NPG2Non Processor (DMA) Grant
1MSYNC1Master Sync
1SSYNC1Slave Sync
1BBSY1Bus Busy
1SACK1Selection Acknowledge
1INIT1Bus Init
1INTR1Interrupt Request
1PA1Parity control
1PB1Parity control
2C0-C11Control Lines
1ACLO3AC Low
1DCLO3DC Low
2+5v-Power Lines (not counted as part of the 56)
14Gnd-Ground Lines (not counted as part of the 56)
Unibus grant request continuity card

Type 1 lines are a normal multi-sender wired-OR bus with pull-up resistors at each end of the bus, typically on a terminator card.[3]

Type 2 lines are selectively propagated by each card to the next slot – if the card wants to keep the request grant it will assert the SACK line and not propagate the request to the next slot. If a slot is empty, it is necessary to install a "grant continuity card" in the slot to propagate the four type 2 signals to the next card.[3]

Type 3 signals are generated by the power supply and have only a single sender. They warn the devices on the bus when the power is about to fail, so those devices can execute an orderly shutdown, and disable operations to prevent spurious writes.[3]

The two control lines (C0 and C1) allowed the selection of four different data transfer cycles:

  • DATI (Data In, a read)
  • DATIP (Data In/Pause, the first portion of a Read-Modify-Write operation. A DATO or DATOB operation completes this.)
  • DATO (Data Out, a word write)
  • DATOB (Data Out/Byte, a byte write)
  • During an interrupt cycle, a fifth style of transfer was automatically invoked to convey an interrupt vector from the interrupting device to the interrupt-fielding processor.

References

  1. Gardner Hendrie, Interviewer (June 23, 2005). "Bell (Gordon) Oral History". Reference number: X3202.2006. Computer History Museum. Retrieved May 20, 2011. {{cite web}}: |author= has generic name (help)
  2. "PDP-11 Buses". University of Sydney.
  3. 1 2 3 Digital Equipment Corporation (1979). "Unibus Specification" (PDF).
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.