VLB(VESA Local Bus - local bus of the VESA standard) - a 32-bit addition to the ISA bus. Structurally, it is an additional connector (116-pin, like an MCA) for an ISA connector. Bit depth - 32/32, clock frequency - 25..50 MHz, maximum exchange speed - 130 Mb/s. Electrically designed as an extension of the processor local bus - most processor input and output signals are transmitted directly to the VLB boards without intermediate buffering. Because of this, the load on the output stages of the processor increases, the quality of signals on the local bus deteriorates and the reliability of exchange on it decreases. Therefore, VLB has a strict limitation on the number of installed devices: at 33 MHz - three, at 40 MHz - two, and at 50 MHz - one, preferably integrated into the motherboard.

VLB slots on mother card

Local bus(local bus) is usually called a bus that electrically goes directly to the contacts of the microprocessor, i.e. This is the processor bus. It usually combines the processor, memory, buffering circuits for the system bus and its controller, as well as some other auxiliary circuits. Work on creating a local bus was carried out by different companies in parallel, but in the end the Video Equipment Standard Association (VESA) was created. The first local bus standard specification appeared in 1992. Much was borrowed from the 80486 local bus architecture. Only a new signal processing protocol and connector topology were developed. The advantages of VLB are the high speed of information exchange (the bus can operate in a system with an 80486DX-50 processor). But there is a dependence on the frequency of the processor (designing boards with a wide frequency range). The electrical load does not allow connecting more than three boards. In addition, VLB is not designed for use with processors that replaced the 486 or those existing in parallel with them: Alpha, PowerPC, etc. Therefore, since mid-1993, a number of manufacturers, led by Intel, left the VESA association. These firms created a special group to develop a new alternative standard called Peripheral Component Interconnect (PCI).

MCA bus

The MCA bus (MicroChannel Architecture) - microchannel architecture - was introduced to spite competitors by IBM for its PS / 2 computers starting with the model 50 in 1987. Provides fast data exchange between individual devices, in particular with RAM. The MCA bus is completely incompatible with ISA/EISA and other adapters. The composition of control signals, protocol and architecture are oriented towards asynchronous operation of the bus and processor, which eliminates the problem of matching the speeds of the processor and peripheral devices. MCA adapters widely use Bus-Mastering, all requests go through the CACP (Central Arbitration Control Point) device. The architecture allows all devices to be configured efficiently and automatically by software (there are no switches in MCA PS/2).

Despite all the progressiveness of the architecture (relative to ISA), the MCA bus is not popular due to the narrow range of manufacturers of MCA devices and their complete incompatibility with mass-produced ISA systems. However, MCA still finds application in powerful file servers where highly reliable I/O performance is required.

Local bus VLB

The local bus standard VLB (VESA Local Bus, VESA - Video Equipment Standard Association) was developed in 1992. The main disadvantage of the VLB bus is the impossibility of using it with processors that replaced the MP 80486 or existing in parallel with it (Alpha, PowerPC, etc.).

I/O buses ISA, MCA, EISA have low performance due to their place in the PC structure. Modern applications (especially graphics applications) require significant increases in throughput, which modern processors can provide. One solution to the problem of increasing throughput was to use the local bus of the 80486 processor as a bus for connecting peripheral devices. The processor bus was used as a connection point for the built-in peripherals of the motherboard (disk controller, graphics adapter).

VLB is a standardized 32-bit local bus, essentially representing the 486 processor's system bus signals routed to additional motherboard connectors. The bus is strongly focused on the 486 processor, although it can also be used with 386-class processors. Pentium processors Specification 2.0 was adopted, in which the data bus width was increased to 64, but it did not gain distribution. Hardware bus converters of new processors to the VLB bus, being artificial “growths” on the bus architecture, did not take root, and VLB further development I didn't receive it.

Structurally, a VLB slot is similar to a 16-bit regular MCA slot, but is an extension of the system ISA-16, EISA or MCA bus slot, located behind it close to the processor. Due to the limited load capacity of the processor bus, more than three VLB slots are not installed on the motherboard. The maximum bus clock frequency is 66 MHz, although the bus operates more reliably at 33 MHz. At the same time, a peak throughput of 132 MB/s (33 MHz x 4 bytes) is declared, but it is achieved only within a packet cycle during data transfers. In reality, in a burst cycle, transferring 4 x 4 = 16 bytes of data requires 5 bus clock cycles, so even in burst mode the throughput is 105.6 MB/s, and in normal mode (cycle per address phase and clock per data phase) - only 66 MB /s, although this is significantly more than ISA. Strict requirements for the timing characteristics of the processor bus under heavy load (including external cache chips) can lead to unstable operation: all three VLB slots can only be used at a frequency of 40 MHz; with a loaded motherboard, only 50 MHz can operate one slot. The bus, in principle, allows the use of active (Bus-Master) adapters, but the arbitration of requests rests with the adapters themselves. Typically, the bus allows the installation of no more than two Bus-Master adapters, one of which is installed in the “Master” slot.

The VLB bus was commonly used to connect the graphics adapter and disk controller. Adapters local networks for VLB they practically never occur. Sometimes there are motherboards whose description states that they have a built-in graphics and disk adapter with a VLB bus, but do not have VLB slots themselves. This means that the board contains chips of the specified adapters, designed for connection to the VLB bus.

Such an implicit bus is naturally not inferior in performance to a bus with explicit slots. From a reliability and compatibility point of view, this is even better, since compatibility problems with cards and motherboards for the VLB bus are particularly acute.


Components within a PC interact with each other in various ways. Most internal components, including the processor, cache, memory, expansion cards, and storage devices, communicate with each other using one or more tires(buses).

A bus in computers is a channel through which information is transferred between two or more devices (usually a bus that connects only two devices is called port- port). A bus typically has access points, or places that a device can connect to to make itself part of the bus, and devices on the bus can send information to and receive information from other devices. The concept of a bus is quite general both for the “inside” of a PC and for outside world. For example, a telephone connection in a house can be thought of as a bus: information travels along wires in the house, and one can connect to the "bus" by installing a telephone jack, plugging a telephone into it, and picking up the telephone. All phones on the bus can share information, i.e. speech.

This material is dedicated to the tires of modern PCs. First, tires and their characteristics are discussed, and then the most common tires in the world are discussed in detail. I/O buses(Input/Output bus), also called expansion buses(expansion buses).

Tire functions and characteristics

PC buses are the main data "paths" on the motherboard. The main one is system bus(system bus), which connects the processor and main memory RAM. Previously, this bus was called local, but in modern PCs it is called front tire(Front Side Bus - FSB). The characteristics of the system bus are determined by the processor; The modern system bus is 64 bits wide and operates at 66, 100 or 133 MHz. Such high frequency signals create electrical noise and other problems. Therefore, the frequency must be reduced so that the data reaches expansion cards(expansion card), or adapters(adapters), and other more remote components.

However, the first PCs had only one bus, which was shared by the processor, RAM memory, and I/O components. Processors of the first and second generations operated at a low clock frequency and all system components could support this frequency. In particular, this architecture made it possible to expand RAM capacity using expansion cards.

In 1987, Compaq developers decided to separate the system bus from the I/O bus so that they could operate at different speeds. Since then, this multi-bus architecture has become the industry standard. Moreover, modern PCs have several I/O buses.

Tire hierarchy

The PC has a hierarchical organization of various buses. Most modern PCs have at least four buses. The bus hierarchy is explained by the fact that each bus is increasingly moving away from the processor; Each bus connects to the level above it, integrating various PC components. Each bus is usually slower than the bus above it (for the obvious reason - the processor is the fastest device in the PC):

  • Internal cache bus: This is the fastest bus that connects the processor and the internal L1 cache.
  • System bus: This is the second level system bus that connects the memory subsystem to the chipset and processor. On some systems, the processor and memory buses are the same thing. This bus operated at a speed (clocking frequency) of 66 MHz until 1998, and then it was increased to 100 MHz and even 133 MHz. Pentium II and higher processors implement an architecture with double independent bus(Dual Independent Bus - DIB) - the single system bus is replaced by two independent buses. One of them is intended for accessing main memory and is called front tire(frontside bus), and the second one is for accessing the L2 cache and is called rear tire(backside bus). The presence of two buses increases the performance of the PC, since the processor can simultaneously receive data from both buses. In fifth-generation motherboards and chipsets, the L2 cache is connected to the standard memory bus. Note that the system bus is also called main bus(main bus), processor bus(processor bus), memory bus(memory bus) and even local bus(local bus).
  • Local I/O bus: This high-speed I/O bus is used to connect fast peripheral devices to the memory, chipset, and processor. This bus is used by video cards, disk drives and network interfaces. The most common local I/O buses are the VESA Local Bus (VLB) and the Peripheral Component Interconnect (PCI) bus.
  • Standard I/O bus: The “deserved” standard I/O bus is connected to the three buses considered, which is used for slow peripheral devices (mouse, modem, sound cards, etc.), as well as for compatibility with older devices. In almost all modern PCs such a bus is ISA bus(Industry Standard Architecture - standard industrial architecture).
  • Universal Serial Bus(Universal Serial Bus - USB), allowing you to connect up to 127 slow peripheral devices using hub(hub) or daisy-chaining devices.
  • High-speed serial bus IEEE 1394 (FireWire), designed for connecting digital cameras, printers, TVs and other devices that require extremely high bandwidth to a PC.

