Menu
Basic Computer Architecture

Understanding computers, or anything else for that matter, requires an understanding of the basics. I've searched the Internet for an article that explains computer architecture in simple basic terms. All I could find are explanations that were far too complicated. So in this article I explain basic computer architecture in simple basic terms. If you know anything about computers, don't read this article, because I don't want to insult your intelligence.

Computers today, even that PC on your desk are unbelievably complex. This complexity makes it difficult to explain them without saying anything that is absolutely true. For example, I could say that your keyboard is an input device and your computer screen is an output device. But what about a touch screen? A touch screen is both an input device and an output device.

I could explain that the controller has a processor and memory. But most of today's peripherals also have processors and memory of their own. In other words, your keyboard is a computer on its own.

So, in order to explain basic computer architecture in an understandable way, I'm going to have to describe a fictitious computer that doesn't really exist, at least not in the last 30 years. Then, when I go into deeper detail later, you'll realize that everything that I said in the beginning was untrue.

The first thing to understand is that a computer consists of hardware and software. Hardware is the physical, mechanical part of the computer. If you take a part of the computer and whack yourself in the head with it, and it hurts, it's hardware.

Software is the instructions that a computer follows. If you have an instruction in your mind, for example, an instruction for your child to wear their coat when they go outside, the instruction itself has no physical or mechanical existence.

Your head is not the instruction. The coat is not the instruction. Your child is not the instruction. You can write the instruction on a piece of paper. The piece of paper then becomes a storage media for the instruction, but it's not the actual instruction itself.

The next thing to understand is that computers use many kinds of storage media. Storage media can be divided into two general types; "volatile" and "nonvolatile" memory. Volatile memory forgets everything when you turn the power off. Nonvolatile memory remembers everything permanently.

Nonvolatile memory, like tape storage, is sequential. You have to read a tape in sequence to access the data that you're looking for. Volatile memory is usually referred to as RAM, for Random Access Memory. With RAM you can go directly to the data your looking for. Today we have all kinds of nonvolatile RAM, so using using the term RAM for volatile memory is a misnomer.

Computer block diagram

Looking at the diagram above, you see that at the center of the computer is the processor. Another name for the processor is the CPU, for Central Processing Unit. The CPU is considered to be the "brains" of the computer. It basically reads instructions and data from memory and processes the data according to the instructions, and then stores the results back in memory.

Theoretically you could build a computer using only a processor and RAM (assuming that you had some way to put the program and data into the RAM). The processor would access instructions and data in the RAM, and store any results back in the RAM. Another problem with this Theoretical computer is that you have no way of getting the results out.

Silicon wafers

Both the CPU and the RAM would be in chips. The term "chip" is not an acronym. Semiconductors are manufactured on large round silicon wafers. To make an individual CPU or RAM device, you need to cut a "chip" out of the wafer and put it in plastic package with conducting pins that connect to circuits printed on the chip.

When you turn the power off, our theoretical computer looses its program and data, which we had to cheat to put into its RAM anyway because we have no input devices on our theoretical computer. We need to add some nonvolatile memory to our computer. That's where the "hard disk" comes in.

The term "hard disk" is not just a cutesy phrase,. A hard disk is actually physically constructed of hard disks, or platters, with a thin coating of magnetic media on them. I'm not going into the anatomy and operation of a hard disk in this article, but suffice to say that when you turn the power off, the program and data is not lost. When you turn the computer back on, the program and data is still there.

While the computer is running, you can read and write data to the hard disk. When you turn the computer back on, any changes that you made last time you wrote to it are still there. Now, you're probably wondering why, if we have a hard drive, do we need RAM? The problem is that a hard drive is a mechanical device and so is very slow to access compared to a RAM chip.

Now you may be thinking, if I whack myself in the head with a RAM chip, does it not hurt? Isn't RAM a physical device? Well, yes. But a hard disk uses rotating platters and mechanical arms that move across their surfaces to pick up magnetic fields, while a RAM chip has no moving parts. Because data in RAM is so much faster to access than data on a hard disk, when a computer runs a program, it first loads the program into RAM. In other words, the processor works primarily with RAM, not with the hard disk.

As I said earlier in this article, I can't explain basic computer architecture without saying anything that is absolutely true. Today's computers use a mind blowingly complex memory management scheme where some hard disk areas are used like RAM (called virtual memory) and some RAM is used like hard disk (called cache).

Computer block diagram

On left side of the diagram shown above, is a box labeled "keyboard", and a box labeled "mouse". These are hardware devices that are called "input" because they are used to input data or information into the computer. Other input devices are a DVD drive and a scanner.

On the right side of the diagram shown above is a box labeled "display" and a box labeled "printer". These are hardware devices that are called "output" because they are used to output data or information from the computer. Another output device is a sound circuit.

A network interface card or broadband modem would be an input/output device. All the input and output devices that I've mentioned here are peripherals. Peripherals are considered to be hardware, although most peripherals have software of their own.

Because you can't understand computers without an understanding of the basics, in this article I have explained basic computer architecture in simple, basic terms. I hope I didn't insult your intelligence. This article gives me a foundation to build on when I go into deeper detail in future articles.


Learn more at amazon.com

More Computer Architecture Articles:
• Using The I2C Bus
• Direct Memory Access (DMA)
• Basic Computer Architecture
• The Microcontroller's Asynchronous Serial Interface
• Multilevel Queue CPU Scheduling Algorithm
• Data Structures - Linked List, Stack, Queue, and Tree
• Microcontroller Internal EEPROM (Electrically Erasable Programmable Read Only Memory) Memory
• Processor Affinity in Symmetric Multiprocessing
• CPU Cache Basics
• The AMD Athlon 64 X2 Processor