Elements of Computing Systems // 3: memory

Another key quality of processing chips is their ability to store values over time. To achieve this, a family of "memory chips" can be combined with chips from prior chapters.

  • Combination chips - time-independent. E.g. And, Or
  • Sequential chips - temporal chips that change according to a clock
  • Registers - maintain state over time
  • Cycle - time between a Tick and a Tock
  • RAM - comprised of multiple registers, with O(1) access
  • Counter - chip that increments over time
  • Data flip flop - acts as a delay of it’s input; on each clock cycle, output is previous input

Continuous time isn’t represented in chips. Instead, we use small cycles, and just count them

  • Cycles remove ambiguity
  • AND enables syncing of effects between chips
  • By design, they’re longer than chips take to compute
  • Cycles on modern computers are a billionth of a second!!!

DFF gates often built from nand gates, yet design is complex