SlideShare a Scribd company logo
1 of 45
Introduction and Characteristics of Multiprocessor
Interconnection Structures
Inter Processor Arbitration
Inter Processor communication and synchronization
Cache Coherence
Multiprocessor
Introduction
 A multiprocessor system is an interconnection of two
or more CPUs with memory and I/O equipment.
 IOPs are generally not included in the definitions of
multiprocessor system unless they have
computational facilities comparable to CPUs.
 Multiprocessor are MIMD system.
 Multicomputer system includes number of
computers connected together by means of
communication lines.
 It improves reliability.
 If one system fails, the whole system continue to
function with perhaps low efficiency.
 The computation can proceed in parallel in two
ways:
 Multiple independent jobs operate in parallel
 A single job can be partitioned into multiple parallel tasks
 Multiprocessor are classified by the way their
memory is organized:
 Shared memory or tightly coupled microprocessor
 Distributed memory or loosely coupled microprocessor
Interconnection Structures
 The components that forms the multiprocessor
system are:
 CPUs
 IOPs
 I/O devices
 Memory
 Physical forms available for establishing an
interconnection network are:
 Time Shared Common Bus
 Multiport Memory
 Crossbar Switch
 Multistage switching network
 Hypercube System
Time Shared Common Bus
Multistage Switching Network
Hypercube Interconnection
 Hypercube or binary n-cube multiprocessor
structure is loosely coupled system.
 It composed of N=2^n processors interconnected in
n-dimensional binary cube.
 Each processor form the node of the cube.
 Each processor has direct communication path with
n other neighbor processor.
 There are 2^n distinct n-bit binary address that can
be assigned to each processor.
Hypercube Connection
Interprocessor Arbitration
 Computer system contain a number of buses at
various levels to facilitate the transfer of information.
 A bus that connects major components in a
multiprocessor system such as CPU, IOP and
memory, is called system bus.
 Arbitration logic is the part of system bus controller
placed between local bus and system bus that resolve
the multiple contention for shared resources.
System Bus
 A typical system consists of approximately 100 signal
lines.
 These lines are divided into three functional groups:
data, address and control.
 In addition there are power distribution lines that
supply power to the components.
 Example IEEE standard 796 multi bus system has 16
data lines, 24 address lines, 26 control lines and 20
power lines for total of 86 lines.
 Data lines provide a path for the transfer of data
between processor and common memory.
 The number of data lines are usually multiple of 8,
with 16 and 32 being most common.
 Address lines are used to indentify memory location
or any other source and destination units.
 The number of address lines determine the
maximum possible memory capacity in the system.
 The control lines provides signal for controlling
information transfer.
 Timing signals indicate validity of data and address.
 Command signal specify the operation to be
performed.
 Data transfer on the system can be
 Synchronous
 Asynchronous
Arbitration Procedure
 Arbitration procedure service all processor requests
on the basis of established priorities.
 It can be implemented in two ways:
 Serial Connection of Units
 Parallel Connection of Units
Serial Arbitration Procedure
 It is obtained from daisy chain connection of bus
arbitration circuit similar to the case of priority
interrupt.
 Each bus has its own arbiter logic which are
arranged according to the priorities from highest to
the lowest.
Parallel Arbitration Logic
 It uses an external priority encoder and decoder.
 Each bus arbiter has a bus request output lines and a
bus acknowledge input lines.
 Each arbiter enables request lines when its processor
is requesting the system bus.
 The one with highest priority determine by the
output of the decoder get access to the bus.
Dynamic Arbitration Algorithm
 Serial and parallel bus arbitration are static since the
priorities assigned is fixed.
 In dynamic arbitration priorities of the system
changes while the system is in operation.
 The various algorithms used are:
 Time Slice
 Polling
 Least Recently Used(LRU)
 First In First Out(FIFO)
 Rotating Daisy Chain
Inter processor Communication
 All the processors in the multi processor system need
to communicate with each other.
 The most common way is to set aside portion of
memory that is accessible to all processor.
 Sending processor puts the data and the address of
the receiving processor in the memory.
 All the processor periodically check the memory for
any information.
 If they find their address they read the data.
 This procedure is time consuming.
 Another procedure is to send the interrupt signal to
the receiving processor whenever the sending
processor leaves the message.
 In addition to shared memory, multiprocessor
