CMPE 511 DATA FLOW MACHINES Mustafa Emre ERKOÇ 11/12/2003.

Slides:



Advertisements
Similar presentations
Computer Architecture
Advertisements

How SAS implements structured programming constructs
School of EECS, Peking University “Advanced Compiler Techniques” (Fall 2011) SSA Guo, Yao.
CSCI 4717/5717 Computer Architecture
Data Dependencies Describes the normal situation that the data that instructions use depend upon the data created by other instructions, or data is stored.
Topics covered: CPU Architecture CSE 243: Introduction to Computer Architecture and Hardware/Software Interface.
Programming Languages Marjan Sirjani 2 2. Language Design Issues Design to Run efficiently : early languages Easy to write correctly : new languages.
DATAFLOW ARHITEKTURE. Dataflow Processors - Motivation In basic processor pipelining hazards limit performance –Structural hazards –Data hazards due to.
DATAFLOW PROCESS NETWORKS Edward A. Lee Thomas M. Parks.
Control Flow Virtualization for General-Purpose Computation on Graphics Hardware Ghulam Lashari Ondrej Lhotak University of Waterloo.
University of Michigan Electrical Engineering and Computer Science 1 Reducing Control Power in CGRAs with Token Flow Hyunchul Park, Yongjun Park, and Scott.
Data Parallel Algorithms Presented By: M.Mohsin Butt
Code Generation for Basic Blocks Introduction Mooly Sagiv html:// Chapter
Dataflow Process Networks Lee & Parks Synchronous Dataflow Lee & Messerschmitt Abhijit Davare Nathan Kitchen.
(Page 554 – 564) Ping Perez CS 147 Summer 2001 Alternative Parallel Architectures  Dataflow  Systolic arrays  Neural networks.
Chapter 9: Subprogram Control
Chapter 6 Memory and Programmable Logic Devices
Group 5 Alain J. Percial Paula A. Ortiz Francis X. Ruiz.
Chapter 1 Algorithm Analysis
5-Stage Pipelining Fetch Instruction (FI) Fetch Operand (FO) Decode Instruction (DI) Write Operand (WO) Execution Instruction (EI) S3S3 S4S4 S1S1 S2S2.
CS321 Functional Programming 2 © JAS Implementation using the Data Flow Approach In a conventional control flow system a program is a set of operations.
Voicu Groza, 2008 SITE, HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS Hardware/Software Codesign of Embedded Systems Voicu Groza SITE Hall, Room.
High Performance Architectures Dataflow Part 3. 2 Dataflow Processors Recall from Basic Processor Pipelining: Hazards limit performance  Structural hazards.
CHALLENGING SCHEDULING PROBLEM IN THE FIELD OF SYSTEM DESIGN Alessio Guerri Michele Lombardi * Michela Milano DEIS, University of Bologna.
Computer Architecture and Organization Introduction.
Department of Computer Science A Static Program Analyzer to increase software reuse Ramakrishnan Venkitaraman and Gopal Gupta.
Software Pipelining for Stream Programs on Resource Constrained Multi-core Architectures IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEM 2012 Authors:
TRIPS – An EDGE Instruction Set Architecture Chirag Shah April 24, 2008.
1 Advance Computer Architecture CSE 8383 Ranya Alawadhi.
Chapter 1 Introduction. Architecture & Organization 1 Architecture is those attributes visible to the programmer —Instruction set, number of bits used.
CS212: DATA STRUCTURES Lecture 1: Introduction. What is this course is about ?  Data structures : conceptual and concrete ways to organize data for efficient.
Advanced Computer Architecture 0 Lecture # 1 Introduction by Husnain Sherazi.
1 Multithreaded Architectures Lecture 3 of 4 Supercomputing ’93 Tutorial Friday, November 19, 1993 Portland, Oregon Rishiyur S. Nikhil Digital Equipment.
Static Program Analyses of DSP Software Systems Ramakrishnan Venkitaraman and Gopal Gupta.
Different parallel processing architectures Module 2.
Chapter 7 Dataflow Architecture. 7.1 Dataflow Models  A dataflow program: the sequence of operations is not specified, but depends upon the need and.
1 Compiler Construction (CS-636) Muhammad Bilal Bashir UIIT, Rawalpindi.
1 Copyright  2001 Pao-Ann Hsiung SW HW Module Outline l Introduction l Unified HW/SW Representations l HW/SW Partitioning Techniques l Integrated HW/SW.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
CSCI1600: Embedded and Real Time Software Lecture 11: Modeling IV: Concurrency Steven Reiss, Fall 2015.
CS412/413 Introduction to Compilers Radu Rugina Lecture 18: Control Flow Graphs 29 Feb 02.
1 Control Flow Graphs. 2 Optimizations Code transformations to improve program –Mainly: improve execution time –Also: reduce program size Can be done.
Muhammed Al-MulhemVisual Languages Visual Programming Languages ICS 519 Paradigms ICS Department KFUPM Feb. 1, 2005.
High Performance Embedded Computing © 2007 Elsevier Chapter 1, part 3: Embedded Computing High Performance Embedded Computing Wayne Wolf.
ISBN Chapter 10 Implementing Subprograms.
March 4, 2008http://csg.csail.mit.edu/arvindDF3-1 Dynamic Dataflow Arvind Computer Science & Artificial Intelligence Lab Massachusetts Institute of Technology.
Onlinedeeneislam.blogspot.com1 Design and Analysis of Algorithms Slide # 1 Download From
High Performance Embedded Computing © 2007 Elsevier Lecture 4: Models of Computation Embedded Computing Systems Mikko Lipasti, adapted from M. Schulte.
Compilation of XSLT into Dataflow Graphs for Web Service Composition Peter Kelly Paul Coddington Andrew Wendelborn.
Linear Analysis and Optimization of Stream Programs Masterworks Presentation Andrew A. Lamb 4/30/2003 Professor Saman Amarasinghe MIT Laboratory for Computer.
Translating Assembly Language to Machine Language.
Autumn 2006CSE P548 - Dataflow Machines1 Von Neumann Execution Model Fetch: send PC to memory transfer instruction from memory to CPU increment PC Decode.
Simulation of O2 offline processing – 02/2015 Faculty of Electrical Engineering, Mechanical Engineering and Naval Architecture Eugen Mudnić.
Computer Systems Architecture Edited by Original lecture by Ian Sunley Areas: Computer users Basic topics What is a computer?
Computer Architecture Furkan Rabee
Dataflow Machines CMPE 511
Prof. Onur Mutlu Carnegie Mellon University
The Processor and Machine Language
From C to Elastic Circuits
ECEG-3202 Computer Architecture and Organization
Dynamically Scheduled High-level Synthesis
ECEG-3202 Computer Architecture and Organization
Topic B (Cont’d) Dataflow Model of Computation
Languages and Compilers (SProg og Oversættere)
Chapter 12 Pipelining and RISC
Course Overview PART I: overview material PART II: inside a compiler
Samira Khan University of Virginia Jan 23, 2019
Advanced Computer Architecture Dataflow Processing
Prof. Onur Mutlu Carnegie Mellon University
Prof. Onur Mutlu Carnegie Mellon University
Presentation transcript:

