SlideShare une entreprise Scribd logo
1  sur  52
 Parallel Processing, Flynn’s Classification of
Computers
 Pipelining
 Instruction Pipeline
 Pipeline Hazards and their solution
 Array and Vector Processing
Pipelining and Vector
Processing
Parallel Processing
 It refers to techniques that are used to provide
simultaneous data processing.
 The system may have two or more ALUs to be able to
execute two or more instruction at the same time.
 The system may have two or more processors
operating concurrently.
 It can be achieved by having multiple functional
units that perform same or different operation
simultaneously.
Classification
 There are variety of ways in which the parallel
processing can be classified
 Internal Organization of Processor
 Interconnection structure between processors
 Flow of information through system
 M.J. Flynn classify the computer on the basis of
number of instruction and data items processed
simultaneously.
 Single Instruction Stream, Single Data Stream(SISD)
 Single Instruction Stream, Multiple Data Stream(SIMD)
 Multiple Instruction Stream, Single Data Stream(MISD)
 Multiple Instruction Stream, Multiple Data Stream(MIMD)
 SISD represents the organization containing single
control unit, a processor unit and a memory unit.
Instruction are executed sequentially and system
may or may not have internal parallel processing
capabilities.
 SIMD represents an organization that includes many
processing units under the supervision of a common
control unit.
 MISD structure is of only theoretical interest since
no practical system has been constructed using this
organization.
 MIMD organization refers to a computer system
capable of processing several programs at the same
time.
 Flynn’s classification emphasize on the behavioral
characteristics of the computer system rather than
its operational and structural interconnections. One
type of parallel processing that does not fit in the
Flynn’s classification is Pipelining.
 Parallel Processing can be discussed under following
topics:
 Pipeline Processing
 Vector Processing
 Array Processors
Pipelining
 It is a technique of decomposing a sequential process
into sub operations, with each sub process being
executed in a special dedicated segments that
operates concurrently with all other segments.
 Each segment performs partial processing dictated
by the way task is partitioned.
 The result obtained from each segment is transferred
to next segment.
 The final result is obtained when data have passed
through all segments.
Example
 Suppose we have to perform the following task:
 Each sub operation is to be performed in a segment
within a pipeline. Each segment has one or two
registers and a combinational circuit.
 The sub operations in each segment of the pipeline
are as follows:
General Consideration
 Let us consider the case where k segments pipeline
with a clock cycle time tp is used to execute n tasks.
 The first task T1 require time ktp to complete since
there are k segments.
 The remaining (n-1) tasks emerge from pipe at the
rate one task per cycle. They will complete after time
(n-1)tp.
 So total time required is k+(n-1) clock cycles.
 Calculate total cycles in previous example.
 Now consider non pipeline unit that performs the
same operation and takes time equal to tn to
complete each task.
 Total time required is ntn.
 The speedup ration is given as:
Arithmetic Pipeline
 Pipeline arithmetic units are usually found in very
high speed computers.
 They are used to implement floating point
operations.
 We will now discuss the pipeline unit for the floating
point addition and subtraction.
 The inputs to floating point adder pipeline are two
normalized floating point numbers.
 A and B are mantissas and a and b are the
exponents.
 The floating point addition and subtraction can be
performed in four segments.
 The sub-operation performed in each segments are:
 Compare the exponents
 Align the mantissas
 Add or subtract the mantissas
 Normalize the result
Instruction Pipeline
 Pipeline processing can occur not only in the data
stream but in the instruction stream as well.
 An instruction pipeline reads consecutive instruction
from memory while previous instruction are being
executed in other segments.
 This caused the instruction fetch and execute
segments to overlap and perform simultaneous
operation.
Four Segment CPU Pipeline
 FI segment fetches the instruction.
 DA segment decodes the instruction and calculate
the effective address.
 FO segment fetches the operand.
 EX segment executes the instruction.
Handling Data Dependency
 This problem can be solved in the following ways:
 Hardware interlocks: It is the circuit that detects the
