PC Hardware

PC hardware comes in a few distinct 'families'. There's a certain amount of mixing and matching. This article will discuss various parts of the PC, how they work together, and who makes them.

In this article I make several rather presumptuous statements regarding the probable fate of certain types of hardware. Since a FreeGeek is governed by consensus rather than fiat, these discussions may become points of discussion or contention down the line. If nothing else, our criteria for "what's good enough to keep / use parts from" is bound to constantly change along with the state of the art.

In the meantime, here's a freekiwiki link for reference to the sort of criteria Mothership is using: http://wiki.freegeek.org/index.php/System_Evaluation_1_Triage

=Cases and Form Factors=

Cases come in a variety of sizes and shapes. The most important aspect of a case is its "form factor". The form factor determines the size motherboard that will fit inside, as well as the allowable sizes and shapes of other components (5.25" drives don't fit well in a Mini-ATX case.)

See also: http://en.wikipedia.org/wiki/Computer_form_factor

Common PC form factors are ATX, and Micro- and Mini-ATX. Others are relatively rare.

Some manufacturers have historically used unusual form factors for their hardware. This is particularly prevalent among laptop computers. Desktop PCs have tended to become more standardized over time. These odd-form-factor PCs will generally not be reusable by us, though their RAM chips, add-on cards and other pieces may be reusable if the device is not too old.

=Motherboard=

Chipset
Motherboard chipsets control the systems of the motherboard, including:
 * 1) Memory controller
 * 2) IDE, SATA or other onboard storage bus
 * 3) PCI, AGP, PCI Express or other onboard expansion bus
 * 4) Onboard USB or other communication bus
 * 5) Onboard network, multimedia, or other embedded hardware

Typical chipsets are fairly common across different motherboard vendors, such as NVidia CK804 or Intel i915. The chipset determines many aspects of compatibility with Linux. Intel chipsets are famously well-supported. As for NVidia support, well, let's just say it's better than their video drivers.

Coreboot support is sensitively dependent on a motherboard's chipset.

CPU
As far as Ubuntu is concerned there are only two types of CPUs: i386 (32-bit) and amd64 (64-bit). PLEASE NOTE that Ubuntu 64-bit covers Intel's Core i-series as well as 64-bit AMD chips. It does NOT cover Itanium chips, which need the "ia64" kernel.

These two kernel varieties cover nearly all CPUs found in personal computers which we are likely to encounter and try to reuse / refurb. In fact, the 32-bit version alone covers nearly all of them.

Other PC processor architectures include m68k (Motorola 68000 up to 68060), ppc (PowerPC 601 up to 970) and maybe some Transmeta or ARM devices in laptops. Most of these arches are so old we will just recycle them (or perhaps sell them off to some crazy collector.)

RAM
http://en.wikipedia.org/wiki/RAM

RAM chips come in "Sticks". Modern RAM is mostly some flavor of DDR.

Use Memtest86+ to determine what sort of RAM is in use on the mobo you are testing. You can also sometimes use the BIOS Setup screens to get this information, but I don't trust BIOS to do the Right Thing. Also Memtest is sometimes quicker and also tests the RAM, which is a good thing to do on unfamiliar systems.

