SlideShare una empresa de Scribd logo
1 de 14
Advanced Computer Architecture
Program Flow Mechanisms
Program Flow Mechanisms
There are three flow mechanism
Control flow mechanism(used by conventional
computers)
Data-driven mechanism(used by data-flow
computers)
Demand-driven mechanism(used by reduction
computers)
Control flow mechanism(used
Conventional von Neumann computers use a
program counter to sequence the execution of
instruction in a program. This sequential execution
style is called control-driven.
Conventional computers are based on a control
flow mechanism by which the order of program
execution is explicitly stated in the user programs
Control flow computers use sheared memory to
hold program instructions and data objects.
A uniprocessor computers is inherently
sequential ,due to use of the control-driven
mechanism.
Control flow can be made parallel by using parallel
language constructs or parallel compiler.
Control flow machines give complete control, but
are less efficient than other approaches.
Data-driven mechanism
Dataflow computers are based on a data-driven
mechanism which allows the execution of any
instruction to be driven by data (operand)
availability. Dataflow computers emphasize a high
degree of parallelism at the fine-grain instructional
level.
Data flow machines have high potential for
parallelism and throughput and freedom from side
effects, but have high control overhead, lose time
waiting for unneeded arguments, and difficulty in
manipulating data structures.
Data Flow Features
No need for
shared memory
program counter
control sequencer
Special mechanisms are required to
detect data availability
match data tokens with instructions needing them
enable chain reaction of asynchronous instruction
execution
Control Flow vs. Data Flow
Control flow machines used shared memory for instructions
and data. Since variables are updated by many instructions,
there may be side effects on other instructions. These side
effects frequently prevent parallel processing. Single
processor systems are inherently sequential.
Instructions in dataflow machines are unordered and can be
executed as soon as their operands are available; data is
held in the instructions themselves. Data tokens are
passed from an instruction to its dependents to trigger
execution.
Demand-Driven Mechanisms
Data-driven machines select instructions for execution
based on the availability of their operands; this is essentially
a bottom-up approach.
Demand-driven machines take a top-down approach,
attempting to execute the instruction (a demander) that
yields the final result. This triggers the execution of
instructions that yield its operands, and so forth.
The demand-driven approach matches naturally with
functional programming languages (e.g. LISP and
SCHEME).
Reduction Machine Models
String-reduction model:
each demander gets a separate copy of the expression string to
evaluate
each reduction step has an operator and embedded reference to
demand the corresponding operands
each operator is suspended while arguments are evaluated
Graph-reduction model:
expression graph reduced by evaluation of branches or subgraphs,
possibly in parallel, with demanders given pointers to results of
reductions.
based on sharing of pointers to arguments; traversal and reversal of
pointers continues until constant arguments are encountered.
Summary
Reduction machines have high parallelism potential, easy
manipulation of data structures, and only execute required
instructions. But they do not share objects with changing
local state, and do require time to propagate tokens.
example
Consider the following example of a arithmetic
expression :
a=[(b+1) * c – (d / e)]
The data-driven computation chooses a bottom-up
approach , starting from b+1 and d / e then
proceding to the ‘*’ operation finally to the
outermost operation.
A demand-driven computation chooses a top-
down approach by first demanding the value of
‘a’ ,which triggers the demand for evaluating the
next level expression (b+1)*c and d/e ,which in
turns triggers the demand for evaluating b+1 at
the inner most level.
The result are returned to the nested demander in
the reverse order before ‘a’ is evaluated.
A data-driven computation has been called eager
evaluation because operation are carried out
immediately after all their operands becomes
available.
a demand-driven computation corresponds to lazy
evaluation because operation are executed only
when their result are required by another
instruction.

Más contenido relacionado

La actualidad más candente

Operating system services 9
Operating system services 9Operating system services 9
Operating system services 9
myrajendra
 
Multivector and multiprocessor
Multivector and multiprocessorMultivector and multiprocessor
Multivector and multiprocessor
Kishan Panara
 

La actualidad más candente (20)

Feng’s classification
Feng’s classificationFeng’s classification
Feng’s classification
 
Advanced computer architechture -Memory Hierarchies and its Properties and Type
Advanced computer architechture -Memory Hierarchies and its Properties and TypeAdvanced computer architechture -Memory Hierarchies and its Properties and Type
Advanced computer architechture -Memory Hierarchies and its Properties and Type
 
Communication costs in parallel machines
Communication costs in parallel machinesCommunication costs in parallel machines
Communication costs in parallel machines
 
OS - Process Concepts
OS - Process ConceptsOS - Process Concepts
OS - Process Concepts
 
Pipelining and vector processing
Pipelining and vector processingPipelining and vector processing
Pipelining and vector processing
 
Operating system services 9
Operating system services 9Operating system services 9
Operating system services 9
 
Dichotomy of parallel computing platforms
Dichotomy of parallel computing platformsDichotomy of parallel computing platforms
Dichotomy of parallel computing platforms
 
Superscalar Processor
Superscalar ProcessorSuperscalar Processor
Superscalar Processor
 
operating system lecture notes
operating system lecture notesoperating system lecture notes
operating system lecture notes
 
Multivector and multiprocessor
Multivector and multiprocessorMultivector and multiprocessor
Multivector and multiprocessor
 
Message passing in Distributed Computing Systems
Message passing in Distributed Computing SystemsMessage passing in Distributed Computing Systems
Message passing in Distributed Computing Systems
 
Parallel processing
Parallel processingParallel processing
Parallel processing
 
Introduction to Distributed System
Introduction to Distributed SystemIntroduction to Distributed System
Introduction to Distributed System
 
Process synchronization in Operating Systems
Process synchronization in Operating SystemsProcess synchronization in Operating Systems
Process synchronization in Operating Systems
 
Dynamic interconnection networks
Dynamic interconnection networksDynamic interconnection networks
Dynamic interconnection networks
 
Parallel computing and its applications
Parallel computing and its applicationsParallel computing and its applications
Parallel computing and its applications
 
Centralized shared memory architectures
Centralized shared memory architecturesCentralized shared memory architectures
Centralized shared memory architectures
 
Network Layer design Issues.pptx
Network Layer design Issues.pptxNetwork Layer design Issues.pptx
Network Layer design Issues.pptx
 
Array Processor
Array ProcessorArray Processor
Array Processor
 
Register transfer language
Register transfer languageRegister transfer language
Register transfer language
 

Similar a program flow mechanisms, advanced computer architecture

BIL406-Chapter-4-Parallel Processing Concept.ppt
BIL406-Chapter-4-Parallel Processing Concept.pptBIL406-Chapter-4-Parallel Processing Concept.ppt
BIL406-Chapter-4-Parallel Processing Concept.ppt
Kadri20
 
CS 301 Computer ArchitectureStudent # 1 EID 09Kingdom of .docx
CS 301 Computer ArchitectureStudent # 1 EID 09Kingdom of .docxCS 301 Computer ArchitectureStudent # 1 EID 09Kingdom of .docx
CS 301 Computer ArchitectureStudent # 1 EID 09Kingdom of .docx
faithxdunce63732
 
MC0085 – Advanced Operating Systems - Master of Computer Science - MCA - SMU DE
MC0085 – Advanced Operating Systems - Master of Computer Science - MCA - SMU DEMC0085 – Advanced Operating Systems - Master of Computer Science - MCA - SMU DE
MC0085 – Advanced Operating Systems - Master of Computer Science - MCA - SMU DE
Aravind NC
 
The Concept of Load Balancing Server in Secured and Intelligent Network
The Concept of Load Balancing Server in Secured and Intelligent NetworkThe Concept of Load Balancing Server in Secured and Intelligent Network
The Concept of Load Balancing Server in Secured and Intelligent Network
IJAEMSJORNAL
 
Es_module2ppt.pptx
Es_module2ppt.pptxEs_module2ppt.pptx
Es_module2ppt.pptx
RohanAM1
 
Machine Learning At Speed: Operationalizing ML For Real-Time Data Streams
Machine Learning At Speed: Operationalizing ML For Real-Time Data StreamsMachine Learning At Speed: Operationalizing ML For Real-Time Data Streams
Machine Learning At Speed: Operationalizing ML For Real-Time Data Streams
Lightbend
 

Similar a program flow mechanisms, advanced computer architecture (20)

BIL406-Chapter-4-Parallel Processing Concept.ppt
BIL406-Chapter-4-Parallel Processing Concept.pptBIL406-Chapter-4-Parallel Processing Concept.ppt
BIL406-Chapter-4-Parallel Processing Concept.ppt
 
Parallel programming model
Parallel programming modelParallel programming model
Parallel programming model
 
1.prallelism
1.prallelism1.prallelism
1.prallelism
 
1.prallelism
1.prallelism1.prallelism
1.prallelism
 
Flow control in computer
Flow control in computerFlow control in computer
Flow control in computer
 
Module3 part1
Module3 part1Module3 part1
Module3 part1
 
Software architecture unit 4
Software architecture unit 4Software architecture unit 4
Software architecture unit 4
 
Data Parallel and Object Oriented Model
Data Parallel and Object Oriented ModelData Parallel and Object Oriented Model
Data Parallel and Object Oriented Model
 
CS 301 Computer ArchitectureStudent # 1 EID 09Kingdom of .docx
CS 301 Computer ArchitectureStudent # 1 EID 09Kingdom of .docxCS 301 Computer ArchitectureStudent # 1 EID 09Kingdom of .docx
CS 301 Computer ArchitectureStudent # 1 EID 09Kingdom of .docx
 
MC0085 – Advanced Operating Systems - Master of Computer Science - MCA - SMU DE
MC0085 – Advanced Operating Systems - Master of Computer Science - MCA - SMU DEMC0085 – Advanced Operating Systems - Master of Computer Science - MCA - SMU DE
MC0085 – Advanced Operating Systems - Master of Computer Science - MCA - SMU DE
 
3.3
3.33.3
3.3
 
IRJET-Concurrency Control Model for Distributed Database
IRJET-Concurrency Control Model for Distributed DatabaseIRJET-Concurrency Control Model for Distributed Database
IRJET-Concurrency Control Model for Distributed Database
 
The Concept of Load Balancing Server in Secured and Intelligent Network
The Concept of Load Balancing Server in Secured and Intelligent NetworkThe Concept of Load Balancing Server in Secured and Intelligent Network
The Concept of Load Balancing Server in Secured and Intelligent Network
 
Data flow architecture
Data flow architectureData flow architecture
Data flow architecture
 
pipelining
pipeliningpipelining
pipelining
 
A Multi-Agent System Approach to Load-Balancing and Resource Allocation for D...
A Multi-Agent System Approach to Load-Balancing and Resource Allocation for D...A Multi-Agent System Approach to Load-Balancing and Resource Allocation for D...
A Multi-Agent System Approach to Load-Balancing and Resource Allocation for D...
 
Es_module2ppt.pptx
Es_module2ppt.pptxEs_module2ppt.pptx
Es_module2ppt.pptx
 
Parallel and Distributed Computing chapter 1
Parallel and Distributed Computing chapter 1Parallel and Distributed Computing chapter 1
Parallel and Distributed Computing chapter 1
 
Machine Learning At Speed: Operationalizing ML For Real-Time Data Streams
Machine Learning At Speed: Operationalizing ML For Real-Time Data StreamsMachine Learning At Speed: Operationalizing ML For Real-Time Data Streams
Machine Learning At Speed: Operationalizing ML For Real-Time Data Streams
 
Traffic Engineering in Software-Defined Networks
Traffic Engineering in Software-Defined NetworksTraffic Engineering in Software-Defined Networks
Traffic Engineering in Software-Defined Networks
 

Último

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
ssuser89054b
 
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Integrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - NeometrixIntegrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - Neometrix
Neometrix_Engineering_Pvt_Ltd
 

Último (20)

COST-EFFETIVE and Energy Efficient BUILDINGS ptx
COST-EFFETIVE  and Energy Efficient BUILDINGS ptxCOST-EFFETIVE  and Energy Efficient BUILDINGS ptx
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
 
DC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equationDC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equation
 
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced LoadsFEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
 
chapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineeringchapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineering
 
Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024
 
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
 
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 
Block diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.pptBlock diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.ppt
 
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
 
Hostel management system project report..pdf
Hostel management system project report..pdfHostel management system project report..pdf
Hostel management system project report..pdf
 
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torque
 
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
 
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
 
Unit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdfUnit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdf
 
Introduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaIntroduction to Serverless with AWS Lambda
Introduction to Serverless with AWS Lambda
 
Integrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - NeometrixIntegrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - Neometrix
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
 
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
 

program flow mechanisms, advanced computer architecture

  • 2. Program Flow Mechanisms There are three flow mechanism Control flow mechanism(used by conventional computers) Data-driven mechanism(used by data-flow computers) Demand-driven mechanism(used by reduction computers)
  • 3. Control flow mechanism(used Conventional von Neumann computers use a program counter to sequence the execution of instruction in a program. This sequential execution style is called control-driven. Conventional computers are based on a control flow mechanism by which the order of program execution is explicitly stated in the user programs Control flow computers use sheared memory to hold program instructions and data objects.
  • 4. A uniprocessor computers is inherently sequential ,due to use of the control-driven mechanism. Control flow can be made parallel by using parallel language constructs or parallel compiler. Control flow machines give complete control, but are less efficient than other approaches.
  • 5. Data-driven mechanism Dataflow computers are based on a data-driven mechanism which allows the execution of any instruction to be driven by data (operand) availability. Dataflow computers emphasize a high degree of parallelism at the fine-grain instructional level. Data flow machines have high potential for parallelism and throughput and freedom from side effects, but have high control overhead, lose time waiting for unneeded arguments, and difficulty in manipulating data structures.
  • 6. Data Flow Features No need for shared memory program counter control sequencer Special mechanisms are required to detect data availability match data tokens with instructions needing them enable chain reaction of asynchronous instruction execution
  • 7. Control Flow vs. Data Flow Control flow machines used shared memory for instructions and data. Since variables are updated by many instructions, there may be side effects on other instructions. These side effects frequently prevent parallel processing. Single processor systems are inherently sequential. Instructions in dataflow machines are unordered and can be executed as soon as their operands are available; data is held in the instructions themselves. Data tokens are passed from an instruction to its dependents to trigger execution.
  • 8. Demand-Driven Mechanisms Data-driven machines select instructions for execution based on the availability of their operands; this is essentially a bottom-up approach. Demand-driven machines take a top-down approach, attempting to execute the instruction (a demander) that yields the final result. This triggers the execution of instructions that yield its operands, and so forth. The demand-driven approach matches naturally with functional programming languages (e.g. LISP and SCHEME).
  • 9. Reduction Machine Models String-reduction model: each demander gets a separate copy of the expression string to evaluate each reduction step has an operator and embedded reference to demand the corresponding operands each operator is suspended while arguments are evaluated Graph-reduction model: expression graph reduced by evaluation of branches or subgraphs, possibly in parallel, with demanders given pointers to results of reductions. based on sharing of pointers to arguments; traversal and reversal of pointers continues until constant arguments are encountered.
  • 10. Summary Reduction machines have high parallelism potential, easy manipulation of data structures, and only execute required instructions. But they do not share objects with changing local state, and do require time to propagate tokens.
  • 11.
  • 12. example Consider the following example of a arithmetic expression : a=[(b+1) * c – (d / e)] The data-driven computation chooses a bottom-up approach , starting from b+1 and d / e then proceding to the ‘*’ operation finally to the outermost operation.
  • 13. A demand-driven computation chooses a top- down approach by first demanding the value of ‘a’ ,which triggers the demand for evaluating the next level expression (b+1)*c and d/e ,which in turns triggers the demand for evaluating b+1 at the inner most level. The result are returned to the nested demander in the reverse order before ‘a’ is evaluated.
  • 14. A data-driven computation has been called eager evaluation because operation are carried out immediately after all their operands becomes available. a demand-driven computation corresponds to lazy evaluation because operation are executed only when their result are required by another instruction.