Define the terms hardware and software and understand the relationship between them.
computer |kəmˈpjuːtə| - noun
An electronic device which is capable of receiving information (data) in a particular form and of performing a sequence of operations in accordance with a predetermined but variable set of procedural instructions (program) to produce a result in the form of information or signals.
Input, Process & Output
Computer systems all have input, processing and output. When you think of a computer system you may picture a desktop computer or laptop, but it could easily be a mobile phone, games console or your DVD player. With the arrival of the "Internet of Things" (IoT) almost anything is a computer if you look hard enough. They are all computer systems that have inputs, processing and outputs.
Think about - consider a list of all of the computers or computing devices in a typical home.
Any device that can receive input, store data, process it and provide some form of output is in essence a computer.
Computer hardware is the collection of physical parts of a computer system. This includes the computer case, monitor, keyboard, and mouse. It also includes all the parts inside the computer case, such as the hard disk drive, motherboard, video card, and many others. Computer hardware is what you can physically touch. (study.com)
Here is a TED video all about hardware...
Here is part 2...
Computer hardware is any physical device used in or with your machine, whereassoftware is a collection of code installed onto your computer's hard drive. For example, the computer monitor you are using to read this text and the mouse you are using to navigate this web page is computer hardware. (computerhope.com)
At a very basic level this video is a fair description...
Inside a Computer
Make a list of all of the components that you would expect to find inside a computer.
The following panels show the BBC's view...
The CPU and memory work together to run programs.
- CPU - executes programs using the fetch-decode-execute cycle
- Memory - stores program operations and data while a program is being executed. There are several types of memory, including: registers, cache, RAM and virtual memory.
- Storage - stores programs and files long term, even when they are not in use. Devices such as hard drives, USB memory sticks or SD cards are used to store files such as photos, music and software applications long term.
Most computers have a CPU and a separate graphics processing unit (GPU) for images. The GPU can be around 10 times faster than the CPU. It is optimised to produce high-quality 3D graphics for games and films. The GPU is responsible for handling images and frees up the CPU to do all other tasks.
CPU, memory and bus speeds will all affect the overall speed of a computer. If one is significantly slower, then it will slow down the others.
Benchmarking is a test used to assess the performance of a computer. Different types of benchmark software are used for the different kinds of application you might want a computer to do.
It is difficult to assess the performance of a CPU because a computer might excel at some tasks but not do so well at others. For example, a computer that is going to be used for gaming will require the best combination of hardware to handle intensive graphics quickly. The same computer might not perform so well if it was used to analyse vast amounts of scientific data.
There are four key factors about CPU architecture that affect its performance:
- clock speed
- cache size
- processor type
A CPU can contain one or more processing units. Each unit is called a core. A core contains an ALU, control unit and registers. It is common for computers to have two (dual), four (quad) or even more cores. CPUs with multiple cores have more power to run multiple programs at the same time.
However, doubling the number of cores will not simply double a computer's speed. CPU cores have to communicate with each other through channels and this uses up some of the extra speed.
The clock speed - also known as clock rate - indicates how fast the CPU can run. This is measured in megahertz (MHz) or gigahertz(gHz) and corresponds with how many instruction cycles the CPU can deal with in a second. A 2 gHz CPU performs two billion cycles a second. A faster CPU uses more energy and creates more heat.
A computer will normally have a maximum clock speed set by default, but it is possible to change this speed in the computer BIOS. Some people increase a CPU clock speed to try to make their computer run faster - this is called overclocking.
There are limits to how fast a CPU can run and its circuitry cannot always keep up with an overclocked speed. If the clock tells the CPU to execute instructions too quickly, the processing will not be completed before the next instruction is carried out. If the CPU cannot keep up with the pace of the clock, the data is corrupted. CPUs can also overheat if they are forced to work faster than they were designed to work.
Here is a video that shows how a chip is made.
This is an image of a chip. Actually it is the die, the image used to create the chip that is shrunk using the lens when it is projected on to the surface of a silicon wafer.
The CPU control unit automatically checks cache for instructions before requesting data from RAM. This saves fetching the instructions and data repeatedly from RAM – a relatively slow process which might otherwise keep the CPU waiting. Transfers to and from cache take less time than transfers to and from RAM.
The more cache there is, the more data can be stored closer to the CPU.
Cache is graded as Level 1 (L1), Level 2 (L2) and Level 3 (L3):
- L1 is usually part of the CPU chip itself and is both the smallest and the fastest to access. Its size is often restricted to between 8 KB and 64 KB.
- L2 and L3 caches are bigger than L1. They are extra caches built between the CPU and the RAM. Sometimes L2 is built into the CPU with L1. L2 and L3 caches take slightly longer to access than L1. The more L2 and L3 memory available, the faster a computer can run.
Not a lot of physical space is allocated for cache. There is more space for RAM, which is usually larger and less expensive.
Each CPU core has its own L1 cache, but may share L2 and L3 caches.
There are two main types of CPU: CISC and RISC.
The key differences between the two CPUs are:
- Instructions - RISC has fewer instructions than CISC. CISC generally have hundreds of instructions whereas RISC usually has a lot less. To do complex tasks, RISC CPUs must combine simple operations from their reduced instruction set. The instruction cycle in CISC is more complex than RISC, so RISC can be more efficient at performing simpler tasks.
- Physical size - in order to handle all those instructions CISC CPUs are larger and require more silicon to make.
- Speed - RISC CPUs run at a lower clock speed than CISC CPUs. They can perform simpler tasks more quickly than CISC, but more intensive tasks will be better on a CISC CPU. However, smartphones and tablets are generally not used to do intensive tasks like playing the most hi-spec advanced games.
- Energy consumption - because CISC CPUs are larger, they use more electricity. RISC CPUs are designed to use less power and they can go into 'sleep mode' when not actively processing a program.
- Design - smartphones and tablets combine their processing architecture into a system on a chip (SOC). As RISC CPUs are much smaller than CISC, more functions (including the memory and other hardware) can be combined with the CPU in one chip. CISC CPUs are usually built into a system which has a heat sink and fan to cool them down. Smartphones or tablets do not have space for heat sinks or fans.
- Cost - RISC CPUs use less power and are cheaper to make.
Buses are circuits on the motherboard that connect the CPU to other components. There are many buses on the motherboard. A bus moves instructions and data around the system. The speed of a bus is measured in megahertz (MHz). The faster the bus, the faster data is communicated. The speed of the motherboard is defined by the bus speed.
Buses are limited by their width in bits. They are usually 8, 16 or 32-bits wide. This tells us how many bits can be sent by the bus at any one time, eg a 32-bit bus can send 32 bits at once.
The bus that connects the CPU to the memory is called the front-side bus (FSB) or system bus. CPU cores share Level 2 and Level 3 cache across the FSB. They will usually connect to Level 2 cache through the back-side bus (BSB). The BSB is much faster than the FSB.
The FSB contains two types of bus:
- Address bus - this sends information about where data needs to go by sending an address to the memory. The address bus only sends data in one direction - from the CPU to RAM.
- Data bus - this sends data to the memory or receives data from the memory. Data can flow both ways along the data bus.
On small CPUs, the data bus and address bus are sometimes combined into one bus. This is called multiplexing.
Many PC motherboards use a northbridge and a southbridge to connect devices:
Memory is the area where the computer stores or remembers data. Memory provides the CPU with its instructions. There are different types of memory, and each one plays an important role in the running of a computer system. Memory is sometimes called primary memory.
Memory is either volatile or non-volatile. Volatile memory only stores information to run programs while the computer is on. It is reset and emptied once the computer is turned off. Volatile memory requires electricity to store data using transistors and capacitors.
There is a key difference between memory and storage. Programs are kept on a storage device and copied into the computer's memory before they are executed. Storage is also called secondary storage.
Storage and read only memory (ROM) use non-volatile memory to retain data - even when the computer has been switched off. In older computers, paper, punched tape and floppy disks have been used for non-volatile memory.
The following are all types of primary memory listed in order of closeness to the CPU:
The closer a memory type is to the CPU, the quicker the CPU can access the instructions and execute them. However, the closer it is to the CPU the smaller and more expensive it is. Each type of memory is limited by their speed, size, cost and position in relation to the CPU.
Latency is the time it takes for components to respond to a request. There will be a short delay, even a few milliseconds between asking the computer to execute a program and it finding the files in the memory. The circuitry that makes up primary memory is very fast, but not as fast as the CPU clock speed. Some instructions are copied into cache to make them more quickly available to the CPU.
RAM is usually measured in gigabytes. The more gigabytes of RAM a computer has, the more programs and operations it can handle at the same time.
Typical computers might have the following RAM:
Each unique memory location in RAM holds one word of information. Every memory location has a unique address so that once data has been stored there it can be found again later when it's needed. RAM also has a word size measured in bits to indicate the size of the memory locations.
The word size of the machine is how many bits its CPU can manipulate in one go.
The amount of data that a CPU can manipulate with one machine code instruction or transfer over a bus is measured in bits. When you look up the CPU specifications of any computer or games console, you will find out if it is a 32-bit, 64-bit or 128-bit machine.
A CPU with a 64-bit word size can process 64 bits using one single machine code instruction. This is twice as many bits as a 32-bit CPU.
Increasing the word size means more data can be manipulated at a greater speed. It also means that the CPU can keep track of a larger range of memory locations.
DRAM and SRAM
There are two types of RAM: dynamic RAM and static RAM.
- Dynamic RAM (DRAM) uses a transistor and a capacitor to represent and store a bit of data. The charge needs to be refreshed every few seconds.
- Static RAM (SRAM) uses a group of transistors combined for each bit of data. They do not lose the charge while in use so SRAM is much faster than DRAM. SRAM technology can be non-volatile when used for flash memory in storage and ROM.
DRAM is usually used for the main RAM memory. SRAM is used for cache memory. Static RAM is more complex to build and much more expensive than DRAM.
The operating system (OS) makes part of the storage drive available to use as RAM. Virtual memory is much slower than main memory because processing power is being taken up by moving data around, rather than just executing instructions. The guide on operating systems explains how the OS manages memory.
Latency is increased when the computer needs to use virtual memory.
Swapping (also called paging) is the process the OS uses to move data between RAM and virtual memory. The OS moves data from processes that are not immediately needed out of the RAM and stores them in virtual memory. It copies the data back into RAM when the process is needed again.
Using virtual memory slows the computer down because copying to a hard disk takes much longer than reading and writing RAM.
ROM (read only memory) is a flash memory chip that contains a small amount of non-volatile memory. Non-volatile means that its contents cannot be changed and it retains its memory after the computer is turned off.
ROM contains the BIOS which is the firmware for the motherboard. The BIOS contains the bootstrap – the program which takes the computer through steps that lead up to the loading of the operating system (OS). It happens between turning on the power and the computer beeping to say it is starting to load the OS. This process is known as POST (power on self test) on a PC.
The boot sequence is the computer's initial start-up process. After the boot, the OS controls the CPU and supplies the programs to run.
Types of ROM include:
- PROM (programmable read-only memory) - manufactured as blank ROM. PROM chips can be bought cheaply and programmed directly by a programmer. They are not rewritable so they can only be programmed once.
- EEPROM (electrically erasable programmable read-only memory) - popular in PCs and smartphones as the firmware can be easily updated by the manufacturer. This is similar to a rewritable CD in that the chip can be reprogrammed.
Here is another video from AQA.
Look here and see what you might have missed out.
Internet of Things
The Internet of Things is clearly a marvelous idea but it has had its issues, not least the cyber attack on the 21st October reported here and discussed in some detail here. In essence there are many devices that you can buy today that are web enabled so you can control your home from your phone. The trouble is that it is impossible in many cases to change the password security of these devices so a hacker can log in to them as easily as you do.
Here are a few links to web sites and intersting things that you really should read in your own time. There may be a sentence or two in one of these sites that might spark a difficult concept or resolve a confusing idea or may simply be a better explanation that suits you and eanables you to fully understand the points that the examiner is trying to make.
A history of early programming that explains compilers and assemblers in more detail.