system may have other shared resources.
 To prevent the conflicting use of shared resources by
several processor there must be provision for
assigning resources to processor.
 This task is handled by the Operating System.
 There are three organization that have been used in
design of OS of multiprocessor:
 Master-Slave Configuration
 Separate OS
 Distributed OS
 In master slave configuration, one processor
designated as master execute OS function. If slave
processor need OS service, it must request to the
master processor.
 In separate OS configuration, each processor can
execute the OS routine it needed.
 This organization is suited for loosely coupled system
where every processor have its own copy of the entire
OS.
 In distributed OS, the OS routines are distributed
among the processor.
 Each particular OS function is assigned to only one
processor at a time.
 Since the routines float from one processor to
another it is also called floating OS.
Inter processor Synchronization
 Synchronization is special case of communication
where data used to communicate between processor
is control information.
 It is needed to enforce correct sequence of process
and to ensure mutually exclusive access to shared
writable data.
 A number of hardware mechanisms for mutual
exclusion have been developed. One of the most
popular is through the use of binary semaphore.
Mutual Exclusion with Semaphore
 Proper functioning multi-processor should
guarantee orderly access to shared resources. So that
data can not be changed simultaneously by two
processor.
 This is called mutual exclusion.
 Mutual exclusion must be provided in multi
processor to enable one processor to lock out access
to shared resources once it entered in critical section.
 Critical section is a program sequence, that must be
completed once begun.
 Binary variable semaphore is used to indicate
whether the processor is in critical section.
 Semaphore is software controlled flag stored in
common memory.
 If it is 1, processor is executing critical section. If it is
0, it indicate memory is available for the other
processor.
 Testing and setting semaphore is itself a critical task
and must be performed in single indivisible task.
 A semaphore can be initialized by means of test and
set instruction in conjunction with a hardware lock
mechanism.
 A hardware lock is processor generated signal that
prevent other processor from using system bus as
long as signal is active.
 Test and set instruction test and set semaphore and
activate lock mechanism during the time that it is
testing and setting it.
 The last instruction in the program must be clear
location SEM to 0 to released shared resource to
other processor.
 Lock signal must be active during execution of test
and set instruction.
 It does not have to be active once semaphore is set.
Cache Coherence
 In shared memory multi-processor system, processor
share memory and they have local memory(part or
all of which is cache).
 To ensure ability of the system to execute memory
instruction independently, multiple copies of the
data must be identical which is called cache
coherence.
Condition to Incoherence
 This condition arise when the processor need to
share the writable data.
 In both policy write back and write through
incoherence condition is created.
 In case of DMA also, IOP modify the data in main
memory which reside in the cache and can’t be
updated.
Solution using Software
 A simple way is to disallow to have private cache and
use the common memory for shared resources.
 Another way is to cache only the read only data in
the local cache and use the common memory for
writable data.
 A scheme that allow writable data to reside in at least
in one cache is the use of centralized global table.
 In this table status of each memory block as read
only(RO) or read write(RW) is stored.
 All local cache can store RO memory blocks.
 RW memory blocks are stored only one cache that is
shared by all.
Hardware Solution
 Snoopy cache controller is a hardware specially
designed to watch the system bus for write
operation.
 When a word is updated in cache, main memory is
also updated.
 Local snoopy controller watch the cache if they have
the address updated.
 If the copy exist, it is marked invalid.
 If CPU request the same address, it is fetch from the
main memory and updated in cache.

More Related Content

What's hot

Unit 5 Advanced Computer Architecture
Unit 5 Advanced Computer ArchitectureUnit 5 Advanced Computer Architecture
Unit 5 Advanced Computer ArchitectureBalaji Vignesh
 
Operating Systems - memory management
Operating Systems - memory managementOperating Systems - memory management
Operating Systems - memory managementMukesh Chinta
 
Inter Process Communication
Inter Process CommunicationInter Process Communication
Inter Process CommunicationAdeel Rasheed
 
Virtual memory
Virtual memoryVirtual memory
Virtual memoryAnuj Modi
 
Input output organization
Input output organizationInput output organization
Input output organizationabdulugc
 
IO Techniques in Computer Organization
IO Techniques in Computer OrganizationIO Techniques in Computer Organization
IO Techniques in Computer OrganizationOm Prakash
 
