© Koninklijke Philips Electronics N.V. 2005. All rights reserved.
User manual
Rev. 01 — 15 August 2005
45
Philips Semiconductors
UM10139
Volume 1
Chapter 4: MAM Module
the Prefetch and Branch Trail Buffer is taken, a stall of several clocks is needed to load the
Branch Trail Buffer. Subsequently, there will typically be no further instructionfetch delays
until a new and different branch occurs.
4.3 MAM blocks
The Memory Accelerator Module is divided into several functional blocks:
•
A Flash Address Latch and an incrementor function to form prefetch addresses
•
A 128-bit Prefetch Buffer and an associated Address latch and comparator
•
A 128-bit Branch Trail Buffer and an associated Address latch and comparator
•
A 128-bit Data Buffer and an associated Address latch and comparator
•
Control logic
•
Wait logic
shows a simplified block diagram of the Memory Accelerator Module data paths.
In the following descriptions, the term “fetch” applies to an explicit Flash read request from
the ARM. “Pre-fetch” is used to denote a Flash read of instructions beyond the current
processor fetch address.
4.3.1 Flash
memory
bank
There is one bank of Flash memory with the LPC2141/2/4/6/8 MAM.
Flash programming operations are not controlled by the MAM, but are handled as a
separate function. A “boot block” sector contains Flash programming algorithms that may
be called as part of the application program, and a loader that may be run to allow serial
programming of the Flash memory.
Fig 12. Simplified block diagram of the Memory Accelerator Module (MAM)
BUS
INTERFACE
BUFFERS
Memory Address
Flash Memory
Bank
Memory Data
ARM Local Bus