Using The I2C Bus
The I2C bus is used for communications between individual integrated circuits located on the same PCB. The I2C protocol supports multi-master, multi-slave communication, which means you can add a lot of functionality to your design. More ...
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 ...
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 ...
Introduction to the Raspberry Pi
The Raspberry Pi is a tiny bare-bones computer motherboard. You can easily make it into a Linux PC by connecting your own keyboard, mouse, and display. 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 ...
Shortest-Job-First 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 shortest-job-first scheduling. 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 ...
AMD's Phenom Processor
AMD released the first Phenom processor in 2007. Unlike Intel's Core 2 Quad processors, which are a multi-chip module (MCM) design, AMD's Phenom processors had all cores on the same silicon die. 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 ...
CPU Cache Basics
After the processor accesses a location in memory, there's a high probability that the next location in memory that it will access is in the same area of memory. So to make the computer run faster, a a smaller, faster memory called a cache is placed between main memory and the processor. More ...
Microprocessor Counter, Clock, Timer Circuits
All the circuitry in the microprocessor, in fact all the circuitry on the motherboard require a clock signal for operation. The clock signal is the heartbeat of the system. Without a clock signal, the microprocessor and the computer are dead. More ...
The Microcontroller Interrupt System
Events related to peripheral interfaces are asynchronous to the program running on the CPU. The interrupt mechanism allows an external event to temporarily put the normal execution of the microcontroller on hold and force the execution of a specific subroutine. More ...