Skip to content
geeksforgeeks
  • Tutorials
    • Python
    • Java
    • Data Structures & Algorithms
    • ML & Data Science
    • Interview Corner
    • Programming Languages
    • Web Development
    • CS Subjects
    • DevOps And Linux
    • School Learning
    • Practice Coding Problems
  • Courses
    • DSA to Development
    • Get IBM Certification
    • Newly Launched!
      • Master Django Framework
      • Become AWS Certified
    • For Working Professionals
      • Interview 101: DSA & System Design
      • Data Science Training Program
      • JAVA Backend Development (Live)
      • DevOps Engineering (LIVE)
      • Data Structures & Algorithms in Python
    • For Students
      • Placement Preparation Course
      • Data Science (Live)
      • Data Structure & Algorithm-Self Paced (C++/JAVA)
      • Master Competitive Programming (Live)
      • Full Stack Development with React & Node JS (Live)
    • Full Stack Development
    • Data Science Program
    • All Courses
  • Aptitude
  • Engineering Mathematics
  • Discrete Mathematics
  • Operating System
  • DBMS
  • Computer Networks
  • Digital Logic and Design
  • C Programming
  • Data Structures
  • Algorithms
  • Theory of Computation
  • Compiler Design
  • Computer Org and Architecture
Open In App
Next Article:
Difference between Simultaneous and Hierarchical Access Memory Organisations
Next article icon

Difference between Simultaneous and Hierarchical Access Memory Organisations

Last Updated : 23 Sep, 2024
Comments
Improve
Suggest changes
Like Article
Like
Report

In the Computer System Design, memory organization is important in order to enhance system performance and efficiency . So, two ways have been devised on the basis of which CPU tries to access different levels of Memory. These two types include Simultaneous Access Memory Organization and Hierarchical Access Memory Organization . Let's explore these memory organizations through this article.

What is Simultaneous Access Memory Organization?

In this memory organization, CPU can access the data simultaneously from all levels of memory i.e. if it was trying to access data from level 1 but it didn't get. So, it can check in other levels at the same time as shown in the figure below.

 Simultaneous Access Memory Organization

Figure -Simultaneous Access Memory Organization


Average Memory Access Time for Simultaneous Access Memory Organization

Let there be total three levels in a memory i.e. L1, L2, L3 and H1, H2,H3 are the hit ratios for data to be found in respective levels. T1, T2, T3 be the access time for these levels. Then Average Memory Access time for Simultaneous Access Memory Organization is

Average Memory Access Time = H1*T1 + (1-H1)*H2*T2 + (1-H1)*(1-H2)*H3*T3 = H1*T1 + (1-H1)*H2*T2 + (1-H1)*(1-H2)*1*T3 = H1*T1 + (1-H1)*H2*T2 + (1-H1)*(1-H2)*T3

Because the chances to get data in L3 will be 100% if it is not found in L2 and L3 , so H3=1 is used here.

What is Hierarchical Access Memory Organization?

In this memory organization, CPU can't access data simultaneously from all levels of memory as it is only connected to level 1 of memory here. So, the data will come from other levels to the level 1 then CPU will get its access as shown in the figure below.

Hierarchical Access Memory Organization

Figure - Hierarchical Access Memory Organization


Average Memory Access Time for Hierarchical Access Memory Organization

Let there be total three levels in a memory i.e. L1, L2, L3 and H1, H2,H3 are the hit ratios for data to be found in respective levels. T1, T2, T3 be the access time for these levels. Then Average Memory Access time for Hierarchical Access Memory Organization is

Average Memory Access Time = H1*T1 + (1-H1)*H2*(T1+T2) + (1-H1)*(1-H2)*H3*(T1+T2+T3) = H1*T1 + (1-H1)*H2*(T1+T2) + (1-H1)*(1-H2)*1*(T1+T2+T3) = H1*T1 + (1-H1)*H2*(T1+T2) + (1-H1)*(1-H2)*(T1+T2+T3)

Again, H3=1 will be used here as it was used above for average memory access time in case of Simultaneous Access Memory Organization.

Also, if data is not found in L1 then time to access data will be T1+T2 while checking for it in L2 and so on for further levels.

Difference between Simultaneous and Hierarchical Access Memory Organizations

