SUPPLEMENT
Priority interrupt structures are possible
where several interrupting devices share the
same
CPU.
If
two
or
more interrupts occur
simultaneously, the one with the higher prior-
ity
is
serviced first.
Another feature that improves microproces-
sor throughput
is
direct memory access,
otherwise called
DMA.
In ordinary input/
output operations, the
CPU
itself supervises
the entire data transfer as it executes
I/O
instructions to transfer data from the input
device to the
CPU and then from the CPU to
specified memory location. Similarly, data
going from memory to
an
output device also
goes by way
of
the CPU.
Some peripheral devices transfer information
to/from
memory faster than the CPU can
accomplish
the
transfer under program con-
trol. In this case, using
DMA
(direct memory
access) the
CPU
allows the peripheral device
to hold and control the bus transfer the data
directly
to/from
memory without involving
the
CPU itself.
When the
DMA
transfer
is
done, the peri-
pheral releases the hold request signal. The
CPU then resumes processing instructions
where it left off.
The
DMA
allows the high speed data
transfers required in many of today's micro-
computer systems with hard disk controllers,
and
CRT
terminals, etc.
WHAT'S INSIDE THE CPU?
A typical microprocessor CPU consists of the.
following three functional units: The
regis-
ters,
arithmetic/logic unit (ALU), and control
circuitry,
described below.
Registers provide temporary storage withirt
the
CPU
for status codes, memory addresses,
and other information useful to the
CPU and
5-4
programmer during program execution. Dif-
ferent microprocessors have different num-
bers and sizes of registers. In general, 8-bit
microprocessors have 8-bit registers and
16-
bit microprocessors have
16
bits in each
register.
All
CPUs contain
an
arithmetic logic unit,
often referred to as the
ALU.
The ALU, as its
name implies,
is
the CPU hardware that per-
forms arithmetic and logical operations on
binary data. The
ALU contains
an
adder to
perform binary arithmetic manipUlations on
data obtained from memory, the registers
or
other inputs. Some ALU's perform more
complex arithmetic operations such as mul-
tiplication and division.
ALU's also provide
other functions including Boolean logic and
data shifting by one or more bit positions.
The
ALU also contains flag bits that signal
the results of arithmetic and logical manipu-
lations such as sign, zero, carry, and parity
information. These flag bits frequently de-
termine where the program
will
continue
after the current instruction
is
executed.
The
control circuitry coordinates all micro-
processor activity.
Using clock inputs, the
control circuitry maintains the proper
sequence of events required for any process-
ing task. The control circuitry decodes the
instruction bits and issues control signals to
units both internal and external to the
CPU
to perform the proper processing action.
It
is
the control circuitry that responds to external
signals, such as interrupt or wait requests.
As
mentioned before,
an
interrupt request
will cause the control circuitry to temporarily
interrupt the program in process, and direct
the microcomputer to execute a special inter-
rupt service program. A wait request causes
the control circuitry to suspend processing of
the current instruction until the memory or
I/O
port
is
ready with the data.