Your computer requires different types of data storage to run your programs. The first type, called Main Memory is used for the running of your computer system; the second, called secondary storage is used to save your files, programs, and data on the computer. You can read more about secondary storage here.
Throughout your course, you will see these types of data storage referred to as ‘Storage’ and ‘Memory’ – a good trick to remember these is that your memory is inside your head, and you store your things outside of your head. In the same way, memory is always internal to the computer, whereas storage can be internal or external.
So what do we actually use main memory for?
Main Memory can be divided into three main areas that each have a specific function. In the exam you may be asked to describe them, so it’s a good idea to have a flash card or similar written to help you.
RAM stands for Random Access Memory and is a chip inside your computer (usually a set of two identical chips) that hold data and programs that are currently in use. If your data and programs remained on your hard drive, it would be significantly slower than it is now.
Even the operating system must be loaded into RAM when the computer is started (booted) and then stored back on the hard drive when the computer shuts down – ever wondered why your teacher looks horrified if you try to shut down your machine by holding down the power button? When you push the power button, you send the CPU into a state of panic and it’s main task will be to save the operating system by saving it into the nearest place on the hard drive. This might not be the best place, and it may not always complete the task perfectly.
So why not just keep the operating system on the RAM if it is used all the time? Well, RAM is volatile. This means that when you switch the power off, all of the memory is lost. Imagine that every time you went to sleep everything you had been thinking about that day was forgotten – in order to remember it, you need to keep it somewhere a bit more long term. The secondary storage is the computer’s equivalent of your long term memory allowing it to remember data when you switch the power back on.
RAM is much faster than the hard drive because it is closer to the CPU
RAM is volatile, meaning it loses its data when the power is switched off
RAM is always internal to the computer
ROM stands for Read Only Memory. This isn’t a strictly accurate description as you can technically adjust the ROM, although it isn’t advised unless you are completely sure of what you are doing.
Like the RAM, the ROM is a computer chip that is attached to the motherboard inside the computer, but the ROM is much smaller than the RAM, but equally as fast. It can be much smaller as it only needs to store a couple of important programs – because these programs don’t have a graphical interface, they can be written to be very small. ROM is also non-volatile, which means that it holds onto it’s data even after the power is switched off.
The ROM is responsible for booting up (starting) the computer, and holds the BIOS (basic Input Output System).
The term ‘Boot up’ comes from a military phrase ‘to pull someone up by their bootstraps’. In fact, it used to be called the bootstrap program.
To see why, try pulling your own shoelaces to lift up your feet – it’s almost impossible! Now get someone else to try – much easier! The bootstrap program is responsible for pulling the operating system from the hard drive into the RAM, something that it couldn’t do for itself as it wouldn’t be running.
The CACHE is super fast memory that is either next to or built into the CPU. Being physically closer and much smaller in capacity than RAM makes it faster which allows the CPU to access the data much quicker.
CACHE is used as part of the Fetch Decode Execute Cycle to hold data and instructions that the CPU needs to process and acts like very short term immediately accessible memory, hence the term for the CACHE being included in the Immediate Access Store.
Like the RAM, CACHE is volatile as there is no need for instructions to be stored once the computer is switched off.