How to set up smartphones and PCs. Informational portal
  • home
  • Interesting
  • PCI Express technology. What is the difference between PCI Express and PCI

PCI Express technology. What is the difference between PCI Express and PCI

If you ask which interface should be used for a solid-state drive with support for the NVMe protocol, then anyone (generally knowing what NVMe is) will answer: of course PCIe 3.0 x4! True, he will most likely have difficulties with justification. In the best case, we get the answer that such drives support PCIe 3.0 x4, and the bandwidth of the interface matters. It has something, but all the talk about it began only when some drives became cramped for some operations within the framework of "regular" SATA. But between its 600 MB / s and (just as theoretical) 4 GB / s PCIe 3.0 x4 interface - there is simply a chasm, and filled with a lot of options! What if one PCIe 3.0 lane is enough, since it is already one and a half times more than SATA600? Controller manufacturers who threaten to switch to PCIe 3.0 x2 in low-cost products, as well as the fact that many users do not have such and such, add fuel to the fire. More precisely, theoretically there is, but you can release them only by reconfiguring the system or even changing something in it, which you do not want to do. But I want to buy a top-end solid-state drive, but there are fears that there will be no benefit at all (even moral satisfaction from the results of test utilities).

But is it so or not? In other words, is it really necessary to focus exclusively on the supported mode of operation - or is it still possible in practice sacrifice principles? This is what we decided to check today. Let the check be quick and not claiming to be exhaustive, but the information received should be enough (as it seems to us) at least to think about ... But for now, let's briefly familiarize ourselves with the theory.

PCI Express: Existing Standards and Their Bandwidth

Let's start with what PCIe is and how fast it works. It is often called a "bus", which is somewhat incorrect ideologically: as such, there is no bus to which all devices are connected. In fact, there is a set of point-to-point connections (similar to many other serial interfaces) with a controller in the middle and attached devices (each of which itself could be a next-level hub).

The first version of PCI Express appeared almost 15 years ago. Orientation for use inside a computer (often within the same board) made it possible to make the standard high-speed: 2.5 gigatransactions per second. Because the interface is serial and duplex, a single PCIe lane (x1; effectively an atomic unit) can transfer data at speeds up to 5 Gbps. However, in each direction - only half of this, that is, 2.5 Gbit / s, and this is the full interface speed, and not "useful": to increase reliability, each byte is encoded with 10 bits, so the theoretical throughput of one PCIe line 1.x is approximately 250 MB / s each way. In practice, it is also necessary to transfer service information, and as a result, it is more correct to speak about ≈200 MB / s of user data transfer. That, however, at that time not only covered the needs of most devices, but also provided a solid margin: just remember that the PCIe predecessor in the segment of mass system interfaces, namely the PCI bus, provided a throughput of 133 MB / s. And even if we consider not only the mass implementation, but also all PCI variants, the maximum was 533 MB / s, and for the entire bus, that is, such a PS was divided into all devices connected to it. Here, 250 MB / s (since for PCI, the full, and not useful, bandwidth is usually given) per line is in exclusive use. And for devices that need more, initially it was possible to aggregate several lines into a single interface, in powers of two - from 2 to 32, that is, the x32 option provided by the standard could transfer up to 8 GB / s in each direction. In personal computers, x32 was not used due to the complexity of creating and breeding the corresponding controllers and devices, so the 16-line option became the maximum. It was used (and is still used) mainly by video cards, since most devices do not need so much. In general, a considerable number of them and one line is quite enough, but some use both x4 and x8 with success: just on the storage topic - RAID controllers or SSDs.

Time did not stand still, and about 10 years ago the second version of PCIe appeared. Improvements concerned not only speeds, but a step forward was also made in this regard - the interface began to provide 5 gigatransactions per second while maintaining the same encoding scheme, that is, the throughput has doubled. And once again it doubled in 2010: PCIe 3.0 provides 8 (not 10) gigatransactions per second, but the redundancy has decreased - now 130 bits are used for encoding 128 bits, not 160, as before. In principle, the PCIe 4.0 version with the next doubling of speeds is already ready to appear on paper, but in the near future we will hardly see it in hardware in large quantities. In fact, PCIe 3.0 is still used in conjunction with PCIe 2.0 in many platforms, because the performance of the latter is simply ... not needed for many applications. And where needed - the good old method of line aggregation works. Only each of them has become four times faster over the past years, that is, PCIe 3.0 x4 is PCIe 1.0 x16, the fastest slot in computers in the mid-2000s. This option is supported by top-end SSD controllers, and it is recommended to use it. It is clear that if there is such an opportunity, it is not enough. And if it is not there? Will there be any problems, and if so, what are they? It is with this question that we have to figure it out.

