In this unit, you will be looking at creating your very own PC from scratch. There are a number of things you need to understand before you do that, and that's where the theory of comptuer architecture comes in. You will be learning about
-Computer Systems: Different components that make up a Computer
Hardware and Software - what are they really?
-the CPU (Central Processing Unit - the brain of the computer)
What does the CPU do? What is the CPU made up of? (Control Unit, ALU, Cache, CPU registers (Accumulator, MAR, MDR) What is the FETCH DECODE AND EXECUTE CYCLE)
All the best!
Oh, and check out the below video before you get started (PC technology)
And here's a link to the 5 best gaming laptops of 2016 (as suggested by this video). *Be thinking about what makes a computer 'good'!
What is a CPU? How does it work? CPU basics, Structure, function and performance consideration
Discuss in pairs or with the group.
1. What sort of PC or Laptop do you have at home? Do you know anything about the CPU on that machine? What do you know in terms of its processing power.
2. Performance is important for a PC right? What do you know about the following (and relate it to performance) CLOCK SPEED, NUMBER OF PROCESSOR CORES, CACHE SIZE.
1. Complete the following worksheets, doing your research on the internet and using the Theory and Notes section below. It will help you understand some of the key things associated with the CPU. One or both can be completed for homework.
a) Worksheet 1 - CPU basics
b) Worksheet 2 - Structure, Function of the CPU and Performance (in class or finish for homework)
*The following text is available under the Creative Commons Attribution-ShareAlike License Wikipedia®
The processor (or Central Processor Unit - CPU) is one of the most complex parts of any computer system. The processor executes programs and supervises the operation of the rest of the system. Single chip processors are otherwise known as microprocessors. Gordon E Moore theorized that the number of transistors that could be integrated onto the chip would double every 18–24 months, most modern processors will contain billions of transistors. Multicore microprocessors are now very popular, where the processor will have several cores allowing for multiple programs or threads to be run at once.
A processor (CPU) has several core components that work together to perform calculations. You need to know each of these and how they interact:
The Arithmetic Logic Unit or the ALU is a digital circuit that performs arithmetic and logical operations. Where arithmetic operations include things such as ADD and SUBTRACT and the logical operations include things such as AND, OR, NOT.
The ALU is a fundamental building block in the central processing unit (CPU) of a computer and without it the computer wouldn't be able to calculate anything! Some examples of assembly code instructions that would use the ALU are as follows (not all processors will have all these instructions):
ADD ;add one number to another number SUB ;subtract one number to another number INC ;increment a number by 1 DEC ;decrements a number by 1 MUL ;multiply numbers together OR ;boolean algebra function AND ;boolean algebra function NOT ;boolean algebra function XOR ;boolean algebra function JNZ ;jump to another section of code if a number is not zero (used for loops and ifs) JZ ;jump to another section of code if a number is zero (used for loops and ifs)
The control unit sits inside the CPU and coordinates the input and output devices of a computer system. It coordinates the fetching of program code from main memory to the CPU and directs the operation of the other processor components by providing timing and control signals.
Processor clock - A timing device connected to the processor that synchronises when the fetch, decode execute cycle runs
Your computer might contain several clocks that each regulate different things. The clock we are going to look at here will keep the processor in line. It will send the processor a signal at regular times telling it to start the fetch decode execute routine.
Clock speed - The number of cycles that are performed by the CPU per second
Clock speed is measured in Hertz, which means 'per second'. You have probably heard of clock speeds such as 1 MHz, this means 1,000,000 cycles per second and potentially a million calculations. A computer of speed 3.4 GHz means it might be capable of processing 3,400,000,000 instructions per second! However it isn't as simple at that, as some processors can perform more than one calculation on each clock cycle, and processors from different manufacturers and using different architecture are often difficult to compare. (See the Megahertz myth). Also with the increase in multi-core processors such as the PS3 (7 cores) and the Xbox 360 (3 cores) there might be times where the clock might be ticking but there is nothing for the processor to calculate, the processor will then sit idle.
Registers - a small amount of fast storage which is part of the processor
For immediate calculations, using main memory is too slow. Imagine having to send a signal along the address bus and some data along the data bus when all you want to do is store the result of adding two numbers together. The distance between the processor and main memory, even though it might be a few centimetres, is far enough for the signal to take a significant time to get there. To get past this issue there are small amounts of memory stored inside the processor itself, these are called registers. Registers are incredibly fast pieces of memory that are used to store the results of arithmetic and logic calculations.
Different processors will have different sets of registers. A common register is the Accumulator (acc) which is a data register, where the user is able to directly address (talk to) it and use it to store any results they wish. Processors may also have other registers with particular purposes:
There are also 4 registers in particular that you need to know, we'll meet them in more detail in the next chapter:
but coming back to:
For each different method we are going to look at these old games consoles to see how performance increase was achieved:
|NES||1983||1.79 MHz||8 bit|
|SNES||1990||3.58 MHz||16 bit|
|Nintendo 64||1996||93.75 MHz||64 bit|
|GameCube||2001||486 MHz||128 bit||cooling fan introduced|
Clock speed - The number of cycles that are performed by the CPU per second
The most obvious way to increase the speed of a computer would be to increase the speed of the computer clock. With a faster clock speed the processor would be forced to perform more instructions per second.
Example: Clock Speed
As you can see on the console table above, each successive console showed an increase in clock speed. A clock speed of 800 MHz is twice as fast as a clock speed of 400 MHz, meaning it should be able to calculate twice as many calculations in a given time.
But what is to stop us increasing the clock speed as much as we want? If you study Physics you might already know this, but the problem with increased clock speed is that an increased current will have to flow through the circuits. The more current that flows, the hotter things get. You might notice that a laptop will get hot or even your mobile phone when you are doing something processor intensive like playing a game. The faster the clock speed, the hotter the processor runs. To counter this computer scientists have come up with smarter chip designs and introduced heat sinks, fans, and even liquid cooling into computers. If a processor runs too hot it can burn out!
|NES processor||Heat sink||CPU fan||Water cooling|
|No need for fans or heat sinks||Draws the heat away from the
processor, which sits beneath
|I love the CPU so much, I'm a real CPU fan||Metal contacts are placed on
the cpu drawing heat away, water
then passes over these contacts to
draw heat away
Word size - The number of bits of information that a processor can process at one time
Another way to increase the performance of a computer is to increase the word size. This means increasing the number of bits a computer can process at one time. As you can see from our console table, increasing word size was a big part of creating faster consoles, they even named a console the N64 to boast about its word size. With a larger word, computers can handle larger or more precise calculations and do more complicated things. Modern computer mostly have 32 or 64 bit word sizes, with specialist hardware such as games consoles being able to handle up to 128 bit words.
Example: Word Length
Imagine that we were only able to use words of length 6 letters or less and we wanted to describe the Compsognathus dinosaur to someone. We might try the following:
If we were able to use more letters per word (have a larger word size), then we could achieve more in fewer words.
However, to understand the longer words you would have to know what dinosaur and million meant, maybe stopping for a brief moment to remember. In computing terminology, you would have to have more complicated hardware and using lots of little words could be faster than processing larger ones.
Bus Size - The number of bits of information a bus can carry at one time (the number of wires making up a bus)
Now that we understand what word size is. Imagine that you have a processor able to understand 32 bit words at a single time. This is pretty standard. But what happens if the bus sending the words from memory to the processor was only 8 bits wide? We'd get a bottle neck. It would involve four chunks of data to be sent along the Data Bus before we had a word for the processor to execute. In other words, to increase performance we must also increase the bus size to avoid bottle necks:
Example: Bus Size
Imagine our friend can understand words of 28 bit length and we are sending the word: antidisestablishmentarianism to them. If the link between us (the bus), say a chat window on a website, only allowed for 4 letters at a time (the bus width). We'd have to send the following:
anti dise stab lish ment aria nism
Requiring seven data sends before our friend is ready to process the word we sent them. If we were able to send more letters at once, through a larger bus width, then our friend wouldn't have to wait around to receive all the data
Have a think about the sort of computer you would like to build from scratch. What will it look like? What are the different components of a computer system anyway? That's coming up in the next lesson.
Here's a video on how CPU's are made. (not as easy perhaps as putting a PC together!)
The fetch execute cycle and John Von Neumann
Explain and discuss with a partner.
1. Ever wondered how the brain processes instructions? Your brain, I mean! If someone tells you to jump out the window, what would you do with that "instruction"? See if you explain the processes involved in taking an instruction, decoding it and executing it, in your very own brain.
1. Watch the following video on the Fetch Execute Cycle and if the link is still live, check out this scratch simulation: https://scratch.mit.edu/projects/2145440/
2. Create your own power point biography on the famous computer scientist John Von Neumann. Make sure you mention and explain the "Stored Program Concept"
3. Complete the following worksheet on the Fetch Execute Cycle.
Click here for info on this famous computer scientist. You may also want to use other sources.
What do you think of this?!
What really is a Computer System? Define Hardware and Software ...and more!
Computer Systems have really evolved since then! Watch Steve Jobs reveal the first Mac in 1984.
1. Compare a computer system to a hunan being. What similarities exist? What are the obvious differences? Discuss your thoughts and opinions with a partner or with the group.
1. Watch the following video
2. Download and complete this worksheet on Computer Systems
3. Challenge: Visit the following sites to nose around for different PC components. Create a power point presentation that includes all the components you would put together to create your very own PC from scratch. Don't forget to include the price and add it all up at the end. Be prepared to share this powerpoint with the group. A comparison could be made as to the most powerful and cheapest machine! *Feel free to research other sites which sell components for PC creation.
Feel free to download and use this spreadsheet template to complete your challenge, or create your own!
Hardware and Software: http://www.bbc.co.uk/education/topics/zmpsgk7
Most powerful computer in the world?
Have you ever browsed the shops for PCs and wished you could custom design one instead of buying it off the shelf? Well you can! Lesson 3 provided an overview of what make a computer system, and here's some additional information that will help you actually bring that dream to life! If you do build our own PC, make sure you video it and bring it in to show to the class!
So first things first - visualise a typical PC. Think about the components you'll need. You'll also need to think about what you'll be using your PC for as the components will vary based on your requirements. If you're building it for your grandma (sorry, assuming your grandma isn't into heavy gaming or quantum simulations!), you could create something very nice and very cheap!
A few years ago I had a team of students build a bunch of computers (and network them) for a local charity. You can read more about the project here: https://diplomainit.wordpress.com/coursework/networking-project/ They were an inspiring bunch! The charity had been quoted 30,000 pounds to build their network which they didn't have, and our students sourced the computers and created their network for them for under £5000! The first stage involved buying PC components. Here's the original list of orders. You'll note the individual components (like the CPU, motherboards, case etc).
*MB = Motherboard.
You might also want to check out this video on Computing basics:
Google PC components and see if you can find some cool places to buy the things you need. You can also check out companies like Ebuyer, Aria, Misco etc.
Ebuyer has a specific site for the gamer: http://www.ebuyer.com/gaming/hardware
Have a look at: http://www.wikihow.com/Build-a-Computer
1. Submit all your worksheets from Lessons 1, 2,3
2. Submit the powerpoint presentation on John Von Neumann
3. Submit your spreadsheet on "Creating a PC from Scratch" with components/price/total and description