Lesson 3
Early computers were able to calculate an output using fixed instructions
They could perform only one set of instructions
In the 1940s, John von Neumann and Alan Turing both proposed the stored program concept
The most common implementation of this concept is the von Neumann architecture
Instructions and data are stored in a common main memory and transferred using a single shared bus
What compromises might there be with a shared bus?
Program instructions and data are no longer competing for the same bus
Different sized memories and word lengths can be used for data and instructions
Harvard principles are used with specialist embedded systems and digital signal processing (DSP), where speed takes priority over the complexities of design
Can you think of any other examples of where this is used?
Owing primarily to cost and programming complexity, almost all general purpose computers are based on von Neumann’s principles
It simplifies the design of the Control Unit
Data from memory and from devices are accessed in the same way
Fill in the blanks
Von Neumann | Harvard |
---|---|
Used in PCs, laptops, servers and high performance computers | |
Data and instructions share the same memory. Both use the same word length | |
One bus for data and instructions is a bottleneck | |
One bus is simpler for control unit design |
In Complex Instruction Set Computers (CISC), a large instruction set is used to accomplish tasks in as few lines of assembly language as possible
A CISC instruction combines a “load/store” instruction with the instruction that carries out the actual calculation
A single assembly language instruction such as:
MULT A, B
could be used to multiply A by B and store the result back in A
LDA (LOAD)
STO (STORE)
MULT (MULTIPLY)
The CISC instruction:
MULT A, B
Might be written in a RISC assembly code as:
LDA R1, A
LDA R2, B
MULT R1, R2
STO R1 A
Write a report on the differences between CISC and RISC.
It should include:
The software has to be written to take advantage of multiple cores
For example, browsers such as Google Chrome and Mozilla Firefox can run several concurrent processes
Using tabbed browsing, different cores can work simultaneously processing requests, showing videos or running software in different windows
A co-processor is an extra processor used to supplement the functions of the primary processor (the CPU)
It may be used to perform floating point arithmetic, graphics processing, digital signal processing and other functions
It generally carries out only a limited range of functions
A Graphics Processing Unit (GPU) is a specialised electronic circuit which is very efficient at manipulating computer graphics and image processing
It consists of thousands of small efficient cores designed for parallel processing
It can process large blocks of visual data simultaneously
In a PC, a GPU may be present on a graphics card
Complete Tasks 1 and 2 in the worksheet set on Moodle