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 ...
Fundamental Digital Logic Gates
All the advanced features of the most powerful computers, such as mulicore and parallel processing are done with digital logic. In this article I explain the fundamental concept of digital logic in simple and clear language so that anyone can understand it. More ...
Introduction to Microprocessor Programming
Assembly language involves using instructions that are mnemonics called opcodes, along with values and/or addresses in hexadecimal notation. To make learning as easy as possible, we'll first learn how to program a simple microprocessor, the 6502. 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 ...
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 ...
Operating System Process Control Block
An Operating System Process is a program in execution. It includes the value in the program counter and in the processors registers. A process also includes a stack, data section, and a heap. Although two processes may be associated with the same program, they are considered two separate execution sequences. More ...
The Microcontroller's Asynchronous Serial Interface
An Asynchronous Serial Interface sends data one bit at a time, as apposed to a parallel interface which send one byte or one word at a time, and asynchronous means it sends them when its ready, without reference to a clock signal. More ...
Change Raspberry Pi Default Configuration
If you are a US user of the Raspberry Pi, you will discover that when you type, the characters displayed do not match our keyboard. When you type [shift][#] instead you get the British pound symbol. This is because Raspbian (and NOOBS) defaults to UK keyboard settings. More ...
Real-Time CPU Scheduling
In a real-time systems, is one whose operation depends on timing. A task must be serviced within a specific time interval. The tasks and their execution times must all be known. More ...
ARM Cortex-A72 Registers
16 registers r0 - r15 are accessable in the ARM Cortex-A72 user mode. In addition part of the CPSR (Current Program Status Register) is accessable. That part is the APSR (Application Program Status Register) which contains conditional status bits. 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 ...
Inductors in DC Circuits
An inductor is constructed with a coil of wire. When connected to a voltage source, an inductor resists a change in current flow as it stores energy in its magnetic field, and it can return that energy to the circuit if desired. More ...