The CPU is a unit responsible for processing program instructions,
as well as communicating with and controlling other functional
units of the computer. The CPU will handle each job as it enters
the computer system, as well as handle each process within each
job. The main function of the CPU is to fetch, decode and execute
program instructions stored in main memory which is external to
the CPU unit.
The CPU is sometimes considered to be the brains behind the computer
system, it will initiate or perform storage requirements, reference
stored data, manipulate data and input/output operations.
A typical fetch, execute and decode cycle
will look like this:
- Fetch instruction from memory to an instruction
register.
- Change the Program Counter (increment)
to point to next instruction.
- Determine type of instruction just fetched.
- If instruction uses data in memory, determine
its location.
- Fetch the data from memory into internal
CPU register.
- Execute instruction.
- Store results.
- Repeat previous steps to execute next
instruction.
The performance, design and speed of the
CPU dictates the performance and speed of the complete computer
system. For example, data processing cannot be faster than that
permitted by the CPU. A range of different process technologies
exist, including microprocessors by Motorola and Intel.
Two common processor designs include CISC
and RISC. The Complex Instruction Set Computer (CISC) design may
result in complex instructions taking longer than one clock cycle
to execute a program instruction. Examples of the CISC processor
chips include the Intel range of chips, including the new Pentium
range.
The Reduced Instruction Set Computer (RISC)
design executes instructions quicker than the CISC design due
to the chip's simplified instruction set. The RISC chip can on
average run up to 10 times faster than the CISC chip. Examples
of RISC processor chip include the Motorola chip used in a number
of the Apple Mackintosh range of computers.
The Arithmetic Logic Unit
The Arithmetic Logic Unit (ALU) houses a number of very fast general
and specific registers that act as special storage areas. It performs
all computations (arithmetic) and a range of Boolean (logic) operations.
Examples of Boolean operations include 'And', 'Or', 'Compare',
'True' and 'False'. Arithmetic and logic operations are carried
out using comparisons and number complementing, where the results
are then stored in a register called an Accumulator.
The control unit
This unit is responsible for handling the interpretation and execution
of received programming instructions - in other words it controls
what goes on inside the CPU. It reads and understands given instructions
before calling up the help of one of the CPU's internal processors.
It acts like a traffic policeman, aiming to co-ordinate all the
operations within the CPU. The control unit will then direct the
orderly flow of programs and data in and out of random access
memory and communicates with the ALU.
The resisters
Registers can be special purpose (with one permissible function)
or general purpose (where data are temporarily stored). Special
purpose registers include the Accumulator, the Instruction Register
and the Address Register. These fast access registers provide
temporary storage areas within the CPU for undertaking a range
of computations.
Processing speed
Large amounts of data are quickly moved around a computer systems
in times measured in fractions of a second. The speed of a processor
on a PC is measured in megahertz, where one megahertz is equal
to 1 million machine cycles or operations per second. This is
sometimes known as clock speed. The speed of the processor used
in high-end (or super) PCs and mainframes are measured in millions
of instructions per second (MIPS). Supercomputer speeds are measured
in floating point operations per second (FLOPS). A floating point
operation is used to calculate very large, or very small, numbers
- for example those found in scientific calculations. It is not
unusual for a program instruction to take longer than one machine
cycle to execute the CPU, this action would typically be managed
by the Process Manager (discussed in detail later).
Computer system clock
A critical support mechanism for any processor is the computer
system clock. The clock is responsible for the actual time measurements
and is given in electrical frequencies which translate into computer-readable
digital pulses. It basically provides the CPU with a signal at
regular intervals. The clock speed of the early Intel 8088 CPU
was 4.67 MHz, the later Intel 80486 (486 PC) provided increased
clocks speeds of between 25-100 MHz. The clock speeds of the newer
Pentium processors now exceed the 200 MHz barrier.
Hierarchy of memory
The memory components can be classified into three main groups,
forming a hierarchy of storage devices as shown in the following
diagram. Typically the smaller and faster the device the more
expensive it is.
Main memory
The main memory is the computer's short-term ~iorage area. This
is sometimes called main storage, primary storage, internal memory
or RAM, though RAM (Random Access Memory) really applies to the
storage method. The main memory stores:
- essential operating system programs
- working programs (that is instructions
within the active software)
- input data for processing
- output data as a result of processing.
In addition there will be an area that will,
for example, temporarily store the results of calculations or
the contents of a newly created (open) word-processed document.
It will also temporarily store data awaiting further action, for
example a word-processed letter awaiting printing. All computer
systems have a main memory where active data and program instructions
are stored temporarily or permanently. The size of the main memory
will dictate the amount of data and the size of program used at
any one time. The size and permanency of the storage space will
be different according to the specific computer installation.
Size is measured in kilobytes and the permanency of data is dependant
on the type of chip. The memory size will have a direct impact
on the size of a program (or instruction) allowed into memory
and the amount of data permitted to be processed using the program
at any one time. Access to the main memory is relatively quick
when compared with access to secondary storage. But main memory
is usually restricted in size due to its cost when compared to
secondary storage, although a variety of main memory expansion
options do exist.
RAM
Random Access Memory (RAM) refers to the method in which the memory
is used. This refers to bow data are stored and accessed from
storage. Data are randomly placed on the storage device, and as
a result of some kind of addressing mechanism the data can be
dynamically retrieved. The RAM can be likened to a working storage
area where the computer will temporarily place active (or dynamic)
data, in other-words those data actually being used or generated
by a program. RAM is described as being a 'volatile' type of storage
as the data will be lost once the computer power is switched off,
or lost as a result of a power failure. It provides high speed
memory that allows for both active program instructions and data
to be stored together during processing. Typically the larger
the RAM the faster the processing. If for example the RAM had
a 16 MB capacity and required to use a program that exceeded this
figure, the RAM would only be able to accommodate part of the
program. There would be a time delay as the remaining program
instructions would have to be accessed from secondary storage.
The computer's motherboard will hold the RAM chips.
RAM/Storage capacity
This can be defined by the number of bytes that can be stored
on the given medium. RAM is measured in megabytes (MB). A personal
computer using standard Microsoft Windows software with typical
packages such as MSWord and Excel is unlikely to require less
than 8MB of RAM, however, you are more likely to have much more
RAM in order to effectively use today's application software and
games.
SIMM
The most common RAM chips are Single Inline Memory Modules (SIMMs).
The typical PC motherboard is designed to allow for further expansion,
that is, further RAM chips can simply be slotted on to the motherboard,
resulting in an increase in memory capacity. Two sizes available
include the 30 pin and the 72 pin SIMMs. Some motherboards can
accept a mixture of the SIMM sizes, although the 30 SIMM is far
more common with lower specification motherboards and the higher
SIMM with the high-end motherboard. Typically you will have to
install the SIMMs in groups, that is SIMMs of identical size (and
to be on the safe side manufacturer) should be placed on the motherboard
in paired slots.
ROM/Static data
Static data, or those data that rarely change but are frequently
used by the computer system, are stored within Read Only Memory
(ROM). These essential data are typically placed on a ROM chip
at the time of manufacture of the computer system. As the storage
is non-volatile the data are not lost when power to the computer
is lost or switched off. Typical data stored in this area might
be described as being 'firmware', this includes for example the
operating system program and other software that controls essential
peripherals such as the keyboard.
Other chips
Other types of non-volatile storage are available, including the
following:
- Programmable Read Only Memory (PROM) where
the user can program the data on to the chip which is then permanently
stored on the chip.
- Erasable Programmable Read Only Memory
(EPROM) that will also allow data to be programmed on to the
chip. The contents stored on the EPROM can be electronically
erased using ultraviolet technology. This allows for further
re-programming of the chip, bowever the chip has to be physically
removed from the computer.
- The contents of the Electrically Erasable
Programmable Read Only Memory (EEPROM) chip can also be erased
and reprogrammed using a special program, thus avoiding the need
to remove the chip from the computer. The memory is still described
as being non-volatile as data are not lost when power to the
computer is switched off
Main memory and secondary storage can be
classified in terms of cost, storage capacity and speed of access
to the storage. However, the year 1998 has seen staggering changes
to memory technology, including a substantial drop in chip prices
due to changes in econOmic climates and the vast technological
improvements in both chip design and materials used. Likewise,
the prices of secondary storage has dropped. Both main memory
and secondary storage has benefited from these price reductions
and increased storage capacities.
Access speed
The main memory provides a working area for the computer during
critical operations, such as for example processing. It is essential
that the access to the storage is quick and free of as many mechanical
interventions as possible, for example the moving of a head to
read a disk. Quick access is required.
Access speed can be defined as the time taken to retrieve and
move a requested piece of data ready for use. This is measured
in KiloHertz (KHz).
Other memory
The CPU is always faster than the memory devices. To avoid the
processor sitting idle waiting for access to memory, a range of
memory devices and speeds are used.
Cache
The cache memory is a device that offers high speed memory; it
is located alongside the CPU and also uses similar technology
to the registers housed on the CPU. On computer start-up the cache
memory is effectively empty. As words are retrieved from main
memory they are stored in cache until they are required again.
Access time is reduced as the CPU and the cache are directly linked,
so there is no requirement to ~ise the bus. The Cache memory chip
provides additional support to the computer's main memory. It
can be thought of as a direct link between the processor and the
RAM. It is faster and more expensive than the standard RAM chips,
but it has a smaller capacity. Notably, cache can operate at the
same speed as the CPU. The Cache chip can enhance the RAM performance
and subsequent throughput. The cache chip stores critical and
frequently used program instructions required only by the processor.
Less time is wasted swapping data in and out of RAM.
VRAM
The Video Random Access Memory (VRAM) chip aims to off-load some
of the demands on the memory made by graphic intensive programs,
for example those commonly found with computer games. It specifically
stores graphical images required by the display unit. Nowadays,
a minimum of 1MB is required for a standard PC configuration.
The VRAM used determines the number of colour combinations possible,
display resolution and transfer speed to monitor. You will normally
find the VRAM chip located on a video adapter card.
BIOS
The BIOS ROM (Basic Input/Output System) stores the essential
input/output information required and is located on a ROM chip
resident on the Motherboard. On switching on the computer the
BIOS is accessed through a boot-up program. This chip acts as
an interface between the devices and the relevant software applications,
ensuring that each component works together. On power-up of the
computer the BIOS will undertake a number of system checks and
initialization steps. It establishes itself as an interface between
the hardware and the software.
Communications channel/bus
Bi-directional bus
The bi-directional bus (often simply known as a 'bus') is an essential
piece of hardware that effectively joins together the ALU, memory,
control unit and other parts of the computer. It is a transmission
path that consists of both a data bus and an address bus. The
bus allows a data word to travel in parallel to and from the computer's
processor, control unit, ALU, and other supporting devices. The
bus width determines the size of data word allowed to travel along
the bus. It can be likened to a motorway, where the more lanes
that are provided, the more cars can travel at one time without
causing congestion.
The speed of data transmission along the bus is determined by
the cyclic speed itself (MHz), the size of the word and the number
of bits in the data bus. The bus is made up of three main sections,
the Data Bus, Address Bus and Control Bus.
The data bus
Each data bit (equivalent to a car) is in effect an electrical
signal than can travel both directions (1 bit at a time) along
the transmission medium. Each electrical signal requires its own
wire (a 'motorway lane') to transmit the signal along. A 16 bit
bus would therefore consist of 16 wires forming the data bus,
thus allowing the simultaneous transmission of 16 bits of data.
Throughput can be increased if the data bus is expanded, however
this will ultimately be restricted by the capacity of the CPU.
The address bus
The bus also requires additional wires for the address bus which
is responsible for sending addresses for data source and data
destination along with the actual data. It has no direct impact
on the speed of throughput, or the overall computer. It must however,
be large enough to be able to uniquely address every location
in the main memory.
The control bus
Additional wires are also required for the control bus. The control
bus supervises the use of the transmission medium, establishing
the direction and timing of data signal, for example if data are
input or output. It provides information on the status of the
transmission medium, for example showing if lines are busy or
not.
There are a number of different bus architecture
available, including the ISA (Industry Standard Architecture)
which provides for an 8-24 bit bus capacity on an IBM platform,
and NuBus which provides for a 32 bit bus capacity on an Apple
platform. The ISA is probably the most common example with a standard
PC. The small bus size typically results in slow throughput and
waiting time by the processor where the typical processor is 32
bit. A number of other platforms exist, including the Extended
Industry Standard Architecture (EISA) providing for 32 bits at
speeds up to 8.33 MHz, Peripheral Component Interconnect (PCI)
providing for 32/34 bits at speeds up to 32 MHz, Video Electronics
Standard (VESA) providing for 32 bits at speeds up to 50 MHz,
Advanced Graphics Port (AGP) providing for 64 bits at speeds up
to 128 MHz, others include for example, Small Computer System
Interface (SCSI) and the Universal Serial Bus (USB).
Input/output devices
Regardless of the type, all computers will require facilities
to allow input, processing, output and storage. The main computing
functions of a computer really only involves two of its functional
components, namely the CPU and the memory. The function of the
other components is to take care of all communications with the
outside world. These components can sometimes be grouped together
under the beading input/output (I/O). An input device basically
converts a signal from the 'real-world' into a format of data
bits (electrical pulses) that the machine can read. When a device
is attached to a computer it is considered to be on-line. Data
are input or output directly to or from the I/O device. Off-line
data input might include data saved from another computer and
stored to a disk or a magnetic tape, for example. These data can
then become a batch of data used as input on another device.
Input devices
An input device will allow some type of data to be input to the
computer system to await fuither manipulation, for example processing.
The most common form of input device is the keyboard, closely
followed by the mouse. Some input devices are known as 'source
data entry devices' which allow for automated data entry. Examples
include scanners for bar-codes and voice recognition devices.
A computer system will have at least one input device, typically
the keyboard, but most computer systems will have many more input
devices on the same configuration.
Output devices
An output device will allow the processed data to be presented
in a required format. It basically turns the signal from the 'computer-world'
into a format understood by the human world. Typical output devices
include monitors and printers. A typical PC might have up to 4
comms ports for serial use, (for example to accommodate a mouse,
modem, scanner and so on), and 3 parallel ports for use with printers,
tape back-up drives and so on.
Secondary storage
Further storage facilities exist within secondary (sometimes known
as backing or auxiliary) storage. Unlike main memory this storage
is located outside of the CPU. Advantages of secondary storage
include its greater storage capacity (or space), its reliability,
portability and its non-volatility. It provides good value for
money, being scales of magnitude cheaper than primary storage.
Speed of transfer of data might be a consideration. Improved access
speeds could be obtained where the storage devices where permanently
on-line and not shared. However, in a working situation it is
probably more likely to have for example a back-up tape drive
that can be connected on and off line and so shared between devices.
The storage is not normally controlled by the CPU, instead it
is directed by the Input/Output (or Device) Manager who calls
the data into the main memory when for example processing of data
is required. Mechanical support is required to, for example, move
a head to read the specified hard disk drive. As a result access
and data transfer is far slower than that provided by main memory.
However, the volume of storage capacity is usually far greater.
Normally, secondary storage is non-volatile as data are not lost
when power to the computer is switched of, however as with EPROM
the storage is re-useable when desired by the user.
Summary
This section has examined the typical organization
of a computer system and its main elements. We have identified
the role of the CPU and its main components. Processor technology
in general has been reviewed, in particular we have looked at
the characteristics of both the Motorola and the Intel chips.
A range of memory issues were discussed, ranging from chip characteristics
through to memory storage and retrieval capacities. We have also
examined the main connection between all these elements of the
computer system, in other words the communications channel. Finally
we have examined the facilities in place to enable input, storage
and output of data.
|