How is external memory, internal memory, and cache organized?
        Posted  
        
            by goldenmean
        on Stack Overflow
        
        See other posts from Stack Overflow
        
            or by goldenmean
        
        
        
        Published on 2010-04-10T18:33:53Z
        Indexed on 
            2010/04/10
            18:43 UTC
        
        
        Read the original article
        Hit count: 311
        
Consider a system as follows:= A hardware board having say ARM Cortex-A8 and Neon Vector coprocessor, and Embedded Linux OS running on Cortex-A8. On this environment, if there is some application - say, a video decoder is executing - then:
- How is it decided that which buffers would be in external memory, which ones would be allocated in internal SRAM, etc. - When one says calloc/malloc on such system/code, the pointer returned is from which memory: internal or external?
 
- Can a user make buffers to be allocated to the memories of his choice (internal/external)? 
- In ARM architectures, there is another memory called as Tightly coupled memory (TCM). What is that and how can user enable and use it? Can I declare buffers in this memory? 
- Do I need to see the memory map (if any) of the hardware board to understand about all these different physical memories present in a typical hardware board? 
- How much of a role does the OS play in distinguishing these different memories? 
Sorry for multiple questions, but i think they all are interlinked.
© Stack Overflow or respective owner