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

[ARM926EJS] improve write miss

Note: This was originally posted on 5th October 2010 at http://forums.arm.com

Hello experts,

    The platform I am using is ARM926EJS. Cache policy is write-back and only read-allocate.
    From the profile result, the program I want to optimize has too many write misses (write buffer refill)
    Can anyone give me some guidelines or tricks to improve my program? thanks.

BR,
Stanley
Parents
  • Note: This was originally posted on 6th October 2010 at http://forums.arm.com

    You'll get write buffer stalls if the memory you were writing was not actually cacheable, so it might be worth double checking that the memory being written is marked cachable in the MMU tables.
    ==>Thanks for your remind, I checked the MMU and it is cacheable region.

    Otherwise, you may need to improve the spatial locality of your writes (search for "strip mining", "blocking" and/or "tiling").

    How much data are you reading/writing?  How big is your data cache?
    ==>The data cache setting is 16K-4way.
    What I want is to improve the write misses in motion compensation (copy pixel from addA and do some filter operations, then write to addB, I am pretty sure addrB is not in Dcache). I have tried loading addrB into cache before writing it, but this also introduces extra cache read misses. Could you give some advise on this situation? thanks.
Reply
  • Note: This was originally posted on 6th October 2010 at http://forums.arm.com

    You'll get write buffer stalls if the memory you were writing was not actually cacheable, so it might be worth double checking that the memory being written is marked cachable in the MMU tables.
    ==>Thanks for your remind, I checked the MMU and it is cacheable region.

    Otherwise, you may need to improve the spatial locality of your writes (search for "strip mining", "blocking" and/or "tiling").

    How much data are you reading/writing?  How big is your data cache?
    ==>The data cache setting is 16K-4way.
    What I want is to improve the write misses in motion compensation (copy pixel from addA and do some filter operations, then write to addB, I am pretty sure addrB is not in Dcache). I have tried loading addrB into cache before writing it, but this also introduces extra cache read misses. Could you give some advise on this situation? thanks.
Children
No data