1/31/2026
ADVANCED TOPICS
4 Hours
3 Marks (Approximately)
OUTLINES
• Multiprocessing Systems • Features of Typical Operating System
• Real and Pseudo‐Parallelism • Different Microprocessor Architectures
• Flynn’s Classification • Register Based and Accumulator Based
• Instruction Level, Thread Level and Architecture
Process Level Parallelism • RISC and CISC Architectures
• Interprocess Communication, Resource • Digital Signal Processors
Allocation and Deadlock
Prepared By: Er. Bibat Thokar 1/31/2026 2
Prepared By: Er. Bibat Thokar 1
1/31/2026
MULTIPROCESSING SYSTEMS
• Contains two or more similar general purpose processors of comparable capability
• All processors share access to common memory.
• All processors share access to I/O devices either through the same channels that
provide paths to the same devices
• System is controlled by an integrated operating system that provides interaction
between processors and their programs
• Processors can communicate with each other through memory
• Categorized into three types
Prepared By: Er. Bibat Thokar 1/31/2026 3
ORGANIZATION OF MULTIPROCESSING SYSTEMS
Prepared By: Er. Bibat Thokar 1/31/2026 4
Prepared By: Er. Bibat Thokar 2
1/31/2026
ORGANIZATION OF MULTIPROCESSING SYSTEMS
• Time shared or Common Bus
• Multiport Memory
• Central Control Unit
Prepared By: Er. Bibat Thokar 1/31/2026 5
TIME SHARED or COMMON BUS
• Multiple CPUs, I/O modules and memory modules connected to the same bus
• Time shared system must distinguish the modules on the bus to determine the source
and destination of the data
• Any module in the bus can temporarily act as a master
• When one module is controlling the bus, the other should be locked out
• Access to each module is divided on the basis of time
Prepared By: Er. Bibat Thokar 1/31/2026 6
Prepared By: Er. Bibat Thokar 3
1/31/2026
TIME SHARED or COMMON BUS
Prepared By: Er. Bibat Thokar 1/31/2026 7
MULTIPORT MEMORY
• Each processor and I/O module has dedicated path to each memory module
• More performance and complexity than earlier one
• Possible to configure portions of memory as private to one or more CPUs and or I/O
modules
• Allows increasing security against unauthorized access and the storage of recovery
routines from other processors
Prepared By: Er. Bibat Thokar 1/31/2026 8
Prepared By: Er. Bibat Thokar 4
1/31/2026
MULTIPORT MEMORY
Prepared By: Er. Bibat Thokar 1/31/2026 9
CENTRAL CONTROL UNIT
• Manages the transfer of separate data streams back and forth between independent
modules like CPU, memory and I/O
• Controller can buffer requests and perform arbitration and timing functions
• Pass status and control messages between CPUS
• Co-ordination is concentrated in the central control unit un-disturbing the modules
• More flexible and complex as well
Prepared By: Er. Bibat Thokar 1/31/2026 10
Prepared By: Er. Bibat Thokar 5
1/31/2026
REAL AND PSEUDO‐PARALLELISM
• Parallelism is the simultaneous use of multiple computer resources to solve a
computational problem
• Problem is broken in discrete parts that can be solved concurrently
• Instructions are executed one after another
• Only one instruction may execute at any moment in time
• Each part is further broken down to a series of instructions
• Instructions from each part execute simultaneously on different CPUs
Prepared By: Er. Bibat Thokar 1/31/2026 11
REAL AND PSEUDO‐PARALLELISM
• Real Parallelism consists of the parallel modes of physical devices so that each can
carry parallel operations to each other
• Core parallelism consists of real parallelism
• Multiple core processes which are physically different and performs their own operations
in parallel
Prepared By: Er. Bibat Thokar 1/31/2026 12
Prepared By: Er. Bibat Thokar 6
1/31/2026
REAL AND PSEUDO‐PARALLELISM
• Pseudo parallelism consists of the same device carrying the parallel operation
• Logical management for the parallelism in system
• Concurrent processing using parallelism is the pseudo parallelism
• Operates either in time division or using other types of parallel algorithms
Prepared By: Er. Bibat Thokar 1/31/2026 13
FLYNN’S CLASSIFICATION
• Distinguishes multi-processor computer architectures according to how they can be
classified along the two independent dimensions of Instruction and Data
• Each of these dimensions can have only one of two possible states: Single or Multiple.
• Four possible classifications according to Flynn
• Single Instruction, Single Data (SISD)
• Single Instruction, Multiple Data (SIMD)
• Multiple Instruction, Single Data (MISD)
• Multiple Instruction, Multiple Data (MIMD)
Prepared By: Er. Bibat Thokar 1/31/2026 14
Prepared By: Er. Bibat Thokar 7
1/31/2026
SINGLE INSTRUCTION, SINGLE DATA (SISD)
• Serial (non-parallel) computer
• Single Instruction
• Only one instruction stream is being acted on by the CPU during any one clock
cycle
• Single Data
• Only one data stream is being used as input during any one clock cycle
• Single instruction is performed on a single set of data in a sequential form.
• Examples: Older generation mainframes, minicomputers and workstations
Prepared By: Er. Bibat Thokar 1/31/2026 15
SINGLE INSTRUCTION, MULTIPLE DATA (SIMD)
• Type of parallel computer
• Single Instruction
• All processing units execute the same instruction at any given clock cycle
• Multiple Data
• Each processing unit can operate on a different data element
• Suited for specialized problems characterized by a high degree of regularity, such as
graphics/image processing.
• Single Instruction is performed on multiple data
• Example: 'For' loop statement
Prepared By: Er. Bibat Thokar 1/31/2026 16
Prepared By: Er. Bibat Thokar 8
1/31/2026
MULTIPLE INSTRUCTION, SINGLE DATA (MISD)
• Type of parallel computer
• Multiple Instruction
• Each processing unit operates on the data independently via separate instruction
streams
• Single Data
• A single data stream is fed into multiple processing units
• N numbers of processors are working on different set of instruction on the same set of
data
• Examples: Experimental Carnegie-Mellon [Link] computer (1971)
• Applicable to multiple frequency filters, multiple cryptography algorithms
Prepared By: Er. Bibat Thokar 1/31/2026 17
MULTIPLE INSTRUCTION, MULTIPLE DATA (MIMD)
• Type of parallel computer
• Multiple Instruction
• Every processor may be executing a different instruction stream
• Multiple Data
• Every processor may be working with a different data stream
• An interaction of N numbers of processors on a same data stream shared by all
processors
• Execution can be synchronous or asynchronous, deterministic or non-deterministic
• Examples: Supercomputers, networked parallel computer clusters and "grids", multi-
processor SMP computers, multi-core PCs
Prepared By: Er. Bibat Thokar 1/31/2026 18
Prepared By: Er. Bibat Thokar 9
1/31/2026
INSTRUCTION LEVEL PARALLELISM(ILP)
• Measure of how many of the operations in a computer program can be performed
simultaneously
• Consider the following program
• 1. e = a + b
• 2. f = c + d
• 3. g = e * f
• Operation 3 depends on the results of operations 1 and 2
• Operation 3 cannot be calculated until both of them are completed
• Operations 1 and 2 do not depend on any other operation, so they can be calculated
simultaneously
Prepared By: Er. Bibat Thokar 1/31/2026 19
INSTRUCTION LEVEL PARALLELISM(ILP)
• If we assume that each operation can be completed in one unit of time then these three
instructions can be completed in a total of two units of time, giving an ILP of 3/2
• A goal of compiler and processor designers is to identify and take advantage of as much
ILP as possible
• Allows the compiler and the processor to overlap the execution of multiple instructions or
even to change the order in which instructions are executed
• No. of ILP existing in programs is very application specific
• For example graphics and scientific computing the amount can be very large
Prepared By: Er. Bibat Thokar 1/31/2026 20
Prepared By: Er. Bibat Thokar 10
1/31/2026
THREAD LEVEL PARALLELISM
• Task Parallelism, function parallelism and control parallelism
• Form of parallelization of computer code across multiple processors in parallel
computing environments
• Focuses on distributing execution processes (threads) across different parallel
computing nodes
• Contrasts to data parallelism as another form of parallelism
• Single program might have several threads (or functions) that could be executed
separately or in parallel
• Example: Direct Memory Access as a separate thread from the computation thread
Prepared By: Er. Bibat Thokar 1/31/2026 21
THREAD LEVEL PARALLELISM
• Multi-threading (MT) general approach was introduced in • Example:
the 1970s when systems were designed to run multiple
• if CPU="a" then
computation threads in parallel
• do task "A"
• Emphasizes the distributed (parallelized) nature of the
processing (i.e. threads), as opposed to the data (data • else if CPU="b" then
parallelism) • do task "B"
• end if
• ...
• end program
Prepared By: Er. Bibat Thokar 1/31/2026 22
Prepared By: Er. Bibat Thokar 11
1/31/2026
PROCESS LEVEL PARALLELISM
• Use of one or more central processing units (CPUs) within a single computer system
• Refers to the ability of a system to support more than one processor and/or the ability to
allocate tasks between them
• Trends indicated by ever faster networks, distributed systems, and multi-processor
computer architectures (even at the desktop level) clearly show parallelism
Prepared By: Er. Bibat Thokar 1/31/2026 23
INTER-PROCESS COMMUNICATION (IPC)
• Set of methods for the exchange of data among multiple threads in one or more
processes
• Processes may be running on one or more computers connected by a network
• IPC methods are divided into methods for message passing, synchronization, shared
memory, and remote procedure calls (RPC)
• Combination of IPC with the address space concept is the foundation for address space
independence/isolation
• Single operating system controls the use of system resources in a multiprocessing
environment
Prepared By: Er. Bibat Thokar 1/31/2026 24
Prepared By: Er. Bibat Thokar 12
1/31/2026
INTER-PROCESS COMMUNICATION
• IPC allows the processes running on the single system to
communicate with other.
• Two basic communication model for providing IPC are:
• Shared Memory
• Message Passing
Prepared By: Er. Bibat Thokar 25
SHARED MEMORY
• Communication between processes using shared memory requires
processes to share some variable and it completely depends on how
programmer will implement it.
• One way of communication using shared memory can be imagined like
this:
• Suppose process1 and process2 are executing simultaneously and
they share some resources or use some information from other
process, process1 generate information about certain computations or
resources being used and keeps it as a record in shared memory.
Prepared By: Er. Bibat Thokar 26
Prepared By: Er. Bibat Thokar 13
1/31/2026
SHARED MEMORY
• When process2 need to use the shared
information, it will check in the record stored in
shared memory and take note of the information
generated by process1 and act accordingly.
• Processes can use shared memory for
extracting information as a record from other
process as well as for delivering any specific
information to other process.
Prepared By: Er. Bibat Thokar 27
MESSAGE PASSING
• In this method, processes communicate with each other
without using any kind of shared memory.
• If two processes p1 and p2 want to communicate with each
other, they proceed as follow:
• Establish a communication link (if a link already exists, no
need to establish it again).
• Start exchanging messages using basic primitives.
Prepared By: Er. Bibat Thokar 28
Prepared By: Er. Bibat Thokar 14
1/31/2026
MESSAGE PASSING
• We need at least two primitives:
• send(message, destination) or send(message)
• receive(message, host) or receive(message)
Prepared By: Er. Bibat Thokar 29
RESOURCE ALLOCATION
• Resources could be access to a section of the computer's memory, data in a device
interface buffer, one or more files, or the required amount of processing power.
• Computer with a single processor can only perform one process at a time, regardless of
the amount of programs loaded by the user (or initiated on start-up)
• Computers using single processors appear to be running multiple programs at once
• Processor quickly alternates between programs, processing what is needed in very
small amounts of time→multitasking or time slicing
• Computer with multiple processors different processes can be allocated to different
processors
Prepared By: Er. Bibat Thokar 1/31/2026 30
Prepared By: Er. Bibat Thokar 15
1/31/2026
DEADLOCK – [1]
• Process requests resources
• If the resources are not available at that time, the process enters a wait state
• Waiting processes may never again change state, because the resources they have
requested are held by other waiting processes→deadlock
• Processes need access to resources in reasonable order
• Suppose a process holds resource A and requests resource B, at same time another
process holds B and requests A; both are blocked and remain in deadlock
Prepared By: Er. Bibat Thokar 1/31/2026 31
DEADLOCK – [2]
• Deadlock is a situation where a set of processes are blocked
because each process is holding a resource and waiting for another
resource acquired by some other process.
• Deadlock occurs when a process in a set are in simultaneously wait
state for the release of resource held exclusively by one of the
waiting process in the set.
Prepared By: Er. Bibat Thokar 1/31/2026 32
Prepared By: Er. Bibat Thokar 16
1/31/2026
CONDITION FOR DEADLOCK
• Mutual Exclusion condition
• Hold and wait condition
• No preemption condition
• Circular wait condition
Prepared By: Er. Bibat Thokar 1/31/2026 33
MUTUAL EXCLUSION CONDITION
• There should be a resource that can only be held by one process at
a time.
• In the diagram above, there is a single instance of Resource-1 and
it is held by Process-1 only.
Prepared By: Er. Bibat Thokar 1/31/2026 34
Prepared By: Er. Bibat Thokar 17
1/31/2026
HOLD AND WAIT CONDITION
• A process can hold multiple resources and still request more resources
from other processes which are holding them.
• In the diagram given above, Process 2 holds Resource 2 and Resource 3
and is requesting the Resource 1 which is held by Process 1.
Prepared By: Er. Bibat Thokar 1/31/2026 35
NO PREEMPTION CONDITION
• A process can hold multiple resources and still request more resources
from other processes which are holding them.
• In the diagram given above, Process 2 holds Resource 2 and Resource 3
and is requesting the Resource 1 which is held by Process 1.
Prepared By: Er. Bibat Thokar 1/31/2026 36
Prepared By: Er. Bibat Thokar 18
1/31/2026
CIRCULAR WAIT CONDITION
• A process is waiting for the resource held by the second process, which is waiting
for the resource held by the third process and so on, till the last process is waiting
for a resource held by the first process. This forms a circular chain.
• For example: Process 1 is allocated Resource2 and it is requesting Resource 1.
Similarly, Process 2 is allocated Resource 1 and it is requesting Resource 2. This
Prepared By: Er. Bibat Thokar 1/31/2026 37
forms a circular wait loop.
INTRODUCTION OPERATING SYSTEM
• Operating system is a program that acts as an interface between the user and
the computer hardware and controls the execution of all kinds of programs.
• An interface between a computer user and computer hardware.
• A software which performs all the basic tasks like file management, memory
management, process management, handling input and output, and controlling
peripheral devices such as disk drives and printers.
• Some popular Operating Systems include Linux Operating System, Windows
Operating System, VMS, OS/400, AIX, z/OS, etc.
Prepared By: Er. Bibat Thokar 1/31/2026 38
Prepared By: Er. Bibat Thokar 19
1/31/2026
PICTORIAL VISUALIZATION OF OS
Prepared By: Er. Bibat Thokar 1/31/2026 39
• Operating System hides the complexity of hardware and presents a
beautiful interface to the users.
Figure: Operating Systems turn ugly hardware into beautiful abstractions.
Prepared By: Er. Bibat Thokar 1/31/2026 40
Prepared By: Er. Bibat Thokar 20
1/31/2026
DIFFERENT MICROPROCESSOR ARCHITECTURES
• Register Based Architectures
• Accumulator Based Architecture
Prepared By: Er. Bibat Thokar 1/31/2026 41
ACCUMULATOR BASED ARCHITECTURE
• Accumulator is a most significant register then compared to other registers
• Most of the arithmetic and logic operations are performed using the accumulator
.performed via the accumulator
• Internal architecture of 8085 shows that the registers B,C,D,E,H and L are connected
with the ALU through the accumulator and temporary register
• Data can only enter into the ALU from accumulator and the out pot of the ALU can be
stared in accumulator through data bus
Prepared By: Er. Bibat Thokar 1/31/2026 42
Prepared By: Er. Bibat Thokar 21
1/31/2026
REGISTER BASED ARCHITECTURE
• All the arithmetic and logical operation consists of the operands of any registers
• Input/output operations here register A and register B are similar
• Internal architecture of 8086 shows that the registers A, B, C, D and others directly with
the ALU.
• Data can enter into the ALU from any registers, and for I/O operation register A only can
be used
• Advantage of register based architecture is that extendibility and flexibility in
programming.
• Processor will be enhanced in register based architecture.
• Disadvantage is requirement of complex circuitry.
Prepared By: Er. Bibat Thokar 1/31/2026 43
RISC AND CISC ARCHITECTURE
RISC CISC
Some of the instructions refer to memory Most of the instructions refer to Memory
There are few addressing modes. Mostly There are many addressing modes
Register to register addressing modes
There are few instructions There are many instructions
It can include simple instructions and takes one It can include complex instructions and takes
cycle multiple cycles
Hardware executes the instructions Micro-program executes the instructions
There are Fixed format instructions There are Variable format instructions
It can be easier to decode as instructions have a It can be complex to decode as instructions have
fixed format variable format
There are multiple register sets are used A single register set is used
RISC is highly pipelined CISC is not pipelined or less pipelined
Prepared By: Er. Bibat Thokar 1/31/2026 44
Prepared By: Er. Bibat Thokar 22
1/31/2026
END OF CHAPTER
Prepared By: Er. Bibat Thokar 23