Asynchronous data transfer
Asynchronous data transferAsynchronous data transfer
Asynchronous data transferpriya Nithya
 
Microprogram Control
Microprogram Control Microprogram Control
Microprogram Control Anuj Modi
 
Memory management ppt
Memory management pptMemory management ppt
Memory management pptManishaJha43
 
OS - Process Concepts
OS - Process ConceptsOS - Process Concepts
OS - Process ConceptsMukesh Chinta
 
Io techniques & its types
Io techniques & its typesIo techniques & its types
Io techniques & its typesNehal Naik
 
Multiprocessor Architecture (Advanced computer architecture)
Multiprocessor Architecture  (Advanced computer architecture)Multiprocessor Architecture  (Advanced computer architecture)
Multiprocessor Architecture (Advanced computer architecture)vani261
 
Floating point arithmetic operations (1)
Floating point arithmetic operations (1)Floating point arithmetic operations (1)
Floating point arithmetic operations (1)cs19club
 
Memory management
Memory managementMemory management
Memory managementcpjcollege
 
Pipelining and vector processing
Pipelining and vector processingPipelining and vector processing
Pipelining and vector processingKamal Acharya
 
Modes Of Transfer in Input/Output Organization
Modes Of Transfer in Input/Output OrganizationModes Of Transfer in Input/Output Organization
Modes Of Transfer in Input/Output OrganizationMOHIT AGARWAL
 

What's hot (20)

Unit 5 Advanced Computer Architecture
Unit 5 Advanced Computer ArchitectureUnit 5 Advanced Computer Architecture
Unit 5 Advanced Computer Architecture
 
Operating Systems - memory management
Operating Systems - memory managementOperating Systems - memory management
Operating Systems - memory management
 
Inter Process Communication
Inter Process CommunicationInter Process Communication
Inter Process Communication
 
Virtual memory
Virtual memoryVirtual memory
Virtual memory
 
Input output organization
Input output organizationInput output organization
Input output organization
 
IO Techniques in Computer Organization
IO Techniques in Computer OrganizationIO Techniques in Computer Organization
IO Techniques in Computer Organization
 
Interrupts and types of interrupts
Interrupts and types of interruptsInterrupts and types of interrupts
Interrupts and types of interrupts
 
Asynchronous data transfer
Asynchronous data transferAsynchronous data transfer
Asynchronous data transfer
 
Microprogram Control
Microprogram Control Microprogram Control
Microprogram Control
 
Memory management ppt
Memory management pptMemory management ppt
Memory management ppt
 
Input & Output
Input & OutputInput & Output
Input & Output
 
OS - Process Concepts
OS - Process ConceptsOS - Process Concepts
OS - Process Concepts
 
Memory management
Memory managementMemory management
Memory management
 
Io techniques & its types
Io techniques & its typesIo techniques & its types
Io techniques & its types
 
Multiprocessor Architecture (Advanced computer architecture)
Multiprocessor Architecture  (Advanced computer architecture)Multiprocessor Architecture  (Advanced computer architecture)
Multiprocessor Architecture (Advanced computer architecture)
 
Floating point arithmetic operations (1)
Floating point arithmetic operations (1)Floating point arithmetic operations (1)
Floating point arithmetic operations (1)
 
Memory management
Memory managementMemory management
Memory management
 
Cache memory
Cache memoryCache memory
Cache memory
 
Pipelining and vector processing
Pipelining and vector processingPipelining and vector processing
Pipelining and vector processing
 
Modes Of Transfer in Input/Output Organization
Modes Of Transfer in Input/Output OrganizationModes Of Transfer in Input/Output Organization
Modes Of Transfer in Input/Output Organization
 

Similar to Multiprocessor

Operating system (BCS303) MODULE 1 NOTES
Operating system (BCS303) MODULE 1 NOTESOperating system (BCS303) MODULE 1 NOTES
Operating system (BCS303) MODULE 1 NOTESKopinathMURUGESAN
 
Session1 intro to_os
Session1 intro to_osSession1 intro to_os
Session1 intro to_osKalyani Patil
 
Parallel Processing Presentation2
Parallel Processing Presentation2Parallel Processing Presentation2
Parallel Processing Presentation2daniyalqureshi712
 
IS 139 Lecture 5
IS 139 Lecture 5IS 139 Lecture 5
IS 139 Lecture 5wajanga
 