Simultaneous Access Memory OrganizationHierarchical Access Memory Organization
In this organization, CPU is directly connected to all the levels of Memory.In this organization, CPU is always directly connected to L1 i.e. Level-1 Memory only.
CPU accesses the data from all levels of Memory simultaneously.CPU always accesses the data from Level-1 Memory.
For any "miss" encountered in L1 memory, CPU can directly access data from higher memory levels (i.e. L2, L3, .....Ln).For any "miss" encountered in L1 memory, CPU cannot directly access data from higher memory levels(i.e. L2, L3, .....Ln). First the desired data will be transferred from higher memory levels to L1 memory. Only then it can be accessed by the CPU.
If H1 and H2 are the Hit Ratios and T1 and T2 are the access time of L1 and L2 memory levels respectively then the Average Memory Access Time can be calculated as: T=(H1*T1)+((1-H1)*H2*T2 If H1 and H2 are the Hit Ratios and T1 and T2 are the access time of L1 and L2 memory levels respectively then the Average Memory Access Time can be calculated as:
T=(H1*T1)+((1-H1)*H2*(T1+T2)

NOTE:

  1. By default the memory structure of Computer Systems is designed with Hierarchical Access Memory Organization. It is so because in this type of memory organization the average access time is reduced due to locality of references.
  2. Simultaneous access Memory organization is used for the implementation of Write Through Cache.
  3. In both types of memory organization, the Hit Ratio of last memory level is always 1.


Conclusion

In conclusion, Simultaneous Access Memory Organization is a technique that allows CPU to check for the required data in all levels of memory at the same time. While Hierarchical Access Memory Organization is a technique that allows CPU to access only level 1 of memory for searching the required data. If not found, then it will fetch data from higher levels to level 1 using locality of reference. In this way, both techniques can be used as per their requirement so that system performance can be enhanced.

Related Articles

Simultaneous and Hierarchical Cache Accesses

Locality of reference and Cache operations in Cache memory

Cache Memory Performance

Difference between Temporal Locality and Spatial Locality

Cache Memory - Computer Organization and Architecture


Next Article
Difference between Simultaneous and Hierarchical Access Memory Organisations

R

RishabhJain12
Improve
Article Tags :
  • Computer Organization and Architecture

Similar Reads

    Simultaneous and Hierarchical Cache Accesses
    Prerequisite : Cache Organization Introduction :In this article we will try to understand about Simultaneous Cache access as well as Hierarchical Cache Access in detail and also understand how these access actually works whenever CPU (Central Processing Unit) requests for Main Memory Block which is
    9 min read
    Difference between Uniform Memory Access (UMA) and Non-uniform Memory Access (NUMA)
    In computer architecture, and especially in Multiprocessors systems, memory access models play a critical role that determines performance, scalability, and generally, efficiency of the system. The two shared-memory models most frequently used are UMA and NUMA. This paper deals with these shared-mem
    5 min read
    Difference between Register Mode and Register Indirect Mode
    In the computer system, addressing modes refer to how the operands of an instruction is located or accessed. There are two critical addressing modes namely the Register Mode and Register Indirect Mode. These modes are often used to address data present in the registers in the course of running of pr
    5 min read
    Difference between Random Access Memory (RAM) and Content Addressable Memory (CAM)
    In the world of computation, memory plays a very significant role in ensuring efficient data processing and data storage or data retrieval. Memory system are the very crucial part of any particular digital devices , it facilitate to store and retrieve the Data from the devices . Two important types
    8 min read
    Difference between Cache Memory and Register
    In the context of a computer’s architecture, two terms that may be familiar are the cache memory and the register, however, few people may not know the differences and functions of each of the two components. Both of them are important to the CPU but they have different roles and are used in differe
    5 min read
geeksforgeeks-footer-logo
Corporate & Communications Address:
A-143, 7th Floor, Sovereign Corporate Tower, Sector- 136, Noida, Uttar Pradesh (201305)
Registered Address:
K 061, Tower K, Gulshan Vivante Apartment, Sector 137, Noida, Gautam Buddh Nagar, Uttar Pradesh, 201305
GFG App on Play Store GFG App on App Store
Advertise with us
  • Company
  • About Us
  • Legal
  • Privacy Policy
  • In Media
  • Contact Us
  • Advertise with us
  • GFG Corporate Solution
  • Placement Training Program
  • Languages
  • Python
  • Java
  • C++
  • PHP
  • GoLang
  • SQL
  • R Language
  • Android Tutorial
  • Tutorials Archive
  • DSA
  • Data Structures
  • Algorithms
  • DSA for Beginners
  • Basic DSA Problems
  • DSA Roadmap
  • Top 100 DSA Interview Problems
  • DSA Roadmap by Sandeep Jain
  • All Cheat Sheets
  • Data Science & ML
  • Data Science With Python
  • Data Science For Beginner
  • Machine Learning
  • ML Maths
  • Data Visualisation
  • Pandas
  • NumPy
  • NLP
  • Deep Learning
  • Web Technologies
  • HTML
  • CSS
  • JavaScript
  • TypeScript
  • ReactJS
  • NextJS
  • Bootstrap
  • Web Design
  • Python Tutorial
  • Python Programming Examples
  • Python Projects
  • Python Tkinter
  • Python Web Scraping
  • OpenCV Tutorial
  • Python Interview Question
  • Django
  • Computer Science
  • Operating Systems
  • Computer Network
  • Database Management System
  • Software Engineering
  • Digital Logic Design
  • Engineering Maths
  • Software Development
  • Software Testing
  • DevOps
  • Git
  • Linux
  • AWS
  • Docker
  • Kubernetes
  • Azure
  • GCP
  • DevOps Roadmap
  • System Design
  • High Level Design
  • Low Level Design
  • UML Diagrams
  • Interview Guide
  • Design Patterns
  • OOAD
  • System Design Bootcamp
  • Interview Questions
  • Inteview Preparation
  • Competitive Programming
  • Top DS or Algo for CP
  • Company-Wise Recruitment Process
  • Company-Wise Preparation
  • Aptitude Preparation
  • Puzzles
  • School Subjects
  • Mathematics
  • Physics
  • Chemistry
  • Biology
  • Social Science
  • English Grammar
  • Commerce
  • World GK
  • GeeksforGeeks Videos
  • DSA
  • Python
  • Java
  • C++
  • Web Development
  • Data Science
  • CS Subjects
@GeeksforGeeks, Sanchhaya Education Private Limited, All rights reserved
We use cookies to ensure you have the best browsing experience on our website. By using our site, you acknowledge that you have read and understood our Cookie Policy & Privacy Policy
Lightbox
Improvement
Suggest Changes
Help us improve. Share your suggestions to enhance the article. Contribute your expertise and make a difference in the GeeksforGeeks portal.
geeksforgeeks-suggest-icon
Create Improvement
Enhance the article with your expertise. Contribute to the GeeksforGeeks community and help create better learning resources for all.
geeksforgeeks-improvement-icon
Suggest Changes
min 4 words, max Words Limit:1000

Thank You!

Your suggestions are valuable to us.

What kind of Experience do you want to share?

Interview Experiences
Admission Experiences
Career Journeys
Work Experiences
Campus Experiences
Competitive Exam Experiences