What makes up a computer and how do the different parts work together?
All machines have standard components that they should have in order to be classified as a machine. They need an input component, an output component, a processing component and a storage component. These components come together to create what is formally known as the Von Neumann architecture (see Figure 1).
Not all computers need to store data, but it’s useful to have storage should you need to store anything. Most, if not all machines follow the Von Neumann architecture. The difference between machines is often the manner in which each component performs its input, processing and output functionality – and the aesthetics of course. In addition to the Von Neumann Architecture, there’s the Harvard Architecture which differs in that it stores machine instructions and data in separate memory units as opposed to the Von Neumann architecture which stores machine instructions and data in one or a shared memory unit.
Computers need hardware and software to function properly. Without any programs to run on the hardware, you will not be able to use your computer. The software acts as an interface for the user to communicate with the hardware.
Input components take in data to be is processed or stored in some way. These components include the mouse, keyboard, microphone, touch screen, etc. Input devices translate user input into information that can be understood by the machine. Machines process and store data using bits, you can read more on how that data is processed on an article previously published on number systems here.
The Central Processing Unit or the CPU is where all data processing happens. The CPU comprises of 3 components; the Arithmetic and Logic Unit (ALU), the Memory Unit and the Control Unit. The CPU is like the brain of the computer.
The ALU performs the mathematical operations i.e addition, subtraction, multiplication, and division. It also performs your logical operations such as comparisons, merge, match, etc. The memory unit is where we have the primary storage of the computer, a.k.a. Random Access Memory (RAM). RAM stores instructions, data and intermediate data. The control unit controls all operations of the computer, but it does not process data. If you think about the Model View Controller (MVC) pattern, the control unit would be the controller. The controller does not necessarily do any data processing but, it knows which methods it needs to call based on the input given and where the output will be sent.
Essentially, the CPU fetches instructions first from memory, figures out what that instruction is using logic gates then executes the instruction.
Output components are any type of hardware that converts information into a format that can be understood by humans or other machines. In some instances, the output of some processing is used as input for another machine therefore, the target output format will not always be in human readable form. Some of the most common output devices include monitors, speakers, printers, etc.
Storage & MEmory
Computer storage can be internal or external. Computers are capable of running without storage devices but, it would only be able to view information. Common tasks like browsing the web or performing a calculation require data to be stored somewhere. Any data that is written to your hard drive will stay there until it is deleted or overwritten, even if the computer is off.
Most computers use Hard Disk Drives (HDDs) or Solid-State Drives (SSDs). SSDs can do everything that an HDD can, but the difference is that SSDs are much faster and generally more expensive with a shorter life span than HDDs. In addition, HDDs use mechanical platters and a moving read/write head to access data while SSDs use memory chips.
In terms of memory, the computer uses Random Access Memory (RAM) and Read Only Memory (ROM). Random Access Memory is volatile and is wiped out each time the computer switches off. This is memory that applications use when they are running on your computer. Memory temporarily stores data that the CPU uses for processes. Applications use RAM because it’s easy to read from and write to, this is important for us because we don’t want our computers to run slowly. Read Only Memory is non-volatile, it does not get wiped out once the computer is off. Data stored in ROM loads into main memory when the computer starts up.
The motherboard connects the components discussed above to create a computer. This is the main component in a computer and is often referred to as the main board. It has different sockets where the input, processing, output and storage components connect to. Only CPU’s which match the socket on the motherboard will be able to couple with the motherboard. Figure 2 shows an image of a motherboard with the different compartments for connections.
The processor socket determines what kind of CPU the motherboard uses. CPU’s can have an overclocking feature where, the CPU and memory can run at a higher speed that the one stated. If you want a CPU that overclocks, you have to get a motherboard that is compatible with overclocking CPUs. Peripheral Component Interconnect (PCI) slots insert graphics cards, sound cards and network cards. The Accelerated Graphics Port (AGP) is responsible for video processing to produce high quality videos and graphics. The Integrated Drive Electronics (IDE) is an interface for connecting a motherboard to storage devices such as hard drives and CD-ROM/DVD drives. The Basic Input/Output System (BIOS) is a chip that allows you to setup your computer at the most basic level. The BIOS loads the hardware needed on startup. In addition, the BIOS performs tests to check if your computer is ready to be booted and loads the operating system into memory. The North bridge links the CPU to very high-speed devices, especially RAM and graphics controllers, and the South bridge connects to lower-speed peripheral buses because it’s generally slower and the information from the CPU has to go through the North bridge before reaching the South bridge. Newer motherboards have what is called a Platform Controller Hub instead of the North and South bridge chips. The platform controller hub is responsible for controlling certain data paths and support functions like system clocking, display, etc. Lastly, the mainboard also has the Serial Advanced Technology Attachment (SATA) which is used to connect additional memory.
Some common motherboard manufacturers include Intel, ASUS, MSI. The motherboard is arguably the most important part because you wouldn’t be able to connect everything else and the different components would not be able to communicate with each other either.
Computers are made up of hardware and software. The basic hardware that a computer usually needs can be categorized into Input, Output, Processing and Storage components. These come in different flavours for different types of machines but fundamentally, these components exist in all types of computers.