## Want to keep learning?

This content is taken from the Raspberry Pi Foundation & National Centre for Computing Education's online course, How Computers Work: Demystifying Computation. Join the course to learn more.
4.4

## Raspberry Pi Foundation

Skip to 0 minutes and 2 seconds Before we go any further into looking at how a computer processor works, we need to look at how a computer can store data. Here we have an image of a memory cell. It consists of a transistor and a capacitor. A transistor allows a capacitor to be charged. A fully charged capacitor would represent a 1, and a discharged capacitor would represent a 0. These memory cells can be arranged in a grid. As an example, here is a grid that is eight memory cells across. Any one of these cells can be accessed and a 1 or 0 written into the memory cell. Because any particular memory cell can be accessed at random, this is called random access memory, or RAM for short.

Skip to 0 minutes and 49 seconds There are actually many different types of memory cell and many different types of RAM as well. However, it’s easiest to simplify this and think of RAM as a table of numbers. We have the address, which codes which memory cells the data is written into, and the data itself, which is the contents of those memory cells. It would either be an 8-bit, 16-bit, 32-bit, or even 64-bit number. Just like with our transistors in our CPUs, we can get billions of memory cells on these RAM modules.

# Storing bits and bytes

Before we go any further into looking at how a computer processor works, we need to look at how a computer can store data.

Above is a diagram of a memory cell, consisting of a transistor and a capacitor (a component which can hold an electric charge). The transistor allows the capacitor to be charged. A fully charged capacitor would represent a one, and a discharged capacitor would represent zero.

These memory cells can be arranged in a grid. As an example, in the diagram below they are arranged in a grid that is eight memory cells across. Any of these cells can be accessed, and a one or zero written into the memory cell.

Because any particular memory cell can be accessed at random, this is called Random Access Memory, or RAM for short.

There are actually many different types of memory cell, and many different types of RAM. However, we don’t need to worry about the details, so we can think of RAM as a table of numbers.

We can use addresses to tell us which memory cells a piece of data is written into. The data itself is the content of those cells. Depending on circumstances, it will be an 8-bit, 16-bit, 32-bit or even 64-bit number (so each address corresponds to 8 single bit memory cells, or to 16, etc.)

And just like with transistors in our CPUs, we can get billions of memory cells on RAM modules, like the one below.