Testing technique

It is not difficult to conduct tests with different versions of the PCIe standard: almost all controllers allow using not only the supported by them, but also all earlier ones. It's more difficult with the number of lanes: we wanted to directly test the variants with one or two PCIe lanes. The Asus H97-Pro Gamer, which we usually use, on the Intel H97 chipset does not support the full set, but besides the "processor" x16 slot (which is usually used), it has another one that operates in PCIe 2.0 x2 or x4 modes. We took advantage of this triple, adding the PCIe 2.0 processor slot mode to it, in order to assess whether there is a difference. Still, in this case, there are no third-party "intermediaries" between the processor and the SSD, but when working with a "chipset" slot - there is: the actual chipset, which is actually connected to the same PCIe 2.0 x4 processor. It was possible to add a few more modes of operation, but the main part of the study was still going to be carried out on a different system.

The fact is that we decided to take this opportunity and at the same time check one "urban legend", namely the belief about the usefulness of using top-end processors for testing drives. So we took the eight-core Core i7-5960X - a relative of the Core i3-4170 usually used in tests (these are Haswell and Haswell-E), but which has four times more cores. In addition, the Asus Sabertooth X99 board found in the bins is useful for us today by the presence of a PCIe x4 slot, which in fact can work as x1 or x2. In this system, we tested three x4 options (PCIe 1.0 / 2.0 / 3.0) from the processor and chipset PCIe 1.0 x1, PCIe 1.0 x2, PCIe 2.0 x1 and PCIe 2.0 x2 (in all cases, chipset configurations are marked on the diagrams with (c)). Does it make sense now to turn to the first version of PCIe, considering that there is hardly a single board supporting only this version of the standard that can boot from an NVMe device? From a practical point of view, no, but to check a priori the expected ratio of PCIe 1.1 x4 = PCIe 2.0 x2 and the like, it will be useful to us. If the check shows that the scalability of the bus corresponds to theory, it means that it doesn't matter that we have not yet managed to get practically significant ways of connecting PCIe 3.0 x1 / x2: the first will be identical to PCIe 1.1 x4 or PCIe 2.0 x2, and the second - PCIe 2.0 x4 ... And we have them.

In terms of software, we limited ourselves to Anvil's Storage Utilities 1.1.0: it measures various low-level characteristics of drives well, but we don't need anything else. On the contrary: any influence of other components of the system is extremely undesirable, so that low-level synthetics for our purposes have no alternative.

We used a 240 GB Patriot Hellfire as a "working medium". As it was found during testing, it is not a record for performance, but its speed characteristics are quite consistent with the results of the best SSDs of the same class and the same capacity. And there are already slower devices on the market, and there will be more and more of them. In principle, it will be possible to repeat the tests with something faster, however, as it seems to us, there is no need for this - the results are predictable. But let's not get ahead of ourselves, but let's see what we did.

Test results

While testing Hellfire, we noticed that the maximum speed on sequential operations can only be squeezed out of it with a multithreaded load, so this should also be taken into account for the future: the theoretical throughput is for that and the theoretical that the “real” data, obtained in different programs according to different scenarios will depend more not on her, but on these same programs and scenarios - in that case, of course, when force majeure circumstances do not interfere :) We are now observing such circumstances: it has already been said above that PCIe 1.x x1 is ≈200 MB / s, and this is what we see. Two PCIe 1.x lanes or one PCIe 2.0 is twice as fast, and this is exactly what we see. Four PCIe 1.x lanes, two PCIe 2.0 or one PCIe 3.0 are twice as fast, which was confirmed for the first two options, so the third is unlikely to differ. That is, in principle, scalability, as expected, is ideal: the operations are linear, Flash handles them well, so the interface matters. Flash stops cope well to PCIe 2.0 x4 for recording (which means PCIe 3.0 x2 will do as well). Reading "may" is more, but the last step already gives one and a half, and not a twofold (as it potentially should be) gain. We also note that there is no noticeable difference between the chipset and the processor controller, and there is no difference between the platforms either. However, LGA2011-3 is slightly ahead, but only a little bit.

