Skip to main content
  1. System Level/

Hardware Summary

·3 mins
A massively summarized and greatly over simplified description of a computer’s hardware.

High Level #

The Central Processing Unit (CPU) #

Also known as the processor or microprocessor
See CPU Structure

Working memory #

Also known as Random Access Memory or RAM
See Working Memory (RAM)

Permanent storage #

A peripheral unit but an important one

Peripherals #

  • Graphics card (transmits data to the screen)
  • Network card (transmits data across the network)
  • Sound card (translates data into sound waves-> your speakers)
  • The keyboard
  • The mouse
  • and other Input and Output (I/O)

System Bus #

The CPU communicates to the peripherals and permanent storage via the system bus. Usually, there is a separate bus for main memory (aka the front-side bus) to make sure that communication with RAM is fast and unhindered.

Communications on the bus are by voltage or electrical signals. When peripherals communicate to the CPU via the bus it is usually through an “interrupt” mechanism (more on interrupts in a later post).

Motherboard #

Most of the above components are present on the computer’s motherboard. The motherboard usually has other functions such as controlling fans, interfacing with the power button, etc.

Working Memory (RAM) #

Think of working memory as an array of equal sized boxes, and each box has a numerical address in sequential order. For boxes that contain a value, that value will be expressed as a number.

CPU Structure #

The general conceptual structure of a CPU. The goal of the below architecture is to maximize utilization of the CPU

Registers #

Tiny blocks of memory inside the processor.
See Registers

Control Unit #

Coordinates the different parts of the chip

One can think of it as the traffic cop.

Manages the clock

  • Synchronization of cycles
  • The drum beat of the computer

Arithmetic and Logic Unit (ALU) #

Where all computation takes place

Combinatorial Boolean Algebra via electrical switches

Wired so that basic operations can be done with registers very quickly

Memory Management Unit #

Manages how the processor sees and understands memory addresses.

Caches #

A piece of memory that holds other memory values closer to the CPU

For example, the pre fetching of instructions from RAM, and loading the instructions into a cache. Then when the CPU asks for the next instruction, a trip on the bus to working memory is avoided.

Registers #

Tiny blocks of memory that the processor can access directly and quickly without going through a bus.

Registers are standardized. Available registers are defined by the CPU architecture. For example, the x86-64 instruction set architecture, ARM, etc.

Overview

  • Programs load data from memory into registers
  • The CPU processes the data in the registers using various instructions
  • Then the contents of the register are written back out to memory

Some registers have special purposes

  • Pointing to the next program execution to be executed
  • Holding some type of processor status
  • Dedicated to some specific processor function

Execution Speed Summary #

When thinking of how fast can the computer process instructions and data, in general access or travel time speed goes in the following fast to slow order

  • Registers
  • Caches
  • Working Memory
  • Peripherals