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 ...
Factors in Choosing an Oscilloscope
An oscilloscope is an instrument used to display the waveform of electronic signals. It draws a graph of the voltage as a function of time. A digital oscilloscope can also store waveforms and perform mathematical analysis of the waveform. 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 ...
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 ...
Digital to Analog Convertion with a Microcontroller
Digital to analog conversion (DAC) is the process by which a digital signal (expressed as a string of 1s and 0s) are converted to an analog signal (a continuously varying voltage). 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 ...
Operating System Services
An operating system provides an environment for the execution of programs. It provides certain services to programs and to the users of those programs. These operating system services are provided for the convenience of the programmer, to make the programming task easier. 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 ...
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 ...
Monolithic Kernel vs Microkernel vs Hybrid Kernel
An operating system consists of two parts, the kernel space which operates in privileged mode, and the user space which operates in unprivileged mode. More ...
Multilevel Queue CPU Scheduling Algorithm
With many CPU scheduling algorithms, all processes are placed in a single queue, and the scheduler selects the process to run. In practice, it is often easier to have separate queues for each priority, and the scheduler simply selects the process in the highest-priority queue. More ...
Introduction to Microprocessor Programming
Assembly language involves using instructions that are mnemonics called opcodes, along with values and/or addresses in hexadecimal notation. To make learning as easy as possible, we'll first learn how to program a simple microprocessor, the 6502. More ...