A program must be loaded into main memory to be executed by the processor. The instructions are fetched one at a time, decoded and executed sequentially by the processor. The sequence of instructions can only be changed by a conditional or unconditionaljump instruction.
Von Neumann architecture uses the storedprogram concept
In Von Neumann architecture instructions and data are stored in main memory and transferred using a singleshared bus
Von Neumann simplifies the design of the control unit
In Von Neumann data from memory and from devices are accessed in the same way
Harvard architecture is an alternative to Von Neumann it separates data and instructions into separate memories using different buses.
In Harvard architecture program instructions are no longer competing for the samebus as it uses differentbuses.
Harvard architecture is used within specialist embeddedsystems it has different sized memories and wordlengths.
In contemporary architecture there is one main memory for holding both data and instructions, but cache memory is divided into an instruction cache and a datacache, so data and instructions are retrieved using Harvard architecture
CISC is a large instruction set that is used to accomplish tasks in as few lines of assembly language as possible
RISC: a minimum number of very simple instructions, each taking one clock cycle are used to accomplish all the required operations in multiple general purpose registers.
Advantages of CISC:
quicker to code programs
the compiler has very little work to do to translate a high-level language statement into machine code
the code is relatively short, very little RAM is required to store the instructions
Advantages of RISC:
the hardware is simpler to build with fewer circuits needed for carrying out complex instructions
each instruction takes the same amount of time (pipelining is possible)
RAM is now cheap and RISC use of RAM and software allows better performance processors at less cost.
Multi-core processors are able to distribute workload across multipleprocessor cores, thus achieving significantly higher performance by performing several tasks in parallel.
A co-processor is an extra processor used to supplement the functions of the primary processor (the CPU)
Can be used to perform floating point binary
The main advantage of using a co-processor is that it can carry out certain types of calculations much faster than the main processor.
A Graphics Processing Unit (GPU) is a specialisedelectroniccircuit which is very efficient at manipulating computer graphics and imageprocessing. It consists of 1000s of smallefficientcores designed for parallelprocessing. It can process large blocks of visualdata simultaneously. A GPU can act together with a CPU to accelerate scientific, engineering and other applications.
GPUs are particularly useful when dealing with large amounts of data because they can handle many operations simultaneously. They also tend to be cheaper than CPUs so more can be added to increase overall performance.
Increasingly, GPUs are being integrated into CPUs to create hybrid chips called CUDA (Compute Unified Device Architecture). This means that both the CPU and GPU share memory space allowing them to communicate easily and efficiently.