Integrated Circuit Design Flow
The process of integrated circuit design can be divided into stages: system design, logic design, circuit design, layout design, fabrication and testing. 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 ...
Real-Time CPU Scheduling
In a real-time systems, is one whose operation depends on timing. A task must be serviced within a specific time interval. The tasks and their execution times must all be known. More ...
CPU Process Scheduling
CPU scheduling is the basis of multiprogrammed operating systems. By switching the CPU among processes, the operating system can make the computer more productive. More ...
The Motherboard Chipset
Because the chipset dictates the bus speed, type and amount of memory, and the type and number of I/O ports, much of a computer's performance is determined by its chipset. More ...
Logical Versus Physical Memory Addresses
Computers use logical and physical addresses to access memory locatiuons. The CPU generates logical addresses. At run-time the Memory Management Unit (MMU) maps logical addresses to physical addresses. More ...
Virtual Memory and Memory Paging
In the early days of computers, memory chips were small capacity, scarce, and expensive. Because of this a memory management scheme called paging was invented. 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 ...
Multiuser Operating System Functions
Some operating system functions like resource allocation, accounting, protection and security exist not for helping the user, but rather for ensuring the efficient operation of the system itself. 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 ...
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 ...
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 ...