Build A PC

A custom PC configuration guide. © 2000,2001,2002,2004 by Jef Poskanzer.

Bandwidth

The essence of a computer system is moving data around. If you don't have enough bandwidth at some point along the path you need to move your data, you'll have a bottleneck, a limit on your system's performance. To avoid such bottlenecks you have to understand your system's bandwidth capabilities.

The following table shows the maximum bandwidths for a bunch of different interfaces that might be in your system, sorted by speed. These bandwidths are theoretical - the actual data transfer rates will be somewhat lower. In particular, memory typically transfers at maybe half its interface speed, and disk drives generally don't even come close to their interface bandwidth. To get the actual transfer rates you have to do benchmarking, which is hard. Still, the theoretical numbers are useful for rough estimates.

Key:
Memory Bus Disk Network Other
Interface Bandwidth
Interface Width Frequency Bytes/Sec Bits/Sec
4-way interleaved PC1600 (DDR200) SDRAM 4 x 64bits 100 MHz DDR 6.4 GB/s 51 Gbps
Opteron HyperTransport memory bus 128bits 200 MHz DDR 6.4 GB/s 51 Gbps
Pentium 4 "800 MHz" FSB 64bits 200 MHz QDR 6.4 GB/s 51 Gbps
PC2 6400 (DDR-II 800) SDRAM 64bits 400 MHz DDR 6.4 GB/s 51 Gbps
PC2 5300 (DDR-II 667) SDRAM 64bits 333 MHz DDR 5.3 GB/s 43 Gbps
Pentium 4 "533 MHz" FSB 64bits 133 MHz QDR 4.3 GB/s 34 Gbps
PC2 4300 (DDR-II 533) SDRAM 64bits 266 MHz DDR 4.3 GB/s 34 Gbps
2-channel PC1066 RDRAM 2 x 16bits 533 MHz DDR 4.3 GB/s 34 Gbps
PCI-X 533 64bits 533 MHz 4.3 GB/s 34 Gbps
PCI-Express x16 serial/16lanes 2.5 GHz 4 GB/s 32 Gbps
Pentium 4 "400 MHz" FSB 64bits 100 MHz QDR 3.2 GB/s 25.6 Gbps
2-channel PC800 RDRAM 2 x 16bits 400 MHz DDR 3.2 GB/s 25.6 Gbps
2-way interleaved PC1600 (DDR200) SDRAM 2 x 64bits 100 MHz DDR 3.2 GB/s 25.6 Gbps
PC2 3200 (DDR-II 400) SDRAM 64bits 200 MHz DDR 3.2 GB/s 25.6 Gbps
PC3200 (DDR400) SDRAM 64bits 200 MHz DDR 3.2 GB/s 25.6 Gbps
PC2700 (DDR333) SDRAM 64bits 167 MHz DDR 2.7 GB/s 21 Gbps
PC2100 (DDR266) SDRAM 64bits 133 MHz DDR 2.1 GB/s 17 Gbps
AGP 8x 32bits 533 MHz 2.1 GB/s 17 Gbps
PCI-X 266 64bits 266 MHz 2.1 GB/s 17 Gbps
PCI-Express x8 serial/8lanes 2.5 GHz 2 GB/s 16 Gbps
EV6 bus (Athlon/Duron FSB) 64bits 100 MHz DDR 1.6 GB/s 13 Gbps
PC1600 (DDR200) SDRAM 64bits 100 MHz DDR 1.6 GB/s 13 Gbps
PC800 RDRAM 16bits 400 MHz DDR 1.6 GB/s 13 Gbps
PC150 SDRAM 64bits 150 MHz 1.3 GB/s 10.2 Gbps
10 gigabit ethernet serial 10 GHz 1.25 GB/s 10 Gbps
OC-192 serial 9.953 GHz 1.24 GB/s 9.953 Gbps
133 MHz FSB 64bits 133 MHz 1.06 GB/s 8.5 Gbps
PC133 SDRAM 64bits 133 MHz 1.06 GB/s 8.5 Gbps
AGP 4x 32bits 266 MHz 1.06 GB/s 8.5 Gbps
PCI-X 64bits 133 MHz 1.06 GB/s 8.5 Gbps
PCI-Express x4 serial/4lanes 2.5 GHz 1 GB/s 8 Gbps
100 MHz FSB 64bits 100 MHz 800 MB/s 6.4 Gbps
PC100 SDRAM 64bits 100 MHz 800 MB/s 6.4 Gbps
PC66 SDRAM 64bits 66 MHz 533 MB/s 4.3 Gbps
fast/wide PCI 64bits 66 MHz 533 MB/s 4.3 Gbps
AGP 2x 32bits 133 MHz 533 MB/s 4.3 Gbps
single-link DVI 12bits 165 MHz DDR 495 MB/s 3.96 Gbps
Ultra-320 SCSI 16bits 160 MHz 320 MB/s 2.6 Gbps
OC-48 network serial 2.488 GHz 311 MB/s 2.488 Gbps
AGP 32bits 66 MHz 266 MB/s 2.1 Gbps
PCI-Express x1 serial 2.5 GHz 250 MB/s 2 Gbps
Serial ATA/1500 disk serial 1.5 GHz 187 MB/s 1.5 Gbps
Ultra-160 SCSI 16bits 80 MHz 160 MB/s 1.3 Gbps
OC-24 network serial 1.244 GHz 155 MB/s 1.244 Gbps
PCI 32bits 33 MHz 133 MB/s 1.06 Gbps
ATA/133 disk 8bits 66 MHz DDR 133 MB/s 1.06 Gbps
gigabit ethernet serial 1 GHz 125 MB/s 1 Gbps
ATA/100 disk 8bits 50 MHz DDR 100 MB/s 800 Mbps
IEEE 1394b serial 800 MHz 100 MB/s 800 Mbps
Ultra-2 Wide SCSI 16bits 40 MHz 80 MB/s 640 Mbps
OC-12 network serial 622.08 MHz 77.7 MB/s 622.08 Mbps
ATA/66 disk 8bits 33 MHz DDR 66 MB/s 533 Mbps
USB-2 serial 480 MHz 60 MB/s 480 Mbps
IEEE 1394 serial 400 MHz 50 MB/s 400 Mbps
Ultra Wide SCSI 16bits 20 MHz 40 MB/s 320 Mbps
ATA/33 disk 8bits 16.6 MHz DDR 33 MB/s 266 Mbps
Fast Wide SCSI 16bits 10 MHz 20 MB/s 160 Mbps
OC-3 network serial 155.52 MHz 19.4 MB/s 155.52 Mbps
100baseT ethernet serial 100 MHz 12.5 MB/s 100 Mbps
OC-1 network serial 51.84 MHz 6.5 MB/s 51.84 Mbps
T-3 network serial 45 MHz 5.6 MB/s 44.736 Mbps
USB serial 12 MHz 1.5 MB/s 12 Mbps
10baseT ethernet serial 10 MHz 1.25 MB/s 10 Mbps
IrDA-2 serial 4 MHz 500 KB/s 4 Mbps
T-1 network serial 1.5 MHz 193 KB/s 1.544 Mbps

