Computer memory and arithmetic: a look under the hood

Computers have a hierarchy of storage units. Memory management systems try to store information that you will soon need in a unit that gives fast access. This means that large vectors and arrays are broken up and moved piece by piece as needed. You can write a correct computer program without ever knowing about memory management, but attention to memory management allows you to consistently write programs that don't have excessive memory delays. In this paper, we consider a model of computer memory organization. We hide some detail but give enough information to let us make decisions about how to organize our computations for efficiency. We use mathematical modeling to estimate a typical computer's memory parameters, and then we see how important these parameters are relative to the speed of floating-point arithmetic