Pipelining and vector processing

K
Kamal AcharyaSelf Employed
 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.
Pipelining and vector processing
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:
Pipelining and vector processing
Pipelining and vector processing
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:
Pipelining and vector processing
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
Pipelining and vector processing
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.
Pipelining and vector processing
Pipelining and vector processing
Pipelining and vector processing
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
Pipelining and vector processing
Pipelining and vector processing
Delayed Branch
 Let us consider the program having the following 5
instructions
Pipelining and vector processing
Pipelining and vector processing
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:
Pipelining and vector processing
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.
Pipelining and vector processing
 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.
Pipelining and vector processing
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
1 de 52

Recomendados

Memory OrganizationMemory Organization
Memory OrganizationKamal Acharya
31.4K visualizações53 slides
design of accumlatordesign of accumlator
design of accumlatorSangeethaSasi1
12.1K visualizações11 slides
Computer architecture pipeliningComputer architecture pipelining
Computer architecture pipeliningMazin Alwaaly
16.9K visualizações38 slides
Input output organizationInput output organization
Input output organizationabdulugc
49K visualizações65 slides
Micro program exampleMicro program example
Micro program examplerajshreemuthiah
15.8K visualizações13 slides
Paging and segmentationPaging and segmentation
Paging and segmentationPiyush Rochwani
66.4K visualizações32 slides

Mais conteúdo relacionado

Mais procurados

Demand pagingDemand paging
Demand pagingTrinity Dwarka
22.8K visualizações39 slides
Virtual memoryVirtual memory
Virtual memoryAnuj Modi
37.1K visualizações15 slides
Computer instructionsComputer instructions
Computer instructionsAnuj Modi
31.6K visualizações12 slides

Mais procurados(20)

Unit 3-pipelining & vector processingUnit 3-pipelining & vector processing
Unit 3-pipelining & vector processing
vishal choudhary455 visualizações
Demand pagingDemand paging
Demand paging
Trinity Dwarka22.8K visualizações
Virtual memoryVirtual memory
Virtual memory
Anuj Modi37.1K visualizações
Processor organization & register organizationProcessor organization & register organization
Processor organization & register organization
Ghanshyam Patel11.2K visualizações
Computer instructionsComputer instructions
Computer instructions
Anuj Modi31.6K visualizações
Memory organization (Computer architecture)Memory organization (Computer architecture)
Memory organization (Computer architecture)
Sandesh Jonchhe12.9K visualizações
pipeliningpipelining
pipelining
Siddique Ibrahim82.8K visualizações
Microprogrammed Control UnitMicroprogrammed Control Unit
Microprogrammed Control Unit
PreethiSureshkumar119.3K visualizações
Register transfer languageRegister transfer language
Register transfer language
Sanjeev Patel47.7K visualizações
Basic  Computer  Organization  and  DesignBasic  Computer  Organization  and  Design
Basic Computer Organization and Design
Aksum Institute of Technology(AIT, @Letsgo)5.3K visualizações
Pipeline processing - Computer Architecture Pipeline processing - Computer Architecture
Pipeline processing - Computer Architecture
S. Hasnain Raza9.2K visualizações
Run time storageRun time storage
Run time storage
Rasineni Madhan Mohan Naidu26.8K visualizações
Input Output OrganizationInput Output Organization
Input Output Organization
Kamal Acharya43.3K visualizações
Pipelining powerpoint presentationPipelining powerpoint presentation
Pipelining powerpoint presentation
bhavanadonthi4.9K visualizações
Register Reference Instructions | Computer ScienceRegister Reference Instructions | Computer Science
Register Reference Instructions | Computer Science
Transweb Global Inc20.5K visualizações
Memory Reference InstructionsMemory Reference Instructions
Memory Reference Instructions
Rabin BK16.5K visualizações
Associative memory 14208Associative memory 14208
Associative memory 14208
Ameer Mehmood32.3K visualizações
COMPILER DESIGN Run-Time EnvironmentsCOMPILER DESIGN Run-Time Environments
COMPILER DESIGN Run-Time Environments
Jyothishmathi Institute of Technology and Science Karimnagar907 visualizações
Single pass assemblerSingle pass assembler
Single pass assembler
Bansari Shah20.9K visualizações

