Tutorials

▷ Pci express

Table of contents:

Anonim

Currently, the most common type of expansion slot available is called PCI Express. In this article, you will learn everything you need to know about this type of connection: its beginnings, how it works, versions, slots, and more.

Since the first PC, released in 1981, the team has had expansion slots where additional cards can be installed to add features not available on the team's motherboard. Before talking about the PCI Express port, we should talk a little bit about the history of PC expansion slots and their main challenges, so you can understand what makes the PCI Express port different.

Index of contents

Types of expansion slots

Listed below are the most common types of expansion slots that have been released for the PC throughout its history:

  • ISA (Standard Industrial Architecture) MCA (Microchannel Architecture) EISA (Extended Industrial Standard Architecture) VLB (VESA Local Bus) PCI (Peripheral Component Interconnect) PCI-X (Extended Peripheral Component Interconnect) AGP (Accelerated Graphics Port) PCI Express (Express Peripheral Component Interconnect)

In general, new types of expansion slots are released when the available slot types are shown to be too slow for certain applications. For example, the original ISA slot available on the original IBM PC and on the IBM XT PC and its clones had a maximum theoretical transfer rate (i.e. bandwidth) of only 4.77 MB / s.

The 16-bit version of ISA, released with the IBM PC AT in 1984, almost doubled the available bandwidth to 8MB / s, but this number was extremely low even at the time for high-bandwidth applications such as video..

Later, IBM released the MCA slot for its line of PS / 2 computers, and because it was protected by copyright, other manufacturers could only use it if they entered into a licensing scheme with IBM, something only five companies did (Tandy, Apricot, Dell, Olivetti and Research Machines).

Therefore, MCA slots were limited to a few PC models from these brands. Nine PC manufacturers came together to create the EISA slot, but it was unsuccessful for two reasons.

First, it maintained compatibility with the original ISA slot, so its clock rate was the same as that of the 16-bit ISA slot.

Second, the alliance did not include motherboard manufacturers, so few companies had access to this slot, just as it had with the MCA slot.

The first real high-speed slot that was released was the VLB. The highest speed was achieved by linking the slot to the local CPU bus, that is, to the external CPU bus.

In this way, the slot ran at the same speed as the CPU's external bus, which is the fastest bus available on the PC.

Most CPUs at the time used an external clock speed of 33 MHz, but CPUs with external clock speeds of 25 MHz and 40 MHz were also available.

The problem with this bus was that it was specifically designed for the local bus of class 486 processors. When the Pentium processor was released, it was incompatible with it, since it used a local bus with different specifications (external clock frequency of 66 MHz instead of 33 MHz, and 64-bit data transfers instead of 32-bit).

The first industry-wide solution appeared in 1992, when Intel led the industry to create the ultimate expansion slot, the PCI.

Later, other companies joined the alliance, which today is known as PCI-SIG (PCI Special Interest Group). The PCI-SIG is responsible for standardizing the PCI, PCI-X and PCI Express slots.

What are PCI Express ports

The PCI Express, short for PCI-E or PCIe, is the latest evolution of the classic PCI bus, and allows expansion cards to be added to the computer.

It is a local serial port, unlike PCI, which is parallel, and was developed by Intel, which first introduced it in 2004, on the 915P chipset.

We can find PCI Express buses in various versions; There are versions 1, 2, 4, 8, 12, 16 and 32 lanes.

For example, the transfer speed of an 8 lane (x8) PCI Express system is 2 GB / s (250 x8). The PCI Express allows data rates of 250MB / s to 8GB / s in version 1.1. Version 3.0 allows 1 GB / s (985 MB actually) per lane while 2.0 only 500 MB / s.

What are the PCI Express ports for?

This new bus is used to connect the expansion cards to the motherboard and is intended to replace all the internal expansion buses of a PC, including the PCI and the AGP (the AGP has completely disappeared, but the classic PCI still resists).

PCI, PCI-X and PCI Express

BTW, some users have a hard time distinguishing between PCI, PCI-X, and PCI Express (“PCIe”). Although these names are similar, they refer to completely different technologies.

The PCI is a platform independent bus that connects to the system through a bridge chip (bridge, which is part of the motherboard chipset). Every time a new CPU is released, you can continue to use the same PCI bus by redesigning the bridge chip instead of redesigning the bus, which was the norm before the PCI bus was created.

Although other configurations were theoretically possible, the most common implementation of the PCI bus was with a 33 MHz clock with a 32-bit data path, allowing a bandwidth of 133 MB / s.

The PCI-X port is a version of the PCI bus that operates at higher clock frequencies and with wider data paths for server motherboards, achieving higher bandwidth for devices that demand more speed, such as memory cards. high-end network and RAID controllers.

When the PCI bus turned out to be too slow for high-end video cards, the AGP slot was developed. This slot was used exclusively for video cards.

Finally, the PCI-SIG developed a connection called PCI Express. Despite its name, the PCI Express port works radically different from the PCI bus.