Chap2 comp architecture
Chap2 comp architectureChap2 comp architecture
Chap2 comp architectureraksharao
 
OS - Ch1
OS - Ch1OS - Ch1
OS - Ch1sphs
 
Chapter 1 - Introduction
Chapter 1 - IntroductionChapter 1 - Introduction
Chapter 1 - IntroductionWayne Jones Jnr
 
Operating systems. replace ch1 with numbers for next chapters
Operating systems. replace ch1 with numbers for next chaptersOperating systems. replace ch1 with numbers for next chapters
Operating systems. replace ch1 with numbers for next chapterssphs
 
ARM architcture
ARM architcture ARM architcture
ARM architcture Hossam Adel
 
Unit 6 inter processor communication and synchronization
Unit 6 inter processor communication and synchronizationUnit 6 inter processor communication and synchronization
Unit 6 inter processor communication and synchronizationDipesh Vaya
 
COMPUTER BASIC AND FUNDAMENTAL AND ITS ORGANISATION.pptx
COMPUTER BASIC AND FUNDAMENTAL AND ITS ORGANISATION.pptxCOMPUTER BASIC AND FUNDAMENTAL AND ITS ORGANISATION.pptx
COMPUTER BASIC AND FUNDAMENTAL AND ITS ORGANISATION.pptxPannaBushratul
 
Multiprocessor
Multiprocessor Multiprocessor
Multiprocessor Irfan Khan
 

Similar to Multiprocessor (20)

Chapter 10
Chapter 10Chapter 10
Chapter 10
 
CH01.pdf
CH01.pdfCH01.pdf
CH01.pdf
 
Operating system (BCS303) MODULE 1 NOTES
Operating system (BCS303) MODULE 1 NOTESOperating system (BCS303) MODULE 1 NOTES
Operating system (BCS303) MODULE 1 NOTES
 
Session1 intro to_os
Session1 intro to_osSession1 intro to_os
Session1 intro to_os
 
Parallel Processing.pptx
Parallel Processing.pptxParallel Processing.pptx
Parallel Processing.pptx
 
Parallel Processing Presentation2
Parallel Processing Presentation2Parallel Processing Presentation2
Parallel Processing Presentation2
 
IS 139 Lecture 5
IS 139 Lecture 5IS 139 Lecture 5
IS 139 Lecture 5
 
Chap2 comp architecture
Chap2 comp architectureChap2 comp architecture
Chap2 comp architecture
 
OS - Ch1
OS - Ch1OS - Ch1
OS - Ch1
 
Chapter 1 - Introduction
Chapter 1 - IntroductionChapter 1 - Introduction
Chapter 1 - Introduction
 
Operating systems. replace ch1 with numbers for next chapters
Operating systems. replace ch1 with numbers for next chaptersOperating systems. replace ch1 with numbers for next chapters
Operating systems. replace ch1 with numbers for next chapters
 
ARM architcture
ARM architcture ARM architcture
ARM architcture
 
Cache memory
Cache memoryCache memory
Cache memory
 
Unit 6 inter processor communication and synchronization
Unit 6 inter processor communication and synchronizationUnit 6 inter processor communication and synchronization
Unit 6 inter processor communication and synchronization
 
OS UNIT1.pptx
OS UNIT1.pptxOS UNIT1.pptx
OS UNIT1.pptx
 
COMPUTER BASIC AND FUNDAMENTAL AND ITS ORGANISATION.pptx
COMPUTER BASIC AND FUNDAMENTAL AND ITS ORGANISATION.pptxCOMPUTER BASIC AND FUNDAMENTAL AND ITS ORGANISATION.pptx
COMPUTER BASIC AND FUNDAMENTAL AND ITS ORGANISATION.pptx
 
Multiprocessor
Multiprocessor Multiprocessor
Multiprocessor
 
Ch1
Ch1Ch1
Ch1
 
Cs8493 unit 1
Cs8493 unit 1Cs8493 unit 1
Cs8493 unit 1
 
OS-ch01-2024.ppt
OS-ch01-2024.pptOS-ch01-2024.ppt
OS-ch01-2024.ppt
 

More from Kamal Acharya

Programming the basic computer
Programming the basic computerProgramming the basic computer
Programming the basic computerKamal Acharya
 
Introduction to Computer Security
Introduction to Computer SecurityIntroduction to Computer Security
Introduction to Computer SecurityKamal Acharya
 