Destaque

Instruction pipelining (i)Instruction pipelining (i)
Instruction pipelining (i)Sanjivani Sontakke
5.5K visualizações4 slides
Pipelining, processors, risc and ciscPipelining, processors, risc and cisc
Pipelining, processors, risc and ciscMark Gibbs
5.2K visualizações16 slides
Lecture 46Lecture 46
Lecture 46RahulRathi94
1.7K visualizações11 slides
Array ProcessorArray Processor
Array ProcessorAnshuman Biswal
27.4K visualizações23 slides
pipeliningpipelining
pipeliningsudhir saurav
11.3K visualizações26 slides
Booths Multiplication AlgorithmBooths Multiplication Algorithm
Booths Multiplication Algorithmknightnick
20.4K visualizações15 slides

Destaque(14)

Instruction pipelining (i)Instruction pipelining (i)
Instruction pipelining (i)
Sanjivani Sontakke5.5K visualizações
Pipelining, processors, risc and ciscPipelining, processors, risc and cisc
Pipelining, processors, risc and cisc
Mark Gibbs5.2K visualizações
Lecture 46Lecture 46
Lecture 46
RahulRathi941.7K visualizações
Array ProcessorArray Processor
Array Processor
Anshuman Biswal27.4K visualizações
pipeliningpipelining
pipelining
sudhir saurav11.3K visualizações
Booths Multiplication AlgorithmBooths Multiplication Algorithm
Booths Multiplication Algorithm
knightnick20.4K visualizações
09  Arithmetic09  Arithmetic
09 Arithmetic
Jeanie Delos Arcos9.6K visualizações
Booths algorithm for MultiplicationBooths algorithm for Multiplication
Booths algorithm for Multiplication
Vikas Yadav14.2K visualizações
Booths Multiplication AlgorithmBooths Multiplication Algorithm
Booths Multiplication Algorithm
knightnick43.5K visualizações
8237 / 8257 DMA8237 / 8257 DMA
8237 / 8257 DMA
AJAL A J36.6K visualizações
DMA controller intel 8257DMA controller intel 8257
DMA controller intel 8257
Daniel Ilunga38.2K visualizações
8237 dma controller8237 dma controller
8237 dma controller
Tech_MX83.2K visualizações
Memory managementMemory management
Memory management
Muhammad Fayyaz34.4K visualizações
Booth MultiplierBooth Multiplier
Booth Multiplier
Sudhir Kumar40.1K visualizações

Similar a Pipelining and vector processing

Unit 4 COA.pptxUnit 4 COA.pptx
Unit 4 COA.pptxAkshatBhatnagar30
19 visualizações23 slides
pipeliningpipelining
pipeliningSadaf Rasheed
496 visualizações39 slides
CO Module 5CO Module 5
CO Module 5Alan Leewllyn Bivera
5.6K visualizações86 slides
1.My Presentation.pptx1.My Presentation.pptx
1.My Presentation.pptxArslanAliArslanAli
3 visualizações30 slides

Similar a Pipelining and vector processing(20)

