Vous êtes sur la page 1sur 50

A PC is a general purpose tool built around a microprocessor.

It has lots of
different parts -- memory, a hard disk, a modem, etc. -- that work together.
"General purpose" means that you can do many different things with a PC. You
can use it to type documents, send e-mail, browse the Web and play games.

On the Inside
Let's take a look at the main components of a typical desktop computer.
• Central processing unit (CPU) - The microprocessor "brain" of the
computer system is called the central processing unit. Everything that a
computer does is overseen by the CPU.
• Memory - This is very fast storage used to hold data. It has to be fast
because it connects directly to the microprocessor. There are several
specific types of memory in a computer:
 Random-access memory (RAM) - Used to temporarily store
information that the computer is currently working with
 Read-only memory (ROM) - A permanent type of memory storage
used by the computer for important data that does not change
 Basic input/output system (BIOS) - A type of ROM that is used by
the computer to establish basic communication when the computer
is first turned on
 Caching - The storing of frequently used data in extremely fast
RAM that connects directly to the CPU
• Virtual memory - Space on a hard disk used to temporarily store data and
swap it in and out of RAM as needed Motherboard - This is the main
circuit board that all of the other internal components connect to. The CPU
and memory are usually on the motherboard. Other systems may be
found directly on the motherboard or connected to it through a secondary
connection. For example, a sound card can be built into the motherboard
or connected through PCI.
• Power supply - An electrical transformer regulates the electricity used by
the computer.
• Hard disk - This is large-capacity permanent storage used to hold
information such as programs and documents.
• Operating system - This is the basic software that allows the user to
interface with the computer.
• Integrated Drive Electronics (IDE) Controller - This is the primary interface
for the hard drive, CD-ROM and floppy disk drive.
• Peripheral Component Interconnect (PCI) Bus - The most common way to
connect additional components to the computer, PCI uses a series of
slots on the motherboard that PCI cards plug into.
• SCSI - Pronounced "scuzzy," the small computer system interface is a
method of adding additional devices, such as hard drives or scanners, to
the computer.
• AGP - Accelerated Graphics Port is a very high-speed connection used
by the graphics card to interface with the computer.
• Sound card - This is used by the computer to record and play audio by
converting analog sound into digital information and back again.
• Graphics card - This translates image data from the computer into a
format that can be displayed by the monitor

From Powering Up to Shutting Down


Now that you are familiar with the parts of a PC, let's see what happens in a
typical computer session, from the moment you turn the computer on until you
shut it down:
1. You press the "On" button on the computer and the monitor.
2. You see the BIOS software doing its thing, called the power-on self-test
(POST). On many machines, the BIOS displays text describing such data
as the amount of memory installed in your computer and the type of hard
disk you have. During this boot sequence, the BIOS does a remarkable
amount of work to get your computer ready to run.
• The BIOS determines whether the video card is operational. Most
video cards have a miniature BIOS of their own that initializes the
memory and graphics processor on the card. If they do not, there is
usually video-driver information on another ROM on the
motherboard that the BIOS can load.
• The BIOS checks to see if this is a cold boot or a reboot. It does
this by checking the value at memory address 0000:0472. A value
of 1234h indicates a reboot, in which case the BIOS skips the rest
of POST. Any other value is considered a cold boot.
• If it is a cold boot, the BIOS verifies RAM by performing a read/write
test of each memory address. It checks for a keyboard and a
mouse. It looks for a PCI bus and, if it finds one, checks all the PCI
cards. If the BIOS finds any errors during the POST, it notifies you
with a series of beeps or a text message displayed on the screen.
An error at this point is almost always a hardware problem.
• The BIOS displays some details about your system. This typically
includes information about the following:
 Processor
 Floppy and hard drive
 Memory
 BIOS revision and date
 Display
• Any special drivers, such as the ones for SCSI adapters, are
loaded from the adapter and the BIOS displays the information.
• The BIOS looks at the sequence of storage devices identified as
boot devices in the CMOS Setup. "Boot" is short for "bootstrap," as
in the old phrase "Lift yourself up by your bootstraps." Boot refers to
the process of launching the operating system. The BIOS tries to
initiate the boot sequence from the first device using the bootstrap
loader.
3. The bootstrap loader loads the operating system into memory and
allows it to begin operation. It does this by setting up the divisions of
memory that hold the operating system, user information and applications.
The bootstrap loader then establishes the data structures that are used to
communicate within and between the sub-systems and applications of the
computer. Finally, it turns control of the computer over to the operating
system.
4. Once loaded, the operating system's tasks fall into six broad categories:
• Processor management - Breaking the tasks down into
manageable chunks and prioritizing them before sending to the
CPU
• Memory management - Coordinating the flow of data in and out of
RAM and determining when virtual memory is necessary
• Device management - Providing an interface between each device
connected to the computer, the CPU and applications
• Storage management - Directing where data will be stored
permanently on hard drives and other forms of storage
• Application Interface - Providing a standard communications and
data exchange between software programs and the computer
• User Interface - Providing a way for you to communicate and
interact with the computer
5. You open up a word processing program and type a letter, save it and
then print it out. Several components work together to make this happen:
• The keyboard and mouse send your input to the operating system.
• The operating system determines that the word-processing
program is the active program and accepts your input as data for
that program.
• The word-processing program determines the format that the data
is in and, via the operating system, stores it temporarily in RAM.
• Each instruction from the word-processing program is sent by the
operating system to the CPU. These instructions are intertwined
with instructions from other programs that the operating system is
overseeing before being sent to the CPU.
• All this time, the operating system is steadily providing display
information to the graphics card, directing what will be displayed on
the monitor.
• When you choose to save the letter, the word-processing program
sends a request to the operating system, which then provides a
standard window for selecting where you wish to save the
information and what you want to call it. Once you have chosen the
name and file path, the operating system directs the data from RAM
to the appropriate storage device.
• You click on "Print." The word-processing program sends a request
to the operating system, which translates the data into a format the
printer understands and directs the data from RAM to the
appropriate port for the printer you requested.
6. You open up a Web browser and check out www.msn.com Once again,
the operating system coordinates all of the action. This time, though, the
computer receives input from another source, the Internet, as well as from
you. The operating system seamlessly integrates all incoming and
outgoing information.
7. You close the Web browser and choose the "Shut Down" option.
8. The operating system closes all programs that are currently active. If a
program has unsaved information, you are given an opportunity to save it
before closing the program.
9. The operating system writes its current settings to a special configuration
file so that it will boot up next time with the same settings.
10. If the computer provides software control of power, then the operating
system will completely turn off the computer when it finishes its own shut-
down cycle. Otherwise, you will have to manually turn the power off.
A Fit for the Future?
Silicon microprocessors have been the heart of the computing world for more
than 40 years. In that time, microprocessor manufacturers have crammed more
and more electronic devices onto microprocessors. In accordance with Moore's
Law, the number of electronic devices put on a microprocessor has doubled
every 18 months. Moore's Law is named after Intel founder Gordon Moore, who
predicted in 1965 that microprocessors would double in complexity every two
years. Many have predicted that Moore's Law will soon reach its end because of
the physical limitations of silicon microprocessors.
Already we are seeing powerful computers in non-desktop roles. Laptop
computers and personal digital assistants (PDAs) have taken computing out of
the office. Wearable computers built into our clothing and jewelry will be with us
everywhere we go. Our files will follow us while our computer provides constant
feedback about our environment. Voice- and handwriting-recognition software
will allow us to interface with our computers without using a mouse or keyboard.
Magnetic RAM and other innovations will soon provide our PC with the same
instant-on accessibility that our TV and radio have.
One thing is an absolute certainty: The PC will evolve. It will get faster. It will
have more capacity. And it will continue to be an integral part of our lives.

How Microprocessors Work


The computer you are using to read this page uses a microprocessor to do its
work. 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 different
microprocessors,

