Menu
Computer Architecture

Stored Program Architecture
Almost every computer system ever made is based on the stored program architecture designed in 1945 design by the mathematician John Von Neumann. He described a system where data and instructions would be stored in 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 ...

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 ...

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 ...

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 ...

Processor Affinity in Symmetric Multiprocessing
Processor Affinity refers to a process's tendency to continue running on the processor on which it is currently running. When a process executes on a CPU, that process's cache is populated with its most recently accessed data, if a process is moved to a different CPU, that second processor's cache must be populated with that data. 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 ...

The Evolution of Hard Disk Bit Recording
Hard drive technology has continuously improved over the decades, that includes higher storage capacity performance. Part of this improvement has been higher access speeds, but most of the higher storage capacity has been the result of changes in the bit recording methods. 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 ...

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 ...

Simplified Windows Architecture Overview
A simplified overview of the Windows operating system architecture divides it into user-mode and kernel-mode components. More ...

Difference between Stack, Heap, and Queue
Stack, heap, and queue are ways that elements are stored in memory. Stack elements are added to the top of the stack, and removed from the top of the stack. The mnemonic LIFO is used to describe a stack (Last-In-First-Out). With a queue, the first one in is the first one out. The mnemonic FIFO is used to describe a queue. A heap is an area of memory where elements can be stored and removed in any order. More ...


Learn more at amazon.com

Custom Search