Multiple I/O buses connecting various peripherals to the processor are connected to the system bus using bridge(bridge), implemented in the chipset. The system chipset manages all buses and ensures that every device in the system communicates correctly with every other device.

New PCs have an additional "bus" that is specifically designed for graphical interaction only. In fact, this is not a tire, but port- Accelerated Graphics Port (AGP). The difference between a bus and a port is that a bus is usually designed to share media between multiple devices, while a port is designed to only share two devices.

As shown earlier, I/O buses are actually an extension of the system bus. On the motherboard, the system bus ends at the chipset chip, which forms a bridge to the I/O bus. Buses play a vital role in data exchange in a PC. In fact, all PC components, with the exception of the processor, communicate with each other and the system RAM through various I/O buses, as shown in the figure on the left.

Address and data buses

Each tire consists of two different parts: data bus(data bus) and address bus(address bus). When most people talk about a bus, they think of a data bus; The data itself is transmitted along the lines of this bus. The address bus is a set of lines whose signals determine where to send or receive data.

Of course, there are signal lines to control the operation of the bus and signal the availability of data. Sometimes these lines are called control bus(control bus), although they are often not mentioned.

Tire width

A bus is a channel through which information “flows.” The wider the bus, the more information can "flow" along the channel. The first ISA bus on the IBM PC was 8 bits wide; the general purpose ISA bus currently in use is 16 bits wide. Other I/O buses, including VLB and PCI, are 32 bits wide. The system bus width on PCs with Pentium processors is 64 bits.

The width of the address bus can be determined independently of the width of the data bus. The address bus width indicates how many memory cells can be addressed during data transfer. In modern PCs, the address bus width is 36 bits, which allows addressing memory with a capacity of 64 GB.

Bus speed

Bus speed(bus speed) shows how many bits of information can be transmitted on each bus conductor per second. Most buses carry one bit per clock cycle on a single wire, although newer buses such as AGP can carry two bits of data per clock cycle, doubling the performance. The old ISA bus requires two clock cycles to transfer one bit, cutting performance in half.

Bus bandwidth

Width (bits)

Speed ​​(MHz)

Bandwidth (MB/s)

8-bit ISA

16-bit ISA

64-bit PCI 2.1

AGP (x2 mode)

AGP (x4 mode)


Bandwidth(bandwidth) also called throughput(throughput) and shows the total amount of data that can be transferred over the bus in a given unit of time. The table shows theoretical bandwidth of modern I/O buses. In fact, the tires do not reach the theoretical value due to overhead for executing commands and other factors. Most tires can operate at different speeds; The following table shows the most typical values.

Let us make a note regarding four last lines. Theoretically, the PCI bus can be expanded to 64 bits and 66 MHz speed. However, for compatibility reasons, almost all PCI buses and devices on the bus are only rated at 33 MHz and 32 bits. AGP builds on the theoretical standard and operates at 66 MHz, but retains a 32-bit width. AGP has additional modes x2 and x4, which allow the port to perform data transfers two or four times per clock cycle, increasing the effective bus speed to 133 or 266 MHz.

Bus interface

In a multi-bus system, the chipset must provide circuitry to combine the buses and communicate between a device on one bus and a device on another bus. Such schemes are called bridge(bridge) (note that a bridge is also a network device for connecting two different types of networks). The most common is the PCI-ISA bridge, which is a component of the system chipset for PCs with Pentium processors. The PCI bus also has a bridge to the system bus.

Bus mastering

In high-capacity buses, a huge amount of information is transmitted over the channel every second. Typically a processor is required to control these transfers. In effect, the processor acts as a "middleman" and, as is often the case in the real world, it is much more efficient to remove the middleman and perform the transfers directly. For this purpose, devices have been developed that can control the bus and act independently, i.e. transfer data directly to system RAM memory; such devices are called driving tires(bus masters). Theoretically, the processor can perform other work simultaneously with data transfers on the bus; In practice, the situation is complicated by several factors. For correct implementation bus mastering(bus mastering) arbitration of bus requests is required, which is provided by the chipset. Bus mastering is also called "first party" DMA, since the operation is controlled by the device performing the transfer.

Currently, bus mastering is implemented on the PCI bus; support has also been added for hard drives IDE/ATA bus mastering implementations on PCI under certain conditions.

Local bus principle

The beginning of the 90s is characterized by the transition from text-based applications to graphical ones and the growing popularity of the Windows operating system. This has led to a huge increase in the amount of information that must be transferred between the processor, memory, video and hard drives. A standard monochromatic (black and white) text screen contains only 4,000 bytes of information (2,000 for character codes and 2,000 for screen attributes), but a standard 256-color Windows screen requires over 300,000 bytes! Moreover, modern resolution of 1600x1200 with 16 million colors requires 5.8 million bytes of information per screen!

The transition of the software world from text to graphics also meant increased program sizes and increased memory requirements. From an I/O perspective, processing the additional data for a video card and huge capacity hard drives requires much more I/O bandwidth. This situation had to be faced with the advent of the 80486 processor, the performance of which was much higher than previous processors. The ISA bus no longer met the increased requirements and became a bottleneck in increasing PC performance. Increasing the speed of a processor does little if it must wait on a slow system bus to transfer data.

The solution was found in the development of a new, faster bus, which was supposed to complement the ISA bus and be used specifically for such high-speed devices as video cards. This bus had to be placed on (or near) the much faster memory bus and run at approximately the external speed of the processor in order to transfer data much faster than the standard ISA bus. When such devices were placed near ("locally") the processor, local bus. The first local bus was the VESA Local Bus (VLB), and the modern local bus in most PCs is the Peripheral Component Interconnect (PCI) bus.

System bus

System bus(system bus) connects the processor to the main RAM memory and, possibly, to the L2 cache. It is the central bus of the computer and the other buses “branch” from it. The system bus is implemented as a set of conductors on the motherboard and must correspond to a specific type of processor. It is the processor that determines the characteristics of the system bus. At the same time, the faster the system bus, the faster the remaining electronic components of the PC must be.

Old CPUs Tire width Bus speed
8088 8 bits4.77 MHz
8086 16 bits8 MHz
80286-12 16 bits12 MHz
80386SX-1616 bits16 MHz
80386DX-2532 bits25 MHz

Let's consider system buses of a PC with processors of several generations. In processors of the first, second and third generations, the system bus frequency was determined by the operating frequency of the processor. As processor speed increased, so did the system bus speed. At the same time, the address space increased: in the 8088/8086 processors it was 1 MB (20-bit address), in the 80286 processor the address space was increased to 16 MB (24-bit address), and starting with the 80386 processor the address space was 4 GB (32 -bit address).

Family 80486 Tire width Bus speed
80486SX-2532 bits25 MHz
80486DX-3332 bits33 MHz
80486DX2-5032 bits25 MHz
80486DX-5032 bits50 MHz
80486DX2-6632 bits33 MHz
80486DX4-10032 bits40 MHz
5X86-13332 bits33 MHz

As can be seen from the table for fourth-generation processors, the system bus speed initially corresponded to the operating frequency of the processor. However, technological advances made it possible to increase the processor frequency, and matching the system bus speed required increasing the speed of external components, mainly system memory, which was associated with significant difficulties and cost restrictions. Therefore, the 80486DX2-50 processor was used for the first time frequency doubling(clock doubling): the processor worked with internal clock frequency 50 MHz, and external The system bus speed was 25 MHz, i.e. only half the operating frequency of the processor. This technique significantly improves computer performance, especially due to the presence of an internal L1 cache, which satisfies most of the processor's access to system memory. Since then frequency multiplication(clock multiplying) has become in a standard way improves computer performance and is used in all modern processors, and the frequency multiplier has been increased to 8, 10 or more.

Pentium family Tire width Bus speed
Intel P6064 bits60 MHz
Intel P10064 bits66 MHz
Cyrix 6X86 P133+64 bits55 MHz
AMD K5-13364 bits66 MHz
Intel P15064 bits60 MHz
Intel P16664 bits66 MHz
Cyrix 6X86 P166+64 bits66 MHz
Pentium Pro 20064 bits66 MHz
Cyrix 6X86 P200+64 bits75 MHz
Pentium II64 bits66 MHz

For a long time, PC system buses with fifth-generation processors operated at speeds of 60 MHz and 66 MHz. A significant step forward was the increase in data width to 64 bits and the expansion of the address space to 64 GB (36-bit address).

The system bus speed was increased to 100 MHz in 1998 thanks to the development of production of PC100 SDRAM chips. RDRAM memory chips can further increase the speed of the system bus. However, the transition from 66 MHz to 100 MHz had a significant impact on processors and motherboards with Socket 7. In Pentium II modules, up to 70-80% of traffic (information transfers) is carried out inside the new SEC (Single Edge Cartridge) cartridge, which houses the processor and both L1-cache and L2-cache. This cartridge operates at its own speed, independent of the system bus speed.

CPU Chipset Speed
tires
CPU speed
Intel Pentium II82440BX
82440GX
100 MHz350,400,450 MHz
AMD K6-2Via MVP3,
Aladdin V
100 MHz250,300,400 MHz
Intel Pentium II Xeon82450NX100 MHz450.500 MHz
Intel Pentium IIIi815
i820
133 MHz600.667+ MHz
AMD Athlon VIA KT133200 MHz600 - 1000 MHz