Microprocessor History
A microprocessor - also known as a CPU or Central Processing Unit - is a
complete computation engine that is fabricated on a single chip. The first
microprocessor was the Intel 4004, introduced in 1971. The 4004 was not very
powerful - all it could do was add and subtract, and it could only do that four bits
at a time. But it was amazing that everything was on one chip. Prior to the 4004,
engineers built computers either from collections of chips or from discrete
components (transistors wired one at a time). The 4004 powered one of the first
portable electronic calculators.
The first microprocessor to make it into a home computer was the Intel 8080, a
complete 8-bit computer on one chip introduced in 1974. The first microprocessor
to make a real splash in the market was the Intel 8088, introduced in 1979 and
incorporated into the IBM PC (which first appeared in 1982 or so). If you are
familiar with the PC market and its history, you know that the PC market moved
from the 8088 to the 80286 to the 80386 to the 80486 to the Pentium to the
Pentium-II to the new Pentium-III. All of these microprocessors are made by Intel
and all of them are improvements on the basic design of the 8088. The new
Pentiums-IIIs can execute any piece of code that ran on the original 8088, but the
Pentium-III runs about 3,000 times faster!

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:
This is about as simple as a microprocessor gets. This microprocessor has:
• an address bus (that may be 8, 16 or 32 bits wide) that sends an address
to memory
• a data bus (that may be 8, 16 or 32 bits wide) that can send data to
memory or receive data from memory
• a RD (Read) and WR (Write) line to tell the memory whether it wants to
set or get the addressed location
• a clock line that lets a clock pulse sequence the processor
• A reset line that resets the program counter to zero (or whatever) and
restarts execution.
Let's assume that both the address and data buses are 8 bits wide in this
example.
Here are the components of this simple microprocessor:
• Registers A, B and C are simply latches made out of flip-flops The
address latch is just like registers A, B and C.
• The program counter is a latch with the extra ability to increment by 1
when told to do so, and also to reset to zero when told to do so.
• The ALU could be as simple as an 8-bit adder or it might be able to add,
subtract, multiply and divide 8-bit values. Let's assume the latter here.
• The test register is a special latch that can hold values from comparisons
performed in the ALU. An ALU can normally compare two numbers and
determine if they are equal, if one is greater than the other, etc. The test
register can also normally hold a carry bit from the last stage of the adder.
It stores these values in flip-flops and then the instruction decoder can use
the values to make decisions.
• There are 6 boxes marked "3-State" in the diagram. These are tri-state
buffers. A tri-state buffer can pass a 1, a 0 or it can essentially disconnect
its output (imagine a switch that totally disconnects the output line from the
wire the output is heading toward). A tri-state buffer allows multiple
outputs to connect to a wire, but only one of them to actually drive a 1 or a
0 onto the line.
• The instruction register and instruction decoder are responsible for
controlling all of the other components.
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 6 tri-state buffers (6 separate lines)
• Tell the ALU what operation to perform
• Tell the test register to latch the ALUs test bits
• Activate the RD line
• Activate the WR line
When you think about it, it's amazing how many different types of electronic
memory you encounter in daily life. Many of them have become an integral part
of our vocabulary:
• RAM
• ROM
• Cache
• Dynamic RAM
• Static RAM
• Flash memory
• Memory sticks
• Volatile memory
• Virtual memory
• Video memory
• BIOS
• SIMM
• DIMM
• EDO RAM
• RAMBUS
• DIP
You already know that the computer in front of you has memory. What you may
not know is that most of the electronic items you use every day have some form
of memory also. Here are just a few examples of the many items that use
memory:
• Computers
• Cell phones
• Personal Digital Assistants (PDAs)
• Game consoles
• Car radios
• VCRs
• TVs
Each of these devices uses different types of memory in different ways!

Memory Is at the Heart of Your Computer


Although memory is technically any form of electronic storage, it is used most
often to identify fast, temporary forms of storage. If your computer's CPU had to
constantly access the hard drive to retrieve every piece of data it needs, it would
operate very slowly. When the data are kept in memory, the CPU can access
data much more quickly. Most forms of memory are intended to store data
temporarily.
the CPU accesses memory according to a distinct hierarchy. Whether it comes
from permanent storage (the hard drive) or input (the keyboard), most data goes
in random access memory (RAM) first. The CPU then stores pieces of data it
will need to access often in a cache and maintains certain special instructions in
the register. We'll talk about each of these later.
All of the components in your computer, such as the CPU, the hard drive and the
operating system, work together as a team, and memory is one of the most
essential parts of this team. From the moment you turn your computer on until
the time you shut it down, your CPU is constantly using memory. Let's take a
look at a typical scenario:
• You turn the computer on.
• The computer loads data from read-only memory (ROM) and performs a
power-on self-test (POST) to make sure all the major components are
functioning properly. As part of this test, the memory controller checks all
of the memory addresses with a quick read/write operation to ensure that
there are no errors in the memory chips. Read/write means that data is
written to a bit and then read from that bit.
• The computer loads the basic input/output system (BIOS) from ROM.
The BIOS provides the most basic information about storage devices, boot
sequence, security, Plug and Play (auto device recognition) capability
and a few other items. We discuss the BIOS in more detail in How Flash
Memory Works.
• The computer loads the operating system (OS) from the hard drive into
the system's RAM. Generally, the critical parts of the OS are maintained in
RAM as long as the computer is on. This allows the CPU to have
immediate access to the OS, which enhances the performance and
functionality of the overall system.
• When you open an application, it is loaded into RAM. To conserve RAM
usage, many applications load only the essential parts of the program
initially and then load other pieces as needed.
• After an application is loaded, any files that are opened for use in that
application are loaded into RAM.
• When you save a file and close the application, the file is written to the
specified storage device, and then it and the application are purged from
RAM.
In the list above, every time something is loaded or opened, it is placed into
RAM. This simply means that it has been put in the computer's temporary
storage area so that the CPU can access that information more easily. The CPU
requests the data it needs from RAM, processes it and writes new data back to
RAM in a continuous cycle. In most computers, this shuffling of data between the
CPU and RAM happens millions of times every second. When an application is
closed, it and any accompanying files are usually purged (deleted) from RAM to
make room for new data. If the changed files are not saved to a permanent
storage device before being purged, they are lost.

The Need for Speed


One common question about desktop computers that comes up all the time is,
"why does a computer need so many memory systems?" A typical computer has:
• Level 1 and Level 2 caches
• Normal system RAM
• Virtual memory
• A hard disk

Fast powerful CPUs need quick and easy access to large amounts of data in
order to maximize their performance. If the CPU cannot get to the data it needs,
it literally stops and waits for it. Modern CPUs running at speeds like 1 gigahertz
can consume massive amounts of data -- potentially billions of bytes per second.
The problem that computer designers face is that memory that can keep up with
a 1 gigahertz CPU is extremely expensive -- much more expensive than anyone
can afford in large quantities. Computer designers have solved the cost problem
by "tiering" memory, using expensive memory in small quantities and then
backing it up with larger quantities of less expensive memory.
The cheapest form of read/write memory in wide use today is the hard disk. Hard
disks provide large quantities of inexpensive, permanent storage. You can buy
hard disk space for pennies per megabyte, but it can take a good bit of time
(approaching a second) to read a megabyte off a hard disk. Because storage
space on a hard disk is so cheap and plentiful, it forms the final stage of a CPUs
memory hierarchy, called virtual memory.
The next level of the hierarchy is RAM. We discuss RAM in detail in another
article in this series, but several points about RAM are important here.
The bit size of a CPU tells you how many bytes of information it can access from
RAM at the same time. For example, a 16-bit CPU can process 2 bytes at a time
(1 byte = 8 bits, so 16 bits divided by 8 = 2), and a 64-bit CPU can process 8
bytes at a time.
Megahertz (MHz) is a measure of a CPU's processing speed, or clock cycle, in
millions per second. So, a 32-bit 800 MHz Pentium III can potentially process 4
bytes simultaneously, 800 million times per second (possibly more based on
pipelining)! The goal of the memory system is to meet those requirements.
A computer's system RAM alone is not fast enough to match the speed of the
CPU. That is why you need a cache (see the next section). However, the faster
RAM is, the better. Most chips today operate with a cycle rate of 50 to 70
nanoseconds. The read/write speed is typically a function of the type of RAM
used, such as DRAM, SDRAM, RAMBUS. We will talk about these various types
of memory later.
System RAM speed is controlled by Bus width and bus speed. Bus width refers
to the number of bits that can be sent to the CPU simultaneously, and bus speed
refers to the number of times a group of bits can be sent each second. A bus
cycle occurs every time data travels from memory to the CPU. For example, a
100 MHz 32-bit bus is theoretically capable of sending 4 bytes (32 bits divided by
8 = 4) of data to the CPU one hundred million times per second while a 66 MHz
16-bit bus can send 2 bytes of data sixty-six million times per second. If you do
the math, you'll find that simply changing the bus width from 16-bit to 32-bit and
the speed from 66 MHz to 100 MHz in our example allows for three times as
much data (400 million bytes versus 132 million bytes) to pass through to the
CPU every second.
In reality, RAM doesn't usually operate at optimum speed; latency changes the
equation radically. Latency refers to the number of clock cycles needed to read a
bit of information. For example, RAM rated at 100 MHz is capable of sending a
bit in .00000001/second but may take .00000005/second to start the read
process for the first bit. To compensate for latency, CPUs uses a special
technique called burst mode.
Burst mode depends on the expectation that data requested by the CPU will be
stored in sequential memory cells. The memory controller anticipates that
whatever the CPU is working on will continue to come from this same series of
memory addresses, so it reads several consecutive bits of data together. This
means that only the first bit is subject to the full effect of latency; reading
successive bits takes significantly less time. The rated burst mode of memory is
normally expressed as four numbers separated by dashes. The first number tells
you the number of clock cycles needed to begin a read operation, the second,
third and fourth numbers tell you how many cycles are needed to read each
consecutive bit in the row, also known as the wordline. For example: 5-1-1-1
tells you that it takes five cycles to read the first bit and one cycle for each bit
after that. Obviously, the lower these numbers are, the better the performance of
the memory.
Burst mode is often used in conjunction with pipelining, another means of
minimizing the effects of latency. Pipelining organizes data retrieval into a sort of
assembly line process. The memory controller simultaneously reads one or more
words from memory, sends the current word or words to the CPU and writes one
or more words to memory cells. Used together, burst mode and pipelining can
dramatically reduce the lag caused by latency.
So why wouldn't you buy the fastest, widest memory you can get? The speed
and width of the memory's bus must match the system's bus. You can't use
memory designed to work at 100 MHz in a 66 MHz system or 32-bit memory with
a 16-bit CPU.

