This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Cache hits & misses

Other Parts Discussed in Thread: OMAP3530, OMAP3503, TMS320C6455

 Hi all

           I am presently working on cache in omap3530. In simulator i gone through cache hits and misses but  presently working on emulator

1 How  to view the the cache hits and misses in emulator.

2 we are XDS560R JTAG and OMAP3503 EVM (3530) board . what is the difference between program running under BIOS configuration and normal configuration in ccs.

    is there any improvements  in cycles when my H.264 decoder program run under BIOS configuration .

 Please share your valuable information & i am waiting for your precious reply

Thanks and Regards

sureshkumar

  • sureshkumar said:

    1 How  to view the the cache hits and misses in emulator.

    On OMAP3530 there's no mechanism to count cache hits/misses.  Some of the high-end devices have this capability (e.g. TMS320C6455) through a feature called Advanced Event Triggering (AET). The cache profiling on the simulator is part of the value of simulator.

    If you open a memory window in CCS there are little check-boxes for L1P, L1D, L2 cache.  This allows you to see to see what's in the physical memory address vs what's in the cache.  However, this feature is generally more useful for rooting out issues with cache coherence, not so much determining cache performance.

    sureshkumar said:

    2 we are XDS560R JTAG and OMAP3503 EVM (3530) board . what is the difference between program running under BIOS configuration and normal configuration in ccs.

        is there any improvements  in cycles when my H.264 decoder program run under BIOS configuration .

    BIOS is a real-time operating system (RTOS).  If you are using TI's multi-media frameworks (Codec Engine, dsplink, etc.) then it relies on BIOS being present.

     

  • Thanks a lot 

    Brad Griffis Thank you very much.

    My another doubt is  we are using BIOS config  for BACHE functions to work. But in my H.264 Decoder  project  has callocs/ mallocs / memset / file operations. If we need to run the same project for BIOS configuration, what are the necessary steps/ changes to be made, so that it would work fine in BIOS Config?

    otherwise what we have to do to functioning cache in normal mode(without using the BIOS Config)?

     

     

  • To configure heaps in DSP/BIOS:

    1. Open up your tcf file.
    2. Right-click on "MEM - Memory Section Manager" and click "Properties".
    3. Uncheck the box "No Dynamic Memory Heaps".
    4. Expand the MEM section.  You should see your memory options there (e.g. DDR, IRAM, etc.).
    5. Right-click on the memory where you would like your heap to be created (e.g. DDR) and select "Properties".
    6. Check the box "create a heap in this memory" and specify the size.  Click OK.
    7. Go back to the MEM properties.  Set "Segment for DSP/BIOS Objects" and "Segment for malloc/free" to the section you created your heap.

    FYI, BIOS allows you to have multiple heaps.  Using the MEM_alloc API instead of malloc allows you to specify which heap you would like to use (e.g. internal, external).  In step 7 you are specifying the "default" heap if you happen to use the more standard malloc call.

    Brad

     

  • Thank you very much Brad Griffis .

    But my problem is we are not running the our project in Bios configuration. My current project having only single task(i e video decode),

    Is there any alternative methods  to enable cache (including cachewb(),cachewbinv()) with all functions in c64x+ processor.(Bcache functions requires BIOS config)

    Please tell your sugessions regarding above issue

    Thanks& regards

    sureshkumar c v

  • The easiest way would be to use BIOS, IMO BIOS makes doing other things easier as well since it manages the memory map and provides some automated initialization, it also ends up being required in most digital video applications because the underlying frameworks (i.e. codec engine, link, etc) require it. Unfortunately I do not know of an easy way to use BCACHE without BIOS, and I do not believe we provide cache management functions outside of BCACHE anymore. However you could do this manually by accessing the cache control registers directly using a pointer, sort of writing your own BCACHE functions.