Arithmetic Timing
Arithmetic timing is initiated by a command from
the CPUs main timing chain. How far arithmetic
timing advances is dependent upon the specific
instruction.
INSTRUCTION AND CONTROL
The instruction execution and control portion of the
control section includes the combinational and
sequential circuits that make up the decision-making
and memory-type functions. First we discuss some of
the functions, operations, operand addressing, and
operating levels. We include those items most common
in all computers and any that are unique to a specific
type of computer.
Instruction and Control Functions
In chapter 4 we discussed the circuits that are used
by computers. In this topic we discuss some of the more
common functions used by these decision-making and
memory-type circuits to execute instruction and control
operations. Some of the more common functions of the
circuits in this area include the accumulators, index
registers, instruction register, program counter, and
status indicating registers.
The registers (memory-type functions) work with
decision-making functions (primarily data routing
circuits) to channel the data inside the computer. Their
functions are many in the CPU; therefore, we do not go
into detail. Refer back to chapter 4 for their basic
functions. These data routing circuits are capable of
providing input to the registers and/or using their
outputs to route data elsewhere in the computer.
Among some of the data routing circuits included in the
CPUs control section are the following:
Adders
Command signals (enables)
Comparators
Demultiplexers
Selectors
Translators
These are by no means all the functions contained
in all computers, but they represent a general overview
of the common functions needed to execute instructions
Lets look at the more common functions of the
memory-type circuits that the CPU uses.
ACCUMULATORS. Located in the CPU are a
number of general-purpose registers called
accumulators that are used to temporarily store data or
memory addresses. They are generally the same length
(number of bits) as a memory word. There are typically
8-, 16-, or 32-bit accumulators, numbered from 0,
depending on the size and type of computer or
microprocessor.
These registers are accessible to a computer
programmer. In other words a programmer can control,
by machine instruction(s), what data is placed in these
registers and what manipulations take place on the data.
In addition to the operation (op) code, instructions
contain one or two multibit fields that specifically
identify the accumulator register to be operated upon.
In older computers each bit positions flip-flop
circuit had indicator lamps to indicate the contents of
the register to the computer programmer/technician. In
the newer computers, the majority of registers are
nothing more than memory addresses in local storage
areas.
The register contents, however, are still
accessible to the technician through the computers
man/machine interface.
INDEX REGISTERS. Most CPUs contain a
number of index registers (8-, 16-, or 32-bit). Index
registers are addressable registers that are used for two
purposes: address modification and counting. The
value contained in a particular index register can be
used to modify the operand address of a machine
instruction without changing the instruction itself in
memory. In this way a single instruction can be used to
specify a large number of operands, indirectly.
The count in an index register can also be modified
by fixed values (incremented or decremented) to
control program repetitions or iterations.
INSTRUCTION REGISTER. To translate and
execute the instructions, the outputs of the instruction
register are fed to logic circuits (selectors and/or
translators) that are used to translate the binary codes
into commands for the CPU to execute (fig. 5-4).
PROGRAM COUNTER. The program counter
controls the selection of machine instructions. It holds
the address of the next instruction to be executed.
and control operations.
Adders and registers are used to perform this function.
5-6