Everything is smooth and beautiful. But templates do not tear: the maximum in these tests is only slightly more than 500 MB / s, and this is quite capable of even SATA600 or (in the application to today's testing) PCIe 1.0 x4 / PCIe 2.0 x2 / PCIe 3.0 x1... That's right: don't be intimidated by the release of budget controllers for PCIe x2 or the presence of only such a number of lines (and the version of the 2.0 standard) in M.2 slots on some motherboards, when more is not needed. Sometimes even that much is not needed: the maximum results were achieved with a queue of 16 teams, which is not typical for mass software. The queue with 1-4 commands is more common, and for this you can do with one line of the very first PCIe and even the very first SATA. However, there are overheads and so on, so the quick interface is useful. However, too fast is perhaps not harmful.

And in this test, platforms behave differently, and with a single command queue - fundamentally differently. The "problem" is not at all that many cores are bad. They are still not used here, except for one thing, and not so much that the boost mode unfolded with might and main. So we have a difference of about 20% in core frequency and one and a half times in cache memory - in Haswell-E it operates at a lower frequency, and not synchronously with the cores. In general, the top platform can only be useful for knocking out the maximum of "yops" through the maximum multi-threaded mode with a large command queue depth. The only pity is that from the point of view of practical work, this is absolutely spherical synthetics in a vacuum :)

On the record, the state of affairs has not fundamentally changed - in every sense. But, what is funny, on both systems the fastest was the PCIe 2.0 x4 mode in the "processor" slot. On both! And with multiple checks / rechecks. At this point you will inevitably think about whether you need these are your new standards or is it better not to rush anywhere at all ...

When working with blocks of different sizes, the theoretical idyll breaks down on the fact that increasing the interface speed still makes sense. The resulting figures are such that a pair of PCIe 2.0 lanes would be enough, but in reality, in this case, the performance is lower than that of PCIe 3.0 x4, albeit not by several times. And in general, the top-end platform "scores" here to a much greater extent. But just such operations are mainly found in application software, that is, this diagram is the closest to reality. As a result, there is nothing surprising that thick interfaces and fashionable protocols do not give any "wow-effect". More precisely, those who pass over from the mechanics will be given, but exactly the same as any solid-state drive with any interface will provide.

Total

To facilitate the perception of the picture of the hospital as a whole, we used the score given by the program (total - for reading and writing), having carried out its standardization according to the "chipset" PCIe 2.0 x4 mode: at the moment, it is he who is the most widely available, since it is found even on LGA1155 or AMD platforms without the need to "offend" the video card. In addition, it is equivalent to PCIe 3.0 x2, which budget controllers are preparing to master. And on the new AMD AM4 platform, again, it is this mode that can be obtained without affecting the discrete video card.

So what do we see? The use of PCIe 3.0 x4, if possible, is certainly preferable, but not necessary: ​​it brings literally 10% additional performance to NVMe mid-range drives (in its initially top-end segment). And even then - due to operations, in general, not so common in practice. Why, in this case, is this particular option implemented? Firstly, there was such an opportunity, and the stock does not hold a pocket. Secondly, there are drives that are faster than our test Patriot Hellfire. Thirdly, there are areas of activity where loads that are "atypical" for a desktop system are just quite typical. Moreover, it is there that the performance of the data storage system is most critical, or at least the ability to make part of it very fast. But this does not apply to ordinary personal computers.

As we can see, the use of PCIe 2.0 x2 (or, accordingly, PCIe 3.0 x1) does not lead to a dramatic decrease in performance - only by 15-20%. And this is despite the fact that in this case we limited the potential capabilities of the controller by four times! For many operations, this bandwidth is sufficient. One PCIe 2.0 lane is no longer enough, so it makes sense for controllers to support PCIe 3.0 - and in the face of a severe lack of lanes in a modern system, this will work well. In addition, the x4 width is useful - even in the absence of support for modern PCIe versions in the system, it will still allow you to work at normal speed (albeit slower than it could potentially) if there is a more or less wide slot.

