VESA Local Bus

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
VLB
VESA Local Bus
VLB card
Multi-I/O-Controller with 1×IDE/SCSI-2/FDD/parallel/2×RS232/Game
Year created1992; 26 years ago (1992)
Created byVESA
Superseded byPCI (1993)
Width in bits32
No. of devices3[citation needed]
Speed25-40 MHz
StyleParallel
Hotplugging interfaceno
External interfaceno

The VESA Local Bus (usually abbreviated to VL-Bus or VLB) was a short-lived expansion bus introduced during the i486 generation of x86 IBM compatible personal computers. Created by VESA (Video Electronics Standards Association) the VESA Local Bus worked alongside the then dominant ISA bus to provide a standardized high-speed conduit intended primary to accelerate video (graphics) operations. VLB provided a standardized "fast path" that add-in (video) card makers could tap for greatly accelerated memory-mapped I/O and DMA, while still using the familiar ISA bus to handle basic device duties such as interrupts and port-mapped I/O.

Historical overview[edit]

An ATI MACH64 SVGA VLB graphics card

In the early 1990s, the I/O bandwidth of the prevailing ISA bus had become a critical bottleneck to PC video and graphics performance. The need for faster graphics was driven by increased adoption of graphical user interfaces in PC operating systems. While IBM did produce a viable successor to ISA with the Micro Channel Architecture, it failed in the market due to IBM's requirement to license and payment of licensing fees by hardware manufacturers to use it. While an extension of the royalty free ISA bus in the form of EISA open standard was developed to counter MCA, it was unable to offer enough improvement over ISA to meet the dramatic increase in bandwidth desired for graphics.

Thus for a short time, a market opening occurred where video card manufacturers and motherboard chipset makers created their own proprietary implementations of local buses to provide graphics cards direct access to the processor and system memory. This avoided the limitations of the ISA bus while being less costly than a "licensed IBM MCA machine." It is important to note that at the time a migration to an MCA architecture machine from an ISA one was not insubstantial. MCA machines generally did not offer ISA slots, thus a migration to MCA architecture meant that any prior investment in ISA cards was made unusable. Additionally makers of MCA compatible cards were subject to IBM's licensing fees, which combined with MCA's greater technical requirements and expense to implement (which in itself is not bad - MCA required peripheral cards to not just be "passive" members and made cards active participants in increasing system performance) it did had the effect of making an MCA version of a peripheral card significantly more expensive than its ISA counterpart.

So while these ad-hoc manufacturer-specific solutions where effective - they were not standardized, and there were were no provisions for providing interoperability. This drew the attention of the VESA consortium and resulted in a proposal for a voluntary and royalty free Local Bus standard in 1992.[1] An additional benefit from this standardization was while greater graphics card performance was a primary goal of VLB, other devices could also be designed to utilize the performance offered from VLB; notably mass storage controllers were offered for VLB providing increased hard disk performance.

Implementation[edit]

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. 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.[citation needed]

Limitations[edit]

Computer motherboard with 7 ISA slots of various feature levels. Six are 16-bit ISA (longer - with middle black sections), three additionally have a VLB slot (leftmost brown sections). A card installed in this board would have its mounting bracket on the right, which normally would be the "back" of the computer case.

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.[citation needed]

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.[2] 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.[3] This also meant that moving the bus to a computer with a non-x86 architecture was nearly impossible.[citation needed]
Limited number of slots available
Most PCs that used VESA Local Bus had only one or two VLB-capable ISA slots out of the total 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 sufficient electrical capacity to correctly drive (signal and power) more than two or three devices at a time directly from this bus.[4]
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.[5]
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.[6] 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.[citation needed]

Legacy[edit]

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[edit]

VLB pins.png
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[edit]

References[edit]

  1. ^ Richter, Jake."Local-bus architecture: A little-understood, much-cited graphics technology", "InfoWorld", May 18, 1992, accessed March 9, 2011.
  2. ^ "VESA Local Bus". www.pcguide.com.
  3. ^ http://bitsavers.informatik.uni-stuttgart.de/pdf/opti/dataSheets/82C822_VESA_to_PCI_Apr94.pdf
  4. ^ "PCGuide - Ref - Older System Bus Types". www.pcguide.com.
  5. ^ BrainBell.com "A+ Tutorials > Expansion Buses > VESA Local Bus (VLB)", accessed January 8, 2012.
  6. ^ Slone, John P. Local Area Network Handbook, Sixth Edition. CRC Press. p. 43. ISBN 9780849398384.

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.