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).
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?
Islam Gamal said: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".