Common Interconnects & Bandwidth

lopri

Elite Member
Jul 27, 2002
13,310
687
126
What is an interconnect?

Every component inside/outside of your PC needs to communicate with other components in order for them to work. You may notice some external hard drives come equipped with more than one way to connect to your PC. Likewise, when you purchase your video card you want to make sure what kinds of 'connection' that your motherboard supports and decide on which to use.

An interconnect is, in a way, how different parts of computers communicate to each another. PCI Express connects your video cards, SATA connects your hard disks, USB 2.0 connects your memory sticks. While there are countless interconnects, the basic goal is the same - send data over as fast and efficient as possible.

Then why not make a universal interconnect so that we can avoid confusion?

Hopefully some day it will happen - when the world becomes the perfection. But until then, the constantly evolving nature of technology means that people are bound to find/invent a better way to make your computer parts communicate.

How are interconnects measured?

Thankfully, we're living in a digital world and that means everything is bits and Bytes. You may have heard of it elsewhere that every form of digital data comes down to 0 (zero) and 1 (one). That is correct. The smallest unit in the digital world is a bit, and it can either be 0 or 1. Amazing, isn't it? The picture you've just taken with your digital camera (say it's you and your significant other) is nothing more than a compilation of 0's and 1's to your computer!

So?

So an interconnect is measured by how fast it can transfer 0's and 1's, that is, how many bits and Bytes it can transfer in a second. This is called 'Bandwidth'. See? We're getting somewhere. 100MB/s, 1Gb/s, etc. A Byte is generally a group of 8 bits (Don't ask me why), and the two are usually differentiated by upper case 'B' (for Bytes) and lower case 'b' (for bits).

  1. 1 Byte = 8 bits
    1 Kb = 1,000 bits | 1 Mb = 1,000,000 bits | 1 Gb = 1,000,000,000 bits or 1,000 Mbits
    1 KB = 1,000 Bytes | 1 MB =1,000,000 Bytes | 1 GB = 1,000,000,000 Bytes or 1,000 MBytes
    ...
    1 Kb/s = 1,000 bits per second
    1 KB/s = 1,000 Bytes per second
    ...
When do you use bits and when do you use Bytes?

Beats me. Some are usually measured in bits and others are in Bytes. If you know the reason, please let me know. I will make sure to give credit.

Meanwhile, just for you, I have compiled some of the common interconnects in modern motherboards so that one could see the relative standings of various interconnects. You will know which measure to use (bits or Bytes) when you see them. Please note: Absolute speed isn't everything. Many interconnects have been invented with specific devices in mind. Some of them are even proprietary. There are cases where you can compare one with another, and there are cases where you cannot. Besides, most, if not all, of these values are either 'theoretical max', 'average' or even 'approximation'.

This list is a work-in-progress and by no means will be error-free. I will add more listings over time, and comments or suggestions are welcome, of course. Standard disclaimer applies: I cannot guarantee the accuracy or practicality of this information. Use this at your own risk. ;)
 

lopri

Elite Member
Jul 27, 2002
13,310
687
126
**System Buses I**

RS-232 (Serial Port): 0.25 Mb/s | 0.03 MB/s
IEEE 1284 (Parallel Port): 2 Mb/s | 0.25 MB/s

PCI: 1067 Mb/s | 133 MB/s
PCI-X: 8533 Mb/s | 1067 MB/s

AGP x4: 8533 Mb/s | 1067 MB/s
AGP x8: 17066 Mb/s | 2133 MB/s


**PCI Express 1.0**

PCI Express x1: 2000 Mb/s | 250 MB/s (0.25 GB/s, 0.5 GB/s bidirectional)
PCI Express x4: 8000 Mb/s | 1000 MB/s (1.0 GB/s, 2.0 GB/s bidirectional, DMI*)
PCI Express x8: 16000 Mb/s | 2000 MB/s (2.0 GB/s, 4.0 GB/s bidirectional)
PCI Express x16: 32000 Mb/s | 4000 MB/s (4.0 GB/s, 8.0 GB/s bidirectional)


**PCI Express 2.0**

PCI Express 2.0 doubles the bandwidth of previous generation and improves on latency as well. (which is not showing by the bandwidth numbers)

PCI Express 2.0 x1: 4000 Mb/ s | 500 MB/s (0.5 GB/s, 1.0 GB/s bidirectional)
PCI Express 2.0 x4: 16000 Mb/s | 2000 MB/s (2.0 GB/s, 4.0 GB/s bidirectional)
PCI Express 2.0 x8: 32000 Mb/s | 4000 MB/s (4.0 GB/s, 8.0 GB/s bidirectional)
PCI Express 2.0 x16: 64000 Mb/s | 8000 MB/s (8.0 GB/s, 16.0 GB/s bidirectional)