Different PCI Express buses

  • PCI Express 1x with a performance of 250Mb / s is present in one or two copies on all current motherboards. PCI Express 2x with a performance of 500Mb / s is less extended, reserved for servers. PCI Express 4x with a performance of 1000Mb / s is also reserved for servers. The PCI Express 16x with a speed of 4000Mb / s is very widespread, present in all modern graphics cards, and is the standard format of graphics cards. The PCI Express 32x port with a performance of 8000 Mb / s is the same format as PCI Express 16x, and is often used on high-end motherboards to power SLI or Crossfire buses. The references of these motherboards often have the mention "32". This allows two 16-lane wired PCI Express ports, unlike conventional SLIs, wired in 2 x 8 lanes or Basic Crossfire, wired in 1 × 16 + 1 × 4 lanes. These motherboards are also characterized by the presence of an additional south bridge, only dedicated to the 32x bus.

The PCI-SIG announced the PCI Express in revision 4.0, offering twice the bandwidth per lane compared to revision 3.0.

This review includes lane margins, reduced system latency, superior RAS capabilities, extended labels and credits for service devices, scalability for additional lanes and bandwidth, platform integration, and improved I / O virtualization.

Differences between PCI and PCI Express

  • PCI is a bus, while PCI Express is a serial point-to-point connection, that is, it only connects two devices; no other device can share this connection. Just to clarify, on a motherboard that uses standard PCI slots, all PCI devices are connected to the PCI bus and share the same data path, so a bottleneck may occur (i.e. a decrease in performance because more device wants to transmit data at the same time). On a motherboard with PCI Express slots, each PCI Express slot is connected to the chipset on the motherboard using a dedicated lane, not sharing this lane (data path) with other PCI Express slots. Also, devices built into the motherboard, such as network drivers, SATA, and USB, typically connect to the motherboard chipset using dedicated PCI Express connections. PCI and all other types of expansion slots use parallel communications, while PCI Express relies on high-speed serial communications, the PCI Express port relies on individual lanes, which can be grouped together to create higher bandwidth connections. The “x” that follows the description of a PCI Express connection refers to the number of lanes that connection uses.

Below is a comparative table of the main specifications of the expansion slots that have existed for the PC.

Groove Watch Number of bits Data per clock cycle Bandwidth
ISA 4.77 MHz 8 one 4.77 MB / s
ISA 8 MHz 16 0.5 8 MB / s
MCA 5 MHz 16 one 10 MB / s
MCA 5 MHz 32 one 20 MB / s
EISA 8.33 MHz 32 one 33.3 MB / s (16.7 MB / s typically)
VLB 33 MHz 32 one 133 MB / s
PCI 33 MHz 32 one 133 MB / s
PCI-X 66 66 MHz 64 one 533 MB / s
PCI-X 133 133 MHz 64 one 1, 066 MB / s
PCI-X 266 133 MHz 64 two 2, 132 MB / s
PCI-X 533 133 MHz 64 4 4, 266 MB / s
AGP x1 66 MHz 32 one 266 MB / s
AGP x2 66 MHz 32 two 533 MB / s
AGP x4 66 MHz 32 4 1, 066 MB / s
AGP x8 66 MHz 32 8 2, 133 MB / s
PCIe 1.0 x1 2.5 GHz one one 250 MB / s
PCIe 1.0 x4 2.5 GHz 4 one 1, 000 MB / s
PCIe 1.0 x8 2.5 GHz 8 one 2, 000 MB / s
PCIe 1.0 x16 2.5 GHz 16 one 4, 000 MB / s
PCIe 2.0 x1 5 GHz one one 500 MB / s
PCIe 2.0 x4 5 GHz 4 one 2, 000 MB / s
PCIe 2.0 x8 5 GHz 8 one 4, 000 MB / s
PCIe 2.0 x16 5 GHz 16 one 8, 000 MB / s
PCIe 3.0 x1 8 GHz one one 1, 000 MB / s
PCIe 3.0 x4 8 GHz 4 one 4, 000 MB / s
PCIe 3.0 x8 8 GHz 8 one 8, 000 MB / s
PCIe 3.0 x16 8 GHz 16 one 16, 000 MB / s

Data transfer on the PCI Express port

The PCI Express connection represents an extraordinary advance in the way peripheral devices communicate with the computer.

It differs from the PCI bus in many ways, but the most important is the way in which data is transferred.

The PCI Express connection is another example of the trend to migrate data transfer from parallel communication to serial communication. Other common interfaces that use serial communication are USB, Ethernet (network) and SATA and SAS (storage).

Before PCI Express, all PC buses and expansion slots used parallel communication. In parallel communication, several bits are transferred in the data path at the same time, in parallel.

In serial communication, only one bit is transferred in the data path per clock cycle. At first, this makes parallel communication faster than serial communication, since the higher the number of bits transmitted at once, the faster the communication will be.

