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 ...
Direct Memory Access (DMA)
In early computers, all data transfers required the processor to read and write single words from memory until the entire transfer is complete. With DMA, the DMA controller takes control of the system buses to move data between the device and main memory. 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 ...
The Fetch, Decode, Execute Cycle
The Fetch, Decode, Execute cycle is paramount to the functioning of a microprocessor. In this article I'll describe the Fetch, Decode, Execute cycle simplified to its bare-bones in a highly simplified fictitious microprocessor. 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 ...
Digital Logic Transfer Characteristics
In the real world, gates don't transfer logic levels instantaneously. The time it takes for electrons and holes to move through the semiconductor material (called propagation delay) in CMOS are less than 100 ps (pico seconds), but there are other delays caused by resistance, capacitance, and inductance. More ...
Digital Logic Semiconductor Families
logic family refers to the way the semiconductors are designed to create gates. The first highly popular logic family, available in 1964, was TTL (Transistor-Transistor Logic). More ...
Microcontroller Registers
Registers are special small memory locations where the microcontroller can write data to or read data from. Special function registers help point to main memory locations, indicate the result of a mathematical operation, hold parts of an instruction or indicate the status of some operation or hardware feature. Some registers are general purpose and may be used by the programmer at their own discretion. More ...
Intoduction to Digital Electronics
The entire field of computer technology relies on transistors. This article describes how transistors are constructed and how modern MOSFETs are combined to make digital logic circuits. More ...
Operating System Process Management
A program is not a process. A program is a file containing a list of instructions stored on disk. A process is an active entity with a program counter specifying the next instruction to execute and a set of resources. A program becomes a process when an executable file is loaded into memory. 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 ...
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 ...