VESA Local Bus
VESA Local Bus | |
Multi-I/O-Controller with 1×IDE/SCSI-2/FDD/parallel/2×RS232/Game | |
Year created | 1992 |
---|---|
Created by | VESA |
Superseded by | PCI (1993) |
Width in bits | 32 |
Number of devices | 3 |
Speed | 25-40 MHz |
Style | Parallel |
Hotplugging interface | no |
External interface | no |
The VESA Local Bus (usually abbreviated to VL-Bus or VLB) is a short-lived expansion bus that was mostly used in personal computers. VESA (Video Electronics Standards Association) Local Bus worked alongside the ISA bus, acting as a high-speed conduit for memory-mapped I/O and DMA, while the ISA bus handled interrupts and port-mapped I/O.
Historical overview
In the early 1990s, the I/O bandwidth of the ISA bus was becoming a critical bottleneck to PC graphics performance. The need for faster graphics was being driven by increasing adoption of graphical user interfaces in PC operating systems. While IBM's attempt at producing a successor to ISA with the Micro Channel Architecture was a technically viable option, it failed in the market due to its proprietary nature and imposition of licensing fees. The competing EISA open standard was still unable to offer enough performance improvement over ISA to provide a solution. Thus for a short time, hardware producers created proprietary implementations of local buses on their motherboards to give graphics cards direct access to the processor and system memory – and avoid the limitations of the ISA bus. However, as these manufacturer-specific solutions were not standardized, there were no provisions for providing interoperability between them. This led to the VESA consortium proposing and defining a Local Bus standard in 1992.[1] Additionally while greater graphics card performance was a primary goal of VLB, other devices could also benefit from the VLB standard; notably many mass storage controllers were offered for VLB with increased hard disk performance.
A "VLB slot" itself was simply an additional edge connector placed in-line with the traditional ISA or EISA connector, with this extended portion often colored a distinctive brown. The result was a normal ISA or EISA slot being additionally capable of accepting VLB-compatible cards. Traditional ISA cards remained compatible as they would not have pins past the normal ISA or EISA portion of the slot. The reverse was also true – VLB cards were by necessity quite long in order to reach the VLB connector, and were reminiscent of older full-length expansion cards from the earlier IBM XT era. Ironically, the VLB portion of a slot looked similar to an IBM MCA slot, as indeed it was the same physical 116-pin connector used by MCA cards, rotated by 180 degrees. The IBM MCA standard had not been as popular as IBM expected and there was an ample surplus of the connector, making it inexpensive and readily available.
Limitations
The VESA Local Bus was designed as a stopgap solution to the problem of the ISA bus's limited bandwidth. As such, one requirement for VLB to gain industry adoption was that it had to be a minimal burden for manufactures to implement, in terms of board re-design and component costs; otherwise, manufacturers would not have been convinced to change from their own proprietary solutions. As VLB fundamentally tied a card directly to the 486 processor bus with minimal intermediary logic (reducing logic design and component costs), timing and arbitration duties were strongly dependent on the cards and CPU.
This simplicity of VLB unfortunately created several factors that served to limit its useful life substantially:
- 80486 dependence
- The VESA Local Bus relied heavily on the Intel 80486 CPU's memory bus design. When the Pentium processor arrived there were major differences in its bus design, and was not easily adaptable to a VESA Local Bus implementation. Few Pentium motherboards with VLB slots were ever made, and used VLB-to-PCI bridges such as the OPTi 82C822.[2] Also moving the bus to non-x86 architectures was nearly impossible.
- Limited number of slots available
- Most PCs that used VESA Local Bus had only one or two VLB capable ISA slots from the five or six available; thus, four ISA slots generally were just that, ISA only. This was a result of VESA Local Bus being a direct branch of the 80486 memory bus. The processor did not have the electrical ability to correctly drive (signal and power) more than two or three devices at a time directly from this bus.
- Reliability problems
- The strict electrical limitations on the bus also reduced any "safety margin" available, negatively influencing reliability. Glitches between cards were common, as the interaction between individual cards, combinations of cards, motherboard implementation, and even the processor itself was difficult to predict. This was especially prevalent on lower-end motherboards, as the addition of more VLB cards could overwhelm an already marginal implementation. Results could be rather spectacular when often important devices such as hard disk controllers were involved with a bus conflict with a memory intensive device such as the ubiquitous video card.
- As VLB devices had direct high-speed access to system memory at the same level as the main processor, there was no way for the system to intervene if devices were mis-configured or became unstable. If two devices overwrote the same memory location in a conflict, and the hard disk controller relied on this location (the HDD controller often being the second conflicting device) there was the all-too-common possibility of massive data corruption.
- Limited scalability
- As bus speeds of 486 systems increased, VLB stability became increasingly difficult to manage. The tightly coupled local bus design that gave VLB its speed became increasingly intolerant of timing variations - notably past 40 MHz. Intel's original 50 MHz 486 processor faced difficulty in the market as many existing motherboards (even non-VLB designs) did not cope well with the increase in front side bus speed to 50 MHz. If one could achieve reliable operation of VLB at 50 MHz it was extremely fast – but again, this was notoriously difficult to achieve, and often it was discovered not to be possible with a given hardware configuration.[3]
- The 486DX-50's successor, the 486DX2-66, circumvented this problem by using a slower but more compatible bus speed (33 MHz) and a multiplier (×2) to derive the processor clock speed.
- Installation woes
- The length of the slot and number of pins made VLB cards notoriously difficult to install and remove. The sheer mechanical effort required was stressful to both the card and the motherboard, and breakages were not uncommon. This was compounded by the extended length of the card logic board; often there was not enough room in the PC case to angle the card into the slot, requiring it to be pushed with great force straight down into the slot. To avoid excessive flexing of the motherboard during this action the chassis and motherboard had to be designed with good, relatively closely spaced supports for the motherboard, which was not always the case, and the person inserting the board had to distribute the downward force evenly across its top edge.
- The length of a VLB slot, and the difficult installation that resulted from it, led to an alternative expansion of the acronym: Very Long Bus.
Legacy
Despite these problems, the VESA Local Bus became very commonplace on later 486 motherboards, with a majority of later (post-1992) 486-based systems featuring a VESA Local Bus video card. VLB importantly offered a less costly high speed interface for consumer systems, as only by 1994 was PCI commonly available outside of the server market via the Pentium and Intel's chipsets. PCI finally displaced the VESA Local Bus (and also EISA) in the last years of the 486 market, with the last generation of 80486 motherboards featuring PCI slots in lieu of VLB capable ISA slots. However a few manufacturers did develop and offer "VIP" (VESA/ISA/PCI) motherboards with all three slot types.
Technical data
Bus width | 32 bits |
---|---|
Compatible with | 8 bit ISA, 16 bit ISA, VLB |
Pins | 112 |
Vcc | +5 V |
Clock | 486SX-25: 25 MHz 486DX2-50: 25 MHz 486DX-33: 33 MHz 486DX2-66: 33 MHz 486DX4-100: 33 MHz 486DX-40: 40 MHz 486DX2-80: 40 MHz 486DX4-120: 40 MHz 5x86@133 MHz: 33 MHz 5x86@160 MHz: 40 MHz 486DX-50: 50 MHz (out of specification) |
See also
- Industry Standard Architecture (ISA)
- Extended Industry Standard Architecture (EISA)
- Micro Channel architecture (MCA)
- NuBus
- Peripheral Component Interconnect (PCI)
- Accelerated Graphics Port (AGP)
- PCI Express (PCIe)
- List of device bandwidths (A useful listing of device bandwidths that include VLB)
References
- ↑ Richter, Jake."Local-bus architecture: A little-understood, much-cited graphics technology", "InfoWorld", May 18, 1992, accessed March 9, 2011.
- ↑ http://bitsavers.informatik.uni-stuttgart.de/pdf/opti/dataSheets/82C822_VESA_to_PCI_Apr94.pdf
- ↑ BrainBell.com "A+ Tutorials > Expansion Buses > VESA Local Bus (VLB)", accessed January 8, 2012.
This article is based on material taken from the Free On-line Dictionary of Computing prior to 1 November 2008 and incorporated under the "relicensing" terms of the GFDL, version 1.3 or later.