English
Language : 

SH7760 Datasheet, PDF (1341/1345 Pages) Renesas Technology Corp – SuperHTM RISC engine
E. Instruction Prefetching and Its Side Effects
This LSI is provided with an internal buffer for holding pre-read instructions, and always performs
pre-reading. Therefore, program code must not be located in the last 20-byte area of any memory
space. If program code is located in these areas, the memory area will be exceeded and a bus
access for instruction pre-reading may be initiated. A case in which this is a problem is shown
below.
Address
H'03FF FFF8
H'03FF FFFA
Area 0 H'03FF FFFC
H'03FF FFFE
Area 1 H'0400 0000
H'0400 0002
...
..
ADD R1,R4
JMP @R2
NOP
NOP
PC (program counter)
Instruction prefetch address
Figure E.1 Instruction Prefetch
Figure E.1 presupposes a case in which the instruction (ADD) indicated by the program counter
(PC) and the address H'0400 0002 instruction prefetch are executed simultaneously. It is also
assumed that the program branches to an area other than area 1 after executing the following JMP
instruction and delay slot instruction.
In this case, the program flow is unpredictable, and a bus access (instruction prefetch) to area 1
may be initiated.
Instruction Prefetch Side Effects
1. It is possible that an external bus access caused by an instruction prefetch may result in
misoperation of an external device, such as a FIFO, connected to the area concerned.
2. If there is no device to reply to an external bus request caused by an instruction prefetch,
hangup will occur.
Remedies
1. These illegal instruction fetches can be avoided by using the MMU.
2. The problem can be avoided by not locating program code in the last 20 bytes of any area.
Rev. 1.0, 02/03, page 1291 of 1294