Upgrading the CPU in your computer is a great way to get much better performance for a relatively small outlay - spending $200 can make it perform as well as a brand-new $1000 system. Ebay allows you to find a suitable CPU for your system very cheaply, even if it's quite a rare type.
The problem with upgrading the CPU is that there are so many types - and not all will work in every system. If you're not already fairly confident about your ability to swap over components, you should probably take the PC to your local PC shop and ask them to do the upgrade for you.
When buying a CPU, the most important thing to know is what your mainboard (also called the 'motherboard') can support. If you open your PC, the mainboard is the big circuit board at the back of the case, with everything else plugged into it. Have a look on that for a manufacturer's name and model number, then put them into Google and see what comes up.
In the above picture, you can see that this is an "Asrock 939Dual-SATA2". The first Google result for that gives you all the relevant information.
Each mainboard has a specific type of socket (that's the square white thing in the picture above. The CPU plugs in there). This will determine the basic families of CPUs you can use. The socket type will be printed on the socket itself. For each socket, I'll list the CPUs you should be aiming for, in descending order (so aim for ones high on the list). Next to each, I'll list the core used for that CPU. The core essentially defines exactly which model a CPU is, within the general family (so a 'Gallatin' core, as listed below, is a specific model in the Pentium 4 family).
Socket 478 (mPGA478)
- Pentium 4 Extreme Edition (Gallatin core)
- Pentium 4-C (Northwood 'C' core)
- Pentium 4-E (Prescott 'E' core)
- Pentium 4-B (Northwood 'B' core)
- Pentium 4-A (Prescott 'A' core)*
- Pentium 4-A (Northwood 'A' core)*
* Both Northwood 'A' and Prescott 'A' are referred to as "Pentium 4-A" CPUs. Be careful when buying.
Socket 775 (LGA775)
- Pentium-D 900 series (Presler core)
- Pentium-D 800 series (Smithfield core)
- Pentium 4 Extreme Edition (Gallatin or Prescott 2M core)
- Pentium 4 6x3 series (Cedar Mill core)
- Pentium 4 6x2 series (Prescott 2M core)
- Pentium 4 6x1 series (Cedar Mill core)
- Pentium 4 6x0 series (Prescott 2M core)
- Pentium 4 5x1 series (Prescott core)
- Pentium 4 5x0J series (Prescott core)
- Pentium 4 5x6 series (Prescott core)
- Pentium 4 5x0 series (Prescott core)
- Pentium 4 5x5J/5x9J series (Prescott core)
- Celeron-D 352/356 series (Cedar Mill-512 core)
- Celeron-D 3x1/3x6 series (Prescott-V core)
- Celeron-D 3x0/3x5 series (Prescott-256 core)
Socket A (PGA462)
- Athlon XP (all cores)*
- Sempron (all cores)*
- Duron (Applebred core)
*With Athlon XPs and Semprons, there's not really a performance difference between cores - the model numbering system compensates for that. Any core will be good.
Socket 754 (PGA754)
- Athlon64 (all cores)
- Sempron (Palermo core)
- Sempron (Paris core)
Socket 939 (PGA939)
- Athlon64 X2 (all cores)
- Athlon64 (San Diego or Venice core)
- Athlon64 (Winchester core)
- Athlon64 (Clawhammer or Newcastle core)
Socket AM2 (PGA940)
- Athlon64 X2 (all cores)
- Athlon64 (all cores)
- Sempron (all cores)
An example: Let's say that you open your computer and find that the mainboard is an "Asus P4S533", which uses Socket 478. Going to the Asus CPU support page and typing in "P4S533" brings up six models; we just need the basic P4S533, so we'll select that. Now, from the list above, we can see that the most desirable Socket 478 CPU is the Pentium 4 Extreme Edition. Unfortunately, that's not on the list. Not are any of the Pentium 4-C or Pentium 4-E CPUs. However, the Pentium 4-B 2.4GHz is there. The Pentium 4-B 2.8GHz is actually there too - Asus just haven't listed the -B ending for it (don't worry too much about that. The 2.4GHz model would have been perfectly good). As a result, the Pentium 4-B 2.4GHz or 2.8GHz would be a fine upgrade for your current system.
If you're unsure about just what CPUs your motherboard will work with, try asking the seller - they might know.
The above is what is necessary for buying a CPU. If you want a more detailed explanation, see below.
Socket 478 is used by relatively old Pentium 4 CPUs. It has 478 pins, and the fastest CPUs available on this socket are 3.4GHz. Unfortunately, not all mainboards using Socket 478 will support the fastest CPUs. Check your mainboard manufacturer's website for support information.
Above: A standard Socket 478 mainboard.
Socket 478 CPUs come in many types. The earliest ones used the Willamette core. These are generally not well supported on modern mainboards, and they perform poorly. Maximum speed was 2GHz, and the Willamettes did not support HyperThreading (which is explained later). Mainboards supporting the Willamettes may also be able to support early Northwoods - these would be ideal upgrades.
The Northwood core was built on the 130nm manufacturing process, and they have a 512KB L2 cache. This gives them a significant performance boost over the Willametter cores. The fastest Northwoods ran at 3.4GHz. Early models used a 400MHz FSB (explained later); these were the "Pentium 4-A" series. The Pentium 4-B series used a 533MHz FSB, and the Pentium 4-C series used an 800MHz FSB. The C series also support HyperThreading, as does the Pentium 4-B 3.06GHz.
The Prescott core is the newest available on Socket 478. It uses the 90nm manufacturing process, but it isn't really any faster than the Northwood was. Most Prescotts are part of the Pentium 4-E series, which supports HyperThreading and an 800MHz FSB; some were also used for the Pentium 4-A series which use a 533MHz FSB and do not have HyperThreading. Both types (E and A) have 1MB of cache.
The Gallatin core is the fastest available on Socket 478. It is essentially a modified Xeon (server CPU), and is only used in the Extreme Edition CPUs. These cores have a 2MB cache for better performance; in other respects, they are much like the Northwood 'C' cores.
There are also the Celerons on Socket 478. Early Celerons used cut-down versions of the Northwood or Willamette cores, and had very poor performance. These all had a 400MHz FSB and 128KB of cache. More recently, the Prescott-based Celeron-D has become available with a 256KB cache and a 533MHz FSB. These are good performers and excellent value for money. Just make sure that your mainboard supports them.
Socket 775, also known as Socket T or LGA775, is a new design completely. Now the pins are on the socket - the CPU just has 775 round, gold pads on the bottom.
Above: A standard Socket 775 mainboard
Most LGA775 processors have used variants of the Prescott core. Initially these were the same as the Socket 478 ones (800MHz FSB and 1MB of cache), but using model numbers instead of listing the raw clock speed (520 = 2.8GHz; 530 = 3.0GHz). A later version enabled 64-bit support; these are the 5x1 series. The latest generation of Prescotts is the 6x2 series - these still have 64-bit capabilities, but also benefit from a 2MB cache to boost performance.
The Smithfield core is used for Pentium-D 800-series CPUs. It is effectively two Prescott 5x1 CPUs stuck together, and without HyperThreading support (HyperThreading is not really needed for dual-core CPUs). All except for the Pentium-D 805 use an 800MHz FSB; the 805 uses a 533MHz FSB.
The Cedar Mill core is much like a Prescott, but using the 65nm manufacturing process and having 2MB of cache. This allows it to run much cooler, and also boosts performance. All Pentium 4s based on the Cedar Mill have an 800MHz FSB, and all support HyperThreading. Cedar Mill cores take the model numbers 6x1 and 6x3, and run at up to 3.6GHz.
The Presler core is two Cedar Mill cores joned together, and is used for the Pentium-D 900-series. They run cooler than the 800 series, faster, and support a few extra features too. These would be an ideal upgrade for an old Prescott or Pentium-D 800-series system.
AMD CPUs, and a note on model numbers
Ever since the introduction of the Athlon XP, AMD has been using a Performance Rating system rather than listing the true speed. For example, the Athlon64 3000+ only really runs at 1.8GHz or 2GHz, depending on the type. Generally, AMD is pretty accurate - the Athlon64 3000+ is actually as fast as a Pentium 4 3GHz in most things, and quite a bit faster in some. The Athlon line is rated against Pentium 4s; the Sempron line is rated against Celeron-Ds.
Socket A was AMD's socket for the original Athlon, Athlon XP, Athlon MP, Duron, and some Semprons. It is also known as Socket 462. As with Socket 478, there are far too many combinations to list - so just check the mainboard manufacturer's website. Note that the Athlon MP is simply an Athlon XP which will work in dual-CPU configurations. It'll work fine in any normal Athlon XP mainboard.
Above: A standard Socket A mainboard
The original Athlon XPs used the Palomino core, which was based on the 180nm manufacturing process. It was produced in speeds from 1333MHz (1500+ rating) to 1733MHz (2100+ rating). These are a good option for old mainboards because they're likely to be supported. Palominos use a 256KB cache and have a 266MHz FSB.
The Thoroughbred core is like a Palomino on the 130nm manufacturing process - it runs cooler, and is available in speeds from 1400MHz (1600+ rating) to 2250MHz (2800+ rating). Unfortunately, they introduce the issue of FSB. While Palominos only ever used a 266MHz FSB, the Thoroughbreds use 266MHz or 333MHz. Older mainboards will only work with the 266MHz FSB models, which includes everything up to the 2400+ and some (but not all) of the 2600+ CPUs. For these mainboards, stick to the 2400+ as a maximum.
The Barton core was the fastest Athlon XP core - essentially like a Thoroughbred with 512KB of cache. These are used for CPUs from the 2500+ through to the 3200+, and use either a 333MHz FSB (for almost all of them) or a 400MHz FSB (for the 3200+).
The Durons made during the Athlon XP era use the Applebred core, and a 266MHz FSB. Duron speed is listed directly - a Duron 1800 runs at 1800MHz. They're good performers, and a Duron 1800 will generally be about as quick as an Athlon XP 1800+. Only three speeds were made: 1400MHz, 1600MHz, and 1800MHz. Any mainboard which supports Thoroughbreds will probably support Durons too.
Semprons for Socket A use the Thoroughbred and Barton cores. All use a 333MHz FSB except for the top-end 3300+ (which uses a 400MHz FSB). Because they're rated against Celeron-Ds, a Sempron 2800+ is significantly slower than an Athlon XP 2800+. Note that while the Socket 754 Semprons now support 64-bit instructions, the Socket A ones never have and never will.
Socket 754 is AMD's budget socket. It supports a few Athlon64s and all Socket 754 Semprons. Because there's a fairly small range, any Socket 754 CPU will work in any Socket 754 mainboard.
Socket 939 was AMD's top-end socket until a few weeks ago. As with Socket 754, all Socket 939 CPUs work with all Socket 939 mainboards. The only exception is for mainboards using the Via K8T890 chipset - these will never work with Athlon64 X2 (dual-core) CPUs.
Above: A mainboard supporting both Socket 939 (top) and Socket 754 (bottom).
The single-core Athlon64s were initially available as Clawhammer and Newcastle cores. Both use the 130nm manufacturing process. Clawhammers have 1MB of cache while Newcastles have 512KB. This is not generally an issue - the model numbers compensate for it. For example, the Clawhammer 3200+ on Socket 754 runs at 1.8GHz; the Newcastle runs at 2.0GHz to make up the performance difference.
The newer Winchester core is essentially a Newcastle on the 90nm manufacturing process. The Venice core is an updated version, adding SSE3 support and better RAM support. As a result, it's worth getting a Venice if you can. The San Diego is essentially a Venice with 1MB of cache - so it fulfills the role of the Clawhammer.
The dual-core Athlon64s (Athlon64 X2 series) are available as Manchester and Toledo cores. Model numbers can be confusing; the Athlon64 X2 3800+ is meant to be as fast as a Pentium-D 3.8GHz, not a pair of Athlon64 3800+ CPUs. Manchester has 512KB of cache per core; Toledo has 1MB per core.
Socket AM2 is AMD's new socket for all desktop CPUs. It has 940 pins, but it isn't compatible with the older Socket 940 (used for server CPUs). The greatest advantage of AM2 is that you can now use DDR-2 RAM with Athlon64s. If you're building a new system, Socket AM2 is the right option. All Socket AM2 CPUs are based on the 90nm process, and currently all Socket AM2 CPUs work with all Socket AM2 mainboards.
Above: A standard Socket AM2 mainboard
FSB (Front Side Bus) is what links the CPU to the mainboard. The CPU clock is determined by the FSB too (as a fixed multiple of the FSB). You should ensure that your mainboard and CPU support the same FSB.
Dual core CPUs are essentially two CPUs in one package. The result is excellent performance in tasks which can make use of two CPUs (such as video encoding) and also in general multi-tasking, without needing to pay for a dual-CPU mainboard, two CPUs, and software to use them.
Cache is a tiny bit of memory embedded in the CPU. It greatly aids performance, especially on Pentium 4 CPUs.
HyperThreading (HT) is a technology developed by Intel to make a single-core CPU act a bit like a dual-core one. It's not as good as a real dual-core, but it's worth having on a Pentium 4. Athlons have never used it, and Intel's next generation ("Core 2") will not use it either.