Chapter 2
Basic CPU
II - 6
Overview
2-1-4
Pipeline Process
Pipeline process means that reading and decoding are executed at the same time on different instruc-
tions, which are given nonstop. Pipeline process realizes speedy processing of consective instructions/
executions. This process is executed with instruction queue and instruction decoder.
Instruction queue is buffer that fetches the second instruction in advance. That is controlled to fetch the
next instruction when instruction queue is empty at each cycle on execution. At the last cycle of instruc-
tion execution, the first word (operation code) of executed instruction is stored to instruction register. At
that time, the next operand or operation code is fetched to instruction queue, so that the next instruction
can be executed immediately, even if register direct (da) or immediate (imm) are needed at the first cycle
of the next instruction execution. But on some other instruction such a branch instruction, instruction
queue becomes empty on the time that the next operation code to be executed is stored to instruction
register at the last cycle. Therefore, only when instruction queue is empty, and direct address (da) or
immediate data (imm) are needed, instruction queue keeps waiting for a cycle.
Instruction queue is controlled automatically by hardware so that there is no need to control by software.
But when instruction execution time is estimated, operation of instruction queue should be into consider-
ation. Instruction decoder generates control signal at each cycle of instruction execution by micro pro-
gram control. Instruction decoder uses pipeline process to decode instruction queue at one cycle before
control signal is needed.
2-1-5
Registers for Address
Registers for address include program counter (PC), address registers (A0, A1), and stack pointer (SP).
nProgram Counter (PC)
This register gives the address of the currently executing instruction. It is 19 bits wide to provide access
to a 256 KB address space in half byte(4-bit increments). The LSB of the program counter is used to
indicate half byte instruction. The program counter after reset is stored from the value of vector table at
the address of 4000.
18
0
PC
Program
counter