A First-Principles Approach to Computer Architecture

omnivore hardware computer-architecture good-read!

Read on Omnivore | Read Original

Highlights

A real-world processor consists of multiple different kinds of computational circuits for operations such as addition, subtraction, multiplication, division, and also logical operations (AND, OR, NOT). These circuits are combined in the form of an arithmetic logical unit (ALU) and the various computational circuits within it are called functional units. ⤴️

Dynamic RAM (DRAM): The most common type of main memory. Each cell is composed of a capacitor and a transistor. The capacitor holds a charge to represent a 1 or 0, but the charge leaks over time, so the cells must be periodically refreshed. This makes DRAM relatively slower compared to registers. ⤴️

Static RAM (SRAM): Used primarily for CPU caches. Each cell is made from flip-flops instead of capacitors, making it faster and more reliable but also more expensive and power-hungry. ⤴️

multiple buses between the processor and the memory. These are

  • Control Bus: Specifies whether the operation is read or write.
  • Address Bus: Carries the memory address specifying where to read from or write to.
  • Data Bus: Transfers the actual data between the processor and the memory. ⤴️