Once you have identified the pertinent RAM information (size, controller chipset, CAS timings) then you can identify which chips will fit into the slots without releasing their magic smoke (and often that of the board's memory controller.)

Unfortunately there is no easy, standardized way of identifying RAM sticks by looking at them. Rather than get into specific tricks here, I'll just dump a few links:

https://www.google.com/search?sourceid=chrome&client=ubuntu&channel=cs&ie=UTF-8&q=using+memtest+to+match+ram+sticks#hl=en&client=ubuntu&hs=x0F&channel=cs&sclient=psy-ab&q=how+to+read+ram+stickers&oq=how+to+read+ram+stickers

http://www.ehow.com/how_7264522_read-sticks-ram-memory.html

http://reviews.ebay.com/How-to-read-RAM-translate-product-codes?ugid=10000000004689629

Buses
This section refers to expansion buses, which house the slots used to add cards to the machine. Older expansion buses include ISA, EISA, Micro Channel, and a few others that escape me at the moment. Boards with any of these slots are probably meant for the recycle bin.

PCI
This is the standard expansion slot in modern computers. The great majority of expansion cards will be PCI cards. PCI is arguably obsoleted with the introduction of PCI Express, but I notice that new motherboards still come with PCI slots, so there.

http://en.wikipedia.org/wiki/Conventional_PCI has further information and pictures of typical PCI slots. They are fairly easy to identify.

AGP
This is a currently obsolete slot format developed specifically for graphics hardware. It comes in various speeds such as AGP4x or 8x. It's recent enough that we might still reuse or refurb a machine with AGP slots, especially if we have good AGP display cards to put in them. If nothing else, it frees up a PCI slot for something else.

http://en.wikipedia.org/wiki/Accelerated_Graphics_Port

It's easy to visually confuse AGP slots with PCIe slots. You can't fit a PCIe card in an AGP slot, so don't worry.

PCI Express
PCI Express or PCIe is a faster version of PCI and has effectively replaced AGP, having much higher data bandwidth than both. Despite the name, PCI cards will NOT fit a PCI Express slot.

http://en.wikipedia.org/wiki/PCI_Express has a picture of various PCI slots for comparison. You'll have to scroll about halfway down as of this writing.

PCIe slots often come in pairs, and can support a mode called SLI in which two identical (?) graphics cards can work together in some fashion. http://en.wikipedia.org/wiki/Scalable_Link_Interface has more information on this.

PCIe slots are often used for graphics cards, but can also be used for many other things like network cards and storage controllers.

The related min-PCIe standard is the most common expansion card type used in laptops today. A laptop motherboard will have at least one, often used for the wireless NIC.

Links between devices are composed of bidirectional lanes. Devices negotiate to use maximum mutually supported number. Lanes in a link correspond to slot width, and “x” sizes. x1, x4, and x16 are most common. Is actually switched, instead of bus topology like PCI. Connections between PCIe cards and processor or other cards are essentially full duplex, point-to-point, using full bandwidth of each lane. Up-plugging is plugging smaller card into a larger slot. Will function at lower card's lane multiplier if motherboard supports. Otherwise, will only function at x1.

Versions specify per-lane unidirectional bandwidth. Version 1.1 = 250mBps, Version 2.0 = 500mBps, Version 3.0 = 1000mBps. So, total bidirectional link bandwidth of a 2.0 x8 slot is 8gBps. A PCIe slot will run a card at the highest version/speed it is capable of.

=Plug-in cards=

These are cards that fit into one of the various expansion slots in the motherboard. There are a tremendous variety of these, for handling all sorts of tasks. The most common are display cards, with USB or Firewire adapters a distant second, nearly tied with Ethernet adapters. Add-on cards in general are becoming rarer over time as most commonly desired hardware is integrated into motherboards.

Display cards
It's still fairly common to run across motherboards which don't have integrated video (where "common" is still <50%). Most motherboard chipsets as of this writing do not perform good 3D acceleration under Linux; almost none of them perform adequately for modern games under any OS. Hence nearly any machine used for gaming will have an add-on display card. Add-on display cards will generally come with either an nVidia or ATI/AMD chipset, regardless of vendor or brand name. This chipset determines which Linux driver is needed. Both companies offer a binary blob under a proprietary license to run their latest and greatest hardware. Both companies support, after a fashion, an open-source effort to provide a Free driver for their older offerings. There is a separate effort to develop a Free driver for nVidia hardware - http://nouveau.freedesktop.org/wiki/

Sound cards
=Storage devices=

Storage devices are where data is kept when the computer is powered down, and where data that won't currently fit in RAM lives when the computer is on. Linux tends to maximize RAM usage by keeping as much data in RAM as possible in order to make things run faster (RAM accesses are about 1000x faster than spinning disks) and use less power.

Hard disks
By a "hard disk" I mean a sealed device with non-removable media. Usually one or more hard disks reside inside the computer's case. Some hard disks are installed inside a hot-pluggable "enclosure" that can be used with various computers. These are referred-to as "external" hard disks.

The term "hard disk" came into usage to distinguish them from "floppy disks", which were a form of removable media popular up to the mid-1990s.

SCSI
Small Computer Serial Interface. SCSI was an old interface type developed in the early 1980s. Early SCSI buses could handle up to 8 devices on one "channel" (typical SCSI interfaces had only one channel; some had more) at higher throughput rates than early competitors. They were also significantly more expensive, though the SCSI disks were sometimes on-par or cheaper as they did not require the extra drive-control circuitry integrated in IDE drives.

SCSI is significant to us today because the Linux kernel uses an abstraction layer which treats most block storage devices as logical SCSI disks- hence /dev/sda for devices, /dev/sda1 for partitions, etc.

IDE
IDE (Integrated Drive Electronics) was a cheaper interface standard popular from about the late 1980s until the early 2000s, largely killed-off by the introduction of SATA. Modern motherboards will still sometimes have an IDE interface. IDE interfaces are identifiable by their keyed rectangular 40-pin connector.

IDE buses typically offer two channels (primary and secondary) each of which can support two devices (master or slave).

SATA
Serial ATA. SATA is a more modern replacement for IDE. The connectors are smaller and the cables are thinner. SATA offers good backward compatibility between drives and interfaces, and significantly higher throughput than IDE. Some mechanical disks (and especially optical disks) are functionally incapable of saturating even the slowest SATA interface.

Mechanical drives
Mechanical hard disks contain a stack of parallel, concentric, circular platters, each coated with a magnetoresistive substrate. Low-level formatting "writes" circular tracks on these platters, which tracks are further divided into sectors. Information may be read to or written from the platter surfaces by electromagnetic "heads" mounted on short arms. The heads typically are suspended over the spinning platters, kept from contacting them by an aerodynamic "ground effect". For this reason mechanical drives are sensitive to shock. They are also sensitive to strong electromagnetic fields.

Solid state drives
Solid state drives (SSDs) come in a great many varieties. The largest subtype is called Flash Memory devices or NAND. These don't contain any moving parts and are tougher than mechanical drives, being less sensetive to mechanical shock. They generate less heat and consume less power, which makes them an excellent upgrade for laptops in particular. They can communicate with RAM much faster than mechanical drives, making it possible to boot to the operating system in under 10 seconds and making "loading" screens on programs significantly shorter. Their only major downside is that they're expensive, with less capacity per dollar than mechanical drives, though this is likely to improve in the future. Also, NAND devices lose a percentage of blocks per some number of read/write cycles, although this is not likely to measurably impact performance over the life of the device. A popular configuration for SSD's is to use one for the operating system and programs, while also using a cheaper mechanical drive with larger capacity for bulk data storage.

Optical drives
Optical drives (CD-ROM, CD-rewritable, DVD-ROM, etc) are removable-media drives. The medium is a 5.25" reflective disk covered in plastic. It is read to and (where possible) written to using a laser which bounces light off pits in the surface of the reflective disk. Optical drives were popular in the early 2000's but are losing ground in favor of small external SSD devices with integrated USB plugs ("key" or "thumb" drives.). Optical drives themselves can connect to the motherboard via internal IDE, SATA, or external USB and eSATA (rare) interfaces.

=Power supplies=

The power supply is that big metal box in the corner of the PC which is connected to the motherboard and all the components which are not directly attached to the motherboard (and several that are.) A typical power supply will have several Molex connectors (four-pin rectangular connectors with beveled corners on one long edge), some SATA power connectors (card-type rectangular female connectors with a right-angle bend at one end of the slot, like SATA data cables but wider) and at least one motherboard power connector. This last comes in a few different types and the motherboard may sport more than one of these types. Sometimes none of these connectors will fit the motherboard's power socket exactly, which is sad. Sometimes the motherboard will work anyway, sometimes not.

Power supplies come with a wattage rating. The higher the rating, the better (in general.) An underpowered PSU can result in mysterious hardware problems including spontaneous resets and power-downs. It can also result in more bizarre behavior generated by "brownouts". Most modern PCs will not run well with a 230W power supply.

It's fairly easy once you've identified the hardware in a given box to calculate its maximum power usage, though it is time consuming and requires a certain level of google-fu.

Common Desktop PSU Connectors:

PSU wires are called rails. Wattage = voltage * amps. Individual wires usually color coded by voltage. 3.3V orange, 5V red, 12V yellow, -12V blue, ground is black.

20-pin ATX P1 connector, primary motherboard power connector for ATX motherboards. Two 3.3V and two 5V pins, can provide about 20-30W total.

24-pin ATX P1 connector, newer ATX primary motherboard power connector. Adds a 3.3V, a 5V standby and two 12V pins on the “+4” part. Backwards compatible with 20-pin due to connectors that have a 20+4 arrangement (the 4 extra pins are on the same bundle of wires, but branch off onto their own plastic connector that can be left unplugged with a 20-pin P1 motherboard socket).

“12V rails” were introduced to provide extra power for modern Pentium 4 and later processors. Also known as processor power connector. ATX12V 1.0 standard introduced a 4-pin P4 connector with two 12V pins. EPS12V standard added an 8-pin connector with four 12V pins total to provide more power for multicore processors. Often branched into two 4-pin connectors for backwards compatibility with 4-pin ATX12V sockets (4+4 arrangement). Do not confuse with 8-pin PCIe connectors.

PCIe 6/8-pin. Plugs are often 6-pin with 2 extra optional pins to form an 8-pin connector. Compatible with 6-pin or 8-pin motherboard PCIe sockets due to 6+2 arrangement. PCIe cards receive power from mobo also, 75W for graphics cards, 25W for non-graphic. 6-pin PCIe connectors add (75x3) + 75 for 300W total with a graphics card, for example. 8-pin adds (150x3) + 75 for 525W maximum. Probably use 12V pins...

SATA power connector is 15-pins. Only 3 pin triplets are actual power pins, 3.3V, 5V, and 12V, all at 1.5 amps per triplet. ~30W total. Other two triplet’s pins are ground or other functions. For SATA drives only.

Molex/standard peripheral power connectors, 4-pins, 5V, 12V, and two ground. For IDE and older SCSI drives. 5-15W IDE, 10-40W SCSI.

Floppy/Berg/Mini-Molex connectors. 4-pins, 5V, 12V, and two ground. ~5W total. For floppy drives only.

Note, proprietary connectors not mentioned also exist. They mainly exist so people have to buy replacement parts from the manufacturer.

Note, pre-ATX power connectors might be found on old computers (early-mid 90's?) were 6-pin P8 and P9 AT connectors. Went into adjacent slots and could be switched, causing damage. Facing black ground leads at one another was a rule of thumb to prevent this.