cache vs FMC controller difference?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

cache vs FMC controller difference?

722 Views
Ahmad_bozorgi
Contributor II

Hi

when reading RM, there is 2 memory blocks which names are : Cache & FMC(flash memory controller).

FMC in each access to flash memory, read 128 bits for instruction & 64 bits for data. next time core wants data, it no longer needs wait state for reading from flash memory and data is available in FMC buffer. so it increase core access speed.

with mentioned above,

1. so what is difference between FMC & Cache in operation? (I know they are separate modules) .

2. has core write/read access on this area?

3. should we configure this module every reset?

 

Thanks.

 

0 Kudos
1 Reply

713 Views
davidtosenovjan
NXP TechSupport
NXP TechSupport

1) FMC is mainly flash controller. But you mean its pre-fetch buffer - yes, it is basially simple cache memory. It only affects read operation whilst classic cache influence also affects writes. Overally cache is much sophisficated logic using certain associativity levels (sets and ways) and usually more caching schemes with a need to SW configuration and handling. Contrary to that, this is basically primitive buffer.

2) Writes are affected anyhow. Reads are speeded-up by prefetching up to 16 bytes. This is basically speculative read as there is higher probability the core will want to read subsequent address (addresses) just after initial reading. This is called back-to-back read.

3) The FMC does not require user initialization. By default all pre-fetches are enabled.

 

0 Kudos