Making decision and repeating in PHP
Making decision and repeating  in PHPMaking decision and repeating  in PHP
Making decision and repeating in PHPKamal Acharya
 
Working with arrays in php
Working with arrays in phpWorking with arrays in php
Working with arrays in phpKamal Acharya
 
Text and Numbers (Data Types)in PHP
Text and Numbers (Data Types)in PHPText and Numbers (Data Types)in PHP
Text and Numbers (Data Types)in PHPKamal Acharya
 
Capacity Planning of Data Warehousing
Capacity Planning of Data WarehousingCapacity Planning of Data Warehousing
Capacity Planning of Data WarehousingKamal Acharya
 
Information Privacy and Data Mining
Information Privacy and Data MiningInformation Privacy and Data Mining
Information Privacy and Data MiningKamal Acharya
 
Association Analysis in Data Mining
Association Analysis in Data MiningAssociation Analysis in Data Mining
Association Analysis in Data MiningKamal Acharya
 
Classification techniques in data mining
Classification techniques in data miningClassification techniques in data mining
Classification techniques in data miningKamal Acharya
 
Introduction to Data Mining and Data Warehousing
Introduction to Data Mining and Data WarehousingIntroduction to Data Mining and Data Warehousing
Introduction to Data Mining and Data WarehousingKamal Acharya
 

More from Kamal Acharya (20)

Programming the basic computer
Programming the basic computerProgramming the basic computer
Programming the basic computer
 
Computer Arithmetic
Computer ArithmeticComputer Arithmetic
Computer Arithmetic
 
Introduction to Computer Security
Introduction to Computer SecurityIntroduction to Computer Security
Introduction to Computer Security
 
Session and Cookies
Session and CookiesSession and Cookies
Session and Cookies
 
Functions in php
Functions in phpFunctions in php
Functions in php
 
Web forms in php
Web forms in phpWeb forms in php
Web forms in php
 
Making decision and repeating in PHP
Making decision and repeating  in PHPMaking decision and repeating  in PHP
Making decision and repeating in PHP
 
Working with arrays in php
Working with arrays in phpWorking with arrays in php
Working with arrays in php
 
Text and Numbers (Data Types)in PHP
Text and Numbers (Data Types)in PHPText and Numbers (Data Types)in PHP
Text and Numbers (Data Types)in PHP
 
Introduction to PHP
Introduction to PHPIntroduction to PHP
Introduction to PHP
 
Capacity Planning of Data Warehousing
Capacity Planning of Data WarehousingCapacity Planning of Data Warehousing
Capacity Planning of Data Warehousing
 
Data Warehousing
Data WarehousingData Warehousing
Data Warehousing
 
Search Engines
Search EnginesSearch Engines
Search Engines
 
Web Mining
Web MiningWeb Mining
Web Mining
 
Information Privacy and Data Mining
Information Privacy and Data MiningInformation Privacy and Data Mining
Information Privacy and Data Mining
 
Cluster Analysis
Cluster AnalysisCluster Analysis
Cluster Analysis
 
Association Analysis in Data Mining
Association Analysis in Data MiningAssociation Analysis in Data Mining
Association Analysis in Data Mining
 
Classification techniques in data mining
Classification techniques in data miningClassification techniques in data mining
Classification techniques in data mining
 
Data Preprocessing
Data PreprocessingData Preprocessing
Data Preprocessing
 
Introduction to Data Mining and Data Warehousing
Introduction to Data Mining and Data WarehousingIntroduction to Data Mining and Data Warehousing
Introduction to Data Mining and Data Warehousing
 

Recently uploaded

How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSCeline George
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxVishalSingh1417
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...Nguyen Thanh Tu Collection
 
Vishram Singh - Textbook of Anatomy Upper Limb and Thorax.. Volume 1 (1).pdf
Vishram Singh - Textbook of Anatomy  Upper Limb and Thorax.. Volume 1 (1).pdfVishram Singh - Textbook of Anatomy  Upper Limb and Thorax.. Volume 1 (1).pdf
Vishram Singh - Textbook of Anatomy Upper Limb and Thorax.. Volume 1 (1).pdfssuserdda66b
 
ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701bronxfugly43
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.pptRamjanShidvankar
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdfQucHHunhnh
 
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxHMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxEsquimalt MFRC
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfagholdier
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxVishalSingh1417
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and ModificationsMJDuyan
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentationcamerronhm
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...ZurliaSoop
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibitjbellavia9
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - Englishneillewis46
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxAreebaZafar22
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsTechSoup
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin ClassesCeline George
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxJisc
 