Parallel communication, however, suffers from some issues that prevent transmissions from reaching higher clock speeds. The higher the clock, the greater the problems with electromagnetic interference (EMI) and propagation delay.

When electric current flows through a cable, an electromagnetic field is created around it. This field can induce electric current in the adjacent cable, corrupting the information transmitted by it.

As we've discussed before, each parallel communication bit is transmitted on a separate cable, but it's almost impossible to make those 32 cables exactly the same length on a motherboard. At higher clock speeds, data transmitted over shorter cables arrives earlier than data transmitted over longer cables.

That is, the bits in parallel communication may arrive late. As a consequence, the receiving device must wait for all the bits to arrive in order to process the complete data, representing a significant loss of performance. This problem is known as propagation delay and is exacerbated with increasing clock frequencies.

The project of a bus that uses serial communication is easier to implement than that of a bus that uses parallel communication, since fewer cables are needed to transmit data.

In a typical serial communication, four cables are needed: two to transmit data and two to receive, usually with an anti-electromagnetic interference technique called cancellation or differential transmission. In case of cancellation, the same signal is transmitted on two cables, while the second cable transmits the “reflected” signal (reversed polarity) compared to the original signal.

In addition to providing greater immunity to electromagnetic interference, serial communications do not suffer from propagation delays. In this way, they can achieve higher clock frequencies more easily than parallel communications.

Another very important difference between parallel communication and serial communication is that parallel communication is usually half duplex (the same cables are used to transmit and receive data) due to the high number of cables required for its implementation.

Serial communication is full-duplex (there is a separate set of cables to transmit data and another set of cables to receive data) because you only need two cables in each direction. With half-duplex communication, two devices cannot speak to each other at the same time; one or the other is transmitting data. With full-duplex communication, both devices can be transmitting data at the same time.

These are the main reasons why engineers adopted serial communication instead of parallel communication with the PCI Express port.

Is serial communication slower?

It depends on what you are comparing. If you compare a parallel 33 MHz communication that transmits 32 bits per clock cycle, it will be 32 times faster than a 33 MHz serial communication that transmits only one bit at a time.

However, if you compare the same parallel communication with a serial communication that runs at a much higher clock frequency, serial communication can actually be much faster.

Just compare the bandwidth of the original PCI bus, which is 133 MB / s (33 MHz x 32 bits), with the lowest bandwidth that can be achieved with a PCI Express connection (250 MB / s, 2, 5 GHz x 1 bit).

The notion that serial communication is always slower than parallel communication comes from older computers that had ports called "serial port" and "parallel port."

At that time, the parallel port was much faster than the serial port. This was due to the way these ports were implemented. This does not mean that serial communications are always slower than parallel communications.

Slots and graphics cards

The PCI Express specification allows slots to have different physical sizes, depending on the number of lanes connected to the slot.

This reduces the size of the space required on the motherboard. For example, if a slot with an x1 connection is required, the motherboard manufacturer may use a smaller slot, saving space on the motherboard.

Many motherboards have x16 slots that are connected to x8, x4, or even x1 rails. With larger grooves it is important to know if their physical sizes really match their speeds. Also, some machines can slow down when their lanes are shared.

The most common scenario is on motherboards with two or more x16 slots. With multiple motherboards, there are only 16 lanes connecting the first two x16 slots to the PCI Express controller. This means that when you install a single video card, it will have x16 bandwidth available, but when you install two video cards, each video card will have x8 bandwidth each.

The motherboard manual should provide this information. But a practical tip is to look inside the slot to see how many contacts you have.

If you see the contacts in a PCI Express x16 slot cut half of what they should be, this means that while this slot is physically an x16 slot, it actually has eight lanes (x8). If with this same slot you see that the number of contacts is reduced to a quarter of what it should have, you are seeing an x16 slot that actually only has four lanes (x4).

It is important to understand that not all motherboard manufacturers follow this procedure; some still use all contacts even though the slot is connected to a smaller number of lanes. The best advice is to check the motherboard manual for the correct information.

To achieve the maximum performance possible, both the expansion card and the PCI Express port must be of the same revision. If you have a PCI Express 2.0 video card and install it on a system with a PCI Express 3.0 port, you are limiting bandwidth to PCI Express 2.0. The same video card installed in an older system with a PCI Express 1.0 controller will be limited to the bandwidth of PCI Express 1.0.

Uses and benefits

With PCIe, data center administrators can take advantage of high-speed networking on server motherboards and connect to Gigabit Ethernet, RAID, and Infiniband network technologies outside of the server rack. The PCIe bus also allows connections between clustered computers using HyperTransport.

For laptops and mobile devices, PCI-e mini cards are used to connect wireless network adapters, SSD disk storage, and other performance accelerators.

We recommend reading:

External PCI Express (ePCIe) allows you to connect the motherboard to an external PCIe interface. In most cases, designers use ePCIe when the computer requires an unusually large number of PCIe ports.

Tutorials

Editor's choice

Back to top button