The i820 and i815 chipsets, designed for the Pentium III processor, are designed for a 133 MHz system bus. Finally, the AMD Athlon processor introduced significant changes to the architecture and the concept of a system bus turned out to be unnecessary. This processor can work with various types RAM at a maximum frequency of 200 MHz.

Types of I/O buses

This section will cover various I/O buses, with much of it dedicated to modern buses. A general idea of ​​the use of I/O buses is given by the following figure, which clearly shows the purpose of the various I/O buses of a modern PC.

The following table summarizes the various I/O buses used in modern PCs:

Tire Year Width Speed Max. checkpoint
ability
PC and XT1980-82 8 bitsSynchronous: 4.77-6 MHz4-6 MB/s
ISA (AT)1984 16 bitsSynchronous: 8-10 MHz8 MB/s
M.C.A.1987 32 bitsAsynchronous: 10.33 MHz40 MB/s
EISA (for servers)1988 32 bitsSynchronous: max. 8 MHz32 MB/s
VLB, for 4861993 32 bitsSynchronous: 33-50 MHz100-160 MB/s
PCI1993 32/64 bitAsynchronous: 33 MHz132 MB/s
USB1996 Sequential 1.2 MB/s
FireWire (IEEE1394)1999 Sequential 80 MB/s
USB 2.02001 Sequential 12-40 MB/s

Old tires

The new modern PCI bus and AGP port were “born” from old buses that can still be found in PCs. Moreover, the oldest ISA bus is still used even in the latest PCs. Next we will look at the old PC tires in a little more detail.

Industry Standard Architecture (ISA) bus

This is the most common and truly standard bus for PCs, which is used even in the latest computers despite the fact that it has remained virtually unchanged since its expansion to 16 bits in 1984. Of course, it is now supplemented by faster buses, but it “survives” thanks to the presence of a huge base of peripheral equipment designed for this standard. In addition, there are many devices for which ISA speed is more than enough, such as modems. According to some experts, it will take at least 5-6 years before the ISA bus “dies”.

The choice of the width and speed of the ISA bus was determined by the processors with which it worked in the first PCs. The original ISA bus on the IBM PC was 8 bits wide, corresponding to the 8 bits of the external data bus of the 8088 processor, and ran at 4.77 MHz, which is also the speed of the 8088 processor. In 1984, the IBM AT computer appeared with an 80286 processor and the bus width was doubled up to 16 bits, like the external data bus of the 80286 processor. At the same time, the bus speed was increased to 8 MHz, which also matched the speed of the processor. Theoretically, the bus throughput is 8 MB/s, but in practice it does not exceed 1-2 MB/s.

In modern PCs, the ISA bus acts as internal bus, which is used for keyboard, floppy disk, serial and parallel ports, and how external expansion bus, to which you can connect 16-bit adapters, such as a sound card.

Subsequently, AT processors became faster, and then their data bus was increased, but now the requirement for compatibility with existing devices forced manufacturers to adhere to the standard and the ISA bus has remained virtually unchanged since then. The ISA bus provides sufficient bandwidth for slow devices and is sure to guarantee compatibility with almost every PC released.

