The CPU contains the basic instructions to operate the computer, but it cannot store entire programs or large sets of data permanently. It contains registers which are small areas that can hold only a few bytes at a time. In addition to registers, the CPU has millions of bytes of space where it can quickly read or write programs and data in use. This area is called memory. Physically, memory consists of chips either on the motherboard or on a small circuit board attached to the motherboard. This electronic memory allows the CPU to store and retrieve data quickly.
There are two types of memory: read-only memory, or ROM, and random access memory, or RAM.
Read-only memory (ROM) is nonvolatile (or permanent); it holds instructions that run the computer when the power is first turned on. ROM contains a set of start-up instructions, which ensures that the rest of memory is functioning properly, checks for hardware devices, and checks for an operating system on the computer’s
disk drives. The data in ROM cannot be changed.
Random-access memory (RAM) is volatile (read/write, or temporary); programs and data can be written to and erased from RAM as needed.
The purpose of RAM is to hold programs and data while they are in use. The more RAM a computer has, the more it can do and the faster it can perform certain tasks. The CPU accesses each location in memory by using a unique number called the memory address. A memory address is a number that indicates a location on the memory chips.
There are two types of RAM: dynamic and static. Dynamic RAM (DRAM) must be refreshed, or recharged with electricity frequently; otherwise, it will lose its contents. Static RAM is not refreshed often and can hold its contents longer than dynamic RAM. SRAM is also considerably faster than DRAM.
Moving data between RAM and the CPU’s registers is one of the most time-consuming operations a CPU must perform, simply because RAM is much slower than the CPU. A partial solution to this problem is to include a cache memory in the CPU. Cache memory is a type of high-speed memory that contains the most recent data and instructions loaded by the CPU. The amount of cache memory has a tremendous impact on the computer’s speed.