Wednesday, August 08, 2012

Memory Hirerarchy in Embedded Systems

Memory Hierarchy

The cache memory is defined as the first level of memory after the Registers. In the memory hierarchy, it is placed right below the processor registers as shown in the figure above.

Speed Vs Distance Vs Size of the Memory
 The above diagram shows the position of the Cache memory based on the Speed, Distance from the Processor and the Size.

How the Processor check for the data?

The cache is generally made up of SRAM because of the high speed of operation of SRAMs and the faster a cache operates, faster data can be made available to the processor for processing.

Components in the Memory Hierarchy

The cache stores in it the data of memory locations that the processor uses repeatably or is expected to use very soon in future. When the processor wants to access data of a certain memory location, the data might be present in cache or not, this is defined by the terms cache hit and cache miss respectively.

Cache Miss

Cache Miss

When the processor does not find, the memory location which it wants to access, stored in the cache it has to fetch the data from the main memory. As the data is missing in the cache this is termed as a cache miss.

Cache Hit

Cache Hit
If the memory location is present in the cache, processor can fetch the data from cache itself and need not go to the main memory to fetch it. This is termed as a cache hit.

Temporal Locality

Temporal Locality
A memory location accessed once will be accessed again soon and hence need to be stored close to the processor. This is an assumption and if the same data is required in the near future, we can save time by doing this.

Spatial Locality

Spatial Locality

The memory locations around the memory that the processor accesses might also be accessed by the processor soon and hence need to stored close the processor in the cache.This is also based on an assumption and we believe that the data next to the current location will be required for the next computation.

I think this below 3 Dimensional Diagram will make the Memory Hierarchy much more clear to the readers.

How the CPU Access the Memory

  1. The address of the needed data is formed in the processor execution or instruction-fetch unit. Most addresses are then mapped from virtual to real through the Translation Look aside Buffer (TLB). Certain ranges of addresses are not mapped, and bypass the TLB.
  2. Most addresses are presented to the primary cache, a cache in the processor chip. If a copy of the data with that address is found, it is returned immediately. Certain address ranges are never cached; these addresses pass directly to the bus.
  3. When the primary cache does not contain the data, the address is presented to the secondary cache. If it contains a copy of the data, the data is returned immediately. The size and the architecture of the secondary cache differ from one CPU model to another.
  4. The address is placed on the system bus. The memory module that recognizes the address places the data on the bus.



  1. My cousin recommended this blog and she was totally right keep up the fantastic work!

    Embedded System Projects

  2. Thanks for another great post. The place else may anyone get that type of information in such a perfect way of writing? I’ve a presentation next week, and I’m at the look for such information. embedded training in Chennai | embedded systems training in Chennai

  3. This is excellent information. It is amazing and wonderful to visit your site.Thanks for sharng this information,this is useful to me...
    Android Training in Chennai
    Ios Training in Chennai

  4. Everybody is talking about microservices. Industry veterans may remember monolithic or SOA-based solutions being the way of doing things. Times have changed. New tools have allowed developers to focus on specific problems without adding excessive complexity to deployment or other administrative tasks that are usually associated with isolated services.
    Microservices training in chennai

  5. Thank you a lot for providing individuals with a very spectacular possibility to read critical reviews from this site.

    Best Java Training Institute Chennai

  6. Thanks for providing such a great information.I ‘d mention that most of us visitors are endowed to exist in a fabulous place with very many wonderful individuals with very helpful things.
    selenium training in bangalore

  7. Needed to compose you a very little word to thank you yet again regarding the nice suggestions you’ve contributed here.
    Hadoop Training Institute In chennai

  8. It is really amazing...thanks for sharing....provide more useful information...

    Embedded training in chennai | Embedded training centre in chennai

  9. Read all the information that i've given in above article. It'll give u the whole idea about it.
    Click here:
    Angularjs training in chennai

    Click here:
    angularjs training in bangalore

    Click here:
    angularjs training in online

    Click here:
    angularjs training in Annanagar

  10. Thanks for the informative article. This is one of the best resources I have found in quite some time. Nicely written and great info. I really cannot thank you enough for sharing.
    Blueprism training in Chennai

    Blueprism training in Bangalore

    Blueprism training in Pune

    Blueprism online training

  11. Great post! I am actually getting ready to across this information, It’s very helpful for this blog.Also great with all of the valuable information you have Keep up the good work you are doing well.
    Devops Training in Chennai

    Devops Training in Bangalore

    Devops Training in pune

  12. Appreciation for really being thoughtful and also for deciding on certain marvelous guides most people really want to be aware of.
    fire and safety course in chennai

  13. Good Post! Thank you so much for sharing this pretty post, it was so good to read and useful to improve my knowledge as updated one, keep blogging.

    rpa training in velachery| rpa training in tambaram |rpa training in sholinganallur | rpa training in annanagar| rpa training in kalyannagar

  14. Those guidelines additionally worked to become a good way to recognize that other people online have the identical fervor like mine to grasp great deal more around this condition.
    best safety training in chennai

  15. Wow, Nice blog. Thank you so much for the efforts of this blog. Visit for
    Best Offshore VPS

  16. This is an awesome post.Really very informative and creative contents. These concept is a good way to enhance the knowledge.

    Tableau Training in Chennai
    Tableau Training

  17. Thanks for sharing this valuable information.Its more useful to us.its very interesting to know the blog
    with clear vision.

    Article submission sites
    Guest posting sites

  18. nice work keep it up thanks for sharing the knowledge.Thanks for sharing this type of information, it is so useful.
    Epoxy Grout manufacturer in delhi


Thank you for your valuable suggestion. If you feel this post useful, please share our Blog with others!!! Comments just for Backlinking your Website or Blog will be Deleted...