Skip to main content

Unit 2.3.1 A simple model of memory and registers

For computation to happen, input data must be brought from memory into registers and, sooner or later, output data must be written back to memory.

For now let us make the following assumptions:

  • Our processor has only one core.

  • That core only has two levels of memory: registers and main memory, as illustrated in Figure 2.3.1.

    Figure 2.3.1. A simple model of the memory hierarchy: slow memory and fast registers.

  • Moving data between main memory and registers takes time \(\beta_{R \leftrightarrow M} \) per double. The \(R \leftrightarrow M \) is meant to capture movement between registers (R) and memory (M).

  • The registers can hold 64 doubles.

  • Performing a flop with data in registers takes time \(\gamma_R \text{.}\)

  • Data movement and computation cannot overlap.

Later, we will refine some of these assumptions.