Pipelining in Computer System AchitecturePipelining in Computer System Achitecture
Pipelining in Computer System Achitecture
YashiUpadhyay3183 visualizações
Unit 4 COA.pptxUnit 4 COA.pptx
Unit 4 COA.pptx
AkshatBhatnagar3019 visualizações
pipeliningpipelining
pipelining
Sadaf Rasheed496 visualizações
CO Module 5CO Module 5
CO Module 5
Alan Leewllyn Bivera5.6K visualizações
Pipeline Computing by S. M. Risalat Hasan ChowdhuryPipeline Computing by S. M. Risalat Hasan Chowdhury
Pipeline Computing by S. M. Risalat Hasan Chowdhury
S. M. Risalat Hasan Chowdhury486 visualizações
1.My Presentation.pptx1.My Presentation.pptx
1.My Presentation.pptx
ArslanAliArslanAli3 visualizações
Computer arithmetic in computer architectureComputer arithmetic in computer architecture
Computer arithmetic in computer architecture
ishapadhy2.9K visualizações
Bc0040Bc0040
Bc0040
hayerpa430 visualizações
PipelinePipeline
Pipeline
saman Iftikhar37 visualizações
Parallel computing and its applicationsParallel computing and its applications
Parallel computing and its applications
Burhan Ahmed12.4K visualizações
Pipelining And Vector ProcessingPipelining And Vector Processing
Pipelining And Vector Processing
TheInnocentTuber14 visualizações
A survey of paradigms for building andA survey of paradigms for building and
A survey of paradigms for building and
cseij260 visualizações
Parallel processingParallel processing
Parallel processing
Praveen Kumar6.4K visualizações
pipelining ppt.pdfpipelining ppt.pdf
pipelining ppt.pdf
WilliamTom95 visualizações
3.33.3
3.3
Samimvez655 visualizações
Reconfigurable computingReconfigurable computing
Reconfigurable computing
Sudhanshu Janwadkar3K visualizações
Lecture 3Lecture 3
Lecture 3
Mr SMAK15.7K visualizações
Chapter 4 the processorChapter 4 the processor
Chapter 4 the processor
s900791210.1K visualizações
UNIT 2_ESD.pdfUNIT 2_ESD.pdf
UNIT 2_ESD.pdf
SaralaT35 visualizações

Mais de Kamal Acharya

Programming the basic computerProgramming the basic computer
Programming the basic computerKamal Acharya
1.3K visualizações76 slides
Computer ArithmeticComputer Arithmetic
Computer ArithmeticKamal Acharya
779 visualizações21 slides
Introduction to Computer SecurityIntroduction to Computer Security
Introduction to Computer SecurityKamal Acharya
864 visualizações56 slides
Session and CookiesSession and Cookies
Session and CookiesKamal Acharya
1.2K visualizações19 slides
Functions in phpFunctions in php
Functions in phpKamal Acharya
935 visualizações48 slides
Web forms in phpWeb forms in php
Web forms in phpKamal Acharya
319 visualizações62 slides

Mais de Kamal Acharya(20)

Programming the basic computerProgramming the basic computer
Programming the basic computer
Kamal Acharya1.3K visualizações
Computer ArithmeticComputer Arithmetic
Computer Arithmetic
Kamal Acharya779 visualizações
Introduction to Computer SecurityIntroduction to Computer Security
Introduction to Computer Security
Kamal Acharya864 visualizações
Session and CookiesSession and Cookies
Session and Cookies
Kamal Acharya1.2K visualizações
Functions in phpFunctions in php
Functions in php
Kamal Acharya935 visualizações
Web forms in phpWeb forms in php
Web forms in php
Kamal Acharya319 visualizações
Making decision and repeating  in PHPMaking decision and repeating  in PHP
Making decision and repeating in PHP
Kamal Acharya308 visualizações
Working with arrays in phpWorking with arrays in php
Working with arrays in php
Kamal Acharya764 visualizações
Text and Numbers (Data Types)in PHPText and Numbers (Data Types)in PHP
Text and Numbers (Data Types)in PHP
Kamal Acharya314 visualizações
Introduction to PHPIntroduction to PHP
Introduction to PHP
Kamal Acharya250 visualizações
Capacity Planning of Data WarehousingCapacity Planning of Data Warehousing
Capacity Planning of Data Warehousing
Kamal Acharya1.8K visualizações
Data WarehousingData Warehousing
Data Warehousing
Kamal Acharya740 visualizações
Search EnginesSearch Engines
Search Engines
Kamal Acharya730 visualizações
Web MiningWeb Mining
Web Mining
Kamal Acharya213 visualizações
Information Privacy and Data MiningInformation Privacy and Data Mining
Information Privacy and Data Mining
Kamal Acharya508 visualizações
Cluster AnalysisCluster Analysis
Cluster Analysis
Kamal Acharya794 visualizações
Association Analysis in Data MiningAssociation Analysis in Data Mining
Association Analysis in Data Mining
Kamal Acharya11.6K visualizações
Classification techniques in data miningClassification techniques in data mining
Classification techniques in data mining
Kamal Acharya2.9K visualizações
Data PreprocessingData Preprocessing
Data Preprocessing
Kamal Acharya621 visualizações
Introduction to Data Mining and Data WarehousingIntroduction to Data Mining and Data Warehousing
Introduction to Data Mining and Data Warehousing
Kamal Acharya2.7K visualizações

