Operation Types
From the simplest microprocessor (8-bit) to a large
mainframe with an embedded microprocessor, the types
of ALU operations range from basic add and subtract
operations to sophisticated trigonometric operations
and separate coprocessor and math pacs, which
operate independent of the ALU. The types of
instructions most ALUs canperform can be divided into
two categories: arithmetic operations and logical
operations. The ALU uses the logical products of the
logic gates to perform the arithmetic and logical
instructions. Depending on the sophistication of the
computer, the logic gates are arranged to perform the
instructions included in the computers set of
instructions.
Computers can be designed to have an adder to
perform its adding and subtracting or a subtracter to
perform its adding and subtracting. Or they can have a
combined adder/subtracter system. Because a
computer can really only add or subtract, the add and
subtract capabilities allow the computer to perform the
more complicated arithmetic operations: multiply,
division, and square root functions. Addition and
subtraction functions are embedded in division, square
root, and the more complicated arithmetic functions,
such as trigonometric and hyperbolic, to name a couple.
The computer can be designed where a single
instruction will accomplish the results or a series of
instructions can be written to produce the results. The
only drawback to a series of instruction is they consume
more time to accomplish the results. The multiply,
divide, square root, and trigonometric instructions are
examples.
Computers can multiply by repetitive adding or
they can use a series of left shift instructions both using
a compare instruction, which may be how a computer
with a dedicated multiply function accomplishes the
function anyway. The same principle can be applied to
the divide and square root functions. A divide can use
repetitive subtractions or a series of right shifts with a
comparison function.
A square root would use a
combination of additions/subtractions and comparisons
for the multiplying and dividing necessary to
accomplish a square root function. A trigonometric
function using separate instructions would use logical
instructions to accomplish the same results that a single
trigonometric instruction would accomplish. ALU
operations include signed operations.
Depending on the sophistication of the computer,
ALU functions can include the following functions:
5-23
Arithmetic Add, subtract, shift, multiply,
divide, negation, absolute value. (The more
sophisticated ALUs can perform square root,
trigonometric, hyperbolic, and binary angular
movement or motion (BAM) functions.)
Logical AND, OR, NOT (complement), and
EXCLUSIVE OR (compare).
Also depending on the design, numeric data
coprocessor and math pacs are used in some computers
in addition to the normal arithmetic instructions
available. They execute the arithmetic instructions the
CPUs ALU cannot, and they are still controlled by the
CPUs program control. These additional logic circuits
can be used to amplify the capabilities of the ALU and
arithmetic section in general. Remember, the ALU is
part of a CPU module or a microprocessor chip on a
printed circuit board. The numeric data coprocessor
and math pac are separate modules or chips.
NUMERIC DATA COPROCESSOR. The
numeric data coprocessor is a special-purpose
programmable microprocessor designed to perform up
to 68 additional arithmetic, trigonometric, exponential,
and logarithmic instructions. The coprocessor
performs numeric applications up to 100 times faster
than the CPU alone and provides handling of the
following data types: 16-, 32-, and 64-bit integers; 32-,
64-, and 80-bit floating-point real numbers; and up to
18-digit binary coded decimal (BCD) operands.
The numeric data coprocessor operates in parallel
with and independent of the CPU using the same data,
address, and control buses as the CPU. In effect, the
coprocessor executes those arithmetic instructions that
the CPUs ALU cannot. The CPU is held in a wait
mode, while the coprocessor is performing an
operation. The CPU still controls overall program
execution, while the coprocessor recognizes and
executes only its own numeric operations.
MATH PAC. Math pac is a module used as a
hardware option for some militarized minicomputers.
The math pac module provides the hardware capability
to perform square root, trigonometric and hyperbolic
functions; floating-point math; double-precision
multiply and divide instructions; and algebraic left and
right quadruple shifts.
TOPIC 3COMPUTER INTERNAL
BUSES
To transfer information internally, computers use
buses. Buses are groups of conductors that connect the