*DMI: 8000 Mb/s | 1000 MB/s (1GB/s, 2.0 GB/s bidirectional)

DMI, or Direct Media Interface, is the interconnect betwen MCH (North bridge) and ICH (South bridge) on most Intel desktop chipsets. It is practically equivalent to PCI Express x4 bandwidth (Gen 1). This can sometimes cause modest to severe system bottlenecks. (e.g. CrossFire on P35 board) Unfortunately, it doesn't look like Intel has fixed this even in its latest 4 series chipsets (P45, G45, etc.) Worse yet, the DMI has NOT been upgraded as with the rest of PCI Express 2.0. In other words, while the 4 series boards embraced the new generation of PCI Express technology, for some reason the DMI still stays where it was. That is, the bandwidth of DMI is the same on P35 and P45.

Note: This doesn't mean that CrossFire on P45 is as inefficient as on P35. On P45, both PCIe x16 slots (x8/x8 electrically under CrossFire configuration) are stemming from the north bridge, so data need not communicate through DMI. On the other hand, P35 chipset's typical CrossFire configuration is x16/x4, x16 slot being on the north bridge and x4 slot on the south bridge. Therefore data has to 1) pass through DMI, and 2) compete with other data on the south bridge..


**HyperTransport**


HyperTransport is a scalable, point-to-point interconnect technology utilized on AMD platform. It directly connects CPU and memory, or two or more CPUs. HyperTransport is an industry standard and is developed by HyperTransport Consortium.

HyperTransport 1.0 (800 MHz, 16bit)
: 25600 Mb/s | 3200 MB/s (3.2 GB/s, 6.4 GB/s bidirectional)
HyperTransport 1.0 (800 MHz, 32bit): 51200 Mb/s | 6400 MB/s (6.4 GB/s, 12.8 GB/s bidirectional)

HyperTransport 2.0 (1.4 GHz, 16bit): 32000 Mb/s | 4000 MB/s (4.0 GB/s, 8.0GB/s bidirectional)
HyperTransport 2.0 (1.4 GHz, 32bit): 64000 Mb/s | 8000 MB/s (8.0 GB/s, 16.0GB/s bidirectional)

HyperTransport 3.0 (2.6 GHz, 16bit): 83200 Mb/s | 10400 MB/s (10.4 GB/s, 20.8 GB/s bidirectional)
HyperTransport 3.0 (2.6 GHz, 32bit): 166400 Mb/s | 20800 MB/s (20.8 GB/s, 41.6 GB/s bidirectional)


**FSB / Front Side Bus**

FSB is the interconnect between CPU and MCH (Memory Controller Hub) on Intel platform. This technology has been developed by Intel and is proprietary.

200 MHz (800 MT/s Quad-pumped or 800 FSB): 51200 Mb/s | 6400 MB/s (6.4 GB/s)

266 MHz (1066 MT/s Quad-pumped or 1066 FSB): 68800 Mb/s | 8600 MB/s (8.6 GB/s)

333 MHz: (1333 MT/s Quad-pumped or 1333 FSB): 85000 Mb/s | 10600 MB/s (10.6 GB/s)

400 MHZ: (1600 MT/s Quad-pumped or 1600 FSB): 102400 Mb/s | 12800 MB/s (12.8 GB/s)


**System Buses II**

USB 1.0: 1.5 Mb/s | 0.19 MB/s

USB 1.1 ('Full-Speed' USB): 12 Mb/s | 1.5 MB/s

USB 2.0 ('High-Speed' USB): 480 Mb/s | 60 MB/s

USB 3.0 (not finalized): 4800 Mb/s | 600 MB/s


FireWire 400 (IEEE 1394a): 400 Mb/s | 50 MB/s

FireWire 800 (IEEE 1394b): 800 Mb/s | 100 MB/s


eSATA (SATA 150): 1200 Mb/s | 150 MB/s

eSATA (SATA 300): 2400 Mb/s | 300 MB/s


**Memory Subsystem**

PC 2100 DDR SDRAM / DDR-266 (Dual channel): 33.6 Gb/s | 4.2 GB/s

PC 2700 DDR SDRAM / DDR-333 (Dual channel): 43.2 Gb/s | 5.4 GB/s

