# How does something physical, like a CPU or stick of RAM, move and store non-physical things, such as data?

304 views

Computer components are made out of raw materials, like silicon and copper. How does something physical like that create and use things we can’t “see”, like data (0s and 1s)?

Thanks!

In: 1

A CPU reads 0s and 1s as low and high voltage. A disk sees 0s and 1s as north and south magnetic polarities.

A CD-ROM reflects a laser off shiny aluminium and charred aluminium (“burnt to CD”).

Computers aren’t really storing or computing numbers like 0 and 1 if you get to the bottom of it. They are computing/storing states of current/voltage which can be expressed in two states (on or off; current or no current; high voltage or low voltage; …. 0 or 1).

In practice there are various ways to compute or store this data. CPUs consist of billions of tiny transistors. A transistor is nothing more than an electrical switch, meaning that if the transistor is activated it will let a current flow and if the transistor is deactivated there will be no current. So by very intelligently combining transistors you can create some logic and if you combine millions or billions of them you can create a system that can compute complex operations. All of this basically just by switching current on/off.

Now data can be saved in similar ways. One example would be magnets. A magnet has it’s two poles: north and south. You could build a system that detects which direction a magnet is facing. Is north or south facing you? Using one magnet you can store one binary digits worth of data (0 or 1). If you combine a lot of those magnets and check their state (north or south to you) and you can store a lot more data this way in binary.

Are you familiar with an [abacus](https://en.m.wikipedia.org/wiki/Abacus) – it’s a counting device that uses mechanical manipulation of physical beads to encode data (numbers) and has been around for quite some time.

Most digital storage operates on a surprisingly similar concept. Just like rows on an abacus, there are locations (cylinders and tracks on a drive, offsets in memory etc) and at those locations there is a detectable signal (magnetic, electrical etc) that is or is not present.

Conceptually it’s just that simple, but of course the devil is in the detail

The whole shebang works by having imbalances in electrical charge.

Everything is made of atoms. Atoms have bits which don’t move around much and which have positive charge, called protons. They have other bits which move around quite a lot and which have negative charge, called electrons. An atom which is minding its own business has an equal number of protons and electrons, so it has an equal number of positive and negative charges, so it’s neutral.

But those electrons which move around a lot can actually leave their atoms and go on adventures. The protons which don’t move around much stay put so you have a stable physical structure.

If you convince a bunch of electrons to leave their protons and if you herd the electrons together into one little area, like cattle being herded into a pen, then that little area now has a surplus of electrons, ie a surplus of negative charge. Meanwhile of course, the place the elctrons came from has a shortage of electrons, so its protons outnumber the electrons and it has a surplus of positive charge.

That imbalance of electrical charge – a surplus of electrons in one place and a deficit of electrons somewhere else – that’s what we use to represent the zeroes and ones.

And just like the cattle analogy, once we herd the electrons into one area we can close the gate and keep them there. Or we can open another gate and move them somewhere else. The paths they need are tiny, and we can move then around and open or close gates very quickly, and that’s exactly what’s going on in your computer or your phone or your games console.

A structured group of electron surpluses can represent a number. Moving structured groups of surplus electrons around is how we store, retrieve and manipulate numbers. We use numbers to represent the colours in a pixel in an image, or the loudness of a timeslice in an audio file, or the characters in the text of a Reddit question.

Computers aren’t really storing or computing numbers like 0 and 1 if you get to the bottom of it. They are computing/storing states of current/voltage which can be expressed in two states (on or off; current or no current; high voltage or low voltage; …. 0 or 1).

In practice there are various ways to compute or store this data. CPUs consist of billions of tiny transistors. A transistor is nothing more than an electrical switch, meaning that if the transistor is activated it will let a current flow and if the transistor is deactivated there will be no current. So by very intelligently combining transistors you can create some logic and if you combine millions or billions of them you can create a system that can compute complex operations. All of this basically just by switching current on/off.

Now data can be saved in similar ways. One example would be magnets. A magnet has it’s two poles: north and south. You could build a system that detects which direction a magnet is facing. Is north or south facing you? Using one magnet you can store one binary digits worth of data (0 or 1). If you combine a lot of those magnets and check their state (north or south to you) and you can store a lot more data this way in binary.

A CPU reads 0s and 1s as low and high voltage. A disk sees 0s and 1s as north and south magnetic polarities.

A CD-ROM reflects a laser off shiny aluminium and charred aluminium (“burnt to CD”).

Are you familiar with an [abacus](https://en.m.wikipedia.org/wiki/Abacus) – it’s a counting device that uses mechanical manipulation of physical beads to encode data (numbers) and has been around for quite some time.

Most digital storage operates on a surprisingly similar concept. Just like rows on an abacus, there are locations (cylinders and tracks on a drive, offsets in memory etc) and at those locations there is a detectable signal (magnetic, electrical etc) that is or is not present.

Conceptually it’s just that simple, but of course the devil is in the detail

> non-physical things, such as data?

Data is very much physical. In computers, it is the specific arrangement of electric charge in the components. If you had eyes that could differentiate wires with more electrons from wires with less, a simple computer would look something like [this](https://www.youtube.com/watch?v=1OfeswjPZuw) with a ton of wires rapidly changing color in certain patterns. In your head, data is the arrangement and quantity of chemicals and electrically charged ions.

At no point is “0” and “1” non-physical, because even your imagination is just a complex electrochemical machine.

The whole shebang works by having imbalances in electrical charge.

Everything is made of atoms. Atoms have bits which don’t move around much and which have positive charge, called protons. They have other bits which move around quite a lot and which have negative charge, called electrons. An atom which is minding its own business has an equal number of protons and electrons, so it has an equal number of positive and negative charges, so it’s neutral.

But those electrons which move around a lot can actually leave their atoms and go on adventures. The protons which don’t move around much stay put so you have a stable physical structure.

If you convince a bunch of electrons to leave their protons and if you herd the electrons together into one little area, like cattle being herded into a pen, then that little area now has a surplus of electrons, ie a surplus of negative charge. Meanwhile of course, the place the elctrons came from has a shortage of electrons, so its protons outnumber the electrons and it has a surplus of positive charge.

That imbalance of electrical charge – a surplus of electrons in one place and a deficit of electrons somewhere else – that’s what we use to represent the zeroes and ones.

And just like the cattle analogy, once we herd the electrons into one area we can close the gate and keep them there. Or we can open another gate and move them somewhere else. The paths they need are tiny, and we can move then around and open or close gates very quickly, and that’s exactly what’s going on in your computer or your phone or your games console.

A structured group of electron surpluses can represent a number. Moving structured groups of surplus electrons around is how we store, retrieve and manipulate numbers. We use numbers to represent the colours in a pixel in an image, or the loudness of a timeslice in an audio file, or the characters in the text of a Reddit question.