BIOS, RAM, ROM, Capacity, Transistors, Capacitors, Throughput, Bandwidth, Transfer Rates...and more...these are all buzz words you've heard used on this site, as well as others...but you never got a complete explanation on what they mean. Well, here I am to provide you with some information. I'll try to add more information to this Guide weekly, each week concentrating on a different topic. This week, special thanks goes out to Avinash Baliga for writing 4, count em, 4 sections for this guide. Thanks Avinash!


Binary Number System
Without this precious system, there would be no computer hardware for me to test =) Computer Science revolves around the idea that every function, every idea, and every procedure can be expressed by a single digit, a 1 or a 0. The outcome of any given situation is either True, or False, 1 or 0. If you relate this to electricity and electrical engineering (not going to go into great depth here), your processor can only determine one of two things, whether or not there is any electrical current running over a tiny wire at any given point in time. It takes a LOT of these true or false comparisons to generate that pretty little graphical interface you see on your screen now, more than you can imagine.



You should be quite familiar with these terms. BIOS, an acronym meaning Basic Input Output System, is quite self explanatory, it is the Basic I/O System which contains all information about your system necessary for Basic Input and Output functions. Sometimes the BIOS Setup will be referred to as CMOS Setup, however I should mention that the acronym CMOS stands for Complementary Metal Oxide Semiconductor. A term commonly associated with a system's BIOS is POST, or Power-On Self Test. POST is a series of tests which run before you ever see that wonderful "Starting Windows 95" Screen. During POST, the system's key components are examined and quickly tested for possible defects or configuration problems. When a machine "won't POST", it has failed one or more of the initial tests made by the BIOS and therefore an error is generated, signaling the hardware to either stop responding or produce a text output for the user to diagnose and interpret.



Bits & Bytes & Transfer Rates
Now I know you've used the terms Bits, and Bytes sometime in your computer-using lifetime, most likely with some mega or giga prefixes. But have you ever actually understood what you were talking about? Lets simplify this, in computer science, a bit is the amount of space necessary to account for a single comparison's outcome. Confused? A bit is the amount of space needed to store one digit in a binary number system (see Binary Number System), a 1 or a 0. A byte then is a combination of 8 bits, or 8 1's and 0's (i.e. 10010010). A megabyte, is the most misunderstood measurement of storage. A kilobyte is in fact, 210 bytes, or 1024 bytes. In that case, a Kilobit (not a kilobyte) is 1/8 of a kilobyte (8 bits in a byte) or 128 bytes. Meaning that a megabyte, is 210 kilobytes, or 1024 kilobytes (KB). In turn, a megabit is equal to 1/8 of a megabyte, or 128 kilobytes (KB). Therefore, as you might expect, a gigabyte is equal to 210 megabytes, or 1024 megabytes. Therefore a gigabit is 1/8 of a gigabyte, or 128 megabytes (MB). I know you've heard the modems referred to by their maximum transfer rates, i.e. 28.8K, 33.6K, 56K etc... Lets take a 33.6K modem for example, sometimes referred to a 33,600 bps or baud modem. The 33.6K means the modem can transfer at 33.6 kilobits not kilobytes per second. Many people have made that mistake, and wonder why their transfer rates are so slow. Well that's why, your 33.6K modem is transmitting and receiving data at 33.6 kilobits per second or about 34406 bits per second. Divide that number by 8, and you get a maximum transfer rate of around 4300 bytes per second, which translates into 4.2 kilobytes per second (KB/S). You also have to factor in net traffic and the current limitations of our analog phone lines, but that is basically the deal behind Bits, Bytes, and Transfer Rates



The bus is like a set of tiny wires that are on your motherboard. They allow the processor to access RAM and to interact with other devices, such as a graphics card, printer, sound card, hard-drive, and anything else that's in your computer. It used to be that the bus operated at speeds equivalent to the processor (33MHz 80386 had a 33MHz bus), but this quickly changed after processors got to 50MHz (only 33MHz bus-speed back then). Nowadays, with processors at 200+MHz there's no way that the bus can even come close to the processor's speed. This means that if the processor is accessing memory or an external device (on the motherboard) the time it takes will be significantly slower than if it simply accessed it's own internal hardware (registers, L1 cache). The bus is of an ingenious design where the processor sends the signal to all devices and the component that is supposed to receive the message responds, the rest ignore it. The bus is sort of like a megaphone that the processor shouts commands through, and only the individual components the processor is calling obey their commands.

