main memory Refers to physical memory that is internal to the computer. The word main is used to distinguish it from external mass storage devices such as disk drives. Another term for main memory is RAM. The computer can manipulate only data that is in main memory. Therefore, every program you execute and every file you access must be copied from a storage device into main memory. The amount of main memory on a computer is crucial because it determines how many programs can be executed at one time and how much data can be readily available to a program. Because computers often have too little main memory to hold all the data they need, computer engineers invented a technique called swapping, in which portions of data are copied into main memory as they are needed. Swapping occurs when there is no room in memory for needed data. When one portion of data is copied into memory, an equal-sized portion is copied (swapped) out to make room. Another technique, called virtual memory, enables a computer to access larger amounts of data than main memory can hold at one time, but it is a relatively slow process. Therefore, the more memory a computer has and the more it can avoid swapping, the faster it will be able to execute large programs. Now, most PCs come with a minimum of 8 megabytes of main memory. This is adequate for some applications, but you may need more memory to run sophisticated applications, particularly those that include graphics. You can usually increase the amount of memory by inserting extra memory in the form of chips or memory expansion boards. memory Internal storage areas in the computer. The term memory identifies data storage that comes in the form of chips, and the word storage is used for memory that exists on tapes or disks. Moreover, the term memory is usually used as a shorthand for physical memory, which refers to the actual chips capable of holding data. Some computers also use virtual memory, which expands physical memory onto a hard disk. Every computer comes with a certain amount of physical memory, usually referred to as main memory or RAM. You can think of main memory as an array of boxes, each of which can hold a single byte of information. A computer that has 1 megabyte of memory, therefore, can hold about 1 million bytes (or characters) of information. There are several different types of memory: RAM (random-access memory): This is the same as main memory. When used by itself, the term RAM refers to read and write memory; that is, you can both write data into RAM and read data from RAM. This is in contrast to ROM, which permits you only to read data. Most RAM is volatile, which means that it requires a steady flow of electricity to maintain its contents. As soon as the power is turned off, whatever data was in RAM is lost. ROM (read-only memory): Computers almost always contain a small amount of read-only memory that holds instructions for starting up the computer. Unlike RAM, ROM cannot be written to. PROM (programmable read-only memory): A PROM is a memory chip on which you can store a program. But once the PROM has been used, you cannot wipe it clean and use it to store something else. Like ROMs, PROMs are non-volatile. EPROM (erasable programmable read-only memory): An EPROM is a special type of PROM that can be erased by exposing it to ultraviolet light. EEPROM (electrically erasable programmable read-only memory): An EEPROM is a special type of PROM that can be erased by exposing it to an electrical charge. RAM Pronounced ramm, acronym for random access memory, a type of computer memory that can be accessed randomly; that is, any byte of memory can be accessed without touching the preceding bytes. RAM is the most common type of memory found in computers and other devices, such as printers. There are two basic types of RAM: dynamic RAM (DRAM) static RAM (SRAM) The two types differ in the technology they use to hold data, dynamic RAM being the more common type. Dynamic RAM needs to be refreshed thousands of times per second. Static RAM needs to be refreshed less often, which makes it faster; but it is also more expensive than dynamic RAM. Both types of RAM are volatile, meaning that they lose their contents when the power is turned off. In common usage, the term RAM is synonymous with main memory, the memory available to programs. For example, a computer with 8M RAM has approximately 8 million bytes of memory that programs can use. In contrast, ROM (read-only memory ) refers to special memory used to store programs that boot the computer and perform diagnostics. Most personal computers have a small amount of ROM (a few thousand bytes). In fact, both types of memory (ROM and RAM) allow random access. To be precise, therefore, RAM should be referred to as read/write RAM and ROM as read-only RAM. dynamic RAM A type of physical memory used in most personal computers. The term dynamic indicates that the memory must be constantly refreshed (reenergized) or it will lose its contents. RAM (random-access memory) is sometimes referred to as DRAM (pronounced dee-ram) to distinguish it from static RAM (SRAM). Static RAM is faster and more stable than dynamic RAM, but it requires more power and is more expensive. SRAM Short for static random access memory, and pronounced ess-ram. SRAM is a type of memory that is faster and more reliable than the more common DRAM (dynamic RAM). The term static is derived from the fact that it needs to be refreshed less often than dynamic RAM. While DRAM supports access times of about 60 nanoseconds, SRAM can give access times as low as 10 nanoseconds. In addition, its cycle time is much shorter than that of DRAM because it does not need to pause between accesses. Unfortunately, it is also much more expensive to produce than DRAM. Due to its high speed, SRAM is often used only as a memory cache. SIMM Acronym for single in-line memory module, a small circuit board that can hold a group of memory chips. Typically, SIMMs hold up 8 (on Macintoshes) or 9 (on PCs) RAM chips. On PCs, the ninth chip is for parity error checking. Unlike memory chips, SIMMs are measured in bytes rather than bits. In today's SIMMs, each chip holds 2MB, so a single SIMM holds 16MB. SIMMs are easier to install than individual memory chips. The bus from a SIMM to the actual memory chips is 32 bytes wide. A newer technology, called dual in-line memory module (DIMM), provides a 64-bit bus. To take advantage of the 64-bit bus on Pentium microprocessors, you need to use either DIMMs or pairs of SIMMs. DIMM Short for dual in-line memory module, a small circuit board that holds memory chips. A single in-line memory module (SIMM) has a 32-bit path to the memory chips whereas a DIMM has 64-bit path. Because the Pentium processor requires a 64-bit path to memory, you need to install SIMMs two at a time. With DIMMs, you can install memory one DIMM at a time. However, DIMMs are currently more than twice as expensive as SIMMs. expanded memory Also known as EMS (Expanded Memory Specification), expanded memory is a technique for utilizing more than 1MB (megabyte) of main memory in DOS -based computers. The limit of 1MB is built into the DOS operating system. The upper 384K is reserved for special purposes, leaving just 640K of conventional memory for programs. There are several versions of EMS. The original versions, called EMS 3.0 and 3.2, enable programs to use an additional 8MB of memory, but for data only. An improved version developed by AST, Quadram and Ashton-Tate is known as EEMS (Extended EMS). EEMS enables programs to use extra memory for code as well as for data. The most recent version of EMS (created in 1987) is known as EMS 4.0 or LIM 4.0, LIM being the initials of the three companies that developed the specification: Lotus, Intel, and Microsoft. EMS 4.0 raises the available amount of memory to 32MB. Until the release of Microsoft Windows 3.0 in 1990, expanded memory was the preferred way to add memory to a PC. The alternative method, called extended memory, was less flexible and could be used only by special programs such as RAM disks. Windows 3.0 and all later versions of Windows, however, contain an extended memory manager that enables programs to use extended memory without interfering with one another. In addition, Windows can simulate expanded memory for those programs that need it. extended memory Memory above and beyond the standard 1MB (megabyte) of main memory that DOS supports. Extended memory is only available in PCs with an Intel 80286 or later microprocessor. Two types of memory can be added to a PC to increase memory beyond 1MB: expanded memory and extended memory. Expanded memory conforms to a published standard called EMS that enables DOS programs to take advantage of it. Extended memory, on the other hand, is not configured in any special manner and is therefore unavailable to most DOS programs. However, MS-Windows and OS/2 can use extended memory. conventional memory On DOS systems, conventional memory refers to the portion of memory that is available to normal programs. DOS systems have an address space of 1MB (megabyte), but the top 384K (called high memory) is reserved for system use. This leaves 640K of conventional memory. Everything above 1MB is either extended or expanded memory. high memory In DOS -based systems, high memory refers to the memory area between the first 640K and 1 megabyte. It is also called the upper memory area. cache Pronounced cash, a special high-speed storage mechanism. It can be either a reserved section of main memory or an independent high-speed storage device. Two types of caching are commonly used in personal computers: memory caching and disk caching. A memory cache, sometimes called a cache store or RAM cache, is a portion of memory made of high-speed static RAM (SRAM) instead of the slower and cheaper dynamic RAM (DRAM) used for main memory. Memory caching is effective because most programs access the same data or instructions over and over. By keeping as much of this information as possible in SRAM, the computer avoids accessing the slower DRAM. Some memory caches are built into the architecture of microprocessors. The Intel 80486 microprocessor, for example, contains an 8K memory cache, and the Pentium has a 16K cache. Such internal caches are often called Level 1 (L1) caches. Most modern PCs also come with external cache memory, called Level 2 (L2) caches. These caches sit between the CPU and the DRAM. Like L1 caches, L2 caches are composed of SRAM but they are much larger. Disk caching works under the same principle as memory caching, but instead of using high-speed SRAM, a disk cache uses conventional main memory. The most recently accessed data from the disk (as well as adjacent sectors) is stored in a memory buffer. When a program needs to access data from the disk, it first checks the disk cache to see if the data is there. Disk caching can dramatically improve the performance of applications, because accessing a byte of data in RAM can be thousands of times faster than accessing a byte on a hard disk. When data is found in the cache, it is called a cache hit, and the effectiveness of a cache is judged by its hit rate. Many cache systems use a technique known as smart caching, in which the system can recognize certain types of frequently used data. The strategies for determining which information should be kept in the cache constitute some of the more interesting problems in computer science. pipeline burst cache A type of memory cache built into many modern DRAM designs. Pipeline burst caches use two techniques - a burst mode that pre-fetches memory contents before they are requested, and pipelining so that one memory value can be accessed in the cache at the same time that another memory value is accessed in DRAM. The purpose of pipeline burst caches is to minimize wait states so that memory can be accessed as fast a possible by the microprocessor. An alternative DRAM design that provides even faster DRAM access is Synchronous DRAM (SDRAM). SDRAM also uses a burst mode, but because memory accesses are synchronized with the microprocessor bus, pipelining is not necessary. wait state A time-out period during which a CPU or bus lies idle. Wait states are sometimes required because different components function at different clock speeds. For example, if the CPU is much faster than the memory chips, it may need to sit idle during some clock cycles so that the memory chips can catch up. Likewise, buses sometimes require wait states if expansion boards run slower than the bus. A zero wait state microprocessor is one that runs at the maximum speed without any time-outs to compensate for slow memory. Wait states can be avoided by using a variety of techniques, including page-mode memory, interleaved memory, a burst mode, and memory caches. interleaved memory Main memory divided into two or more sections. The CPU can access alternate sections immediately, without waiting for memory to catch up (through wait states). Interleaved memory is one technique for compensating for the relatively slow speed of dynamic RAM (DRAM). Other techniques include page-mode memory and memory caches. burst mode A data transmission mode in which data is sent faster than normal. There are a number of techniques for implementing burst modes. In a data bus, for example, a burst mode is usually implemented by allowing a device to seize control of the bus and not permitting other devices to interrupt. In RAM, burst modes are implemented by automatically fetching the next memory contents before they are requested. This is essentially the same technique used by disk caches. The one characteristic that all burst modes have in common is that they are temporary and unsustainable. They allow faster data transfer rates than normal, but only for a limited period of time and only under special conditions. BIOS Pronounced "bye-ose," an acronym for basic input/output system. The BIOS is built-in software that determines what a computer can do without accessing programs from a disk. On PCs, the BIOS contains all the code required to control the keyboard, display screen, disk drives, serial communications, and a number of miscellaneous functions. The BIOS is typically placed on a ROM chip that comes with the computer (it is often called a ROM BIOS). This ensures that the BIOS will always be available and will not be damaged by disk failures. It also makes it possible for a computer to boot itself. Because RAM is faster than ROM, though, many computer manufacturers design systems so that the BIOS is copied from ROM to RAM each time the computer is booted. This is known as shadowing. Many modern PCs have a flash BIOS, which means that the BIOS has been recorded on a flash memory chip, which can be updated if necessary. The PC BIOS is standardized, so all PCs are alike at this level (although there are different BIOS versions). Additional DOS functions are usually added through software modules. This means you can upgrade to a newer version of DOS without changing the BIOS. PC BIOSes that can handle Plug-and-Play (PnP) devices are known as PnP BIOSes, or PnP-aware BIOSes. These BIOSes are always implemented with flash memory rather than ROM. CMOS Abbreviation of complementary metal oxide semiconductor. Pronounced see-moss, CMOS is a widely used type of semiconductor. CMOS semiconductors require less power than NMOS transistors, making them particularly attractive for use in battery-powered devices, such as portable computers. Many personal computers contain a small amount of battery-powered CMOS memory to hold the date, time, and system setup parameters. semiconductor A material that is neither a good conductor of electricity (like copper) nor a good insulator (like rubber). The most common semiconductor materials are silicon and germanium. Computer chips, both for CPU and memory, are composed of semiconductor materials. Semiconductors make it possible to miniaturize electronic components, such as transistors. Not only does miniaturization mean that the components take up less space, it also means that they are faster and require less energy. transistor A device composed of semiconductor material that amplifies a signal or opens or closes a circuit. Invented in 1947 at Bell Labs, transistors have become the key ingredient of all digital circuits, including computers. Today's microprocessors contains tens of millions of microscopic transistors. Prior to the invention of transistors, digital circuits were composed of vacuum tubes, which had many disadvantages. They were much larger, required more energy, dissipated more heat, and were more prone to failures. It's safe to say that without the invention of transistors, computing as we know it today would not be possible. integrated circuit Another name for a chip, an IC is a small electronic device made out of a semiconductor material. The first integrated circuit was developed in the 1950s by Jack Kilby of Texas Instruments and Robert Noyce of Fairchild Semiconductor. Integrated circuits are used for a variety of devices, including microprocessors, audio and video equipment, and automobiles. Integrated circuits are often classified by the number of transistors and other electronic components they contain: SSI (small-scale integration): Up to 100 electronic components per chip MSI (medium-scale integration): From 100 to 3,000 electronic components per chip LSI (large-scale integration): From 3,000 to 100,000 electronic components per chip VLSI (very large-scale integration): From 100,000 to 1,000,000 electronic components per chip ULSI (ultra large-scale integration): More than 1 million electronic components per chip chip A small piece of semiconducting material (usually silicon) on which an integrated circuit is embedded. A typical chip is less than ¼-square inches and can contain millions of electronic components (transistors). Computers consist of many chips placed on electronic boards called printed circuit boards. There are different types of chips. For example, CPU chips (also called microprocessors) contain an entire processing unit, whereas memory chips contain blank memory. Chips come in a variety of packages. The three most common are: DIPs : Dual in-line packages are the traditional buglike chips that have anywhere from 8 to 40 legs, evenly divided in two rows. PGAs : Pin-grid arrays are square chips in which the pins are arranged in concentric squares. SIPs : Single in-line packages are chips that have just one row of legs in a straight line like a comb. In addition to these types of chips, there are also single in-line memory modules (SIMMs), which consist of up to nine chips packaged as a single unit. microprocessor A silicon chip that contains a CPU. In the world of personal computers, the terms microprocessor and CPU are used interchangeably. At the heart of all personal computers and most workstations sits a microprocessor. Microprocessors also control the logic of almost all digital devices, from clock radios to fuel-injection systems for automobiles. Two basic characteristics differentiate microprocessors: bandwidth : The number of bits processed in a single instruction. clock speed : Given in megahertz (MHz), the clock speed determines how many instructions per second the processor can execute. In both cases, the higher the value, the more powerful the CPU. For example, a 32-bit microprocessor that runs at 50MHz is more powerful than a 16-bit microprocessor that runs at 25MHz. In addition to bandwidth and clock speed, microprocessors are classified as being either RISC (reduced instruction set computer) or CISC (complex instruction set computer). bandwidth The amount of data that can be transmitted in a fixed amount of time. For digital devices, the bandwidth is usually expressed in bits or bytes per second (bps). For analog devices, the bandwidth is expressed in cycles per second, or Hertz (Hz). The bandwidth is particularly important for I/O devices. For example, a fast disk drive can be hampered by a bus with a low bandwidth. This is the main reason that new buses, such as EISA and PCI, have been developed for the IBM PC. clock speed Also called clock rate, the speed at which a microprocessor executes instructions. Every computer contains an internal clock that regulates the rate at which instructions are executed and synchronizes all the various computer components. The CPU requires a fixed number of clock ticks (or clock cycles) to execute each instruction. For example, an Intel 80286 microprocessor needs about 20 clock cycles to multiply two numbers together. The faster the clock, the more instructions the CPU can execute per second. Clock speeds are expressed in megahertz (MHz), 1 MHz being equal to 1 million cycles per second. Personal computers have clock speeds of anywhere from 33 MHz to 300 MHz. Usually, the clock rate is a fixed characteristic of the microprocessor. Some computers, however, have a switch that lets you choose between two or more different clock speeds. This is useful because programs written to run on a machine with a high clock rate may not work properly on a machine with a slower clock rate, and vice versa. In addition, some add-on components may not be able to run at high clock speeds. The internal architecture of a CPU has as much to do with a CPU's performance as the clock speed, so two CPUs with the same clock speed will not necessarily perform equally. Whereas an Intel 80286 microprocessor requires 20 cycles to multiply two numbers, an Intel 80486 or later processor can perform the same calculation in a single clock tick. These newer processors, therefore, would be 20 times faster than the older processors even if their clock speeds were the same. In addition, some microprocessors are superscalar, which means that they can execute more than one instruction per clock cycle. Like CPUs, expansion buses also have clock speeds. Ideally, the CPU clock speed and the bus clock speed should be the same so that neither component slows down the other. In practice, the bus clock speed is often slower than the CPU clock speed. latency (1) In general, the period of time that one component in a system is spinning its wheels waiting for another component. Latency, therefore, is wasted time. For example, in accessing data on a disk, latency is defined as the time it takes to position the proper sector under the read/write head. (2) In networking, the amount of time it takes a packet to travel from source to destination. Together, latency and bandwidth define the speed and capacity of a network. boot (v) To load the first piece of software that starts a computer. Because the operating system is essential for running all other programs, it is usually the first piece of software loaded during the boot process. Boot is short for bootstrap, which in olden days was a strap attached to the top of your boot that you could pull to help get your boot on. Hence, the expression "pull oneself up by the bootstraps." Similarly, bootstrap utilities help the computer get started. (n) Short for bootstrap, the starting-up of a computer, which involves loading the operating system and other basic software. A cold boot is when you turn the computer on from an off position. A warm boot is when you reset a computer that is already on. operating system The most important program that runs on a computer. Every general-purpose computer must have an operating system to run other programs. Operating systems perform basic tasks, such as recognizing input from the keyboard, sending output to the display screen, keeping track of files and directories on the disk, and controlling peripheral devices such as disk drives and printers. For large systems, the operating system has even greater responsibilities and powers. It is like a traffic cop -- it makes sure that different programs and users running at the same time do not interfere with each other. The operating system is also responsible for security, ensuring that unauthorized users do not access the system. Operating systems can be classified as follows: multi-user : Allows two or more users to run programs at the same time. Some operating systems permit hundreds or even thousands of concurrent users. multiprocessing : Supports running a program on more than one CPU. multitasking : Allows more than one program to run concurrently. multithreading : Allows different parts of a single program to run concurrently. real-time: Responds to input instantly. General-purpose operating systems, such as DOS and UNIX, are not real-time. Operating systems provide a software platform on top of which other programs, called application programs, can run. The application programs must be written to run on top of a particular operating system. Your choice of operating system, therefore, determines to a great extent the applications you can run. For PCs, the most popular operating systems are DOS, OS/2, and Windows, but others are available, such as Xenix. As a user, you normally interact with the operating system through a set of commands. For example, the DOS operating system contains commands such as COPY and RENAME for copying files and changing the names of files, respectively. The commands are accepted and executed by a part of the operating system called the command processor or command line interpreter. Graphical user interfaces allow you to enter commands by pointing and clicking at objects that appear on the screen. multitasking The ability to execute more than one task at the same time, a task being a program. The terms multitasking and multiprocessing are often used interchangeably, although multiprocessing sometimes implies that more than one CPU is involved. In multitasking, only one CPU is involved, but it switches from one program to another so quickly that it gives the appearance of executing all of the programs at the same time. There are two basic types of multitasking: preemptive and cooperative. In preemptive multitasking, the operating system parcels out CPU time slices to each program. In cooperative multitasking, each program can control the CPU for as long as it needs it. If a program is not using the CPU, however, it can allow another program to use it temporarily. OS/2, Windows 95, Windows NT, the Amiga operating system and UNIX use preemptive multitasking, whereas Microsoft Windows 3.x and the MultiFinder (for Macintosh computers) use cooperative multitasking. multithreading The ability of an operating system to execute different parts of a program, called threads, simultaneously. The programmer must carefully design the program in such a way that all the threads can run at the same time without interfering with each other. SMP (1) Short for Symmetric Multiprocessing, a computer architecture that provides fast performance by making multiple CPUs available to complete individual processes simultaneously (multiprocessing). Unlike asymmetrical processing, any idle processor can be assigned any task, and additional CPUs can be added to improve performance and handle increased loads. A variety of specialized operating systems and hardware arrangements are available to support SMP. Specific applications can benefit from SMP if the code allows multithreading. SMP uses a single operating system and shares common memory and disk input/output resources. (2) Short for Simple Management Protocol, another name for SNMP2. SNMP2 is an enhanced version of the Simple Network Management Protocol (SNMP) with features required to support larger networks operating at high data transmission rates. SNMP2 also supports multiple network management workstations organized in a hierarchical fashion. partition (v) To divide memory or mass storage into isolated sections. In DOS systems, you can partition a disk, and each partition will behave like a separate disk drive. Partitioning is particularly useful if you run more than one operating system. For example, you might reserve one partition for DOS and another for UNIX. In addition, partitioning on DOS and Windows machines can improve disk efficiency. This is because the FAT system used by these operating systems automatically assigns cluster size based on the disk size: the larger the disk, the larger the cluster. Unfortunately, large clusters can result in a wasted disk space. There is an entire sector of the software industry devoted to building utilities that let you partition your hard disk. On Apple Macintosh computers, there are two types of partitioning: hard and soft. Hard partitioning is the same as DOS partitioning -- the disk is physically divided into different sections. Soft partitioning, on the other hand, does not physically affect the disk at all, but it fools the Finder into believing that the disk is partitioned. The advantage of this is that you can partition the disk without affecting the data on it. With hard partitioning, it is usually necessary to reformat the entire disk. (n) A section of main memory or mass storage that has been reserved for a particular application. cluster A group of disk sectors. The operating system assigns a unique number to each cluster and then keeps track of files according to which clusters they use. Occasionally, the operating system marks a cluster as being used even though the file that is supposedly using it no longer exists. This is called a lost cluster. You can free up disk space by deleting lost clusters, but you should first make sure that the clusters do not, in fact, contain valuable data. In DOS and Windows, you can find lost clusters with the ScanDisk utility. DOS and Windows keep track of clusters with the File Allocation Table (FAT). The size of each cluster depends on the disk's partition size. sector The smallest unit that can be accessed on a disk. When you format a disk, the operating system divides it into tracks and sectors. The tracks are concentric circles around the disk and the sectors are segments within each circle. For example, a formatted disk might have 40 tracks, with each track divided into 10 sectors. The operating system and disk drive keep tabs on where information is stored on the disk by noting its track and sector number. Generally, every track has the same number of sectors, but some high-capacity hard disk drives use a technique called zoned-bit recording in which tracks on the outside of the disk contain more sectors than those on the inside. A sector that cannot be used due to a physical flaw on the disk is called a bad sector. Finder The desktop management and file management system for Apple Macintosh computers. In addition to managing files and disks, the Finder is responsible for managing the Clipboard and Scrapbook and all desktop icons and windows. CPU Abbreviation of central processing unit, and pronounced as separate letters. The CPU is the brains of the computer. Sometimes referred to simply as the processor or central processor, the CPU is where most calculations take place. In terms of computing power, the CPU is the most important element of a computer system. On large machines, CPUs require one or more printed circuit boards. On personal computers and small workstations, the CPU is housed in a single chip called a microprocessor. Two typical components of a CPU are: The arithmetic logic unit (ALU), which performs arithmetic and logical operations. The control unit, which extracts instructions from memory and decodes and executes them, calling on the ALU when necessary. Electrical Power Basics Electricity is, of course the flow of electrons through a wire. These electrons provide the energy that drives your computer and other devices. Electricity is described using four main characteristics: voltage, current, volt-amps and power. The reason why volt-amps and power are of interest to the computer user is that the amount of power used by your computer equipment is typically expressed in watts, while the power supplied by uninterruptible power supplies, for example, is usually expressed in volt-amps. You must use the conversion factor to make sure you are not comparing apples and oranges. Voltage The voltage on the line represents the force of the electricity, in terms of how much "push" it is making across the wire. If you compare the flow of electricity to the flow of water in a waterfall, the voltage represents how high the waterfall is; the higher, the stronger the flow of water. Voltage is measured in volts, abbreviated "V". Current Current is a measure of how much electricity is in the line; how many electrons are moving through in a given unit of time. In the waterfall analogy, the current is how much water is going over the edge of the fall every second. Current is measured in amperes, or amps, abbreviated "A". Volt-Amps This is the product of voltage and current, and represents the total "raw" amount of power being supplied by the electrical source. It is measured (not surprisingly) in volt-amps ("VA"). Power Power is the amount of actual electrical work being performed over a period of time. It is measured in watts ("W"). If the load on the electrical line is a simple one (like a light bulb), power is equal to volt-amps, and the amount of power consumed is equal to the amount of power supplied. However, the PC power supply is a complex load, because of the way that it works to convert the power from the power line to the type used inside the PC. In this case, converting between volt-amps and wattage requires a conversion factor, which companies that make power equipment usually use as 1.4. Thus, volt-amps would be 1.4 times power in this case. External Power Problems There are several types of problems that your computer's internal power supply will be subjected to if you choose to plug the computer right into the wall. Some are minor problems that your system may be able to deal with, while others can cause data loss or even permanent damage to your PC. Line Noise Line noise consists of small variations in the voltage level delivered to the computer. A certain amount of line noise is normal (no power generation circuits are perfect) and for the mostpart, all but the absolutely cheesiest power supplies will deal with them without difficulty. However, in some areas the power quality is worse than others. Also, if the PC is sharing a circuit or physically located near devices that cause electromagnetic interference (motors, heavy machinery, radio transmitters, etc.) then line noise can be a concern. Noise that the power supply cannot handle can cause it to malfunction and pass the problem on to your motherboard or internal devices. Some devices in your own home or office can produce line noise and pass it on to other devices through the power system. Better power protection devices will isolate devices that plug into them to prevent this cross-pollution. Surges The power coming from your wall is rated by the electrical company to be within a certain voltage range. The nominal voltage for North American circuits is 110 volts. Due to disturbances, distant lightning strikes, and problems within the electrical grid, on occasion a voltage spike may come down the line. This is a temporary increase of voltage that can last just a few thousandths of a second, but in this time the voltage can increase from 110 to 1,000 volts or even higher. Most computer power supplies are subjected to many of these surges each year. High voltage surges can disrupt or even damage your computer equipment. In addition, being subjected to many surges over a period of time will slowly degrade many power supply units and cause them to fail prematurely. Lightning Strikes I don't need to say too much about these! Lightning can deliver a charge of millions of volts, and if your home is hit directly, significant damage will likely be the result. Good line protection equipment can often help reduce the chances of catastrophe should lightning strike, usually by being the "sacrificial lamb" and going up in smoke (which is OK--it's better than your PC doing that). A strike near your home will likely result in a voltage spike on the line, albeit a very strong one. Brownouts A brownout is a "dip" in the voltage level of the electrical line. When a brownout occurs, the voltage drops from its normal level to a lower voltage and then returns; in some ways, it's like the opposite of a surge. They are extremely common, and can lead to mysterious problems you wouldn't blame on the power system. You can sometimes detect a brownout by noticing the lights flickering or dimming; they occur often during heavy load periods such as in the late afternoon on a hot summer day. Brownouts can wreak havoc with computer systems. In many ways, they are worse than a blackout. In a blackout, the power just goes off, but with a brownout the device continues to get power but at a reduced level, and many devices will malfunction rather than failing totally. Blackouts A blackout, of course, is when the power totally fails. The damage that a blackout causes to your system depends a great deal on its timing. If the system is idle when the power goes out, probably nothing will be wrong with the system when the power comes back on. If the power goes while you are fixing problems on your hard disk, just as the drive was updating your file allocation tables, you're more likely to have a problem! In addition, the power often doesn't go out cleanly, but with spikes and jitters both when it ends and when it comes back on. Most systems survive the power going off and back on without too much difficulty, but the potential for large amounts of damage is there; and of course, you lose any unsaved work that was in memory when the power went out. Protection Against Power Problems There are several levels of protection that you can apply to help protect your computer system (and your data) from loss or damage as a result of these power problems. Not surprisingly, the more you spend, in general, the better protection you get, with costs ranging from near zero to several hundred dollars or even more. This section takes a look at the conventional means that are used to protect against power problems. In addition, using an uninterruptible power supply (a UPS) will allow you to avoid most power problems plus giving you protection against outright power service interruptions. No Protection Some people don't use any power protection at all. If cost is a major concern, or if your internal power supply is of superior quality, you might choose not to use any protection at all from power problems. Using no protection is generally not recommended. Warning: Make sure you always use a proper, three-wire grounded cord to connect your PC to the line power. If you need to use an extension cord, use a proper one. Trying to save on an extension cord by cutting the grounding pin off your PC cord is dangerous. While using no preventive protection for your power is unwise, intentionally looking for trouble is just plain stupid. Surge Suppressors Most people at the very least use a surge suppressor to protect their system. This usually takes the form of a plastic block into which you plug in your computer, monitor and other devices, with a cord which then plugs into the wall. These are also sometimes called "power strips" or "power bars". Surge protectors range in quality from very good to almost useless, with the protection being somewhat proportional to the cost. Cheap surge suppressors don't really offer very much protection. Some protection is better than nothing, but don't fool yourself into thinking a $9 power strip is going to do very much to prevent power problems on your PC. Surge suppressors normally work to reduce power problems in two ways. First, they use power absorbing components that take the shock of voltage spikes and surges and prevent them from being passed on to your computer equipment. Second, they normally include some line conditioning circuitry to smooth out and reduce power line noise, although not the top of the line components that you'd find in a true line conditioner. Note: When you buy a suppressor, read the box carefully. Not all surge suppressors condition the line. Here are some of the quality and feature considerations that you should take into account when shopping for a surge suppressor: UL Standards for Surge Suppression: Underwriters Laboratories established standard UL 1449 for surge suppressors. Any suppressor meeting this standard is probably one that will provide useful protection. There are three levels of protection: 330, 400 and 500. This number refers to the maximum voltage that the suppressor will allow to pass through the line; the lower the number, the better. Energy Absorption: A surge suppressor also has an energy absorption or dissipation rating, measured in Joules. The higher the value, the more energy the suppressor can absorb, so higher is better. 200 is basic protection, 400 is good protection and 600 is superior protection. Line Conditioning: Surge suppressors normally contain some line conditioning capabilities as well. This subject is discussed in the section on line conditioners. Protection Indicators: Many surge suppressors now come with an LED that is supposed to be lit when you are protected. With most good suppressors you can rely on this indicator, but with cheaper ones you often cannot. In some cases, over time a suppressor can absorb enough power to degrade the components' ability to protect you, but not so much in one direct hit that the LED will be turned off. One thing you definitely do know is that if the LED is out, the suppressor needs to be repaired or replaced (usually the latter). Of course, if there is no LED you really don't know at all what your status is. Note: Some suppressors have a light that is just a "power on" light. This obviously provides no indication at all of your protection level, but it does tell you if the suppressor is plugged in and working (at least at a basic level). Line Conditioners Line conditioners work by filtering and smoothing the power stream to eliminate dips, fluctuations and interference that can cause power to be "noisy". Their ability to reduce noise is measured in decibels over a given frequency range (just like noise reduction in your home stereo system). The more noise reduction, the better. True line conditioners can be quite costly due to the high quality of components required to do the best job. Many other power protection devices (such as surge suppressors) incorporate simple line conditioning circuitry, at a lower price. In practice, few PC users employ line conditioners. Protecting the Modem and Other Peripherals Voltage spikes can be carried along any convenient wire and into your PC. In particular, wires that run between buildings are susceptible to major disruptions due to lightning. After your power line, the next biggest problem area is the telephone line. Lightning can be carried along the line and into your home, damaging your modem and possibly even your motherboard or other components. It is also possible for a spike to be carried along a networking cable, causing similar effects. In fact, a spike on a network line can damage every PC on the network! Most good power protection systems include protection for the modem line. If you are using a modem then you want to use a system that will protect it as well. The network will generally be protected if every PC on it is properly protected, as long as you don't run any network cables outside between buildings. Warning: You should not run a laser printer off a conventional PC UPS. These printers draw a tremendous amount of power when they start up and most UPSes do not have enough power to handle them. Uninterruptible Power Supplies The idea behind an uninterruptible power supply (a UPS) is pretty obvious from the name: special circuitry and batteries are used to prevent the PC from losing power during a disruption (blackout) or voltage sag (brownout). They generally come in two varieties: the standby UPS and the on-line or active UPS. Note: Some people pronounce "UPS" using the three letters sounded out (like the name of the parcel delivery company) while others pronounce them as a word ("ups"). I do the former, so you will see "a UPS" and not "an UPS" on this web site. Standby UPSes A "standby" UPS is an uninterruptible power supply that provides continuous power by switching from standard AC power to a backup battery in the event of an interruption. Most of the time your machine runs off the normal power line. When the power is disrupted, the UPS instantly switches over to the battery, and when it is restored the battery is switched back. Most of these types of UPSes function quite well, but there is a switching time to take into account. If the UPS's switching time is too slow, or the computer is very sensitive, the PC might reboot when the switch takes place, which of course defeats the purpose of a UPS. In most cases, this will not happen, but a standby UPS is not perfect power protection for an important server, for example (although it is still very, very good.) Warning: If you use a standby UPS, make sure it incorporates surge suppression and line conditioning features for when the machine is running off standard power. Otherwise, under normal cases (i.e., any time you aren't experiencing a blackout) your system is, in essence, plugged directly into the wall. On-Line UPSes An on-line, active or "true" UPS functions quite differently from a standby UPS. With an on-line UPS, instead of switching to a battery when needed, the system always runs off the battery. Two voltage converters run continuously and independently inside the UPS: one converts the battery power into AC for your system to use , and another converts power from your wall to recharge the UPS. If the power goes out, only the recharging part stops. The system keeps running off the battery, for as long as it lasts. An online UPS is the best power protection available. Since there is no battery switchover, there is no chance of power interruption when the power goes out. The computer is never running directly off the AC line, and this isolation means spikes, line noise and brownouts are virtually eliminated. Of course the cost of these units is--you guessed it--very high. They are not generally practical for small computers such as PCs. Battery Power and Battery Service Time The more power your machine draws, the more powerful a UPS it is going to require. When choosing a UPS, make sure you get enough power to drive your system. If you don't, the UPS may fail when you need it most. If you're going to go to the expense of a UPS, get one that's going to work. In general, a lower-powered unit will give less run time before it fails compared to a higher-powered one. However, a unit that is vastly underpowered for the machine it is driving may fail immediately, giving you zero run time (thus making it useless). UPS power is normally expressed in terms of VAs, or volt-amps. UPS manufacturers often recommend a conversion factor of 1 VA = 1.4 Watts for normal PC use. (See here for details on these basic power specs). You might then think that if you have a 200 W power supply, a 280 VA UPS would be sufficient. Based on what I have seen, this probably is not the case. A 280 VA UPS will power only a minimal computer system. Also, you need to include your monitor too! If you can't see the screen, it will be quite difficult to save your data and shut the machine down. The wattage required for the monitor is significant and not part of the 200 W that your power supply is rated for. Figuring out how much UPS you need can be difficult. Here are some ideas: Read the Recommendations: Look at the recommendations on the box of a UPS you are considering. In general, a 280 VA UPS is only going to cut it for a low-end PC. The more devices you have in your box, the more power it is going to use. Also, bear in mind that newer PCs, like Pentium Pro systems, take more power than earlier models, and that is doubly so for a dual Pentium Pro system. Use APC's Sizing Tool: American Power Conversion has an interesting UPS sizing tool on its web site. Test the UPS: An obvious way to see if your UPS meets your needs: test it. Get the system running, pull the plug on the UPS, and see how long the power lasts before the UPS shuts down. (Obviously, don't do this with important data files open etc.) If the UPS works properly and lets you close down and save your work, you know you are protected. Warning: You should not run a laser printer off a UPS, unless it is a large one (1400 VA or more, generally used only for servers.) These printers draw a tremendous amount of power when they start up (much the way air conditioners draw a surge of power when they start, causing the lights to dim in many homes) and most UPSes are not designed to handle them. Check your UPS for specifics. Electrical Waveform Output A normal AC electrical signal is a smooth sine wave, and a good UPS will produce a sine wave as its output to approximate this. Cheaper UPSes will produce a square wave instead. With some power supplies, this square wave can cause problems, because the supply is expecting the sine wave. Better supplies will handle either waveform, but sine wave output is still preferred. Status Indicators Most UPS units come with some sort of status indicator. This may be something as simple as a light that indicates the unit is functioning. Better units will have lights or readouts that show when the unit is running off battery power, or even how much time is left on the battery power. Battery Replacement Eventually, the batteries in the unit will have to be replaced. How quickly they have to be changed depends on the unit and how often it is put in use. Some units have user-replaceable batteries, while others require you to send the system back to the factory for replacement. Obviously, user-replaceable batteries are far more convenient. Automatic Shutdown If the power goes out when you are not at your PC, then the UPS isn't going to be of any help to you unless there is some way to have it shut down automatically. Fortunately, some UPSes now come with a cable that connects to your PC's serial port and allows the UPS to send a signal to the PC when the line power goes out. Software running on the PC performs a shut down of the system so that no data file corruption occurs when the power goes out. Newer systems utilizing the ATX style motherboard and power supply actually have the ability to shut the machine down completely, using a signal that can be sent to the power supply from the motherboard. The Power Supply The internal power supply is responsible for converting your standard household electricity into a form that your computer can use. The power supply is responsible for powering every device in your computer; if it has a problem or is of low quality you may experience many difficulties that you may not realize are actually the fault of the electrical system. This section discusses what makes up the power supply and how it works. The power supply plays an important role in the following areas of your system: Stability: A high quality power supply with sufficient capacity to meet the demands of your computer will provide years of stable power for your PC. A poor quality or overloaded power supply will cause all sorts of glitches that are particularly insidious, because the problems occur in other, seemingly unrelated, parts of the system. For example, power supplies can cause hard disks to develop bad sectors or cause software bugs to appear, problems which can be very difficult to trace back to the power supply. Cooling: The power supply contains the main fan that controls the flow of air through the PC case. This fan is obviously a major component in your PC's cooling system. Energy Efficiency: Newer PC power supplies work with your computer's components and software to reduce the amount of power they consume when idle. This can lead to significant savings over older systems. Expandability: The capacity of your power supply is one factor that will determine your ability to add new drives to your system, or upgrade to a more powerful motherboard or processor. Many people don't realize, for example, that a Pentium Pro processor and motherboard consume far more power than a similar 486-based system, and the power supply needs to be able to provide this power. Power Supply Functions and Signals The power supply's main function is simple: take the power input to it from the power system of your home or office, and turn it into a form that the PC can use. However, the PC power supply's job isn't as simple as that of a standard power converter, such as the kind you might plug into your car's lighter socket to let you run a TV off your car battery. The PC power supply must provide several different voltages, at different strengths, and must also manage some additional signals that the motherboard uses. This section takes a look at what the power supply does and the signals and voltages it generates. AC-DC Voltage Conversion Standard household current is supplied as an alternating current (AC) of 110 volts (in North America) or 220 volts (pretty much everywhere else). Alternating current is so named because the signal actually alternates between positive and negative 60 or so times per second. This type of power is suitable for many types of devices, but totally unsuited for use within low-voltage devices such as computers. The power supply in your system converts this line power into direct current (DC), which is what the computer requires for operation. DC power is the sort of power that you would get from a battery--it stays at a constant level. You may also notice that many of your external peripherals (printers, external modems, external storage drives) come with an "AC adapter" which looks like a little, heavy black box which plugs into the wall, with a thin wire that comes out of it and goes to your device. That little black box is also a power converter, changing the AC power from the wall into DC power that the device uses. Usually, the input and output electrical specifications are printed right on it. Voltages Provided A PC power supply provides the following voltages to the motherboard and drives: +5V: This is the standard voltage that is used by the motherboard and most of the circuitry on peripheral cards in the computer. Wires carrying +5V power are normally red in color. +12V: This voltage is mostly used to power disk drive motors and similar devices. It is in most cases not used by the motherboard in a modern PC but is passed on to the ISA system bus slots for any cards that might need it. Wires carrying +12V power are normally yellow in color (but are also sometimes red). -5V and -12V: These were once used on older systems and are included for compatibility reasons, but are not generally used in a modern machine. If you look at the output specifications printed on your power supply, you'll see that these voltages are supplied with very low current (less than 1 amp normally) because they are not usually used for much of anything at all. +3.3V: Older processors ran at the same +5V that most of the motherboard runs at. However, most 486 class chips that are 100 MHz or above, and all Pentium, Pentium Pro or equivalent chips, are actually 3.3V chips (and the newest ones use even lower voltages internally). Older boards must further convert the 5V signal from the power supply into the 3.3V that the processor needs. This requires a voltage regulator on the motherboard, which adds to its cost and generates a substantial amount of heat. The newer style ATX power supply can provide the 3.3V power for the CPU directly, which is more efficient and saves heat and cost for the motherboard. Power Good Signal When the power supply first starts up, it takes some time for the components to get "up to speed" and start generating the proper DC voltages that the computer needs to operate. Before this time, if the computer were allowed to try to boot up, strange results could occur since the power might not be at the right voltage. It can take a half-second or longer for the power to stabilize, and this is an eternity to a processor that can run 200 million instructions per second! To prevent the computer from starting up prematurely, the power supply puts out a signal to the motherboard called "Power Good" after the power is ready for use. Until this signal is sent, the motherboard will refuse to start up the computer. In addition, the power supply will turn off the Power Good signal if a power surge or glitch causes it to malfunction. It will then turn the signal back on when the power is OK again, which will reset the computer. If you've ever had a brownout where the lights flicker off for a split-second and the computer seems to keep running but resets itself, that's probably what happened. Sometimes a power supply may shut down and seem "blown" after a power problem but will reset itself if the power is turned off for 15 seconds and then turned back on. Power On and 5V Standby Signals In addition to 3.3V power for the processor, the new ATX style power supply also adds functionality to permit software control of the power supply, for motherboards and software that support it. The "Power On" signal can be controlled by the motherboard to tell the power supply when to turn itself off. The "5V Standby" is a special 5V source to the motherboard separate from the normal 5V. It remains on even when the rest of the system is powered down, which lets special circuitry in the motherboard function even when the normal power is off. This could be used, for example, to allow a software re-start of the computer even from a totally off condition. Power Supply Loading A PC power supply will only function properly if it has a load to drive. Because of the method used to generate the DC voltage (called switching), the supply must have something to draw at least some power or it will not function at all. This is why a system without a hard drive of some sort in it will normally fail to function properly: there is nothing to draw power from the +12V line. (The fan built in to the power supply does draw some of this 12V power but typically not very much). Warning: Do not turn on the power to your power supply to "test it" without having at least the motherboard and the hard drive connected to the power. Doing so will result in either the power supply shutting itself down, or in the case of some cheaper units, damage or destruction of the power supply itself. Better power supplies have special resistors built in to prevent this from happening, but it isn't worth the risk, particularly since there is really no reason to even try doing it. Parts of the Power Supply The power supply contains many components; this section describes briefly the various parts of the power supply both inside and outside the box. The exact contents vary depending on the individual power supply of course, but most of these are remarkably standardized. Power Cord A standard black power cord to plug the power supply into the wall. Power Pass-Through Some power supplies have a "pass-through" connector on the back into which you can plug the monitor's power cord (if it has the right shape). You can also buy adapters that will convert a standard outlet plug into the shape needed to go into the back of the computer's supply. When you do this, the monitor is turned on and off using the computer's power switch. Note: The monitor is not driven by the computer's internal power supply when you do this; the ability to have the switch controlling both is what you gain. Power Switch The older style PC case had the power switch at the back of the machine, usually on the right side of the case. This switch was actually inside the power supply itself, with a hole cut out in the case so that it could be reached from the outside. Users hated having to reach to the back of the machine to turn it on or off, so newer machines incorporate a remote power switch that is connected to the power supply using a four-wire cable (sometimes with a fifth wire, a grounding line). The switch is normally mounted to the front of the case. Some "slimline" cases actually use a mechanical plastic stick that is pushed on by the button on the front of the case and presses against the real switch on the power supply itself, in the back of the machine. Warning: The remote power switch wires carry live 110V (or 220V) AC power whenever the power supply is plugged in, even when the power is off! You should not work inside the computer with the power plugged in. External Voltage Selector Switch Power supplies support 110V input, 220V input or both. Dual-voltage supplies normally have a selector in the back that controls which voltage you are using; obviously, you want to make sure it is set correctly. There are also some supplies that will automatically support either 110V or 220V without a selector switch, but they are uncommon. Power supplies that support dual voltage input are preferable since they are more flexible, although few people transport their PCs overseas (other than notebooks, for which this discussion isn't relevant). Warning: If the power supply has a 110/220 switch, make sure it is set correctly, or else! This is usually done for you by the manufacturer of the case (which normally contains the power supply), but I have seen cases that were originally intended for one part of the world end up in a different part, with the wrong external voltage set as the default. Power Conversion Circuitry The "guts" of the power supply is usually a circuit board with various electrical components on it, mounted inside the metal box of the supply. All the cables going into and out of the power supply go to this circuit. Motherboard Power Connectors The older style AT or baby AT power supplies use two 6-wire connectors, attached to the motherboard adjacently. The problem with these connectors is that they look almost identical, and swapping them by mistake will fry your motherboard! The correct orientation of these connectors is with all four black wires (grounds) together in the middle. This is how the wires are laid out for this type of connector: Wire # Connector #1 Connector #2 1 Power Good Ground 2 +5V Ground 3 +12V -5V 4 -12V +5V 5 Ground +5V 6 Ground +5V The new ATX style power supply and motherboard eliminates this confusion by using a single 20-wire keyed connector, which can only be inserted into the motherboard one way. The ATX connector is wired like this: Wire # Signal Wire # Signal 1 +3.3V 11 +3.3V 2 +3.3V 12 -12V 3 Ground 13 Ground 4 +5V 14 Power On 5 Ground 15 Ground 6 +5V 16 Ground 7 Ground 17 Ground 8 Power Good 18 -5V 9 +5V Standby 19 +5V 10 +12V 20 +5V Drive Power Connectors There are usually three or four 4-wire power connectors for drives. They come in the standard, larger size that is used for almost all hard drives as well as CD-ROM drives and 5.25" floppies, and the smaller mini-plug used by most 3.5" floppies. Both connectors are keyed so they can only be installed in one way. Both connectors are also wired the same way: Wire # Signal 1 +12V (Yellow) 2 Ground (Black) 3 Ground (Black) 4 +5V (Red) Tip: If you run out of drive power connectors, you can usually get another one by using a "Y adapter" or "Y splitter". Named because of its shape, the adapter splits a single power connector into two, letting you use two devices. Of course, this assumes that your supply has enough power to drive the additional device. Warning: There have been reports of incorrectly wired Y-adapters. Watch out for them; they have the potential to damage your equipment. It's pretty easy to see if the adapter has been wired correctly by inspecting it carefully. Note: Fans inside your computer normally use +12V for power, but use a red wire, not a yellow one. Power Supply Fan The power supply includes a fan for cooling purposes. This fan is critical to preventing overheating of the overall system; it not only cools the power supply, it creates the flow of air in the case that cools all of the components. On a standard AT power supply, the fan blows air out of the case. On an ATX power supply it blows air into the case and over the processor, which is mounted on the motherboard next to the power supply. The fan is powered using a +12V wire within the power supply. Motherboard and System Devices The motherboard is, in many ways, the most important component in your computer (not the processor, even though the processor gets much more attention.) As mentioned in the Overview, if the processor is the brain of the computer, then the motherboard and its major components (the chipset, BIOS, cache, etc.) are the major systems that this brain uses to control the rest of the computer. Having a good understanding of how the motherboard and its contained subsystems works is probably the most critical part of getting a good understanding of how PCs work in general. The motherboard plays an important role in the following important aspects of your computer system (notice how many there are here): Organization: In one way or another, everything is eventually connected to the motherboard. The way that the motherboard is designed and laid out dictates how the entire computer is going to be organized. Control: The motherboard contains the chipset and BIOS program, which between them control most of the data flow within the computer. Communication: Almost all communication between the PC and its peripherals, other PCs, and you, the user, goes through the motherboard. Processor Support: The motherboard dictates directly your choice of processor for use in the system. Peripheral Support: The motherboard determines, in large part, what types of peripherals you can use in your PC. For example, the type of video card your system will use (ISA, VLB, PCI) is dependent on what system buses your motherboard uses. Performance: The motherboard is a major determining factor in your system's performance, for two main reasons. First and foremost, the motherboard determines what types of processors, memory, system buses, and hard disk interface speed your system can have, and these components dictate directly your system's performance. Second, the quality of the motherboard circuitry and chipset themselves have an impact on performance. Upgradability: The capabilities of your motherboard dictate to what extent you will be able to upgrade your machine. For example, there are some motherboards that will accept regular Pentiums of up to 133 MHz speed only, while others will go to 200 MHz. Obviously, the second one will give you more room to upgrade if you are starting with a P133. Motherboard Form Factors The form factor of the motherboard describes its general shape, what sorts of cases and power supplies it can use, and its physical organization. For example, a company can make two motherboards that have basically the same functionality but that use a different form factor, and the only real differences will be the physical layout of the board, the position of the components, etc. In fact, many companies do exactly this, they have for example a baby AT version and an ATX version. AT and Baby AT The AT and baby AT motherboards are currently the most common form factor in the motherboard world. These two variants differ primarily in width: the older full AT board is 12" wide. This means it won't typically fit into the commonly used "mini" desktop or minitower cases. There are relatively few new motherboards on the market that use the full AT size. It is very common in older machines, 386 class or earlier. One of the major problems with the width of this board (aside from limiting its use in smaller cases) is that a good percentage of the board "overlaps" with the drive bays. This makes installation, troubleshooting and upgrading more difficult. The Baby AT motherboard is currently the most common form factor on the market. This is changing as acceptance of the ATX form factor grows (due in no small part to a heavy push from its inventor, Intel) but there are currently just so many baby AT cases, power supplies and motherboards on the market, that it will take a long time before baby AT goes away. A Baby AT motherboard is 8.5" wide and nominally 13" long. The reduced width means much less overlap in most cases with the drive bays, although there usually is still some overlap at the front of the case. There are three rows of mounting holes in the board; the first runs along the back of the board where the bus slots and keyboard connector are; the second runs through the middle of the board; and the third runs along the front of the board near where the drives are mounted. One problem with baby AT boards is that many newer ones reduce cost by reducing the size of the board. While the width is quite standard, many newer motherboards are only 11" or even 10" long. This can lead to mounting problems, because the third row of holes on the motherboard won't line up with the row on the case. Fortunately, it is almost always possible to solidly mount the motherboard using only the first two rows of holes, and then using stubbed spacers for the third row. Baby AT motherboards are distinguished by their shape, and usually by the presence of a single, full-sized keyboard connector soldered onto the board. The serial and parallel port connectors are almost always attached using cables that go between the physical connectors mounted on the case, and pin "headers" located on the motherboard. The AT and Baby AT form factors put the processor socket(s)/slot(s) and memory sockets at the front of the motherboard, and long expansion cards were designed to extend over them. When this form factor was designed, this worked fine: processors and memory chips were small and put directly onto the motherboard, and clearance wasn't an issue. However, now we have memory in SIMM/DIMM sockets, not directly inserted onto the motherboard, and we have larger processors that need big heat sinks and fans mounted on them. Since the processor is still often in the same place, the result can be that the processor+heat sink+fan combination often blocks as many as three of the expansion slots on the motherboard! Most newer Baby AT style motherboards have moved the SIMM or DIMM sockets out of the way, but the processor remains a problem. ATX and Mini ATX The first significant change in case and motherboard design in many years, the ATX form factor was invented by Intel in 1995. ATX is slowly gaining acceptance, but is still used on far fewer systems than the older Baby AT style case and motherboard; five plus years of inertia is hard to overcome. Newer Pentium Pro motherboards are the most common users of the ATX style motherboard (not surprisingly, since the Pentium Pro is the newest processor and uses the newest chipset families.) The ATX design has several significant advantages over the older motherboard styles. It addresses many of the annoyances that system builders have had to put up with. As the baby AT form factor has aged, it has increasingly grown unable to elegantly handle the new requirements of motherboard and chipset design. Since the ATX form factor specifies changes to not just the motherboard, but the case and power supply as well, all of the improvements are examined here: Integrated I/O Port Connectors: Baby AT motherboards use headers which stick up from the board, and a cable that goes from them to the physical serial and parallel port connectors mounted on to the case. The ATX has these connectors soldered directly onto the motherboard. This improvement reduces cost, saves installation time, improves reliability (since the ports can be tested before the motherboard is shipped) and makes the board more standardized. Integrated PS/2 Mouse Connector: On most retail baby AT style motherboards, there is either no PS/2 mouse port, or to get one you need to use a cable from the PS/2 header on the motherboard, just like the serial and parallel ports. (Of course most large OEMs have PS/2 ports built in to their machines, since their boards are custom built in large quantities). ATX motherboards have the PS/2 port built into the motherboard. Reduced Drive Bay Interference: Since the board is essentially "rotated" 90 degrees from the baby AT style, there is much less "overlap" between where the board is and where the drives are. This means easier access to the board, and fewer cooling problems. Reduced Expansion Card Interference: The processor socket/slot and memory sockets are moved from the front of the board to the back right side, near the power supply. This eliminates the clearance problem with baby AT style motherboards and allows full length cards to be used in most (if not all) of the system bus slots. Better Power Supply Connector: The ATX motherboard uses a single 20-pin connector instead of the confusing pair of near-identical 6-pin connectors on the baby AT form factor. 3.3V Power Support: The ATX style motherboard has support for 3.3V power from the ATX power supply. This voltage (or lower) is used on almost all newer processors, and this saves cost because the need for a voltage regulator to go from 5V to 3.3V is removed. Better Air Flow: The ATX power supply blows air into the case instead of out of it. This means that air is pushed out of all the small cracks in the PC case instead of being drawn in through them, cutting down on dust accumulation. Further, since the processor socket or slot is on the motherboard right next to the power supply, the power supply fan can be used to cool the processor's heat sink. In many cases, this eliminates the need to use (notoriously unreliable) CPU fans. See here for more on system air flow and cooling. Improved Design for Upgradability: In part because it is the newest design, the ATX is the choice "for the future." More than that, its design makes upgrading easier because of more efficient access to the components on the motherboard. LPX and Mini LPX Most popular in mass-produced "name brand" retail systems, the LPX motherboard form factor goes into the small Slimline or "low profile" cases typically found on these sorts of desktop systems. The primary design goal behind the LPX form factor is reducing space usage (and cost). This can be seen in its most distinguishing feature: the riser card that is used to hold expansion slots. Instead of having the expansion cards go into system bus slots on the motherboard, like on the AT or ATX motherboards, LPX form factor motherboards put the system bus on a riser card that plugs into the motherboard. Then, the expansion cards plug into the riser card; usually, a maximum of just three. This means that the expansion cards are parallel to the plane of the motherboard. This allows the height of the case to be greatly reduced, since the height of the expansion cards is the main reason full-sized desktop cases are as tall as they are. The problem is that you are limited to only two or three expansion slots! LPX form factor motherboards also often come with video display adapter cards built into the motherboard. If the card built in is of good quality, this can save the manufacturer money and provide the user with a good quality display. However, if the user wants to upgrade to a new video card, this can cause a problem unless the integrated video can be disabled. LPX motherboards also usually come with serial, parallel and mouse connectors attached to them, like ATX. While the LPX form factor can be used by a manufacturer to save money and space in the construction of a custom product, these systems suffer from non-standardization, poor expandability, poor upgradability, poor cooling and difficulty of use for the do-it-yourselfer. They are not recommended for the homebuilder, but if you are upgrading one of these systems, you may not have many alternatives. Parts of the Motherboard When you buy a system, it comes (or at least should) with everything you need for your PC to work properly. However, when you buy a motherboard itself, you have to do a bit more work to make sure everything comes with it that is supposed to. In addition to the motherboard itself, a good quality motherboard should come with the items described in this section. Motherboard Manual No motherboard is complete without proper documentation. It should include the following at an absolute minimum: General Information: The model number of the board, the name of the manufacturer, and contact information. You need this to get help, BIOS upgrades or information on your board. Assembly Instructions: Instructions to tell you how to install, jumper, and configure the board. Some motherboards put this on a single page; others include a proper manual. I'm sure you can figure out which is better. This should include a diagram of the board showing where all the components are. If this diagram doesn't look like the actual board (it happens!) you could have trouble, but not always. It is also fairly common for there to be slight differences between what is actually on the board and what the manual says. Be very careful to watch for these. Configuration Information: Information on acceptable processor and memory configurations for the board. You need this information to determine what processor and system memory to buy. BIOS Manual: An explanation of the board's BIOS settings, what they mean, and how you should set up the machine. These manuals (which are sometimes separate from the motherboard manual and sometimes just a second section in a single manual) range in size and quality much like the assembly instructions; however, they are less important, only because many years of pathetic BIOS manuals has led to the development of many Internet resources to help with BIOS settings (including mine). Motherboard assembly instructions are much more board-specific and so are harder to find outside the manual itself. Warning: If you can't read or comprehend the motherboard manual sufficiently well to allow you to install it, wouldn't it be sensible to consider purchasing a different brand, even if it is a few dollars more? Warning: Beware "no name" motherboards that have a model number (or sometimes not) but no manufacturer name. Good luck to you if you ever need troubleshooting, upgrade advice or other information on your board! And forget about BIOS upgrades, if you can't find the manufacturer's web site readily. I/O Cables / Connectors If your motherboard uses the ATX or LPX form factor, it has integrated serial and parallel port connectors. If it is AT or baby AT style, then you normally should get three ribbon cables with the motherboard to connect the serial and parallel connectors to the motherboard. The serial cables normally have 9 wires each (even if they go to 25-pin connectors) and the parallel cable has 25. These connectors normally come pre-mounted into metal inserts intended to be installed into the case where expansion cards go. See this procedure for instructions on mounting these connectors to the case and attaching them to the motherboard. Warning: These cables are not entirely "universal". In most cases using older cables with a newer motherboard or swapping motherboards between machines while leaving the cables behind in the case will work. However, it is possible that it will not. If you are doing this type of swap, beware of problems with the I/O ports and install new cables if necessary. Floppy Cable The motherboard should come with one "standard" 34-pin floppy disk cables. This is the unusual-looking cable with 5 connectors on it (one plus two pairs), with a half-twist in 7 of the wires in the middle of the cable. See here for details on the floppy cable. IDE/ATA Interface Cable A motherboard normally comes with one standard 40-pin IDE (ATA) hard disk / CD-ROM cable. It should have 3 connectors on it, but sometimes will only have 2. If you want to use two IDE channels (which is preferred in most cases for performance reasons), you will usually have to purchase an additional interface cable. Motherboard Integrated Components Printed Circuit Board I guess the first "integrated component" we should look at is the motherboard board itself! Motherboards are multiple layer printed circuit boards, also sometimes called PCBs. The physical board that you see is actually a sandwich of several thinner layers, each containing some of the circuitry required to connect the various components on the board. At one time this was expensive, difficult-to-manufacture technology, but time and automation has reduced this complexity to the point where the board itself is a minor component of overall cost. Still, good motherboards are solid and well designed, while cheaper ones tend to be flimsy, and increase the chance of a (virtually impossible to diagnose) electrical problem on the board. In addition, better boards reduce interference problems because of their design, and reduce the chances of problems in assembling the PC. Processor Sockets or Slots Of course, the motherboard has one or more sockets or slots to hold the processor(s). Single-processor motherboards are by far the most common, but dual processor and even quad processor boards are not hard to find. The type of socket or slot used dictates the type of processor (and in some cases the speed) that can be used by the motherboard. Not surprisingly, the standards for processor sockets and slots have been defined by Intel. See this discussion of processor sockets and slots, including which support which processors. Most older processors, up to the Pentium Pro, use a square-shaped socket for the processor. The newest processors from Intel, starting with the Pentium II, are mounted on a daughterboard, which plugs into an SEC ("single-edge connector") slot to connect to the motherboard. Note: With the invention of the SEC slot for the Pentium II, new motherboards are appearing that use just the one slot for either the Pentium II or the Pentium Pro. Of course the Pentium Pro uses a socket and not a slot, so these manufacturers create a daughterboard similar to the Pentium II's, that just contains a socket for the Pentium Pro chip. This gives great flexibility since either chip can then be used with the same motherboard. Most modern motherboards that have a socket use the ZIF (zero insertion force) style socket, that allows the processor to be inserted or removed from the motherboard by using a lever that tightens or loosens the processor's pins in the socket. This is a vast improvement over the older style sockets, which required you to exert considerable force on the surface of a delicate (and expensive) processor, just to get it into the motherboard. (Getting it out was of course even harder!) Memory Sockets Most motherboards today come with between 2 and 8 sockets for the insertion of memory. These are usually either SIMMs (single inline memory modules) or DIMMs (dual inline memory modules). These can come in different sizes. See here for details on memory packaging technologies. The motherboard usually labels these sockets "SIMM0" through "SIMM7" or "DIMM1" through "DIMM3", etc. The sockets are almost always filled starting with the lowest numbered socket first. Most Pentium class or higher motherboards require SIMMs to be inserted in pairs, but DIMMs may be inserted individually. See here for details on memory bank size and selecting appropriate memory. Cache and/or Cache Sockets Virtually all newer 486 or Pentium class motherboards come with either integrated secondary cache or sockets for secondary cache to be inserted. Also called "Level 2" or "L2" cache, secondary cache is high-speed memory that is used to buffer processor requests to the regular system memory; it is discussed in some detail here. Either 256 KB or 512 KB of cache is most common, with larger sizes such as 1 MB and higher starting to come onto the market. Motherboards for Pentium Pro PCs don't have level 2 cache on them because it is already integrated into the processor package itself. Motherboards typically have either cache chips soldered directly into the board, sockets for cache chips, or a socket for COASt, or "cache on a stick". Yeah, it's really called that. This socket is sometimes called a CELP ("card edge low profile"). It takes a module with cache chips on it, that looks something like a memory SIMM (except it is usually inserted differently into the motherboard). There are also motherboards that have both: they come with 256 KB of built-in cache and a COASt module for the addition of 256 KB more. These are now becoming less common with many companies deciding it is cheaper to just put 512 KB on the motherboard to begin with. Having level 2 cache on the motherboard may eventually be a thing of the past. The trend is toward putting the L2 cache either on the chip itself (a la Pentium Pro) or on a daughterboard (Pentium II and future Intel processors). Warning: Some motherboards, in particular newer 486 PCI-VLB-ISA boards, have been showing up with false cache on them. In some cases the BIOS is even doctored to "report" that it sees the cache. See here for more details. I/O Bus Slots All motherboards have one or more system I/O buses, that are used to expand the computer's capabilities. The slots in the back of the machine are where expansion cards are placed (like your video card, sound card, network card, etc.). These slots allow you to expand the capabilities of your machine in many different ways, and the proliferation of both general purpose and very specific expansion cards is part of the success story of the PC platform. Most modern PCs have two different types of bus slots. The first is the standard ISA (Industry Standard Architecture) slot; most PCs have 3 or 4 of these. These slots have two connected sections and start about a half-inch from the back of the motherboard, extending to around its middle. This is the oldest (and slowest) bus type and is used for cards that don't require a lot of speed: for example, sound cards and modems. Older systems (mostly pre-1990) may have ISA slots with only a single connector piece on each; these are 8-bit ISA slots and will (of course) only support 8-bit ISA cards. Pentium systems and newer 486-class motherboards also have PCI (Peripheral Component Interconnect) bus slots, again, usually 3 or 4. They are distinguished from ISA slots in two ways. First, they are shorter, and second, they are offset from the back edge of the motherboard by about an inch. PCI is a high-speed bus used for devices like video cards, hard disk controllers, and high-speed network cards. Note: Newer PCI motherboards have the connectors for the hard disks coming directly from the motherboard. These connectors are part of the PCI bus, even though the hard disks aren't connected to a physical PCI slot. Older 486 systems use VESA Local Bus, or VLB slots instead of PCI to connect high-speed devices. This is an older bus which began to be abandoned in favor of PCI at around the time the Pentium was introduced. VLB slots look like ISA slots, only they add a third section beyond the first two. This makes their connectors very long, and for that reason VLB cards are notoriously difficult to insert into or remove from the motherboard. Some motherboards incorporate a so-called "shared" ISA and PCI slot. This name implies a single slot that can take either type of card, but that isn't possible because the two slot types are physically incompatible. In order to save space while maximizing the number of expansion slots, some designers put an ISA slot on the board right next to a PCI slot; you then have the choice to use either the ISA or the PCI slot, but not both. This design is possible because ISA cards mount on the left-hand side of a slot position, while PCI slots mount on the right-hand side. More information on system buses can be found here. Power Connector(s) The motherboard has a socket to attach the power cables coming from the power supply. As discussed in the power supply section, ATX form factor motherboards and power supplies use a single, keyed 20-wire motherboard power cable. All others use a pair of 6-wire cables. The cables are connected to the motherboard so that the black wires (grounds) are together in the middle. This connector is usually found near the back right-hand side of the motherboard, near the power supply. Voltage Regulators The advent of processors and other devices running at different voltages (they all used to run at the 5V provided by a standard power supply) has led to the necessity of a voltage regulator on most modern motherboards. These regulators reduce the 5V signal to those voltages typically needed by processors: 3.3V or lower. Processor manufacturers, in their never-ending battle to cram more on the chip without making it melt due to the heat generated by its millions of transistors, incorporate a dual voltage or "split rail" voltage scheme into their latest designs. The processor is fed two voltages: the external or "I/O" voltage is typically 3.3V, while the internal or "core" voltage is lower: usually 2.8 to 3.2 volts. The voltage regulator (and the jumpers that control it) are responsible for generating the correct voltage for the processor. The voltage regulator can normally be identified by the large heatsinks that are placed on it; voltage conversion generates a great deal of heat. The regulator is controlled via processor voltage jumpers, which are set to the appropriate voltage for the processor being used. Processor voltage specifications are discussed in this section. On many motherboards the cooling level of the entire system case is important to ensuring that the voltage regulators are cooled satisfactorily. Overheating regulators can cause lockups and other problems. Capacitors Capacitors are electrical components that are used to filter and smooth signals on the motherboard. For the mostpart, they receive relatively little attention since they are passive and not very exciting. However, recently many motherboard manufacturers have been skimping on capacitors by either reducing the number on the board, or using smaller or cheaper ones. Over time, the capacitors tend to dry out and lose their effectiveness. The result of this corner-cutting is possibly spurious signals on the board (causing problems that are virtually impossible to troubleshoot) and reduced motherboard life. The only real way to protect against this sort of cheap construction is to avoid buying motherboards only on the basis of price. If you buy a quality board you will generally get what you are paying for. Look for name brands on the capacitors, and to make sure that they are a good size. Keyboard and Mouse Connectors The types of keyboard and mouse connectors your PC will have depend on the style and form factor of your motherboard. There are generally two arrangements. Newer PCs, PCs using the ATX or LPX form factors, and many proprietary (brand name) machines, use a pair of small, 6-pin connectors for the keyboard and dedicated (PS/2) mouse. Older PCs, and most retail motherboards and discount computers, use the older, large, standard 5-pin keyboard connector, and do not have a dedicated mouse port connector. These PCs use a serial port for the mouse. Tip: Some motherboards don't come with a built-in PS/2 mouse port, but include a header for a PS/2 mouse port, which you can use to add a PS/2 mouse port yourself. These connectors are located at the back of the motherboard. Chipset Chips You will in most cases see between two and four chips labeled with the name of the company that supplied the chipset for your motherboard. For example, the Intel Triton II "HX" Pentium chipset comprises two chips: the Intel 82439HX, and the Intel 82371AB. A full discussion of the chipset is in this section. The chipset normally controls data flow from and to the processor, memory and cache, as well as the system buses. Keyboard Controller The keyboard controller does what the name implies. It also controls the built-in PS/2 port, if it exists on the motherboard. On some newer PCs, this controller is in fact further integrated into the Super I/O controller chip, so your motherboard may not have a separate chip for it. It is discussed here. Real-Time Clock and CMOS Memory Chip This chip is holds the real-time clock that keeps the date and time on your PC, as well as the CMOS RAM that holds your PC's BIOS settings. It is powered by the PC's built in battery, which may in some cases be built into the real-time clock package itself. This chip is often marked "Dallas", after the company that makes a large number of them. Many PCs have problems with their clock not keeping accurate time. See here for some ideas on how to fix this. Super I/O Controller The Super I/O controller chip performs many of the standard input/output functions that used to be done by multiple smaller chips. National Semiconductor makes a large number of these chips, and they can sometimes be identified by looking for this name on the surface of the chip. This controller is discussed here. BIOS Chips Your system BIOS (discussed in detail here) is coded into read-only memory (ROM) chips that are placed on your motherboard. There are usually one or two BIOS chips, depending on the board, and often labeled with the name of the BIOS software company (usually Award or AMI). Battery The PC uses a low-power battery to maintain certain information when the power is off; for example, your BIOS settings, the current date and time, and resource assignment for Plug and Play systems. This battery can take one of several forms: On some older PCs, it is a large rectangular box that is attached to the motherboard with wires, and often velcroed to the power supply inside the case. Some PCs use a battery soldered to the board that looks like a small cylinder or barrel. It is not generally detachable. Some PCs use a flat round watch battery in a metal holder. Some PCs don't appear to have a battery at all. In this case, the battery may be a lithium type that is within one of the other packages (typically the real-time clock package). It may also be an integrated rechargeable Nickel-Cadmium battery (sometimes called an "accumulator") that is recharged whenever the line power is connected to the machine. These batteries cannot be replaced, although they are rated for a long life (5 to 10 years). My personal opinion is that having an integrated, life-limited, non-replaceable component like a battery on a motherboard is bad design. There are many, many PCs with perfectly functional motherboards that are more than 5 years old, and having to throw them away over a bad battery is just a waste. Also, if you ever need to clear the CMOS memory on the motherboard due to corruption or a lost password, it is much more difficult to do with an integrated battery unless there is a CMOS clear jumper on the motherboard. For this reason, purchasing a motherboard with a replaceable battery is a very wise idea. Jumpers Jumpers are pins on a motherboard or other device, that are used to provide configuration information to the hardware. A single jumper consists of a pair of pins, with a small rectangular shunt that can be placed over both pins to short them together. The hardware is programmed to act one way when the jumper is shorted, and another way when it is left open. The jumpers are normally numbered JP1, JP2 etc.. For some functions, a group of jumpers is used. Every motherboard differs in its jumper numbering, positioning, and most importantly, what the settings for each jumper mean. This is why having the motherboard manual is so crucial for anyone who wants to work on their PC. This procedure provides specific instructions and caveats for configuring your motherboard. One of the newest innovations on the market is the "jumperless" motherboard, such as the IT5H made by Abit. With these boards you make many of the hardware settings, such as CPU type and speed, and even CPU voltage, using BIOS settings, while some others are retained as regular jumpers (typically, CMOS clear and cache size). This arrangement lets you change the clock speed of the CPU as easily as you would change any other BIOS setting, and makes upgrading the processor a snap. It also makes it easier for motherboard manufacturers to add support for new processor types as they are put onto the market. Many people think that "jumperless" is the new wave of motherboard design, and certainly the ability to change more settings without opening up the box is a great advantage. Others like the control of being able to physically set a jumper (recalling with frustration some of the problems with new technologies like Plug and Play that remove this control to software with sometimes mixed results). Frankly, considering that most people set their motherboard jumpers only once (or at most, once a year or so when they upgrade) I consider the whole jumperless motherboard thing more of a fad than a real evolution in design. Here is a list and brief explanation of the settings that you are most likely to find in your manual: Processor/CPU Voltage: Almost all newer boards have one or more jumpers to set the voltage for the processor. Obviously, this needs to be set correctly or you risk destroying the chip. In addition, newer processors use two voltages: an "external" I/O voltage and an"internal" core voltage. For your motherboard to support these newer processors, it must have jumpers to set both of these voltage types. Sometimes there can be a mismatch between the voltage that the processor requires and the voltage that the motherboard supplies. This often happens because the motherboard is designed to support a new processor based on the spec, but the voltage is changed for design reasons later on. You should contact the motherboard manufacturer in this case. Usually you can still use the processor if the motherboard can supply a voltage close to the number required--say, within 0.1V--because processors have a range of voltages they can use, not just a single number. See here for more on processor voltages. Processor Speed / Bus Speed / Multiplier: Every 486 class or later motherboard has a way to specify the speed of theprocessor. There are two main methods used (your manual will show you which). Some motherboards provide a list of the various speeds supported, and a diagram of how to set the jumpers to match that speed. Others instead require you to set two separate jumpers: one controls the memory bus speed, and the other sets the processor "multiplier" (how many times the memory bus speed the processor runs). Processor Type: You may find this instead of, or in addition to, the two settings listed above. In an effort to save the user the hassle of figuring out voltages and speeds, some motherboards combine the jumpers into one jumper set or group. Then, they provide a long list with each processor type and speed that the board supports, and tell you how to set each of a group of jumpers so that it works appropriately. If you are setting up a Pentium 133, you'll find it on the list and be told how to set jumpers 1, 3, 7, 12, and 18, for example. The only problem with this arrangement is that unless they also tell you what each of the individual jumpers is actually controlling, it can be difficult to set up a newer processor that may be supported just fine by the board but not be listed in their documentation. You have less information about how the board actually works. You can sometimes find help in this case on the manufacturer's web site. Cache Size and Type: Some boards can have different amounts of cache, and some can have cache either built in or on a COASt module. There is often a jumper or two to set which is used and how much is on the board. Other boards only come with one arrangement of cache or can auto-detect when you insert a COASt module, so they will lack these jumpers. Memory Size/Type: Most newer PCs auto-detect the amount and type of RAM in the system, but many older 486 (and earlier) models require jumpers to be changed when changing the amount of memory (this is a pain in the butt, which is why it was done away with). Flash BIOS Enable: Many boards require you to set a jumper to a special position in order to enable the flash BIOS update feature. This jumper is usually set to the "normal" position except when doing a BIOS update. CMOS Clear: One of the most famous of annoying PC problems is the "lost BIOS setup password" problem, that locks the user out of the BIOS setup program. (You'd be amazed how often this happens). Some newer PCs have built into the motherboard the ability to clear the BIOS by temporarily setting a jumper and then replacing it (in essence this disconnects the CMOS memory from the battery so it discharges and resets). This jumper is also usually set to the "normal" position. Battery Source: Some boards let you switch the battery from an internal to an external source, and a jumper is used to control the setting. Disable Jumpers: Some motherboards use special jumpers to enable you to disable parts of the circuitry. This is highly board-dependent. Ports and Headers Ports are connectors used to connect external cables and devices to the motherboard. In addition to the keyboard and PS/2 mouse connectors, some types of motherboards (such as the ATX) have on the back edge of the motherboard integrated serial and parallel ports. Motherboards that don't use integrated ports, use headers on the motherboard instead. Headers are groups of pins used to connect devices or ports to the motherboard. A cable runs from the port and is plugged into the header on the board. The following are the headers that are commonly found on a modern Baby AT style motherboard (though some of the functions are provided as headers to ATX style boards as well, if an integrated port is not provided): Serial Ports: As mentioned, there are usually two serial port headers. Each has 9 or 10 pins (only 9 are used, however). Parallel Port: This header is used for the external parallel port and has 26 pins (25 are actually used). PS/2 Mouse Port: Some good motherboards provide a header for a PS/2 mouse port when this port is not already on the board. This lets you add a PS/2 port yourself so you can enjoy its advantages. The PS/2 mouse header has 5 pins. USB (Universal Serial Bus): A new technology, USB is proposed to be the new standard for connecting devices such as keyboards, mice and external modems to the PC. Since it is not in common use yet, many motherboards provide a header for your to run a port for it in the future if needed, instead of an actual port (which will appear on future boards if and when USB catches on). This header has 10 pins. IR (Infrared) Port: Some motherboards have a header to allow you to run a connection for an infrared communications port, typically used for wireless communication to printers and similar devices. Infrared ports are far more common on laptop computers than desktop machines. These headers have 4 or 5 pins. Primary and Secondary IDE/ATA Hard Disk: Most newer motherboards have integrated headers for two IDE channels. Each has 40 pins. Floppy Disk: Most newer motherboards provide a 34-pin header for the floppy disk cable. SCSI: Some motherboards have integrated SCSI ports or headers, though they are uncommon. They are either 50 or 68 pins in size, depending on the flavor of SCSI implemented. Note: Older motherboards that don't have integrated serial, parallel, floppy disk and IDE hard disk headers or ports use an I/O controller board that plugs into an expansion slot, to provide these functions. The connections are almost identical, although in some cases additional jumpers have to be set. Consult the manual for the I/O controller board for details. Pin Connectors The motherboard provides several connectors that are attached to the case LEDs, indicators, and switches. These (as usual) vary by motherboard, but the ones described here are typical. The physical layout of these connectors can vary a lot as well; some motherboards physically separate these connectors on the board while others group many together into a large "multifunction connector". Functionally there is no difference but it is easier to make an "off by one" connection mistake on a multifunction connector. Note: The LEDs on the case are a form of diode, and this means in part that they will only conduct electricity in one direction. This means that if you connect them backwards, they will not work. However, they usually have a protection circuit in them so that if you connect them backwards they will not be damaged, and you can just switch them. Your manual or (less commonly) the board itself may provide an indication of which pin is positive and which is negative on the motherboard. These are the pin connectors you will typically find on a modern motherboard: Power LED and Keylock Switch: These are two different functions, each requiring two pins, but for historical reasons, they are often combined into a single 5-pin connector. Older cases had the keylock and power LED wires going to a single 5-pin plastic connector. On newer cases they are often separated (in fact many newer cases have no keylock switch) but the 5-pin motherboard connector remains for compatibility. Here is its usual configuration. Note the unused pin between the two power LED pins: Pin # Signal 1 Power LED Output (positive) 2 No Connection (NC) 3 Power LED Ground (negative) 4 Keylock Signal (positive) 5 Keylock Ground (negative) Reset Switch: This 2-pin switch has no polarity so you can connect it either way. Turbo Switch: Another relic of the past, many motherboards still include this connector, even though it ceased having any real meaningful purpose after the early part of the 486 generation of motherboards. In most cases it is best just to leave it unconnected. Warning: Some motherboards (especially older ones) default to "turbo off" if not connected to a switch. If you are installing a motherboard of this type, you must jumper (short) the turbo switch pins if you are not going to connect the turbo switch. See this section of the Optimization Guide for more details. Turbo LED: This is the counterpart to the turbo switch of course. I sometimes connect the LED to this connector if the case has one, as then the light will come on (which avoids confusion as to "why the turbo light is off"). IDE/ATA Hard Disk Activity LED: This connector signals the LED when the motherboard detects activity on any of the system's IDE hard disks. Some motherboards have four pins for this connector. On many of these the four pins represent two different pairs, both of which work: pins 1 and 2 are one pair and 3 and 4 are another, and either pair can be used. On other motherboards, only two of the pins can be used; you need to check your motherboard manual. Speaker: This is a 4-pin connector for the case speaker, but only the two outer wires are used. CPU Fan: Some motherboards have a 2-pin connector for powering the processor's fan, if the fan has the right type of power connector. Many fans just connect to the regular power connectors from the power supply. Suspend Mode Switch: Some systems have a two-pin connector for a toggle switch to put the system into suspend mode. The turbo switch button on the case can be used for this function on newer systems. Suspend Mode LED: Some systems have a connection for an LED that is lit when the system enters suspend mode, either by using the suspend mode switch or through automatic power management. System Bus Functions and Features This section discusses the characteristics of buses in general. The focus is on the I/O buses; the system-level buses are discussed in detail in the processor external architecture section. address bus A collection of wires connecting the CPU with main memory that is used to identify particular locations (addresses) in main memory. The width of the address bus (that is, the number of wires) determines how many unique memory locations can be addressed. Modern PCs and Macintoshes have 32 address lines, which enables them to access 4GB (gigabytes) of main memory. bus (1) A collection of wires through which data is transmitted from one part of a computer to another. You can think of a bus as a highway on which data travels within a computer. When used in reference to personal computers, the term bus usually refers to internal bus. This is a bus that connects all the internal computer components to the CPU and main memory. There's also an expansion bus that enables expansion boards to access the CPU and memory. All buses consist of two parts -- an address bus and a data bus. The data bus transfers actual data whereas the address bus transfers information about where the data should go. The size of a bus, known as its width, is important because it determines how much data can be transmitted at one time. For example, a 16-bit bus can transmit 16 bits of data, whereas a 32-bit bus can transmit 32 bits of data. Every bus has a clock speed measured in MHz. A fast bus allows data to be transferred faster, which makes applications run faster. On PCs, the old ISA bus is being replaced by faster buses such as PCI. Many PCs made today include a local bus for data that requires especially fast transfer speeds, such as video data. The local bus is a high-speed pathway that connects directly to the processor. Several different types of buses are used on Apple Macintosh computers. Older Macs use a bus called NuBus, but newer ones use PCI. (2) In networking, a bus is a central cable that connects all devices on a local-area network (LAN). It is also called the backbone. expansion bus A collection of wires and protocols that allows the expansion of a computer by inserting printed circuit boards (expansion boards). Traditionally, PCs have utilized an expansion bus called the ISA bus. In recent years, however, the ISA bus has become a bottleneck, so nearly all new PCs have a PCI bus for performance as well as an ISA bus for backward compatibility. PCI Acronym for Peripheral Component Interconnect, a local bus standard developed by Intel Corporation. Most modern PCs include a PCI bus in addition to a more general ISA expansion bus. Many analysts, however, believe that PCI will eventually supplant ISA entirely. PCI is also used on newer versions of the Macintosh computer. PCI is a 32-bit bus, but supports a 64-bit extension for new processors, such as the Pentium. It can run at clock speeds of 33 or 66 MHz. At 32 bits and 33 MHz, it yields a throughput rate of 133 MBps. 64-bit implementations running at 66 MHz provide 524 MBps. Although it was developed by Intel, PCI is not tied to any particular family of microprocessors. Industry Standard Architecture (ISA) bus The bus architecture used in the IBM PC/XT and PC/AT. It's often abbreviated as ISA (pronounced eye-sa) bus. The AT version of the bus is called the AT bus and has become a de facto industry standard. Since the late 80s, the industry has been searching for a successor to the ISA bus, which is not sufficient for modern devices and applications. It now appears that the successor will be the PCI local bus architecture. Most computers made today include both an AT bus for slower devices and a local bus for devices that need better bus performance. In 1993, Intel and Microsoft introduced a new version of the ISA specification called Plug and Play ISA. Plug and Play ISA enables the operating system to configure expansion boards automatically so that users do not need to fiddle with DIP switches and jumpers. EISA Acronym for Extended Industry Standard Architecture, a bus architecture designed for PCs using an Intel 80386, 80486, or Pentium microprocessor. EISA buses are 32 bits wide and support multiprocessing. The EISA bus was designed by nine IBM competitors (sometimes called the Gang of Nine): AST Research, Compaq Computer, Epson, Hewlett-Packard, NEC, Olivetti, Tandy, WYSE, and Zenith Data Systems. They designed the architecture to compete with IBM's own high-speed bus architecture called the Micro Channel architecture (MCA). The principal difference between EISA and MCA is that EISA is backward compatible with the ISA bus (also called the AT bus), while MCA is not. This means that computers with an EISA bus can use new EISA expansion cards as well as old AT expansion cards. Computers with an MCA bus can use only MCA expansion cards. EISA and MCA are not compatible with each other. This means that the type of bus in your computer determines which expansion cards you can install. Neither EISA nor MCA has been very successful. Instead, a new technology called local bus is being used in combination with the old ISA bus. There are two competing local bus standards -- PCI and VL-bus -- but it now seems that PCI will become the de facto standard for PCs, and possibly for Macintoshes as well. local bus A data bus that connects directly, or almost directly, to the microprocessor. Although local buses can support only a few devices, they provide very fast throughput. Most modern PCs include both a local bus, for video data, as well as a more general expansion bus for other devices that do not require such fast data throughput. VL-Bus Short for VESA Local-Bus, a local bus architecture created by the Video Electronics Standards Association ( VESA ). Although it was quite popular in PCs made in 1993 and 1994, it has been overshadowed by a competing local bus architecture called PCI. Bus Hierarchy The PC has a hierarchy, in a way, of different buses. Most modern PCs have at least four buses. I consider them a hierarchy because each bus is to some extent further removed from the processor; each one connects to the level above it, integrating the various parts of the PC together. Each one is also generally slower than the one above it (for the pretty obvious reason that the processor is the fastest device in a modern PC): The Processor Bus: This is the highest-level bus that the chipset uses to send information to and from the processor. The Cache Bus: Some higher-level architectures, such as that used by the Pentium Pro, employ a dedicated bus for accessing the system cache. This is sometimes called a backside bus. Conventional processors using fifth-generation motherboards and chipsets have the cache connected to the standard memory bus. The Memory Bus: This is a second-level system bus that connects the memory subsystem to the chipset and the processor. In some systems the processor and memory buses are basically the same thing. The Local I/O Bus: This is a high-speed input/output bus used for connecting performance-critical peripherals to the memory, chipset, and processor. For example, video cards, disk storage devices, high-speed networks interfaces generally use a bus of this sort. The two most common local I/O buses are the VESA Local Bus (VLB) and the Peripheral Component Interconnect Bus (PCI). The Standard I/O Bus: Connecting to the above three buses is the "good old" standard I/O bus, used for slower peripherals (mice, modems, regular sound cards, low-speed networking) and also for compatibility with older devices. On almost all modern PCs this is the Industry Standard Architecture (ISA) bus. The system chipset is the conductor that controls this orchestra of communication, and makes sure that every device in the system is talking properly to every other one. Data and Address Buses Every bus is composed of two distinct parts: the data bus and the address bus. The data bus is what most people refer to when talking about a bus; these are the lines that actually carry the data being transferred. The address bus is the set of lines that carry information about where in memory the data is to be transferred to or from. Bus Width A bus is a channel over which information flows. The wider the bus, the more information can flow over the channel, much as a wider highway can carry more cars than a narrow one. The original ISA bus on the IBM PC was 8 bits wide; the universal ISA bus used now is 16 bits. The other I/O buses (including VLB and PCI) are 32 bits wide. The memory and processor buses on Pentium and higher PCs are 64 bits wide. The address bus width can be specified independently of the data bus width. The width of the address bus dictates how many different memory locations that bus can transfer information to or from. Bus Speed The speed of the bus reflects how many bits of information can be sent across each wire each second. This would be analogous to how fast the cars are driving on our analogical highway. Most buses transmit one bit of data per line, per clock cycle, although newer high-performance buses like AGP may actually move two bits of data per clock cycle, doubling performance. Similarly, older buses like the ISA bus may take two clock cycles to move one bit, halving performance. Bus Bandwidth Bandwidth, also called throughput, refers to the total amount of data that can theoretically be transferred on the bus in a given unit of time. Using the highway analogy, if the bus width is the number of lanes, and the bus speed is how fast the cars are driving, then the bandwidth is the product of these two and reflects the amount of traffic that the channel can convey per second. The table below shows the theoretical bandwidth of most of the common I/O buses on PCs today. Note the italics on the word "theoretical"; most buses can't actually transmit anywhere near these maximum numbers because of command overhead and other factors. Most of these buses can run at many different speeds; the speed listed is the one most commonly used for the bus type. See here for a similar table showing processor and memory bus bandwidth for various processors. Bus Width (bits) Bus Speed (MHz) Bus Bandwidth (MB/sec) 8-bit ISA 8 8.33 4.2 16-bit ISA 16 8.33 8.3 EISA 32 8.33 33.3 VLB 32 3 133.3 PCI 32 33 133.3 3.3V 64-bit PCI 2.1 64 66 533.3 The last entry is of course most interesting. In theory, the PCI bus can be extended to 64 bits in width, and 66 MHz in speed. However (here it comes again) for compatibility reasons almost all PCI buses and the devices they run in, are rated for only 33 MHz at 32 bits. (See AGP also, which is based on the high-end PCI specification) Bus Interfacing On a system that has multiple buses, circuitry must be provided by the chipset to connect the buses and allow devices on one to talk to devices on the other. This device is called a "bridge", the same name used to refer to a piece of networking hardware that connects two dissimilar networks. By far the most commonly found bridge is the PCI-ISA bridge, which is part of the system chipset on a Pentium or Pentium Pro PC. The PCI also has a bridge to the processor bus; you can see these devices under "System devices" in the Device Manager in Windows 95. Bus Mastering On the higher-bandwidth buses, a great deal of information is flowing through the channel every second. Normally, the processor is required to control the transfer of this information. In essence, the processor is a "middleman", and as with many similar cases in the real world, it is far more efficient to "cut out" the middleman and perform the transfer directly. This is done by having capable devices take control of the bus and do the work themselves; devices that can do this are called bus masters. In theory, the processor can do other work simultaneously; in practice there are several complicating factors. In order to do bus mastering properly, a facility to arbitrate between requests to "take over the bus" must exist; this too is provided by the chipset. Bus mastering is also called "first party" DMA since the work is controlled by the device doing the transfer. Currently most bus mastering in the PC world is done on the PCI bus; in addition, support has been added for IDE/ATA hard disk drives to do bus mastering on PCI under certain conditions. IDE hard disk bus mastering on PCI is discussed in more detail here, as well as in the section on PCI. DMA and bus mastering are discussed more generally in the section on DMA. The Local Bus Concept The switch from character-based applications to graphics-based ones began in earnest at the start of the 90s, with the rapid growth in popularity of the Windows operating system. The increase in the amount of information that must be moved between the processor, memory, video and hard disks when using a graphical operating system compared to a text-based one is tremendous. A complete screen of monochrome text is just 2,000 bytes of information. A standard 256-color Windows screen requires over 300,000 bytes, an increase of about 15,000%! (Out of interest, the highest-end resolution and color depth generally used today, 1600x1200 at 16 million colors, requires 5.8 million bytes of information per screen!). The transformation of the software world from text to graphics also meant much larger programs and more storage requirements. From an I/O standpoint, much more I/O bandwidth was needed to handle the additional data going to and from the video card and the increasingly larger and faster hard disks. By this time, Intel had also moved on to the 80486 processor that provided many times the performance of earlier CPUs. The ISA bus, still running at the same speed and bus width that it did on the IBM AT, was finally and totally outmatched by these increasing demands and became a major bottleneck to improving system performance. Increasing the speed of the processor accomplished little if it was always waiting for the slow system bus to transmit data. The solution was to create a new, faster bus, that would augment the ISA bus and be used especially for high-bandwidth devices such as video cards. This new bus would be put on (or near) the processor's much faster memory bus, to let it run at or near the external speed of the processor, and to allow data to flow between these devices and the processor without having to go through the much slower ISA bus. By placing these devices "local" to the processor, the local bus was born. The first local bus was the VESA local bus, which is described in detail here. The current bus of choice on modern computers is the Peripheral Component Interconnect or PCI bus, which is discussed here. Interrupts (IRQs) Interrupts are in some ways the most "famous" system resources, since almost everyone who's used a computer has heard of them--even if they don't know what they are. An interrupt is basically what it sounds like, a message from one part of the computer to another (normally to the system processor) that tells it that it needs to stop what it is doing, and do something else instead. An IRQ is an interrupt request, and is the name for the actual signal that is used when a peripheral requests an interrupt of the processor. Interrupts play a key role in how the processor performs input/output processing, and interfaces with every peripheral in the computer, from the keyboard and mouse to the hard disk and modem. Interrupt Function and Operation This section takes a look at the interrupt lines and the interrupt controller, describing how they work. This includes an explanation of the different types of interrupts and a summary of the different IRQ numbers used in the PC. Why Interrupts Are Used to Process Information The processor is a highly-tuned machine that is designed to (basically) do one thing at a time. However, we use our computers in a way that requires the processor to at least appear to do many things at once. If you've ever used a multitasking operating system like Windows 95, you've done this; you may have been editing a document while downloading information on your modem and listening to a CD simultaneously. The processor is able to do this by sharing its time among the various programs it is running and the different devices that need its attention. It only appears that the processor is doing many things at once because of the blindingly high speed that it is able to switch between tasks. Most of the different parts of the PC need to send information to and from the processor, and they expect to be able to get the processor's attention when they need to do this. The processor has to balance the information transfers it gets from various parts of the machine and make sure they are handled in an organized fashion. There are two basic ways that the processor could do this: Polling: The processor could take turns going to each device and asking if they have anything they need it to do. This is called polling the devices. In some situations in the computer world this technique is used, however it is not used by the processor in a PC for a couple of basic reasons. One reason is that it is wasteful; going around to all the devices constantly asking if they need the attention of the CPU wastes cycles that the processor could be doing something useful. This is particularly true because in most cases the answer will be "no". Another reason is that different devices need the processor's attention at differing rates; the mouse needs attention far less frequently than say, the hard disk (when it is actively transferring data). Interrupting: The other way that the processor can handle information transfers is to let the devices request them when they need its attention. This is the basis for the use of interrupts. When a device has data to transfer, it generates an interrupt that says "I need your attention now, please". The processor then stops what it is doing and deals with the device that requested its attention. It actually can handle many such requests at a time, using a priority level for each to decide which to handle first. It may seem like an inefficient way to run a computer, having it be interrupted all the time. I'm sure it must remind you of a day at the office, where the phone kept ringing every 5 minutes and you couldn't get anything done. However, without the ringer on the phone, the alternative would be to keep picking up the phone every 30 seconds to see if someone was trying to call you, which even the most ardent telephone-hater would have to admit is much worse. It's also interesting to put into perspective just how fast the modern processor is compared to many of the devices that transfer information to it. Let's imagine a very fast typist; say, 120 words per minute. At an average of 5 letters per word, this is 600 characters per minute on the keyboard. You might be fascinated to realize that if you type at this rate, a 200 MHz computer will process 20,000,000 instructions between each keystroke you make! You can see why having the processor spend a lot of time asking the keyboard if it needs anything would be wasteful, especially since at any time you might stop for a minute or two to review your writing, or do something else. Even while handling a full-bandwidth transfer from a 28,800 Kb/sec modem, which of course moves data much faster than your fingers, the processor has over 60,000 instruction cycles between bytes it needs to process. In addition to the well-known hardware interrupts that we discuss in this section, there are also software interrupts. These are used by various software programs in response to different events that occur as the operating system and applications run. In essence, these represent the processor interrupting itself! This is part of how the processor is able to do many things at once. The other thing that software interrupts do is allow one program to access another one (usually an application or DOS accessing to the BIOS) without having to know where it resides in memory. Interrupt Controllers Device interrupts are fed to the processor using a special piece of hardware called an interrupt controller. The standard for this device is the Intel 8259 interrupt controller, and has been since early PCs. As with most of these dedicated controllers, in modern motherboards the 8259 is incorporated into a larger chip as part of the chipset in most cases. The interrupt controller has 8 input lines that take requests from one of 8 different devices. The controller then passes the request on to the processor, telling it which device issued the request (which interrupt number triggered the request, from 0 to 7). The original PC and XT had one of these controllers, and hence supported interrupts 0 to 7 only. Starting with the IBM AT, a second interrupt controller was added to the system to expand it; this was part of the expansion of the ISA system bus from 8 to 16 bits. In order to ensure compatibility (isn't that a recurring theme?) the designers of the AT didn't want to change the single interrupt line going to the processor. So what they did instead was to cascade the two interrupt controllers together. The first interrupt controller still has 8 inputs and a single output going to the processor. The second one has the same design, but it takes 8 new inputs (doubling the number of interrupts) and its output feeds into input line 2 of the first controller. If any of the inputs on the second controller become active, the output from that controller triggers interrupt #2 on the first controller, which then signals the processor. So what happens to IRQ #2? That line is now being used to cascade the second controller, so the AT's designers changed the wiring on the motherboard to send any devices that used IRQ2 over to IRQ9 instead. What this means is that any older devices that used IRQ2 now use IRQ9, and if you set any device to use IRQ2 on an AT or later system, it is really using IRQ9. Devices designed to use IRQ2 as a primary setting are relatively rare in today's systems, since IRQ2 has been out of use for over 10 years. In most cases IRQ2 is just considered "unusable", while IRQ9 is a regular, usable interrupt line. However, some modems for example still offer the use of IRQ2 as a way to get around the fact that COM3 and COM4 share interrupts with COM1 and COM2 by default. You may need to do this if you have a lot of devices contending for the low-numbered IRQs (which is very common). Note: If you select IRQ2 on a device such as a modem, IRQ9 will really be used instead. Any software that uses the device needs to be told that it is using IRQ9, not IRQ2. Also, if you do this, you cannot use the "real" IRQ9 for any other device. You should never attempt to use IRQ2 if you are already using IRQ9 on your PC, and vice-versa. IRQ Lines and the System Bus The devices that use interrupts trigger them by signaling over lines provided on the ISA system bus. Most of the interrupts are provided to the system bus for use by devices; however, some of them are only used internally by the system, and therefore they are not given wires on the system bus. These are interrupts 0, 1, 2, 8 and 13, and are never available to expansion cards (remember, IRQ2 is now wired to IRQ9 on the motherboard). As explained in this section on the ISA bus, the original bus was only 8 bits wide and had a single connector for expansion cards. The bus was expanded to 16 bits and a second connector slot added next to the first one; you can see this if you look at your motherboard, since all modern PCs use 16-bit slots. The addition of this extra connector coincided with the addition of the second interrupt controller, and the lines for these extra IRQs were placed on this second slot. This means that in order to access any of these IRQs--10, 11, 12, 14 and 15--the card must have both connectors. While almost no motherboards today have 8-bit-only bus slots, there are still many expansion cards that only use one ISA connector. The most common example is an internal modem. These cards can only use IRQs 3, 4, 5, 6 and 7 (and 6 is almost always not available since it is used by the floppy disk controller). They can also use IRQ 9 indirectly if they have the ability to use IRQ2, since 9 is wired to where 2 used to be. Note: All of this applies to ISA and VESA local bus slots only. PCI slots handle interrupts differently, using their own internal interrupt system. If a PCI card needs to use a regular IRQ line the BIOS/chipset will normally "map" the PCI interrupt to a regular system interrupt. This is normally done using IRQ9 to IRQ12. Interrupt Priority The PC processes device interrupts according to their priority level. This is a function of which interrupt line they use to enter the interrupt controller. For this reason, the priority levels are directly tied to the interrupt number: On an old PC/XT, the priority of the interrupts is 0, 1, 2, 3, 4, 5, 6, 7. On a modern machine, it's slightly more complicated (what else is new). Recall that the second set of eight interrupts is piped through the IRQ2 channel on the first interrupt controller. This means that the first controller views any of these interrupts as being at the priority level of its "IRQ2". The result of this is that the priorities become 0, 1, (8, 9, 10, 11, 12, 13, 14, 15), 3, 4, 5, 6, 7. IRQs 8 to 15 take the place of IRQ2. In any event, the priority level of the IRQs doesn't make much of a difference in the performance of the machine, so it isn't something you're going to want to worry about too much. If you are a real performance freak, higher-priority IRQs may improve the performance of the devices that use them slightly. If you could actually notice this in any way other than examining the system under the microscope of a benchmark suite, I'd be pretty surprised... Non-Maskable Interrupts (NMI) All of the regular interrupts that we normally use and refer to by number are called maskable interrupts. The processor is able to mask, or temporarily ignore, any interrupt if it needs to, in order to finish something else that it is doing. In addition, however, the PC has a non-maskable interrupt (NMI) that can be used for serious conditions that demand the processor's immediate attention. The NMI cannot be ignored by the system unless it is shut off specifically. When an NMI signal is received, the processor immediately drops whatever it was doing and attends to it. As you can imagine, this could cause havoc if used improperly. In fact, the NMI signal is normally used only for critical problem situations, such as serious hardware errors. The most common use of NMI is to signal a parity error from the memory subsystem. This error must be dealt with immediately to prevent possible data corruption. Interrupts, Multiple Devices and Conflicts In general, interrupts are single-device resources. Because of the way the system bus is designed, it is not feasible for more than one device to use an interrupt at one time, because this can confuse the processor and cause it to respond to the wrong device at the wrong time. If you attempt to use two devices with the same IRQ, an IRQ conflict will result. This is one of the types of resource conflicts. It is possible to share an IRQ among more than one device, but only under limited conditions. In essence, if you have two devices that you seldom use, and that you never use simultaneously, you may be able to have them share an IRQ. However, this is not the preferred method since it is much more prone to problems than just giving each device its own interrupt line. One of the most common problems regarding shared IRQs is the use of the third and fourth serial (COM) ports, COM3 and COM4. By default, COM3 uses the same interrupt as COM1 (IRQ4), and COM4 uses the same interrupt as COM2 (IRQ3). If you have a mouse on COM1 and set up your modem as COM3--a very common setup--guess what happens the first time you try to go online? You can share COM ports on the same interrupt, but you have to be very careful not to use both devices at once; in general this arrangement is not preferred. See here for ideas on dealing with COM port difficulties. Many modems will let you change the IRQ they use to IRQ5 or IRQ2, for example, to avoid this problem. Other common areas where interrupt conflicts occur are IRQ5, IRQ7 and IRQ12. The conflict resolution area of the Troubleshooting Expert can sometimes help with these situations. Direct Memory Access (DMA) Channels Direct memory access (DMA) channels are system pathways used by many devices to transfer information directly to and from memory. DMA channels are not nearly as "famous" as IRQs as system resources go. This is mostly for a good reason: there are fewer of them and they are used by many fewer devices, and hence they usually cause fewer problems with system setup. However, conflicts on DMA channels can cause very strange system problems and can be very difficult to diagnose. DMAs are used most commonly today by floppy disk drives, tape drives and sound cards. DMA Channel Function and Operation This section takes a look at DMA channels and how they work. This includes an explanation of the different types of DMA channels, the DMA controller, and a summary of the different DMA channels used in the PC. Why DMA Channels Were Invented for Data Transfer As you know, the processor is the "brain" of the machine, and in many ways it can also be likened to the conductor of an orchestra. In early machines the processor really did almost everything. In addition to running programs it was also responsible for transferring data to and from peripherals. Unfortunately, having the processor perform these transfers is very inefficient, because it then is unable to do anything else. The invention of DMA enabled the devices to cut out the "middle man", allowing the processor to do other work and the peripherals to transfer data themselves, leading to increased performance. Special channels were created, along with circuitry to control them, that allowed the transfer of information without the processor controlling every aspect of the transfer. This circuitry is normally part of the system chipset on the motherboard. Note that DMA channels are only on the ISA bus (and EISA and VLB, since they are derivatives of it). PCI devices do not use standard DMA channels at all. Third-Party and First-Party DMA (Bus Mastering) Standard DMA is sometimes called "third party" DMA. This refers to the fact that the system DMA controller is actually doing the transfer (the first two parties are the sender and receiver of the transfer). There is also a type of DMA called "first party" DMA. In this situation, the peripheral doing the transfer actually takes control of the system bus to perform the transfer. This is also called bus mastering. Bus mastering provides much better performance than regular DMA because modern devices have much smarter and faster DMA circuitry built into them than exists in the old standard ISA DMA controller. Newer DMA modes are now available, such as Ultra DMA (mode 3 or DMA-33) that provide for very high transfer rates. Limitations of Standard DMA While the use of DMA provided a significant improvement over processor-controlled data transfers, it too eventually reached a point where its performance became a limiting factor. DMA on the ISA bus has been stuck at the same performance level for over 10 years. For old 10 MB XT hard disks, DMA was a top performer. For a modern GB+ disk, transferring multiple megabytes per second, DMA is insufficient. On newer machines, disks are controlled using either programmed I/O (PIO) or first-party DMA (bus mastering) on the PCI bus, and not using the standard ISA DMA that is used for devices like sound cards. Hard disk transfer modes are discussed in detail here. This type of DMA does not rely on the slow ISA DMA controllers, and allows these high-performance devices the bandwidth they need. In fact, many of the devices that used to use DMA on the ISA bus use bus mastering over the PCI bus for faster performance. This includes newer high-end SCSI cards, and even network and video cards. DMA Controllers Standard DMA transfers are managed by the DMA controller, built into the system chipset on modern PCs. The original PC and XT had one of these controllers and supported 4 DMA channels, 0 to 3. Starting with the IBM AT, a second DMA controller was added. Much in the way that the second interrupt controller was cascaded with the first, the first DMA controller is cascaded to the second. The difference is that with IRQs, the second controller is cascaded to the first, but with DMAs the first is cascaded to the second. As a result, there are 8 DMAs, from 0 to 7, but DMA 4 is not usable. There is no rerouting as with IRQ2 and IRQ9 here, because all of the original DMAs (0 to 3) are still usable directly. DMA Channels and the System Bus All of the DMA channels except channel 4 are accessible to devices on the ISA system bus. Channel 4 is used to cascade the two DMA controllers together. PCI devices do not use standard system DMA channels. As was the case with IRQs, the second DMA controller was added when the ISA bus was expanded to 16 bits with the creation of the AT. The lines to access these extra DMA channels were placed on the second part of the AT slot that is used by 16-bit cards. This means that only 16-bit cards can access DMA channels 5, 6 or 7. Unfortunately, many devices even today are still only 8-bit cards. You can tell by looking at them and seeing that they only use the first part of the two-part ISA bus connector on the motherboard. DMA Request (DRQ) and DMA Acknowledgment (DACK) Each DMA channel is comprised of two signals: the DMA request signal (DRQ) and the DMA acknowledgment signal (DACK). Some peripheral cards have separate jumpers for these instead of a single DMA channel jumper. If this is the case, make sure that the DRQ and DACK are set to the same number, otherwise the device won't work (I wonder what goes through the minds of some peripheral card designers. ) DMA, Multiple Devices and Conflicts Like interrupts, DMA channels are single-device resources. If two devices try to use the same DMA channel at the same time, information will get mixed up between the two devices trying to use it, and any number of problems can be the result. DMA channel conflicts can be very difficult to diagnose. See here for more details on resource conflicts. It is possible to share a DMA channel among more than one device, but only under limited conditions. In essence, if you have two devices that you seldom use, and that you never use simultaneously, you may be able to have them share a channel. However, this is not the preferred method since it is much more prone to problems than just giving each device its own resource. One problem area with DMA channels is that most devices want to use DMA channels with numbers 0 to 3 (on the first DMA controller). DMA channels 5 to 7 are relatively unused because they require 16-bit cards. Considering that DMA channel 0 is never available, and DMA 2 is used for the floppy disk controller, that doesn't leave many options. On one of my systems I wanted to set up an ECP parallel port, a tape accelerator and a voice modem in addition to my sound card. I ran out of DMA channels between 1 and 3 very quickly. I still had DMA channels 6 and 7 open but could not use them because all the devices I wanted to use were either on 8-bit cards or wouldn't support the higher numbers for software reasons. Speaking of the ECP parallel port, this is another new area of concern regarding DMA resource conflicts. Many people don't realize that this high-speed parallel port option requires the use of a DMA channel. (Your BIOS setup program will usually have a setting to select the DMA channel, right under where you enable ECP. This should be a good hint but still a lot of people don't notice this.) The usual default for this port is DMA 3, which is also used by many other types of devices. The conflict resolution area of the Troubleshooting Expert can sometimes help with these situations. Input / Output (I/O) Addresses Input/output addresses (usually called I/O addresses for short) are resources used by virtually every device in thecomputer. Conceptually, they are very simple; they represent locations in memory that are designated for use by various devices to exchange information between themselves and the rest of the PC. Note: I/O addresses are referred to in hexadecimal notion. See here for an explanation of what this means, if you are not familiar with it. Memory-Mapped I/O You can think of I/O addresses like a bunch of small two-way "mailboxes" in the system's memory. Take for example a communications (COM) port that has a modem connected to it. When information is received by the modem, it needs to get this information into the PC. Where does it put the data it pulls off the phone line? One answer to this problem is to give each device its own small area of memory to work with. This is called memory-mapped I/O. When the modem gets a byte of data it sends it over the COM port, and it shows up in the COM port's designated I/O address space. When the CPU is ready to process the data, it knows where to look to find it. When it later wants to send information over the modem, it uses this address again (or another one near it). This is a very simple way of dealing with the problem of information exchange between devices. I/O Address Space Width Unlike IRQs and DMA channels, which are of uniform size and normally assigned one per device--sound cards use more than one because they are really many devices wrapped into one package--I/O addresses vary in size. The reason is simple: some devices (e.g., network cards) have much more information to move around than others (e.g., keyboards). The size of the I/O address is also in some cases dictated by the design of the card and (as usual) compatibility reasons with older devices. Most devices use an I/O address space of 4, 8 or 16 bytes; some use as few as 1 byte and others as many as 32 or more. The wide variance in the size of the I/O addresses can make it difficult to determine and resolve resource conflicts, because often I/O addresses are referred to only by the first byte of the I/O address. For example, people may say to "put your network card at 360h", which may seem not to conflict with your LPT1 parallel port at address 378h. In fact many network cards take up 32 bytes for I/O; this means they use up 360-37Fh, which totally overlaps with the parallel port (378-37Fh). The I/O address summary map helps you to see which I/O addresses are most used, and to visualize and avoid potential conflicts. I/O Addresses, Multiple Devices and Conflicts I/O addresses, like other system resources, are normally used only by single devices. Having multiple devices try to use the same device would cause information to get mixed up and overwritten, sort of like having two people share a mailbox (where none of the envelopes had anything printed on them.) There are some unusual exceptions to this however, mostly for historical reasons. They are discussed in the next section where individual addresses are reviewed. One of the problems with I/O addresses and conflicts is simply keeping track of them all. They can be quite confusing to keep straight, particularly since different devices use different sized address spaces. I/O addresses suffer from the same problem that IRQs and DMA channels do: many conflicts occur not because there aren't enough I/O addresses to go around, but because they aren't allocated or spaced out in an organized way. Too many devices attempt to use the same addresses, or have too few different configuration options to allow them all to find a place to use without getting in each others' way. This is largely due to historical reasons. One additional note about parallel ports. The I/O addresses used for the different parallel ports (LPT1, LPT2, LPT3) are not universal. Originally IBM defined different defaults for monochrome-based PCs and for color PCs. Of course, all new systems have been color for many years, but even some new systems still default LPT1 to 3BCh. Here is how the two different labeling schemes typically work. See the section on logical devices for more details: Port "Monochrome" Systems "Color" Systems LPT1 3BC-3BFh 378-37Fh LPT2 378-37Fh 278-27Fh LPT3 278-27Fh --