CMPE 511 DATA FLOW MACHINES Mustafa Emre ERKOÇ 11/12/2003

1)What is data flow technique? 2) History of Data Flow Machines 3)Data Flow Models 4)Types of Data Flow Systems 5)Macrodataflow 6)Conclusion Presentation Outline

1)What is data flow technique? Alternative computer design to stored program systems. The Difference Traditional Methods An instruction executed when the previous instruction in a defined sequence has been executed In this model, It is executed when the operands required become available.

2)History of Data Flow Systems Data flow technique was originally developed in 1960s by Karp and Miller as graphic means of representing computations. In the early 1970s Denis and others began to develop computer architectures based upon the dataflow computational model.

3)Data Flow Models It uses a directed graph called a data dependence graph or dataflow graph +nodes arcs The general flow of the model is top to down Each node of a data graph can be represented as an activity template Add [ ]

Examples of Instruction Basic Operation Conditional Operations ADD [5] [3]

Examples of Instruction Loops

Some Problems with Data Flows 1)Arrays 2) Constraint of nodes/operators

4)Types of Data Flow Systems 1- Static 2- Dynamic There is only one instance of a particular node firing at a a time Multiple instances of node firing at a run-time is possible

4)Types of Data Flow Systems Static Dataflow 1. Nodes fire when all input tokens appear and the previous output token have been consumed. 2.Input tokens are then removed and new output tokens are generated. These rule allows pipeline computations and loops but not recursion or code sharing There is a handshaking acknowledgement mechanism

4)Types of Data Flow Systems Static Dataflow

4)Types of Data Flow Systems Dynamic Dataflow Dataflow graph being executed is not fixed thtough such as actoions as recursion and code sharing. 1. A node fires when all input tokens with the same tag number appear 2. More than one token is allowed on each arc and previous output tokens need not be consumed before the node van fire again Rules

4)Types of Data Flow Systems(Cont’d) Dynamic Dataflow The dynamic token system needs storage for unmatch tokens. There is no requirement of acknowlegment mechanism. The term coloring has been used for the token labeling operation

4)Types of Data Flow Systems(Cont’d) Dynamic Dataflow Token Tags To cover three situations of function and recursion, loops and array elemnets each token tag could have three fields. Iteration level Activation name Index

4)Types of Data Flow Systems(Cont’d) Dynamic Dataflow

4)Types of Data Flow Systems(Cont’d) VLSI dataflow structures Applied to VSLI arrays of interconnected cells. Each cell performs primitive dataflow operations. A cell will fire when all the operands for one of its stored instruction are recieved.

VLSI Dataflow Example

5)Macrodataflow Dataflow in which each node can represent complex serial function The nodes represent procedures/functions, the input tokens carry procedure/function parameters and the output tokens carry procedure/function results. Rules: 1.Standard firing rule: node fires when all of the operands are recieved 2.Non-standard firing rule: node fires when certain specific operand are recieved. Each nodal operation is completed when all necessary operand are received.

5)Macrodataflow (cont’d)

6)Conclusion Dataflow has had a fairly long development time, with a few groups studying the technique without it becoming widespread in commercial use. Compitability with existing system inhibit the introduction of a radically different computer system requiring a different style of programming and different programming languages. Applied to traditional stored program in the IBM 360/91. But it were abondened after the introduction of cahce memories.