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: 245

Filed under:
|
|

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

Related posts about cache

Related posts about memory