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 ...
Multithreaded Programming Process' and Threads
A process generally has a complete, set of private resources, each process has its own memory space. Threads exist within a process, every process has at least one. Threads share the process's resources, including memory and open files. More ...
Operating System Process Control Block
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. Although two processes may be associated with the same program, they are considered two separate execution sequences. More ...
Basic Computer Architecture
Computers today, even that PC on your desk are unbelievably complex. You can't understand computers without an understanding of the basics. In this article I explain basic computer architecture in simple, basic terms. 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 ...
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 ...
Network on a Chip (NoC)
NoC (Network on a Chip) is a method of placing a much larger number of processors on a multi-core chip. Much like a regular network, NoC has multiple point-to-point data links that are interconnected by routing switches. More ...
Data Structures - Linked List, Stack, Queue, and Tree
An array is a simple data structure in which each element can be accessed directly. But what about storing an item whose size may vary? And what about removing an item if the relative positions of the remaining items must be preserved? In such situations other data structures may be needed. More ...
Pi-Top kit - Build Your Own Laptop
Computer hobbyists has been building their own desktop computers since the mid 1980's, but I know of no laptop kits, until now. The Pi-Top is a kit that lets you build your own laptop. 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 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 ...
Operating System Memory Paging Hardware Support
Paging is a memory management scheme that involves breaking physical memory into fixed-sized blocks and breaking logical memory into blocks of the same size called pages. When a process is to be executed, its pages are loaded into any available memory blocks. More ...