conflict situation and delayed the instruction by sufficient
cycles to resolve the conflict.
 Operand Forwarding: It uses the special hardware to
detect the conflict and avoid it by routing the data
through the special path between pipeline segments.
 Delayed Loads: The compiler detects the data conflict and
reorder the instruction as necessary to delay the loading
of the conflicting data by inserting no operation
instruction.
Handling of Branch Instruction
 Pre fetch the target instruction.
 Branch target buffer(BTB) included in the fetch
segment of the pipeline
 Branch Prediction
 Delayed Branch
RISC Pipeline
 Simplicity of instruction set is utilized to implement
an instruction pipeline using small number of sub-
operation, with each being executed in single clock
cycle.
 Since all operation are performed in the register,
there is no need of effective address calculation.
Three Segment Instruction Pipeline
 I: Instruction Fetch
 A: ALU Operation
 E: Execute Instruction
Delayed Load
Delayed Branch
 Let us consider the program having the following 5
instructions
Vector Processing
 There is a class of computational problems that are
beyond the capabilities of the conventional
computer.
 These are characterized by the fact that they require
vast number of computation and it take a
conventional computer days or even weeks to
complete.
 Computers with vector processing are able to handle
such instruction and they have application in
following fields:
 Long range weather forecasting
 Petroleum exploration
 Seismic data analysis
 Medical diagnosis
 Aerodynamics and space simulation
 Artificial Intelligence and expert system
 Mapping the human genome
 Image Processing
Vector Operation
 A vector V of length n is represented as row vector by
 The element Vi of vector V is written as V(I) and the
index I refers to a memory address or register where
the number is stored.
 Let us consider the program in assembly language
that two vectors A and B of length 100 and put the
result in vector C.
 A computer capable of vector processing eliminates
the overhead associated with the time it takes to
fetch and execute the instructions in the program
loop.
 It allows operations to be specified with a single
vector instruction of the form:
Matrix Multiplication
 Let us consider the multiplication of two 3*3 matrix
A and B.
 This requires three multiplication and(after
initializing c11 to 0) three addition.
 Total number of addition or multiplication required
is 3*9.
 In general inner product consists of the sum of k
product terms of the form:
 In typical application value of k may be 100 or even
1000.
 The inner product calculation on a pipeline vector
processor is shown below.
 Floating point adder and multiplier are assumed to
have four segments each.
 The four partial sum are added to form the final sum
Memory Interleaving
Array Processor
 An array processor is a processor that performs the
computations on large arrays of data.
 There are two different types of array processor:
 Attached Array Processor
 SIMD Array Processor
Attached Array Processor
 It is designed as a peripheral for a conventional host
computer.
 Its purpose is to enhance the performance of the
computer by providing vector processing.
 It achieves high performance by means of parallel
processing with multiple functional units.
SIMD Array Processor
 It is processor which consists of multiple processing
unit operating in parallel.
 The processing units are synchronized to perform
the same task under control of common control unit.
 Each processor elements(PE) includes an ALU , a
floating point arithmetic unit and working register.
Pipelining and vector processing

Contenu connexe

Tendances (20)

Timing and control
Timing and controlTiming and control
Timing and control
 
Instruction format
Instruction formatInstruction format
Instruction format
 
Computer arithmetic
Computer arithmeticComputer arithmetic
Computer arithmetic
 
Asynchronous data transfer
Asynchronous data transferAsynchronous data transfer
Asynchronous data transfer
 
Registers and-common-bus
Registers and-common-busRegisters and-common-bus
Registers and-common-bus
 
Issues in design_of_code_generator
Issues in design_of_code_generatorIssues in design_of_code_generator
Issues in design_of_code_generator
 
Distance vector routing
Distance vector routingDistance vector routing
Distance vector routing
 
Modes of data transfer
Modes of data transferModes of data transfer
Modes of data transfer
 
Unit 3-pipelining & vector processing
Unit 3-pipelining & vector processingUnit 3-pipelining & vector processing
Unit 3-pipelining & vector processing
 
Code Optimization
Code OptimizationCode Optimization
Code Optimization
 
