Overclocking of modern PCs is usually done by increasing either the motherboard'sbus-speed, or the clock multiplier of the processor. This can be done directly either with DIP-switches on the motherboard, or if you have a more fancy (iow expensive) motherboard, from the BIOS. This is done until the point the computer stops working, after which it is set to the last stable speed, and presto, you suddenly have a faster computer without forking out any money.

Of course the processor runs at higher temperatures when its operating at higher speeds, so you can add some more effective cooling if the speed you get with normal fans isn't enough for you. Cooling people usually use for this purpouse includes peltier-elements, water-cooling, old freezers and other crazy stuff.

If you want a new processor that is very cheap, buy a AMDDuron 600MHz, it costs practically nothing, and is almost always overclockable to at least 850MHz, even with standard cooling, if you are the type who doesnt want to fork out a fortune for a new computer, and aren't afraid of playing with your hardware...

the theory

I've often wondered about this. Why on earth do I do really weird, possibly damaging things to my computer just to make it go a little bit faster? What is the point of shaving years off my processor's life just to make it go 15% faster?

Near as I can tell, it's the same compulsion that drove kids in the past (and those honda owners in the present) to buy decent, safe cars and do weird things to the engine, suspension, etc., in order to make them go really fast in a straight line. It's nothing I can really explain...It's just very satisfying to look at my computer and know that I've probably squeezed every last bit of power out of the metal. Yes it's loud, and it took me about 3 weeks of intermittent tweaking to find a perfectly stable configuration. And no, I can't explain it, really. It's just cool.

the practice

This ain't exactly an exact science. You can spend hours on the net finding guides about all the bios settings, wrestle with your specific computer to get it to boot up with a certain setting, and then find that it gave you exactly no gain in performance. So here's what has worked for me:

If this is a new computer, build it and get it running without monkeying with anything. Don't fiddle with the processor (keep the pencil off the duron), don't mess with any sort of clock speeds. Just make sure everything's cool after its trip through FedEx. Oh, and build it right -- you can check all the sites for tips on airflow, heatsinks, etc. This can have a huge influence on how fast you'll get your machine.

Now that everything's built, and it's running fine, get a base benchmark. I usually use 3DMark, 'cause I'm a gamer and that's what I want to optimize for. SiSoft Sandra is a lot more exact, and Quake 3 Arena seems to be the default OpenGL benchmark. Pick one you like, and stick to it -- you're going to be running it a lot.

Now, start ocing the processor. If you've got a duron, now's the time to pull out the number 2 and draw over those l1 bridges. If it won't POST at a given speed, incrementally boost the voltage to the processor. You want the minimum voltage to give you a stable system (more voltage = more heat = shorter life). Don't just immediately go up to 1.85V, unless you want a nice athlon keychain. Make detailed notes while you're doing all this, like:

So when you finally hit the wall (the point at which the processor won't go faster no matter how much voltage you send it), you know exactly how high you can get. Once you do get a stable speed, get your copy of Seti@Home (or some other processor-intensive software), start it up, and watch the hardware monitoring program that came with your mobo. From what I understand, anything over 140 degrees Farenheight is really bad no matter the processor. Keep the load running for a time (10 or 15 minutes ought to do it), and watch how hot your processor gets. If it starts creeping up too high, don't panic. Just turn Seti@Home off, reboot, and ease back on your voltage & speed. Better yet, get a better heatsink -- it'll help your adventures in overclocking.

Once you've got a speed that works, benchmark again. Compare and contrast, and grin at the points you gained for a little bit of work.

Now, overclock your motherboard. You will probably have to have really good equipment to do this -- it's important to buy quality RAM, not that value ram shite. If it doesn't work for you, don't worry. It's tough to find a motherboard that'll do this. Try buying a active heatsink for your northbridge like ABit puts on their motherboards -- the Blue Orb is made just for this, it looks cool, and apparently helps.

Benchmark again, and do a little "my computer rocks ass" dance. Now, the real voodoo starts. You can skip this if you're happy with what you got -- after this step, the reward:work ratio gets real small.

Overclock your video card. If you've got an nVidia card, do a google search for "nVidia CoolBits registry hack" -- it'll point you to a bunch of sites explaining how to get a software control to overclock your TNT/GeForce/Quadra in the display control panels. You'll probably need beefier cooling than just the stock heatsink -- my Aopen Geforce 2MX wouldn't go more than 10 MHz above stock until I slapped a Blue Orb on it -- now it's humming along 50 MHz above stock. Take notes, just like you did with your processor, and do a test in a game or 3dMark every time you up the speed. If you start to see weird shit, like textures turning colors, bright spots or snow over the screen, the processor is getting hot and making errors. Shut the game off & turn the gpu down a bit. I've found that it's easy to get a setting that will work, but actually degrades performance because the chip is too hot. Do benchmarks with every change, and find the happy medium.

Fiddle with your BIOS settings. This took a ton of work for me, and I didn't get a whole lot of gain out of it (except oc'ing my RAM, which really added a lot). You can probably find a guide for your mainboard online. Follow their guidlines, or try messing with a setting, rebooting, and doing a benchmark to see what it affected.