Recently uploaded (20)

How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
Vishram Singh - Textbook of Anatomy Upper Limb and Thorax.. Volume 1 (1).pdf
Vishram Singh - Textbook of Anatomy  Upper Limb and Thorax.. Volume 1 (1).pdfVishram Singh - Textbook of Anatomy  Upper Limb and Thorax.. Volume 1 (1).pdf
Vishram Singh - Textbook of Anatomy Upper Limb and Thorax.. Volume 1 (1).pdf
 
ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxHMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptx
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and Modifications
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - English
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptx
 
Spatium Project Simulation student brief
Spatium Project Simulation student briefSpatium Project Simulation student brief
Spatium Project Simulation student brief
 

Multiprocessor

  • 1. Introduction and Characteristics of Multiprocessor Interconnection Structures Inter Processor Arbitration Inter Processor communication and synchronization Cache Coherence Multiprocessor
  • 2. Introduction  A multiprocessor system is an interconnection of two or more CPUs with memory and I/O equipment.  IOPs are generally not included in the definitions of multiprocessor system unless they have computational facilities comparable to CPUs.  Multiprocessor are MIMD system.  Multicomputer system includes number of computers connected together by means of communication lines.
  • 3.  It improves reliability.  If one system fails, the whole system continue to function with perhaps low efficiency.  The computation can proceed in parallel in two ways:  Multiple independent jobs operate in parallel  A single job can be partitioned into multiple parallel tasks
  • 4.  Multiprocessor are classified by the way their memory is organized:  Shared memory or tightly coupled microprocessor  Distributed memory or loosely coupled microprocessor
  • 5. Interconnection Structures  The components that forms the multiprocessor system are:  CPUs  IOPs  I/O devices  Memory  Physical forms available for establishing an interconnection network are:  Time Shared Common Bus  Multiport Memory
  • 6.  Crossbar Switch  Multistage switching network  Hypercube System
  • 8.
  • 9.
  • 10.
  • 11.
  • 13.
  • 14.
  • 15. Hypercube Interconnection  Hypercube or binary n-cube multiprocessor structure is loosely coupled system.  It composed of N=2^n processors interconnected in n-dimensional binary cube.  Each processor form the node of the cube.  Each processor has direct communication path with n other neighbor processor.  There are 2^n distinct n-bit binary address that can be assigned to each processor.
  • 17. Interprocessor Arbitration  Computer system contain a number of buses at various levels to facilitate the transfer of information.  A bus that connects major components in a multiprocessor system such as CPU, IOP and memory, is called system bus.  Arbitration logic is the part of system bus controller placed between local bus and system bus that resolve the multiple contention for shared resources.
  • 18. System Bus  A typical system consists of approximately 100 signal lines.  These lines are divided into three functional groups: data, address and control.  In addition there are power distribution lines that supply power to the components.  Example IEEE standard 796 multi bus system has 16 data lines, 24 address lines, 26 control lines and 20 power lines for total of 86 lines.
  • 19.  Data lines provide a path for the transfer of data between processor and common memory.  The number of data lines are usually multiple of 8, with 16 and 32 being most common.  Address lines are used to indentify memory location or any other source and destination units.  The number of address lines determine the maximum possible memory capacity in the system.  The control lines provides signal for controlling information transfer.
  • 20.  Timing signals indicate validity of data and address.  Command signal specify the operation to be performed.  Data transfer on the system can be  Synchronous  Asynchronous
  • 21.
  • 22. Arbitration Procedure  Arbitration procedure service all processor requests on the basis of established priorities.  It can be implemented in two ways:  Serial Connection of Units  Parallel Connection of Units
  • 23. Serial Arbitration Procedure  It is obtained from daisy chain connection of bus arbitration circuit similar to the case of priority interrupt.  Each bus has its own arbiter logic which are arranged according to the priorities from highest to the lowest.
  • 24.
  • 25. Parallel Arbitration Logic  It uses an external priority encoder and decoder.  Each bus arbiter has a bus request output lines and a bus acknowledge input lines.  Each arbiter enables request lines when its processor is requesting the system bus.  The one with highest priority determine by the output of the decoder get access to the bus.
  • 26.
  • 27. Dynamic Arbitration Algorithm  Serial and parallel bus arbitration are static since the priorities assigned is fixed.  In dynamic arbitration priorities of the system changes while the system is in operation.  The various algorithms used are:  Time Slice  Polling  Least Recently Used(LRU)  First In First Out(FIFO)  Rotating Daisy Chain
  • 28. Inter processor Communication  All the processors in the multi processor system need to communicate with each other.  The most common way is to set aside portion of memory that is accessible to all processor.  Sending processor puts the data and the address of the receiving processor in the memory.  All the processor periodically check the memory for any information.  If they find their address they read the data.  This procedure is time consuming.
  • 29.  Another procedure is to send the interrupt signal to the receiving processor whenever the sending processor leaves the message.  In addition to shared memory, multiprocessor system may have other shared resources.  To prevent the conflicting use of shared resources by several processor there must be provision for assigning resources to processor.  This task is handled by the Operating System.
  • 30.  There are three organization that have been used in design of OS of multiprocessor:  Master-Slave Configuration  Separate OS  Distributed OS  In master slave configuration, one processor designated as master execute OS function. If slave processor need OS service, it must request to the master processor.
  • 31.  In separate OS configuration, each processor can execute the OS routine it needed.  This organization is suited for loosely coupled system where every processor have its own copy of the entire OS.  In distributed OS, the OS routines are distributed among the processor.  Each particular OS function is assigned to only one processor at a time.  Since the routines float from one processor to another it is also called floating OS.
  • 32. Inter processor Synchronization  Synchronization is special case of communication where data used to communicate between processor is control information.  It is needed to enforce correct sequence of process and to ensure mutually exclusive access to shared writable data.  A number of hardware mechanisms for mutual exclusion have been developed. One of the most popular is through the use of binary semaphore.
  • 33. Mutual Exclusion with Semaphore  Proper functioning multi-processor should guarantee orderly access to shared resources. So that data can not be changed simultaneously by two processor.  This is called mutual exclusion.  Mutual exclusion must be provided in multi processor to enable one processor to lock out access to shared resources once it entered in critical section.  Critical section is a program sequence, that must be completed once begun.
  • 34.  Binary variable semaphore is used to indicate whether the processor is in critical section.  Semaphore is software controlled flag stored in common memory.  If it is 1, processor is executing critical section. If it is 0, it indicate memory is available for the other processor.  Testing and setting semaphore is itself a critical task and must be performed in single indivisible task.
  • 35.  A semaphore can be initialized by means of test and set instruction in conjunction with a hardware lock mechanism.  A hardware lock is processor generated signal that prevent other processor from using system bus as long as signal is active.  Test and set instruction test and set semaphore and activate lock mechanism during the time that it is testing and setting it.
  • 36.
  • 37.  The last instruction in the program must be clear location SEM to 0 to released shared resource to other processor.  Lock signal must be active during execution of test and set instruction.  It does not have to be active once semaphore is set.
  • 38. Cache Coherence  In shared memory multi-processor system, processor share memory and they have local memory(part or all of which is cache).  To ensure ability of the system to execute memory instruction independently, multiple copies of the data must be identical which is called cache coherence.
  • 39. Condition to Incoherence  This condition arise when the processor need to share the writable data.  In both policy write back and write through incoherence condition is created.  In case of DMA also, IOP modify the data in main memory which reside in the cache and can’t be updated.
  • 40.
  • 41.
  • 42.
  • 43. Solution using Software  A simple way is to disallow to have private cache and use the common memory for shared resources.  Another way is to cache only the read only data in the local cache and use the common memory for writable data.  A scheme that allow writable data to reside in at least in one cache is the use of centralized global table.  In this table status of each memory block as read only(RO) or read write(RW) is stored.
  • 44.  All local cache can store RO memory blocks.  RW memory blocks are stored only one cache that is shared by all.
  • 45. Hardware Solution  Snoopy cache controller is a hardware specially designed to watch the system bus for write operation.  When a word is updated in cache, main memory is also updated.  Local snoopy controller watch the cache if they have the address updated.  If the copy exist, it is marked invalid.  If CPU request the same address, it is fetch from the main memory and updated in cache.