Memory is central to everything that happens in a computer. Programs must reside in memory before they can run. The size of key components of memory is one of the most important measures of how powerful a computer is. This size has continued to expand logically while shrinking physically.
RAM and ROM
The two main kinds of memory are random-access memory (RAM) and read-only memory (ROM). ROM is memory that is rarely changed. It contains the programs that are used to start up the computer and bring the operating system into main memory. This memory is set at the factory and usually never changed. RAM is very active memory. It is faster and more expensive than ROM and is used to hold a program while it is running. The Central Processing Unit (CPU) is constantly looking in RAM to find the next instruction to execute. When you switch from Word to email or an Internet search engine, the programs that handle the different tasks are brought into RAM as needed.
MAR and MDR
Registers are small pieces of memory that are just big enough to contain one number or a few letters or one computer instruction. The memory address register (MAR) and memory data register (MDR) control access to main memory. Data going into main memory is placed in the MDR, and the address it is going into is placed in the MAR. The "store" instruction is executed, and a couple of hundred nanoseconds later, the data is written into that address. To read information from main memory, the address you want to read from is put in the MAR, and the "load" instruction is executed. A few hundred nanoseconds later, the data from that address appears in the MDR.
Cache works just like main memory -- it is RAM -- but it is smaller, faster and more expensive. It is mainly designed so a small amount of very fast memory can be placed on the CPU chip. The program resides off chip in main memory -- in another chip or chips -- and the small part of the program you are currently working on can reside in cache -- on the CPU chip. This means that, much of the time, the CPU fetches the next instruction to work on quickly, without going off chip. When this no longer works, a new section of the program can be loaded into cache.
The memory management program (MMP) works with the OS to manage things such as moving sections of the program into cache as needed, as well as keeping track of the address of the next instruction to be fetched. The MMP also is involved in switching between programs at the user's whim and keeping track of what a program is doing when it is switched back into memory after being inactive.
- Photo Credit Thinkstock Images/Comstock/Getty Images
Internal Parts of a Computer
Modern PCs are made of a series of interconnected devices and sub-systems. Understanding these systems will help to troubleshoot computer failures or...
What Is Memory Address Register MAR?
Registers are part of the central processing unit (CPU) of a computer. Registers are memory locations that can be accessed quickly for...