# Cpu 101 - Needs Updating



## Praetor

*CPU 101*

Contents
1. Definitions
2. How to pick a processor? FAQ
3. Reccomendations
4. Official Crap
5. Commentary: AMD vs Intel (by apj101)


----------



## Praetor

*Section 1 - Part 01*

Section 1 - Definitions
*CPU*
Central Processing Unit, this is effectively the brains of the computer and it is this that performs all the calculations that allow the computer to function. It is also referred to as _processor, proc or chip_

*Core *
If referring to the name of the processor or the architecture the core of the processor refers to the under-the-hood name of the CPU. As a similar analogy, wheres a processor may liken to "pickup truck" or "car" (or even a specific make and model), the core would like to "V8" or "HEMI" or something as such. To add to the confusion, there are subtimes revisions of cores and often in common computer speak, core names may even be shorted down. A quick list of some cores past present and future:
*Intel*: Deschutes, Covington, Mendocino, Katmai, Coppermine, Willamette, Northwood A, Northwood B, Northwood C, Banias, Dothan, Gallatin, Prescott, Cedar Mill, Smithfield, Presler, Dempsey, Paxville, Tulsa, Millington, Montecito, DP Montrale, Montrale, Millville, Whitefield, Dimora, Tukwila, Allendale
*AMD*: Spitfire, Applebred, Morgon, Thunderbird, Palomino, Thoroughbred A, Thoroughbred B, Thorton, Barton, Roma, Georgetown, Albany, Palermo, Newcastle, Winchester, Paris, Venice, San Diego, Clawhammer, Toledo, Denmark, Troy, Egypt​The core name may also be referred to as the _codename_ of the processor. Please note the above is a brief list of examples, not a complete list of all available cores.

*Core Clock, FSB*
The core clock is an indication of the speed of the signals entering the processor (i.e., think of it as the speed of the socket the CPU plugs into). This number (sometimes referred to as the front-side-bus or FSB speed) is a number that has significance to overclockers. As of this time of writing, valid (stock) core/FSB clock values are 100, 133, 166, 200 and 266MHz. When buying a CPU/mobo, often the packaging is purposefully deceptive and you will see stuff like FSB800 or FSB1066 or something to that effect. Those numbers are not the FSB but in fact, are the BUS speeds.

The net clock speed of the processor (so for instance with a Pentium4 550 or an Athlon64 3500) is a product of that core/FSB clockspeed multiplied by a scalar. So we have:
Pentium4 550 = 200MHz x 17.0 = 3400MHz
Athlon64 3500 = 200MHz x 11.0 = 2200MHz​
*Multiplier, Divider*
- Multipliers are the constants we multiply the core/FSB speed by to get the net CPU clock speed. Unless we are dealing with a processor where the multiplier is unlocked, the only way to alter the net clock speed is to change the core/FSB speed. For some processors (like the Athlon64 series), the multiplier isnt entirely locked but rather it is only_up-locked_. What this means is that you cannot increase the multiplier (i.e., you cannot get performance you didnt pay for) but you can however lower the multiplier (for purposes of reducing heat or power consumption etc)
- With the case of AMD's K8 based (or in the future, similar) processors where the memory controller is contained on the CPU (rather than traditionally on the motherboard itself), there is an additional constant known as the divider. The divider is what we divide the net clock speed by to get the memory clock speed. To add to the complication, determining the divider depends on yet another ratio (which will be covered more indepth in the overclocking 101)

*Process*
Processors a designed from tiny transistors and connecting those transistors togrther are tiny little wires. The process refers to the width/thickness of those wires measured either in microns or nanometers. The smaller the process [size], the more advanced the design. Common process sizes are 130nm (0.13) and 90nm (0.09)

*BUS*
- When referring to the physical infrastructure of the computer, the BUS literally refers to the copper traces on the motherboard connecting everything with everything else.
- When referring to an architecture design, the BUS refers to groupings of the previously noted copper ttraces. They are grouped by functionality and family (i.e., AGP bus caters to video, PCI caters to general peripherals, RAMBUS to memory etc). Another architecturally inspired (and equally common) definition refers to the type of interconnect that exists between the core components of a computer (CPU, memory, video etc). In the case of the latter definition, the two common typers of BUSes used are the front-side-bus and the hypertransport (aka lightning data transport)
- When referring to a "speed" or sorts (i.e., BUS speed), the BUS speed is,for Intel, four times the core clock speed and for AMD, up to ten times the core clock speed.

