Posts

Deep Dive into CPU Cache Memory: Solving the Memory Wall

Image
 In this blog post, you will delve into the concepts of CPU caching and its various aspects. You will learn how this technology solves the "memory wall" problems for performance-critical applications. Keywords: cache memory, memory hierarchy, L1 cache, write-back policy, write-through policy, write-allocate, non-blocking cache, blocking cache Introduction: The Memory Wall Problem Consider if a Formula 1 car is forced to refuel through a drinking straw. This reflects the challenge the CPU faces. As a processor executes instructions in nanoseconds, accessing the main memory, which is DRAM, takes hundreds of cycles. This performance gap is called the "memory wall," and it threatens to stall computational progress. Its solution is a sophisticated memory hierarchy using caching. These layers work in concert to deliver more than 95% of requested data within 1-2 cycles, masking memory latency and enabling modern computing. In this guide, we will optimize systems with cache...

Von Neumann vs Harvard Architecture | Fundamentals of Embedded Computing

Image
In this blog, you will learn about the main distinction between Von Neumann and Harvard architectures, as well as their benefits and drawbacks and practical applications in contemporary embedded systems. Von Neumann vs Harvard Architecture Introduction Two fundamental processor architectures—the Von Neumann and Harvard architectures—dominate the fields of embedded and general-purpose computing. During designing anything, either from high-performance CPUs or any microcontroller, it is essential to understand their differences. This post will teach you: The essential features of these two architecture. How they manage data paths and memory. Real-world benefits, drawbacks, and common applications. 1. What is the Von Neumann Architecture? Single Memory Space: In this architecture, both Data and Code (instructions) share the same memory. Unified Bus: A single bus that consists of address, data, and control lines handles both instruction fetches and data reading and writing. Fetch-Execute Cy...