Semaphores
SemaphoresSemaphores
Semaphores
 
ADDRESSING MODES
ADDRESSING MODESADDRESSING MODES
ADDRESSING MODES
 
Data link layer
Data link layer Data link layer
Data link layer
 
Disk scheduling
Disk schedulingDisk scheduling
Disk scheduling
 
Instruction cycle
Instruction cycleInstruction cycle
Instruction cycle
 
Interconnection Network
Interconnection NetworkInterconnection Network
Interconnection Network
 
Addressing modes of 8051
Addressing modes of 8051Addressing modes of 8051
Addressing modes of 8051
 
Parallel processing
Parallel processingParallel processing
Parallel processing
 
bus and memory tranfer (computer organaization)
bus and memory tranfer (computer organaization)bus and memory tranfer (computer organaization)
bus and memory tranfer (computer organaization)
 
Basic Computer Organization and Design
Basic  Computer  Organization  and  DesignBasic  Computer  Organization  and  Design
Basic Computer Organization and Design
 

En vedette

Pipelining, processors, risc and cisc
Pipelining, processors, risc and ciscPipelining, processors, risc and cisc
Pipelining, processors, risc and ciscMark Gibbs
 
Booths Multiplication Algorithm
Booths Multiplication AlgorithmBooths Multiplication Algorithm
Booths Multiplication Algorithmknightnick
 
Booths algorithm for Multiplication
Booths algorithm for MultiplicationBooths algorithm for Multiplication
Booths algorithm for MultiplicationVikas Yadav
 
Booths Multiplication Algorithm
Booths Multiplication AlgorithmBooths Multiplication Algorithm
Booths Multiplication Algorithmknightnick
 
8237 / 8257 DMA
8237 / 8257 DMA8237 / 8257 DMA
8237 / 8257 DMAAJAL A J
 
DMA controller intel 8257
DMA controller intel 8257DMA controller intel 8257
DMA controller intel 8257Daniel Ilunga
 
8237 dma controller
8237 dma controller8237 dma controller
8237 dma controllerTech_MX
 

En vedette (14)

Instruction pipelining (i)
Instruction pipelining (i)Instruction pipelining (i)
Instruction pipelining (i)
 
Pipelining, processors, risc and cisc
Pipelining, processors, risc and ciscPipelining, processors, risc and cisc
Pipelining, processors, risc and cisc
 
Lecture 46
Lecture 46Lecture 46
Lecture 46
 
Array Processor
Array ProcessorArray Processor
Array Processor
 
pipelining
pipeliningpipelining
pipelining
 
Booths Multiplication Algorithm
Booths Multiplication AlgorithmBooths Multiplication Algorithm
Booths Multiplication Algorithm
 
09 Arithmetic
09  Arithmetic09  Arithmetic
09 Arithmetic
 
Booths algorithm for Multiplication
Booths algorithm for MultiplicationBooths algorithm for Multiplication
Booths algorithm for Multiplication
 
Booths Multiplication Algorithm
Booths Multiplication AlgorithmBooths Multiplication Algorithm
Booths Multiplication Algorithm
 
8237 / 8257 DMA
8237 / 8257 DMA8237 / 8257 DMA
8237 / 8257 DMA
 
DMA controller intel 8257
DMA controller intel 8257DMA controller intel 8257
DMA controller intel 8257
 
8237 dma controller
8237 dma controller8237 dma controller
8237 dma controller
 
Memory management
Memory managementMemory management
Memory management
 
Booth Multiplier
Booth MultiplierBooth Multiplier
Booth Multiplier
 

Similaire à Pipelining and vector processing

Pipelining in Computer System Achitecture
Pipelining in Computer System AchitecturePipelining in Computer System Achitecture
Pipelining in Computer System AchitectureYashiUpadhyay3
 
Computer arithmetic in computer architecture
Computer arithmetic in computer architectureComputer arithmetic in computer architecture
Computer arithmetic in computer architectureishapadhy
 
pipeline in computer architecture design
pipeline in computer architecture  designpipeline in computer architecture  design
pipeline in computer architecture designssuser87fa0c1
 