In principle, a large number of scenarios in which the actual flash memory turns out to be a bottleneck (yes, this is possible and is inherent not only in mechanics), leads to the fact that four lanes of the third PCIe version on this drive overtake the first one by about 3.5 times - the theoretical throughput of these two cases differs 16 times. From which, of course, it does not follow that you need to hurry to master very slow interfaces - their time has gone forever. It's just that many of the capabilities of fast interfaces can only be realized in the future. Or in conditions that an ordinary user of an ordinary computer will never face directly in his life (with the exception of those who like to measure themselves, it is known what). Actually, that's all.

Almost all modern motherboards are currently equipped with a PCI-E x16 expansion slot. This is not surprising: a discrete graphics accelerator is installed in it, without which the creation of a productive personal computer is generally impossible. It is about its prehistory of appearance, technical specifications and possible modes of operation that will be discussed in the future.

Prehistory of the appearance of the expansion slot

In the early 2000s, with the AGP expansion slot, which at that time was used for installation, a situation developed when the maximum performance level was reached and its capabilities were no longer enough. As a result, the PCI-SIG consortium was created, which began to develop the software and hardware components of the future slot for installing graphics accelerators. The fruit of his creativity was the first PCI Express 16x 1.0 specification in 2002.

To ensure compatibility of the two discrete graphics adapter ports that existed at that time, some companies developed special devices that allowed installing outdated graphics solutions in a new expansion slot. In the language of professionals, such a development had its own name - PCI-E x16 / AGP adapter. Its main purpose is to minimize the cost of upgrading a PC by using components from the previous configuration of the system unit. But this practice did not become widespread for the reason that entry-level video cards on the new interface had a cost almost equal to the price of an adapter.

In parallel with this, simpler modifications of this expansion slot for external controllers were created, which replaced the usual PCI ports at that time. Despite the external similarity, these devices were significantly different. If AGP and PCI could boast of parallel information transfer, then PCI Express was a serial interface. Its higher performance was ensured by a significantly increased data transfer rate in duplex mode (information in this case could be transmitted in two directions at once).

Transfer rate and encryption method

In the designation of the PCI-E x16 interface, the number indicates the number of used bands for data transfer. In this case, there are 16. Each of them, in turn, consists of 2 pairs of wires for transmitting information. As noted, the higher speed is provided by the fact that these pairs are operating in full duplex mode. That is, the transfer of information can go in two directions at once.

To protect against possible loss or distortion of the transmitted data, a special information protection system called 8V / 10V is used in this interface. This designation is deciphered as follows: for correct and correct transmission of 8 data bits, it is necessary to supplement them with 2 service bits to perform a correctness check. In this case, the system is forced to transmit 20 percent of the service information, which does not carry a payload for the computer user. But this is a payment for the reliable and stable operation of the graphic subsystem of a personal computer, and you certainly cannot do without it.

PCI-E versions

The PCI-E x16 slot looks the same on all motherboards. Only here the speed of information transfer in each case may differ significantly. As a result, the speed of the device is also different. And the modifications of this graphical interface are as follows:

  • 1st modification PCI - Express x16 v. 1.0 had a theoretical bandwidth of 8 GB / s.
  • 2nd generation PCI - Express x16 v. 2.0 already boasted a doubled bandwidth - 16 GB / s.
  • A similar trend has continued for the third version of this interface. In this case, this figure was set at around 64 GB / s.

It is impossible to visually distinguish by the location of the contacts. Moreover, they are compatible with each other. For example, if a graphics adapter card is installed in the 3.0 slot, which corresponds at the physical level to specifications 2.0, then the entire processing system will automatically switch to the lowest speed mode (that is, 2.0) and will function in the future with a bandwidth of 64 Gb / s. ...

First generation PCI Express

As noted earlier, PCI Express was first introduced in 2002. Its release marked the emergence of personal computers with several graphics adapters, which, moreover, could boast even one accelerator installed with increased performance. AGP 8X standard allowed to get a bandwidth of 2.1 Gb / s, and the first revision of PCI Express - 8 Gb / s.

