# Basics of computer architecture

This is a lesson from the course Introduction to Computer Science, which is a part of The School of Computer Science.

## Instructions for this lesson

Read the text and try to understand it. If something is not clear, follow the links for explanation.

## Objective

Understanding how your computer works is a gateway to understanding what you can do with your computer. You must thoroughly understand the main components inside your computer and how they work together. After the course Introduction to Computers, you should be familiar with a computer's basic components.
Be able to answer these questions:
* What would happen if a computer didn't have a hard drive (HDD)?

## Contents

see also Computer Architecture Lab
At the heart of any computer, modern or early, is a circuit called an ALU, or Arithmetic Logic Unit. It's comprised of a few simple operations which can be done very quickly. This, along with a small amount of memory running at processor speed called registers, make up what is known as the CPU, or Central Processing Unit.
A CPU isn't very useful unless there is some way to communicate to it, and receive information back from it. The communication process the computer employs is usually known as a Bus. The Bus is the input/output, or I/O gateway, for the CPU. The primary area with which the CPU communicates within its system memory in is commonly known as RAM, or Random Access Memory. Depending on the platform, the CPU may communicate with other parts of the system directly, or indirectly through its memory.
The "word" size of a platform is the native amount of bits that can be moved over the bus that is internal to the CPU.* Early computers varied on bit sizes, but most modern computers work in multiples of 8 bits, commonly known as a Byte. The first general purpose CPU on a chip, built by Intel, was the 8080 built in 1974. The 8080 used an 8 bit word, meaning it would communicate over the bus 1 byte at a time. In contrast, the 80386, built in 1985, has a 32 bit (4 byte) word, and the IA64, built in 2001 is a 64 bit (8 byte) word.
* Note that a few companies considered the "word" size to be number of bits transferred at one time over the CPU<=>RAM bus. Technically, knowing the actual "word" size inside the CPU can be quite important for people developing system level software, such as device drivers.

## Questions for self-test

* What is the job of the ALU?
| Process information No. This answer is far too vague. What is meant by processing information? | Check security of the system No. This may be true on a much higher computing level. | Perform simple calculations. Yes. The job of the ALU is to perform simple calculations. | Powering up the main systems. No. The ALU is a very simple processor. |
The CPU, RAM, and other components all work together to run computer software.
An important piece of software for the computer is called the kernel.
The kernel helps the CPU, RAM, hard drive, and other devices all talk to each other. We will go over how the kernel actually works in more detail in a later course. When we use our computers, everything we do (instructions, commands, programs, applications) goes through the kernel. Knowing what the kernel does gives a solid foundation for many other computer science ideas.