Putting it together: Basics Review

I liked Joey’s overview post so much that I decided to make one too!

Way back in my first post, I wrote that the key to understand computers was breaking them down and learning what each of their components is for.  Shortly after that, I pulled a quote from an old MS-DOS user manual:

Your computer is made up of many parts called hardware.  Your hardware runs software – programs that translate the instructions you send to your computer into a language it can understand.

– MS-DOS 5.0 Manual, 1991

In the posts since then, I’ve delved into the roles of each hardware and software component, and tried to come up some witty analogies on the way.  Now, it’s time for an overview of everything.

Software

As a whole, Software translates your intent into the electrical signals that actually run your computer.  Looking deeper, there are different layers of software that act as intermediate translators between each other.  You interact with Programs that run on top of Runtimes (or High-Level OS as I described it) that run on top of Low-Level OS that actually runs on the hardware.  Knowing about these different layers of software can help when you’re trying to diagnose computer problems.

What you need the computer to do determines what programs you need.  The programs determine what supporting software you need.

Task Program Supporting Software
Word Processing MS Word Windows, MacOS
LibreOffice Windows, MacOS, Linux
Web Browsing Firefox, Chrome Windows, MacOS, Linux
Video Editing Adobe Premiere Windows, MacOS
Final Cut Pro MacOS
DaVinci Resolve Windows, MacOS, Linux
3D CAD Solidworks Windows

 

Hardware

I find the best way to explain what your computer does is to compare it to filling out paperwork at a desk.

Central Processing Unit (CPU)

When you’re working on paperwork, you’re shuffling the papers around your desk, looking for the relevant papers in a filing cabinet, and following the directions to the letter.  This is your CPU’s role in the computer.

This device handles all the general-purpose calculations on your computer.  As the name implies, the CPU is at the center of everything your computer does.  Because it’s expected to do so much, it has tons of specialized circuitry for individual directions (known as instructions).

My CPU’s calculation load while typing this post. My 6-core hyperthreaded workstation CPU is way overkill for this task.

Most CPUs have more than one core allowing your computer to do more than one calculation at once. Higher core counts help programs specifically designed for parallel tasks, but there is a diminishing return on actual computer speed as you get more processing cores.

Random Access Memory (RAM)

Going back to the desktop metaphor, RAM is how much desk space you have, and by extension, how many things you can do at once.  Just like how you can’t read a paper while it’s filed away, you computer can’t run any code directly from the disk drive, so any code you run has to be copied here first.

This is a collection of high-speed memory that serves as the CPU’s work area.  The CPU can only run code in RAM.  The more RAM available to the CPU, the more tasks the CPU can switch between.

When you close a program, it gets removed from RAM. Why closing Firefox freed 7.2 GB of RAM this particular day is well beyond my understanding.

This is a commonly upgraded component because more RAM allows your computer to run more programs at once which allows you to multi-task better.

Long-Term Storage

When you’re starting your paperwork, you have to move it from your filing cabinet to your desk.  When you’re all done, you put the paperwork back in the filing cabinet.  RAM requires a constant power source, so when the computer is turned off, everything the CPU was working on gets lost forever.  The only way to keep information between computer restarts is long-term storage.

Computers today use either the old-tech Hard Disk Drive (HDD) or new-school Solid State Drive (SSD) to store files while the computer is off.  HDDs “write” magnetic orientations to spinning metal disks (hence, Hard Disk Drive).  They are inexpensive, reliable when stationary, and have a large storage capacity.  Unfortunately, they are slow to load data and prone to failure when bumped.  A SSD stores data purely electrically in memory chips.  Compared to a HDD, a SSD is much faster, is reliable even when jostled, and usually consumes less power.  It should come as no surprise that these benefits come at a price premium. (While the cost of SSDs have come down substantially in the past few years, as of Aug. 2018, SSDs are roughly 3x the price of a HDD of the same capacity.)

By Evan-Amos [CC BY-SA 3.0 (https://creativecommons.org/licenses/by-sa/3.0) or GFDL (http://www.gnu.org/copyleft/fdl.html)], from Wikimedia Commons
A laptop-sized Hard Drive with it’s magnetic memory platters and Read/Write heads exposed.
By Bretwa [CC BY-SA 4.0 (https://creativecommons.org/licenses/by-sa/4.0)], from Wikimedia Commons
A fancy NVMe SSD with all it’s memory chips visible
 

An upgrade from a HDD to a SSD is the single best value in hardware upgrades because so much of what we perceive in computer slowness is a result of HDD to RAM transfer speeds.

Graphics Processing Unit (GPU)

Sometimes, instead of following a couple of complex instructions, you have to follow hundreds of easy instructions, all at once.  You can offload this kind of task to your GPU neighbor.

The GPU is basically a computer within your computer; it has its own central processor, its own special RAM, and it runs code written specifically for it.  Its uses are limited to tasks that are broken down into simple and highly parallel chunks.  Things like 3D graphics and video decoding fall under this category, hence the “graphics” in “Graphics Processing Unit”.

Think of it as the CPU being a few marathoners and a GPU as being a hoard of hundreds of children.  A marathoner can carry a rock a long distance: a single, difficult task.  A hoard of children can carry a whole pile of rocks a short distance: a highly-parallel, simple task.

Most modern CPUs have a GPU built into them that can handle video playback and rendering webpages, but high-end computers for gaming, video editing, or 3D modelling have a “Discrete,” or separate, GPU.

tl;dr

oh come on, this whole post is a tl;dr! Alright fine.

Software interprets your intent into electrical signals for your computer’s hardware.

Computer Hardware is at minimum a CPU, RAM, and Long-Term Storage.

The CPU does the thinking,

The RAM holds what it’s thinking about,

And Long-Term Storage is where the thoughts go when it’s not thinking about them anymore.

Leave a Reply

Your email address will not be published. Required fields are marked *