
7700 FAMILY SOFTWARE MANUAL
INST R UCT ION E X E CUT ION SE QUE NCE
5.2 Instruction execution sequence
5–13
Example 1. ASL instruction / direct addressing mode (DPR
L
= 00
16
)
φ
No.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
CPU
(No fetching can be done, because there are no
operation codes in the instruction queue buffer.)
Fetches operation code.
(No fetching can be done, because there are no
operands in the instruction queue buffer.)
Fetches operand (dd).
Waits for E to become “L”, to read data.
Reads data in the odd addresses (D
L
) alone into the data buffer when E becomes “L”.
Waits for E to become “L”, to read data.
Reads data in the even addresses (D
H
) alone into the data buffer when E becomes “L”.
Modifies data.
Bus interface unit
Fetches the instruction, because instruction queue
buffer is vacant and the CPU is not using the bus.
Fetches 1 odd address byte worth of data into the
instruction queue buffer, when E becomes “L”.
Fetches the instruction, because instruction
queue buffer is vacant and the CPU is not using
the bus.
Fetches 2-byte worth of data into the instruction
queue buffer when E becomes “L”.
Prefetches the instruction, because there are two
vacant positions in the instruction queue buffer,
and the CPU is not using the bus.
Fetches 2 bytes worth of data into the instruction
queue buffer, when E becomes “L”.
Waits till E becomes “L” to write data.
Writes the contents of the data buffer (D
L
) into
the original address (odd address), when E be-
comes “L”.
Waits till E becomes “L” to write data.
Writes the contents of the data buffer (D
H
) into
the original address (even address), when E be-
comes “L”.
Operation of the CPU and bus interface unit under various cycles
(Waits till the bus used by the bus interface unit
becomes vacant.)
Writes data into the data buffer.
Fetches the next operation code.
When internal ROM or BYTE terminal level “L” external memory is used as the program memory, the instruction is
fetched into the instruction queue buffer normally in 2-byte (word) unit of sequential even and odd addresses in this
order. However, when the instruction must be fetched from odd address like after execution of the JMP instruction,
the 1-byte of the first odd address alone is fetched into the instruction queue buffer (
φ
2 cycle), and the later instructions
are fetched into the instruction queue buffer in 2-byte units (
φ
4,
φ
10 cycle).
The bus interface unit automatically selects whether to fetch one word or to fetch the 1 byte of odd address alone. The
operation status can be observed from outside, according to the output of the BHE terminal and the address bus signal
A
0
, as long as the mode is not single-chip mode.
When one word is fetched
The output from both the BHE terminal and the address bus A
0
are at the “L” level.
When 1 byte of odd address alone is fetched
The output from the BHE terminal is “L”, while the output from address bus A
0
is “H”.
When internal RAM and external memory at BYTE terminal level “L” are used as the data memory, with data
length selection flag m=0, both data read and write are normally done in 2-byte units of even and odd addresses,
in this sequence. However, access can also be done when the word data is defined from an odd address. In
other words, “H” is output first from address bus A
0
and then “L” from the BHE terminal to access to odd address
alone. Next, “L” is output from A
0
, and “H” from the BHE terminal to access to the even address (
φ
5 to
φ
8,
φ
11
to
φ
14 cycle).