Memory

In a nutshell: Having built the computer's ALU, this module we turn to building the computer's main memory unit, also known as Random Access Memory, or RAM. This will be done gradually, going bottom-up from elementary flip-flop gates to one-bit registers to n-bit registers to a family of RAM chips. Unlike the computer's processing chips, which are based on combinational logic, the computer's memory logic requires a clock-based sequential logic. We will start with an overview of this theoretical background, and then move on to build our memory chipset.

Key concepts: combinational vs sequential logic, clocks and cycles, flip-flops, registers, RAM units, counters.

Sequential Logic

  • Why do we use discrete time steps instead of continuous time?

    • To ensure the system state is stabilized.

Flip Flops

  • Implementation of the D Flip Flop

    • in this course: it is a primitive

    • in physical implementations, it may be built from actual Nand gates

  • What are the differences between the DFF chip and the Bit chip?

    • DFF always stores the “in” bit, while Bit only stores it if “load” is set to 1.

    • DFF can store information for one time unit only, while Bit can store it for many cycles.

Memory Units

Current value of a register is always being outputted.

  • What is the difference between a register’s width and a register’s address?

    • Width is the amount of data a single register holds, address is the location of the register within a larger chip.

Counters

Project 3 Overview

Last updated