CPU Process Memory Address Binding
For a program to run on a CPU it must be brought from files in long-term, non-volatile storage to main memory. Addresses in the source program must be mapped to addresses in main memory. More ...
Binary Number Representation and Binary Math
Computers perform all of their amazing work with only two voltage levels, one representing binary 0, the other representing binary 1. This article describes how to perform binary addition and subtraction. More ...
Digital Logic Transfer Characteristics
In the real world, gates don't transfer logic levels instantaneously. The time it takes for electrons and holes to move through the semiconductor material (called propagation delay) in CMOS are less than 100 ps (pico seconds), but there are other delays caused by resistance, capacitance, and inductance. More ...
Program Flow Charting
Depending upon the language used, program code my be difficult for humans to read and understand. However, one type of programming that is very easy to understand is flow charting. More ...
Load Balancing Multiple CPUs in Symmetric Multiprocessing
On Symmetric Multiprocessing (SMP) systems it is important to keep the workload balanced among all processors. There are two approaches to accomplish this, push migration and pull migration. More ...
Priority CPU Scheduling Algorithm
CPU Scheduling deals with the problem of deciding which of the processes in the ready queue is to be alocated the CPU. There are many different CPU scheduling algorithms. In this article we describe priority CPU scheduling. More ...
Basic Computer Architecture
Computers today, even that PC on your desk are unbelievably complex. You can't understand computers without an understanding of the basics. In this article I explain basic computer architecture in simple, basic terms. More ...
The AMD Athlon 64 Processor
AMD's Athlon 64 processor, released in September 2003, was their first 64-bit processor targeted for the workstation market to compete with Intel's Pentium 4. AMD's first 64-bit processor was the Opteron, released earlier in April that same year, targeted for the server market to compete with Intel's Xeon processor. More ...
Challenges of Programming Multicore Systems
Operating system designers must write scheduling algorithms that use multiple processing cores and application programmers, mustmodify existing programs and design new programs that are multithreaded. More ...
Using the Microcontroller Timers
Timing is an essential function for generating signals with precisely determined duration, or for counting external events. For this reason, a timer subsystem is present in all microcontroller implementations. More ...
Operating System Memory Paging - Page Table Structure
One method of memory management is to break physical memory into fixed size blocks and break logical memory into same sized blocks called pages. The physical location of pages is tracked by a page table. More ...
Data Structures - Linked List, Stack, Queue, and Tree
An array is a simple data structure in which each element can be accessed directly. But what about storing an item whose size may vary? And what about removing an item if the relative positions of the remaining items must be preserved? In such situations other data structures may be needed. More ...