Professional Documents
Culture Documents
The microprocessor
is the heart of any normal computer, whether it is a desktop machine, a server or a laptop. The
microprocessor you are using might be a Pentium, a K6, a PowerPC, a Sparc or any of the many other
brands and types of microprocessors, but they all do approximately the same thing in approximately the
same way.
If you have ever wondered what the microprocessor in your computer is doing, or if you have ever
wondered about the differences between types of microprocessors, then read on. In this edition of
HowStuffWorks, you will learn how fairly simple digital logic techniques allow a computer to do its job,
whether its playing a game or spell checking a document!
Compiled from The Intel Microprocessor Quick Reference Guide and TSCP Benchmark Scores
Information about this table:
The date is the year that the processor was first introduced.
What's a Chip?
Many processors are re-introduced at higher clock speeds for
A chip is also called an
many years after the original release date.
integrated circuit.
Generally it is a small, thin
Transistors is the number of transistors on the chip. You can
piece of silicon onto which
see that the number of transistors on a single chip has risen
the transistors making up
steadily over the years.
the microprocessor have
Microns is the width, in microns, of the smallest wire on the
been etched. A chip might
chip. For comparison, a human hair is 100 microns thick. As the
be as large as an inch on a
feature size on the chip goes down, the number of transistors
side and can contain tens of
rises.
millions of transistors.
Clock speed is the maximum rate that the chip can be clocked
Simpler processors might
at. Clock speed will make more sense in the next section.
consist of a few thousand
Data Width is the width of the ALU. An 8-bit ALU can
transistors etched onto a
add/subtract/multiply/etc. two 8-bit numbers, while a 32-bit ALU
chip just a few millimeters
can manipulate 32-bit numbers. An 8-bit ALU would have to
square.
execute four instructions to add two 32-bit numbers, while a 32-bit ALU can do it in one
instruction. In many cases, the external data bus is the same width as the ALU, but not always.
The 8088 had a 16-bit ALU and an 8-bit bus, while the modern Pentiums fetch data 64 bits at a
time for their 32-bit ALUs.
MIPS stands for "millions of instructions per second" and is a rough measure of the performance
of a CPU. Modern CPUs can do so many different things that MIPS ratings lose a lot of their
meaning, but you can get a general sense of the relative power of the CPUs from this column.
From this table you can see that, in general, there is a relationship between clock speed and MIPS. The
maximum clock speed is a function of the manufacturing process and delays within the chip. There is also
a relationship between the number of transistors and MIPS. For example, the 8088 clocked at 5 MHz but
only executed at 0.33 MIPS (about one instruction per 15 clock cycles). Modern processors can often
execute at a rate of two instructions per clock cycle. That improvement is directly related to the number of
transistors on the chip and will make more sense in the next section.
Inside a Microprocessor
To understand how a microprocessor works, it is helpful to look inside and learn about the logic used to create one.
In the process you can also learn about assembly language -- the native language of a microprocessor -- and many
of the things that engineers can do to boost the speed of a processor.
A microprocessor executes a collection of machine instructions that tell the processor what to do. Based on the
instructions, a microprocessor does three basic things:
Using its ALU (Arithmetic/Logic Unit), a microprocessor can perform mathematical operations like
addition, subtraction, multiplication and division. Modern microprocessors contain complete floating point
processors that can perform extremely sophisticated operations on large floating point numbers.
A microprocessor can move data from one memory location to another.
A microprocessor can make decisions and jump to a new set of instructions based on those decisions.
There may be very sophisticated things that a microprocessor does, but those are its three basic activities. The
following diagram shows an extremely simple microprocessor capable of doing those three things:
Although they are not shown in this diagram, there would be control lines from the instruction decoder that would:
Tell the A register to latch the value currently on the data bus
Tell the B register to latch the value currently on the data bus
Tell the C register to latch the value currently on the data bus
Tell the program counter register to latch the value currently on the data bus
Tell the address register to latch the value currently on the data bus
Tell the instruction register to latch the value currently on the data bus
Tell the program counter to increment
Tell the program counter to reset to zero
Activate any of the six tri-state buffers (six separate lines)
Tell the ALU what operation to perform
Tell the test register to latch the ALU's test bits
Activate the RD line
Activate the WR line
Coming into the instruction decoder are the bits from the test register and the clock line, as well as the bits from the
instruction register.
a = a + 1;
}
At the end of the program's execution, the variable f contains the factorial of 5.
A C compiler translates this C code into assembly language. Assuming that RAM starts at address 128 in this
processor, and ROM (which contains the assembly language program) starts at address 0, then for our simple
microprocessor the assembly language might look like this:
// Assume a is at address 128
// Assume F is at address 129
0
CONB 1
// a=1;
1
SAVEB 128
2
CONB 1
// f=1;
3
SAVEB 129
4
LOADA 128
// if a > 5 the jump to 17
5
CONB 5
6
COM
7
JG 17
8
LOADA 129
// f=f*a;
9
LOADB 128
10 MUL
11 SAVEC 129
12 LOADA 128
// a=a+1;
13 CONB 1
14 ADD
15 SAVEC 128
16 JUMP 4
// loop back to if
17 STOP
So now the question is, "How do all of these instructions look in ROM?" Each of these assembly language
instructions must be represented by a binary number. For the sake of simplicity, let's assume each assembly language
instruction is given a unique number, like this:
LOADA - 1
LOADB - 2
CONB - 3
SAVEB - 4
SAVEC mem - 5
ADD - 6
SUB - 7
MUL - 8
DIV - 9
COM - 10
JUMP addr - 11
JEQ addr - 12
JNEQ addr - 13
JG addr - 14
JGE addr - 14
JL addr - 16
JLE addr - 17
STOP - 18
The numbers are known as opcodes. In ROM, our little program would look like this:
// Assume a is at address 128
// Assume F is at address 129
Addr opcode/value
0
3
// CONB 1
1
1
2
4
// SAVEB 128
3
128
4
3
// CONB 1
5
1
6
4
// SAVEB 129
7
129
8
1
// LOADA 128
9
128
10
3
// CONB 5
11
5
12
10
// COM
13
14
// JG 17
14
31
15
1
// LOADA 129
16
129
17
2
// LOADB 128
18
128
19
8
// MUL
20
5
// SAVEC 129
21
129
22
1
// LOADA 128
23
128
24
3
// CONB 1
25
1
26
6
// ADD
27
4
// SAVEB 128
28
128
29
11
// JUMP 4
30
8
31
18
// STOP
You can see that seven lines of C code became 17 lines of assembly language, and that became 31 bytes in ROM.
The instruction decoder needs to turn each of the opcodes into a set of signals that drive the different components
inside the microprocessor. Let's take the ADD instruction as an example and look at what it needs to do:
1. During the first clock cycle, we need to actually load the instruction. Therefore the instruction decoder
needs to:
activate the tri-state buffer for the program counter
activate the RD line
activate the data-in tri-state buffer
latch the instruction into the instruction register
2. During the second clock cycle, the ADD instruction is decoded. It needs to do very little:
set the operation of the ALU to addition
latch the output of the ALU into the C register
3. During the third clock cycle, the program counter is incremented (in theory this could be overlapped into
the second clock cycle).
Every instruction can be broken down as a set of sequenced operations like these that manipulate the components of
the microprocessor in the proper order. Some instructions, like this ADD instruction, might take two or three clock
cycles. Others might take five or six clock cycles.
Performance
The number of transistors available has a huge effect on the performance of a processor. As seen
earlier, a typical instruction in a processor like an 8088 took 15 clock cycles to execute. Because of the
design of the multiplier, it took approximately 80 cycles just to do one 16-bit multiplication on the 8088.
With more transistors, much more powerful multipliers capable of single-cycle speeds become possible.
More transistors also allow for a technology called pipelining. In a pipelined architecture, instruction
execution overlaps. So even though it might take five clock cycles to execute each instruction, there can
be five instructions in various stages of execution simultaneously. That way it looks like one instruction
completes every clock cycle.
Many modern processors have multiple instruction decoders, each with its own pipeline. This allows for
multiple instruction streams, which means that more than one instruction can complete during each clock
cycle. This technique can be quite complex to implement, so it takes lots of transistors.
The trend in processor design has been toward full 32-bit ALUs with fast floating point processors built in
and pipelined execution with multiple instruction streams. There has also been a tendency toward special
instructions (like the MMX instructions) that make certain operations particularly efficient. There has also
been the addition of hardware virtual memory support and L1 caching on the processor chip. All of these
trends push up the transistor count, leading to the multi-million transistor powerhouses available today.
These processors can execute about one billion instructions per second!
For more information on microprocessors and related topics, check out the links on the next page!
A Brief History
The original IBM PC contained the original PC motherboard. In this design, which premiered in 1982, the
motherboard itself was a large printed circuit card that contained the 8088 microprocessor, the BIOS,
sockets for the CPU's RAM and a collection of slots that auxiliary cards could plug into. If you wanted to
add a floppy disk drive or a parallel port or a joy stick, you bought a separate card and plugged it into one
of the slots. This approach was originally pioneered in the mass market by the Apple II machine. By
making it easy to add cards, Apple and IBM accomplished two things:
They made it easy to add new features to the machine over time
They opened the computer to creative opportunities by third-party vendors
Motherboard Sizes
Different motherboards of different vintages typically have different form factors. Form factor essentially
means the size and shape of the actual motherboard. There are more than a half-dozen form factors for
motherboards, with the most recent ones having the designation of NLX. Right now, the designation ATX
is the most prevalent. By buying a computer with a true ATX motherboard, you are assured that you will
have the ability to upgrade by being able to re-use the personal computer case with a more recent
replacement ATX board design.
Motherboards have helped to keep the "personal" in personal computing since pluggable components
allow the user to personalize the system depending on their applications and needs. For example:
A prolific collector of digital camera images or video will want to add a SCSI hard disk drive to an
open bay and use an empty socket on the motherboard for the SCSI controller card.
A serious game enthusiast will want the fastest video card possible with as much memory on the
card as possible.
Examples
The MSI 694D Pro AR supports dual Pentium central processing units (CPUs), has five PCI slots and a
communications network riser (CNR) slot. The board supports 133 MHz bus speeds and ultra-direct
memory access-100 (UDMA). There are four USB ports and onboard audio in the ATX form factor board.
The Abit KT-7A supports Advanced Micro Devices (AMD) processors and has the KT-133A chipset. The
card slots on the Abit KT-7A, from bottom to top, shows below that ISA has one slot, PCI has six slots and
AGP has one slot. A special fan cools the chipset.
BIOS Chip
radiator and provide additional surface area to help cool a component. Replaceable fan-heat sink assemblies are
often used to help dissipate the considerable amount of heat on modern processor chips. The fan-heat sink assembly
conducts heat away from the chip by convection, using a layer of thermal grease between the two mating metal
surfaces. Fans often have a third wire used for monitoring the speed of the fan.
Modern motherboard designs include provisions for monitoring:
fan speed in RPM for the personal computer case, processor and power supply fans
temperatures of motherboard and processor
personal computer case intrusion
PCI slots are replacing the older ISA slots, and both types of slots are being replaced by USB ports. USB ports can
also be used to replace the usual keyboard, mouse and printer ports. Sound card function is also typically
incorporated into modern motherboards. Multifunction chips are on the horizon that will do even more multiple
tasks.
The additional function on the motherboard saves the motherboard manufacturer costs because:
there are less warranty claims due to problems associated with all the many electrical contacts (fasteners) in
the usual card slot
there are lower power supply wattage requirements
there are savings from elimination of a slot's socket and its space on the motherboard
The consumer can still upgrade function integrated on the motherboard (such as audio and game controls) so long as
the motherboard manufacturer provides a means of disabling the function in order to prevent subsequent system
resource conflicts.
A motherboard still may have voltages present on it even if the computer is switched off due to recent advances in
power management and power controls. Always make sure that the power cord is unplugged!
Chipsets
Chipsets provide the support for the processor chip on the motherboard. The Intel 440BX is the dominant
chipset in the non-Apple personal computers. The chipset is the heart of the computer since it controls
and determines how fast and which type of processor, memory, and slots are used. Another chip on the
motherboard is called the Super I/O controller. Its main function is to control the floppy disk drive,
keyboard, mouse, serial and printer ports.
Recent motherboard designs include additional chips to support USB, sound card, video adapter,
computer host and network adapter. These chips save the cost of an adapter slot.
Advice on Motherboards
When buying a motherboard, follow these tips:
Deal only with a reputable manufacturer.
Ensure that it has the same form factor as your current case.
Read the booklet that comes with your motherboard. It should fully cover the motherboard's settings and
specifications.
Check the power supply requirements for AMD processors. Some motherboards have unique requirements.
Verify the form factor of your computer case matches the form factor of any motherboard you plan to buy.
Avoid tweaking voltages and timings to get more speed out of a computer ("overclocking")."
MOTHERBOARD
COMPONENTS/
MOTHERBOARDS
Evolution
BIOS
CMOS RAM
Form factor
BAT
LPX
ATX
NLX
MicroATX
FlexATX
Riser architectures
The basic changes in motherboard form factors over the years are covered later in this section - the diagrams below
provide a detailed look at the various components on two motherboards. The first a Baby AT design, sporting the
ubiquitous Socket 7 processor connector, circa 1995. The second is an ATX design, with a Pentium II Slot 1 type
processor connector, typical of motherboards on the market in late 1998.
Motherboard development consists largely of isolating performance-critical components from slower ones. As
higher speed devices become available, they are linked by faster buses - and the lower-speed buses are relegated to
supporting roles. In the late 1990s there was also trend towards putting peripherals designed as integrated chips
directly onto the motherboard. Initially this was confined to audio and video chips - obviating the need for separate
sound or graphics adapter cards - but in time the peripherals integrated in this way became more diverse and
included items such as SCSI, LAN and even RAID controllers. While there are cost benefits to this approach the
biggest downside is the restriction of future upgrade options.
BIOS
All motherboards include a small block of Read Only Memory (ROM) which is separate from the main system
memory used for loading and running software. The ROM contains the PC's Basic Input/Output System (BIOS).
This offers two advantages: the code and data in the ROM BIOS need not be reloaded each time the computer is
started, and they cannot be corrupted by wayward applications that write into the wrong part of memory. A Flash
upgradeable BIOS may be updated via a floppy diskette to ensure future compatibility with new chips, add-on cards
etc.
The BIOS comprises several separate routines, serving different functions. The first part runs as soon as the machine
is powered on. It inspects the computer to determine what hardware is fitted and then conducts some simple tests to
check that everything is functioning normally - a process called the power-on self test (POST). If any of the
peripherals are plug and play devices, it's at this point that the BIOS assigns their resources. There's also an option to
enter the Setup program. This allows the user to tell the PC what hardware is fitted, but thanks to automatic selfconfiguring BIOSes this isn't used so much now.
If all the tests are passed, the ROM tries to boot the machine from the hard disk. Failing that, it will try the CDROM drive, then the floppy drive, finally displaying a message that it needs a system disk. Once the machine has
booted, the BIOS serves a different purpose by presenting DOS with a standardised API for the PC hardware. In the
days before Windows, this was a vital function, but 32-bit "protect mode" software doesn't use the BIOS, so again
it's of less benefit today.
Most PCs ship with the BIOS set to check for the presence of an operating system in the floppy disk drive first, then
on the primary hard disk drive. Any modern BIOS will allow the floppy drive to be moved down the list so as to
reduce normal boot time by a few seconds. To accommodate PCs that ship with a bootable CD-ROM, some BIOSes
allow the CD-ROM drive to be assigned as the boot drive. Some also allow booting from a hard disk drive other
than the primary IDE drive. In this case it would be possible to have different operating systems - or separate
instances of the same OS - on different drives.
Windows 98 (and later) provides multiple display support. Since most PCs have only a single AGP slot, users
wishing to take advantage of this will generally install a second graphics card in a PCI slot. In such cases, most
BIOSes will treat the the PCI card as the main graphics card by default. Some, however, allow either the AGP card
or the PCI card to be designated as the primary graphics card.
Whilst the PCI interface has helped - by allowing IRQs to be shared more easily - the limited number of IRQ
settings available to a PC remains a problem for many users. For this reason, most BIOSes allow ports that are not in
use to be disabled. With the increasing popularity of cable and ADSL Internet connections and the ever-increasing
availability of peripherals that use the USB interface, it will often be possible to get by without needing either a
serial or a parallel port.
CMOS RAM
Motherboards also include a separate block of memory made from very low power consumption CMOS
(complementary metal oxide silicon) RAM chips, which is kept "alive" by a battery even when the PC's power is
off. This is used to store basic information about the PC's configuration: number and type of hard and floppy drives,
how much memory, what kind and so on. All this used to be entered manually, but modern auto-configuring BIOSes
do much of this work, in which case the more important settings are advanced settings such as DRAM timings. The
other important data kept in CMOS memory is the time and date, which is updated by a Real Time Clock (RTC).
The clock, CMOS RAM and battery are usually all integrated into a single chip. The PC reads the time from the
RTC when it boots up, after which the CPU keeps time - which is why system clocks are sometimes out of sync.
Rebooting the PC causes the RTC to be reread, increasing their accuracy.
Form factor
Early PCs used the AT form factor and 12in wide motherboards. The sheer size of an AT motherboard caused
problems for upgrading PCs and did not allow use of the increasingly popular slimline desktop cases. These
problems were largely addressed by the smaller version of the full AT form factor, the Baby AT, introduced in 1989.
Whilst this remains a common form factor, especially for Socket 7 motherboads, there have been several
improvements since. All designs are open standards and as such don't require certification. A consequence is that
there can be some quite wide variation in design detail between different manufacturers' motherboards.
BAT
The Baby AT (BAT) format reduced the dimensions of the motherboard to a typical 9in wide by 10in long, and BAT
motherboards are generally characterised by their shape, an AT-style keyboard connector soldered to the board and
serial and parallel port connectors which are attached using cables between the physical ports mounted on the
system case and corresponding connectors located on the motherboard.
With the BAT design the processor socket is located at the front of the motherboard, and full-length expansion cards
are intended to extend over it. This means that removing the processor requires the removal of some or all expansion
cards first. Problems were exacerbated by the increasing speeds of Pentium-class processors. System cooling relied
on the AT power supply blowing air out of the chassis enclosure and, due to the distance between the power supply
and the CPU, an additional chassis fan or active heatsink became a necessity to maintain good airflow across the
CPU. AT power supplies only provide 12V and 5V outputs to the motherboard, requiring additional regulators on the
motherboard if 3.3V components (PCI cards or CPUs) are used. Sometimes a second heatsink was also required on
these voltage regulators and together the various additional heat dissipation components caused serious obstruction
for expansion slots.
Some BAT designs allow the use of either AT or ATX power supplies, and some ATX cases might allow the use of a
Baby-AT motherboard.
LPX
The LPX format is a specialised variant of the Baby-AT used in low profile desktop systems and is a loose
specification with a variety of proprietary implementations.
Expansion slots are located on a central riser card, allowing cards to be mounted horizontally. However, this
arrangement can make it difficult to remove the motherboard, and the more complex engineering required adds to
system costs. As the riser card prevents good airflow within the system case, additional chassis fans are almost
always needed.
ATX
The Intel Advanced/ML motherboard, launched in 1996, was designed to solve these issues and marked the
beginning of a new era in motherboard design. Its size and layout are completely different to the BAT format,
following a new scheme known as ATX. The dimensions of a standard ATX board are 12in wide by 9.6in long; the
mini ATX variant is typically of the order 11.2in by 8.2in.
The ATX design gets round the problem by moving the CPU socket and the voltage regulator to the right-hand side
of the expansion bus. Room is made for the CPU by making the card slightly wider, and shrinking or integrating
components such as the Flash BIOS, I/O logic and keyboard controller. This means the board need only be half as
deep as a full size Baby AT, and there's no obstruction whatsoever to the six expansion slots (two ISA, one ISA/PCI,
three PCI).
The ATX uses a new specification of power supply that can be powered on or off by a signal from the motherboard.
This allows notebook-style power management and software-controlled shutdown and power-up. A 3.3V output is
also provided directly from the power supply. Accessibility of the processor and memory modules is improved
dramatically, and relocation of the peripheral connectors allows shorter cables to be used. This also helps reduce
electromagnetic interference. The ATX power supply has a side vent that blows air from the outside directly across
the processor and memory modules, allowing passive heatsinks to be used in most cases, thereby reducing system
noise.
Mini-ATX is simply a smaller version of a full-sized ATX board. On both designs, parallel, serial, PS/2 keyboard
and mouse ports are located on a double-height I/O shield at the rear. Being soldered directly onto the board
generally means no need for cable interconnects to the on-board I/O ports. A consequence of this, however, is that
the ATX needs a newly designed case, with correctly positioned cut-outs for the ports, and neither ATX no MiniATX boards can be used in AT-style cases.
NLX
Intel's NLX design, introduced in 1997, is an improvement on the LPX design for low-profile systems, with an
emphasis on ease of maintenance. The NLX format is smaller, typically 8.8in wide by 13in long, so well suited for
low-profile desktop cases.
All expansion slots, power cables and peripheral connectors are located on an edge-mounted riser card, allowing
simple removal of the main motherboard, which is mounted on rails in the chassis. It uses a full-width I/O shield to
allow for different combinations of rear-panel I/O. The design allows for use of an AGP card, but the slot must be on
the motherboard, which reduces the ease of maintenance when such a card is implemented.
MicroATX
Introduced in the late 1990s, the MicroATX is basically a smaller version of Intel's ATX specification, intended for
compact, low-cost consumer systems with limited expansion potential.
The maximum size of the board is 9.6in square, and its designed to fit into either a standard ATX case or one of the
new micro-tower desktop designs. The double-decker I/O shield is the same as that on the ATX design, but there's
only provision for up to four expansion slots as opposed to the seven that ATX allows. The microATX also allows
use of a smaller power supply, such as the SFX design, which is reduced in both size and power output.
FlexATX
The FlexATX is a natural evolution of the Intel's microATX form factor which was first unveiled in late 1999. The
FlexATX addendum to the microATX specification addresses the requirements of only the motherboard and not the
overall system solution. As such, it does not detail the interfaces, memory or graphics technologies required to
develop a successful product design. These are left to the implementer and system designer. The choice of processor
is, however, limited to socket-only designs.
The principal difference between FlexATX and microATX is that the new form factor reduces the size of the
motherboard - to 9in x 7.5in. Not only does this result in lower overall system costs, it also facilitates smaller system
designs. The FlexATX form factor is backwards compatible with both the ATX and micro-ATX specifications - use
of the same motherboard mounting holes as both of its predecessors avoids the need to retool existing chassis.
In the spring of 2000 VIA Technologies announced an even smaller motherboard than the FlexATX. At 8.5in x 7.5in,
the company's ITX form factor is half and inch less wide than it's Intel competitor. The key innovation that allows
the ITX to achieve such a compact form is the specially designed slimline power unit with built in fan. It's
dimensions of 174mm long x 73mm wide x 55mm high compare with a standard ATX power supply unit measuring
140mm x 150mm x 86mm.
The table below compares the dimensions of the microATX, FlexATX and ITX form factors:
Form Factor Max. Width (mm) Max. Depth (mm)
microATX 244 244
FlexATX 229 191
ITX 215 191
Unsurprisingly Intel's FlexATX form factor uses it's CNR riser architecture, while the ITX uses the rival ACR
architecture.
Riser architectures
In the late 1990s, the PC industry developed a need for a riser architecture that would contribute towards reduced
overall system costs and at the same time increase the flexibility of the system manufacturing process. The
Audio/Modem Riser (AMR) specification, introduced in the summer of 1998, was the beginning of a new riser
architecture approach. AMR had the capability to support both audio and modem functions. However, it did have
some shortcomings, which were identified after the release of the specification. These shortcomings included the
lack of Plug and Play (PnP) support, as well as the consumption of a PCI connector location.
Consequently, new riser architecture specifications were defined which combine more functions onto a single card.
These new riser architectures combine audio, modem, broadband technologies, and LAN interfaces onto a single
card. They continue to give motherboard OEMs the flexibility to create a generic motherboard for a variety of
customers. The riser card allows OEMs and system integrators to provide a customised solution for each customer's
needs. Two of the most recent riser architecture specifications include CNR and ACR.
Intel's CNR Communication and Networking Riser) specification defines a hardware scalable OEM motherboard
riser and interface that supports the audio, modem, and LAN interfaces of core logic chipsets. The main objective of
this specification is to reduce the baseline implementation cost of features that are widely used in the "Connected
PC", while also addressing specific functional limitations of today's audio, modem, and LAN subsystems.
PC users' demand for feature-rich PCs, combined with the industry's current trend towards lower cost, mandates
higher levels of integration at all levels of the PC platform. Motherboard integration of communication technologies
has been problematic to date, for a variety of reasons, including FCC and international telecom certification
processes, motherboard space, and other manufacturer specific requirements.
Motherboard integration of the audio, modem, and LAN subsystems is also problematic, due to the potential for
increased noise, which in-turn degrades the performance of each system. The CNR specifically addresses these
problems by physically separating these noise-sensitive systems from the noisy environment of the motherboard.
With a standard riser solution, as defined in this specification, the system manufacturer is free to implement the
audio, modem, and/or LAN subsystems at a lower bill of materials (BOM) cost than would be possible by deploying
the same functions in industry-standard expansion slots or in a proprietary method. With the added flexibility that
hardware scalability brings, a system manufacturer has several motherboard acceleration options available, all
stemming from the baseline CNR interface.
The CNR Specification supports the five interfaces:
AC97 Interface - Supports audio and modem functions on the CNR card
LAN Connect Interface (LCI) - Provides 10/100 LAN or Home Phoneline Networking capabilities for Intel chipset
based solutions
Media Independent Interface (MII) - Provides 10/100 LAN or Home Phoneline Networking capabilities for CNR
platforms using the MII Interface
Universal Serial Bus (USB) - Supports new or emerging technologies such as xDSL or wireless
System Management Bus (SMBus) - Provides Plug and Play (PnP) functionality on the CNR card.
Each CNR card can utilise a maximum of four interfaces by choosing the specific LAN interface to support.
The rival ACR specification is supported by an alliance of leading computing and communication companies,
whose founders include 3COM, AMD, VIA Technologies and Lucent Technologies. Like CNR, it defines a form
factor and interfaces for multiple and varied communications and audio subsystem designs in desktop OEM personal
computers. Building on first generation PC motherboard riser architecture, ACR expands the riser card definition
beyond the limitation of audio and modem codecs, while maintaining backward compatibility with legacy riser
designs through an industry standard connector scheme. The ACR interface combines several existing
communications buses, and introduces new and advanced communications buses answering industry demand for
low-cost, high-performance communications peripherals.
ACR supports modem, audio, LAN, and xDSL. Pins are reserved for future wireless bus support. Beyond the
limitations of first generation riser specifications, the ACR specification enables riser-based broadband
communications, networking peripheral and audio subsystem designs. ACR accomplishes this in an open-standards
context.
Like the original AMR Specification, the ACR Specification was designed to occupy or replace an existing PCI
connector slot. This effectively reduces the number of available PCI slots by one, regardless of whether the ACR
connector is used. Though this may be acceptable in a larger form factor motherboard, such as ATX, the loss of a
PCI connector in a microATX or FlexATX motherboard - which often provide as few as two expansion slots - may
well be viewed as an unacceptable trade-off. The CNR specification overcomes this issue by implementing a shared
slot strategy, much like the shared ISA /PCI slots of the recent past. In a shared slot strategy, both the CNR and PCI
connectors effectively use the same I/O bracket space. Unlike the ACR architecture, when the system integrator
chooses not to use a CNR card, the shared PCI slot is still available.
Although the two specifications both offer similar functionality, the way in which they are implemented are quite
dissimilar. In addition to the PCI connector/shared slot issue, the principal differences are as follows:
ACR is backwards compatible with AMR, CNR isn't
ACR provides support xDSL technologies via its Integrated Packet Bus (IPB) technology; CNR provides such
support via the well-established USB interface
ACR provides for concurrent support for LCI (LAN Connect Interface) and MII (Media Independent Interface)
LAN interfaces; CNR supports either, but not both at the same time
The ACR Specification has already reserved pins for a future wireless interface; the CNR specification has the pins
available but will only define them when the wireless market has become more mature.
Ultimately, motherboard manufacturers are going to have to decide whether the ACR specification's additional
features are worth the extra cost.
Power Supply
In a personal computer (PC), the power supply is the metal box usually found in a corner of the case. The power
supply is visible from the back of many systems because it contains the power-cord receptacle and the cooling fan.
This is a power supply removed from its PC case. The small, red
switch at right, above the power-cord connector, is for changing line
voltages in various countries.
Switcher Technology
Prior to 1980 or so, power supplies tended to be heavy and bulky. They used large, heavy transformers
and huge capacitors (some as large as soda cans) to convert line voltage at 120 volts and 60 hertz into 5
volts and 12 volts DC.
The switching power supplies used today are much smaller and lighter. They convert the 60-Hertz (Hz, or
cycles per second) current to a much higher frequency, meaning more cycles per second. This
conversion enables a small, lightweight transformer in the power supply to do the actual voltage stepdown from 110 volts (or 220 in certain countries) to the voltage needed by the particular computer
component. The higher-frequency AC current provided by a switcher supply is also easier to rectify and
filter compared to the original 60-Hz AC line voltage, reducing the variances in voltage for the sensitive
electronic components in the computer.
Switcher technology is also used to make AC from DC, as found in many of the automobile power
inverters used to run AC appliances in an automobile and in uninterruptible power supplies. Switcher
technology in automotive power inverters changes the direct current from the auto battery into alternating
current. The transformer uses alternating current to make the transformer in the inverter step the voltage
up to that of household appliances (120 VAC).
Power regulation is critical. The tighter the power regulation, the closer the power supply comes to its target voltage.
Witness, for example, PC Power & Cooling's Turbo-Cool 425W supply. Its regulation on all three lines is 1 percent.
Cheaper power supplies generally range from 5 percent to 7 percent.
Measuring Your Power Struggles
How much power do you need? If you're running a micro-ATX motherboard with embedded graphics and audio, and
a single 5400rpm IDE drive, that whimpy 150W power supply may be enough. But if your rig pushes half a gig of
RAM, dual procs, Ultra2 SCSI RAID, and a GeForce 256, even a 300W supply may leave you bent.
We've compiled a list of roughly how much power is consumed by common parts. By now you should know not to
judge your power supply by overall wattage alone, so look at the demands on each separate line. Nonetheless, when
looking at overall wattage, add the requirements of every device in your rig, then multiply that number by 1.5
(because you should be taxing from 30 precent to 70 pecent of your power supply's capacity). Some of your
individual components may actually list their specific power requirements, so use these numbers for more accurate
calculations. And remember, if you need to figure out wattage, multiply the voltage by the amps.
Component
Requirement
Line(s) Used
High-wattage AGP card 20 - 50W +3.3V
Average PCI card 5W +5V
Cached SCSI controller PCI card 20-25W +3.3V and +5V
Floppy drive 5W +5V
10/100 NIC 4W +3.3V
50x Atapi CD-ROM 10 - 25W +5V and +12V
12x Atapi DVD-ROM 10 - 25W +5V and +12V
12x / 10x / 40x SCSI CD-R/RW 20W +5V and +12V
SCSI CD-ROM 12W +5V and +12V
RAM 8W per 128MB +3.3V
Ultra2 SCSI PCI card 5W +3.3V and +5V
7200rpm IDE hard drive 5 - 15W +5V and +12V
7200rpm Ultra2 SCSI hard drive 24W +5V and +12V
10,000rpm SCSI drive 10 - 40W +5V and +12V
Motherboard (without CPU or RAM) 20 - 30W +3.3V and +5V
Typical Pentium II 30W +5V
1GHz Pentium III 34W +5V
1.7GHz Pentium 4 65W +12V
1.4GHz AMD Athlon 70W +12V
is used and receives the first in-rush of AC current when the PC is switched on. Typically, a stalled cooling fan is a
predictor of a power supply failure due to subsequent overheated components. All devices in a PC receive their DC
power via the power supply.
A typical failure of a PC power supply is often noticed as a burning smell just before the computer shuts down.
Another problem could be the failure of the vital cooling fan, which allows components in the power supply to
overheat. Failure symptoms include random rebooting or failure in Windows for no apparent reason.
For any problems you suspect to be the fault of the power supply, use the documentation that came with your
computer. If you have ever removed the case from your personal computer to add an adapter card or memory, you
can change a power supply. Make sure you remove the power cord first, since voltages are present even though your
computer is off.
Nearly every desktop computer and server in use today contains one or more hard disk drives. Every
mainframe and supercomputer is normally connected to hundreds of them. You can even find VCR-type
devices and camcorders that use hard disks instead of tape. These billions of hard disks do one thing well
- they store changing digital information in a relatively permanent form. They give computers the ability to
remember things when the power goes out.
In this edition of How Stuff Works we'll take apart a hard disk so that you can see what's inside, and also
discuss how they organize the gigabytes of information they hold in files!
It is a sealed aluminum box with controller electronics attached to one side. The electronics control the
read/write mechanism and the motor that spins the platters. The electronics also assemble the magnetic
domains on the drive into bytes (reading) and turn bytes into magnetic domains (writing). The electronics
are all contained on a small board that detaches from the rest of the drive:
Underneath the board are the connections for the motor that spins the platters, as well as a highly-filtered
vent hole that lets internal and external air pressures equalize:
Removing the cover from the drive reveals an extremely simple but very precise interior:
The mechanism that moves the arms on a hard disk has to be incredibly fast and precise. It can be
constructed using a high-speed linear motor.
Many drives use a "voice coil" approach - the same technique used to move the cone of a speaker on
your stereo moves the arm.
A typical track is shown in yellow; a typical sector is shown in blue. A sector contains a fixed number of
bytes -- for example, 256 or 512. Either at the drive or the operating system level, sectors are often
grouped together into clusters.
The process of low-level formatting a drive establishes the tracks and sectors on the platter. The
starting and ending points of each sector are written onto the platter. This process prepares the drive to
hold blocks of bytes. High-level formatting then writes the file-storage structures, like the file allocation
table, into the sectors. This process prepares the drive to hold files.
Note: If you are running a less-common operating system such as OS/2, Linux or BeOS, you likely know more
about those operating systems than I do. :^) While I have done my best to research file system support for the
alternative operating systems, my personal experience with them is limited. I decided it was better to mention these
operating systems and cover their file system support to the best of my knowledge, rather than just leave them out.
However, I probably missed something somewhere, so if you find any mistakes,
Windows 95 was a big success for Microsoft, and I would say this was for good reason: while certainly sharing
many of the flaws associated with other Microsoft operating systems, Windows 95 was a significant improvement
over Windows 3.x in virtually every way. However, Microsoft developed a problem with the operating system as
time went on, specifically related to the file systems it supported. As hard disks grew in size, they began to approach
the maximum size allowed by a FAT16 partition. This meant that PC makers were forced to divide the drives in their
new systems into multiple partitions, which was extra work and which some customers didn't like. People buying
new hard disks also had a similar problem. Since hard disks were only going to keep getting bigger, Microsoft had to
do "something".
That "something" came in the form of the FAT32 file system, which allows for much larger single partitions than the
older 16-bit version of FAT. FAT32 support was included in an updated version of Windows 95 that Microsoft
released in 1996, along with some other new features. In a move that was controversial at the time, Microsoft
decided to make these new operating systems available only to OEMs (original equipment manufacturers, in this
case PC and PC component makers)--no retail version was ever created. The new version of Windows 95 was called
"Windows 95 OEM Service Release 2", which is usually abbreviated to "Windows 95 OEM SR2" or "Windows 95
OSR2". It is also sometimes called "Windows 95B".
OSR2 was never sold to the public at retail, so if you wanted to use the newer version with FAT32 support you had
to either buy a new PC, motherboard or hard disk, or buy a "gray market" copy from a retailer willing to break
Microsoft's rules (and doing this was quite popular in 1996 and 1997). Microsoft never really explained why they
refused to make FAT32 available to the unwashed masses, but speculation is that they didn't want to expend the
energy involved in doing a full quality assurance cycle to ensure that it would work with all the hardware in use at
the time. By restricting it to OEMs and new systems, they didn't have to worry as much about whether OSR2 would
work with all older hardware and software, and could even push some of the validation effort onto the OEMs
themselves.
Between 1996 and 1997, Microsoft actually released three slightly different variants of Windows 95 OSR2:
OEM SR2.0: This is the first OSR2 version, also called "Windows 95B".
OEM SR2.1: This is OSR2.0 with the addition of a patch to allow (rudimentary) USB support within
Windows 95. Also called "Windows 95B".
OEM SR2.5: This was produced at around the time that Microsoft became obsessed with tying browsers
into their operating system. :^) It includes everything from OSR2.1 and also Internet Explorer 4. This
variant is often called "Windows 95C".
Note that all of these are identical, except as noted, and they all support the FAT12, FAT16, VFAT and FAT32 file
systems.
Well, I included all this verbiage so that you would understand all of the various issues surrounding FAT32 support
under Windows 95. The matter of FAT32 not being available at retail became a non-issue when Microsoft introduced
Windows 98, which all but removed Windows 95 OSR 2.x from the market. Of course, millions of PCs are still
running this operating system. If you have the older Windows 95 (now called "Windows 95A") and want FAT32 you
should upgrade to Windows 98 or Windows ME, not Windows 95 OSR 2.x (unless there is a specific reason why
you prefer Windows 95 of course!)
Next: Windows 98, Windows 98 Second Edition and Windows ME
Windows 98, Windows 98 Second Edition and Windows ME
Microsoft took a lot of heat when it created Windows 95 OEM SR 2, because they decided not to sell that version of
the operating system at retail. As hard disks got bigger and bigger, demand for FAT32 support increased.
Unfortunately, as a "regular customer" of Microsoft's, you would have no way to get FAT32 support, unless you
chose to buy new hardware or buy a copy that had been sold contrary to Microsoft's licensing rules. As a result,
1996 and 1997 were two years of confusion in the area of file system support on Microsoft operating systems. :^)
This situation persisted until 1998, when Microsoft released the first version of Windows 98.
Windows 98, among other improvements to Windows 95 (and some subtractions, depending on your perspective)
includes full support for FAT32, and was definitely sold at retail. :^) The operating system also provides the
capability of converting an existing FAT16 partition to FAT32. This was the first Microsoft operating system to
provide complete "official" support for FAT32. It also of course supports the older FAT variants.
In 1999, Microsoft released Windows 98 Second Edition ("Windows 98 SE"), which in this author's opinion was
little more than a glorified bug patch that Microsoft was able to sell as a new product. In 2000 came Microsoft
Millennium Edition ("Windows ME") which is another evolutionary tweak on the Windows 98 OSes. Neither of
these new operating systems added any additional file system support (and as far as I am concerned, neither added
anything of much substance in any way, though others would probably disagree with that...)
Next: Windows NT
Windows NT
All of the other operating systems that I have mentioned in the earlier pages in this section are, in one form or
another, evolutionary enhancements that hearken back to the very first version of MS-DOS 1.0, written in 1981. This
includes Windows 3.x, Windows 95, Windows 98 and Windows ME. While Microsoft would like very much for
people to forget this fact, I refuse to. :^) These operating systems are generally capable for most users, but are not
designed for the rigors of heavy use. In the early 1990s, Microsoft recognized that if it wanted to tackle the growing
(and lucrative) business and corporate market, a more advanced, capable, secure and scalable operating system
would be required.
The result was a new version of Windows, designed and built from the ground up. This new operating system was
released in 1993 as Windows NT, with the "NT" supposedly standing for "New Technology" (though since its arrival
was delayed for some time, pundits began to joke that it really stood for "Not There". ;^) ) Windows NT was
specifically designed for the corporate environment, and intended for use on high-powered servers and workstations.
Unlike the "consumer" Windows operating systems, it is not based on MS-DOS, though it can run some MS-DOS
programs (through emulation of a virtual MS-DOS machine.)
For compatibility, Windows NT supports the older FAT family of file systems, but not FAT32. However, NT's
intended file system of choice is the highly-capable NTFS, which is discussed in this section of the site. Many of the
more advanced features of Windows NT are in fact tied to the use of the NTFS file system. However, FAT support
provides flexibility for certain applications, especially ones that involved multiple operating system installs on the
same PC. Note that even though Windows NT will read both FAT and NTFS partitions, the two file systems are not
compatible with each other.
Several versions of Windows NT were created. The first was version 3.1, which was named to coincide with
Windows 3.1, the then-current consumer operating system. Windows NT 3.5 followed shortly thereafter, and then
Windows NT 3.51. All of these early NT versions had some limitations, and used the older Windows 3.1-style
interface that many people found somewhat lacking. They support FAT and NTFS partitions, as mentioned, and will
also support HPFS, the native file system of IBM's OS/2.
NT came into its own with Windows NT 4.0, which was released in 1996 and became very popular in the late 1990s.
It supports FAT and NTFS, like the earlier NT versions, but not HPFS, support for which was removed in version
4.0. From a file system support standpoint, Windows NT 4.0 was perceived as having one major weakness, and that
was lack of support for FAT32 (support for FAT32 under Windows NT was possible through the use of third-party
drivers, but not natively). As the 1990s closed, Windows NT became somewhat dated, and was "replaced" by
Windows 2000, which included FAT32 support (amongst other things).
Next: Windows 2000
Windows 2000
Windows NT was very successful for Microsoft through the 1990s, but the software giant didn't rest on its laurels.
As Windows NT 4.0 began to age, certain flaws began to show, including a lack of support for the latest hardware
and other limitations. From a file systems perspective, the most important was the lack of support for FAT32.
Microsoft addressed some of these through the use of service packs, but mostly concentrated on the next version of
the operating system. It had been unofficially called "Windows NT 5.0" for some time, but Microsoft instead called
the new operating system Windows 2000.
Windows 2000 builds upon Windows NT 4.0 in most respects, and differs from the older operating system in two
ways when it comes to file systems. The first is the addition of support for FAT32, as I hinted at in the preceding
paragraph. :^) This was a much-desired change, especially with FAT32 all but replacing FAT16 in newer Windows
9x/ME systems. The other was that NTFS under Windows 2000 was enhanced, through the creation of the NTFS 5.0
version of that file system. Windows 2000 will still read older NTFS partitions, but it must be installed on an NTFS
5.0 partition; NTFS 5.0 is Windows 2000's "preferred" file system.
Note: For a full discussion of NTFS, see this section of the site. For more on NTFS versions, see here.
Next: OS/2
OS/2
In the early 1990s, two of the biggest names in the PC world, IBM and Microsoft, joined forces to create OS/2, with
the goal of making it the "next big thing" in graphical operating systems. Well, it didn't quite work out that way. :^)
The story behind OS/2 includes some of the most fascinating bits of PC industry history, but it's a long story and not
one that really makes sense to get into here. The short version goes something like this:
4. Microsoft and IBM create OS/2 with high hopes that it will revolutionize the PC desktop.
5. OS/2 has some significant technical strengths but also some problems.
6. Microsoft and IBM fight over how to fix the problems, and also over what direction to take for the future of
the operating system.
7. Microsoft decides, based on some combination of frustration over problems and desire for absolute control,
to drop OS/2 and focus on Windows instead.
8. IBM and Microsoft feud.
9. IBM supports OS/2 (somewhat half-heartedly) on its own, while Microsoft dominates the industry with
various versions of Windows.
Now, OS/2 afficionados will probably take issue with at least some of that summarization, but that is what happened
in a nutshell, or at least I think so. :^) At any rate, OS/2 continues to be supported today, but really has been
relegated to a niche role. I don't know how long IBM will continue to support it.
OS/2's file system support is similar, in a way to that of Windows NT's. OS/2 supports FAT12 and FAT16 for
compatibility, but is really designed to use its own special file system, called HPFS. HPFS is similar to NTFS (NT's
native file system) though it is certainly not the same. OS/2 does not have support for FAT32 built in, but that there
are third-party tools available that will let OS/2 access FAT32 partitions. This may be required if you are running a
machine with both OS/2 and Windows partitions. I believe that OS/2 does not include support for NTFS partitions.
Note: As I mentioned in the introduction to this section, I have little personal experience with OS/2, so if anything
has changed with respect to file system support in OS/2, please feel free to let me know.
As an operating system geared specifically for use on the PC, Linux is the UNIX variant that gets the most attention
in PC circles. To improve its appeal, the programmers who are continually working to update and improve Linux
have put into the operating system compatibility support for most of the other operating systems out there. Linux
will read and write to FAT partitions, and with newer versions this includes FAT32. I believe Linux can also read and
write HPFS volumes, and can read NTFS volumes as well, but not write to them. Even BeFS is now supported.
Some of these may require special drivers or utilities to be added to a basic Linux install.
While I use UNIX every day (The PC Guide runs on a UNIX server) my experience with Linux specifically is
limited. Fortunately, one of the best things about Linux is that there is a myriad of helpful information about it all
over the Internet: a popular one is slashdot.org. Since the Linux operating system is constantly being updated, your
best bet is to hook up with one or more of the better Linux web sites to keep yourself informed on the happenings in
this alternative operating system for PCs.
Next: BeOS
BeOS
In 1996, a new operating system was introduced to the world by a company called simply "Be". Its product, the
BeOS, was intended to be an alternative to the "big" operating systems used by most people. Support for PowerPC
(Apple hardware platform) came first, and then in 1998, BeOS for x86 (PC) computers was released. BeOS was
developed from the "ground up" and was intended to be especially suited for dealing with multimedia applications,
such as video and audio, on consumer-level hardware. To the PC user dissatisfied with Microsoft operating systems,
BeOS represents another important option. While still a very small percentage of the overall operating system
market (and for that reason mostly ignored in traditional hardware and software circles) it is the choice of a number
of PC hobbyists and power users.
BeOS's primary file system is its own, the BeOS File System, alternately abbreviated as BFS or befs. This file system
is unique to BeOS, but from my understanding most resembles a UNIX-type file system. One of BeOS's strengths,
however, is that to encourage its use by those already running other operating systems, Be has built into BeOS the
capability of accessing a multitude of other file systems. BeOS can read or write to FAT12, FAT16, VFAT and HPFS
partitions. Support for FAT32 has either been added to the operating system recently, or is available through a thirdparty add-on. BeOS can even read NTFS partitions with the appropriate tool added, though it cannot write to them.
My experience with BeOS would be best categorized as follows: "Between Slim and Nil, with Slim having just left
town". (Hey, honesty is supposed to be a virtue. :^) ) Any of you BeOS aficionados who find anything incorrect in
what I have written above, please let me know. While I don't use BeOS myself I think it is important that alternative
operating systems be at least given a fair mention when discussing PC hardware.