*Sockets*
You cant just take any processor and plug it into any board -- it has to fit -- and there are different interconnects (which are incompatible with each other however for some there are adapters). In common converse, "socket" may be reduced to "S" or "SKT". There are an ungodly number of exceptions to this rule (especially with Intel processors -- anyone who's dug around with OPNs will know)

 Socket 423 = This was the initial socket interface used by Intel's Pentium4s when they debuted. Discontinued.
 SocketA/Socket462 = This is a 462 pin connection used by AthlonXP/Duron/Sempron series processors. This has recently been discontinued
 Socket478 = A 478 pin connection used by a good number of Intel's Pentium4/Celeron lineup and has only been recently phased out
 Socket479 = This is a 479 pin interface used by Pentium M and Celeron M (both are mobile) processors
 Socket603/Socket604 = This is a 602 pin, Intel Xeon interface
 Socket754 = A 754 pin interface used by some of AMD's Athlon64 and Sempron lineup. Anything using this configuration will not support dual channel memory.
 Socket775/SocketT/LGA775 = A new interface used by modern Intel Pentium4/PentiumD/CeleronD processors, this is a slightly backwards interface which has the pins on the board and the sockets on the chip instead of the reverse as we've all come to love
 Socket939 = This is the mainstream AMD Athlon64 interface and anything using this will support dual channel memory access
 Socket940 = Originally used as a AMD Athlon64 interface as well as the AMD Opteron setup, this configuration has since been relegated to Opteron processors only and does support dual channel memory This configuration requires fancy registered memory

Continue to Part 02


----------



## Praetor

*Section 1 - Part 02*

*HyperTransport, Lightning Data Transport*
Implemented on AMD K8 series processors, this is, for all intents and purposes a bidirectional FSB but is clocked significantly higher. The base clock for the HyperTransport is 200MHz and the multiplier's go up to five. Factor in the principle of DDR and you get a maximum net effective hypertransport clock of 1000MHz (2000DDR). Naturally, marketers will often write this as FSB1600 or FSB2000 however this is incorrect as the actual clock speed is still half of that (marketers forget that DDR only means "effective") and that HyperTransport and Front-Side-Bus are mutually exclusive. Intel platforms do not have support for HyperTransport.

*PCI-X, PCIe, PCIx1, PCIx16, PCI,  AGP etc*

*PCI*. This is the most primative of the bunch. It's a 32bit, 33MHz interface with a throughput capacity of 133MB/s. (33Mhz x 32bits / 8bits-per-byte = 133MB/s)
*64bit PCI*. This is tha 64bit implementation of PCI and has a throughput capacity of 266MB/s and  533MB/s. (33MHz or MHz x 64bits / 8bits-per-byte = 266MB/s or 533MB/s)
*PCI-X*. PCI-X is a backwards compatible (compatible to PCI) interface which just essentially offers an increased throughput capacity. Currently found on server boards, its throughput capacity is 1.06GB/s,  2.1GB/s and 4.3GB/s (for PCI-X, PCI-X 266 and PCI-X 533 respectively)
*PCI Express*. Formerly known as 3GIO, also denoted as PCIe, this is an extremely highspeed serialized interface. The individual serial lanes can be grouped together and when done as such, they are denoted as PCIxN where N is the number of lanes that are grouped together. Each lane is capable of 250MB/s
*AGP*. A 66Mhz 64bit variant of the PCI bus, AGP was designed purely to facilitate the bandwidth requirements of newer and newer videocards. Several revisions of AGP are available with throughput capacities of 266MB/s, 533MB/s, 1066MB/s, and 2133MB/s respectively

*Hyperthreading*
Hyperthreading is an innovation made by Intel designed to facilitate and assist the execution of multiple threads. For most consumer applications this translates to an _improved_ multitasking experience however marketers tend to like to "suggest" that it is like having twice the processing power -- which it is not. It should also be noted that Hyperthreading really only shines through when multiple CPU-intensive tasks are executing simultaneously.

*Dual/Multi Core*
A recent craze, Dual and multi core processors are, for all intents and purposes, "two processors inside one convenient package". Each processor will have independent access to cache and stackspace; by having multiple cores the processor as a whole can deal with multiple threads of execution (i.e., multiple applications, multiple instructions etc) without any [significant/measureable] overhead (i.e., Dual Core processors are what marketers hype-up HyperThreading to be)

*OPN*
Order Product Number, this is the funky code number written on processors that identify its make and model unqiuely. For AMD processors, you can read this right off the chip while for Intel chips, identification software is required to read this. While this kind of information isn't entirely useful to the majority of consumers out there,
- For those buying AMD chips, it helps to be able to verify that you are indeed getting the processor you want
- For overclockers and such you can hunt down information about your specific core etc​*Performance Rating (PR)*
In recent times, originally introduced by AMD (with their AthlonXP processors) as a means of expressing, as the name suggests, the performance of a given processor. Naturally consumersincorrectly drew a parallel between the PR of the AthlonXP processor and some Pentium4 processors (granted this was one of the reasons AMD utilized such a PR schema and it worked brilliantly). 

Of course AMD isn't the only culprit of this "confusion" (granted it's only confusing because people insist on trying to form a direct correlation between AMD's PR and Intel's Pentium-Rating, also denoted PR) but Intel has also shifted to using an indexed scale for processor designation starting with their S775 processors.