Cache and the Registers


Even with a wide and fast bus, it still takes longer for data to get from the
memory card to the CPU than it takes for the CPU to actually process the data.
Caches are designed to alleviate this bottleneck by making the data used most
often by the CPU instantly available. This is accomplished by building a small
amount of memory, known as primary or level 1 cache, right into the CPU. Level
1 cache is very small, normally ranging between 2K and 64K
The secondary or level 2 cache typically resides on a memory card located near
the CPU. The level 2 cache has a direct connection to the CPU. A dedicated
integrated circuit on the motherboard, the L2 controller, regulates the use of the
level 2 cache by the CPU. Depending on the CPU, the size of the level 2 cache
ranges from 256K to 2MB. In most systems, data needed by the CPU is
accessed from the cache approximately 95 percent of the time, greatly reducing
the overhead needed when the CPU has to wait for data from the main memory.
Some inexpensive systems dispense with the level 2 cache altogether. Many
high performance CPUs now have the level 2 cache actually built into the CPU
chip itself. Therefore, the size of the level 2 cache and whether it is onboard (on
the CPU) is a major determining factor in the performance of a CPU. For more
details on caching, please read How Caching Works.
A particular type of RAM, static random access memory (SRAM), is used
primarily for cache. SRAM uses multiple transistors, typically four to six, for each
memory cell. It has an external gate array known as a bistable multivibrator
that switches, or flip-flops, between two states. This means that it does not have
to be continually refreshed like DRAM. Each cell will maintain its data as long as
it has power. Without the need for constant refreshing, SRAM can operate
extremely fast. But the complexity of each cell make it prohibitively expensive for
use as standard RAM.
The SRAM in the cache can be asynchronous or synchronous. Synchronous
SRAM is designed to exactly match the speed of the CPU while asynchronous is
not. That little bit of timing makes a difference in performance. Matching the
CPU's clock speed is a good thing, so always look for synchronized SRAM.
The final step in memory is the registers. These are memory cells built right into
the CPU that contain specific data needed by the CPU, particularly the
arithmetic and logic unit (ALU). An integral part of the CPU itself, they are
controlled directly by the compiler that sends information for the CPU to process.
See How Microprocessors Work for details on registers.

Types of Memory
Memory can be split into two main categories: volatile and nonvolatile. Volatile
memory loses any data as soon as the system is turned off; it requires constant
power to remain viable. Most types of RAM fall into this category.
Nonvolatile memory does not lose its data when the system or device is turned
off. A number of types of memory fall into this category. The most familiar is
ROM, but Flash Memory storage devices such as CompactFlash or
SmartMedia cards are also forms of nonvolatile memory. Other articles in this
series will cover these types of memory.
RAM is considered "random access" because you can access any memory cell
directly if you know the row and column that intersect at that cell. The opposite of
RAM is serial access memory (SAM). SAM stores data as a series of memory
cells that can only be accessed sequentially (like a cassette tape). If the data is
not in the current location, each memory cell is checked until the needed data is
found. SAM works very well for memory buffers, where the data is normally
stored in the order it will be used. A good example is the texture buffer memory
on a video card.

How RAM Works


Similar to a microprocessor, a memory chip is an integrated circuit (IC) made of
millions of transistors and capacitors. In the most common form of computer
memory, dynamic random access memory (DRAM), a transistor and a
capacitor are paired to create a memory cell, which represents a single bit of
data. The capacitor holds the bit of information -- a 0 or a 1 (see How Bits and
Bytes Work for information on bits). The transistor acts as a switch that lets the
control circuitry on the memory chip read the capacitor or change its state.
A capacitor is like a small bucket that is able to store electrons. To store a 1 in the
memory cell, the bucket is filled with electrons. To store a 0, it is emptied. The problem
with the capacitor's bucket is that it has a leak. In a matter of a few milliseconds a full
bucket becomes empty. Therefore, for dynamic memory to work, either the CPU or the
memory controller has to come along and recharge all of the capacitors holding a 1
before they discharge. To do this, the memory controller reads the memory and then
writes it right back. This refresh operation happens automatically thousands of times per
The capacitor in a dynamic RAM memory cell is like a leaky bucket.
It needs to be refreshed periodically or it will discharge to 0.

This refresh operation is where dynamic RAM gets its name. Dynamic RAM has
to be dynamically refreshed all of the time or it forgets what it is holding. The
downside of all of this refreshing is that it takes time and slows down the
memory.
Memory cells are etched onto a silicon wafer in an array of columns (bitlines) and rows
(wordlines). The intersection of a bitline and wordline constitutes the address of the

DRAM works by sending a charge through the appropriate column (CAS) to


activate the transistor at each bit in the column. When writing, the row lines
contain the state the capacitor should take on. When reading, the sense-amplifier
determines the level of charge in the capacitor. If it is more than 50% it reads it
as a 1, otherwise as a zero. The counter tracks the refresh sequence based on
which rows have been accessed in what order. The length of time necessary to
do all this is so short that it is expressed in nanoseconds (billionths of a
second). A memory chip rating of 70ns means that it takes 70 nanoseconds to
completely read and recharge each cell.
Memory cells alone would be worthless without some way to get information in
and out of them. So the memory cells have a whole support infrastructure of
other specialized circuits. These circuits perform functions such as:
• identifying each row (row address select or RAS) and column (column
address select or CAS)
• keeping track of the refresh sequence (counter)
• reading and restoring the signal from a cell (sense amplifier)
• telling a cell whether it should take a charge or not (write enable).
Other functions of the memory controller include a series of tasks that include
identifying the type, speed and amount of memory and checking for errors.
Static RAM uses a completely different technology. In static RAM, a form of flip-
flop holds each bit of memory A flip-flop for a memory cell takes 4 or 6 transistors
along with some wiring, but never has to be refreshed. This makes static RAM
significantly faster than dynamic RAM. However, because it has more parts, a
static memory cell takes a lot more space on a chip than a dynamic memory cell.
Therefore you get less memory per chip, and that makes static RAM a lot more
expensive.
So static RAM is fast and expensive, and dynamic RAM is less expensive and
slower. Therefore static RAM is used to create the CPU's speed-sensitive cache,
while dynamic RAM forms the larger system RAM space.

Memory Modules
Memory chips in desktop computers originally used a pin configuration called
dual inline package (DIP). This pin configuration could be soldered into holes
on the computer's motherboard or plugged into a socket that was soldered on the
motherboard. This method worked fine when computers typically operated on a
couple of megabytes or less of RAM, but as the need for memory grew, the
number of chips needing space on the motherboard increased. The solution was
to place the memory chips, along with all of the support components, on a
separate printed circuit board (PCB) that could then be plugged into a special
connector
(memory
bank) on the
motherboard.
Most of these
chips use a
small outline
J-lead (SOJ)
pin
configuration
but quite a
few

