A0
Data 0
Data 1
CPU Clock
Address
Flash Clock
Data
A1
WORD 7
WORD 6
WORD 5
WORD 4
WORD 3
WORD 2
WORD 1
WORD 0
WORD 6
WORD 5
WORD 4
WORD 3
WORD 2
WORD 1
WORD 0
WORD 7
TAG
Prefetch
Buffer 1
255
127
96 95
64 63
32 31
0
128
159
160
191
192
223
224
Prefetch
Buffer 0
TAG
WORD 7
WORD 6
WORD 5
WORD 4
WORD 3
WORD 2
WORD 1
WORD 0
WORD 6
WORD 5
WORD 4
WORD 3
WORD 2
WORD 1
WORD 0
WORD 7
TAG
Prefetch
Buffer 3
Prefetch
Buffer 2
TAG
Functional Description
537
SLAU723A – October 2017 – Revised October 2018
Copyright © 2017–2018, Texas Instruments Incorporated
Internal Memory
Figure 7-5. Four 256-Bit Prefetch Buffer Configuration
The address of the autofill is stored in this tag register so that address violations can be identified
immediately and miss processing can begin directly. Every ICODE access is checked against valid tags to
see if the target word is already in the buffers.
If there is a hit, the target word is immediately sent to the CPU with no wait states. If there is a miss, the
prefetch buffer is invalidated and the miss is processed as a 256-bit read from the flash subsystem to fill
the next, least-recently used prefetch buffer. Two memory banks are read in parallel to retrieve 256-bits
worth of data.
If an autofill has been started and a miss occurs, the autofill completes before the miss is processed. If an
autofill occurs that hits the prefetch buffer being processed for the autofill, then the ICODE bus is stalled
until the autofill is complete and new entry can be accessed. For an instruction miss, access to the flash
bank starts immediately after the address is available, provided the flash subsystem is not already
processing a DCODE bus access or a program or erase operation in the same banks. The target word is
passed to the CPU one cycle after it is written to the prefetch buffer.
shows the timing diagram for a hit in the prefetch buffer.
Figure 7-6. Single Cycle Access, 0 Wait States
The flash memory can operate at the CPU clock speed with zero-wait-state accesses when data is
resident in the prefetch buffers. When an access does not hit in the prefetch buffer, there is a delay that is
incurred while the data is transferred from the flash. This delay is dependent on the programmed CPU
frequency. See
for required CPU frequency versus programmed wait-state delay information.
shows the events that occur as the CPU steps through the words in the prefetch buffer that has
just been loaded until it reaches the end of the current prefetch line. The notable events follow (see
•
EVENT A: When the CPU has a miss in the prefetch buffer, a line is fetched from flash. The target
word is written to the prefetch buffer and sent to the CPU one cycle after.
•
EVENT B: When the CPU reaches Word 3, the next 256-bit buffer line is fetched, resulting in a zero-
wait-state access of word 0 of the next line.
•
EVENT C: After this word, if the CPU is still executing sequentially, word 0 of the next buffer line that
was fetched is sent to the CPU with zero-wait-state delay.
•
EVENT D: Word 0 from the second fetch that occurred is sent to the CPU.