Of course, there is no need to talk about an eight-fold increase. 20 percent of the increase was used for the transmission of service information, which made it possible to find errors.

Second modification PCI-E

The first generation of this one was replaced in 2007 by PCI-E 2.0 x16. Video cards of the 2nd generation, as noted earlier, were physically and programmatically compatible with the first modification of this interface. Only in this case the performance of the graphics system was significantly reduced to the level of the PCI Express 1.0 16x interface version.

Theoretically, the information transfer limit in this case was 16 Gb / s. But 20 percent of the gain received was spent on service information. As a result, in the first case, the real transfer was: 8 Gb / s - (8 Gb / s x 20%: 100%) = 6.4 Gb / s. And for the second version of the graphical interface, this value was already like this: 16 Gb / s - (16 Gb / s x 20%: 100%) = 12.8 Gb / s. Dividing 12.8 Gb / s by 6.4 Gb / s, we get a real practical increase in performance by 2 times between the 1st and 2nd PCI Express executions.

Third generation

The last and most relevant update to this interface was released in 2010. The peak PCI-E x16 speed in this case increased to 64 Gb / s, and the maximum power of the graphics adapter without additional power supply in this case can be equal to 75 W.

Configuration options with multiple graphics accelerators in one PC. Their pros and cons

One of the most important innovations of this interface is the ability to have multiple graphics adapters in x16 at once. In this case, video cards are combined with each other and form, in essence, a single device. Their overall performance is summed up, and this allows you to significantly increase the speed of the PC from the standpoint of processing the displayed image. For solutions from NVidia, this mode is called SLI, and for graphics processors from AMD - CrossFire.

The future of this standard

The PCI-E x16 slot will certainly not change for the foreseeable future. This will allow more productive video cards to be used as part of outdated PCs and, due to this, to carry out a phased upgrade of the computer system. Now the specifications of the 4th version of this data transfer method are being worked out. For graphics adapters, in this case, a maximum of 128 Gb / s will be provided. This will allow you to display the image on the monitor screen as "4K" or more.

Outcomes

Be that as it may, and PCI-E x16 is currently the uncontested graphics slot and interface. It will be relevant for a long time to come. Its parameters allow you to create both entry-level computer systems and high-performance PCs with multiple accelerators. It is due to this flexibility that no significant changes are expected in this niche.

I have been asked this question more than once, so now I will try to give the most accessible and brief answer to it, for this I will give pictures of PCI Express and PCI expansion slots on the motherboard for a clearer understanding and, of course, I will point out the main differences in characteristics, i.e. .e. very soon, you will find out what these interfaces are and how they look.

So, first, let's briefly answer the question, what exactly are PCI Express and PCI.

What are PCI Express and PCI?

PCI Is a computer parallel I / O bus for connecting peripheral devices to the computer's motherboard. PCI is used to connect: video cards, sound cards, network cards, TV tuners and other devices. The PCI interface is outdated, so you probably won't be able to find, for example, a modern video card that connects via PCI.

PCI Express(PCIe or PCI-E) is a computer serial I / O bus for connecting peripheral devices to the computer's motherboard. Those. at the same time, a bi-directional serial connection is already used, which can have several lines (x1, x2, x4, x8, x12, x16 and x32), the more such lines, the higher the bandwidth of the PCI-E bus. The PCI Express interface is used to connect devices such as: video cards, sound cards, network cards, SSD drives and others.

There are several versions of the PCI-E interface: 1.0, 2.0 and 3.0 (version 4.0 is coming soon). This interface is usually designated, for example, like this PCI-E 3.0 x16 which means PCI Express 3.0 version with 16 lanes.

If we talk about whether, for example, a video card that has a PCI-E 3.0 interface on a motherboard that supports only PCI-E 2.0 or 1.0 will work, so the developers say that everything will work, but of course, take into account that the bandwidth will be limited by the capabilities of the motherboard. Therefore, in this case, I think it's not worth overpaying for a video card with a newer version of PCI Express ( if only for the future, i.e. You are planning to purchase a new motherboard with PCI-E 3.0). Also, and vice versa, suppose your motherboard supports the PCI Express 3.0 version, and the video card version, say 1.0, then this configuration should also work, but only with the PCI-E 1.0 capabilities, i.e. there is no limitation here, since the video card in this case will work at the limit of its capabilities.

