What Is Computer Memory?

10 min readProgramming

Memory is one of the most important ideas in programming, but it can feel difficult to picture at first.

You may hear words such as CPU, RAM, storage, program, and variable without knowing how they fit together.

A simple way to understand them is to imagine a classroom.

  • The programmer is the teacher preparing the instructions.

  • The program is the lesson plan.

  • The CPU is the student following the lesson.

  • Memory, or RAM, is the student's desk.

  • The SSD or hard drive is the school library.

  • The operating system is the classroom coordinator.

  • A variable is a labelled notebook placed on the desk.

This comparison is not a perfect description of a real computer, but it gives us a useful starting point.


A Program Is a Set of Instructions

A teacher prepares a lesson by deciding what students should do and in which order.

A programmer does something similar. They write instructions that tell a computer what task to perform.

A simple program might ask the computer to:

  1. Remember a person's age.

  2. Store the value 25.

  3. Retrieve that value later.

  4. Display it on the screen.

The programmer prepares the instructions, but they do not carry them out directly.

That is the CPU's job.


The CPU Follows the Instructions

CPU stands for Central Processing Unit.

The CPU is the part of the computer that follows program instructions.

It performs tasks such as:

  • Reading instructions

  • Performing calculations

  • Comparing values

  • Moving information

  • Making decisions

  • Sending results to other parts of the computer

In the classroom comparison, the CPU is the student following the lesson plan.

The CPU works very quickly, but it still needs somewhere to keep the information it is currently using.

Imagine asking a student to remember:

  • Every instruction in the lesson

  • Several numbers

  • A list of names

  • A few calculation results

  • The final answer

The student would probably need to write some of that information down.

That is why the student needs a desk.

The CPU also needs a working area.

That working area is memory.


Memory Is the Working Desk

Memory gives the CPU a place to temporarily keep information while a program is running.

Suppose a program needs to remember someone's age.

We can represent that idea with a small piece of code:

int age = 25;

You do not need to understand the C syntax yet.

For now, only focus on the idea:

  • age is the name used to identify the information.

  • 25 is the value being stored.

  • The value must remain somewhere while the program is using it.

You can imagine memory creating a labelled notebook:

+-------------------+
| Label: age        |
| Value: 25         |
+-------------------+

Later, when the CPU needs the value of age, it looks in memory and finds 25.

The name lets the programmer refer to the information without needing to know exactly where it is stored inside the computer.

This is one of the main purposes of memory:

Memory keeps the information a program needs close to the CPU while the program is running.


Memory Is Temporary

A student's desk is useful during a lesson, but it is not meant to store every book and assignment forever.

When the lesson ends, the desk can be cleared and reused.

RAM works in a similar way.

It holds information while the computer is running, but its contents are normally lost when the computer is turned off.

Imagine writing a document without saving it.

While the document is open, its contents may be held in memory. If the computer suddenly loses power, that unsaved work may disappear.

Important information must therefore be saved somewhere more permanent.

That is the role of storage.


Memory and Storage Are Different

Memory and storage both hold information, but they serve different purposes.

Memory: the student's desk

  • Used for current work

  • Fast to access

  • Temporary

  • Limited in size

  • Keeps information close to the CPU

Storage: the school library

  • Used for long-term storage

  • Larger than memory

  • Slower to access

  • Keeps information after shutdown

  • Stores programs and files

An SSD or hard drive can store:

  • Applications

  • Documents

  • Pictures

  • Videos

  • Databases

  • Operating-system files

A school library can hold far more books than one student's desk.

However, walking to the library, finding a book, and bringing it back takes longer than opening a notebook already sitting on the desk.

The same general idea applies to computers.

Memory is smaller and temporary, but it is much more convenient for the CPU's immediate work.

Storage is larger and permanent, but slower to access.


What Happens When a Program Starts?

A program is normally stored on an SSD or hard drive.

Imagine that a calculator program is sitting in the school library.

Before the student can use it, the required lesson materials must be brought from the library and placed on the desk.

A similar process happens when a computer opens a program:

  1. The operating system finds the program in storage.

  2. It loads the required instructions into memory.

  3. The CPU reads those instructions from memory.

  4. The CPU begins executing them.

  5. The program stores temporary information in memory while it runs.

The process can be pictured like this:

Storage                    Memory                    CPU
School library             Student's desk           Student

Program file  ---------->  Instructions  -------->  Reads instructions
                           Temporary data -------->  Uses information

When the program closes, much of the memory it used becomes available for other programs.

It is similar to clearing the desk before another lesson begins.


Several Programs Can Use Memory at Once

A computer normally runs more than one program.

For example:

  • A web browser

  • A music player

  • A code editor

  • A messaging application

  • Operating-system services

Each program needs working space.

A browser may need memory for:

  • Open tabs

  • Images

  • Website content

  • JavaScript

  • Downloaded information

A code editor may need memory for:

  • Open files

  • Project information

  • Search results

  • Code analysis

A music player may need memory for the audio currently being played.

A simplified view of memory might look like this:

Memory

+--------------------------------+
| Operating-system information   |
+--------------------------------+
| Web browser                     |
+--------------------------------+
| Code editor                     |
+--------------------------------+
| Music player                    |
+--------------------------------+
| Available memory                |
+--------------------------------+

The operating system acts like the classroom coordinator.

It keeps track of:

  • Which program is using which memory

  • How much memory each program is using

  • Which memory is available

  • Which memory can be reused

  • What should happen when memory becomes limited


What Happens When Memory Becomes Full?

Imagine a student's desk covered with books, notebooks, papers, and calculators.

The student receives another task, but there is nowhere to place the new material.

Something must be removed, moved, or put away.

A computer faces a similar problem when available memory becomes low.