Último(20)

2022 CAPE Merit List 2023 2022 CAPE Merit List 2023
2022 CAPE Merit List 2023
Caribbean Examinations Council3K visualizações
Drama KS5 BreakdownDrama KS5 Breakdown
Drama KS5 Breakdown
WestHatch50 visualizações
discussion post.pdfdiscussion post.pdf
discussion post.pdf
jessemercerail70 visualizações
231112 (WR) v1  ChatGPT OEB 2023.pdf231112 (WR) v1  ChatGPT OEB 2023.pdf
231112 (WR) v1 ChatGPT OEB 2023.pdf
WilfredRubens.com100 visualizações
Classification of crude drugs.pptxClassification of crude drugs.pptx
Classification of crude drugs.pptx
GayatriPatra1449 visualizações
Gopal Chakraborty Memorial Quiz 2.0 Prelims.pptxGopal Chakraborty Memorial Quiz 2.0 Prelims.pptx
Gopal Chakraborty Memorial Quiz 2.0 Prelims.pptx
Debapriya Chakraborty221 visualizações
STYP infopack.pdfSTYP infopack.pdf
STYP infopack.pdf
Fundacja Rozwoju Społeczeństwa Przedsiębiorczego143 visualizações
Class 10 English notes 23-24.pptxClass 10 English notes 23-24.pptx
Class 10 English notes 23-24.pptx
Tariq KHAN63 visualizações
Psychology KS5Psychology KS5
Psychology KS5
WestHatch53 visualizações
DU Oral Examination Toni SantamariaDU Oral Examination Toni Santamaria
DU Oral Examination Toni Santamaria
MIPLM128 visualizações
Nico Baumbach IMR Media ComponentNico Baumbach IMR Media Component
Nico Baumbach IMR Media Component
InMediaRes1186 visualizações
ANATOMY AND PHYSIOLOGY UNIT 1 { PART-1}ANATOMY AND PHYSIOLOGY UNIT 1 { PART-1}
ANATOMY AND PHYSIOLOGY UNIT 1 { PART-1}
DR .PALLAVI PATHANIA156 visualizações
Use of Probiotics in Aquaculture.pptxUse of Probiotics in Aquaculture.pptx
Use of Probiotics in Aquaculture.pptx
AKSHAY MANDAL69 visualizações
Narration  ppt.pptxNarration  ppt.pptx
Narration ppt.pptx
Tariq KHAN62 visualizações
Dance KS5 BreakdownDance KS5 Breakdown
Dance KS5 Breakdown
WestHatch52 visualizações
Narration lesson plan.docxNarration lesson plan.docx
Narration lesson plan.docx
Tariq KHAN90 visualizações
Lecture: Open InnovationLecture: Open Innovation
Lecture: Open Innovation
Michal Hron82 visualizações
GSoC 2024GSoC 2024
GSoC 2024
DeveloperStudentClub1049 visualizações
Structure and Functions of Cell.pdfStructure and Functions of Cell.pdf
Structure and Functions of Cell.pdf
Nithya Murugan142 visualizações

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.
  • 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:
  • 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:
  • 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
  • 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.
  • 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
  • 33. Delayed Branch  Let us consider the program having the following 5 instructions
  • 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:
  • 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.
  • 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.
  • 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.