Differences PCI Express from PCI

The main difference in characteristics is, of course, the bandwidth, for PCI Express it is much higher, for example, for PCI at 66 MHz, the bandwidth is 266 Mb / s, and for PCI-E 3.0 (x16) 32 GB / sec.

Externally, the interfaces are also different, so you won't be able to connect, for example, a PCI Express video card to the PCI expansion slot. PCI Express interfaces with different number of lanes are also different, I will now show all this in the pictures.

PCI Express and PCI expansion slots on motherboards

PCI and AGP slots

PCI-E x1, PCI-E x16 and PCI slots

PCI Express interfaces on video cards

That's all for me, bye!

When we talk about the PCI Express (PCI-E) bus, then, perhaps, the first thing that sets it apart from other similar solutions is efficiency. Thanks to this modern bus, the performance of the computer is increased, the quality of the graphics is improved.

For many years, the PCI (Peripheral Component Interconnect) bus was used to connect a video card to a motherboard, in addition to this, it was also used to connect some other devices, for example, a network and a sound card.

This is what these slots look like:

PCI-Express has effectively become the next generation of the PCI bus, offering improved functionality and performance. It uses a serial connection, in which there are several lines, each of which leads to the corresponding device, i.e. each peripheral gets its own line, which increases the overall performance of the computer.

PCI-Express supports hot plugging, consumes less power than its predecessors, and controls the integrity of transmitted data. In addition, it is compatible with PCI bus drivers. Another remarkable feature of this bus is its scalability, i.e. The pci express card plugs in and works in any slot of equal or greater bandwidth. In all likelihood, this function will ensure its use in the coming years.

The traditional PCI slot type was good enough for basic audio / video functions. With the AGP bus, the scheme for working with multimedia data has improved, and the quality of audio / video data has increased accordingly. It was not long before the advances in microarchitecture of processors began to demonstrate even more clearly the slowness of the PCI bus, which forced the fastest and newest computer models at that time to literally barely drag.

PCI-E characteristics and bandwidth

It can have from one bi-directional connection line x1, up to x32 (32 lines). The line operates on a point-to-point basis. Modern versions provide much more bandwidth than their predecessors. x16 can be used to connect a video card, and x1 and x2 can be used to connect regular cards.

This is how slots x1 and pci express x16 look like on:

PCI-E
Number of lines x1 x2 x4 x8 x16 x32
Bandwidth 500 Mb / s 1000 MB / s 2000 Mb / s 4000 MB / s 8000 MB / s 16000 Mb / s

PCI-E Versions and Compatibility

When it comes to computers, any mention of versions is associated with compatibility issues. And like any other modern technology, PCI-E is constantly evolving and modernizing. The last available option is pci express 3.0, but the development of the PCI-E bus version 4.0 is already underway., Which should appear around 2015 (pci express 2.0 is almost outdated).
Take a look at the following PCI-E compatibility chart.
PCI-E Versions 3.0 2.0 1.1
Total bandwidth
(X16) 32 Gb / s 16 Gb / s 8 Gb / s
Data rate 8.0 GT / s 5.0 GT / s 2.5 GT / s

The PCI-E version has no effect on the functionality of the card. The most distinguishing feature of this interface is its forward and backward compatibility, which makes it secure and capable of syncing with many card variants, regardless of the version interface. That is, you can insert a second or third version card into the PCI-Express slot of the first version and it will work, albeit with some performance loss. In the same way, you can install a card of the first PCI-Express version in the PCI-E slot of the third version. Currently, all modern models of video cards from NVIDIA and AMD are compatible with this bus.

And this is for a snack:

