This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

which is better for performance fetching instructions from flash or SRAM?

Hello,

If I copy the firmware to SRAM and start execute program from there using STM32F429 (which means that system bus is used to fetch instructions instead of I-code bus).

At this case do fetching instructions and data access can be carried out in parallel ? and which is better for performance fetching instructions from flash or SRAM?

( I know that SRAM is faster than FLASH).

Parents Reply Children
  • Indeed.

    Chip manufacturers use "clever tricks" to speed up Flash access; eg, ST have "Adaptive Real-Time memory accelerator (ART Accelerator )" in (some of) their chips.

    It can also depend on how the buses are arranged - running from flash, there may be a dedicated path for instructions fetching; but from RAM the instruction fetching might have to contend with data accesses ...

    So the answer is, "It Depends..." - 

  • I don't intend a specific microcontroller ... I mean using a very simple controller without any memory accelerators and nothing special with buses just using arm cortex-m4 .. what is faster from cortex-m4 point of view?and do fetching instructions and data access can be carried out in parallel when fetching from sram?

  • I don't intend a specific microcontroller

    So why did you specifically say STM32F429, then ?

    But the answer does always depend on the specific details of the particular implementation - so the only fully general answer remains, "It depends".