*Cache*
Cache is essentially, a chunk of very high speed memory available exclusively to the processor for storing very commonly accessed data. When the CPU is looking for an instruction/data and it is found in the cache, that is known as a _cache hit_. There are several types of cache:

 L1 Data and L1 Trace (collectively known as L1), this type of cache is usually quite small (small on AMD processors and tiny on Intel) and is the first place the CPU looks for information. Due to its small size and the variance of instructions/data available, cache hits in L1 are not a performance bottleneck
 L2 cache is the most marketed cache and is big enough to actually influence the performance of the processor with budget processors cheaping out on the amount of L2 cache available. Although "the more L2 cache available, the better", also note that the more cache they cram onto a processor, the slower and less efficient it becomes and the more the cache becomes dependent on optimizations designed to improve cache hits
 L3 cache is essentially, another type of L2 (but slower still) and is reserved for storing a (relative) whack of data somewhat close to the CPU. L3 cache was available only on select models of the Intel Pentium4 Extreme Edition and has since been discontinued in favor of a larger L2 cache.

*Pipeline*
Much like an assembly line, processors breakdown the execution of an instructions into stages:

 The more stages available, the simpler each stage becomes and the faster each stage executes. The downside is however, if nearing the end of the 'assembly line' something "wrong" happens, the entire thing has to start over (thus the processor becomes heavily dependent on predictors and optimizations to prevent this from happening). Also, the more stages available, the faster the overall clockspeed can be.
 For a processor with few[er] stages in the pipeline, the processor is far more efficient and is able to complete the same amount of work with fewer clock cycles and also the other side of the worst-case pipeline-scenario: if something "wrong" happens near the end of the pipeline, fewer stages need to be re-traversed. The only downside is that net clockspeed is limited (because with fewer individual stages, each stage is more complex than the longer-pipeline variant and you can only rush it so fast)

*Cooln'Quiet, SpeedStep/EIST*
Originally developed for mobile platforms, Intel and AMD realized that running a processor at full blast 24x7 meant that (a) the processor tended to overheat and that power-consumption was maxed out. Thus several approaches were developed to deal with this (and then transitioned to the desktop market). All these approaches do essentially the same thing: when CPU power isn't required, the processor throttles itself down to reduce power consumption and heat production (it automatically throttles itself back to full speed when that speed is required)

*64bit, AMD64, EM64T*
Generically this describes processors capable of operating in 64bit mode (using a 64bit operating system etc). As the names suggest, AMD64 refers to the 64bit extensions (extensions of the x86 set of assembly level instructions) and EM64T is the Intel equivalent. Naturally, one can only make use of 64bit mode with 64bit hardware and a 64bit operating system

*NX/XD Support *
AMD's No-eXecute and Intel's eXecute-Disable refer to equivalent features that are designed to, with support from an operating system like WindowsXP (with SP2), limit the effectiveness of buffer overflow errors.

*Centrino*
Commonly mistaken as an actual processor or something, Centrino is just a wireless chipset _associated_ with two mobile processors: the Intel Pentium M and the Celeron M.


----------



## Praetor

*Section 2 - Part 01*

Section 2 - How to Pick a Processor? FAQ
_The quick and dirty answer is "For singlecore, AMD for gaming. Intel for non-gaming. For multicore, AMD unless you're approaching the point of firing up 12+ full CPU threads simultaneousl. In that case, go Intel ... and if you have to ask if you're firing up that many ... you're probably not.". Granted this is by far not an absolute law, it's quite good enough._​
That being said there are some commonly asked questions and ideas that should be addressed. Again, do realize many of these are not set-in-stone but rather, are more like guidelines and questions to address before making that final decision. For the most part, this section will not pertain to mobile chips although I may add something about using mobile chips in a desktop environment if i get around to it.

*AMD or Intel?*
Ah the age-old question. If the above general rule of thumb wasn't good enough for you there are some considerations to take and some comments worth mentioning:

If you're considering something like a Pentium4 560 -- sure you wont get the same framerates as a FX55 but you wont notice in either case and if you do intend to do things other than just gaming, perhaps the Intel route might be wiser as Intel is generally stronger in non-gaming environments. Needless to say, when comparing processors (1) compare similarly classed processors (i.e., dont waste time comparing a FX55 to a Celeron) and (2) dont compare processors you dont really intend to buy (cuz sure that FX55 looks super nice but it doesnt mean your Sempron 2400 is gonna be a gaming beast)
 There is very little sensible argument for buying the absolute best processor anybody has to offer. Granted the cost generally acts as an inhibitor (although it seems to only inhibit people from buying them but it hasn't yet impacted people who dont know the first thing about computers from talking like they know something). Granted if you are just looking for the absolute best of the best sure that's where you should be looking but also do realize that those extra 200MHz or whatnot aren't going to add an extra 6months to the lifetime of the CPU or anything
 If you're not the type to run half-a-billion things at once, all of them CPU intensive then Hyperthreading isnt gonna mean a whole lot to you -- and if you are the type that does that -- Hyperthreading isnt going to help a whole lot (but it will help)
*"Surfing the internet", "Checking email", "Burning CDs", "Watching movies", "Listening to music", "Using Word" and such do not qualify as CPU intensive tasks.* Gaming, movie encoding, statistical analysis etc -- that's CPU intensive. Now of course if you've got 4 movies open, are trying to seed to 5000 clients on bittorrent while simultaneously doing a on-the-fly DVD burn -- that's CPU intensive -- but you already knew that.
 If you are looking to overclock, AMD is generally the route to go (although one could give an equally strong argument in favor of Intel) due to more flexibility with multipliers. Of course with K8 based processors, the increase finickyness with memory dividers may be a turnoff but then again if you're looking to do overclocking, finicky shouldn't be a problem.
A 200MHz OC wont be noticeable by anything but benchmarks. And while I'm on the topic of benchmarks: unless you're in the ballpark of getting an extra 800MHz or so from your processor (at which point you generally know what you're doing and probably wont be reading this), then do realize that benchmarks and realtity are two different worlds and that just because you got ##### 3dmarks wont mean you'll get ### fps in "Game X". Of course this doesn't mean that benchmarks are worthless. I guess the pojnt is that benchmarks should be taken with a grain of salt: beating a configuration by 1fps (a) wont be noticeable and (b) isnt significant enough to be statistically worthy

 I guess a refined general principle is that *"For anything that is memory bandwidth dependent, AMD is the route to go. For tasks that are sensitive clock-speed or require multiple threads of execution, Intel is the route to go"*. Some examples:
 Purely gaming machine.... AMD
 Purely office machine (i.e., Microsoft office, email, etc) .... whatever is cheaper. General office applications, even in a multitasked environment dont stresss a system hard enough that Hyperthreading is and advanatage
 Video editing platform .... Intel (unless you plan to use a high end AMD setup in a 64bit environment at which point AMD processors should be at least considered)
 A general purpose family machine .... whatever is cheaper (unlikely that end-users are going to be running numerous heavy duty applications simultaneously negating the advantage of HyperThreading/Intel and also unlikely that the videocard will be good enough that the CPU is a bottleneck thus eliminating the advanatge of on-die-memory controller/AMD).
 Hardcore overclocker ... you wont be reading this nor need to. 
 Home Theater .... whatever is cheaper (again, HyperThreading and on-die-memory controller arent advantages)
 A mostly school machine with some gaming ... again like the general family machine: it wont matter all that much.
 A serious work machine ... generally speaking Intel however two exceptions come to mind (1) video operations in a 64bit environment or (2) statistical analysis


*Will I notice an improvement if I upgrade from X to Y?*
- Make sure that your upgrade is possible (or that you will buy the required hardware).... trying to pop an Athlon64 onto a S478 motherboard isn't going to work. Also, more commonly a case with Intel processors: if you're current motherboard supports a 133MHz FSB (sometimes denoted as 533) and you are planning to upgrade to a 200MHz FSB (again denoted as 800) -- make sure you also upgrade the motherboard too otherwise your processor wont be running as expected - for example:
Mobo = 133MHz FSB (max)
Original CPU = Intel Pentium4 2.53GHz  (133x19.0)
New CPU = Intel Pentium4 3.2GHz (200x16.0)
Now if you plug this new CPU into the board it will be running at 133x16.0=2.13GHz (because you can't change the multiplier). To get the full 3.2GHz, you will need a motherboard that supports a 200MHz FSB (sometimes marked at 800MHz)
- That being said, if you are staying within the same socket interface and processor core, anything short of a 400MHz (or 400PR points for AMD chips) improvement wont really be noticeable (i.e., an Athlon64 2800 to Athlon64 3000 wont yield earthshattering performance leaps and bounds and neither will a P4C-2.8 to P4C-3.0). Of course the "400" is an arbitraily assigned number but it conveys the point that a single jump wont make a difference. Now if you are comparing between platforms or cores or interfaces, things get too complicated to generalize rules

*Buy Dual Core?*

 Firstly, if you're considering Intel dual-core, only i945 and i955 (and later) motherboards. For AMD processors, you'll need a 939 or 940 pin motherboard and in some cases, a BIOS update to support the second core
 Well if you're considering the _Pentium Extreme Edition_ or _Dual-Core Opterons_ then you probably already know exactly what you are looking for and why. These two processors are designed for the server market (do realize the Pentium Extreme Edition and Pentium 4 Extreme Edition are different classes of processors: the former is a server processor, the latter an enthusiast-consumer processor). Regardless, it should be noted that these processors will take a chunk out of your budget either directly from the chip and/or from the cost of supporting components (i.e., motherboard)

The Pentium Extreme Edition has two physical cores with Hyperthreading available on each core which, in principle, means the processor can handle up to four concurrent threads simultaneously. The dual-core opteron however, has two cores but no Hyperthreading so it is only able to deal with two threads concurrently. Naturally quirks with the design of the processor does not mean the Pentium Extreme Edition is the hands-down superior processor between the two: selection should be evaluated on a case by case basis
 The Pentium D series of processors is identical to the Pentium Extreme Editions with the exception that it has no hyperthreading and as such can only deal with two threads simultaneously -- just like the Athlon 64 X2. Between the two, the Athlon 64 X2 is a superior processor -- however it reflects in the costs
 Generally Dual Core is not a [financially] feasible route for many people right now (being new technology, the price tag will reflect this). Ironically enough the exception is the Pentium D series: the lower end processors are clearly within the price bracket of midranged single processors so definitely an option there

Continue to Part 02


----------



## Praetor

*Section 2 - Part 02*

*I'm getting a X, what are some more considerations I need to know about?*

 Socket754 configurations do not support dual channel so no matter who tells you otherwise or how hard you try, you wont get dual channel. Now whether dual channel means all that much or not, see the *RAM 101*.
 See the comment about about matching FSBs for Intel processors. A similar scenario applies to AMD chips but with fewer occurances of problems
 You may also want to consider buying a new power supply capable of handling the power demands of a new processor. See the PSU101 for relevant information
 If you plan to do any overclocking or really heavy CPU stuff: an aftermarket cooling solution (be it forced-air, water, exotic etc) should be a consideration
 If you are upgrading a CPU, make sure you clean off the old thermalpaste before adding new stuff on -- and dont add too much -- too much thermal goop is actually [potentially] worse than too little
 While you may be lucky enough not to have to format the system, you probably should
 If you are getting a Socket775 or nForce4 based system, you will have to have a PCI-Express video card which may be an added expense (of course the exception is an i865 based S775 board which is AGP)
 When installing everything, make sure you connect the 4-pin ATX12 cable to the motherboard, failing to do so will mean the boot process wont happen (a picure of this cable is in the PSU101)
 Some S775 configurations only accept DDR2 memory so that may be an added expense

*MMX, MMX+, 3DNow, 3DNow+, SSE, SSE2, SSE3, etc*
These are generic instructions available by processors (some processors support them some dont) which, for all intents and purposes, improve multimedia functionality. Do note that while SSE3 is cool, it's does not offer as big a peformance delta from SSE2 as SSE2 offered in comparison to SSE. (i.e., it'd be nice to have but it shouldnt be the primary make-it/break-it decision maker)

*How important is cache?*
Tough question to answer so generally but I would say, for Intel setups with their massively long pipelines, the amount of cache available to a processors is very important whereas it's not nearly as critical for AMD folks. This is illustrated by the performance deltas between a Pentium4 and its related Celeron (i.e., its quite noticeable). Now for AMD folks, a similar scenario exists for AthlonXP/Duron (although no where as bad) and to a much less noticeable degree, Athlon64 FX and Athlon64.

Again more of an Intel issue, the performance deltas from increased cache need to be taken with a grain of salt if (a) the cache is slowed (i.e., the L2 cache on Prescotts featuring 2MB of L2 is 17% slower than their 1MB counterparts) and (b) if the core itself undergoes a change (going from NorthwoodC to Prescott adds an extra 512K or L2 cache, the Prescott architecture is significantly less efficient).

*DDR2?*
- No AMD setup as of yet supports DDR2. And no it's not backwards compatible.
- DDR2 for the most part is not better than DDR. Only when you buy fancy, _fancy_ DDR2 memory do you start really pulling away from DDR.


----------



## Praetor

Section 3 - Recomendations
Naturally it's important to preface this section by suggesting that (1) these are only suggestions rather than absolute rules and (2) given market fluctuations and price variances, by the time anyone reads these suggestions, they will be horribly obsolete  With that being said let's tackle some issues. If you are looking for specific model suggestions, have a look at a short list here ... for more generic (and thus, less obsolecent-prone) suggestions, read on.

*Single vs Multi-Core*

 If you didnt read above where I commented about dual and multi core configurations, now would be a good time to do so. Regardless, if you are trying to decide between say an Athlon64 FX series processor and a Athlon64 X2 series processor, you will probably benifit most from selecting the Athlon64 X2 because
 Some games nowadays are multithreaded. In the future, it's reasonable assumption to make that games will be almost universally multithreaded so a dual-core processor will easily prove it's worth. Between say, the Athlon64 FX57 and the Athlon64 X2 4800 processor for instance, even though the FX57 does better on single threaded games -- at say 150fps (compared to say 135fps on the X2), you're not going to notice the difference
 If you're the type to do multitasking and stuff and/or the type of person who enjoys the benifits of HyperThreading, consider a dualcore processor to be a Hyperthreading-on-steroids processor. Instead of just being *able* to multitask, now you can *get work done* in those background threads. People that play around in multimedia, animation and image processing will benifit a lot from this as will those who do lots of statistical analysis and other heavy-math applications

 Similar comparisons exist for Intel [dual-core] processors however since Intel has divided their platform up a bit more, it's worth dealing with directly. There are three platforms to consider, the _Intel Pentium 4 5xx/6xx_ single-core lineup, the _Pentium D 8xx_ dual-core lineup and the _Pentium Extreme Edition 8xx_ lineup
 Of the three, the Pentium Extreme Edition 8xx lineup is the most superior and carries the a very big price tag to boot. What makes it so fancy and special is that, in addition to having two physical cores (and thus be able to deal with two threads simultaneously), each physical core has a HyperThreading unit enabled which means it can effectively handle four threads concurrently. This is quite benificial for multimedia and image processing type tasks.
 The Pentium D 8xx series is in all respects like it's big brother the Pentium Extreme Edition series however Hyoerthreading is not available and as such the Pentium D processors can only deal with two threads simultaneously. Again, being a dual-core processor carries the same benifits towards multimedia, animation and image processing applications as other dual-core processors
 The Pentium 4 5xx and 6xx series are single core processors which have HyperThreading enabled on them and as such they can handle two threads simultaneously (although not as effectively as _similarly clocked_ Pentium D processors). Now it is important to note the distinction about being 'similarly clocked'. For the price of any given dual-core Pentium D processor, you can potentially get a single-cored 5xx or 6xx with a 600Mhz clock advantage. Now since the single-cored processors have HyperThreading enabled, being single-cored is not as much of a penalty [as expected] and even a moderate clock advantage of 400MHz (for a given price) is nothing to shy from. As such, I think the best advice I can give here is ... if the clock-difference (for similar prices) between single and dual-core processors is 200MHz, go for the dual-core setup. If the difference is more than 200MHz then it's worth considering how far in advance you intend to build this system for (i.e., when is the next time you plan to upgrade) and what kind of heavy multithreaded applications you will be running.

 Lastly, for dual-core oriented readers, there is a question of Athlon64 X2 or Pentium D/EE, a few comments
 Again, if your budget can support it, the Pentium Extreme Edition is superior to the Pentium D
 For gaming, the Athlon64 X2 will clearly give you better performance
 If you plan on firing up lots of threads within a single application (say Photoshop, Lightwave, 3D SMAX etc), the Athlon64 X2 is the premier processor to get. If you plan on firing up lots of threads across several applications (say Photoshop and Lightwave simultaneously), the Pentium EE is the processor to get
 Performance-wise there isnt much reason to consider the Pentium D however it should not be ruled out entirely since it has the very nice characteristic of being a somewhat affordable dual-core processor

So the bottom line I suppose is, for AMD buyers, if your budget can support a dual-core rig... go for it as it is generally superior and the cases where its not superior the deficiency isnt really an issue. For intel buyers, if the Pentium Extreme Edition is in the budget, thats the route to go but more tha likely the decision will be between the 5xx/6xx and the Pentium D ... and again, if the clock difference for a price bracket is <=200Mhz, go for the dual-core configuration. If not, then you need to do an evaluation of how heavy you multithread 

*Core Selection*

 For *single-core Socket939* buyers, the core's to look for (from most favorable to least favorable) are
 San Diego (1MB)
 Venice (512K)
 Winchester (512K)
 SledgeHammer/Clawhammer (1MB)
 Newcastle (512K)
 Newcastle256 (256K)

 For *single-core Socket754* buyers, the core's to look for (from most favorable to least favorable) are
 Winchester (512K)
 Clawhammer (1MB)
 Newcastle (512K)
 Paris/Palermo (256K) (Winchester based)
 Palermo (128K) (Winchester based)
 Paris (128K) (Newcastle based)

 For *single-core Socket775* buyers, the core's to look for (from most favorable to least favorable) are
 Prescott (2MB)
 Prescott (1MB)
 Gallatin (512K+2MB)

 For *dual-core Socket939* buyers, the core's to look for (from most favorable to least favorable) are
 Toledo (2x1MB)
 Manchester (2x512K)

 For *dual-core Socket775* buyers, the core's to look for (from most favorable to least favorable) are
 Smithfield (2x1MB)


*64Bit CPUs*
What is a 64bit CPU?

 Well the "64bit" in "64bit CPU" means the same thing as the "32bit" in "32bit CPU". Specifically it means that communication occuring between the CPU and "external data" occurs with 64bits of precision. Now by "external data" I essentially mean 'RAM' and through that, the rest of the system.
  In simple terms this means that a 64bit machine is _capable_ of addressing up two 2^64 bits of memory (thats 16TB of RAM) while a 32bit machine is only able to access 2^32 bits of memory (thats 4GB of RAM).
 It is important to note that, for consumer systems, you wont be able to install more than 4GB of RAM anyways due to limitations in the chipset. This does not mean your system (if configured) can't access up to 16GB but just realize 12GB of it will be virtual memory. See the *RAM 101* for a distinction
 A 64bit machine is NOT twice as powerful as a 32bit machine. Period. People suggesting or saying that are either misinformed (and that's putting it nicely) or they are trying to pull a fast one.

Is my CPU 64bit?

 All Socket939 processors are 64bit capable
 All Socket754 processors with at least 512K of cache are 64bit capable
 The Socket754-Sempron3300+ is 64bit capable .. future Socket754-Sempron models will be 64bit capable too
 All Intel Socket775 processors with the series number 5x1, 6xx and 8xx are 64bit capable
 If you dont have a 64bit capable processor, there is no way to hack it so that you can get 64bit functionality

What can a 64bit CPU do that a 32bit one cant?

 As mentioned above, 64bit machines can address four times as much memory as a 32bit machine
 Some applications are more effective and optimized for running in a 64bit environment (i.e., statistical analysis applications, video applications)
 Some games are written/optimized for 64bit environments (i.e., Red Mercury, FarCry) and you'll notice a detail/world difference (usually the difference lies in the number of objects present on the screen at a given time)

Should I buy a 64bit CPU?
The generic answer here is "yes" however there are a few points worth considering 

 INTEL64 For similar clock speeds, going from a 5xx series to a 6xx series usually entails a 10-20% premium depending on where you are buying it from. This isnt "pocket change" and if you aren't exactly planning on playing in a 64bit environment _and_ realize that future upgrading my be more limited (as more applicatrions become 64bit only) then the 5xx is for you
 AMD64 If you're on a limited budget and are considering say between a Athlon64-2800 and a Sempron-3100, the same logic as the intel route applies however even still, the Athlon64-2800 is probably still the better route


----------



## Praetor

Section 4 - Official Crap
Intel's Hyperthreading
More on Intel's Hyperthreading
NX/XD Not All It's Meant to Be
PCI Conventional Specifications
PCI Express Specifications
PCI-X Specifications
AGP 3.0 Specifications
Hypertransport Specifications


----------



## Praetor

*A commentary from apj101*

Section 5 - Commentary: AMD vs Intel
*By apj101*

_What is the difference_

 The main point to understand is that Athlons and Pentiums are different types of chips each one to be used for differing tasks. This is the question that needs to be addressed when deciding which chip to purchase. _"What will i be using it for?"_
 Pentium and AMD do make chips which can roughly be stacked up against each other. It is important to note that there is no point comparing differnt class of chips such as an AMD Athlon64 3500+ to an Intel Celeron 2.40. Such an exercise would be useless.
 A better comparision, however would to compare an AMD Athlon64 4000+, with say an Intel Pentium4 550 (running at 3.4ghz). But what would such a comparison yield? Well if you compare the specs side-by-side you are not going get an complete understanding of their differences, so how about real world examples? 

You can benchmark each chip against a varety of taks you will tend to get only one truth raining through. In a "single-core and single-thread" or "dual-core and single-application-multithread" (i.e., one application firing up lots of threads) environment, one thing becomes apparent: AMD's processors, whether it be their Athlon64 lineup or their Athlon64 X2 lineup come out on top. For "single-core multithread" or "dual-core multi-application-multithread", Intel's processors tend to come out on top.
 In English, this means that for single-core processors AMD's processors are hands down superior for gaming and that Intel's processors are superior for multimedia or statistical analysis or rendering. 
 For dual-core, AMD tends to win the performance race however (1) Athlon64 X2 processors cost noticeably more than Pentium D's and (2) Intel Pentium D/EEs still take the lead when things become excessively multithreaded and multitasked

 The greatest advantage  that AMD has in the gaming arena is their integrated memory controller, meaning (in lay terms) that the cpu has more direct control over memory bandwidth resulting in better bandwidth and better performance in bandwidth demanding tasks such as gaming. Technically speaking all this means is that, the CPU doesn't have to "go anywhere" to get access to the memory (Intel systems, for the time bearing, have to communicate with the Northbridge to access memory)

 And so the differences become clear:
 If you are a hard core gamer then AMD is the route to go
 If you are a hard core multitasker then Intel will light your path (for single core processors) and both Intel and AMD will be sufficient for dual-core routes
 If all you are using your computer for is checking emails, surfing the web, word processing, and playing the occasional game or two then IT DOES NOT MATTER WHICH YOU GET.

Simple, well kinda

Recap

 Each chip type is used for different tasks so a direct comparison is not possible nor feasible nor meaningful
 We can't universally say one is best
 AMD Athlon64 processors are definitely the route to go for gamers
 Intel Pentium 4 processors for single-cored multitasking
 For dual-core comments, see Section 3

_Why buy an AMD processor when and Intel one has a higher clock speed?_
It is true that AMD's processors run at slower clock speeds (i.e., AMD Athlon64 3500+ runs at 2.2GHz, and a comparitive, the Intel Pentium4 550 runs at 3.4GHz). It is also true, as noted above, this does not matter. The point is that Clock speeds are not the be all and end all factor to determine performance

The architecture of the 2 manufacturers products are totally different. AMD's chips are designed such that they have a shorter pipeline, this being a sort of conveyor belt of instructions, than Intel's chips. This means, again in lay terms, that AMD's processors can perform more work per cycle which is why they get away with slower clock speeds and still offer comparable (and sometimes superior). So you see that clock speeds are not to be used to compare between the two chiptypes. 

Back in the days of the AthlonXP, AMD took to naming their chips using something called a *performance rating*. Officially this was meant as a meant of measuring the performance of the chips, however consumers began using the numbers to compare the XPs against the Intel's Pentium4 processors(which was AMDs real intent for the naming system). Thus, people often drew a comparison between, say an AthlonXP 3000+ and a Pentium4 3.0GHz, likewise the AthlonXP 2800+ was to be compared to the Pentium4 2.8GHz. To a degree, these comparisons were valid and held however there are many exceptions (i.e., the ratings do not compare as evenly as the clock speeds begin to get higher)

Interestingly Intel who long named there chips after clock speed, also use an indexed scale for processor designation. See
Intel's website for more details. If it's not obvious, this should be an indication that clock speed alone is having a less and less role in overall chip performance.

Recap

 Clock speed don't solely determine performance
 AMD operate at lower clock speeds
 AMD and Intel use a performance rating naming system.

_Which are Cheaper?_
It used to be the case that AMD chips were much cheaper than their Intel counter parts, and indeed that was an effective market position for AMD to take at the time.

However those days have long gone and AMD and Intel are roughly equally priced (and often, Intel processors are cheaper), of course only if you compare like for like. For example at the time of writing you could pick up a AMD64 3500+ for 267USD, and a comparable Pentium4 550 3.4 for 271USD

So while your budget will have an effect on the class of processor you will get, it will not have an effect on deciding the manufacturer who makes it. This of course does not apply to the low-end and upper-end chips (where, generally, Intel processors have a lower pricetag as Intel has a much more well established fabrication process)

_Which should I Buy?_
If you have read all this, apart from being committed, then you will already have a good base knowledge of the differences between the manufacturers and there chips. When deciding on a processor there are 3 things to consider

 The golden question of "What is my processor to be used for?"
 It is also important to know what motherboard you have, as the type of CPU socket you have will determine your chip choice (but thats another topic altogether). This is of course assuming you are upgrading rather than building a new system from scratch.
 The budget. As much as we all want the top line everything, we can't always afford it

An example
Praetor has around 350USD to spend on a processor. He already has a motherboard that is a DFI lanparty nF4 SLI-DR Skt 939 and will mainly be playing all the latest games, especially as he just bought 2 6800ultras for his SLI board. His budget for the processor is in the ballpark of 400USD Therefore his best choice is something like an *AMD Athlon 64 3800+* [Venice]

Then there is Mr Cromewell who is building a system to just to play around with a bit, check mail, go online and feed his internet poker addiction. He hasnt bought the motherboard yet and has a strict budget of 175USD (for the processor). Some options for him are an *Intel Pentium4 2.8* [Prescott/Northwood] and grab a S478 motherboard _OR_ an *AMD Athlon64 3200+* [Venice] with a S939 motherboard There is some flexibility and leeway with respect to the platform of choice here is becase he is not doing anything with the machine that benifits directly from a feature provided by either AMD nor Intel, so either is fine


----------

