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 ...
Microcontrollers
A microcontroller is an IC that contains a microprocessor as well as RAM, ROM and general I/O ports. Engineers design microcontrollers into specific-purpose devices such as microwave ovens, cars, washing machines, refridgerators, and even space probes. 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 ...
Electronic Circuits Basics
This article's main target is to teach the electronics language to readers that are not familiar with electronics by using a group of rules and simple equations that describe the behavior of every electronic component and the relationship between the components in the circuit. More ...
Electronic Circuits
There are five types of circuits; open, short, series, parallel, and series-parallel. Using Ohm's law, along with the reciprocal formula to calculate the equivalent resistance of resistors in parallel, you can calculate the voltage or current in any part of a circuit. More ...
CPU Chip Packaging
Over the development time of the computer, several different designs of packaging for the CPU chip die have been used. Each type of packaging has its advantages and disadvantages. This article reviews some common packages that might still be in use. More ...
The Microcontroller Memory Map
a microcontroller is a set of resources. Each resource is identified by one or more addresses in an address space. The memory map is a graphic representation of how the resources are associated with addresses. More ...
Operating System Memory Page Sharing
In a paged environment sharing of memory among processes provides numerous benefits including sharing non-self-modifying reentrant code and interprocess communication. More ...
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 ...
Monolithic Kernel vs Microkernel vs Hybrid Kernel
An operating system consists of two parts, the kernel space which operates in privileged mode, and the user space which operates in unprivileged mode. More ...
Windows Operating System Services, Functions, Routines, Processes, Threads, and Jobs
The Windows operating system uses many confusing terms. This article explains the meaning of the terms: Services, Functions, Routines, Processes, Threads, and Jobs. 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 ...