The operating system may:

  • Reclaim memory that is no longer needed

  • Ask programs to release resources

  • Move less frequently used information elsewhere

  • Refuse a request for more memory

  • Stop a program that cannot continue safely

A computer may also become slow when memory is nearly full.

The CPU itself may still be fast, but the system spends more time moving information around instead of doing useful work.

It is like a student repeatedly walking between the desk and the library because the desk is too small.


Variables Give Names to Information

Programs constantly work with information.

That information may include:

  • A person's age

  • A player's score

  • The price of a product

  • The number of open messages

  • The result of a calculation

A variable gives a name to a piece of information.

For example:

int score = 100;

Again, the exact C syntax is not important yet.

Focus on the meaning:

  • score is the name.

  • 100 is the value.

  • The value is kept somewhere while the program needs it.

You can imagine it as:

+-------------------+
| Label: score      |
| Value: 100        |
+-------------------+

The name score helps the programmer refer to the value without knowing its exact location in memory.


A Variable's Value Can Change

A variable is called a variable because its value can vary.

Suppose a player's score starts at 100 and later becomes 150.

We can represent that idea like this:

Before:

+-------------------+
| Label: score      |
| Value: 100        |
+-------------------+

After:

+-------------------+
| Label: score      |
| Value: 150        |
+-------------------+

The name remains score, but the stored value changes.

This is useful because programs often need to track information that changes over time.

Examples include:

  • A game score increasing

  • A bank balance decreasing

  • A timer counting down

  • The number of unread messages changing

  • A person's current location being updated


Different Information Needs Different Representations

Not all information is the same.

A letter is different from a whole number.

A whole number is different from a decimal value.

A sentence is different from a single character.

The computer must know how a piece of information should be interpreted.

For example, a program may need to store:

Grade:       A
Age:         25
Temperature: 24.5
Balance:     10500.75

Even though all of this eventually becomes patterns of bits, the program treats each value differently.

The type of information helps determine:

  • How much memory may be required

  • How the stored bits should be interpreted

  • Which operations make sense

  • How the value should be displayed

The exact C data types will be introduced later.

At this point, the important idea is simply:

A computer needs to know both the stored value and what kind of value it represents.


What Is Really Stored in Memory?

The labelled notebook is only a mental model.

Real computer memory does not contain handwritten labels such as age or score.

It stores electrical states represented using binary digits:

0 and 1

For example, the number 5 can be represented in binary as:

00000101

The names used by programmers make programs easier for humans to read.

The computer itself eventually works with:

  • Binary values

  • Memory locations

  • Machine instructions

  • Electrical signals

For now, it is enough to imagine variables as labelled notebooks.

Later in the series, this simple picture can be replaced with a more detailed understanding of:

  • Bits

  • Bytes

  • Binary numbers

  • Data types

  • Memory addresses


How Values Move Through a Program

Suppose a program needs to add two numbers:

First number:  10
Second number: 20

Memory may hold them like this:

+-----------------------+
| first_number          |
| 10                    |
+-----------------------+

+-----------------------+
| second_number         |
| 20                    |
+-----------------------+

The CPU then:

  1. Retrieves 10.

  2. Retrieves 20.

  3. Adds them.

  4. Stores the result.

10 + 20 = 30

Memory now also holds:

+-----------------------+
| total                 |
| 30                    |
+-----------------------+

This simplified example shows the basic flow of many programs:

  • Store information

  • Retrieve information

  • Process it

  • Store the result

  • Use or display the result

The details may become more complicated, but the basic pattern appears everywhere in programming.


How the Main Parts Work Together

Each part of the computer has a different responsibility:

  • The programmer creates the instructions.

  • The program contains the instructions.

  • The CPU executes the instructions.

  • Memory holds temporary information during execution.

  • Storage keeps programs and files for later.

  • The operating system manages the computer's resources.

None of these parts works alone.

A CPU without a program has no instructions to follow.

A program without memory has nowhere to keep temporary values.

Memory without a CPU can hold information, but there is no processor to use it.

Storage keeps programs available, but they must usually be loaded into memory before the CPU can work with them efficiently.


Is Memory the Same as RAM?

In everyday programming discussions, the word memory usually refers to RAM.

However, computers also contain other forms of memory, including:

  • CPU registers

  • CPU cache

  • Virtual memory

These will be introduced later.

For now, it is fine to think of memory as the computer's temporary working space.


Is Memory the Same as Storage?

No.

Memory and storage both hold information, but they are used differently.

  • Memory is temporary working space.

  • Storage keeps programs and files for long-term use.

Using the classroom comparison:

  • Memory is the student's desk.

  • Storage is the school library.


Why Does a Computer Need More RAM?

More RAM gives the computer more working space.

It allows more programs and more information to remain available at the same time.

Using the classroom comparison, it is like giving students larger desks.

A larger desk can hold more notebooks, calculations, and lesson materials without requiring constant trips to the library.

More RAM does not automatically make every calculation faster.

However, having too little RAM can make a computer feel slow because the system must spend more time moving information around.


Summary

A computer can be loosely compared to a classroom:

  • The programmer prepares the instructions.

  • The program contains those instructions.

  • The CPU follows them.

  • Memory holds the information needed for the current task.

  • Storage keeps information for later.

  • The operating system coordinates how the computer's resources are used.

When a program runs:

  1. Its instructions are loaded from storage into memory.

  2. The CPU reads and executes those instructions.

  3. Values are kept in memory while the program needs them.

  4. The CPU retrieves, processes, and stores those values.

  5. The operating system reclaims memory when it is no longer needed.

The main idea to remember is:

Memory is the computer's temporary working area.

In the next article, we will look more closely at what memory stores by exploring bits, bytes, and binary numbers.