Microcontrollers
577
14.3.3 Processor Architecture
Processor architecture can be categorized as one of the following four architectures: accumulator-based
architecture, register-based architecture, stack-based architecture and pipeline architecture.
14.3.3.1 Accumulator-based Architecture
In accumulator-based architecture, as shown in Fig. 14.12, instructions begin and end in accumulators
(Acc A and Acc B in Fig. 14.12), which are specially designated registers. In a typical operation, one
of the operands is found in the accumulator and the other is to be fetched from memory. The result of
the operation is placed in the accumulator. As one of the operands needs to be continually fetched from
memory, this architecture is slower than the register-based and stack-based architectures. However,
accumulator-based architecture has the ability to run fairly complicated instructions.
14.3.3.2 Register-based Architecture
In register-based architecture, as shown in Fig. 14.13, both operands are stored in registers and the
result of operation is also stored in a register. The registers are typically colocated with the processor.
Since the processor and registers operate at the same speed, this architecture is much faster than the
previously discussed accumulator-based architecture. The contents of the register are read from and
written to memory using background operation.
Acc A
Acc B
Index X
Index Y
Stack Pointer
Program Counter
Condition
Register
Figure 14.12 Accumulator-based processor architecture.
577
14.3.3 Processor Architecture
Processor architecture can be categorized as one of the following four architectures: accumulator-based
architecture, register-based architecture, stack-based architecture and pipeline architecture.
14.3.3.1 Accumulator-based Architecture
In accumulator-based architecture, as shown in Fig. 14.12, instructions begin and end in accumulators
(Acc A and Acc B in Fig. 14.12), which are specially designated registers. In a typical operation, one
of the operands is found in the accumulator and the other is to be fetched from memory. The result of
the operation is placed in the accumulator. As one of the operands needs to be continually fetched from
memory, this architecture is slower than the register-based and stack-based architectures. However,
accumulator-based architecture has the ability to run fairly complicated instructions.
14.3.3.2 Register-based Architecture
In register-based architecture, as shown in Fig. 14.13, both operands are stored in registers and the
result of operation is also stored in a register. The registers are typically colocated with the processor.
Since the processor and registers operate at the same speed, this architecture is much faster than the
previously discussed accumulator-based architecture. The contents of the register are read from and
written to memory using background operation.
Acc A
Acc B
Index X
Index Y
Stack Pointer
Program Counter
Condition
Register
Figure 14.12 Accumulator-based processor architecture.