Collegiate YouTube

  • 1 / 5

    In contrast to the PCI standard, which used a common bus for data transfer with several devices connected in parallel, PCI Express, in general, is a packet network with a star topology.

    PCI Express devices communicate with each other through a switch environment, with each device directly connected through a point-to-point connection to the switch.

    In addition, the PCI Express bus supports:

    • guaranteed bandwidth (QoS);
    • energy management;
    • control of the integrity of the transmitted data.

    The PCI Express bus is intended to be used only as a local bus. Since the PCI Express software model is largely inherited from PCI, existing systems and controllers can be modified to use the PCI Express bus by replacing only the physical layer, without modifying the software. The high peak performance of the PCI Express bus makes it possible to use it instead of AGP buses, and even more so PCI and PCI-X. De facto PCI Express has replaced these buses in personal computers.

    Connectors

    • MiniCard (Mini PCIe) is a replacement for the Mini PCI form factor. The following buses are brought out to the Mini Card slot: x1 PCIe, USB 2.0 and SMBus.
    • ExpressCard is similar to the PCMCIA form factor. The ExpressCard slot has x1 PCIe and USB 2.0 buses, ExpressCards support hot plugging.
    • AdvancedTCA is a form factor for telecommunications equipment.
    • The Mobile PCI Express Module (MXM) is an industrial form factor designed for notebook computers by NVIDIA. It is used to connect graphics accelerators.
    • PCI Express cable specifications make it possible to increase the length of one connection to tens of meters, which makes it possible to create a computer, the peripheral devices of which are at a considerable distance.
    • StackPC is a specification for building stackable computer systems. This specification describes the expansion connectors StackPC, FPE and their mutual arrangement.

    PCI Express X1

    Mini PCI-E

    Mini PCI Express is a PCI Express bus format for portable devices.

    Many peripherals are available for this connector standard:

    SSD Mini PCI Express

    • 3.3V power supply

    ExpressCard

    ExpressCard slots currently (November 2010) are used to connect:

    • SSD drives
    • Video cards
    • 1394 / FireWire controllers (iLINK)
    • Docking stations
    • Measuring instruments
    • Memory
    • Memory card adapters (CF, MS, SD, xD, etc.)
    • Mice
    • Network adapters
    • Parallel ports
    • PC Card / PCMCIA Adapters
    • PCI extensions
    • PCI Express extensions
    • Remote control
    • SATA controllers
    • Serial ports
    • SmartCard Adapters
    • TV tuners
    • USB controllers
    • Wi-Fi wireless network adapters
    • Wireless broadband internet adapters (3G, CDMA, EVDO, GPRS, UMTS, etc.)
    • Sound cards for home multimedia and professional audio interfaces.

    Protocol Description

    To connect a PCI Express device, a bi-directional point-to-point serial connection is used, called a line (English lane - lane, row); this is in stark contrast to PCI, in which all devices are connected to a common 32-bit parallel bi-directional bus.

    Competing protocols

    In addition to PCI Express, there are a number of high-speed, standardized serial interfaces, just to name a few: HyperTransport, InfiniBand, RapidIO, and StarFabric. Each interface has its supporters among industrial companies, since significant sums have already gone to the development of protocol specifications, and each consortium strives to emphasize the advantages of its own interface over others.

    A standardized high-speed interface, on the one hand, must be flexible and scalable, and on the other hand, must provide low latency and low overhead (that is, the share of packet overhead should not be large). Basically, the differences between interfaces lie precisely in the trade-off chosen by the developers of a particular interface between these two conflicting requirements.

    For example, additional overhead routing information in a packet makes it possible to organize complex and flexible packet routing, but increases the overhead of packet processing, also reduces the bandwidth of the interface, and complicates the software that initializes and configures the devices connected to the interface. If you need to ensure hot-plugging of devices, you need special software that would track changes in the network topology. Examples of interfaces that are tailored for this are RapidIO, InfiniBand, and StarFabric.

    At the same time, by shortening the packets, it is possible to reduce the latency in data transmission, which is an important requirement for the memory interface. But the small size of the packets leads to the fact that the share of the service fields of the packet increases, which reduces the effective bandwidth of the interface. An example of this type of interface is HyperTransport.

    The position of PCI Express is between the described approaches, since the PCI Express bus is designed to act as a local bus, rather than a processor-memory bus or a complex routed network. In addition, PCI Express was originally conceived as a bus that is logically compatible with the PCI bus, which also introduced its limitations.

Top related articles