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 ...
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 ...
Microprocessor Registers
To a large extent the operation of a microprocessor involves loading, transferring, and manipulating the contents of registers. In this article you learn about the functions, and purposes of the register set of the Intel 8086 microprocessor. More ...
Multicore Programming
A recent trend in system design is to place multiple computing cores on a single chip. Each core appears as a separate processor to the operating system. We call these multicore or multiprocessor systems. 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 ...
Intel's Sandy Bridge Micro-Architecture
"Sandy Bridge" is Intel's code name for a new cpu core microarchitecture. It introduces a few new or improved features. The memory controller, the PCI Express controller, and video circuitry are all located within the processor die and the new ring architecture uses a Last Level Cache between the CPU and graphics cores. More ...
Basic Computer Architecture
Basic computer architecture refers to the structure of a computer system and comprises its hardware, firmware, and software. Hardware consists of the physical components in computer architecture. The main hardware components of the computer architecture include the CPU, memory, and bus. 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 ...
Expanding the Resources of Microcontrollers
In some cases it is possible that the internal resources of a microcontroller are insufficient. The solution to these situations is to add external components by creating an expanded microcontroller structure. More ...
Analog to Digital Convertion with a Microcontroller
Analog-to-digital conversion (or A/D conversion), is an electronic process that converts a continuously variable signal into a digital signal (expressed as a string of 1s and 0s). More ...
Interrupt Request Lines (IRQs)
What happens when the CPU (Central Processor Unit) is busy doing something, like defragmenting the hard disk, and you press a key on the keyboard? An interrupt (IRQ) is a connection between a hardware device and the CPU. A hardware device uses it's assigned IRQ line to signal or interrupt the CPU when it needs attention. More ...
Operating System Processes
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. More ...