University of Illinois at Urbana-Champaign
Analyzing and improving cache memory instruction
Abstract
dc:descriptionIn modern computer systems, memory is organized in multiple layers with different sizes and performance characteristics. Cache memories are parts of this hierarchy that resides inside the processor. They play a crucial role in the performance of the memory system. They also have an important role in the security of computer programs. The ideas behind caches within processors translate directly to the caches implemented within database systems and large-scale web applications. Earlier studies have shown that students find it difficult to understand the operation of caches and how it affects the performance of the programs. It is important for students to understand how caches work so that they can understand the performance implications of their software design and learn how to mitigate the security issues related to caches. To improve students' understanding of caches, it is important to know what difficulties students face in understanding caches and why some concepts are difficult to understand. Knowing the stumbling blocks for students can help in designing methods and representations that can be helpful for students. This dissertation describes our efforts to investigate what difficulties students face in learning about caches and their performance implications within the context of an undergraduate computer architecture course. We also describe how computer administered cache assessments were developed and used to meet the challenges of growing enrollment in computer architecture course. We analyzed the exam questions related to caches where students had low scores to find what concepts the students were required to know for the exams. We then developed an assessment to gauge how well students know these concepts. We conducted think-aloud interviews with students to explore why students found some concepts difficult to comprehend. The analysis of these interviews led to the design of new representations for tracking the state of a cache. We also investigated the role of spatial ability in learning caches. This revealed that students with high spatial ability performed better in exams related to caches. We modified our instruction methods to reduce the impact of spatial ability by describing the operation of caches through an algorithmic approach. We discuss the methodology and results of these investigations in this dissertation. We also discuss the implications of these findings and how they may be used to further improve instruction of caches.
Degree
thesis:*- Name thesis:degree_name
- Ph.D.
- Level thesis:degree_level
- Dissertation
- Discipline thesis:degree_discipline
- Computer Science
- Grantor
- University of Illinois at Urbana-Champaign
- Year dc:date
- 2023
Author and committee
dc:creator, dc:contributor.*- Author dc:creator
-
- Mahmood, Muhammad Suleman
- Contributors dc:contributor
-
- Herman, Geoffrey
- Zilles, Craig
- Patel, Sanjay
- Franklin, Diana
Subjects
dc:subject × 5Rights
dc:rights- Statement dc:rights
-
- Copyright 2023 Muhammad Mahmood
- Language dc:language
- en, eng
Identifiers
dc:identifier.*- Handle dc:identifier
- https://hdl.handle.net/2142/121310