Memory is the workspace for the CPU. Random-access memory (RAM) is the main memory that the CPU uses to store or retrieve data, which can be done in any order, regardless of whatever the CPU last accessed. The beauty of RAM is that the CPU can access any piece of memory it needs
from anywhere in RAM and each access takes an equal amount of time.
You often hear people associate RAM with a person’s memory. But a person might take more time to recall certain memories in comparison to
other memories. Conversely, the CPU has equal access to all contents of RAM. It’s fast and efficient, but the drawback is that RAM is typically
cleared when the computer is shut off. To store data permanently, it would need to be written to a hard drive or other device, which is slower and less uniform in its storage and delivery of data. An example of this is when you work on a Word document; as you work, the contents of that file are stored in RAM, but when you save the file, the contents are then stored on a hard drive (or other media of your choice), which is done at a substantially slower rate.
The CPU, however, is sort of closed off from memory—and the rest of the computer, for that matter. It’s kind of like the wizard behind the curtain. But someone does indeed pay attention to it—and that “someone” is the memory controller chip. The memory controller is the go-between; basically, information is stored in and retrieved from RAM with the help of the memory controller. When the CPU wants to store or retrieve data to and from RAM, the memory controller is the chip responsible for getting the job done. It does this by moving the data along the address bus, which connects the memory controller to RAM