~ Year 9: Build your own PC, CPU theory and more ...


Welcome

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?

Embedded Systems

-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)

and more...

All the best!

The future of PCs

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'!

Lesson 1

What is a CPU? How does it work? CPU basics, Structure, function and performance consideration

Starter

The History of Intel Processors

Discussion

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.

Main Tasks

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)

Theory and Notes

*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.

An Intel 80486DX2 CPU from aboveAn Intel 80486DX2 from below

A processor (CPU) has several core components that work together to perform calculations. You need to know each of these and how they interact:

Parts of the CPU  - What's inside!?

 

Arithmetic logic unit

 
A simple example of an arithmetic logic unit (2-bit ALU) that does AND, OR, XOR, and addition

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)

Control unit

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.

Clock

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.

 
Lights flash at frequency f = 0.5 Hz (Hz = hertz), 1.0 Hz and 2.0 Hz, where {\displaystyle x}x Hz means {\displaystyle x}xflashes per second.

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.

General purpose and dedicated registers

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:

  • General purpose register - allow users to use them as they wish
  • Address registers - used for storing addresses
  • Conditional registers - hold truth values for loop and selection

There are also 4 registers in particular that you need to know, we'll meet them in more detail in the next chapter:

  • Program Counter (PC) - an incrementing counter that keeps track of the memory address of which instruction is to be executed next.
  • Memory Address Register (MAR) - holds the address in memory of the next instruction to be executed
  • Memory Buffer Register (MBR) - a two-way register that holds data fetched from memory (and ready for the CPU to process) or data waiting to be stored in memory
  • Current Instruction register (CIR) - a temporary holding ground for the instruction that has just been fetched from memory
  • General purpose registers -
  • Accumulator - Used to store results of calculations

Increasing performance 

Increasing performance. If we want to increase the performance of our computer, we can try several things

  • Increasing the clock speed
  • Adjusting word length
  • Increasing bus widths

There are four key factors about CPU architecture that affect its performance. What are they?

 

  1. Cores
  2. Clock Speed
  3. Cache Size
  4. Processor Type (RISC AND CISC)

but coming back to:

  • Increasing the clock speed
  • Adjusting word length
  • Increasing bus widths

For each different method we are going to look at these old games consoles to see how performance increase was achieved:

System Year Speed Word size Notes
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

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
RP2A07.jpg Pin fin heat sink with a z-clip.png AMD Athlon II X4 630 heatsink-fan.jpg Watercooling vue cpu northbridge.jpg
       
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
 
Compsognathus

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:

A small living thing, with little claws and tough skin. It lived over ten plus five, times ten, plus seven, times ten, times ten, times ten, times ten, times ten, times ten years ago.

If we were able to use more letters per word (have a larger word size), then we could achieve more in fewer words.

A small dinosaur with little claws and tough skin. It lived over one hundred and fifty-seven million years ago.

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

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

Plenary and Independent Learning

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!)

Lesson 2

The fetch execute cycle and John Von Neumann

Starter


Discussion

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. 

Main Tasks

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.

Theory and Notes

John Von Neumann

Click here for info on this famous computer scientist. You may also want to use other sources.

Fetch Execute Cycle

Click here for more information

Plenary

What do you think of this?!

Lesson 3

What really is a Computer System? Define Hardware and Software ...and more!

Starter

 Computer Systems have really evolved since then! Watch Steve Jobs reveal the first Mac in 1984.

Discussion

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. 

Main Tasks

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.

  1. http://www.ebuyer.com/gaming/hardware
  2. www.misco.com
  3. www.aria.co.uk

Feel free to download and use this spreadsheet template to complete your challenge, or create your own!

Theory - useful links for your research.

Computer Systems

http://www.bbc.co.uk/bitesize/standard/computing/computer_systems/

https://en.wikipedia.org/wiki/Computer

http://www.igcseict.info/theory/1/hwsw/

Hardware and Software: http://www.bbc.co.uk/education/topics/zmpsgk7

Computer Components: http://study.com/academy/lesson/what-is-computer-hardware-components-definition-examples.html

Intro to Computers: http://cs.sru.edu/~mullins/cpsc100book/module02_introduction/module02-03_introduction.html

Plenary

Most powerful computer in the world?

Want to build your very own PC?

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!

Image result for wikipedia commons gaming PC

Components needed

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:

Where do I buy my components?

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

Tutorial on putting a PC together from scratch

Have a look at: http://www.wikihow.com/Build-a-Computer

End of topic assessment

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