Key:
Memory Bus Disk Network Other

Data transfers are mostly between memory and CPU or peripheral devices, so I've colored the table accordingly. You can use this table to spot possible bandwidth bottlenecks. For instance, if you're planning a high-end web server with a gigabit ethernet interface, your transfers will be from disk through PCI to memory, and from memory through PCI to ethernet. If you give the system enough memory, the disk to memory transfers will be minimized, so most of your data will be going memory->PCI->ethernet. You can easily see that memory bandwidth will not be a bottleneck; however, regular PCI has just barely more bandwidth than gigabit ethernet, so that could be a problem. If possible, you should configure your system with 64-bit 66 MHz PCI, and be sure your gigabit NIC supports it too.

The number of bits of an interface is relevant because the cost of manufacture goes up with the number of pins or wires. Also on crowded motherboards it's easier to fit narrower interfaces. This is why at first there were dual-channel RDRAM boards but few dual-channel SDRAM boards. Of course these days we're starting to see quad-channel DDR boards.

The frequency of an interface is relevant because chip and signalling technology imposes an upper limit. For signals on a circuit board, the 400 MHz of PC800 RDRAM is probably the maximum. For cables from a motherboard to a peripheral, the 80 MHz of Ultra-160 SCSI is probably the maximum. DDR (double data rate) is a hack that sends bits on both the rising and falling transitions of the clock, and can be used to increase the data rate without increasing the clock frequency. I've heard QDR - quad data rate - mentioned, but I don't see how that could work!


[Intro] [CPUs] [Sockets] [Chipsets] [Motherboards] [Motherboard Forms] [Memory] [PCI Types] [Disks] [Other Components] [Examples] [Assembly] [Links]
Back to ACME Labs.