PC 3200 DDR SDRAM / DDR-400 (Dual channel): 51.2 Gb/s | 6.4 GB/s

PC 4000 DDR SDRAM / DDR-500 (Dual channel): 64.0 Gb/s | 8.0 GB/s


PC2-4200 DDR2 SDRAM / DDR2-533 (Dual channel): 67.2 Gb/s | 8.4 GB/s

PC2-5300 DDR2 SDRAM / DDR2-667 (Dual channel): 84.8 Gb/s | 10.6 GB/s

PC2-6400 DDR2 SDRAM / DDR2-800 (Dual channel): 102.4 Gb/s | 12.8 GB/s

PC2-8500 DDR2 SDRAM / DDR2-1066 (Dual channel): 136.0 Gb/s | 17.0 GB/s


PC3-8500 DDR3 SDRAM / DDR3-1066 (Dual channel): 136.0 Gb/s | 17.0 GB/s

PC3-10600 DDR3 SDRAM / DDR3-1333 (Dual channel): 170.4 Gb/s | 21.3 GB/s

PC3-12800 DDR3 SDRAM / DDR3-1600 (Dual channel): 204.8 Gb/s | 25.6 GB/s

PC3-16000 DDR3 SDRAM / DDR3-2000 (Dual channel): 256.8 Gb/s | 32.0 GB/s

 

lopri

Elite Member
Jul 27, 2002
13,310
687
126
**Storage Technology**

Ever wondered what it means, when you see 'CD-ROM x48' or 'DVD-ROM x16' and the like? Well, here are the answers.

Floppy (1.44MB): 0.5 Mb/s | 0.062 MB/s
CD-ROM (x1): 1.2 Mb/s | 0.15 MB/s
DVD-ROM (x1): 11.1 Mb/s | 1.32 MB/s

I will leave the math part up to you. :D Let so move onto HDDs.

Ultra ATA-100 (a.k.a. PATA or IDE): 800 Mb/s | 100 MB/s
Ultra ATA-133 (a.k.a. PATA or IDE): 1064 Mb/s | 133 MB/s

* SATA-150 (or SATA I, Serial ATA 1): 1500 Mb/s (1.5 Gb/s) | 150 MB/s
* SATA-300 (or SATA II, Serial ATA 2): 3000 Mb/s (3.0 Gb/s) | 300 MB/s

SAS (Serial Attached SCSI): 3000 Mb/s | 375 MB/s

* You may have noticed something strange there. Why isn't the conversion between bits and Bytes are not by the factor of 8? This may need a long and detailed explanation from an expert, but for now let's take a note of this:

Most interconnects 'encode' or 'compress' data. When an interconnect send data from A to B, it's not transmitting raw bits and bytes. If that were the case, we wouldn't have this many kinds of interconnects. Interconnects uses various methods to data transfer (such as electricity, light or radio frequencies, etc.) and data needs to be 'coded' or 'compressed' to achieve optimal throughput.

So with that knowledge, let's just remember that when it comes to SATA, bits are translated to Bytes by the factor of 10, instead of 8.

SCSI: There are so many variations of SCSI (and so little of my knowledge about them), so I am leaving this it out. Moreover, with the advance of PCI Express technology, the industry is moving towards SAS (and SAS 2.0 in the future). An exception is iSCSI, and its future is indeed looking bright. As far as I know this is combination of network interconnect + SCSI. I could call it something like 'Ethernet Attached SCSI', in contrast to 'Serial Attached SCSI.

Talking about network, it's something that we cannot omit. It is one of the fastest growing interconnect technologies.


**Network Bandwidth**
  1. Wired
Ethernet (10Base-X): 10 Mb/s | 1.25 MB/s

Fast Ethernet (100Base-X): 100 Mb/s | 12.5 MB/s

Gigabit Ethernet (1000Base-X): 1000 Mb/s | 125 MB/s

10 Gigabit Ethernet (10Gbase-X): 10000 Mb/s (10Gb/s) | 1250 MB/s

  1. Wireless
802.11a: 54 Mb/s | 6.75 MB/s

802.11b: 11 Mb/s | 1.375 MB/s

802.11g: 54 Mb/s | 6.71 MB/s

802.11n: 248 Mb/s | 31 MB/s

WUSB (Wireless USB; not finalized): 480 Mb/s | 60 MB/s
 

lopri