From the top, here are SIMM, DIMM and SODIMM memory modules.
manufacturers use the thin small outline package (TSOP) configuration as
well. The key difference between these newer pin types and the original DIP
configuration is that SOJ and TSOP chips are surface-mounted to the PCB. In
other words, the pins are soldered directly to the surface of the board, not
inserted in holes or sockets.
Memory chips are normally only available as part of a card called a module.
You've probably seen memory listed as 8x32 or 4x16. These numbers represent
the number of the chips multiplied by the capacity of each individual chip, which
is measured in megabit (Mb), or one million bits. Take the result and divide it by
eight to get the number of megabytes on that module. For example, 4x32 means
that the module has four 32-megabit chips. Multiply 4 by 32 and you get 128
megabits. Since we know a byte has eight bits, we need to divide our result of
128 by 8. Our result is 16 megabytes!
The type of board and connector used for RAM in desktop computers has
evolved over the past few years. The first types were proprietary, meaning that
different computer manufacturers developed memory boards that would only
work with their specific systems. Then came SIMM, which stands for single in-
line memory module. This memory board used a 30-pin connector and was
about 3.5 inches by .75 inches (about 9 centimeters by 2 centimeters) in size. In
most computers, you had to install SIMMs in pairs of equal capacity and speed.
This is because the width of the bus is more than a single SIMM. For example,
you would install two 8 megabyte (MB) SIMMs to get 16 megabytes total RAM.
Each SIMM could send 8 bits of data at one time while the system bus could
handle 16 bits at a time. Later SIMM boards, slightly larger at 4.25 inches by 1
inch (about 11 centimeters by 2.5 centimeters), used a 72-pin connector for
increased bandwidth and allowed for up to 256MB of RAM.
As processors grew in speed and bandwidth capability, the industry adopted a
new standard in dual in-line memory module (DIMM). With a whopping 168-pin
connector and a size of 5.4 inches by 1 inch (about 14 centimeters by 2.5
centimeters), DIMMs range in capacity from 8MB to 128MB per module and can
be installed singly instead of in pairs. Most PC memory modules operate at 3.3
volts while Mac systems typically use 5 volts. A new standard, Rambus in-line
memory module (RIMM), is comparable in size and pin configuration to DIMM
but uses a special memory bus to greatly increase speed.
Many brands of notebook computers use proprietary memory modules, but
several manufacturers use RAM based on the small outline dual in-line
memory module (SODIMM) configuration. SODIMM cards are small, about 2
inches by 1 inch (5 centimeters by 2.5 centimeters), and have 144 pins. Capacity
ranges from 16MB to 256MB per module. An interesting fact about the Apple
iMac desktop computer is that it uses SODIMMs instead of the traditional DIMMs.

Hard Disk Basics


Hard disks were invented in the 1950s. They started as large disks up to 20
inches in diameter holding just a few megabytes. They were originally called
"fixed disks" or "Winchesters" (a code name used for a popular IBM product).
They later became known as "hard disks" to distinguish them from "floppy disks."
Hard disks have a hard platter that holds the magnetic medium, as opposed to
the flexible plastic film found in tapes and floppies.
At the simplest level, a hard disk is not that different from a cassette tape. Hard
disks and cassette tapes also share the major benefits of magnetic storage - the
magnetic medium can be easily erased and rewritten, and it will "remember" the
magnetic flux patterns stored onto the medium for many years.
Let's look at the big differences between the cassette tapes and hard disks so
you can see how they differ:
• The magnetic recording material on a cassette tape is coated onto a thin
plastic strip. In a hard disk, the magnetic recording material is layered onto
a high-precision aluminum or glass disk. The hard disk platter is then
polished to mirror smoothness.
• With a tape, you have to fast-forward or reverse through the tape to get to
any particular point on the tape. This can take several minutes with a long
tape. On a hard disk you can move to any point on the surface of the disk
almost instantly.
• In a cassette tape deck, the read/write head touches the tape directly. In a
hard disk the read/write head "flies" over the disk, never actually touching
it.
• The tape in a cassette tape deck moves over the head at about 2 inches
(about 5.08 cm) per second. A hard disk platter can spin underneath its
head at speeds up to 3,000 inches per second (about 170 MPH or 272
KPH)!
• The information on a hard disk is stored in extremely small magnetic
domains compared to a cassette tape's. The size of these domains is
made possible by the precision of the platter and the speed of the media.
Because of these differences, a modern hard disk is able to store an amazing
amount of information in a small space. A hard disk can also access any of its
information in a fraction of a second.
A typical desktop machine will have a hard disk with a capacity of between 10
and 40 gigabytes. Data is stored onto the disk in the form of files. A file is simply
a named collection of bytes. The bytes might be the ASCII codes for the
characters of a text file, or they could be the instructions of a software application
for the computer to execute, or they could be the records of a data base, or they
could be the pixel colors for a GIF image. No matter what it contains, however, a
file is simply a string of bytes. When a program running on the computer requests
a file, the hard disk retrieves its bytes and sends them to the CPU one at a time.
There are two ways to measure the performance of a hard disk:
• The data rate - the number of bytes per second that the drive can deliver
to the CPU. Rates between 5 and 40 megabytes per second are common.
• The seek time - the amount of time it takes between the time that the CPU
requests a file and the first byte of the file starts being sent to the CPU.
Times between 10 and 20 milliseconds are common.
The other important parameter is the capacity of the drive - the number of bytes it
can hold.

Inside a Hard Disk


The best way to understand how a hard disk works is to take a look inside. [Note
that opening a hard disk ruins it, so this is not something to try at home unless
you have a defunct drive.]
Here is a typical hard disk drive:
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:
In this picture you can see:
• The platters, which typically spin at 3,600 or 7,200 RPM when the drive is
operating. These platters are manufactured to amazing tolerances and are
mirror smooth (as you can see in this interesting self-portrait of the
author... No easy way to avoid that, actually!)
• The arm that holds the read/write heads. This arm is controlled by the
mechanism in the upper-left corner, and is able to move the heads from
the hub to the edge of the drive. The arm and its movement mechanism
are extremely light and fast. The arm on a typical hard disk drive can
move from hub to edge and back up to 50 times per second - it is an
amazing thing to watch!
In order to increase the amount of information the drive can store, most hard
disks have multiple platters. This drive has three platters and six read-write
heads:
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
Storing the Data
Data is stored on the surface of a platter in sectors and tracks. Tracks are
concentric circles, and sectors are pie-shaped wedges on a track, like this:

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.
The operating system defines our computing experience. It's the first software we
see when we turn on the computer, and the last software we see when the
computer is turned off. It's the software that enables all the programs we use.
The operating system organizes and controls the hardware on our desks and in
our hands, yet most users can't say with any certainty precisely what it is that the
operating system does.

The operating system defines our computing experience. It's the first software we
see when we turn on the computer, and the last software we see when the
computer is turned off. It's the software that enables all the programs we use.
The operating system organizes and controls the hardware on our desks and in
our hands, yet most users can't say with any certainty precisely what it is that the
operating system does.
If there is any one component that is absolutely vital to the operation of a
computer, it is the power supply. Without it, a computer is just an inert box full of
plastic and metal. The power supply converts the alternating current (AC) line
from your home to the direct current (DC) needed by the personal computer.

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.

The interior of a power supply.


Power supplies, often referred to as "switching power supplies", use switcher
technology to convert the AC input to lower DC voltages. The typical voltages
supplied are:
• 3.3 volts
• 5 volts
• 12 volts
The 3.3- and 5-volts are typically used by digital circuits, while the 12-volt is used
to run motors in disk drives and fans. The main specification of a power supply is
in watts. A watt is the product of the voltage in volts and the current in amperes
or amps.
If you have been around PCs for many years, you probably remember that the
original PCs had large red toggle switches that had a good bit of heft to them.
When you turned the PC on or off, you knew you were doing it. These switches
actually controlled the flow of 120 volt power to the power supply.
Today you turn on the power with a little push button, and you turn off the
machine with a menu option. These capabilities were added to standard power
supplies several years ago. The operating system can send a signal to the power
supply to tell it to turn off. The push button sends a 5-volt signal to the power
supply to tell it when to turn on. The power supply also has a circuit that supplies
5 volts, called VSB for "standby voltage" even when it is officially "off", so that the
button will work.

