Chapter 4.
Physical and Virtual Memory
All present day, general purpose computers are of the type known as stored program computers. As
the name implies, stored program computers can load instructions (the building blocks of programs)
into some type of internal storage and can subsequently execute those instructions.
Stored program computers also use the same storage for data. This is in contrast to computers that use
their hardware configuration to control their operation (such as older plugboard based computers).
The place where programs were stored on the first stored program computers went by a variety of
names and used a variety of different technologies, from spots on a cathode ray tube, to pressure
pulses in columns of mercury. Fortunately, present day computers use technologies with greater stor
age capacity and much smaller size than ever before.
4.1. Storage Access Patterns
One thing to keep in mind throughout this chapter is that computers tend to access storage in certain
ways. In fact, most storage access tends to exhibit one (or both) of the following attributes:
Access tends to be sequential
Access tends to be localized
Let us look at these points in a bit more detail.
Sequential access means that, if address N is accessed by the CPU, it is highly likely that address N +1
will be accessed next. This makes sense, as most programs consist of large sections of instructions
that execute one after the other.
Localized access means that, if address X is accessed, it is likely that other addresses surrounding X
will also be accessed in the future.
These attributes are crucial, because it allows smaller, faster storage to effectively buffer larger, slower
storage. This is the basis for implementing virtual memory. But before we can discuss virtual memory,
we must look at the various storage technologies currently in use.
4.2. The Storage Spectrum
Present day computers actually use a variety of storage technologies. Each technology is geared to
ward a specific function, with speeds and capacities to match. These technologies are:
CPU registers
Cache memory
RAM
Hard drives
Off line backup storage (tape, optical disk, etc.)
In terms of capabilities and cost, these technologies form a spectrum. For example, CPU registers are:
Very fast (access times of a few nanoseconds)
Low capacity (usually less than 200 bytes)
footer
Our partners:
PHP: Hypertext Preprocessor Best Web Hosting
Java Web Hosting
Inexpensive Web Hosting
Jsp Web Hosting
Cheapest Web Hosting
Jsp Hosting
Cheap Hosting
Visionwebhosting.net Business web hosting division of Web
Design Plus. All rights reserved