Elite Member
Jul 27, 2002
13,310
687
126
Reserved (next-gen interconnects, including Intel's QuickPath)
 

Sylvanas

Diamond Member
Jan 20, 2004
3,752
0
0
Nice one Lopri very informative! This should help a lot of people in the Motherboard forum wondering about PCI-E bandwidth and the like. One question I have is how does PCI-E frequency interact with the overall bandwidth? If say I increased my PCi-E 2.0 16x frequency from 100mhz to 125mhz does that mean I now have +25% bandwidth (10GB/s, 20gb/s Bidirectional)? Also of interest is how DMI has not evolved with other interfaces, but I would assume that DMI provides enough bandwidth for most common devices that would use this bus so there is no need to really update it (except in the case of P35 Crossfire).
 

lopri

Elite Member
Jul 27, 2002
13,310
687
126
Yes. Increasing the base clock of PCIe will result in a proportinally increased bandwidth. (At least in theory)

PCIe works with the base clock (100MHz) and multipliers. In the case of PCI Express 1.0, the multiplier is x25. So what we have is:

100 MHz x 25 = 2500 MHz or 2.5 GHz. Every cycle is one 'trnasfer', so it is often called 2.5 GT/s (gigatransfer/s). Thus we're getting 250MB/s per lane. For PCI Express 2.0, x50 multiplier is used.

As for DMI; I do agree that it may not be a big deal under ordinary desktop usage. However, we could also easily imagine that there might be users who'd like to use a x8 RAID card or a X4 NIC card in the PCIe slot rooted in south bridge. Or even RAID0. The bandwith of DMI can be easily saturated in such scenarios. Then the DMI has to deal with regular HDDs, USB, CD/DVD-ROMs, on-board audio, PCI cards, and even the legacy stuff.
 

Mr Fox

Senior member
Sep 24, 2006
876
0
76
Nice Work Lopri !! That will save you answering a Lotta clueless kinda stuff.

Just one thought, you should add that "All Values are Theoretical, Your results may Vary"

as a Cover Your Ass kinda thing.

Excellent Work Again !!
 

krnmastersgt

Platinum Member
Jan 10, 2008
2,873
0
0
+1 to what Fox said, otherwise very nice thread :D

And looking at that speed comparison makes me really want USB 3.0 lol
 

Peter

Elite Member
Oct 15, 1999
9,640
1
0
Old fart filling in on SCSI ...

Single-ended or (high voltage) differential signalling:

Original (8-bit async) SCSI: 3 MB/s
Original Synchronous SCSI: 5 MB/s (5 MHz, 8-bit)
Wide SCSI: 10 MB/s (5 MHz, 16-bit)
Fast SCSI: 10 MB/s (10 MHz, 8-bit)
Fast Wide SCSI: 20 MB/s (10 MHz, 16-bit)
Ultra SCSI: 20 MB/s (20 MHz, 8-bit)
Wide Ultra SCSI: 40 MB/s (20 MHz, 16-bit)

Low-Voltage Differential Signalling:
Ultra-2 SCSI: 80 MB/s (40 MHz, 16-bit)
Ultra-160 SCSI: 160 MB/s (80 MHz, 16-bit)
Ultra-320 SCSI: 320 MB/s (80 MHz DDR, 16-bit)
 

Pantlegz

Diamond Member
Jun 6, 2007
4,627
4
81
Originally posted by: lopri
  1. 1 Byte = 8 bits
    1 Kb = 1,000 bits | 1 Mb = 1,000,000 bits | 1 Gb = 1,000,000,000 bits or 1,000 Mbits
    1 KB = 1,000 Bytes | 1 MB =1,000,000 Bytes | 1 GB = 1,000,000,000 Bytes or 1,000 MBytes
    ...
    1 Kb/s = 1,000 bits per second
    1 KB/s = 1,000 Bytes per second
    ...
When do you use bits and when do you use Bytes?

Beats me. Some are usually measured in bits and others are in Bytes. If you know the reason, please let me know. I will make sure to give credit.

Kilo, in computer terms is 1024(2^10) not 1000(10^3) unless you're talking to someone in marketing. And the whole Bit Vs Byte (again out side of marketing speak) Bit is a transfer rate and Byte is size/storage... typically, I'm trying to think of a case which this isn't true but I can't think of one off the top of my head, I'm sure someone will correct me if I'm wrong.

 

Peter

Elite Member
Oct 15, 1999
9,640
1
0
Nope.

Kilo: Learn your international standard (SI) units, and you'll find that the 1024-based units are abbreviated KiB, MiB, GiB and so forth. KB, MB, GB are 1000-based.

Bits and bytes: Bit = smallest digital storage unit, [0|1]
Byte = eight bits. Also a measure of size.

Transfer rates are measured in size per time, no matter what unit you choose for size or time. GB/s, postcards/year, bits/µs, these are all measures of rate.
 

Pantlegz

Diamond Member
Jun 6, 2007
4,627
4
81
Originally posted by: Peter
Nope.

Kilo: Learn your international standard (SI) units, and you'll find that the 1024-based units are abbreviated KiB, MiB, GiB and so forth. KB, MB, GB are 1000-based.

Bits and bytes: Bit = smallest digital storage unit, [0|1]
Byte = eight bits. Also a measure of size.

Transfer rates are measured in size per time, no matter what unit you choose for size or time. GB/s, postcards/year, bits/µs, these are all measures of rate.

While the SI abbrevaition may be KiB or MiB(doens't make any sense considerind bits are a small b but anyway) I have never seen it when looking at anything computer related it's either KB or Kb, again I could be wrong on this too.

And again, I know they're both sizes but typically bit are used for transfer rated and Bytes for Size/Storage for example your internet(network) is rated in bps your HDD transfer rate is rated in bps. Wether there is a standard that says this, or it's just common practice I don't know.
 

cusideabelincoln

Diamond Member
Aug 3, 2008
3,275
46
91
Originally posted by: Pantlegz1
Originally posted by: Peter
Nope.

Kilo: Learn your international standard (SI) units, and you'll find that the 1024-based units are abbreviated KiB, MiB, GiB and so forth. KB, MB, GB are 1000-based.

Bits and bytes: Bit = smallest digital storage unit, [0|1]
Byte = eight bits. Also a measure of size.

Transfer rates are measured in size per time, no matter what unit you choose for size or time. GB/s, postcards/year, bits/µs, these are all measures of rate.

While the SI abbrevaition may be KiB or MiB(doens't make any sense considerind bits are a small b but anyway) I have never seen it when looking at anything computer related it's either KB or Kb, again I could be wrong on this too.

And again, I know they're both sizes but typically bit are used for transfer rated and Bytes for Size/Storage for example your internet(network) is rated in bps your HDD transfer rate is rated in bps. Wether there is a standard that says this, or it's just common practice I don't know.

You don't see KiB being used, but you can see its effect whenever you buy a 250GB hard drive and Windows reads less than this space. The hard drives are labeled in terms of Giga, but you actually get it in terms of Gibi. Google should provide you the answer as to how and why this is.

Wait, so if 1600Mhz FSB has the same bandwidth as DDR2 800, then what's the point of DDR3 at this point?
Well for one, DDR3 requires lower voltage and consequently less power and has an easier path to higher speeds.

Now I have a question for lopri:
On the Intel P45 with dual x8 PCI-E 2.0 slots, do video cards like the Radeon HD4850 show any kind of performance decrease when they are running in x8 mode instead of x16 mode? I'm assuming a single video card is not saturating the bandwidth available from a gen 2.0 x8 slot since it offers the same bandwidth as a gen 1 x16 slot, but does performance dip since the card is only running on 8 lanes instead of 16? Does the decreased latency of gen 2.0 mitigate or negate this? Well, nevermind my last question. I just scrolled down and found a post with benchmarks of the P45 vs. the X38/X48.
 

killerroach

Junior Member
May 4, 2005
7
0
0
Another one for the storage medium list, as I see Blu-Ray isn't on there yet:
BD-ROM (x1): 36 Mb/sec, 4.5MB/sec

Also, DVD-ROM 1x is 10.5 Mb/sec (1.3125 MB/sec), not 11.1.
 

alaricljs

Golden Member
May 11, 2005
1,221
1
76
Originally posted by: lopri
When do you use bits and when do you use Bytes?

Beats me. Some are usually measured in bits and others are in Bytes. If you know the reason, please let me know. I will make sure to give credit.

Bits are only commonly used in transfer/communications speeds.

When Bytes are used in transfer speeds it means that the entire channel has been "specified".

As explanation: Ethernet is quoted in bits because the protocol on top of ethernet can do interesting things with the bits (error checking, data redundancy) that will lower the actual bandwidth. Many ways to manage the physical connection provided by ethernet: Wikipedia networking TMI.

Hyperthreading is fully specified from the hardware layer through the protocol layer (OSI model as an example for networking) and therefore the entire channel is known or as I said previously "specified" and all that overhead to ensure your data is whole is left out of that bandwidth number. You get the actual data throughput rate in those cases.