ehhhhhhhhhhhhhhhhhhhhhhhhhjjjjjllaye.pptx
ehhhhhhhhhhhhhhhhhhhhhhhhhjjjjjllaye.pptxehhhhhhhhhhhhhhhhhhhhhhhhhjjjjjllaye.pptx
ehhhhhhhhhhhhhhhhhhhhhhhhhjjjjjllaye.pptxEliasPetros
 
Parallel computing and its applications
Parallel computing and its applicationsParallel computing and its applications
Parallel computing and its applicationsBurhan Ahmed
 
Pipelining And Vector Processing
Pipelining And Vector ProcessingPipelining And Vector Processing
Pipelining And Vector ProcessingTheInnocentTuber
 
A survey of paradigms for building and
A survey of paradigms for building andA survey of paradigms for building and
A survey of paradigms for building andcseij
 
pipelining ppt.pdf
pipelining ppt.pdfpipelining ppt.pdf
pipelining ppt.pdfWilliamTom9
 
Lecture 3
Lecture 3Lecture 3
Lecture 3Mr SMAK
 
Chapter 4 the processor
Chapter 4 the processorChapter 4 the processor
Chapter 4 the processors9007912
 

Similaire à Pipelining and vector processing (20)

Pipelining in Computer System Achitecture
Pipelining in Computer System AchitecturePipelining in Computer System Achitecture
Pipelining in Computer System Achitecture
 
Unit 4 COA.pptx
Unit 4 COA.pptxUnit 4 COA.pptx
Unit 4 COA.pptx
 
pipelining
pipeliningpipelining
pipelining
 
CO Module 5
CO Module 5CO Module 5
CO Module 5
 
Pipeline Computing by S. M. Risalat Hasan Chowdhury
Pipeline Computing by S. M. Risalat Hasan ChowdhuryPipeline Computing by S. M. Risalat Hasan Chowdhury
Pipeline Computing by S. M. Risalat Hasan Chowdhury
 
1.My Presentation.pptx
1.My Presentation.pptx1.My Presentation.pptx
1.My Presentation.pptx
 
Computer arithmetic in computer architecture
Computer arithmetic in computer architectureComputer arithmetic in computer architecture
Computer arithmetic in computer architecture
 
Bc0040
Bc0040Bc0040
Bc0040
 
Pipeline
PipelinePipeline
Pipeline
 
pipeline in computer architecture design
pipeline in computer architecture  designpipeline in computer architecture  design
pipeline in computer architecture design
 
ehhhhhhhhhhhhhhhhhhhhhhhhhjjjjjllaye.pptx
ehhhhhhhhhhhhhhhhhhhhhhhhhjjjjjllaye.pptxehhhhhhhhhhhhhhhhhhhhhhhhhjjjjjllaye.pptx
ehhhhhhhhhhhhhhhhhhhhhhhhhjjjjjllaye.pptx
 
Parallel computing and its applications
Parallel computing and its applicationsParallel computing and its applications
Parallel computing and its applications
 
Pipelining And Vector Processing
Pipelining And Vector ProcessingPipelining And Vector Processing
Pipelining And Vector Processing
 
A survey of paradigms for building and
A survey of paradigms for building andA survey of paradigms for building and
A survey of paradigms for building and
 
Parallel processing
Parallel processingParallel processing
Parallel processing
 
pipelining ppt.pdf
pipelining ppt.pdfpipelining ppt.pdf
pipelining ppt.pdf
 
3.3
3.33.3
3.3
 
Reconfigurable computing
Reconfigurable computingReconfigurable computing
Reconfigurable computing
 
Lecture 3
Lecture 3Lecture 3
Lecture 3
 
Chapter 4 the processor
Chapter 4 the processorChapter 4 the processor
Chapter 4 the processor
 

Plus de 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
 

Plus de 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
 

Dernier

Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhikauryashika82
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactdawncurless
 
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
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...christianmathematics
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Celine George
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactPECB
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfagholdier
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
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
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxnegromaestrong
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxVishalSingh1417
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfAdmir Softic
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeThiyagu K
 
