Expansion Bus: PCI, PCIe and more in one short article.

 Expansion BUS

#SHORTS

Before we begin, thanks to you all and especially all my supporters.

THANKS:

Your name at the top of every article. Isn't that cool? NO? Why NOT? CLICK HERE


[I do not own the above Image]


* INTRODUCTION

Expansion slots have been part of the PC from the very beginning. Way back
then, IBM created the PC with an eye to the future; the original IBM PC had
slots built into the motherboard—called expansion slots—for adding
expansion cards and thus new functions to the PC. The slots and
accompanying wires and support chips on the first PC and on the latest and
greatest PC are called the expansion bus.


* Structure and Function of the Expansion Bus

As you might have already know, every device in the computer—whether soldered to the motherboard or snapped into a socket—connects to the external data bus and the address bus. The expansion slots are no exception. They connect to the
rest of the PC through the chipset. Exactly where on the chipset varies
depending on the system. On newer systems, the expansion slots connect to
the CPU because modern CPUs contain a lot of controller features that used to be in the chipset.

In older systems, the expansion slots connect directly to the chipset.

Finally, many systems have more than one type of expansion bus, with slots of one type connecting to the CPU and slots of another type connecting to the chipset.

The chipset provides an extension of the address bus and data bus to the expansion slots, and thus to any expansion cards in those slots. If you plug a hard drive controller card into an expansion slot, it functions just as if it were built into the motherboard, albeit with one big difference: speed.


Assuming you already know some basics "the system crystal—the clock—pushes the CPU". The system crystal provides a critical function for the entire PC, acting like a drill sergeant calling a cadence, setting the pace of activity in the computer. Every device soldered to the motherboard is designed to run at the speed of the
system crystal. A 200-MHz motherboard, for example, has its chipset chips all timed by a 200-MHz crystal.

Clock crystals aren’t just for CPUs and chipsets. Pretty much every chip in
your computer has a CLK wire and needs to be pushed by a clock chip, including the chips on your expansion cards. Suppose you buy a device that did not come with your computer—say, a sound card. The chips on the sound card need to be pushed by a CLK signal from a crystal. If PCs were designed to use the system crystal to push that sound card, sound card manufacturers would need to make sound cards for every possible motherboard speed. You would have to buy a 100-MHz sound card for a 100-MHz system or a 200-MHz sound card for a 200-MHz system.

That would be ridiculous, and IBM knew it when they designed the PC. They had to make an extension to the external data bus that ran at its own standardized speed. You would use this part of the external data bus to snap new devices into the PC. IBM achieved this goal by adding a different crystal, called the expansion bus crystal, which controlled the part of the external data bus connected to the expansion slots.


The expansion slots run at a much slower speed than the frontside bus. The chipset acts as the divider between the two buses, compensating for the speed difference with wait states and special buffering (storage) areas. No matter how fast the motherboard runs, the expansion slots run at a standard speed. In the original IBM PC, that speed was about 14.318 MHz ÷ 2, or about 7.16 MHz. Luckily, modern expansion buses run much faster! Let’s start with the oldest of the modern expansion slots, PCI.


* PCI

Intel introduced the Peripheral Component Interconnect (PCI) bus architecture in the early 1990s, and the PC expansion bus was never again the same. Intel made many smart moves with PCI, not the least of which was releasing PCI to the public domain to make PCI very attractive to manufacturers. PCI provided a wider, faster, more flexible alternative than any previous expansion bus. The exceptional technology of the new bus, combined with the lack of a price tag, made manufacturers quickly drop older buses and adopt PCI.



PCI really shook up the PC world with its capabilities. The original PCI bus was 32 bits wide and ran at 33 MHz, which was superb, but these features were expected and not earth-shattering. The coolness of PCI came from its capability to coexist with other expansion buses. When PCI first came out, you could buy a motherboard with both PCI and older slots. This was important because users could keep their old expansion cards and slowly migrate to PCI. Equally impressive was that PCI devices were (and still are) self-configuring, a feature that led to the industry standard that became known as plug and play (PnP). Finally, PCI had a powerful burst-mode feature that enabled very efficient data transfers.


* Mini-PCI

PCI made it into laptops in the specialty Mini-PCI format.
Mini-PCI was designed to use low power and to lie flat—both good features
for a laptop expansion slot. Mini-PCI, like full-sized PCI, is only on older
computers.




* PCI Express

PCI Express (PCIe) is still PCI, but it uses a point-to-point serial connection instead of PCI’s shared parallel communication. Consider a single 32-bit chunk of data moving from a device to the CPU. In PCI parallel communication, 32 wires each carry one bit of that chunk of data. In serial communication, only one wire carries those 32 bits. You’d think that 32 wires are better than one, correct?

First of all, PCIe doesn’t share the bus. A PCIe device has its own direct connection (a point-to-point connection) to the CPU, so it does not wait for other devices. Plus, when you start going really fast (think gigabits per second), getting all 32 bits of data to go from one device to another at the same time is difficult, because some bits get there slightly faster than others. That means you need some serious, high-speed checking of the data when it arrives to verify that it’s all there and in good shape. Serial data doesn’t have this problem, as all of the bits arrive one after the other in a single stream. When data is really going fast, a single point-to-point serial connection is faster than a shared 32-wire parallel connection.

And boy howdy, is PCIe ever fast! A PCIe connection uses one wire for sending and one for receiving. Each of these pairs of wires between a PCIe controller and a device is called a lane. Each direction of a lane runs at 2.5 gigatransfers per second (GTps) with PCIe 1.x, 5 GTps with PCIe 2.x, 8 GTps with PCIe 3.x, and a whopping 16 GTps with PCIe 4.0! (try to learn more on the latest PCIe 5.0 from google) Better yet, each point-to-point connection can use 1, 2, 4, 8, 12, or 16 lanes to achieve a maximum theoretical bandwidth of up to 256 GTps. The transfer rate describes the number of operations happening per second. With serial communication, you almost get a one-to-one correlation between transfer rate and binary data rate. The effective data rate drops a little bit because of the encoding scheme—the way the data is broken down and reassembled—but full-duplex data throughput can go up to a whopping 32 GBps on a ×16 connection.

The most common PCIe slot is the 16-lane (×16) version most often used for video cards, as shown below. The first versions of PCIe motherboards used a combination of a single PCIe ×16 slot and a number of standard PCI slots. (Remember, PCI is designed to work with other expansion slots, even other types of PCI.) There is also a popular small form factor version of PCI Express for laptop computers called PCI Express Mini Card, or Mini-PCIe.



The bandwidth generated by a ×16 slot is far more than anything other
than a video card would need, so most PCIe motherboards also contain slots
with fewer lanes. Currently ×1 is the most common general-purpose PCIe
slot (see below). You’ll also see ×4 slots on some motherboards.



 

NOTE: When you talk about the lanes, such as ×1 or ×16, use “by” rather
than “ex” for the multiplication mark. So “by 1” and “by 16” are the correct
pronunciations.


PCIe 5.0 will be your homework :)

Post a Comment (0)
Previous Post Next Post