Difference between revisions of "UNIBUS"

From Computer History Wiki
Jump to: navigation, search
m (I done made a formatting whoopsie.)
Line 1: Line 1:
 
{{stub}}
 
{{stub}}
OMGWTF UNIBUS! This is a stub.
 
  
[[Category: Bus architectures]]
+
{{wp-orig}}
 +
 
 +
The '''Unibus''' was the earliest of several [[computer bus|bus]] technologies used with [[PDP-11]] and early [[VAX]] systems manufactured by [[Digital Equipment Corporation]].
 +
 
 +
The Unibus was composed of 72 wires (2 connectors x 36 lines per connector). When not counting the power and ground lines, it is usually referred to as a 56 line bus. It could exist within a backplane or on a cable. Up to 20 nodes (devices) could be connected to a single Unibus segment; additional segments could be connected via a bus repeater.
 +
 
 +
The bus was completely asynchronous, allowing a mixture of fast and slow devices. It allowed the overlapping of arbitration (selection of the next ''bus master'') while the current bus master was still performing data transfers. The 18 address lines allowed the addressing of a maximum of 256 KBytes. Typically, the top 8 KBytes was reserved for the registers of the memory mapped IO devices used in the [[PDP-11 architecture]].
 +
 
 +
The design deliberately minimized the amount of redundant logic required in the system. For example, a system always contained more slave devices than master devices so most of the fancy logic required to implement asynchronous data transfers was forced into the relatively few master devices. For interrupts, only the ''interrupt-fielding processor'' needed to contain the complicated timing logic. The end result was that most I/O controllers could be implemented with very simple logic and most of the critical logic was implemented as a custom MSI IC.
 +
 +
18 A00-A17 - Address Lines
 +
16 D00-D15 - Data Lines
 +
  4 BR4-BR7 - Bus (Interrupt) Requests at priorities 4 (lowest) through 7 (highest)
 +
  4 BG4-BG7 - Bus (Interrupt) Grants at priorities 4 (lowest) through 7 (highest)
 +
  1 NPR    - Non Processor (DMA) Request
 +
  1 NPG    - Non Processor (DMA) Grant
 +
  1 ACLO    - AC Low
 +
  1 DCLO    - DC Low
 +
  1 MSYNC  - Master Sync
 +
  1 SSYNC  - Slave Sync
 +
  1 BBSY    - Bus Busy
 +
  1 SACK    - Selection Acknowledge
 +
  1 INIT    - Bus Init
 +
  1 INTR    - Interrupt Request
 +
  1 PA      - Parity control
 +
  1 PB      - Parity control
 +
  2 C0-C1  - Cyce Control Lines:
 +
  2 +5v    - Power Lines (not counted as part of the 56)
 +
14 Gnd    - Ground Lines (not counted as part of the 56)
 +
 
 +
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''.
 +
 
 +
 
 +
[[Category:Computer buses]]
 +
[[Category:DEC hardware]]

Revision as of 21:48, 16 May 2007

The Unibus was the earliest of several bus technologies used with PDP-11 and early VAX systems manufactured by Digital Equipment Corporation.

The Unibus was composed of 72 wires (2 connectors x 36 lines per connector). When not counting the power and ground lines, it is usually referred to as a 56 line bus. It could exist within a backplane or on a cable. Up to 20 nodes (devices) could be connected to a single Unibus segment; additional segments could be connected via a bus repeater.

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

The design deliberately minimized the amount of redundant logic required in the system. For example, a system always contained more slave devices than master devices so most of the fancy logic required to implement asynchronous data transfers was forced into the relatively few master devices. For interrupts, only the interrupt-fielding processor needed to contain the complicated timing logic. The end result was that most I/O controllers could be implemented with very simple logic and most of the critical logic was implemented as a custom MSI IC.

18 A00-A17 - Address Lines
16 D00-D15 - Data Lines
 4 BR4-BR7 - Bus (Interrupt) Requests at priorities 4 (lowest) through 7 (highest)
 4 BG4-BG7 - Bus (Interrupt) Grants at priorities 4 (lowest) through 7 (highest)
 1 NPR     - Non Processor (DMA) Request
 1 NPG     - Non Processor (DMA) Grant
 1 ACLO    - AC Low
 1 DCLO    - DC Low
 1 MSYNC   - Master Sync
 1 SSYNC   - Slave Sync
 1 BBSY    - Bus Busy
 1 SACK    - Selection Acknowledge
 1 INIT    - Bus Init
 1 INTR    - Interrupt Request
 1 PA      - Parity control
 1 PB      - Parity control
 2 C0-C1   - Cyce Control Lines:
 2 +5v     - Power Lines (not counted as part of the 56)
14 Gnd     - Ground Lines (not counted as part of the 56)

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.