A
microprocessor is a single chip of silicon that performs all of
the essential functions of a computer central processor unit (CPU)
on a single silicon chip. Microprocessors are found in a huge variety
of applications including engine management systems, environmental
control systems, domestic appliances, video games, fax machines,
photocopiers, etc.

The CPU performs three functions: it
controls the systemís operation; it performs algebraic and logical
operations; and it stores information (or data) whilst it is processing.
The CPU works in conjunction with other chips, notably those that
provide random access memory (RAM), read-only memory (ROM), and
input/output (I/O).

The key process in the development of
increasingly powerful microprocessor chips is known as microlithography.
In this process the circuits are designed and laid out using a computer
before being photographically reduced to a size where individual
circuit lines are about 1/100 the size of a human hair. Early miniaturization
techniques, which were referred to as large-scale integration (LSI),
resulted in the production of the first generation of 256K-bit memory
chip (note that such a chip actually has a storage capacity of 262,144-bits
where each bit is a binary 0 or 1). Today, as a result of very-large-scale
integration (VLSI), chips can be made that contain more than a million
transistors.

The first microprocessor systems were
developed in the early 1970ís. These were simple and crude by todayís
standards but they found an immediate application in the automotive
industry where they were deployed in engine management and automatic
braking systems. Today, microprocessor systems are found in a huge
variety of applications from personal computers to washing machines!

The
block diagram of a typical microprocessor system is shown below.
To find out what each feature does just move your mouse pointer
over it!

The central processing unit (CPU) is
generally the microprocessor chip itself. This device contains the
following main units:

storage locations (called registers)
that can be used to hold instructions, data, and addresses during
processing

an arithmetic logic unit (ALU) that
is able to perform a variety of arithmetic and logical function
(such as comparing two numbers)

a control unit which accepts and
generates external control signals (such as read and write)
and provides timing signals for the entire system.

In order to ensure that all the data
flow within the system is orderly, it is necessary to synchronise
all of the data transfers using a clock signal. This signal is often
generated by a clock circuit (similar to the clock in a digital
watch but much faster). To ensure accuracy and stability the clock
circuit is usually based on a miniature quartz crystal.

All microprocessors require access to
read/write memory in which data (e.g. the results of calculations)
can be temporarily stored during processing. Whilst some microprocessors
(often referred to as microcontrollers) contain their own small
read/write memory, this is usually provided by means of a semiconductor
random access memory (RAM).

Microprocessors generally also require
more permanent storage for their control programs and, where appropriate,
operating systems and high-level language interpreters. This is
usually provided by means of semiconductor read-only memory (ROM).

To fulfil any useful function, a microprocessor
system needs to have links with the outside world. These are usually
supplied by means of one, or more, VLSI devices which may be configured
under software control and are therefore said to be programmable.
The input/output (I/O) devices fall into two general categories;
parallel (where a byte is transferred at a time along eight wires),
or serial (where one bit is transferred after another along a single
wire).

The basic components of a microprocessor
system (CPU, RAM, ROM, and I/O) are linked together using a multiple
connecting arrangement known as a bus. The address bus is used to
specify memory locations (i.e. addresses), the data bus is used
to transfer data between devices, and the control bus is used to
provide timing and control signals (such as read and write, reset
and interrupt) throughout the system).

A
practical micontroller is shown below. To see how this relates to
the diagram shown earlier just move your mouse pointer over the components: