ARM cache usage

William Busacker wbusacker at
Fri Apr 27 15:11:35 UTC 2018

Hi All,

Can someone point me in the direction of material that can explain how 
RTEMS uses the MMU on an ARM processor (specifically the ARM11 that the 
Raspberry Pi uses)? I want to see if there are any optimizations I make 
in code to take better advantage of how the memory access system works.

My reasoning for trying this is I have a bit of software that is taking 
several 12x12 matrices and vectors of similar size and 
multiplying/adding/inverting them all together a few hundred times over. 
These are all float type, and while I know the sheer calculation time is 
quite high the measured execution time is much higher than it should be 
leading to me suspect that there is memory bottle neck. What I would 
like to know is how the caching system works so I can maybe make 
adjustments to take better advantage of the cache and possibly reduce 
execution time.

This code is also being generated using Matlab's C Autocoder so that 
code itself isn't exactly readable (but being that I'm using a 
University Matlab license for free, I can't complain too much) so I'd 
like to try and keep manual adjustments to a minimum. If anyone knows of 
tricks to get autocoder to play nicer, that would be great too.

Will Busacker

More information about the users mailing list