Pages

Monday, October 7, 2013

AMD Overclocking Guide

Note : please read this before you go ahead this is solely for education only and it is co authored
Prerequisites:
AMD based computer

Here’s a TON of information collected and discovered over the course of many, many years on the AMD side.
This guide will help you to understand not only the fundamentals of overclocking, but goes very in-depth into the process of overclocking the AMD platform.
It was written using several 9850BE CPUs along with an M3A32-MVP Deluxe motherboard, but applies to AMD processors from the old Athlon XP series* CPUs up to the current lineup of X6 processors.
*The older CPUs (up to and including DDR1 systems) does require a little different mathematical equation than what’s listed in this guide - if anyone needs to know how this works, please don’t hesitate to post!! - Otherwise, the entirety of this guide is geared more towards the newer hardware (AthlonII Phenom/PhenomII, in all cores manufactured)
DISCLAIMER: This tome of information is intended to be a guide, used as a template for YOUR overclocking adventure - in no way shall I be liable for any malfunction or damage as a result of using any of this information.
Everything in this post is from my own personal experience embellished with links and facts from other’s personal experiences. It was complied from 42 pages of hand-written notes spanning 4 different stepping Phenom 9850BE processors, along with prior knowledge of AMD architecture…nothing here is hearsay, it’s all real-world experience of what has proven to be an effective overclock for some of MY setups.
IN NO WAY do I mean for this guide to be followed to the letter - ALL components, even given the same exact stepping/lot #, sequential serial #’s, etc., will overclock the same.
There is no guarantee. You paid for parts that will perform at their advertised specifications, and what you’re doing by overclocking is getting *more* than what you paid for (hence the ‘no guarantees’ part.)
What may work for one individual may or may not work for the next…even given the same exact components…just always remember this…sometimes you have to settle for less than what you originally expected - the way to make it ‘ok’ in your head is to remember the ‘no guarantees’ thing…you’ve already got ’something’ for ‘nothing’ if you’ve overclocked *at all*
In overclocking, there are inherent risks. The very fact that you’re playing with voltages and cycles translates into playing with fire - literally. More voltage = more heat. I can’t stress enough the importance of proper temperature monitoring and some real good CPU cooling as well as excellent case cooling.
Steppings:
As I’ve stated in numerous posts, the actual stepping of your CPU is what determines it’s overclockability.
Unless you physically hand-pick one from a store shelf, you’ll get whatever they send you…and that means whatever LOT number is sitting on a warehouse shelf, which has absolutely nothing to do with stepping at all. I’ve found that Newegg usually has the best steppings on hand, but that doesn’t mean that you’ll get one - I went through 4 from Newegg…1 of them was a decent overclocker, 2 of them were *horrible* (2.8GHz was their highest!), and 1 of them was excellent at overclocking (the one I’m still using, and it’s reached 3.675GHz on this board) - not to mention the other 4 that I’ve tested to this point…so only 4 of them in total were stable at 3GHz with 4 of them being unstable at much over 2.8GHz.
I’ve found that Fry’s Electronics often has an excellent selection that you can ‘cherry-pick’…that’s how I got the RAM I have in my rig…they just happened to have revision 1.3 Dominator 8500C5D’s on their shelf (about 4 packages back) - these sticks are stable at well over 1200MHz, but Corsair quit making them a year ago…so only places that have the old stock in their warehouses are actually going to even have access to something like that.
**There is NO way to tell the stepping of a CPU unless you literally pull the CPU out of the socket, clean off the thermal paste, and physically look at the IHS (Integrated Heat Sink) on the top of the CPU itself**
There is no software that can poll this information because this series of numbers/letters is not embedded into any registers anywhere. So, what you’ve seen with CPUz or Everest or any other software - means absolutely nothing.
When I’m talking about a CPU’s stepping, it’s really more than just a series of numbers/letters.
You can break down the stepping numbers/letters on the top of the IHS so that it shows the date the actual chip rolled off the manufacturing line along with what core it has, and the color of the PCB (Printed Circuit Board). This is how important it is to know what you’re getting; very few Phenoms with a stepping of 0810 or before have shown to overclock higher than 2.8GHz. Most good overclocking Phenoms (3.1GHz or above) come from weeks 16, 18, 19, 21, 22 and the weeks that I have skipped are Phenoms that have a rough time reaching 3GHz even with extreme voltage increases. Also, the steppings of AW, GW, and MW have shown to be in the top of the best overclocking CPUs. (highest MHz with the lowest voltage increase)
In overclocking, there are inherent risks. The very fact that you’re playing with voltages and cycles translates into playing with fire - literally. More voltage = more heat. I can’t stress enough the importance of proper temperature monitoring and some real good CPU cooling as well as excellent case cooling.
Steppings:
As I’ve stated in numerous posts, the actual stepping of your CPU is what determines it’s overclockability.
Unless you physically hand-pick one from a store shelf, you’ll get whatever they send you…and that means whatever LOT number is sitting on a warehouse shelf, which has absolutely nothing to do with stepping at all. I’ve found that Newegg usually has the best steppings on hand, but that doesn’t mean that you’ll get one - I went through 4 from Newegg…1 of them was a decent overclocker, 2 of them were *horrible* (2.8GHz was their highest!), and 1 of them was excellent at overclocking (the one I’m still using, and it’s reached 3.675GHz on this board) - not to mention the other 4 that I’ve tested to this point…so only 4 of them in total were stable at 3GHz with 4 of them being unstable at much over 2.8GHz.
I’ve found that Fry’s Electronics often has an excellent selection that you can ‘cherry-pick’…that’s how I got the RAM I have in my rig…they just happened to have revision 1.3 Dominator 8500C5D’s on their shelf (about 4 packages back) - these sticks are stable at well over 1200MHz, but Corsair quit making them a year ago…so only places that have the old stock in their warehouses are actually going to even have access to something like that.
**There is NO way to tell the stepping of a CPU unless you literally pull the CPU out of the socket, clean off the thermal paste, and physically look at the IHS (Integrated Heat Sink) on the top of the CPU itself**
There is no software that can poll this information because this series of numbers/letters is not embedded into any registers anywhere. So, what you’ve seen with CPUz or Everest or any other software - means absolutely nothing.
When I’m talking about a CPU’s stepping, it’s really more than just a series of numbers/letters.
You can break down the stepping numbers/letters on the top of the IHS so that it shows the date the actual chip rolled off the manufacturing line along with what core it has, and the color of the PCB (Printed Circuit Board). This is how important it is to know what you’re getting; very few Phenoms with a stepping of 0810 or before have shown to overclock higher than 2.8GHz. Most good overclocking Phenoms (3.1GHz or above) come from weeks 16, 18, 19, 21, 22 and the weeks that I have skipped are Phenoms that have a rough time reaching 3GHz even with extreme voltage increases. Also, the steppings of AW, GW, and MW have shown to be in the top of the best overclocking CPUs. (highest MHz with the lowest voltage increase)
What we call the ‘Stepping’ is really quite a lot more than that…we can group it into 5 categories from those numbers:
* Core
* Week
* Stepping
* Color of PCB
* Revision
The 2 that are imperative for the Phenom are the Week and the Stepping, the Week that it was created, probably due to the manufacturing process itself (like a ‘Wednesday’s Car’ - a car built on Wednesday used to be the better car because during the middle of the week, no one was looking forward to the party at the end of the week and they had already nursed their hangover from the weekend before Wink)
In any case, if there’s a way to physically hand-pick your CPU from a dealer, that’s what you should do, even if it’s more money - because there’s no way to tell what you’ll get from any online retailer.
Here’s AMD’s ’secret’ overclocking formula (not discovered by me, but rewritten by me to be understandable by the masses: This equation is for the Phenom/AM2/AM2+ architecture, it’s a bit different from the older (pre-K8) architecture in that our HT and NB are now a multiple of the FSB, as well as the divisor ratio is no longer rounded up when landing on a fraction (decimal) of a whole integer.
AMD Overclocking Equation: (applies to K10 architecture - see below for the small changes for older Athlon XP CPUs)
(CPU Multi) * (FSB) = (CPU Freq)
(CPU Multi) / (Memory Divider) = (Divisor Ratio)
(CPU Freq) / (Divisor Ratio) = (RAM MHz) (* 2 = DDR MHz)
(NB Multi) * (FSB) = (NB Freq)[/COLOR][/B]
(HT Multi) * (FSB) = (HT Freq) **
**note: the HT Multi is usually shown as a MHz option rather than a multiplier of the FSB, but in fact, it is a default of 10X the FSB
Also of note is that your HT *MUST* be < or = the resulting NB Frequency or you will not be stable.
** Equation for older AthlonXP up to socket 939 CPUs **
(CPU Multi) * (FSB) = CPU Freq
(CPU Multi) / (Memory Divider) = Divisor Ratio (ALWAYS ROUND UP ON SYSTEMS UP TO SOCKET 939)
(CPU Freq) / (Divisor Ratio) = RAM Freq (* 2 = DDR)
ON OLDER SYSTEMS, HT *MUST* BE EQUAL TO OR LESS THAN 2000MHz, which may require setting a lower HT (4x, 3x, etc. depending on the amount of FSB)
Memory Dividers for use in the equation above (use the value at the end for the equation, use the corresponding value that matches your BIOS while in the BIOS of your motherboard
I have included every conceivable way that these dividers can be displayed for every AM2/AM2+ BIOS. Use the DECIMAL value in the equation above and use one of the corresponding values for your specific BIOS. I’ve only included the 800MHz and the 1066MHz values, as this is what the majority of us are using.
533 = 1066 = 16:6 = 8:3 = (8 / 3 = 2.6666666) = 2.6666666
400 = 800 = 12:6 = 6:3 = (6 / 3 = 2) = 2
** Memory Dividers for use in socket 939 systems and older **
200 = 400 = 1/1 = 1:1 = (1 / 1 = 1) = 1
183 (or 180 on some motherboards) = 366 = 9/10 = 9:10 = (9 / 10 = .9) = .9
166 = 333 = 5/6 = 5:6 = (5 / 6 = .833333) = .833333
133 = 266 = 2/3 = 2:3 = (2 / 3 = .666666) = .666666
100 = 200 = 1/2 = 1:2 = (1 / 2 = .5) = .5
There are footnotes collected from my adventures at the bottom describing some of the more obscure functions and some of the hidden options. Read them carefully, test each config for yourself and decide what works for you.
About MONITORING YOUR TEMPS:
ASUS has a nifty little utility called PCProbe2 that comes on the CD that came with the motherboard… USE IT. I also found that CoreTemp gives a very close reading with the M3A32-MVP Deluxe.
If your temps at *any* time reach into the mid 50*C range, STOP and readdress your CPU and case cooling before continuing any further. (High 60*C is the upper limit, but we don’t need to push it, right?)
Just ensure that you’re using *something* to monitor your temps while spending any time in the overclocking arena!
There are loads of good aftermarket CPU cooling options out there…I personally have the ThermalRight Ultra-120 Extreme, and I’m very pleased with not only it’s performance, but it’s sound level as well (with 2 Scythe S-Flex fans).
Also of importance is your case cooling. Every case I’ve ever had IS NOT pre-setup with what turns out to be the most efficient fan arrangement. It’s up to YOU to decide what fan needs to be where, which direction it should be (pulling air IN or pushing it OUT) and what make/model/CFM/RPM you need. Just be aware that without fresh, cool air coming IN the case, all you’ve got is warmed air to circulate across your CPU’s HS/f, and without adequate EXHAUST, you’ve really just shot yourself in the foot again - BOTH are paramount to a decent overclock (I really can’t stress this enough - MOST people miss case cooling and concentrate solely on their CPU HS/f)
All in all, by the very nature of overclocking, you need to know that you’re taking a risk of exposing specific components to more voltage/heat/cycles than they’re designed to take, which *could* or *may not* lead to their early or eventual demise.
I’m sure most people that will read through all that crap already understand the risks…it’s just pertinent for me to say…I can’t be held liable for any kind of overclock gone wrong.
Some here’s some terminology that we’re going to be familiar with by the end of this post:
TERMINOLOGY and BACKGROUND INFO:
AMD’s HT: HyperTransport (HT), formerly known as Lightning Data Transport (LDT), is a bidirectional serial/parallel high-bandwidth, low-latency computer bus. The HyperTransport Technology Consortium is in charge of promoting and developing HyperTransport technology. The technology is used by AMD and Transmeta in x86 processors, PMC-Sierra and Broadcom in MIPS microprocessors, NVIDIA, Via, SiS, ULi/ALi, and AMD in PC chipsets, Apple Computer and HP in Desktops and notebooks, HP, Sun, IBM, and IWill in servers, Cray in supercomputers, and Cisco Systems in routers.
HyperTransport runs at 200-5200 MHz (compared to PCI at either 33 or 66 MHz). It is also a DDR or “double-data-rate” bus, meaning it sends data on both the rising and falling edges of the 1400 MHz clock signal. This allows for a maximum data rate of 2600 MTransfers/s each direction. The frequency is auto-negotiated, but can be changed via a multiplier, which is a multiple of your FSB.
HyperTransport supports auto-negotiated bus widths, from 2 (bidirectional serial, 1 bit each way) to 32-bit (16 each way) busses are allowed. The full-sized, full-speed 32-bit bus has a transfer rate of 22,400 MByte/s, making it much faster than existing standards. Busses of various widths can be mixed together in a single application, which allows for high speed busses between main memory and the CPU, and lower speed busses to peripherals, as appropriate. The technology also has much lower latency than other solutions.
So, in a nutshell, HT is the bandwidth used between your memory and CPU and the CPU and other peripherals.
AMD’s HTT: (HyperTransport Technology (HTT) - I know, confusing!!!) The A64 has no FSB (or Front Side Bus) as we know it. That’s because the memory controller is built-in to the CPU rather than being on the motherboard. Basically, HyperTransport replaces the FSB.
So raising the HTT is how we raise the CPU cycles…it’s the amount of communication a CPU can push in a given amount of time.
This has reverted (in terminology only) back to FSB with the new boards and new BIOS, probably to make it easier and less confusing. So, HTT = FSB on the new AM2/AM2+ boards.
CPU Multiplier: The CPU multiplier is one way for processors to run much faster than the clock speed of the motherboard or RAM allows. For every tick of the front side bus (FSB) clock, a frequency multiplier causes the CPU to perform x cycles, where x is the multiplier.
For example, if the FSB has a clock speed of 200 MHz and the CPU multiplier is 10x, then the processor would run at 2000MHz or 2.0GHz.
One downside of the multiplier is that it only increases CPU speed. In the previous example there is a multiplier of 10x, but RAM still runs at 200 MHz, so the computer can only access memory at 1/10th of the processor speed, 200 MHz, the speed of the FSB. Because of this, many overclockers prefer to have lower multipliers with higher FSBs.
With the Phenom systems (currently using the 790X and 790FX chipsets) - the CPU Multiplier is really the best way to increase your CPU Frequency. Adding FSB to an already high CPU Multiplier can improve CPU Frequency, but most times leads to instability without lots of voltage to help it out.
Memory Divider: One popular way of overclocking your processor is to increase your FSB. This increases the processor bus, and memory bus equally. In the event that your processor still has the ability to increase in speed, but your memory is maxed out, you would use the memory divider to slow down your memory by running it at a fraction of it’s rated speed. Example: You want to run your FSB at 300Mhz, but your memory maxes at 1066Mhz. Set the FSB to 300Mhz, and the memory divider to 1/2, and the memory will run at 533Mhz. (primitive example, but you should get the idea) – the point here is that running a memory divider *literally* runs your memory at a fraction of its original speed…this is a good thing as we’ll learn later.
Now the fun parts:
** There are 2 ways of overclocking AMD CPUs effectively. We’ll explore the FSB method in detail below, but the easiest way, and often times the most effective way, is by CPU Multiplier increase alone (which may require higher VCORE (CPU Voltage) but nothing else per se.
Overclocking utilizing the CPU Multiplier method of overclocking is very simple:
Increase your default CPU Multiplier until it won’t pass POST, then you may increase the VCORE and try raising it some more. Really, the only thing that is imperative with this type of overclocking, is to ensure your CPU temperature is within normal full-load limits (again, upper 60*C range for Phenom architecture, lower 60*C range for PhenomII architecture)
Very simple, yet effective.
Some of you may find that overclocking via the CPU Multiplier method will yield better results than any other way, and some of you may find that overclocking via the FSB method will yield better results.
It’s really up to you to find out what type of overclocking gives the best results - testing with Everest’s Cache and Memory Benchmark as well as SuperPI are very quick and dirty, but give you a decent idea of throughput vs. other settings.
Here, we’ll explore the FSB method of overclocking in depth:
Finding your maximum values is the first step for a reason - without this base information, you have no idea what’s going to cap out on you and where it’s going to happen…it’s like taking a stab in the dark without even a semblance of an educated guess.
FINDING YOUR MAXIMUM VALUES:
It’s extremely important to find each of your component’s maximum values before attempting any relevant overclock. Without such knowledge, it’s all just a stab in the dark, but with the knowledge of where everything caps out, you have an excellent idea of what you can expect from each individual component.
Now then, here is what I do when beginning a new overclock:
(We’re going to try to find the limit for your motherboard’s FSB first)
Drop the CPU Multiplier to it’s lowest setting
Drop the HT Link Speed to it’s lowest setting
Drop the RAM divider to it’s lowest setting
Begin by raising the FSB (CPU Frequency) in 5 - 10MHz increments - rebooting to POST (Power On Self Test - it’s the very first screen of text in black and white that you see when you first start your computer from an OFF state) in between each change - until it wont POST (Power On Self Test) - note the number as you’ve just found your motherboard’s maximum FSB. This is important, as your motherboard really is a major determining factor on just how far you can overclock your CPU/RAM and other peripherals. I have found my M3A32-MVP Deluxe is capable of 286MHz FSB with all 4 Phenom 9850BE’s that I’ve tested…I know that it would be different for a different architecture CPU.
Drop it down to a comfortable stable level decided on from the equation above.
(yep, we’re going to be using that equation *a lot*, so just get used to it!!!)
CPU Multiplier:
Begin with your RAM at it’s lowest setting, your HT at it’s lowest setting, your NB at it’s lowest setting and your FSB at 200, then begin raising your CPU Multiplier 1 step at a time, rebooting between each change until it fails POST. This is going to be the maximum CPU Multiplier that you’re going to be able to use.
NorthBridge: You can adjust your NB frequency using a multiplier in the BIOS - remember it’s a multiple of the FSB. I’ve found mine to be completely stable at 2600MHz. You’ll have to experiment with the NB voltage to find your full-speed maximum.
Find this by raising it one level and rebooting all the way into Windows, repeating until it won’t boot into Windows.
HT Link Speed Remembering that it’s actually a 10X multiple of your FSB, increasing the FSB also increases your HT. I’ve found mine stable at over 2400MHz, but in conjunction with the NB, it’s stability is capped at 2400MHz when the NB is at 2400MHz or higher. Find this the same way as the NB.
The secret for getting a higher MHz throughput out of the HT is because of the chipset and the options for it.
Higher voltage helps in the stability for higher bandwidth - But you’ve GOT to pay attention to your motherboard temp now! Mine’s sitting at 38*C right now, and doesn’t really get much higher - this is due to adequate case cooling, which I suggest you definitely follow up on!!! (since the Northbridge on the M3A32-MVP Deluxe is passive, it really relies on good airflow around it to keep it cool! - if at any point you feel uncomfortable about the NB reaching into the mid 40*C range, you may want to check into an active cooling, or perhaps just removing the HS assembly and replacing the ASUS thermal gunk with a nice fresh layer of Arctic Silver5 or Ceramique) along with using the crap copper heatsink that came with the board…even though the memory cooling part is useless, the extra copper fins do help to dissipate a lot of the heat generated by the NB.
You can begin playing with the equation above now that you know *most* of the variables and what all your individual component’s maximum values are.
If your temps are good (~50*C or below at FULL LOAD) and your motherboard temps are good (38-44*C) then you can start experimenting with other voltages (NB/HT/PCI PLL, etc.)
(this really becomes nothing more than a balancing act at this point - and it takes time…have patience, take breaks - if you get too frustrated, stop for 10-15 minutes and do something else in a different room…I’m not kidding! I’ve been soooo close to putting my foot all the way through my case that it’s not even funny, so I *know* what I’m talking about - TAKE BREAKS! - oh, and try not to drink alot of coffee, it only will agitate you and make it very aggravating!)
If you’ve made it this far, you’ve just found a *comfortable* level from which to work…now the hard part begins!
RAM Overclocking:
Raise ALL your RAM latencies to 3-4 notches (where possible) above stock SPD for the speed you’ve decided to run.
Leave your voltage where the manufacturer recommends it (don’t go higher - the BIOS text goes red for a reason!) - Later on, you can adjust it up to 2.50V (as a MAX), but you will not need it to be even .01 higher - The point of diminishing returns happens when you’ve exhausted all overclocking attempts and it will not increase no matter how much voltage you throw at it.
Now, starting with the SECOND one (tRAS), drop it one notch and reboot to POST (and I *mean* [1] notch at a time - you do more than that, you’ll find yourself resetting your CMOS twice a much as you’re already going to!!!!), repeating until it will not pass the POST, clear the CMOS if you have to, and raise that one value one notch.
Do the same for ALL the latencies (rebooting to POST in between EACH AND EVERY CHANGE) - leaving tREF at 127.5ns (this will help with stability at higher MHz)
This is a *very* long and arduous process, but the benefit will be more than worth the effort you put into it!
Once you’ve made it this far, try changing the CMD (Command Rate) Timing to 1T and see if it boots all the way into Windows - if not, change it back to 2T. (most sticks won’t run at a 1T CMD Rate on AM2/AM2+, so don’t feel bad - it was worth the try!)
After you’ve found all the lowest latencies for the *comfortable* overclock, you can begin to see if there’s any more…
By raising the CPU voltage, (NEVER HIGHER THAN 1.55V) you can increase stability in your overclock - but it comes at a great price - HEAT. If your CPU gets above 50*C under full load (should be in the 35-42*C range for idle - but load temps are the most important!), you need better cooling, or need to settle on an overclock that utilizes less voltage (which means less FSB and/or higher multiplier and maybe even a different memory divider)
Here are some links to software that you’ll need…you probably don’t need it all as a few are redundant and overkill, but here they are nonetheless.
I’d DEFINITELY pick up OCCT, Orthos, SuperPI, CPU RightMark and RMMA from the Benchmarking section, *everything* from the Monitoring section, then Memset and AMD Overdrive from the MISC section/
Benchmarking Software:
http://www.ocbase.com/perestroika_en/index.php?Download OCCT Perestroïka
http://sp2004.fre3.com/ Orthos StressPRIME 2004
http://files.extremeoverclocking.com/file.php?f=36″]SuperPI[/URL] (use for quick and dirty bench tests to discover if what you did was faster or slower)
http://www.sisoftware.co.uk/index.html?dir=&location=downandbuy&langx=en&a SiSoft Sandra
http://cpu.rightmark.org/ CPU RightMark
http://cpu.rightmark.org/products/rmma.shtml RMMA
http://cpu.rightmark.org/products/ramtester.shtml RAMTester
http://www.wprime.net/ wPrime
http://www.benchmarkhq.ru/gallery/screenshot.php?g2_itemId=940 MaxPi is a newer version of SuperPi coded for multiple core processors, and a relatively new addition to this list - it gives some interesting results, but a certain drawback is that it’s written in Russian…(personally, I will use it once in a while, but when testing if what I changed in BIOS is better or worse for number crunching, I’ll still use SuperPi - it’s quicker and gives results in a language I can understand!)
and then of course the FutureMark line of PC and GPU benchmark products - but I’d only get PCMark Vantage for this…and really, only if you want to. (or optionally, 3DMark Vantage, but then you’re scoring more than just your CPU…)
Monitoring Software:
http://www.techspot.com/downloads/265-asus-pc-probe.html ASUS PCProbe 2
http://www.cpuid.com/cpuz.php CPUz
http://www.lavalys.com/ Everest 4 - also contains a Cache and Memory Benchmark that I use all the time.
http://www.techspot.com/downloads/3118-amd-clock.html AMDClock
http://www.alcpu.com/CoreTemp/ CoreTemp
Calculators and MISC tools:
http://cpu.rightmark.org/products/rmgotcha.shtml RMGotcha
http://www.tweakers.fr/download/MemSet.exe MemSet
http://www.amd.com/us-en/0,,3715_15337_15354_15359,00.html AMD Overdrive
Below is my current overclock using BIOS 1102 - again, DO NOT just input these values into your own, either you’ll not be stable (BEST case scenario) or you’ll fry something altogether - you’ll need to do the legwork yourself for YOUR components.
MAIN
Press F4 and we’ll see some ‘hidden’ settings further in…
(leave all these options at default)
Legacy Diskette A [Disabled] Unless you use a Floppy Drive
Primary IDE Master [Not Detected]
Primary IDE Slave [Not Detected]
SATA1 [Not Detected]
SATA2 [Not Detected]
SATA3 [Not Detected]
SATA4 [Not Detected]
Storage Configuration
On Chip SATA Channel [Enabled]
On Chip SATA Type [IDE]
ADVANCED
.JumperFree Configuration
.AI Overclocking [Manual]
..FSB Frequency [210]
..PCIE Frequency [110] (I wouldn’t experiment much with this one, but some boards do have a ’sweet spot’ between 100 and 115 usually)
..Processor Frequency Multiplier [15.00x]
..Processor Voltage [1.325] - which is actually 1.318 *see footnote 1
..Processor-NB Voltage [Auto] - this supplies extra voltage to the CPU and isn’t necessary unless extreme suicidal overclocking!
..CPU VDDA Voltage [2.6v] (CPU voltage regulation circuits)
..CPU-NB HT Link Speed [2.4GHz] - this has to be proven stable before just jumping into it!
..DDR Voltage [2.10] - set this to your RAM’s specific voltage requirement!
..Northbridge Voltage [Manual]
..Hyper Transport Volatge [Auto]
..Core/PCIe Voltage [Auto] - Voltage supplied to the NB chip itself
..NB PCIE PLL [Auto]
..Southbridge Voltage [Auto]
..Auto Xpress [Enabled]
..CPU Tweak [Enabled]
Memory Configuration
..Bank Interleving [Auto]
..Channel Interleaving XOR of Address bits [20:16,9] - *ONLY* if you’re running more than 2 banks of RAM, else [Disabled]
..MemClk Trisate C3/ATLVID [Disabled] *see footnotes
..Memory Hole Remaping [Enabled]
..DRAM Ganged Mode [Disabled] - you want to run UNganged, no matter what it’s called in your BIOS
..Power Down Enable [Disabled]
..Read Delay [Auto]
..DCQ Bypass Maximum [Auto] - setting to 4 or 6 may help yield stability at high MHz values
.DRAM Timing Configuration
..Memory Clock Mode [Manual]
..Memory Clock Value [1066 MHz]
..2T Mode [Enabled]
..DRAM Timing Mode [Both]
..CAS Latency (CL) [5 CLK]
..TCWL [5 CLK] - lower values equal faster writes, but will cause instability at high MHz
..TRCD [5 CLK]
..TRP [5 CLK]
..TRAS [18 CLK] - bios 1002 and up overrides this setting: If tRTP is set to Auto then -2 from what the setting is. Any other tRTP setting and this is 18 no matter what the setting is.
..tWR [4 CLK]
..tRFC0 [127.5 ns]
..tRFC1 [127.5 ns]
..tRFC2 [127.5 ns]
..tRFC3 [127.5 ns]
…TRC [26 CLK] - BIOS 1002 overrides this setting if tRTP is not on Auto. If tRTP is not on Auto this is 26.
..TRRD [2 CLK]
..tWTR [3 CLK] - BIOS 1002 orverrides this setting if tRTP is not on Auto, the resulting setting will be reduced by 1 otherwise.
..tRTP [2-4 CLK] In bios 0801 anything but auto and TRC and TRAS are overridden, BIOS 902 and higher, 2-4 CLK and TRAS will function as set.
..tRWTTO [4 CLK] - for my memory it is Auto or same as tWR or will not boot.
..tWRRD [Auto]
..tWRWR [Auto]
..tRDRD [Auto]
..PLL1 Spread Spectrum [Disabled]
..PLL2 Spread Spectrum [Disabled]
..AI Clock Skew for Channel A [Auto]
….Current Clock Skew Advance 300ps
..AI Clock Skew for Channel B [Auto]
….Current Clock Skew Advance 450ps
**testing with clock skew will lead to a lot of BSOD’s, but can give a little performance if you hit the sweet spots - ALL sticks will behave differently**
AI Net 2
..Marvell Post LAN cable [Disabled]
CPU Configuration
..GART Error Reporting [Disabled]
..Microcode Updation [Disabled]
..Secure Virtual Machine Mode [Disabled]
..AMD Cool ‘n’ Quiet Function [Enabled] - after extensive testing, I can overclock to my system’s maximum and still have CnQ enabled
..ACPI SRAT Table [Enabled]
..Processor Downcore [Disabled] - this effectively shuts down between 1 and 3 cores
..AMD Live! [Disabled]
Chipset
..Primary Video Controller [PCIE GFX0-GFX2-GPP] - this setting identifies the top blue slot as primary. GFX2 refers to the top black slot (Port #03)
..PCI Express Configuration
..GFX Dual Slot Configuration [Enabled]
..GFX Dual Slot Configuration [Disabled]
..Peer-to-Peer among GFX/GFX2 [Disabled] this setting is for running cards connected to the top blue and black slots on equal status for issuing requests and commands
..GPP Slots Power Limit, W [75] - Maximum wattage that can be supplied through the slot (0-250)
..Port #02 & #03 Features
….Gen2 High Speed Mode [Disabled] found this was the best setting for me according to 3DMark06 - may need to enable for CF
….Link ASPM [Disabled] - ASPM stands for [URL=”http://www.microsoft.com/whdc/connect/pci/aspm.mspx”]Active State Power Mangement[/URL]
….Slot Power Limit, W [75] - Maximum wattage that can be supplied through the slot (0-250)
..Port#04 through #10
….Gen2 High Speed Mode [Disabled]
….Link ASPM [Disabled]
..Port#11 Features Bottom blue slot
….Gen2 High Speed Mode [Disabled] - again, may need to be enabled for CF
….Link ASPM [Disabled]
….Link Width [x16]
….Slot Power Limit, W [25] - Maximum wattage that can be supplied through the slot (0-250)
..NB-SB Port Features
..NB-SB Link ASPM [Disabled]
..NP NB-SB VC1 Traffic Support [Enabled] (virtual channel 1) helps with Isochronous Flow-Control Mode or [Disabled] if not using Isochronous Flow Control, 2xCLK or UnitID Clumping * see footnotes
Hyper Transport Configuration
..Isochronous Flow-Control Mode [Enabled] or [Disabled] if not used in conjunction with the other variables * see footnotes
..HT Link Tristate [CAD/CTL/CLK] or [Disabled] if not used in conjunction with the other variables * see footnotes
..UnitID Clumping [UnitID 2/3&B/C] or [Disabled] if not used in conjunction with the other variables * see footnotes
..2xLCLK Mode [Disabled]
Onboard Devices Configuration
..Onboard Floppy Controller [Disabled] unless you use a Floppy Drive
..Floppy Drive Swap [Disabled] unless you use a Floppy Drive
..Serial Port1 Address [Disabled] unless you use a serial device
..HD Audio Azalia Device [Auto] left at default
..Front Panel Support Type [HD Audio] (neither of these 2 items need to be enabled if you’re using a 3rd party sound card
..1394 [Disabled] unless you use a 1394 device
..WiFi [Disabled] unless you use the WiFi motherboard attachment
..Onboard LAN [Enable]
..Onboard LAN Boot ROM [Disabled]
..Marvell 6111 SATA Controller [Disabled] (found NO use for this and I have 6 HDDs)
..Marvell 6121 SATA Controller [Enable] (all HDDs/DVD drives use this channel)
..Marvell Option ROM [Disabled]
..Primary Display Adapter [PCI-E]
PCI PnP
..Plug and Play OS [No] - let your motherboard decide IRQs for what’s plugged into it, not Windows!
..PCI Latency Timer [64] - higher values may create more stability, but at the cost of increasing PCI bandwidth time
..Allocate IRQ to PCI VGA [Yes]
..Palette Snooping [Disabled]
USB Configuration
..USB Functions [Enabled]
..USB 2.0 Controller [Enabled]
..USB 2.0 Controller Mode [HiSpeed]
..BIOS EHCI Hand-Off [Disabled] - Windows takes care of this for you
..Legacy USB Support [Auto] - no one uses any 1.0 USB anymore, but can cause the system to crash if disabled, Auto will automagically shut-down in the event no 1.0 USB device is found
POWER
..Suspend Mode [Auto]
..Report Video on S3 Resume [No] default
..ACPI 2.0 Support [Enabled] [URL=”http://www.microsoft.com/whdc/system/pnppwr/powermgmt/default.mspx”]ACPI Power Management[/URL] - Required for Cool n Quiet
..ACPI APIC Support [Enabled] [URL=”http://www.techarp.com/showfreebog.aspx?lang=0&bogno=363″]ACPI APIC[/URL]
APM Configuration
all settings left at default
Hardware Monitor
..CPU Fan Warning Speed [Disabled]
..Smart Q-Fan Function [Disabled] this is what the fourth pin is for on four pin fan connectors, so if you use this function, set to [Enabled]
BOOT
..Boot Device Priority
…1st Boot Device [(set to your OS HDD in ‘Hard Disk Drives’)]
…2nd Boot Device [Disabled]
Boot Settings Configuration
..Quick Boot [Enabled] - only set to enabled AFTER you’re done tweaking your overclock!
..Full Screen Logo [Disabled] - because I like to see the POST
..AddOn ROM Display Mode [Force BIOS]
..Bootup Num-Lock [On]
..Wait for ‘F1′ Error [Enabled] - waits for user input in the event of an overclock failure
..Hit ‘DEL’ Message Display [Enabled] - reminds you to push DEL to enter BIOS options
..Chassis Intrusion [Disabled] unless you use this feature with your case
Security
all settings left at default
FOOTNOTES
1) There is a small bug in every version of the M3A32-MVP Deluxe BIOS that UNDER-volts your input. At 1.3V in BIOS, read with any software application (not including AOD) - it will be 1.28V, and the difference increases with the increase in voltage.
2) Isochronous Flow-Control Mode: This has to do with how information is passed between the CPU, the GPU and the RAM along the NorthBridge. It has been a part of the BIOS for HT since AGP 8X, but the option to enable or disable it is a fairly recent addition. When this option is enabled, it assigns the information a number, in the order it was received. Each bit of information is then processed in that order along the route. In toher words, there is no loss of information, but the processing in this orderly manner has drawbacks. If you choose to enable this feature, you will also need to enable UnitID Clumping and then under PCI-E COnfiguraiton and the NB-SB section of the BIOS, VC1 needs to be enabled as well.
3) UnitID Clumping: Simply put, it accounts for not all devices being equally quick at processing information. This allows each device to support a longer waiting line. VC1 accounts for a major drawback of Isochronous Flow-Control mode in that the flow control mode does not allow any information to break line. Everything must wait it’s turn. Therefore, if one piece of info is intended for the CPU and in front of it is info the for GPU, the info for the GPU needs to be processed before the CPU info is processed; plus, if there is a waiting line of info to be processed onthe GPU, the CPU info is held up all that much longer. VC1 comes to the rescue by letting the CPU info break line, bypassing the GPU info jam to join the CPU info queue.
4) Tristating (in all forms): Tristating is a power saving feature in addition to ASPM linking. Whatever sections you want to enable Tristate in, you reduce the energy needed to run that area, but the downside is that you also reduce that area’s performance.
5) 2xLCLK: This setting only affects HT 3.0, so Phenom’s may benefit from it while with Athlon’s, it just does not apply. LCLK stands for Latency Clock. The 2x means that instead of one full bandwidth HT Link you are requesting two half bandwidth HT Links. For performance, at times it is better to have a two lane highway; traffic flowing in both directions at the same time along the same strip of asphalt at 50mph, than it is to have a single lane highway along the same strip of asphalt with traffic lights controlling the directional flow at 100mph.
Hopefully, there’s enough information there to get some of you going, and certainly enough to read more than once, pulling something new each time it’s read.

Saturday, May 25, 2013

Covert Channels

Covert Channels


This is a pretty Old article

Introduction
------------
Security. We all know what "security" entails. But to design a "secure" system,
whether that be an application, a process, a phone line, or even a door locking
system, is a huge resource consuming task that is inevitably doomed from the
beginning.
Security these days is even measured in an ambiguous "better than the other
choice" manner. It's sad really, there's no scale, no proofs, indeed nothing
definite or concrete about it. We simply accept that a this "thing" is secure.
I mean who would want to read my boring e-mail anyway right?
When I read things like the above, I tend to laugh. Sometimes "good enough"
is really "good enough". It's easy to say my server won't get owned when it's
a locked down, minimal app, OpenBSD box with a 28 character user password that
spans 3 character alphabets, sitting behind a firewall that denys all but a
single VPN connection inbound. Isn't it?
Well, today I'm going to describe a method that is often forgotten, ignored,
or just plain never realized by a vast majority of admins that could completely
bypass the security described above depending on your purpose.
They're called covert channels.
What is a Covert Channel?
--------------------------
Imagine you're a scout for an army back in the late 1300s. You've been captured
by the enemy and taken to their great fortress rumored to be impenetrable. There
you've been tossed into a dungeon with no conceivable way of escape. During your
imprisonment, your army shows up and blockades the fortress. You know that any
attempt to siege the fortress is suicide and that your only chance for escape is
the victory of your army. You have one hope - on your trip into the fortress you
noticed a weakness in the fortress, a weakness that if exploited could lead to
victory for your army.
You can't communicate this weakness to the outside. You can't communicate with
anyone. You're locked down with no permissions. What do you do?
Lets say for the sake of argument that your cell has a window and you have the
means to make fire. You could send smoke signals to your army. If the window was
facing the army and the sun, you could use reflective material to reflect a
medieval equivalent of morse code. If you had a big stick and your cell had
iron bars you could strike the iron hard enough to echo a sound pattern to the
army. All of these methods are known as covert channels.
Formally speaking, a covert channel is nothing more than a shared medium of at
least 2 parties that can be used to transmit information.
They represent the true essence of hacking. Use a tool or a mechanism in a way
that has not been thought of to access information that you may not normally
be able to. It requires the use of your mind. It's pure, it's elegant, and
it's damn near unstoppable.
Shared Mediums
-------------
All communication, whether it be a human talking to a computer, two humans
talking, a human an alien and a computer, or just two computers, is done using
some common medium.
Two phones communicate through a phone line. Two people talk through sight or
sound. Two computers normally communicate through network medium like wireless
or ethernet. Two processes on a computer can talk through a socket or a pipe.
Covert channels are simply shared mediums that allow two parties to communicate
when they're normally not supposed to.
If you think about it, there are hundreds of these in computers. Some of them
can pose major security threats if exploited properly. Consider the following:
- CPU is shared by all processes assuming there is only 1 of them in the
system.
- Network Bandwidth / Connection
- Physical Memory
- Files
- Printer or any other peripheral.
Really any shared resource can be used as a shred medium in a computer.
Exploit Scenarios
-----------------
So how do we use any of this?
Consider a typical annoyance in the computer world. You're a user and you want
to print something for a meeting in 10 minutes. 15 minutes roll by and you
still don't have your document because some jackass graphic designer is printing
a 20' Sponge Bob poster for his son and he's doing it one 8" page at a time.
This is known as "starvation" in computer terms, more specifically, when one
process hogs the processor and effectively starves the other process out being
able to work. In the office, this is known as "being a dick".
Basic Printer Scenario
----------------------
Let's turn this into a covert channel. I'm going to write a "sender" program
that is going to send the message "Hello" to a "receiver" one bit at a time by
hogging the printer resource. Assume for argument's sake that the printer has
no buffer.
Assume hogging the printer for 1 second is a 1, and not hogging the printer at
all is a 0.
The receiver program simply needs to print test pages in a uniform manner. Let's
say consecutively with no breaks.
The sender program will print a page when it wants to send a 1, and not print a
page when it wants to send a 0.
Now all that's left is synchronization. Well we have existing network protocols
that can synchronize 2 processes. I won't go into detail on those, see the RFCs
if you want that information.
The sender will begin by requesting a print 1 microsecond before the receiver.
The receiver will then try to print and realize it can't. It will log that as a 1.
etc...
What if an actual person legitimately tries to use the printer? Well this is the
same scenario as packet conflict over a network. We have error checking protocols
for network communication already. Sticking a CRC Checksum on the end of the
message is not difficult to ensure the message is correct.
You can begin to see how simple these are to program. The printer example may
not be a good medium to communicate over because it is used frequently. This is
no different than a busy ethernet link or a wireless connection that experiences
a lot of interference. A CPU may be used more efficiently due to the fact that
you can do a lot, much faster, over a shorter period of time on them.
Footprinting - Determine OS Scenario
------------------------------------
Covert channels are used quite often but rarely understood that they are in
fact covert channels. This is common in footprinting - the process of gathering
information about a computer.
Take the TCP Handshake for example.
 Client   Server
      SYN ->
  <- SYN / ACK
      ACK -> 
This communication, by protocol definition, uses sequence numbers to ensure
that packets are sent and received properly. I'm not going to get into where
sequence numbers originate, but everyone uses them.
In the TCP Handshake it looks kind of like this:
Client:  SYN (seq#A) ->
       <-SYN/ACK (seq#A +1, seq#B) : Server
Client:  ACK (seq#B +1, seq#A +1)
Certain Operating systems would use the same sequence numbers on SYN/ACK of
the handshake. You could use this information to determine which OS the server
is running. OS often is very useful information to have.
(Note: To solve this problem, OS's started randomizing their sequence numbers)
Conclusion
----------
You may have started to notice that covert channels are not "exploit in a can".
They half require some kind of administrative access. It's important to remember
that covert channels are just channels of communication. They're useful when you
have something already in a sensitive area and want to communicate with it
secretly.
They can be used to bypass communication restrictions, talk secretly when being
monitored, and - if created very carefully - listen to information being
transmitted accidentally.
It is theoretically possible to determine what a processor is processing based
on how long it takes to compute something and how it affects its memory. Although
actually writing something to do this would be extraordinarily difficult.
The major advantage to covert channels is that nobody thinks about shared resources
when creating "secure" systems. This is in inherent vulnerability.
Another good example
--------------------
If I have a trojan or rootkit on your system, I could still give it commands
regardless if you restricted it using a firewall. I could build it to listen to
bandwidth levels and then just DOS you in a set pattern that the server
understands.
Your own creativity is really the only limitation with these. Use your
imagination. Have fun. Break something (that you're allowed to break). Play with
your balls a little and see what you come up with. You'll do fine.
Rough Proof of Concept Code
---------------------------
Below is something I coded up quick a few months ago to prove to myself that it
was possible to communicate through the processor.
This code assumes only 1 core. I tested it on a quad core by simply running 4
instances and it did work, though messy.
Note: This is written in C.
Client
-------------------------------------------------------------------------------
[code]
/* Includes */

 #include <stdio.h>

 #include <sys/types.h>

 #include <time.h>

 

 /* Prototypes for functions to use the covert channel */

 int getBit(int ref);

 int getRefTime();

 

 int main(int argc, char *argv[]) {



   /* We need to get a reference time.          */

   /* Multiply by 1.25 to prevent accidental 1s.*/

   int refTime = getRefTime() * 1.25;   



   /* Just read constantly, this will fight for the processor*/

   while(1) {

      fprintf(stdout, "%d\n", getBit(refTime));

   }

 

   return 0;

 

 }

 

 /* Getting a bit is simple, run a long loop and see how long it took to process

    in processor time.  No its not exact but this is just a proof of concept */

 int getBit(int ref) {



   int start, end, i;



   start = clock();

   for(i=0; i<1000000000; i++){}

   end = clock();



   if( (end-start) > ref)

        return 1;



   else

        return 0;       



 }



 /* This will get a reference time so we can determine busy or slow */

 int getRefTime() {



   int start, end, i;



   start = clock();

   for(i = 0; i<1000000000; i++){}

   end = clock();

   return end-start;
 }
[/code]

Server
------------------------------------------------------------------------------

[code]

/* Includes */

 #include <stdio.h>

 #include <sys/types.h>

 #include <time.h>

 #include <unistd.h>

 

/* Prototypes for functions to use the covert channel */

 void send1Bit();

 void send0Bit();

 

 int main(int argc, char *argv[]) {



   /* Just send every other bit */

   while(1) {

      send1Bit();

      send0Bit();

   }



   return 0;

 }



 /* Send a 1 bit by doing math in a long loop */

 void send1Bit() {



   int x = 1;

   int i;



   //This takes approximately 3 seconds to run, depending on processor

   for(i=0; i<2000000000; i++) {

        x += x * 3;

   }



 }



 /* Send a 0 bit by doing nothing for 3 seconds */

 void send0Bit() {

   sleep(3);

 }

[/code]

Friday, September 21, 2012

20 Great Google Secrets


20 Great Google Secrets



http://www.pcmag.com/article2/0,4149,1306756,00.asp

excl.gif No Active Links, Read the Rules - Edit by Ninja excl.gif



Google is clearly the best general-purpose search engine on the Web (see

www.pcmag.com/searchengines

But most people don't use it to its best advantage. Do you just plug in a keyword or two and hope for the best? That may be the quickest way to search, but with more than 3 billion pages in Google's index, it's still a struggle to pare results to a manageable number.

But Google is an remarkably powerful tool that can ease and enhance your Internet exploration. Google's search options go beyond simple keywords, the Web, and even its own programmers. Let's look at some of Google's lesser-known options.

Syntax Search Tricks

Using a special syntax is a way to tell Google that you want to restrict your searches to certain elements or characteristics of Web pages. Google has a fairly complete list of its syntax elements at

www.google.com/help/operators.html

. Here are some advanced operators that can help narrow down your search results.

Intitle: at the beginning of a query word or phrase (intitle:"Three Blind Mice") restricts your search results to just the titles of Web pages.

Intext: does the opposite of intitle:, searching only the body text, ignoring titles, links, and so forth. Intext: is perfect when what you're searching for might commonly appear in URLs. If you're looking for the term HTML, for example, and you don't want to get results such as

www.mysite.com/index.html

, you can enter intext:html.

Link: lets you see which pages are linking to your Web page or to another page you're interested in. For example, try typing in

link:http://www.pcmag.com


Try using site: (which restricts results to top-level domains) with intitle: to find certain types of pages. For example, get scholarly pages about Mark Twain by searching for intitle:"Mark Twain"site:edu. Experiment with mixing various elements; you'll develop several strategies for finding the stuff you want more effectively. The site: command is very helpful as an alternative to the mediocre search engines built into many sites.

Swiss Army Google

Google has a number of services that can help you accomplish tasks you may never have thought to use Google for. For example, the new calculator feature

(www.google.com/help/features.html#calculator)

lets you do both math and a variety of conversions from the search box. For extra fun, try the query "Answer to life the universe and everything."

Let Google help you figure out whether you've got the right spelling—and the right word—for your search. Enter a misspelled word or phrase into the query box (try "thre blund mise") and Google may suggest a proper spelling. This doesn't always succeed; it works best when the word you're searching for can be found in a dictionary. Once you search for a properly spelled word, look at the results page, which repeats your query. (If you're searching for "three blind mice," underneath the search window will appear a statement such as Searched the web for "three blind mice.") You'll discover that you can click on each word in your search phrase and get a definition from a dictionary.

Suppose you want to contact someone and don't have his phone number handy. Google can help you with that, too. Just enter a name, city, and state. (The city is optional, but you must enter a state.) If a phone number matches the listing, you'll see it at the top of the search results along with a map link to the address. If you'd rather restrict your results, use rphonebook: for residential listings or bphonebook: for business listings. If you'd rather use a search form for business phone listings, try Yellow Search

(www.buzztoolbox.com/google/yellowsearch.shtml).




Extended Googling

Google offers several services that give you a head start in focusing your search. Google Groups

(http://groups.google.com)

indexes literally millions of messages from decades of discussion on Usenet. Google even helps you with your shopping via two tools: Froogle
CODE
(http://froogle.google.com),

which indexes products from online stores, and Google Catalogs
CODE
(http://catalogs.google.com),

which features products from more 6,000 paper catalogs in a searchable index. And this only scratches the surface. You can get a complete list of Google's tools and services at

www.google.com/options/index.html

You're probably used to using Google in your browser. But have you ever thought of using Google outside your browser?

Google Alert

(www.googlealert.com)

monitors your search terms and e-mails you information about new additions to Google's Web index. (Google Alert is not affiliated with Google; it uses Google's Web services API to perform its searches.) If you're more interested in news stories than general Web content, check out the beta version of Google News Alerts

(www.google.com/newsalerts).

This service (which is affiliated with Google) will monitor up to 50 news queries per e-mail address and send you information about news stories that match your query. (Hint: Use the intitle: and source: syntax elements with Google News to limit the number of alerts you get.)

Google on the telephone? Yup. This service is brought to you by the folks at Google Labs

(http://labs.google.com),

a place for experimental Google ideas and features (which may come and go, so what's there at this writing might not be there when you decide to check it out). With Google Voice Search

(http://labs1.google.com/gvs.html),

you dial the Voice Search phone number, speak your keywords, and then click on the indicated link. Every time you say a new search term, the results page will refresh with your new query (you must have JavaScript enabled for this to work). Remember, this service is still in an experimental phase, so don't expect 100 percent success.

In 2002, Google released the Google API (application programming interface), a way for programmers to access Google's search engine results without violating the Google Terms of Service. A lot of people have created useful (and occasionally not-so-useful but interesting) applications not available from Google itself, such as Google Alert. For many applications, you'll need an API key, which is available free from
CODE
www.google.com/apis

. See the figures for two more examples, and visit

www.pcmag.com/solutions

for more.

Thanks to its many different search properties, Google goes far beyond a regular search engine. Give the tricks in this article a try. You'll be amazed at how many different ways Google can improve your Internet searching.


Online Extra: More Google Tips


Here are a few more clever ways to tweak your Google searches.

Search Within a Timeframe

Daterange: (start date–end date). You can restrict your searches to pages that were indexed within a certain time period. Daterange: searches by when Google indexed a page, not when the page itself was created. This operator can help you ensure that results will have fresh content (by using recent dates), or you can use it to avoid a topic's current-news blizzard and concentrate only on older results. Daterange: is actually more useful if you go elsewhere to take advantage of it, because daterange: requires Julian dates, not standard Gregorian dates. You can find converters on the Web (such as

CODE
http://aa.usno.navy.mil/data/docs/JulianDate.html

excl.gif No Active Links, Read the Rules - Edit by Ninja excl.gif


), but an easier way is to do a Google daterange: search by filling in a form at

www.researchbuzz.com/toolbox/goofresh.shtml or www.faganfinder.com/engines/google.shtml

. If one special syntax element is good, two must be better, right? Sometimes. Though some operators can't be mixed (you can't use the link: operator with anything else) many can be, quickly narrowing your results to a less overwhelming number.

More Google API Applications

Staggernation.com offers three tools based on the Google API. The Google API Web Search by Host (GAWSH) lists the Web hosts of the results for a given query

(www.staggernation.com/gawsh/).

When you click on the triangle next to each host, you get a list of results for that host. The Google API Relation Browsing Outliner (GARBO) is a little more complicated: You enter a URL and choose whether you want pages that related to the URL or linked to the URL

(www.staggernation.com/garbo/).

Click on the triangle next to an URL to get a list of pages linked or related to that particular URL. CapeMail is an e-mail search application that allows you to send an e-mail to google@capeclear.com with the text of your query in the subject line and get the first ten results for that query back. Maybe it's not something you'd do every day, but if your cell phone does e-mail and doesn't do Web browsing, this is a very handy address to know.