PROCESSORS,
PARALLEL
PROCESSING AND
VIRTUAL MACHINES
• Show understanding of (RISC) and (CISC) processors
• Show understanding of the use of pipelining and registers in RISC
processors .
• Show understanding of the four basic computer architectures
• Show understanding of the characteristics of massively parallel
computers
• Show understanding of the concept of a virtual machine
• It makes use of more internal instruction formats than the
RISC.
• It carrys out a given task with as few lines of assembly code
as possible.
• Processor hardware must therefore be capable of handling
more complex assembly code instructions
• It is based on a single complex instructions which need to be
converted by the processor into a numbber of instructions to
carry out required operation.
• Fewer built in instruction formats than the CISC.
• It makes use of less complex instructions which leads to
higher processor performance.
• It is done by breaking up the assembly code instructions into
a number of simpler single cycle instructions.
• Each instruction requires one clock cycle. It reduces the
amount of work done by the processor. Meaning there is
faster processor performance.
• Pipelining is the process of carrying out multiple
instructions concurrently.
• Each instruction will be at a different stage of the
fetch-decode-execute cycle.
• One instruction can be fetched while the previous
one is being decoded and the one before is being
executed.
• In the case of a branch, the pipeline is flushed.
• RISC (Reduced Instruction Set Computer) processors are
designed for pipelining efficiency.
Key Features :
• Each instruction takes one clock cycle.
• Fixed length instructions, making decoding easier.
• Limited instruction set, reducing complexity and stage
duration.
• A large number of general purpose registers reducing
memory access.
• IF - Instruction Fetch - Next instruction is fetched from
memory into the CIR
• ID - Instruction Decode - The CU decodes the opcode and
works out which registers and which ALU operation is
needed.
• OF - Operand Fetch - The operand values are read from the
register
• IE - Instruction Execute - ALU performs the operation
• WB - Write Back - The result is written back to the
destination register
Advantage
Explanation
• Increased throughput
• Multiple instructions handled at once
• Better use of CPU
components
• Fetch, decode, and execute units are all in use simultaneously
• Reduced idle time
• No waiting between stages
• Faster execution of
instruction stream
• Even if individual instructions don't run faster
• Pipelining lets the processor work on several instructions at once, each in a
different stage of the fetch-execute cycle (IF, ID, OF, IE, WB).
• Because RISC instructions are simple and single-cycle, every stage takes the
same time, so a new instruction can enter the pipeline every clock cycle and the
processor finishes one instruction per cycle once the pipeline is full.
• Pipelining is what makes RISC fast, but it makes interrupt
handling harder.
• When the interrupt is detected, there are already several
instructions partly through the pipeline - one in IF, one in
ID, one in OF, one in IE, one about to WB. There are 3
different approaches :
• Discard partial work
• Drain the pipeline
• Run ISR on remaining
•
•
•
•
•
Advantages
Disadvantages
• Simple architecture that is easy to
design and understand
• Slow for large computations
• Lower cost compared to parallel
systems
• Cannot perform true parallel
processing
• Easier to program and debug
• Poor multitasking performance
• Requires less power and hardware
• Becomes inefficient with modern
high-data applications
•
•
•
Advantages
Disadvantages
• Very fast for repetitive calculations
• All processors must follow the
same instruction
• Excellent for graphics and image
processing
• Less flexible than MIMD
• Can process large amounts of data
simultaneously
• Not suitable for tasks requiring
different operations
• Efficient use of parallel processing
• Performance drops if tasks are not
uniform
• Improves performance in scientific
calculations
Instruction Pool
•
•
•
Processor
Processor
Advantages
Disadvantages
• Very reliable and fault tolerant
• Very expensive to implement
• Errors can be detected easily
through multiple checks
• Complex system design
• Improves system accuracy
• Lower efficiency for ordinary tasks
• Suitable for safety-critical systems
• Requires significant hardware
resources
• Reduces risk of total system failure
•
•
•
•
Advantages
Disadvantages
• Supports true multitasking
• More expensive hardware
• Very high processing speed
• Complex programming and
synchronization
• Highly flexible architecture
• Difficult to manage communication
between processors
• Excellent for high-performance
computing
• Higher power consumption
• Efficient for complex and large-scale
applications
• Can experience coordination
problems between processors
• Can run many programs
simultaneously
• Massively parallel computers are systems that use hundreds
or even thousands of processors working simultaneously to
solve very large and complex problems.
• Instead of one processor doing all the work, tasks are
divided among many processors to increase speed and
efficiency.
• Large number of processors - system splits a larger task into smaller task
so multiple processors can work at the same time
• Paralell processing -Many processes are exceuted simultaneously and
not sequentially increasing processing speed
• Scalability - additional processors can be addedto improve performance
• Fault Tolerance - if one processor fails the other may keep working
improving reliabilty
• High power consumption - these systems require large amounts of
energyand hardware systems that are expensive
NB:
• Interconnected data pathways in a massively parallel computer system allow
processors to communicate and exchange data while working
simultaneously on different parts of a problem.
• The pathways connect all processors together, enabling information to move
quickly across the system.
• This improves coordination, supports parallel processing, and increases
overall performance.
• Without interconnected pathways, processors would not be able to share
results or synchronize tasks efficiently, making the system slower and less
effective for complex computations.
• Extremely fast processing
• Can solve highly complex problem
• Supports large-scale simulations
• Efficient handling of huge datasets
• Very expensive
• High energy consumption
• Complex programming and
maintenance
• Requires advanced cooling systems
• A virtual machine (VM) is a software-based version of a computer
that runs inside a physical computer.
• It behaves like a real computer and has its own operating system,
memory, storage, and applications.
• Virtual machines are created and managed by software known as
a hypervisor, which allows multiple virtual machines to share the
hardware resources of a single physical computer.
• This means that several operating systems can run independently
on the same machine at the same time.
• Virtual machines play an important role in modern computing
by allowing different operating systems and applications to run
on a single physical machine.
• They are widely used by software developers to test programs in
different operating systems without needing multiple
computers.
• Businesses use virtual machines to host several servers on one
physical server, reducing hardware costs and improving
efficiency.
• Virtual machines are also used in cybersecurity, where they
provide isolated environments for testing potentially harmful
software without affecting the host computer.
Advantages
• Allows multiple operating systems to run on a single
physical computer.
• Improves hardware utilisation by sharing resources
efficiently.
• Reduces hardware costs, as fewer physical machines
are needed.
• Lowers energy consumption and maintenance costs.
• Provides flexibility for testing different operating
systems and software.
• Enables safe software and malware testing in a
controlled environment.
Limitations of Virtual Machines
• Performance is generally slower than a physical machine because
resources are shared.
• Requires significant RAM, CPU power, and storage space.
• Running many VMs simultaneously can overload the host system.
• Management can become complex, especially in large organisations.
• If the host machine fails, all virtual machines running on it may be
affected. .
• There may be compatibility issues with certain hardware devices.
• Hypervisor vulnerabilities can create security risks.