Most application programmers are familiar with APIs that schedule work to occur after a specified delay or at a specified time. But how many of them know what lies beneath these APIs? Although these APIs appear simple, they rely on several layers of software and hardware that work together. This is what we are going to explore.
System Programming Concepts
Tuesday, April 21, 2020
Tuesday, April 14, 2020
MMU and addressing
Memory management in modern CPUs relies on a hardware component, which is called Memory Management Unit or as it is known by its acronym - MMU. This component handles access to memory address ranges.
There are several implementations of MMU. We will try to deal with the general concept of the MMU, without referencing to any specific system architecture.
The provided exercises and examples are intended to help you getting thorough understanding of the subject by practicing.
There are several implementations of MMU. We will try to deal with the general concept of the MMU, without referencing to any specific system architecture.
The provided exercises and examples are intended to help you getting thorough understanding of the subject by practicing.
Sunday, June 5, 2016
Clocking-the computer system engine
In order to understand what clocking is and what role it plays in computing, we need to reveal the general building blocks of a computing system. This post provides a "programmer" high level view of systems and clocking. No terms regarding to electronics or electric circuits theory are used here. We focus on providing pure logic view of the system. To make it as short as possible, two crucial terms will be explained here: "System topology" and "Clock distribution".
Subscribe to:
Posts (Atom)