Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Computer Organization: CPU Cache and the Memory Hierarchy
Rating: 4.6 out of 5(80 ratings)
5,224 students

Computer Organization: CPU Cache and the Memory Hierarchy

Master CPU cache organization & ace computer organization, computer architecture exams!
Last updated 8/2022
English

What you'll learn

  • Why do our computers have so many different types of memories?
  • What is a cache?
  • Why is a cache needed?
  • What data should be kept in a cache?
  • What are temporal and spatial locality?
  • How do caches exploit temporal locality?
  • How do caches exploit spatial locality?
  • What is the classic LRU cache replacement policy?
  • What are cache blocks? Why use them?
  • What is associativity in caches?
  • What is a fully associative cache?
  • What is a direct mapped cache?
  • What is a set associative cache?
  • How to determine whether a particular memory address will hit or miss in the cache?
  • How the address breakdown works for accessing data stored in fully associative, direct mapped, and set-associative caches?
  • How to modify data in caches?
  • What is a write-through cache?
  • What is a write-back cache?
  • How dirty bits are used in a write-back cache?
  • What other cache eviction algorithms, besides LRU, can be used?
  • How are caches organized in a hierarchy in modern computers?

Course content

9 sections36 lectures2h 34m total length
  • Welcome to the course!1:34

    Begin exploring cpu caches and the memory hierarchy through bite-sized lectures, animations, and quizzes, covering temporal locality, spatial locality, content addressable memory, direct mapped caches, set associative caches, and eviction.

  • Memory hierarchy10:05

    Explore the memory hierarchy from registers and caches to remote storage, showing how proximity to the cpu drives speed, cost, and non-volatile memory.

  • What is a cache?3:33

    Explore how a cache between the CPU and RAM speeds data access by delivering cache hits and triggering misses, with a single cache and no RAM misses.

  • Cache-real world analogy1:48
  • How to populate a cache?2:21

    Learn how caches between the CPU and RAM speed up access by storing data and instructions most likely to be used, exploiting spatial and temporal locality.

  • Quiz Section-1

Requirements

  • No previous knowledge about caches or memory hierarchy needed. Everything you need to know about the topics will be covered.

Description

Ace cache organization questions in competitive exams, job interviews, and computer organization and architecture course exams. Genuinely understand the implementation and working of caches in modern computers.


In this course, we will begin with an introduction to the memory hierarchy in modern computers. We will see why the computers employ several different types of memories, such as CPU registers, caches, main memory, hard disk, etc. After the introduction, the rest of the course focuses on caches. We will see that cache is a small but extremely fast piece of memory that sits between the fast CPU and slower RAM (main memory). The course is divided into the following nine sections: Introduction, Temporal locality, Performance implications of caches, Spatial locality, Writes in caches, Content addressable memory, Direct mapped caches, Set associative caches, Cache eviction, and hierarchical caches. The sections have several bite-sized lectures, practice problems, detailed animation examples illustrating concepts, and quizzes. Detailed solutions to the practice problems are included in the video and on the last page of the worksheets. Keys and explanations for the quiz questions are also provided. Specifically, the course will answer the following questions in detail.


1. Why do our computers have so many different types of memories?

2. What is a cache?

3. Why is a cache needed?

4. What data should be kept in a cache?

5. What are temporal and spatial locality?

6. How do caches exploit temporal locality?

7. How do caches exploit spatial locality?

8. What is the classic LRU cache replacement policy?

9. What are cache blocks? Why use them?

10. What is associativity in caches?

11. What is a fully associative cache?

12. What is a direct mapped cache?

13. What is a set associative cache?

14. How to determine whether a particular memory address will hit or miss in the cache?

15. How the address breakdown works for accessing data stored in fully associative, direct mapped, and set-associative caches?

16. How to modify data in caches?

17. What is a write-through cache?

18. What is a write-back cache?

19. How dirty are bits used in a write-back cache?

20. Can other cache eviction algorithms besides LRU be used?

21. How are caches organized in a hierarchy in modern computers?


30 day money back guaranteed by Udemy.


Wisdom scholarships. If you are interested in taking one of our courses but cannot purchase it, you can apply for a scholarship to enroll. Learn more about the application process at my website.

Who this course is for:

  • Anyone interested in learning about caches in modern computers could benefit from this course.
  • Computer science undergraduate students taking a computer organization or computer architecture course could benefit from the course.
  • You may (optionally) wish to print some of the material