The motherboard has been an integral part of most personal computers for
more than 20 years. Think of a motherboard as a scale model of a futuristic city
with many modular plug-in buildings, each using power from a common electrical
system. Multiple-lane highways of various widths transport data between the
buildings. The motherboard is the data and power infrastructure for the entire
computer.
Motherboards (also called mainboards) are actually a carryover from
architecture used for years in mainframe computers. Various circuit cards
performing various functions all plug into many similar sockets on a common
circuit board. Each circuit card performs a unique function in the computer and
gets its power from the socket as well.
Due to improvements in circuitry and packaging, motherboards have essentially
stayed the same size or shrunk (in square inches), while their functionality has
skyrocketed in the past 20 years.

Common Motherboard Items


A motherboard is a multi-layered printed circuit board. Copper circuit paths
called traces that resemble a complicated roadmap carry signals and voltages
across the motherboard. Layered fabrication techniques are used so that some
layers of a board can carry data for the input/output, processor and memory
buses while other layers can carry voltage and ground returns without circuit
paths short-circuiting at intersections. The insulated layers are manufactured into
one complete, complex "sandwich."
Chips and sockets are soldered onto the motherboard. For example, you will
typically find:
• one or more microprocessors
• a basic input/output system chip (BIOS)
• memory slots
• a chip set that adds lots of features like I/O ports and controllers
• peripheral component interconnect (PCI) adapter card slots
• industry standard architecture (ISA) adapter slots
• accelerated graphics port (AGP) video card slots
• universal serial bus (USB) ports
• cooling fan(s) on heat sinks of processor and some video cards

Data Bus Width


Modern Pentium class motherboards have a data bus with 64 bits. That is the
width of the data highway that goes in and out of the processor. The Pentium
processors, however, do use 32-bit registers to handle 32-bit instructions.
Bus speeds and widths have increased due to faster processors and the needs
of multimedia applications. Typical bus names and widths (in bits) are:
• Industry Standard Architecture (ISA) - 8 or 16 bits
• Extended Industry Standard Architecture (EISA) - 8 or16 bits
• Microchannel Architecture (MCA) - 16 or 32 bits
• VESA Local Bus (VLB) - 32 bits
• Peripheral Component Interconnect (PCI) - 32 or 64 bits
• Accelerated Graphics Port (AGP ) - 32 bits
No matter what you do with your computer, your hard drive is an important part of
your system. In fact, most personal computers have one or more of the following
storage devices:
• floppy drive
• hard drive
• CD-ROM drive

The hard drive and circuit board combination that typify IDE devices
Usually these devices connect to the computer through an Integrated Drive
Electronics (IDE) interface. Essentially, an IDE interface is a standard way for a
storage device to connect to a computer. IDE is actually not the true technical
name for the interface standard. The original name, AT Attachment (ATA),
signified that the interface was initially developed for the IBM AT computer.

Evolution
IDE was created as a way to standardize the use of hard drives in computers.
The basic concept behind IDE is that the hard drive and the controller should be
combined. The controller is a small circuit board with chips that provide guidance
to exactly how the hard drive stores and accesses the data. Most controllers also
include some memory that acts as a buffer to enhance hard drive performance.
Before IDE, controllers and hard drives were separate and often proprietary. In
other words, a controller from one manufacturer might not work with a hard drive
from someone else. The distance between the controller and the hard drive could
result in poor signal quality and affect performance. Obviously, this caused much
frustration for computer users.
The birth of the IDE interface led to combining a controller like this
one with a hard drive.
IBM introduced the AT computer in 1984 with a couple of key innovations.
• The slots in the computer for adding cards used a new version of the ISA
(Industry Standard Architecture) bus. The new bus was capable of
transmitting information 16 bits at a time compared to 8 bits on the original
ISA bus.
• IBM also offered a hard drive for the AT that used a new combined drive
and controller. A ribbon cable from the drive/controller combination ran to
an ISA card to connect to the computer, giving birth to the AT Attachment
(ATA) interface.
In 1986, Compaq introduced IDE drives in their Deskpro 386. This
drive/controller combination was based on the ATA standard developed by IBM.
Before long, other vendors began offering IDE drives. IDE became the term to
cover the entire range of integrated drive/controller devices. Since almost all IDE
drives are ATA-based, the two terms are used interchangeably.

Masters and Slaves


A single IDE interface can support two devices. Most motherboards come with
dual IDE interfaces (primary and secondary) for up to four IDE devices. Because
the controller is integrated with the drive, there is no overall controller to decide
which device is currently communicating with the computer. This is not a problem
as long as each device is on a separate interface, but adding support for a
second drive on the same cable took some ingenuity.
To allow for two drives on the same cable, IDE uses a special configuration
called master and slave. This configuration allows one drive's controller to tell
the other drive when it can transfer data to or from the computer. What happens
is the slave drive makes a request to the master drive, which checks to see if it is
currently communicating with the computer. If the master drive is idle, it tells the
slave drive to go ahead. If the master drive is communicating with the computer,
it tells the slave drive to wait and then informs it when it is done.
The computer determines if there is a second (slave) drive attached through the
use of Pin 39 on the connector. Pin 39 carries a special signal, called Drive
Active/Slave Present (DASP), that checks to see if a slave drive is present.
Although it will work in either position, it is recommended that the master drive is
attached to the connector at the very end of the IDE ribbon cable. Then, a jumper
on the back of the drive next to the IDE connector must be set in the correct
position to identify the drive as the master drive. The slave drive must have either
the master jumper removed or a special slave jumper set, depending on the
drive. Also, the slave drive is attached to the connector near the middle of the
IDE ribbon cable. Each drive's controller board looks at the jumper setting to
determine whether it is a slave or a master. This tells them how to perform. Every
drive is capable of being either slave or master when you receive it from the
manufacturer. If only one drive is installed, it should always be the master drive.
Many drives feature an option called Cable Select (CS). With the correct type of
IDE ribbon cable, these drives can be auto configured as master or slave. CS
works like this. A jumper on each drive is set to the CS option. The cable itself is
just like a normal IDE cable except for one difference, Pin 28 only connects to the
master drive connector. When your computer is powered up, the IDE interface
sends a signal along the wire for Pin 28. Only the drive attached to the master
connector receives the signal. That drive then configures itself as the master
drive. Since the other drive received no signal, it defaults to slave mode.

Fast, Wide or Ultra?


SCSI is based on an older, proprietary bus interface called Shugart Associates
System Interface (SASI). SASI was originally developed in 1981 by Shugart
Associates in conjunction with NCR Corporation. In 1986, a modified version of
SASI that provided a beefier, open system was ratified by the American
National Standards Institute (ANSI) as SCSI.
There are several benefits of SCSI:
• It's fast -- up to 160 megabytes per second (MBps).
• It's reliable.
• It allows you to put multiple devices on one bus.
• It works on most computer systems.
There are also some potential problems when using SCSI:
• It must be configured for a specific computer.
• It has limited system BIOS support.
• Its variations (speeds, connectors) can be bewildering.
• There is no common software interface.

Some computers have a built-in SCSI controller, but most


require an SCSI host-adapter card.
People are often confused by the different types of SCSI. You'll hear terms such
as "Ultra," "Fast" and "Wide" used a lot, and sometimes in combinations. There
are really only three basic specifications of SCSI:
• SCSI-1: The original specification developed in 1986.
• SCSI-2: An update that became an official standard in 1994. A key
component of SCSI-2 was the inclusion of the Common Command Set
(CCS), the 18 commands considered an absolute necessity for support of
any SCSI device. You also had the option to double the clock speed from
5 MHz (million cycles per second) to 10 MHz (Fast SCSI), double the bus
width from 8 bits to 16 bits and increase the number of devices to 15
(Wide SCSI), or do both (Fast/Wide SCSI). Finally, SCSI-2 added
command queuing, which means that an SCSI-2 device can store a
series of commands from the host computer and determine which ones
should be given priority.
• SCSI-3: Quickly on the heels of SCSI-2 came SCSI-3, debuting in 1995.
The interesting thing about SCSI-3 is that a series of smaller standards
have been built within its overall scope. Because of this continually
evolving series, SCSI-3 is not considered to be a completely approved
standard. Instead, some of the specifications developed within it have
been officially adopted. These standards are based on variations of the
SCSI Parallel Interface (SPI), which is the way that SCSI devices
communicate with each other. Most SCSI-3 specifications begin with the
term "Ultra" (Ultra for SPI variations, Ultra2 for SPI-2 variations and Ultra3
for SPI-3 variations). The Fast and Wide designations work just like their
SCSI-2 counterparts, with the Fast designation meaning that the clock
speed is double that of the base version, and the Wide designation
meaning that the bus width is double that of the base.