Many expansion cards, even modern ones, are still 8-bit (you can tell this by the card's connector - 8-bit cards only use the first part of the ISA connector, while 16-bit cards use both parts). For these cards, the low bandwidth of the ISA bus does not matter. However, access to interrupts IRQ 9 through IRQ 15 is provided through wires in the 16-bit portion of the bus connectors. This is why most modems cannot be connected to IRQs with large numbers. IRQ lines between ISA devices cannot be shared.

Document The PC99 System Design Guide, prepared by Intel and Microsoft, categorically requires the removal of ISA bus slots from motherboards, so we can expect that the days of this “well-deserved” bus are numbered.

MicroChannel Architecture (MCA) bus

This bus was IBM's attempt to make the ISA bus "bigger and better." When the 80386DX processor with a 32-bit data bus was introduced in the mid-1980s, IBM decided to develop a bus to match this data bus width. The MCA bus was 32 bits wide and had several advantages over the ISA bus.

The MCA bus had some great features considering it was introduced in 1987 i.e. seven years before the advent of the PCI bus with similar capabilities. In some respects, the MCA bus was simply ahead of its time:

  • Width 32 bits: The bus was 32 bits wide, like the local VESA and PCI buses. Its throughput was much higher compared to the ISA bus.
  • Bus mastering: The MCA bus effectively supported bus mastering adapters, including proper bus arbitration.
  • The MCA bus automatically configured the adapter cards, making jumpers unnecessary. This happened 8 years before Windows 95 made PnP technology generally accepted on PCs.

The MCA bus had enormous potential. Unfortunately, IBM made two such decisions that did not promote the adoption of this bus. Firstly, the MCA bus was incompatible with the ISA bus, i.e. ISA cards did not work at all in PCs with an MCA bus, and the computer market is very sensitive to the problem of backward compatibility. Secondly, IBM decided to make the MCA bus its own without licensing its use.

These two factors, combined with the higher cost of MCA bus systems, led to the oblivion of the MCA bus. Since PS/2 computers are no longer in production, the MCA bus is "dead" for the PC market, although IBM still uses it in its RISC 6000 UNIX servers. The MCA bus story is one of the classic examples of how in the world of computers non-technical issues often dominate technical issues.

Extended Industry Standard Architecture (EISA) bus

This bus never became as standard as the ISA bus and was not widely used. In fact, it was Compaq's answer to the MCA bus and led to similar results.

Compaq avoided two of IBM's biggest mistakes when developing the EISA bus. Firstly, the EISA bus was compatible with the ISA bus and, secondly, all PC manufacturers were allowed to use it. In general, the EISA bus had significant technical advantages over the ISA bus, but the market did not accept it. Main features of the EISA bus:

  • ISA bus compatibility: ISA cards could work in EISA slots.
  • Bus width 32 bits: Bus width increased to 32 bits.
  • Bus mastering: The EISA bus effectively supported bus mastering adapters, including proper bus arbitration.
  • Plug and Play (PnP) technology: The EISA bus automatically configured adapter cards similar to the PnP standard of modern systems.

EISA-based systems are now sometimes found in network file servers, and in desktop PCs it is not used due to the higher cost and lack of a wide selection of adapters. Finally, its throughput is significantly inferior to local buses VESA Local Bus and PCI. In fact, the EISA bus is now close to dying.

VESA Local Bus (VLB)

The first one is quite popular local bus VESA Local Bus (VL-Bus or VLB) appeared in 1992. The abbreviation VESA stands for Video Electronics Standards Association, and this association was created in the late 80s to solve the problems of video systems in PCs. The main reason for the development of the VLB bus was to improve the performance of PC video systems.

The VLB bus is a 32-bit bus that is a direct extension of the 486 processor's memory bus. The VLB bus slot is a 16-bit ISA slot with a third and fourth slot added at the end. The VLB typically operates at 33 MHz, although higher speeds are possible on some systems. Since it is an extension of the ISA bus, an ISA card can be used in a VLB slot, but it makes sense to occupy the normal ISA slots first and leave a small number of VLB slots for VLB cards, which of course do not work in ISA slots. The use of a VLB graphics card and I/O controller significantly improves system performance compared to a system with only a single ISA bus.

Despite the fact that the VLB bus was very popular in PCs with the 486 processor, the advent of the Pentium processor and its local PCI bus in 1994 led to the gradual "oblivion" of the VLB bus. One of the reasons for this was Intel's efforts to promote the PCI bus, but there were also several technical problems related to the implementation of VLB. First, the bus design is very much tied to the 486 processor, and the move to Pentium caused compatibility issues and other problems. Secondly, the bus itself had technical shortcomings: a small number of cards on the bus (often two or even one), synchronization problems when using multiple cards, and lack of support for bus mastering and Plug and Play technology.

Now the VLB bus is considered obsolete and even the latest motherboards with a 486 processor use the PCI bus, while Pentium processors use only PCI. However, PCs with a VLB bus are inexpensive and can sometimes still be found.

Peripheral Component Interconnect (PCI) bus

The most popular I/O bus right now interactions between peripheral components(Peripheral Component Interconnect - PCI) was developed by Intel in 1993. It was aimed at fifth and sixth generation systems, but was also used in the latest generation of motherboards with the 486 processor.

Like the VESA Local Bus, the PCI bus is 32 bits wide and typically runs at 33 MHz. The main advantage of PCI over the VESA Local Bus lies in the chipset that controls the bus. The PCI bus is controlled by special circuitry in the chipset, and the VLB bus was basically just an extension of the 486 processor bus. The PCI bus is not "tied" to the 486 processor in this regard, and its chipset provides proper bus control and bus arbitration, allowing PCI to do much more than the VLB bus could. The PCI bus is also used outside the PC platform, providing versatility and reducing the cost of system development.

In modern PCs, the PCI bus acts as internal bus which connects to the EIDE channel on the motherboard, and how external expansion bus, which has 3-4 expansion slots for PCI adapters.

The PCI bus is connected to the system bus through a special “bridge” and operates at a fixed frequency regardless of the processor clock frequency. It is limited to five expansion slots, but each of them can be replaced with two devices built into the motherboard. The processor can also support multiple bridge chips. The PCI bus is more strictly specified than the VL-Bus and provides several additional capabilities. In particular, it supports cards with a supply voltage of +3.3 V and 5 V, using special keys that prevent the card from being inserted into the wrong slot. Next, the operation of the PCI bus is discussed in more detail.

PCI bus performance

The PCI bus actually has the highest performance among common I/O buses in modern PCs. This is due to several factors:

  • Burst mode: The PCI bus can transfer information in burst mode, where after initial addressing, several sets of data can be transferred in a row. This mode is similar to cache bursting.
  • Bus mastering: The PCI bus supports full mastering, which improves performance.
  • High Bandwidth Options: Version 2.1 of the PCI bus specification allows expansion to 64 bits and 66 MHz, increasing current performance by four times. In practice, the 64-bit PCI bus has not yet been implemented in the PC (although it is already used in some servers) and the speed is currently limited to 33 MHz, mainly due to compatibility issues. For some time you will have to limit yourself to 32 bits and 33 MHz. However, thanks to AGP, higher performance will be realized in a slightly modified form.

Depending on the chipset and motherboard, the PCI bus speed can be set as synchronous or asynchronous. In a synchronous setup (used in most PCs), the PCI bus operates at half the speed of the memory bus; since the memory bus typically runs at 50, 60, or 66 MHz, the PCI bus runs at 25, 30, or 33 MHz. With an asynchronous setup, the PCI bus speed can be set independently of the memory bus speed. This is usually controlled using jumpers on the motherboard or BIOS settings. Overclocking the system bus on a PC that uses a synchronous PCI bus will overclock the PCI peripherals, often causing system instability problems.

The original implementation of the PCI bus ran at 33 MHz, and the subsequent PCI 2.1 specification specified a frequency of 66 MHz, which corresponds to a throughput of 266 MB/s. The PCI bus can be configured for 32- and 64-bit data widths and allows for 32- and 64-bit cards, as well as interrupt sharing, which is useful in high-performance systems that lack IRQ lines. Since mid-1995, all high-speed PC devices have been communicating with each other via the PCI bus. Most often it is used for hard drive controllers and graphics controllers, which are mounted directly on the motherboard or on expansion cards in PCI bus slots.

PCI bus expansion slots

The PCI bus allows more expansion slots than the VLB bus without causing technical problems. Most PCI systems support 3 or 4 PCI slots, and some support significantly more.

Note: On some systems, not all slots support bus mastering. This is less common now, but it is still recommended to look at the motherboard manual.

The PCI bus allows for a greater variety of expansion cards compared to the VLB bus. The most common types are video cards, SCSI host adapters, and high-speed network cards. (Hard drives also operate on the PCI bus, but they are usually connected directly to the motherboard.) Note, however, that the PCI bus does not implement some functions; for example, serial and parallel ports must remain on the ISA bus. Fortunately, even today the ISA bus remains more than sufficient for these devices.

PCI bus internal interrupts

The PCI bus uses its internal system interrupts for processing requests from cards on the bus. These interrupts are often called "#A", "#B", "#C" and "#D" to avoid confusion with the normally numbered system IRQs, although they are sometimes also called "#1" through "#4". These interrupt levels are usually invisible to the user except on the screen BIOS settings for PCI, where they can be used to control the operation of PCI cards.

These interrupts, if required by the cards in the slots, are mapped to regular interrupts, most often to IRQ9 - IRQ12. PCI slots on most systems can be mapped to most of the four common IRQs. In systems with more than four PCI slots or having four slots and a USB controller (which uses PCI), two or more PCI devices share an IRQ.

PCI bus mastering

Recall that bus mastering is the ability of devices on the PCI bus (different, of course, from the system chipset) to take control of the bus and directly perform transfers. The PCI bus was the first bus that led to the popularity of bus mastering (probably because the operating system and programs were able to take advantage of it).

The PCI bus supports full bus mastering and provides a means of bus arbitration through the system chipset. The PCI design allows multiple devices to master the bus at the same time, and the arbitration circuit ensures that no device on the bus (including the processor!) will block any other device. However, one device is allowed to use the full bandwidth of the bus if no other devices are transmitting anything. In other words, the PCI bus acts as a tiny local area network inside the computer, in which multiple devices can communicate with each other by sharing a communication channel, and which is controlled by the chipset.

Plug and Play technology for PCI bus

The PCI bus is part of the Plug and Play (PnP) standard developed by Intel, Microsoft, and many others. PCI bus systems were the first to popularize the use of PnP. PCI chipset circuits manage card identification and work with the operating system and BIOS to automatically allocate resources to compatible cards.

The PCI bus is constantly being improved and development is led by the PCI Special Interest Group, which includes Intel, IBM, Apple, etc. The result of these developments was an increase in the bus frequency to 66 MHz and data expansion to 64 bits. However, there are also alternative options, such as Accelerated Graphics Port (AGP) and FireWire (IEEE 1394) high-speed serial bus. AGP is actually a 66 MHz PCI bus (version 2.1) that introduces some improvements aimed at graphics systems.

Another initiative is the tire PCI-X, also called "Project One" and "Future I/O". IBM, Mylex, 3Com, Adaptec, Hewlett-Packard and Compaq want to develop a special high-speed server version of the PCI bus. This bus will have a bandwidth of 1 GB/s (64 bits, 133 MHz). Intel and Dell Computer are not involved in this project.

Dell Computer, Hitachi, NEC, Siemens, Sun Microsystems and Intel, in response to Project One, took the initiative to develop the Next-Generation I/O bus ( NGIO), targeting a new I/O architecture for servers.

In August 1999, seven leading companies (Compaq, Dell, Hewlett-Packard, IBM, Intel, Microsoft, Sun Microsystems) announced their intention to combine the best ideas of Future I/O and Next Generation I/O buses. The new open I/O architecture for servers should provide throughput of up to 6 GB/s. The new NGIO standard is expected to be adopted by the end of 2001.

Accelerated graphics port

The need to increase the bandwidth between the processor and the video system initially led to the development of a local I/O bus in the PC, starting with the VESA Local Bus and ending with the modern PCI bus. This trend continues, with the demand for increased video bandwidth no longer being met even by the PCI bus with its standard 132 MB/s bandwidth. 3D graphics(3D graphics) allows you to simulate virtual and real worlds on the screen with the smallest details. Displaying textures and hiding objects requires huge amounts of data, and the graphics card must have quick access to this data in order to maintain high refresh rates.

Traffic on the PCI bus becomes very busy on modern PCs when video, hard disks and other peripherals compete with each other for the single I/O bandwidth. To prevent saturation of the PCI bus with video information, Intel developed a new interface specifically for the video system, called accelerated graphics port(Accelerated Graphics Port - AGP).

The AGP port is designed in response to the increasing demand for video performance. As programs and computers use areas such as 3D acceleration and full-motion video playback, the processor and video chipset must process more and more information. In such applications, the PCI bus has reached its limit, especially since it is also used by hard drives and other peripheral devices.

In addition, more and more video memory is required. 3D graphics require more memory and not only for screen image, but also for performing calculations. Traditionally, this problem is solved by placing more and more memory on the video card, but this poses two problems:

  • Price: Video memory is more expensive than regular RAM memory.
  • Limited Capacity: The memory capacity on a video card is limited: if you put 6 MB on the card and 4 MB is required for the frame buffer, then there is only 2 MB left for processing. This memory is not easy to expand and cannot be used for anything else unless video processing is needed.

AGP solves these problems by allowing the video processor to access main system memory to perform calculations. This technique is much more efficient because this memory can be dynamically shared between the system processor and video processor depending on the needs of the system.

The idea behind implementing AGP is quite simple: to create a fast, specialized interface between the video chipset and the system processor. The interface is implemented only between these two devices, which provides three main advantages: it is easier to implement the port, it is easier to increase AGP speed, and video-specific enhancements can be introduced into the interface. The AGP chipset acts as an intermediary between the processor, Pentium II L2 cache, system memory, video card and PCI bus, implementing the so-called quad port(Quad Port).

AGP is considered a port, not a bus, since it only connects two devices (the processor and the video card) and does not allow expansion. One of the main advantages of AGP is that it isolates the video system from the rest of the PC components, eliminating competition for bandwidth. Since the graphics card is removed from the PCI bus, other devices can run faster. For AGP, the motherboard has a special socket, which is similar to the PCI bus socket, but is located in a different location on the board. In the following figure, you can see two ISA bus sockets (black), then two PCI bus sockets (white) and an ADP socket (brown).

AGP appeared at the end of 1997 and was the first to be supported by the 440LX Pentium II chipset. The following year, AGP chipsets from other companies appeared. For more information about AGP, see the website http://developer.intel.com/technology/agp/.

AGP interface

The AGP interface is similar to the PCI bus in many respects. The slot itself has the same physical shape and dimensions, but is offset further from the edge of the motherboard than PCI slots. The AGP specification actually relies on the PCI 2.1 specification, which allows 66 MHz speeds, but this speed is not implemented in the PC. AGP motherboards have one expansion slot for an AGP video card and one less PCI slot, but are otherwise similar to PCI motherboards.

Bus width, speed and bandwidth

The AGP bus is 32 bits wide, just like the PCI bus, but instead of running at half the memory bus speed like PCI does, it runs at full speed. For example, on a standard Pentium II motherboard, the AGP bus runs at 66 MHz instead of the 33 MHz PCI bus. This immediately doubles the port's bandwidth - instead of the 132 MB/s limit for PCI, the AGP port has a bandwidth of 264 MB/s in the lowest speed mode. Additionally, it does not share any bandwidth with other PCI bus devices.

In addition to doubling the bus speed, AGP defines a mode 2X, which uses special signals to allow twice as much data to be transmitted through the port at the same clock frequency. In this mode, information is transmitted on the rising and falling edges of the synchronization signal. While the PCI bus only transmits data on one edge, AGP transmits data on both edges. As a result, performance doubles further and theoretically reaches 528 MB/s. It is also planned to implement the regime 4X, in which four transfers are carried out in each clock cycle, which will increase performance to 1056 MB / s.

Of course, all this is impressive and the bandwidth of 1 GB/s is very good for a video card, but there is one problem: a modern PC has several buses. Recall that Pentium-class processors have a 64-bit data bus width and operate at 66 MHz, which provides a theoretical throughput of 524 MB/s, so 1 GB/s bandwidth does not provide a significant gain unless the data bus speed is increased beyond 66 MHz . New motherboards have increased the system bus speed to 100 MHz, which increases throughput to 800 MB/s, but this is not enough to justify mode transfers 4X.

In addition, the processor must access system memory, not just the video system. If the entire system bandwidth of 524 MB/s is occupied by video via AGP, what can the processor do? In this case, moving to a system speed of 100 MHz will provide some benefit.

AGP Port Video Pipelining

One of the benefits of AGP is its ability to pipeline data requests. Pipelining was first used in modern processors as a way to improve performance by overlapping sequential chunks of tasks. Thanks to AGP, the video chipset can use a similar technique when requesting information from memory, which significantly improves performance.

AGP access to system memory

The most important feature of AGP is the ability to share the main system memory with the video chipset. This allows the video system to access more memory for 3D graphics and other processing without requiring large amounts of video memory on the video card. Memory on the video card is shared between the frame buffer and other uses. Because the framebuffer requires fast and expensive memory such as VRAM, most cards all memory is executed in VRAM, although this is required for memory areas other than the framebuffer.

Note that AGP Not refers to the unified memory architecture (UMA). In this architecture all The video card memory, including the frame buffer, is taken from the main system memory. In AGP, the frame buffer remains on the video card, where it is located. The frame buffer is the most important component of video memory and requires the highest performance, so it makes more sense to leave it on the video card and use VRAM for it.

AGP allows the video processor to access system memory for other memory-intensive tasks, such as texturing and other 3D graphics operations. This memory is not as critical as the frame buffer, which allows video cards to be cheaper by reducing VRAM memory capacity. Accessing system memory is called direct execution from memory(DIrect Memory Execute - DIME). A special device called graphic aperture remapping table(Graphics Aperture Remapping Table - GART), operates on RAM addresses in such a way that they can be distributed in system memory in small blocks, rather than one large section, and provides them to the video card as if it were part of video memory. The following figure gives a clear idea of ​​AGP functions:


AGP requirements

To use AGP in a system, several requirements must be met:

  • Availability of AGP video card: This requirement is quite obvious.
  • Availability of a motherboard with an AGP chipset: Of course, the chipset on the motherboard must support AGP.
  • Operating system support: The operating system must support the new interface using its internal drivers and routines.
  • Driver support: Of course, the video card requires special drivers to support AGP and use it special abilities, for example mode 3X.

New serial buses

For 20 years now, many peripheral devices have been connected to the same parallel and serial ports that appeared on the first PC, and with the exception of the Plug and Play standard, “I/O technology” has changed little since 1081. However, by the end of the 90s of the last century, users increasingly began to feel the limitations of standard parallel and serial ports:

  • Bandwidth: Serial ports have a maximum throughput of 115.2 Kb/s, and parallel ports (depending on type) about 500 Kb/s. However, devices such as digital video cameras require significantly higher bandwidth.
  • Ease of use: Connecting devices to old ports is very inconvenient, especially through parallel port adapters. In addition, all ports are located on the back of the PC.
  • Hardware resources: Each port requires its own IRQ line. The PC has only 16 IRQ lines, most of which are already occupied. Some PCs have only five free IRQ lines for connecting new devices.
  • Limited number of ports: Many PCs have two serial COM ports and one parallel LPT port. It is possible to add more ports but at the cost of using valuable IRQ lines.

In recent years, I/O technology has become one of the most dynamic areas of desktop PC development, and two serial data standards have been developed that have greatly changed the way peripheral devices are connected and have taken the concept of plug and play to new heights. Thanks to the new standards, any user will be able to connect an almost unlimited number of devices to a PC in just a few seconds, without having any special technical knowledge.

Universal Serial Bus

Developed by Compaq, Digital, IBM, Intel, Microsoft, NEC and Northern Telecom universal serial bus(Universal Serial Bus - USB) provides a new connector to connect all common I/O devices, eliminating many of today's ports and connectors.

The USB bus allows connection of up to 127 devices using daisy chain connection(daisy-chaining) or use USB hub(USB hub). The hub itself, or hub, has several sockets and is inserted into a PC or other device. Each USB hub can connect seven peripheral devices. Among them there may be a second hub, to which seven more peripheral devices can be connected, etc. The USB bus also carries +5 V power along with the data signals, so small devices such as hand-held scanners may not have their own power supply.

The devices plug directly into the 4-pin socket on the PC or hub as a Type A rectangular socket. All cables that are permanently connected to the device have a Type A plug. Devices that use a separate cable have a Type B square socket, and the cable that connects them has a Type A or Type B plug.

The USB bus removes the speed limitations of UART-based serial ports. It operates at a speed of 12 Mb/s, which corresponds to network technologies Ethernet and Token Ring and provides sufficient bandwidth for all modern peripheral devices. For example, the USB bus has enough bandwidth to support devices such as external CD-ROM drives and tape drives, as well as ISDN interfaces regular phones. It is also sufficient for transmitting signals digital audio directly into speakers equipped with digital-to-analog converters, eliminating the need for a sound card. However, the USB bus is not intended to replace networks. To achieve an acceptable low cost, the distance between devices is limited to 5 m. For slow devices such as keyboards and mice, the data transfer rate can be set to 1.5 Mbps, saving bandwidth for faster devices.

The USB bus fully supports Plug and Play technology. It eliminates the need to install expansion cards inside the PC and subsequently reconfigure the system. The bus allows you to connect, configure, use and, if necessary, disconnect peripheral devices while the PC and other devices are working. There is no need to install drivers, select serial and parallel ports, or define IRQ lines, DMA channels, and I/O addresses. All this is achieved by controlling peripheral devices using a host controller on the motherboard or PCI card. The host controller and slave controllers in the hubs control peripheral devices, reducing processor load and improving overall system performance. The host controller itself is controlled by system software within the operating system.

Data is transmitted over a bidirectional channel controlled by the host controller and slave hub controllers. Improved bus mastering allows portions of the total bandwidth to be permanently reserved for specific peripherals; this method is called isochronous data transmission(isochronous data transfer). The USB bus interface contains two main modules: car serial interface (Serial Interface Engine - SIE), responsible for the bus protocol, and root hub(Root Hub), used to expand the number of USB bus ports.

The USB bus allocates 500 mA to each port. Thanks to this, low-power devices that would normally require a separate AC adapter can be powered via cable - USB allows the PC to automatically detect the required power and deliver it to the device. Hubs accept full power from the USB bus (bus powered), but may have their own AC converter. Self-powered hubs delivering 500 mA per port provide maximum flexibility for future devices. Port switching hubs isolate all ports from each other, so one that is shorted does not disrupt the operation of the others.

The USB bus promises a PC with a single USB port instead of today's four or five different connectors. You can connect one large powerful device to it, such as a monitor or printer, which will act as a hub, providing connectivity to other smaller devices, such as a mouse, keyboard, modem, scanner, digital camera, etc. However, this will require the development of special device drivers. However, this PC configuration has disadvantages. Some experts believe that the USB architecture is quite complex, and the need to support many different types of peripheral devices requires the development of a whole set of protocols. Others believe that the hub principle simply shifts cost and complexity from the system unit to the keyboard or monitor. But the main obstacle to USB's success is the IEEE 1394 FireWire standard.

IEEE 1394 FireWire bus

This high-speed peripheral bus standard was developed by Apple Computer, Texas Instruments and Sony. It was designed as a complement to the USB bus, not as an alternative to it, since both buses can be used in the same system, similar to modern parallel and serial ports. However, large digital camera and printer manufacturers are more interested in the IEEE 1394 bus than the USB bus because digital cameras are better suited to the 1394 socket than the USB port.

IEEE 1394 (commonly called FireWire) is much like USB, also a hot-swappable serial bus, but much faster. IEEE 1394 has two interface layers: one for the bus on the computer's motherboard and one for the point-to-point interface between the peripheral device and the computer over a serial cable. A simple bridge connects these two levels. The bus interface supports data transfer rates of 12.5, 25 or 50 MB/s, and the cable interface supports 100, 200 and 400 MB/s, which is much faster than the USB bus speed of 1.5 MB/s or 12 MB/s. The 1394b specification defines other ways to encode and transmit data, allowing speeds to increase to 800 Mb/s, 1.6 Gb/s or more. This high speed makes it possible to use IEEE 1394 to connect digital cameras, printers, TVs, network cards and external storage devices to PCs.

IEEE 1394 cable connectors are designed so that the electrical contacts are contained within the connector body, which prevents the possibility of electrical shock to the user and contamination of the contacts by the user's hands. These connectors are small and convenient, similar to the Nintendo GameBoy gaming connector, which has proven to have excellent durability. In addition, these connectors can be plugged blindly into the back of the PC. No terminal devices (terminators) and manual installation of identifiers are required.

The IEEE 1394 bus is designed for a 6-wire cable up to 4.5 m long, which contains two pairs of conductors for data transmission and one pair for powering the device. Each signal pair is shielded and the entire cable is also shielded. The cable allows voltages from 8V to 400V and currents up to 1.5A and maintains physical continuity of the device when the device is turned off or faulty (which is very important for a series topology). The cable provides power to devices connected to the bus. As the standard matures, the bus is expected to provide longer repeater-free distances and even greater throughput.

The basis of any IEEE 1394 connection is a microcircuit physical level and communication level, and the device requires two chips. The physical interface (PHY) of one device connects to the PHY of another device. It contains the circuits needed to perform the arbitration and initialization functions. The communication interface connects the PHY as well as the internal circuitry of the device. It transmits and receives packets in IEEE 1394 format and supports asynchronous or isochronous data transfers. The ability to support asynchronous and isochronous formats in the same interface allows non-time-critical applications such as scanners or printers, as well as real-time applications such as video and audio, to run on the bus. All physical layer chips use the same technology, while communication layer chips are specific to each device. This approach allows the IEEE 1394 bus to act as a peer-to-peer system, as opposed to the client-server approach of the USB bus. As a result, the IEEE 1394 system requires neither a serving host nor a PC.

Asynchronous transfer is the traditional way of transferring data between computers and peripheral devices. Here, data is transmitted in one direction and is accompanied by subsequent confirmation to the source. Asynchronous data transfer emphasizes delivery rather than performance. Data transfer is guaranteed and retransmissions are supported. Isochronous data transfer streams data at a predetermined rate so that the application can process it based on timing. This is especially important for time-critical media data, where just-in-time delivery eliminates the need for expensive buffering. Isochronous data transfers work on the principle of broadcasting, where one or more devices can “listen” to the transmitted data. The IEEE 1394 bus can simultaneously transmit multiple channels (up to 63) of isochronous data. Since isochronous transfers can take up a maximum of 80% of the bus bandwidth, there is sufficient bandwidth left for additional asynchronous transfers.

IEEE 1394's scalable bus architecture and flexible topology make it ideal for connecting high-speed devices, from computers and hard drives to digital audio and video equipment. Devices can be connected in a daisy chain or tree topology. The figure on the left shows two separate workspaces connected by an IEEE 1394 bus bridge. Workspace #1 consists of a video camera, a PC, and a VCR, which are all connected via IEEE 1394. The PC is also connected to a physically remote printer via a 1394 repeater, which increases the distance between the devices. amplifying bus signals. On an IEEE 1394 bus, up to 16 hops are allowed between any two devices. A 1394 splitter is used between the bridge and the printer to provide another port for connecting an IEEE 1394 bus bridge. Splitters provide users with greater topology flexibility.

Work area #2 contains only the PC and printer on bus segment 1394, as well as a connection to the bus bridge. A bridge isolates data traffic within each workspace. IEEE 1394 bus bridges allow selected data to be transferred from one bus segment to another. Therefore, PC #2 can request images from the VCR in work area #1. Since the bus cable also carries power, the PHY signal interface is always powered and data is transferred even if PC #1 is turned off.

Each IEEE 1394 bus segment allows the connection of up to 63 devices. Now each device can be located at a distance of up to 4.5 m; long distances are possible both with and without repeaters. Cable improvements will allow devices to be carried over longer distances. Bridges can connect over 1,000 segments, providing significant expansion potential. Another advantage is the ability to perform transactions at different speeds on a single medium per device. For example, some devices can run at 100 Mbps, while others can run at 200 Mbps and 400 Mbps. Hot swapping (connecting or disconnecting devices) on the bus is allowed even when the bus is fully operational. Changes in the bus topology are automatically detected. This eliminates the need for address switches and other user interventions to reconfigure the bus.

Thanks to packet transfer technology, the IEEE 1394 bus can be organized as if memory space is distributed between devices, or as if the devices are in slots on the motherboard. The device address consists of 64 bits, with 10 bits allocated for the network ID, 6 bits for the node ID, and 48 bits for memory addresses. As a result, 1023 networks of 63 nodes can be addressed, each with 281 TB of memory. Addressing memory rather than channels treats resources as registers or memory that can be accessed using processor-memory transactions. All this provides a simple network organization; for example, a digital camera can easily transfer images directly to a digital printer without an intermediary computer. The IEEE 1394 bus shows that the PC is losing its dominant role in connecting the environment and it can be considered a very intelligent node.

The need to use two chips instead of one makes IEEE 1394 peripherals more expensive than SCSI, IDE, or USB peripherals, making it unsuitable for slow devices. However, its benefits for high-speed applications such as digital video editing make IEEE 1394 the primary interface for consumer electronics.

Despite the advantages of the IEEE 1394 bus and the appearance in 2000 of motherboards with built-in controllers for this bus, the future success of FireWire is not guaranteed. The advent of the USB 2.0 specification greatly complicated the situation.

USB 2.0 specification

Compaq, Hewlett-Packard, Intel, Lucent, Microsoft, NEC and Philips took part in the development of this specification, aimed at supporting high-speed peripheral devices. In February 1999, performance improvements of 10 to 20 times were announced, and in September 1999, engineering studies raised estimates to 30 to 40 times over USB 1.1. Concerns were expressed that with such performance, the USB bus would forever “bury” the IEEE 1394 bus. However, general opinion The two tires are designed for different applications. The goal of USB 2.0 is to provide support for all current and future popular PC peripherals, while IEEE 1394 is aimed at connecting consumer audio and video devices such as digital video recorders, DVDs and digital televisions.

According to USB 2.0, throughput increases from 12 Mb/s to 360-480 Mb/s. USB 2.0 is expected to be compatible with USB 1.1, providing users with a seamless transition to the new bus. New high-speed peripheral devices will be developed for it, which will expand the range of PC applications. Speeds of 12 MB/s are sufficient for devices such as phones, digital cameras, keyboards, mice, digital joysticks, tape drives, storage devices. floppy disk, digital speakers, scanners and printers. The increased bandwidth of USB 2.0 will expand the functionality of peripheral devices, providing support for high-definition cameras for video conferencing, as well as high-speed scanners and next-generation printers.

Existing USB peripherals will work unchanged in a USB 2.0 system. Devices such as keyboards and mice do not require the increased bandwidth of USB 2.0 and will function as USB 1.1 devices. The increased bandwidth of USB 2.0 will expand the range of peripheral devices that can be connected to a PC, and will also allow more USB devices to share the available bus bandwidth, up to the architectural limits of the USB bus. backward compatibility USB 2.0 with USB 1.1 could be a decisive advantage in the battle with the IEEE 1394 bus for the interface of consumer devices.

DeviceBay standard

DeviceBay is a new standard that follows on from the IEEE 1394 and USB bus standards. These buses allow devices to be connected and disconnected on the fly, i.e. during the operation of the PC. Such opportunity hot swap(hot swap, hot plug) required a new special connection between devices and the DeviceBay standard became the answer to this requirement. It standardizes bays into which hard drives, CD-ROM drives, and other devices can be inserted. The mounting frame is installed without tools and during PC operation. If the DeviceBay standard becomes widespread, it will do away with flat cables inside PC cases. The entire PC can be designed as a modular design, in which all modules are connected to USB or FireWire buses as DeviceBay devices. In this case, the device can be freely moved between the PC and other home devices.

The DeviceBay standard is designed to connect devices such as Zip drives, CD-ROM drives, tape drives, modems, hard drives, PC card readers, etc.

Edition: PC architecture, components, multimedia

5. Computer buses

The PC bus is a channel (backbone) that connects the processor, RAM, cache memory, PC device controllers, as well as expansion connectors (slots) on the motherboard for connecting various input/output device controllers. However, to maintain compatibility, these slots must be mechanically and electrically identical in different models IBM-compatible computers.
The bus carries both data and control signals.
The tire operates in accordance with certain rules regulated by standards.
The most important characteristics of buses: frequencies, bit depth, data transfer rates. In this case, as a rule, frequency is measured in megahertz, bit depth - in bits, speed - in megabytes per second or megabits per second.

Tires ISA, EISA, MCA

The most common three main system bus standards for IBM-compatible PCs are:

  • Industry Standard Architecture (ISA);
  • Extended Industry Standard Architecture (EISA);
  • Micro Channel Architecture (MCA).

ISA is a system bus (ISA-bus), which was specially developed in 1984 for the capabilities of the i80286 processors for the IBM PC/AT286. Another name often used for the ISA bus is AT bus. This bus was intended to replace the XT bus of the IBM PC/XT and similar IBM-compatible PCs based on i8086, i8088 processors and their analogues. Due to the unpromising nature of the obsolete XT tire, its features and capabilities are not worth considering here. The ISA bus allows transfer of 16-bit data and commands at 8 MHz, which corresponds to a speed of 16 MB/s. The values ​​of these parameters were relatively high and sufficient not only for that level of development of computer technology, but they still often satisfy PC requirements for solving tasks that do not require high performance and are not time-critical. This bus became the standard for IBM-compatible PCs for a long time.
The EISA system bus (EISA-bus) is actually an extension of the ISA bus. EISA bus frequency is 8 MHz. However, this bus is characterized by a larger bit width - 32 bits or more high speed data transfer - up to 33 MB/s. The EISA bus is compatible with the ISA bus: in addition to the actual 32-bit EISA controller boards, standard 16-bit ISA boards can be installed on the EISA bus. Currently, the EISA bus is primarily used in some versions of computer network file servers.
MCA is a system bus with high data transfer speeds - up to 160 MB/s and data bus width from 16 to 64 bits. The development and the exclusive right to use it belong to IBM. This is probably why the market offers relatively few peripherals and at relatively high prices for PCs using MCA. As a result, the popularity of this bus is relatively low and the production of computers with the MCA bus has practically ceased.
The development of computing technology and the expansion of the scope of application of PCs are accompanied by an increase in information flows and data transfer rates between the processor, internal and external memory, input/output devices, etc. However, this increase is limited by the limited bandwidth of these system buses. All this requires new architectural solutions to improve PC performance.

VLB, PCI buses

One of these solutions was the introduction into the PC architecture of a separate bus for data received to increase the speed of their transmission bypassing the system bus (ISA, MCA, EISA), for example, for the processor-memory connection of the so-called local bus - Local Bus (LB) . The local bus is faster than the ISA and EISA buses, because data is transferred through it at the external clock frequency of the processor used in the PC. For example, 33 MHz in the case of the Intel 486DX2-66, while the standard ISA bus operates at a clock speed of 8 MHz.
The VESA local bus standard was developed and introduced in 1992 by computer manufacturers that are members of the VESA (Video Electronics Standard) association. When developing a new standard, two tasks were simultaneously solved. The first is to increase computer performance by increasing the throughput of system buses. The second is maintaining continuity in the use of standard equipment. As a result, a 32-bit local bus was created - VESA local bus (VLB), complementing the standard ISA system bus when exchanging processor data with monitor controllers, hard drive, cache memory, network, etc. In accordance with the standard maximum number There were no more than three controllers connected to this local bus. The VLB clock speed matched the processor speed. With an external processor frequency of 33 MHz, the VLB bus provided data transfer rates of up to 132 MB/s.
The main disadvantages of the VLB bus include the following: incompatibility and weak load capacity of the VLB. Indeed, since VLB performance is tied to the processor clock speed, controllers connected to the VLB bus had to support operation at this frequency. On other PCs the frequency may be different. The weak load capacity of the VLB was mainly due to the fact that this bus was actually a continuation of the contacts of the PC processor’s own bus, which is reflected in the figure. By the way, this explains the coincidence of the VLB bus frequency and the external clock frequency of the processor. Each connected device is an additional load and distorts the shape of the signals transmitted by the processor (their edges). That is why the number of devices connected to the local VLB bus is limited: the VLB standard provides for connecting no more than three devices to this bus, usually one or two devices. As a rule, these are monitor and hard drive controllers.

Drawing

An alternative version of the local bus was developed by Intel - the PCI (Peripheral Component Interconnect) bus. This bus forms a 32-bit channel between the processor and peripheral controllers. For PCI, the frequency is limited to 33 MHz, which allows you to transfer data over the bus, as in the case of using the VESA bus, at speeds of up to 132 MB/s. Thus, the PCI bus has almost the same speed properties as the VLB bus at a processor frequency of 33 MHz. However, the number of controllers is not limited to three, as for VLB, but can reach ten. The PCI bus standard supports VESA specifications for BIOS and video adapters. In addition, the local PCI bus optimally matches the 64-bit technology of modern processors. Drawing

The PCI standard provides for the configuration of devices connected to a computer, programmatically, which corresponds to the plug-and-play concept (plug and play). At the same time, at the moment of detecting a new device, the personal computer, without rebooting and exiting the current application, must set the parameters necessary for the operation of devices as part of the system: IRQ interrupt numbers, DMA direct access channel numbers, etc. To implement this feature, it is necessary that the hardware - PC software (BIOS and OS) supported plug-and-play. Operating systems that support a number of plug-and-play technology specifications include, for example, Windows 95, Windows 98 and OS/2 Warp.
The PCI bus is architecturally more complex. However, Intel has released a number of specialized chips for the PCI bus, thereby simplifying its implementation. This allowed the PCI bus to completely replace the VLB bus from the PC architecture.
The architecture of modern PCs, focused on the use of local buses, helps to increase the overall performance of computers. As a result, systemic and application programs performed much faster.
Traditionally, the VLB bus was primarily used in PCs with 486 processors, while PCI was used in PCs starting with Pentium processors. Although there were PCI options for 486 computers. By the way, it should be noted that for 486 PCs, in some cases, using a VLB could even be preferable to the PCI bus. Indeed, for PCI, as already noted, the standard sets the clock frequency to 33 MHz, and for VLB - the bus frequency is equal to the external clock frequency of the processor. Therefore, when using processors with an external clock speed of 40 MHz, for example, Am486DX/40, Am486DX2/80, Am486DX4/120, PCs with VLB had some advantages. Thus, device controllers connected to the VLB of the processor with an external frequency of 40 MHz - video adapters, hard drives, network cards etc. - provided increased speed compared to using PCI or VLB with a processor with an external frequency of 33 MHz. This is due to the fact that the operation of the controllers and data exchange are carried out in accordance with the frequency of the local bus used.
By the way, it should be noted that in modern motherboards the PCI bus frequency is set through the processor bus frequency.
PC configurations with multiple buses, such as ISA and PCI, have made it possible to combine high computer performance with hardware and software compatibility for a wide range of controllers and PC components with different speed and electrical characteristics.
Currently, local buses are no longer distinguished as a separate type. These buses are considered to be the same system buses as traditional ISA buses.

Host-bus

Processor, personal computer, motherboard and system bus architectures, specialized support chips, and VLB and PCI bus standards continue to evolve. Improved versions of these standards have already been proposed, providing a further increase in the throughput of these local buses and, accordingly, an increase in PC performance. At the same time, the development of PC subsystems is aimed at both the universalization of some elements and the specialization of others. In order to increase productivity and functionality PC, while reducing costs, both individual subsystems are combined and separated. This also applies to PC bus architecture.
The generation of Pentium, Pentium Pro, Pentium MMX, Pentium II processors has higher external frequencies compared to 486 processors. For the most common variants of 486 processors, the external frequency does not exceed the following values: for 486 processors from Intel - 33 MHz, for 486 processors from AMD - 40 MHz.

Frequency parameters of Pentium processors
CPUProcessor frequency, MHz
internalexternal
Pentium-200 200 66
Pentium-166 166 66
Pentium-150 150 60
Pentium-133 133 66
Pentium-120 120 60
Pentium-100 100 66/50
Pentium-90 90 60
Pentium-75 75 50

So, processors with increased external frequencies appeared. This led to the need to revise some concepts of the architectural development of personal computers, in particular the structure and topology of motherboards, as well as the place and meaning of previously developed local buses. The local PCI bus, firmly established in computers with Pentium and Pentium Pro processors, is now standardized and typically operates at 33 MHz. Efficient operation of the PCI bus is ensured by appropriate specialized chipsets - chipsets. This bus is successfully used for communication with controllers of monitors, hard drives, local networks using high-speed protocols, etc. However, to implement the high-speed capabilities of the Pentium, it was necessary to introduce another bus into the PC architecture with a Pentium processor in addition to the PCI and ISA buses. This additional bus, called the host bus in special technical literature, is designed for high-speed data transfer (64 bits) and control signals between the processor, RAM and external cache memory (L2). In addition, this bus provides communication with the PCI bus controller integrated on the motherboard. This bus is often called the processor bus (CPU Bus), system bus (System Bus) or FSB bus (Front Side Bus).
Thus, with the advent of the host bus, a certain hierarchy of buses in the PC was formed: host bus (50/60/66 MHz), PCI bus (25/30/33 MHz), ISA bus (8 MHz). This ensures maximum realization of the significant potential capabilities of modern electronic components and achievement of high computer performance. Increased frequency and the bit capacity of the transmitted data for the processor, RAM, cache memory (L2) and PCI controller made it possible to significantly increase the speed of these devices and the overall performance of a modern PC with a Pentium processor.

NOTE When choosing a processor for a PC, it is advisable to take into account not only the internal frequency of the Pentium processor, but also the external one - the bus frequency. This frequency affects the bus bandwidth and, accordingly, the overall performance of the computer.

It must be taken into account that the decrease in computer performance due to a decrease in the external frequency of the processor and bus may be more significant than the increase in overall performance due to an increase in the internal frequency of the processor.

Dual Independent Bus

Further increases in the performance of processors and PCs were achieved by introducing the DIB (Dual Independent Bus) bus architecture. This bus solves the problem of limiting bus bandwidth between the processor and memory. DIB increases bus throughput by three times compared to a conventional solution. The DIB architecture consists of two buses: the L2 cache bus and the system bus between the processor and main memory. The bus bandwidth between the Pentium II processor and the L2 cache scales with processor frequency. Thus, the 266 MHz processor cache memory bus operates at a frequency of 133 MHz, that is, twice as fast as the L2 cache with a fixed frequency of 66 MHz of the Pentium processor. As the internal frequency of the processor increases, the difference also increases.
The bus between the processor and RAM further improves performance by supporting concurrent parallel transactions, as opposed to previous generations of processors that relied on single sequential transactions.

AGP

AGP (Accelerated Graphics Port) is a new 32-bit computer data transfer bus. It provides transfer of large volumes of video information (3D graphics, full-screen video, etc.) at high speeds previously unavailable using the PCI bus. The AGP interface is optimized to achieve maximum performance on computers with high-performance Pentium II class processors, with high internal and external clock speeds.
The AGP clock frequency, which determines the information transfer rate, is standard 66 MHz, PCI - 33 MHz. Most modern motherboards support for AGP, in addition to the 66 MHz frequency, a data transmission frequency of 133 MHz: AGP 1.0 Compliance Interface supports 1x and 2x Speed ​​Mode; in AGP 2x mode, information is transferred on the rising and falling edges of clock pulses, which allows you to actually double the bandwidth AGP buses. Work is underway to implement the 4x mode.
The AGP frequency is usually related to the frequency of the processor bus - host bus (FSB). The information transfer speed at an AGP clock frequency of 66 MHz in 1x mode reaches 264 MB/s, and in 2x mode - 528 MB/s (66 MHz x 4 bytes x 2), traditional PCI - 132 MB/s (33 MHz ґ 4 bytes = 132 MB/s). Using high frequencies For a host bus that exceeds the standard for the chipsets used (overlocking), the AGP operating frequency and information transfer rate usually increase.
Using AGP solves the problem of storing texture maps needed in the formation of 3D images. Currently, there are often cases when, in order to form a high-quality image, texture maps require several tens of megabytes for storage, that is, significantly more than the amount of memory usually installed on the video adapter. The formation, storage and subsequent transfer of such information from RAM to the video adapter generates significant flows of information that the traditional PCI bus often cannot cope with. In addition, the PCI bus is often overloaded with new high-speed devices connected to this bus, such as UltraDMA drives or network adapters with a bandwidth of 100 MB/s. By eliminating intensive video data streams from the PCI bus, the speed of operation of devices connected to this bus increases, and the overall performance and stability of the entire computer system increases.

Drawing

To fully exploit the potential of the AGP bus, it is advisable to use a high-performance processor and corresponding chipset, for example, a Pentium II with a frequency of 400 MHz and an i440BX with a host bus (FSB) frequency of 100 MHz.

USB, IEEE 1394

The USB peripheral bus specification was developed by Compaq, DEC, IBM, Intel, Microsoft, NEC, Northern Telecom. USB bus allows external connection peripheral devices to the computer through the use of special ports in the architecture modern computers. The connection is made through special USB connectors on the motherboard, located on the back wall of the computer case, similar to traditional COM and LPT connectors. However, unlike them, USB uses a bus architecture that allows each USB port connect in series up to 127 different devices that meet this specification.
The USB bus has a high bandwidth, reaching 12 Mbit/s, which is almost 100 times greater than the capabilities of a COM port and 20 times greater than the LPT. This allows you to connect a large number of devices without compromising their performance. In accordance with accepted USB specifications, the length of the connecting cable can be up to 5 meters.
Modern operating systems easily recognize added USB devices, implementing plug-and-play technology. When using the USB bus, it becomes possible to change the computer configuration by enabling or disabling external devices without restarting the system. In addition, the daisy-chain nature of USB eliminates the large number of connecting cables used in traditional applications.
Almost all modern ATX motherboards designed for Pentium II, Celeron and Pentium III processors have two USB ports. Software support is provided operating systems Windows 95 OSR 2.1 and Windows 98 which are the most common systems.
Currently this method is the standard way to connect peripheral devices to a computer. There are dozens of devices that satisfy this standard. Many companies sell and support devices with this interface.
The IEEE 1394 (FireWire) high-speed serial bus specification was proposed by Sony. Like USB, it provides external connections for peripheral devices to a computer. Data transfer speed - 100, 200, 400 Mbit/s, distance - up to 4.5 m, number of devices - up to 63. The IEEE 1394 bus provides the ability to reconfigure without turning off the computer.
While the USB bus is aimed at input devices, telecommunications equipment, printers, and audio/video devices, IEEE 1394 is aimed at high-speed devices such as storage devices and digital video electronics.
Device connection methods, buses and their specifications are constantly being improved. As a result, operating data transfer rates increase. For example, for USB 2 the speed reached 480 Mbit/s. The new IEEE 1394 specification provides for an increase in speed to 800 Mbit/s and 1600 Mbit/s.

Prospects

Intel Corporation is developing chipsets whose operating frequencies are 133 MHz or more. The release of such sets is expected in 2000. The use of such chipsets, RIMM modules, Pentium III processors designed for a bus frequency of 133 MHz will increase the overall performance of the computer.
Similar research into the development and production of high-performance chipsets is being conducted by companies such as SiS and VIA.
These works are supported by motherboard manufacturers.
IBM, Hewlett-Packard, Compaq have proposed a new standard for the PCI bus. The conventional name for the bus is PCIX, the operating frequency of the bus is 133 MHz. This will increase the data transfer speed to 1 GB/s.

The VLB bus (VESA Local Bus) was developed in 1992 by the Video Electronics Standards Association (VESA), so it is often called the VESA bus.

The VLB bus is essentially an extension of the internal MP bus for communication with the video adapter and, less often, with the hard drive, Multimedia boards, network adapter. The bus width is 32 bits; a 64-bit version of the bus is on the way. Real speed data transfer via VLB - 80 MB/s (theoretically achievable - 132 MB/s).

Disadvantages of the tire:

· designed to work with MP 80386, 80486, not yet adapted for Pentium, Pentium Pro, Power PC processors;

· strict dependence on the clock frequency of the MP (each VLB bus is designed only for a specific frequency);

· small number of connected devices - only four devices can be connected to the VLB bus;

· there is no bus arbitration - there may be conflicts between connected devices.

PCI bus (Peripheral Component Interconnect - connection of external devices) - developed in 1993 by Intel. The PCI bus is much more universal than VLB; it has its own adapter that allows it to be configured to work with any MP: 80486, Pentium, Pentium Pro, Power PC, etc.; it allows you to connect 10 devices of very different configurations with the ability to auto-configure, and has its own “arbitration” and data transfer control tools. PCI capacity is 32 bits, expandable to 64 bits, theoretical throughput is 132 MB/s, and in the 64-bit version - 263 MB/s (the real one is half as low). Although the PCI bus is local, it also performs many of the functions of an expansion bus, in particular, the ISA, EISA, MCA expansion buses (and it is compatible with them) in the presence of a PCI bus are not connected directly to the MP (as is the case when using the VLB bus) , but to the PCI bus itself (via an expansion interface). Configuration options for systems with VLB and PCI buses are shown in Fig. 1, respectively. 4.3 and 4.4. It should be borne in mind that the use of VLB and PCI buses in a PC is only possible if you have the appropriate VLB or PCI motherboard. Motherboards are produced with a multibus structure that allows the use of ISA/EISA, VLB and PCI, the so-called motherboards with a VIP bus (by the initial letters VLB, ISA and PCI).

Rice. 4.3. VLB System Configuration

Rice. 4.4. PCI System Configuration

Table 4.4. Main characteristics of tires

Parameter

Bus width, address data bit

Operating frequency, MHz

Bandwidth. MB/s theoretical practical

Number of connected devices, pcs.

Local buses IDE (Integrated Device Electronics), EIDE (Enhanced IDE), SCSI (Small Computer System Interface) are most often used as an interface only for external storage devices.

PC FUNCTIONAL CHARACTERISTICS

The main characteristics of the PC are:

1. Speed, performance, clock frequency. The units of measurement for performance are:

MIPS (MIPS - Mega Instruction Per Second) - a million operations on numbers with a fixed point (dot);

MFLOPS (Mega FLoating Operations Per Second) - a million operations on floating point (dot) numbers;

KOPS (KOPS - Kilo Operations Per Second) for low-performance computers - a thousand certain averaged operations on numbers; GFLOPS (Giga FLoating Operations Per Second) - billion operations per second on floating point numbers (dot).

Evaluation of computer performance is always approximate, because in this case they are guided by some average or, conversely, specific types of operations. In reality, different sets of operations are used to solve different problems. Therefore, to characterize a PC, instead of performance, they usually indicate the clock frequency, which more objectively determines the speed of the machine, since each operation requires a full a certain amount beats Knowing the clock frequency, you can quite accurately determine the execution time of any machine operation.

Example 4.14. In the absence of pipelined execution of commands and an increase in the internal frequency of the microprocessor (see Section 4.3), a clock generator with a frequency of 33 MHz ensures the execution of 7 million short machine operations (addition and subtraction with a fixed point, sending information, etc.) per second; with a frequency of 100 MHz - 20 million short operations per second.

2. Bit capacity of the machine and interface code buses.

Bit capacity is the maximum number of bits of a binary number on which a machine operation can be simultaneously performed, including the operation of transmitting information; The greater the bit depth, the greater, other things being equal, will be the performance of the PC.

3. Types of system and local interfaces.

Different types of interfaces provide different speeds transferring information between machine nodes allows you to connect a different number of external devices and their different types. 4. Capacity random access memory. RAM capacity is most often measured in megabytes (MB), less often in kilobytes (KB). We remind you: 1 MB = 1024 KB = 10242 bytes. Many modern application programs with RAM capacity of less than 8 MB simply do not work or work, but very slowly. It should be borne in mind that increasing the capacity of the main memory by 2 times, among other things, increases the effective performance of the computer when solving complex problems by approximately 1.7 times.