Courtesy of Avinash Baliga of Vzzrzzn's Programming Homepage



You've heard everyone make the claim that larger capacitors, and more of them make motherboards run stable...but you've never been told why. Lets discuss, first of all, what a capacitor is. A Capacitor is simply 2 conductive plates, separated by an insulating material. A capacitor's main function is to store an electrical charge. The insulating material separating the 2 conductive plates is used as a resistor, or something that resists electrical current, and therefore is used as a sort of a regulator in this case. So what makes more capacitors better? If used properly, more capacitors can allow motherboard manufacturers to more accurately and more reliably control the voltages being supplied to the CPU. Therefore increasing stability, especially during times when the voltage levels required by the CPU become critical (i.e. when overclocking!). It is because of this that motherboards with larger, better quality, and therefore longer lasting capacitors are much more reliable and stable at higher bus speeds (i.e. AOpen AX5T or Megatrends HX83). In the case of some motherboards, superb design and engineering makes it possible to overclock some processors (like the AMD K6) without having to increase the CPU's voltage. Ever wondered why on some motherboards in order to overclock a Pentium 133 to 166, or K6-166 to 225 you need to increase the voltage supplied to the CPU while on other boards with the exact same chip it isn't necessary? It is somewhat due to the engineering quality of the motherboard, was the board manufactured using high quality capacitors with stability in mind? If the answer to that is no, then in some cases you will only receive stable performance at overclocked speeds with a processor by increasing its core voltage. This is not true in all situations, it depends on the placement and application of the capacitors to determine their outcome. Just because one motherboard uses 20 capacitors and another uses 12 doesn't mean that the latter motherboard will be less stable or less reliable. The rule of thumb is that more capacitors near key components or ICs (see IC - Integrated Circuit) (such as the CPU Socket, Voltage Regulators, even expansion slots!) the better the application of the capacitors. When choosing a motherboard there are a few types of capacitors commonly used. Although most Tantalum capacitors are sufficient for normal, and even overclocked operation, the big bad Sanyo capacitors are what you need for a rock solid motherboard. Companies that use Sanyo capacitors, include AOpen, ASUS and Megatrends just to name a few. And it is because of their excellent engineering and design, as well as proper use of high quality capacitors that their motherboards are among the best and most reliable.



There are currently two types of caches, L1 (level 1) and L2 (guess...). The L1 cache is built into the processor, so there are no bus-lines to go through; the L2 cache is an external piece, although I understand that on Pentium II's it's attached to the plug-in card. The cache is a layer between system RAM and your processor. Think of it like a salesperson in a department store. If there is a model on the shelf then it will be handed to you with little hassle; but if the shelf is empty then they will have to go to the storage area. Well the cache keeps track of the most recently used memory addresses (locations) within it and the values they contain. When the processor requests an access to memory (trust me, it will) then that address and value must be in the cache. If it is not, then the cache will load that value from memory, and replace some previously cached memory address with this new one (if necessary). If a program is not optimized to take advantage of the cache's ability to make repeated access to the same address, then severe performance hits result. For instance, to speed itself up, the L1 cache on the Pentium loads strips of 32 bytes at a time from the L2 cache. If the address the program is looking for is not in the L1 cache, approximately 75 nanoseconds will be wasted on a P200. If this value is not in the L2 cache either, then an additional 1.5 to 2.5 microseconds will be wasted in "cache thrashing". All this for one add instruction that uses a seldom-used RAM location! Think about the number of adds, subtracts, and moves that are done in code. Microseconds are certainly an insignificant measure of time for you and me, but now think about whether your 50ns EDO RAM or your 10ns SDRAM is performing up to par! I hope I have proved my point.

Courtesy of Avinash Baliga of Vzzrzzn's Programming Homepage



Comments Locked


View All Comments

Log in

Don't have an account? Sign up now