Gardella_PRCampaignConclusion Pitch Letter
Gardella_PRCampaignConclusion Pitch LetterGardella_PRCampaignConclusion Pitch Letter
Gardella_PRCampaignConclusion Pitch LetterMateoGardella
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfJayanti Pande
 
Unit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxUnit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxVishalSingh1417
 

Dernier (20)

Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
 
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
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
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
 
Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 
Advance Mobile Application Development class 07
Advance Mobile Application Development class 07Advance Mobile Application Development class 07
Advance Mobile Application Development class 07
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptx
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
Gardella_PRCampaignConclusion Pitch Letter
Gardella_PRCampaignConclusion Pitch LetterGardella_PRCampaignConclusion Pitch Letter
Gardella_PRCampaignConclusion Pitch Letter
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdf
 
Unit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxUnit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptx
 

Pipelining and vector processing

  • 1.  Parallel Processing, Flynn’s Classification of Computers  Pipelining  Instruction Pipeline  Pipeline Hazards and their solution  Array and Vector Processing Pipelining and Vector Processing
  • 2. Parallel Processing  It refers to techniques that are used to provide simultaneous data processing.  The system may have two or more ALUs to be able to execute two or more instruction at the same time.  The system may have two or more processors operating concurrently.  It can be achieved by having multiple functional units that perform same or different operation simultaneously.
  • 3.
  • 4. Classification  There are variety of ways in which the parallel processing can be classified  Internal Organization of Processor  Interconnection structure between processors  Flow of information through system
  • 5.  M.J. Flynn classify the computer on the basis of number of instruction and data items processed simultaneously.  Single Instruction Stream, Single Data Stream(SISD)  Single Instruction Stream, Multiple Data Stream(SIMD)  Multiple Instruction Stream, Single Data Stream(MISD)  Multiple Instruction Stream, Multiple Data Stream(MIMD)
  • 6.  SISD represents the organization containing single control unit, a processor unit and a memory unit. Instruction are executed sequentially and system may or may not have internal parallel processing capabilities.  SIMD represents an organization that includes many processing units under the supervision of a common control unit.
  • 7.  MISD structure is of only theoretical interest since no practical system has been constructed using this organization.  MIMD organization refers to a computer system capable of processing several programs at the same time.
  • 8.  Flynn’s classification emphasize on the behavioral characteristics of the computer system rather than its operational and structural interconnections. One type of parallel processing that does not fit in the Flynn’s classification is Pipelining.  Parallel Processing can be discussed under following topics:  Pipeline Processing  Vector Processing  Array Processors
  • 9. Pipelining  It is a technique of decomposing a sequential process into sub operations, with each sub process being executed in a special dedicated segments that operates concurrently with all other segments.  Each segment performs partial processing dictated by the way task is partitioned.  The result obtained from each segment is transferred to next segment.  The final result is obtained when data have passed through all segments.
  • 10. Example  Suppose we have to perform the following task:  Each sub operation is to be performed in a segment within a pipeline. Each segment has one or two registers and a combinational circuit.
  • 11.  The sub operations in each segment of the pipeline are as follows:
  • 12.
  • 13.
  • 14. General Consideration  Let us consider the case where k segments pipeline with a clock cycle time tp is used to execute n tasks.  The first task T1 require time ktp to complete since there are k segments.  The remaining (n-1) tasks emerge from pipe at the rate one task per cycle. They will complete after time (n-1)tp.  So total time required is k+(n-1) clock cycles.  Calculate total cycles in previous example.
  • 15.  Now consider non pipeline unit that performs the same operation and takes time equal to tn to complete each task.  Total time required is ntn.  The speedup ration is given as:
  • 16.
  • 17. Arithmetic Pipeline  Pipeline arithmetic units are usually found in very high speed computers.  They are used to implement floating point operations.  We will now discuss the pipeline unit for the floating point addition and subtraction.
  • 18.  The inputs to floating point adder pipeline are two normalized floating point numbers.  A and B are mantissas and a and b are the exponents.  The floating point addition and subtraction can be performed in four segments.
  • 19.  The sub-operation performed in each segments are:  Compare the exponents  Align the mantissas  Add or subtract the mantissas  Normalize the result
  • 20.
  • 21. Instruction Pipeline  Pipeline processing can occur not only in the data stream but in the instruction stream as well.  An instruction pipeline reads consecutive instruction from memory while previous instruction are being executed in other segments.  This caused the instruction fetch and execute segments to overlap and perform simultaneous operation.
  • 22. Four Segment CPU Pipeline  FI segment fetches the instruction.  DA segment decodes the instruction and calculate the effective address.  FO segment fetches the operand.  EX segment executes the instruction.
  • 23.
  • 24.
  • 25.
  • 26. Handling Data Dependency  This problem can be solved in the following ways:  Hardware interlocks: It is the circuit that detects the conflict situation and delayed the instruction by sufficient cycles to resolve the conflict.  Operand Forwarding: It uses the special hardware to detect the conflict and avoid it by routing the data through the special path between pipeline segments.  Delayed Loads: The compiler detects the data conflict and reorder the instruction as necessary to delay the loading of the conflicting data by inserting no operation instruction.
  • 27. Handling of Branch Instruction  Pre fetch the target instruction.  Branch target buffer(BTB) included in the fetch segment of the pipeline  Branch Prediction  Delayed Branch
  • 28. RISC Pipeline  Simplicity of instruction set is utilized to implement an instruction pipeline using small number of sub- operation, with each being executed in single clock cycle.  Since all operation are performed in the register, there is no need of effective address calculation.
  • 29. Three Segment Instruction Pipeline  I: Instruction Fetch  A: ALU Operation  E: Execute Instruction
  • 31.
  • 32.
  • 33. Delayed Branch  Let us consider the program having the following 5 instructions
  • 34.
  • 35.
  • 36. Vector Processing  There is a class of computational problems that are beyond the capabilities of the conventional computer.  These are characterized by the fact that they require vast number of computation and it take a conventional computer days or even weeks to complete.  Computers with vector processing are able to handle such instruction and they have application in following fields:
  • 37.  Long range weather forecasting  Petroleum exploration  Seismic data analysis  Medical diagnosis  Aerodynamics and space simulation  Artificial Intelligence and expert system  Mapping the human genome  Image Processing
  • 38. Vector Operation  A vector V of length n is represented as row vector by  The element Vi of vector V is written as V(I) and the index I refers to a memory address or register where the number is stored.
  • 39.  Let us consider the program in assembly language that two vectors A and B of length 100 and put the result in vector C.
  • 40.  A computer capable of vector processing eliminates the overhead associated with the time it takes to fetch and execute the instructions in the program loop.  It allows operations to be specified with a single vector instruction of the form:
  • 41.
  • 42. Matrix Multiplication  Let us consider the multiplication of two 3*3 matrix A and B.
  • 43.  This requires three multiplication and(after initializing c11 to 0) three addition.  Total number of addition or multiplication required is 3*9.  In general inner product consists of the sum of k product terms of the form:
  • 44.  In typical application value of k may be 100 or even 1000.  The inner product calculation on a pipeline vector processor is shown below.  Floating point adder and multiplier are assumed to have four segments each.
  • 45.
  • 46.  The four partial sum are added to form the final sum
  • 48. Array Processor  An array processor is a processor that performs the computations on large arrays of data.  There are two different types of array processor:  Attached Array Processor  SIMD Array Processor
  • 49. Attached Array Processor  It is designed as a peripheral for a conventional host computer.  Its purpose is to enhance the performance of the computer by providing vector processing.  It achieves high performance by means of parallel processing with multiple functional units.
  • 50.
  • 51. SIMD Array Processor  It is processor which consists of multiple processing unit operating in parallel.  The processing units are synchronized to perform the same task under control of common control unit.  Each processor elements(PE) includes an ALU , a floating point arithmetic unit and working register.