The graphics card plays an essential role in the PC. It takes the digital
information that the computer produces and turns it into something human beings
can see. On most computers, the graphics card converts digital information to
analog information for display on the monitor; on laptops, the data remains digital
because laptop displays are digital.
RADEON™ 64-MB AGP Graphics Card
If you look at the screen of a typical PC very closely, you can see that all of the
different things on the screen are made up of individual dots. These dots are
called pixels, and each pixel has a color. On some screens (for example, on the
original Macintosh), the pixels could have just two colors -- black or white. On
some screens today, a pixel can be one of 256 colors. On many screens, the
pixels are full-color (also known as true color) and have 16.8-million possible
shades. Since the human eye can only discern about 10-million different colors,
16.8-million colors is more than enough for most people.
The goal of a graphics card is to create a set of signals that display the dots on
the computer screen

What is a Graphics Card?


A modern graphics card is a circuit board with memory and a dedicated
processor. The processor is designed specifically to handle the intense
computational requirements of displaying graphics. Most of these graphics
processors have special command sets for graphics manipulation built right into
the chip.
Graphics cards are known by many names, such as:
• Video cards
• Video boards
• Video display boards
• Graphics boards
• Graphics adapter cards
• Video adapter cards
Today's graphics cards are computing systems in their own right. But these cards
started out as very simple devices. By understanding the evolution of graphics
cards, you can begin to see why they are so powerful today.

How Graphics Cards Work


You can better understand the essence of a graphics card by looking at the
simplest possible one. This card would be able to display only black or white
pixels, and it would do that on a 640x480-pixel screen.
Here are the three basic components of a graphics card and what they do:
• Memory: The first thing that a graphics card needs is memory. The
memory holds the color of each pixel. In the simplest case, since each
pixel is only black or white, you need just 1 bit to store each pixel's color
• Since a byte holds 8 bits, you need (640/8) 80 bytes to store the pixel
colors for one line of pixels on the display. You need (480 X 80) 34,800
bytes of memory to hold all of the pixels visible on the display.
• Computer Interface: The second thing a graphics card needs is a way for
the computer to change the graphics card's memory. This is normally
done by connecting the graphics card to the card bus on the motherboard.
The computer can send signals through the bus to alter the memory.
• Video Interface: The next thing that the graphics card needs is a way to
generate the signals for the monitor. The card must generate color signals
that drive the cathode ray tube (CRT) electron beam, as well as
synchronization signals for horizontal and vertical sync
• Let's say that the screen is refreshing at 60 frames per second. This
means that the graphics card scans the entire memory array 1 bit at a time
and does this 60 times per second. It sends signals to the monitor for each
pixel on each line, and then sends a horizontal sync pulse; it does this
repeatedly for all 480 lines, and then sends a vertical sync pulse.

The basic parts of a graphics card are computer interface, memory


