Check out these important Crash Course video summaries from the Raspberry Pi foundation
Candidates should be able to:
- state the purpose of the CPU
- describe the function of the CPU as fetching and executing instructions stored in memory
- explain how common characteristics of CPUs such as clock speed, cache size and number of cores affect their performance.
This presentation explains how a computer is made.
It shows how the simple switch (aka transistor) is put together in groups called "logic gates" (AND, OR, NOT, XOR etc.).
These logic gates are then combined to create logic circuits (binary additions, subtraction, shifting etc.).
These circuits are then combined to create the Arithmetic and Logic Unit (ALU) - the calculator inside the micro processor.
This video talks about micro processor "Instruction Sets" - the set of instructions that the processor understands.
There are lots of different manufactures of processors (AMD, Intel, ARM etc.) and they all have their own different instructions.
These instructions need to be converted (compiled) into "machine code" - code that can be understood by the processor. This means each instruction needs to be converted to a OP-CODE and OPERAND.
N.B. The definition of accumulator is wrong. It should be "A special register inside the ALU"
This presentation shows various different micro processors.
You will see that although they increase in complexity, they all have the same components and registers.
As time has progressed, transistors have become smaller and cheaper. The processors have therefore become more powerful.
Candidates should be able to:
- describe the difference between RAM and ROM
- explain the need for ROM in a computer system
- describe the purpose of RAM in a computer system
- explain how the amount of RAM in a personal computer affects the performance of the computer
- explain the need for virtual memory
- describe cache memory
- describe flash memory
- discuss how changes in memory technologies are leading to innovative computer designs.
In this video, I explore the ways of improving the performance of a computer system.
Approximate timing for various operations on a typical PC:
- execute typical instruction = 1/1,000,000,000 sec = 1 nanosec
- fetch from L1 cache memory = 0.5 nanosec
- fetch from L2 cache memory = 7 nanosec
- fetch from main memory = 100 nanosec
- send 2K bytes over 1Gbps network = 20,000 nanosec
- read 1MB sequentially from memory = 250,000 nanosec
- fetch from new disk location (seek) = 8,000,000 nanosec
- read 1MB sequentially from disk = 20,000,000 nanosec
- send packet US to Europe and back = 150 milliseconds = 150,000,000 nanosec
This presentation contains a lot of information about different types of memory (RAM, ROM, cache, virtual).
It shows the different components of a computer system.
N.B. A computer system is defined as:
Input -> Processing -> Output
This video shows the effects of processor performance when the following is changed:
- clock speed
- bus width
Modern processors cannot physically get faster (due to transistors being as small as they can be) so the way manufactures get more power is by adding:
- more cores
Also, it may be easier to replace "increase bus width" with "increase RAM".
Explanation of the differences between RAM, ROM and Virtual RAM