and video interface.
When a graphics card handles color, it does it in one of two ways. A true-color
card devotes 3 or 4 bytes per pixel (4 bytes allows an extra byte for an "alpha
channel"). On a 1600x1200-pixel display, this adds up to about 8-million bytes of
video memory.

Mice first broke onto the public stage with the introduction of the Apple Macintosh
in 1984, and since then they have helped to completely redefine the way we use
computers! Every day of your computing life, you reach out for your mouse
whenever you want to move your cursor or activate something. Your mouse
senses your motion and your clicks and sends them to the computer so it can
respond appropriately.

Mice come in all shapes and sizes. This is


an older two-button mouse chosen for its simplicity.

Evolution
It is amazing how simple and effective a mouse is, and it is also amazing how
long it took mice to become a part of everyday life. Given that people naturally
point at things -- usually before they speak -- it is surprising that it took so long for
a good pointing device to develop. Although originally conceived in the 1960's, it
took quite some time for mice to become mainstream.
In the beginning there was no need to point because computers used crude
interfaces like teletype machines or punch cards for data entry. The early text
terminals did nothing more than emulate a teletype (using the screen to replace
paper), so it was many years (well into the 1960s and early 1970s) before arrow
keys were found on most terminals. Full screen editors were the first things to
take real advantage of the cursor keys, and they offered humans the first crude
way to point.
Light pens were used on a variety of machines as a pointing device for many
years, and graphics tablets, joy sticks and various other devices were also
popular in the 1970s. None of these really took off as the pointing device of
choice, however.
When the mouse hit the scene attached to the Mac, it was an immediate
success. There is something about it that is completely natural. Compared to a
graphics tablet, mice are extremely inexpensive and they take up very little desk
space. Mice in the PC world took longer to gain ground, mainly because of a lack
of support in the operating system. Once Windows 3.1 made Graphical User
Interfaces (GUIs) a standard, mice came into the PC world very quickly.

The Origin of Modems


The word modem is a contraction of the words modulator-demodulator. A
modem is typically used to send digital data over a phone line. The sending
modem modulates the data into a signal that is compatible with the phone line,
and the receiving modem demodulates the signal back into digital data.
Wireless modems are also frequently seen converting data into radio signals and
back.
Modems came into existence in the 1960s as a way to allow terminals to connect
to computers over the phone lines. A typical arrangement is shown below:

In a configuration like this, a dumb terminal at an off-site office or store could


"dial in" to a large, central computer. The 1960s were the age of time-shared
computers, so a business would often buy computer time from a time-share
facility and connect to it via a 300 bit-per-second (BPS) modem.
A dumb terminal is simply a keyboard and a screen. A very common dumb
terminal at the time was called the DEC VT-100, and it became a standard of the
day (now memorialized in terminal emulators worldwide). The VT-100 could
display 25 lines of 80 characters each. When the user typed a character on the
terminal, the modem sent the ASCII code for the character to the computer. The
computer would then send the character back to the computer so it would appear
on the screen.
When personal computers started appearing in the late 1970s, bulletin board
systems became the rage. A person would set up a computer with a modem or
two and some BBS software, and other people would dial in to connect to the
bulletin board. The users would run terminal emulators on their computers to
emulate a dumb terminal.
People got along at 300 BPS for quite awhile. The reason this speed was
tolerable was because 300 BPS represents about 30 characters per second, and
that is much faster than a person can type characters or read. Once people
started transferring large programs and images to and from bulletin board
systems, however, 300 BPS became intolerable. Modem speeds went through a
series of steps at two year or so intervals:
• 300 bit per second - 1960s through 1983 or so
• 1200 bit per second - gained popularity in 1984 and 1985
• 2400 bit per second
• 9600 bit per second - first appeared in late 1990 and early 1991
• 19.2K bit per second
• 28.8K bit per second
• 33.6K bit per second
• 56K bit per second - became the standard in 1998
• ADSL, at something approaching 10M BPS - just appearing in any real
numbers in 1999.

The part of the computer that we come into most contact with is probably the
piece that we think about the least. But the keyboard is an amazing piece of
technology. For instance, did you know that the keyboard on a typical computer
system is actually a computer itself?
Your basic Windows keyboard
At its essence, a keyboard is a series of switches connected to a microprocessor
that monitors the state of each switch and initiates a specific response to a
change in that state.

Types of Keyboards
Keyboards have changed very little in layout since their introduction. In fact, the
most common change has simply been the natural evolution of adding more keys
that provide additional functionality.
The most common keyboards are:
• 101-key Enhanced keyboard
• 104-key Windows keyboard
• 82-key Apple standard keyboard
• 108-key Apple Extended keyboard
Portable computers such as laptops quite often have custom keyboards that
have slightly different key arrangements than a standard keyboard. Also, many
system manufacturers add specialty buttons to the standard layout. A typical
keyboard has four basic types of keys:
• Typing keys
• Numeric keypad
• Function keys
• Control keys
The typing keys are the section of the keyboard that contain the letter keys,
generally laid out in the same style that was common for typewriters. This layout,
known as QWERTY for the first six letters in the layout, was originally designed
to slow down fast typists by making the arrangement of the keys somewhat
awkward! The reason that typewriter manufacturers did this was because the
mechanical arms that imprinted each character on the paper could jam together if
the keys were pressed too rapidly. Because it has been long established as a
standard, and people have become accustomed to the QWERTY configuration,
manufacturers developed keyboards for computers using the same layout, even
though jamming is no longer an issue. Critics of the QWERTY layout have
adopted another layout, Dvorak, that places the most commonly used letters in
the most convenient arrangement.

An Apple Extended keyboard.


The numeric keypad is a part of the natural evolution mentioned previously. As
the use of computers in business environments increased, so did the need for
speedy data entry. Since a large part of the data was numbers, a set of 17 keys
was added to the keyboard. These keys are laid out in the same configuration
used by most adding machines and calculators, to facilitate the transition to
computer for clerks accustomed to these other machines.
In 1986, IBM extended the basic keyboard with the addition of function and
control keys. The function keys, arranged in a line across the top of the
keyboard, could be assigned specific commands by the current application or the
operating system. Control keys provided cursor and screen control. Four keys
arranged in an inverted T formation between the typing keys and numeric keypad
allow the user to move the cursor on the display in small increments. The control
keys allow the user to make large jumps in most applications. Common control
keys include:
• Home
• End
• Insert
• Delete
• Page Up
• Page Down
• Control (Ctrl)
• Alternate (Alt)
• Escape (Esc)
The Windows keyboard adds some extra control keys: two Windows or Start
keys, and an Application key. The Apple keyboards are specific to Apple Mac
systems.

Inside the Keyboard


The processor in a keyboard has to understand several things that are important
to the utility of the keyboard, such as:
• Position of the key in the key matrix.
• The amount of bounce and how to filter it.
• The speed at which to transmit the typematics.

The microprocessor and controller circuitry of a keyboard.


The key matrix is the grid of circuits underneath the keys. In all keyboards except
for capacitive ones, each circuit is broken at the point below a specific key.
Pressing the key bridges the gap in the circuit, allowing a tiny amount of current
to flow through. The processor monitors the key matrix for signs of continuity at
any point on the grid. When it finds a circuit that is closed, it compares the
location of that circuit on the key matrix to the character map in its ROM. The
character map is basically a comparison chart for the processor that tells it what
the key at x,y coordinates in the key matrix represents. If more than one key is
pressed at the same time, the processor checks to see if that combination of
keys has a designation in the character map. For example, pressing the a key by
itself would result in a small letter "a" being sent to the computer. If you press
and hold down the Shift key while pressing the a key, the processor compares
that combination with the character map and produces a capital letter "A."
A look at the key matrix.
The character map in the keyboard can be superseded by a different character
map provided by the computer. This is done quite often in languages whose
characters do not have English equivalents. Also, there are utilities for changing
the character map from the traditional QWERTY to DVORAK or another custom
version.
Keyboards rely on switches that cause a change in the current flowing through
the circuits in the keyboard. When the key presses the keyswitch against the
circuit, there is usually a small amount of vibration between the surfaces, known
as bounce. The processor in a keyboard recognizes that this very rapid
switching on and off is not caused by you pressing the key repeatedly. Therefore,
it filters all of the tiny fluctuations out of the signal and treats it as a single
keypress.
If you continue to hold down a key, the processor determines that you wish to
send that character repeatedly to the computer. This is known as typematics. In
this process, the delay between each instance of a character can normally be set
in software, typically ranging from 30 characters per second (cps) to as few as
two cps

From the Keyboard to the Computer


As you type, the processor in the keyboard is analyzing the key matrix and
determining what characters to send to the computer. It maintains these
characters in a buffer of memory that is usually about 16 bytes large. It then
sends the data in a stream to the computer via some type of connection.
A PS/2 type keyboard connector.
The most common keyboard connectors are:
• 5-pin DIN (Deustche Industrie Norm) connector
• 6-pin IBM PS/2 mini-DIN connector
• 4-pin USB (Universal Serial Bus) connector
• internal connector (for laptops)
Normal DIN connectors are rarely used anymore. Most computers use the mini-
DIN PS/2 connector; but an increasing number of new systems are dropping the
PS/2 connectors in favor of USB. No matter which type of connector is used, two
principal elements are sent through the connecting cable. The first is power for
the keyboard. Keyboards require a small amount of power, typically about 5
volts, in order to function. The cable also carries the data from the keyboard to
the computer.
The other end of the cable connects to a port that is monitored by the computer's
keyboard controller. This is an integrated circuit (IC) whose job is to process all
of the data that comes from the keyboard and forward it to the operating system.
When the operating system is notified that there is data from the keyboard, a
number of things can happen:
• It checks to see if the keyboard data is a system level command. A good
example of this is Ctrl-Alt-Delete on a Windows computer, which initiates
a reboot.
• The operating system then passes the keyboard data on to the current
application.
• The current application understands the keyboard data as an application-
level command. An example of this would be Alt - f, which opens the File
menu in a Windows application.
• The current application is able to accept keyboard data as content for the
application (anything from typing a document to entering a URL to
performing a calculation), or
• The current application does not accept keyboard data and therefore
ignores the information.
Once the keyboard data is identified as either system-specific or application-
specific, it is processed accordingly. The really amazing thing is how quickly all of
this happens.
Considered to be one of the most basic external connections to a computer, the
serial port has been an integral part of most computers for more than 20 years.
Although many of the newer systems have done away with the serial port
completely in favor of USB connections, most modems still use the serial port, as
do some printers, PDAs and digital cameras. Few computers have more than two
serial ports.

Two serial ports on the back of a PC


Essentially, serial ports provide a standard connector and protocol to let you
attach devices, such as modems, to your computer.
All computer operating systems in use today support serial ports, because serial
ports have been around for decades. Parallel ports are a more recent invention
and are much faster than serial ports. USB ports are only a few years old, and
will likely replace both serial and parallel ports completely over the next several
years.
The name "serial" comes from the fact that a serial port "serializes" data. That is,
it takes a byte of data and transmits the 8 bits in the byte one at a time. The
advantage is that a serial port needs only one wire to transmit the 8 bits (while a
parallel port needs 8). The disadvantage is that it takes 8 times longer to transmit
the data than it would if there were 8 wires. Serial ports lower cable costs and
make cables smaller.
Before each byte of data, a serial port sends a start bit, which is a single bit with
a value of 0. After each byte of data, it sends a stop bit to signal that the byte is
complete. It may also send a parity bit.
Serial ports, also called communication (COM) ports, are bi-directional. Bi-
directional communication allows each device to receive data as well as transmit
it. Serial devices use different pins to receive and transmit data -- using the same
pins would limit communication to half-duplex, meaning that information could
only travel in one direction at a time. Using different pins allows for full-duplex
communication, in which information can travel in both directions at once.

This 40-pin Dual Inline Package (DIP) chip is a variation of the


National Semiconductor NS16550D UART chip.
Serial ports rely on a special controller chip, the Universal Asynchronous
Receiver/Transmitter (UART), to function properly. The UART chip takes the
parallel output of the computer's system bus and transforms it into serial form for
transmission through the serial port. In order to function faster, most UART chips
have a built-in buffer of anywhere from 16 to 64 kilobytes. This buffer allows the
chip to cache data coming in from the system bus while it is processing data
going out to the serial port. While most standard serial ports have a maximum
transfer rate of 115 Kbps (kilobits per second), high speed serial ports, such as
Enhanced Serial Port (ESP) and Super Enhanced Serial Port (Super ESP),
can reach data transfer rates of 460 Kbps.
If you have a printer connected to your computer, there is a very good chance
that it uses the parallel port. While USB is becoming increasingly popular, the
parallel port is still the most used interface for printers.

A typical parallel port on the back of your computer.


Parallel ports are used to connect a host of popular computer peripherals:
• Printers
• Scanners
• CD-writers
• External hard drives
• Iomega Zip removable drives
• Network adapters
• Tape backup drives

Parallel Port Basics


Parallel ports were originally developed by IBM, as a way to connect a printer to
your PC. When IBM was in the process of designing the PC, the company
wanted the computer to work with printers
offered by Centronics, a top printer
manufacturer at the time. IBM decided not
to use the same port interface on the
computer that Centronics used on the
printer. Instead, IBM engineers coupled a 25-pin connector, DB-25, with a 36-pin
Centronics connector to create a special cable to connect the printer to the
computer. Other printer manufacturers ended up adopting the Centronics
interface, making this strange hybrid cable an unlikely de facto standard.
When a PC sends data to a printer or other device using a parallel port, it sends
eight bits of data (one byte) at a time. These eight bits are transmitted parallel to
(beside) each other, as opposed to the same eight bits being transmitted serially
(all in a single row) through a serial port. The standard parallel port is capable of
sending 50 to 100 kilobytes of data per second
There are a lot of incredibly complex components in a computer. And all of these
parts need to communicate with each other in a fast and efficient manner.
Otherwise, the amazing speed and capabilities of each individual component is
lost in the whole.
A typical PCI card
That's where the bus comes in. Essentially, a bus is the channel or path between
the components in a computer. There are many different types of buses.

Hop on the Bus, Gus


Buses have grown and evolved over the years in an effort to match the
performance of all the other computer components. Even so, the evolution of the
bus has been surprisingly slow compared to other technologies. Most computers
sold today still have an Industry Standard Architecture (ISA) bus that will
accept computer cards developed for the original IBM PC in the early 1980s.
There have been a couple of key reasons for this bus longevity:
• There is a need for long-term compatibility with a large number of
hardware manufacturers.
• Before the rise of multimedia, few hardware peripherals fully utilized the
speed of the bus.
A typical computer has two key buses. The first one, known as the system bus
or local bus, connects the microprocessor (central processing unit) and the
system memory. Other buses, such as the ISA and PCI buses, connect to the
system bus through a bridge, which is a part of the computer's chipset and acts
as a traffic cop, integrating the data from the other buses to the system bus.
As the speed of central processing units (CPUs) and RAM increased, it became
more important to isolate the path between processor and memory. A
replacement for the standard system bus, called Dual Independent Bus (DIB),
was created. DIB replaced the single system bus with a frontside bus and a
backside bus. The backside bus had one purpose: to provide a direct, fast
channel between the CPU and the Level 2 cache. The frontside bus connected
the system memory, via the memory controller, to the CPU, and the other buses
to the CPU and system memory.
The illustration above shows how the various buses connect
to the CPU.
The other main bus, the shared bus, is for connecting additional components to
the computer. It is called a shared bus because it lets multiple devices access
the same path to the CPU and system memory. These devices includes such
items such as:
• Modem
• Hard drive
• Sound card
• Graphics card
• Controller card
• Scanner
The original PC bus operated at 4.77 MHz (million cycles per second) and was 8
bits wide, meaning it could process 8 bits of data in each cycle. In 1982, it
improved to 16 bits at 8 MHz and officially became known as ISA. This bus
design is capable of passing along data at a rate of up to 16 MBps (megabytes
per second), fast enough even for many of today's applications.
As technology advanced and the ISA bus grew long in the tooth, other buses
were developed. Key among these were Extended Industry Standard
Architecture (EISA) -- which was 32 bits at 8 MHz-- and Vesa Local Bus (VL-
Bus). The cool thing about VL-Bus (named after VESA, the Video Electronics
Standards Association, which created the standard) is that it was 32 bits wide
and operated at the speed of the local bus, which was normally the speed of the
processor itself. The VL-Bus essentially tied directly into the CPU. This worked
okay for a single device, or maybe even two. But connecting more than two
devices to the VL-Bus introduced the possibility of interference with the
performance of the CPU. Because of this, the VL-Bus was typically used only for
connecting a graphics card, a component that really benefits from high-speed
access to the CPU.

Along Comes PCI


During the early 1990s, Intel introduced a new bus standard for consideration,
the Peripheral Component Interconnect (PCI). PCI presents a hybrid of sorts
between ISA and VL-Bus. It provides direct access to system memory for
connected devices, but uses a bridge to connect to the frontside bus and
therefore to the CPU. Basically, this means that it is capable of even higher
performance than VL-Bus while eliminating the potential for interference with the
CPU.
PCI can connect more devices than VL-Bus, up to five external components.
Each of the five connectors for an external component can be replaced with two
fixed devices on the motherboard. Also, you can have more than one PCI bus on
the same computer, although this is rarely done. The PCI bridge chip regulates
the speed of the PCI bus independently of the CPU's speed. This provides a
higher degree of reliability and ensures that PCI-hardware manufacturers know
exactly what to design for.

PCI cards use 47 pins.


PCI originally operated at 33 MHz using a 32-bit-wide path. Revisions to the
standard include increasing the speed from 33 MHz to 66 MHz and doubling the
bit count to 64. Currently, PCI-X provides for 64-bit transfers at a speed of 133
MHz for an amazing 1-GBps (gigabyte per second) transfer rate!
PCI cards use 47 pins to connect (49 pins for a mastering card, which can
control the PCI bus without CPU intervention). The PCI bus is able to work with
so few pins because of hardware multiplexing, which means that the device
sends more than one signal over a single pin. Also, PCI supports devices that
use either 5 volts or 3.3 volts.

Plug and Play


Plug and Play (PnP) means that you can connect a device or insert a card into
your computer and it is automatically recognized and configured to work in your
system. PnP is a simple concept, but it took a concerted effort on the part of the
computer industry to make it happen. Intel created the PnP standard and
incorporated it into the design for PCI. But it wasn't until several years later that a
mainstream operating system, Windows 95, provided system-level support for
PnP. The introduction of PnP accelerated the demand for computers with PCI,
very quickly supplanting ISA as the bus of choice.
To fully implement PnP requires three things:
• PnP BIOS - The core utility that enables PnP and detects PnP devices.
The BIOS also reads the ESCD for configuration information on existing
PnP devices.
• Extended System Configuration Data (ECSD) - A file that contains
information about installed PnP devices.
• PnP operating system - Any operating system, such as Windows
95/98/ME, that supports PnP. PnP handlers in the operating system
complete the configuration process started by the BIOS for each PnP
device.
PnP automates several key tasks that were typically done either manually or with
an installation utility provided by the hardware manufacturer. These tasks include
the setting of:
• Interrupt requests (IRQ) - An IRQ, also known as a hardware interrupt, is
used by the various parts of a computer to get the attention of the CPU.
For example, the mouse sends an IRQ every time it is moved to let the
CPU know that it's doing something. Before PCI, every hardware
component needed a separate IRQ setting. But PCI manages hardware
interrupts at the bus bridge, allowing it to use a single system IRQ for
multiple PCI devices.
• Direct memory access (DMA) - This simply means that the device is
configured to access system memory without consulting the CPU first.
• Memory addresses - Many devices are assigned a section of system
memory for exclusive use by that device. This ensures that the hardware
will have the needed resources to operate properly.
• Input/Output (I/O) configuration - This setting defines the ports used by
the device for receiving and sending information.
While PnP makes it much easier to add devices to your computer, it is not
infallible. Variations in the software routines used by PnP BIOS developers, PCI
device manufacturers and Microsoft have led many to refer to PnP as "Plug and
Pray." But the overall effect of PnP has been to greatly simplify the process of
upgrading your computer to add new devices or replace existing ones.

How It Works
Let's say that you have just added a new PCI-based sound card to your Windows
98 computer. Here's an example of how it would work.
1. You open up your computer's case and plug the sound card into an empty
PCI slot on the motherboard.
This motherboard has four PCI slots.
2. You close the computer's case and power up the computer.
3. The system BIOS initiates the PnP BIOS.
4. The PnP BIOS scans the PCI bus for hardware. It does this by sending
out a signal to any device connected to the bus, asking the device who it
is.
5. The sound card responds by identifying itself. The device ID is sent back
across the bus to the BIOS.
6. The PnP BIOS checks the ESCD to see if the configuration data for the
sound card is already present. Since the sound card was just installed,
there is no existing ESCD record for it.
7. The PnP BIOS assigns IRQ, DMA, memory address and I/O settings to
the sound card and saves the data in the ESCD.
8. Windows 98 boots up. It checks the ESCD and the PCI bus. The operating
system detects that the sound card is a new device and displays a small
window telling you that Windows has found new hardware and is
determining what it is.
9. If it is able to determine what the device is, it displays the name of the
device and attempts to install the driver (the software that enables the
device to communicate with the operating system). You may be asked to
insert a disk with the driver on it or tell Windows where to find the driver
software. If Windows cannot determine what the device is, it provides a
dialog window so that you can specify what type of device it is and load a
driver to run it.
10. Once the driver is installed, the device should be ready for use. Some
devices may require that you restart the computer before you can use
them. In our example, the sound card is immediately ready for use.
11. You want to capture some audio from an external tape deck that you have
plugged into the sound card. You set up the recording software that came
with the sound card and begin to record.
12. The audio comes into the sound card via an external audio connector. The
sound card converts the analog signal to a digital signal.
13. The digital audio data from the sound card is carried across the PCI bus to
the bus controller. The controller determines which device on the PCI
device has priority to send data to the CPU. It also checks to see if data is
going directly to the CPU or to system memory.
14. Since the sound card is in record mode, the bus controller assigns a high
priority to the data coming from it and sends the sound card's data over
the bus bridge to the system bus.
15. The system bus saves the data in system memory. Once the recording is
complete, you can decide whether the data from the sound card is saved
to a hard drive or retained in memory for additional processing.

Vous aimerez peut-être aussi