Reading Material + Announcements
|
|
- Walter Melton
- 5 years ago
- Views:
Transcription
1 Reading Material + Announcements Reminder HW 1» Before asking questions: 1) Read all threads on piazza, 2) Think a bit Ÿ Then, post question Ÿ talk to Animesh if you are stuck Today s class» Wrap up Control Flow Analysis» Introduction to Dataflow Analysis» Compilers: Principles, Techniques, and Tools, (2 nd edition) A. Aho, R. Sethi, and J. Ullman, Addison-Wesley. (Sections: 9.2) - 1 -
2 Class Problems Find the traces. Assume a threshold probability of 60% BB1 40 BB2 BB BB4 25 BB BB6 25 BB7 75 BB
3 Class Problems 20 BB Create the superblocks, trace threshold is 60% BB2 BB BB BB7 BB5 41 BB8 BB BB9-3 -
4 Class Problem Solution Superblock Formation 100 Each color represents a trace. 20 BB1 80 BB2 BB BB BB7 BB5 41 BB8 BB BB9 Create the superblocks, trace threshold is 60% - 4 -
5 Class Problem Solution Superblock Formation Each color represents a trace BB7 10 BB BB5 BB1 BB BB BB8 41 BB9 BB6 49 To convert trace into a superblock, BB4 is duplicated and the edge weights are adjusted BB BB Create the superblocks, trace threshold is 60% 10 BB BB2 BB3 BB BB5 BB6 BB BB9
6 Class Problem From Last Time - Answer if (a > 0) { r = t + s if (b > 0 c > 0) u = v + 1 else if (d > 0) x = y + 1 else z = z + 1 } a. Draw the CFG b. Compute CD c. If-convert the code BB1 a <= 0 a > 0 d <= 0 b <= 0 c <= 0 BB3 BB4 BB2 c > 0 d > 0 BB6 BB7 BB8 b > 0 BB5 BB CD , p3 = 0 p1 = CMPP.UN (a > 0) if T r = t + s if p1 p2,p3 = CMPP.UC.ON (b > 0) if p1 p4,p3 = CMPP.UC.ON (c > 0) if p2 u = v + 1 if p3 p5,p6 = CMPP.UC.UN (d > 0) if p4 x = y + 1 if p6 z = z + 1 if p5-6 -
7 If-conversion Positives» Remove branch Ÿ No disruption to sequential fetch Ÿ No prediction or mispredict» Increase potential for operation overlap: bigger BBs» Enable more aggressive compiler xforms: Software pipelining Negatives» Instruction execution is additive for all BBs that are if-converted, thus require more processor resources» Executing or waiting for useless operations BB BB2 BB BB4 10 BB BB
8 Predicated Execution Processors:» Intel Itanium» Intel X86» ARM Reading: Effective Compiler Support for Predicated Execution Using the Hyperblock - 8 -
9 Control Flow Analysis Summary» Basic blocks» Control Flow Graphs» Dominator/immediate dominator/post dominator/dom tree» Identify natural loops: header, back edges» Regions (beyond BBs): Ÿ Trace Ÿ Super blocks Ÿ Profiling over these regions» Alternatives to branches: predicated execution - 9 -
10 Next Topic: Dataflow Analysis + Optimization
11 Looking Inside the Basic Blocks: Dataflow Analysis + Optimization r1 = r2 + r3 r6 = r4 r5 r6 = r2 + r3 r7 = r4 r5 r4 = 4 r6 = 8 Control flow analysis» Treat BB as black box» Just care about branches Now» Start looking at ops in BBs» What s computed and where Classical optimizations» Want to make the computation more efficient Ex: Common Subexpression Elimination (CSE)» Is r2 + r3 redundant?» Is r4 r5 redundant?» What if there were 1000 BB s» Dataflow analysis!!
12 Dataflow Analysis Introduction r1 = r2 + r3 r6 = r4 r5 Dataflow analysis Collection of information that summarizes the creation/destruction of values in a program. Used to identify legal optimization opportunities. r4 = 4 r6 = 8 Pick an arbitrary point in the program Which VRs contain useful data values? (liveness) Which definitions may reach this point? (reaching defns) r6 = r2 + r3 r7 = r4 r5 Which definitions are guaranteed to reach this point? (available defns)
13 Live Variable (Liveness) Analysis Defn: For each point p in a program and each variable y, determine whether y can be used before being redefined starting at p» In other words, there is a use of the variable y along some path from the point p to the exit.» Example: x = =x x=» Useful for dead code elimination» Example: a = b + c b = c d = a
14 Algorithm sketch» Backward dataflow analysis as propagation occurs from uses upwards to defs» For each BB, y is live if it is used before defined in the BB or it is live leaving the block 4 sets» IN = set of variables that are live at the entry point of a BB» OUT = set of variables that are live at the exit point of a BB» GEN = set of external variables consumed in the BB» KILL = set of external variable uses killed by the BB Ÿ equivalent to set of variables defined by the BB Transfer function and Meet function
15 Computing GEN/KILL Sets For Each BB for each basic block in the procedure, X, do GEN(X) = 0 KILL(X) = 0 for each operation in reverse sequential order in X, op, do for each destination operand of op, dest, do GEN(X) -= dest KILL(X) += dest endfor for each source operand of op, src, do GEN(X) += src KILL(X) -= src endfor endfor endfor
16 Compute IN/OUT Sets for all BBs initialize IN(X) to 0 for all basic blocks X change = 1 while (change) do change = 0 for each basic block in procedure, X, do old_in = IN(X) OUT(X) = Union(IN(Y)) for all successors Y of X IN(X) = GEN(X) + (OUT(X) KILL(X)) if (old_in!= IN(X)) then change = 1 endif endfor endfor
17 Example Liveness Computation BB1 1. r1 = MEM[r2+0] 2. r2 = MEM[r1 + 1] 3. r8 = r1 * r2 GEN -= dest GEN += src KILL += dest KILL -= src OUT = Union(IN(succs)) IN = GEN + (OUT KILL) BB2 4. r1 = r r3 = r5 r1 6. r7 = r3 * 2 BB3 7. r2 = 0 8. r7 = r1 + r2 9: r3 = 4 BB4 10: r3 = r3 + r7 11: r1 = r2 r8 12: r3 = r1 *
18 Class Problem 1. r1 = 3 2. r2 = r3 3. r3 = r4 Compute liveness Calculate GEN/KILL for each BB Calculate IN/OUT for each BB 4. r1 = r r7 = r1 * r2 6. r4 = r r4 = r3 + r2 8. r8 = 8 9. r9 = r7 + r8-18 -
19 Reaching Definition Analysis (rdefs) A definition of a variable x is an operation that assigns, or may assign, a value to x A definition d reaches a point p if there is a path from the point immediately following d to p such that d is not killed along that path A definition of a variable is killed between 2 points when there is another definition of that variable along the path» r1 = r2 + r3 kills previous definitions of r1 Liveness vs Reaching defs» Liveness à variables (e.g., virtual registers), don t care about specific users» Reaching defs à operations, each def is different» Forward dataflow analysis as propagation occurs from defs downwards (liveness was backward analysis)
20 Compute Rdef GEN/KILL Sets for each BB GEN = set of definitions created by an operation KILL = set of definitions destroyed by an operation - Assume each operation only has 1 destination for simplicity so just keep track of ops.. for each basic block in the procedure, X, do GEN(X) = 0 KILL(X) = 0 for each operation in sequential order in X, op, do for each destination operand of op, dest, do G = op K = {all ops which define dest op} GEN(X) = G + (GEN(X) K) KILL(X) = K + (KILL(X) G) endfor endfor endfor
21 Compute Rdef IN/OUT Sets for all BBs IN = set of definitions reaching the entry of BB OUT = set of definitions leaving BB initialize IN(X) = 0 for all basic blocks X initialize OUT(X) = GEN(X) for all basic blocks X change = 1 while (change) do change = 0 for each basic block in procedure, X, do old_out = OUT(X) IN(X) = Union(OUT(Y)) for all predecessors Y of X OUT(X) = GEN(X) + (IN(X) KILL(X)) if (old_out!= OUT(X)) then change = 1 endif endfor endfor
22 Example Rdef Calculation BB1 1. r1 = MEM[r2+0] 2. r2 = MEM[r1 + 1] 3. r8 = r1 * r2 G = op K = {all ops which define dest op} GEN(X) = G + (GEN(X) K) KILL(X) = K + (KILL(X) G) IN = Union(OUT(preds)) OUT = GEN + (IN KILL) BB2 4. r1 = r r3 = r5 r1 6. r7 = r3 * 2 BB3 7. r2 = 0 8. r7 = r1 + r2 9. r3 = 4 BB4 10. r3 = r3 + r7 11. r1 = r2 r8 12. r3 = r1 *
23 Class Problem 1. r1 = 3 2. r2 = r3 3. r3 = r4 Compute reaching defs Calculate GEN/KILL for each BB Calculate IN/OUT for each BB 4. r1 = r r7 = r1 * r2 6. r4 = r r4 = r3 + r2 8. r8 = 8 9. r9 = r7 + r8-23 -
24 DU/UD Chains Convenient way to access/use reaching defs info Def-Use chains» Given a def, what are all the possible consumers of the operand produced» Maybe consumer Use-Def chains» Given a use, what are all the possible producers of the operand consumed» Maybe producer
25 Example DU/UD Chains 1. r1 = 3 2. r2 = r3 3. r3 = r4 4. r1 = r r7 = r1 * r2 6. r4 = r r4 = r3 8. r8 = 8 9. r9 = r7 + r8-25 -
26 To Be Continued
EECS 583 Class 7 Classic Code Optimization cont d
EECS 583 Class 7 Classic Code Optimization cont d University of Michigan October 2, 2016 Global Constant Propagation Consider 2 ops, X and Y in different BBs» 1. X is a move» 2. src1(x) is a literal» 3.
More informationCompiler Optimisation
Compiler Optimisation 6 Instruction Scheduling Hugh Leather IF 1.18a hleather@inf.ed.ac.uk Institute for Computing Systems Architecture School of Informatics University of Edinburgh 2018 Introduction This
More informationProject 5: Optimizer Jason Ansel
Project 5: Optimizer Jason Ansel Overview Project guidelines Benchmarking Library OoO CPUs Project Guidelines Use optimizations from lectures as your arsenal If you decide to implement one, look at Whale
More informationLecture 13 Register Allocation: Coalescing
Lecture 13 Register llocation: Coalescing I. Motivation II. Coalescing Overview III. lgorithms: Simple & Safe lgorithm riggs lgorithm George s lgorithm Phillip. Gibbons 15-745: Register Coalescing 1 Review:
More informationRegister Allocation by Puzzle Solving
Register Allocation by Puzzle Solving EECS 322: Compiler Construction Simone Campanoni Robby Findler 4/19/2016 Materials Research paper: Authors: Fernando Magno Quintao Pereira, Jens Palsberg Title: Register
More informationSuggested Readings! Lecture 12" Introduction to Pipelining! Example: We have to build x cars...! ...Each car takes 6 steps to build...! ! Readings!
1! CSE 30321 Lecture 12 Introduction to Pipelining! CSE 30321 Lecture 12 Introduction to Pipelining! 2! Suggested Readings!! Readings!! H&P: Chapter 4.5-4.7!! (Over the next 3-4 lectures)! Lecture 12"
More information7/11/2012. Single Cycle (Review) CSE 2021: Computer Organization. Multi-Cycle Implementation. Single Cycle with Jump. Pipelining Analogy
CSE 2021: Computer Organization Single Cycle (Review) Lecture-10 CPU Design : Pipelining-1 Overview, Datapath and control Shakil M. Khan CSE-2021 July-12-2012 2 Single Cycle with Jump Multi-Cycle Implementation
More informationChapter 16 - Instruction-Level Parallelism and Superscalar Processors
Chapter 16 - Instruction-Level Parallelism and Superscalar Processors Luis Tarrataca luis.tarrataca@gmail.com CEFET-RJ L. Tarrataca Chapter 16 - Superscalar Processors 1 / 78 Table of Contents I 1 Overview
More informationChapter 4. Pipelining Analogy. The Processor. Pipelined laundry: overlapping execution. Parallelism improves performance. Four loads: Non-stop:
Chapter 4 The Processor Part II Pipelining Analogy Pipelined laundry: overlapping execution Parallelism improves performance Four loads: Speedup = 8/3.5 = 2.3 Non-stop: Speedup p = 2n/(0.5n + 1.5) 4 =
More informationDynamic Scheduling I
basic pipeline started with single, in-order issue, single-cycle operations have extended this basic pipeline with multi-cycle operations multiple issue (superscalar) now: dynamic scheduling (out-of-order
More informationHeuristics, and what to do if you don t know what to do. Carl Hultquist
Heuristics, and what to do if you don t know what to do Carl Hultquist What is a heuristic? Relating to or using a problem-solving technique in which the most appropriate solution of several found by alternative
More informationPipelined Processor Design
Pipelined Processor Design COE 38 Computer Architecture Prof. Muhamed Mudawar Computer Engineering Department King Fahd University of Petroleum and Minerals Presentation Outline Pipelining versus Serial
More informationEECS 470 Lecture 5. Intro to Dynamic Scheduling (Scoreboarding) Fall 2018 Jon Beaumont
Intro to Dynamic Scheduling (Scoreboarding) Fall 2018 Jon Beaumont http://www.eecs.umich.edu/courses/eecs470 Many thanks to Prof. Martin and Roth of University of Pennsylvania for most of these slides.
More informationIF ID EX MEM WB 400 ps 225 ps 350 ps 450 ps 300 ps
CSE 30321 Computer Architecture I Fall 2011 Homework 06 Pipelined Processors 75 points Assigned: November 1, 2011 Due: November 8, 2011 PLEASE DO THE ASSIGNMENT ON THIS HANDOUT!!! Problem 1: (15 points)
More informationEECS 470. Tomasulo s Algorithm. Lecture 4 Winter 2018
omasulo s Algorithm Winter 2018 Slides developed in part by Profs. Austin, Brehob, Falsafi, Hill, Hoe, Lipasti, Martin, Roth, Shen, Smith, Sohi, yson, Vijaykumar, and Wenisch of Carnegie Mellon University,
More informationA B C D. Ann, Brian, Cathy, & Dave each have one load of clothes to wash, dry, and fold. Time
Pipelining Readings: 4.5-4.8 Example: Doing the laundry A B C D Ann, Brian, Cathy, & Dave each have one load of clothes to wash, dry, and fold Washer takes 30 minutes Dryer takes 40 minutes Folder takes
More informationPipelining A B C D. Readings: Example: Doing the laundry. Ann, Brian, Cathy, & Dave. each have one load of clothes to wash, dry, and fold
Pipelining Readings: 4.5-4.8 Example: Doing the laundry Ann, Brian, Cathy, & Dave A B C D each have one load of clothes to wash, dry, and fold Washer takes 30 minutes Dryer takes 40 minutes Folder takes
More informationCS 110 Computer Architecture Lecture 11: Pipelining
CS 110 Computer Architecture Lecture 11: Pipelining Instructor: Sören Schwertfeger http://shtech.org/courses/ca/ School of Information Science and Technology SIST ShanghaiTech University Slides based on
More informationInstruction Level Parallelism. Data Dependence Static Scheduling
Instruction Level Parallelism Data Dependence Static Scheduling Basic Block A straight line code sequence with no branches in except to the entry and no branches out except at the exit Loop: L.D ADD.D
More information7/19/2012. IF for Load (Review) CSE 2021: Computer Organization. EX for Load (Review) ID for Load (Review) WB for Load (Review) MEM for Load (Review)
CSE 2021: Computer Organization IF for Load (Review) Lecture-11 CPU Design : Pipelining-2 Review, Hazards Shakil M. Khan CSE-2021 July-19-2012 2 ID for Load (Review) EX for Load (Review) CSE-2021 July-19-2012
More informationCSE 2021: Computer Organization
CSE 2021: Computer Organization Lecture-11 CPU Design : Pipelining-2 Review, Hazards Shakil M. Khan IF for Load (Review) CSE-2021 July-14-2011 2 ID for Load (Review) CSE-2021 July-14-2011 3 EX for Load
More informationCSE502: Computer Architecture CSE 502: Computer Architecture
CSE 502: Computer Architecture Speculation and raps in Out-of-Order Cores What is wrong with omasulo s? Branch instructions Need branch prediction to guess what to fetch next Need speculative execution
More informationUnit 12: Artificial Intelligence CS 101, Fall 2018
Unit 12: Artificial Intelligence CS 101, Fall 2018 Learning Objectives After completing this unit, you should be able to: Explain the difference between procedural and declarative knowledge. Describe the
More informationCSE502: Computer Architecture CSE 502: Computer Architecture
CSE 502: Computer Architecture Out-of-Order Execution and Register Rename In Search of Parallelism rivial Parallelism is limited What is trivial parallelism? In-order: sequential instructions do not have
More informationIF ID EX MEM WB 400 ps 225 ps 350 ps 450 ps 300 ps
CSE 30321 Computer Architecture I Fall 2010 Homework 06 Pipelined Processors 85 points Assigned: November 2, 2010 Due: November 9, 2010 PLEASE DO THE ASSIGNMENT ON THIS HANDOUT!!! Problem 1: (25 points)
More informationAsanovic/Devadas Spring Pipeline Hazards. Krste Asanovic Laboratory for Computer Science M.I.T.
Pipeline Hazards Krste Asanovic Laboratory for Computer Science M.I.T. Pipelined DLX Datapath without interlocks and jumps 31 0x4 RegDst RegWrite inst Inst rs1 rs2 rd1 ws wd rd2 GPRs Imm Ext A B OpSel
More informationProblem: hazards delay instruction completion & increase the CPI. Compiler scheduling (static scheduling) reduces impact of hazards
Dynamic Scheduling Pipelining: Issue instructions in every cycle (CPI 1) Problem: hazards delay instruction completion & increase the CPI Compiler scheduling (static scheduling) reduces impact of hazards
More informationDynamic Scheduling II
so far: dynamic scheduling (out-of-order execution) Scoreboard omasulo s algorithm register renaming: removing artificial dependences (WAR/WAW) now: out-of-order execution + precise state advanced topic:
More information: Principles of Automated Reasoning and Decision Making Midterm
16.410-13: Principles of Automated Reasoning and Decision Making Midterm October 20 th, 2003 Name E-mail Note: Budget your time wisely. Some parts of this quiz could take you much longer than others. Move
More informationComputer Science 246. Advanced Computer Architecture. Spring 2010 Harvard University. Instructor: Prof. David Brooks
Advanced Computer Architecture Spring 2010 Harvard University Instructor: Prof. dbrooks@eecs.harvard.edu Lecture Outline Instruction-Level Parallelism Scoreboarding (A.8) Instruction Level Parallelism
More informationPrecise State Recovery. Out-of-Order Pipelines
Precise State Recovery in Out-of-Order Pipelines Nima Honarmand Recall Our Generic OOO Pipeline Instruction flow (pipeline front-end) is in-order Register and memory execution are OOO And, we need a final
More informationCSE502: Computer Architecture CSE 502: Computer Architecture
CSE 502: Computer Architecture Out-of-Order Schedulers Data-Capture Scheduler Dispatch: read available operands from ARF/ROB, store in scheduler Commit: Missing operands filled in from bypass Issue: When
More informationCOSC4201. Scoreboard
COSC4201 Scoreboard Prof. Mokhtar Aboelaze York University Based on Slides by Prof. L. Bhuyan (UCR) Prof. M. Shaaban (RIT) 1 Overcoming Data Hazards with Dynamic Scheduling In the pipeline, if there is
More informationInstruction Level Parallelism Part II - Scoreboard
Course on: Advanced Computer Architectures Instruction Level Parallelism Part II - Scoreboard Prof. Cristina Silvano Politecnico di Milano email: cristina.silvano@polimi.it 1 Basic Assumptions We consider
More informationLecture Topics. Announcements. Today: Pipelined Processors (P&H ) Next: continued. Milestone #4 (due 2/23) Milestone #5 (due 3/2)
Lecture Topics Today: Pipelined Processors (P&H 4.5-4.10) Next: continued 1 Announcements Milestone #4 (due 2/23) Milestone #5 (due 3/2) 2 1 ISA Implementations Three different strategies: single-cycle
More informationInformatics 2D: Tutorial 1 (Solutions)
Informatics 2D: Tutorial 1 (Solutions) Agents, Environment, Search Week 2 1 Agents and Environments Consider the following agents: A robot vacuum cleaner which follows a pre-set route around a house and
More informationEE382V-ICS: System-on-a-Chip (SoC) Design
EE38V-CS: System-on-a-Chip (SoC) Design Hardware Synthesis and Architectures Source: D. Gajski, S. Abdi, A. Gerstlauer, G. Schirner, Embedded System Design: Modeling, Synthesis, Verification, Chapter 6:
More informationtransformation AD Rahul Kharche Cranfield University, Shrivenham AD Fest 2005, Nice 14 th - 15 th April 2005 MSAD p.
Progress with MATLAB Source transformation AD MSAD Rahul Kharche Cranfield University, Shrivenham R.V.Kharche@Cranfield.ac.uk AD Fest 2005, Nice 14 th - 15 th April 2005 MSAD p. 1/18 Agenda Project Goals
More informationDAT105: Computer Architecture
Department of Computer Science & Engineering Chalmers University of Techlogy DAT05: Computer Architecture Exercise 6 (Old exam questions) By Minh Quang Do 2007-2-2 Question 4a [2006/2/22] () Loop: LD F0,0(R)
More informationCSE502: Computer Architecture CSE 502: Computer Architecture
CSE 502: Computer Architecture Out-of-Order Execution and Register Rename In Search of Parallelism rivial Parallelism is limited What is trivial parallelism? In-order: sequential instructions do not have
More informationDynamic games: Backward induction and subgame perfection
Dynamic games: Backward induction and subgame perfection ectures in Game Theory Fall 04, ecture 3 0.0.04 Daniel Spiro, ECON300/400 ecture 3 Recall the extensive form: It specifies Players: {,..., i,...,
More informationQuestion Score Max Cover Total 149
CS170 Final Examination 16 May 20 NAME (1 pt): TA (1 pt): Name of Neighbor to your left (1 pt): Name of Neighbor to your right (1 pt): This is a closed book, closed calculator, closed computer, closed
More informationTopic Notes: Digital Logic
Computer Science 220 Assembly Language & Comp. Architecture Siena College Fall 20 Topic Notes: Digital Logic Our goal for the next couple of weeks is to gain a reasonably complete understanding of how
More informationGC for interactive and real-time systems
GC for interactive and real-time systems Interactive or real-time app concerns Reducing length of garbage collection pause Demands guarantees for worst case performance Generational GC works if: Young
More informationOut-of-Order Execution. Register Renaming. Nima Honarmand
Out-of-Order Execution & Register Renaming Nima Honarmand Out-of-Order (OOO) Execution (1) Essence of OOO execution is Dynamic Scheduling Dynamic scheduling: processor hardware determines instruction execution
More informationCMP 301B Computer Architecture. Appendix C
CMP 301B Computer Architecture Appendix C Dealing with Exceptions What should be done when an exception arises and many instructions are in the pipeline??!! Force a trap instruction in the next IF stage
More informationScheduling. Radek Mařík. April 28, 2015 FEE CTU, K Radek Mařík Scheduling April 28, / 48
Scheduling Radek Mařík FEE CTU, K13132 April 28, 2015 Radek Mařík (marikr@fel.cvut.cz) Scheduling April 28, 2015 1 / 48 Outline 1 Introduction to Scheduling Methodology Overview 2 Classification of Scheduling
More informationEN164: Design of Computing Systems Lecture 22: Processor / ILP 3
EN164: Design of Computing Systems Lecture 22: Processor / ILP 3 Professor Sherief Reda http://scale.engin.brown.edu Electrical Sciences and Computer Engineering School of Engineering Brown University
More informationAnalysis of Workflow Graphs through SESE Decomposition
Analysis of Workflow Graphs through SESE Decomposition Jussi Vanhatalo, IBM Zurich Research Lab Hagen Völzer, IBM Zurich Research Lab Frank Leymann, University of Stuttgart, IAAS AWPN 2007 September 2007
More information30V 30 R1 120V R V 30 R1 120V. Analysis of a single-loop circuit using the KVL method
Analysis of a singleloop circuit using the KVL method Below is our circuit to analyze. We shall attempt to determine the current through each element, the voltage across each element, and the power delivered
More informationPrepared by Vaishnavi Moorthy Asst Prof- Dept of Cse
UNIT II-REPRESENTATION OF KNOWLEDGE (9 hours) Game playing - Knowledge representation, Knowledge representation using Predicate logic, Introduction tounit-2 predicate calculus, Resolution, Use of predicate
More informationTomasulo s Algorithm. Tomasulo s Algorithm
Tomasulo s Algorithm Load and store buffers Contain data and addresses, act like reservation stations Branch Prediction Top-level design: 56 Tomasulo s Algorithm Three Steps: Issue Get next instruction
More informationLecture 8 Link-State Routing
6998-02: Internet Routing Lecture 8 Link-State Routing John Ioannidis AT&T Labs Research ji+ir@cs.columbia.edu Copyright 2002 by John Ioannidis. All Rights Reserved. Announcements Lectures 1-5, 7-8 are
More informationLecture 1: Introduction to Digital System Design & Co-Design
Design & Co-design of Embedded Systems Lecture 1: Introduction to Digital System Design & Co-Design Computer Engineering Dept. Sharif University of Technology Winter-Spring 2008 Mehdi Modarressi Topics
More informationCMPUT 396 Tic-Tac-Toe Game
CMPUT 396 Tic-Tac-Toe Game Recall minimax: - For a game tree, we find the root minimax from leaf values - With minimax we can always determine the score and can use a bottom-up approach Why use minimax?
More informationTimed Games UPPAAL-TIGA. Alexandre David
Timed Games UPPAAL-TIGA Alexandre David 1.2.05 Overview Timed Games. Algorithm (CONCUR 05). Strategies. Code generation. Architecture of UPPAAL-TIGA. Interactive game. Timed Games with Partial Observability.
More informationCRYPTOSHOOTER MULTI AGENT BASED SECRET COMMUNICATION IN AUGMENTED VIRTUALITY
CRYPTOSHOOTER MULTI AGENT BASED SECRET COMMUNICATION IN AUGMENTED VIRTUALITY Submitted By: Sahil Narang, Sarah J Andrabi PROJECT IDEA The main idea for the project is to create a pursuit and evade crowd
More informationTechniques for the Power Estimation of Sequential Logic Circuits Under User-Specified Input Sequences and Programs
Techniques for the Power Estimation of Sequential Logic Circuits Under User-Specified Input Sequences and Programs José Monteiro Srinivas Devadas Department of EECS MIT, Cambridge, MA 02139 Abstract We
More informationMultiple Predictors: BTB + Branch Direction Predictors
Constructive Computer Architecture: Branch Prediction: Direction Predictors Arvind Computer Science & Artificial Intelligence Lab. Massachusetts Institute of Technology October 28, 2015 http://csg.csail.mit.edu/6.175
More informationRéalité Virtuelle et Interactions. Interaction 3D. Année / 5 Info à Polytech Paris-Sud. Cédric Fleury
Réalité Virtuelle et Interactions Interaction 3D Année 2016-2017 / 5 Info à Polytech Paris-Sud Cédric Fleury (cedric.fleury@lri.fr) Virtual Reality Virtual environment (VE) 3D virtual world Simulated by
More informationSome material adapted from Mohamed Younis, UMBC CMSC 611 Spr 2003 course slides Some material adapted from Hennessy & Patterson / 2003 Elsevier
Some material adapted from Mohamed Younis, UMBC CMSC 611 Spr 2003 course slides Some material adapted from Hennessy & Patterson / 2003 Elsevier Science !!! Basic MIPS integer pipeline Branches with one
More informationCS521 CSE IITG 11/23/2012
Parallel Decoding and issue Parallel execution Preserving the sequential consistency of execution and exception processing 1 slide 2 Decode/issue data Issue bound fetch Dispatch bound fetch RS RS RS RS
More informationLecture 8-1 Vector Processors 2 A. Sohn
Lecture 8-1 Vector Processors Vector Processors How many iterations does the following loop go through? For i=1 to n do A[i] = B[i] + C[i] Sequential Processor: n times. Vector processor: 1 instruction!
More informationEmbedded Systems CSEE W4840. Design Document. Hardware implementation of connected component labelling
Embedded Systems CSEE W4840 Design Document Hardware implementation of connected component labelling Avinash Nair ASN2129 Jerry Barona JAB2397 Manushree Gangwar MG3631 Spring 2016 Table of Contents TABLE
More informationEECS 470 Lecture 8. P6 µarchitecture. Fall 2018 Jon Beaumont Core 2 Microarchitecture
P6 µarchitecture Fall 2018 Jon Beaumont http://www.eecs.umich.edu/courses/eecs470 Core 2 Microarchitecture Many thanks to Prof. Martin and Roth of University of Pennsylvania for most of these slides. Portions
More informationIn how many ways can we paint 6 rooms, choosing from 15 available colors? What if we want all rooms painted with different colors?
What can we count? In how many ways can we paint 6 rooms, choosing from 15 available colors? What if we want all rooms painted with different colors? In how many different ways 10 books can be arranged
More informationUCS-805 MOBILE COMPUTING NIT Agartala, Dept of CSE Jan-May,2011
Location Management for Mobile Cellular Systems SLIDE #3 UCS-805 MOBILE COMPUTING NIT Agartala, Dept of CSE Jan-May,2011 ALAK ROY. Assistant Professor Dept. of CSE NIT Agartala Email-alakroy.nerist@gmail.com
More informationENGI 7962 Mastercam Lab Mill 1
ENGI 7962 Mastercam Lab Mill 1 Starting a Mastercam file: Once the SolidWorks models is complete (all sketches are Fully Defined), start up Mastercam and select File, Open, Files of Type, SolidWorks Files,
More informationHeuristics & Pattern Databases for Search Dan Weld
10//01 CSE 57: Artificial Intelligence Autumn01 Heuristics & Pattern Databases for Search Dan Weld Recap: Search Problem States configurations of the world Successor function: function from states to lists
More information6.S084 Tutorial Problems L19 Control Hazards in Pipelined Processors
6.S084 Tutorial Problems L19 Control Hazards in Pipelined Processors Options for dealing with data and control hazards: stall, bypass, speculate 6.S084 Worksheet - 1 of 10 - L19 Control Hazards in Pipelined
More informationMOBILE COMPUTING NIT Agartala, Dept of CSE Jan-May,2012
Location Management for Mobile Cellular Systems MOBILE COMPUTING NIT Agartala, Dept of CSE Jan-May,2012 ALAK ROY. Assistant Professor Dept. of CSE NIT Agartala Email-alakroy.nerist@gmail.com Cellular System
More informationAdversarial Search. Robert Platt Northeastern University. Some images and slides are used from: 1. CS188 UC Berkeley 2. RN, AIMA
Adversarial Search Robert Platt Northeastern University Some images and slides are used from: 1. CS188 UC Berkeley 2. RN, AIMA What is adversarial search? Adversarial search: planning used to play a game
More informationMembrane Computing as Multi Turing Machines
Volume 4 No.8, December 2012 www.ijais.org Membrane Computing as Multi Turing Machines Mahmoud Abdelaziz Amr Badr Ibrahim Farag ABSTRACT A Turing machine (TM) can be adapted to simulate the logic of any
More informationLecture # 4 Network Analysis
CPEN 206 Linear Circuits Lecture # 4 Network Analysis Dr. Godfrey A. Mills Email: gmills@ug.edu.gh Phone: 026-907-3163 February 22, 2016 Course TA David S. Tamakloe 1 What is Network Technique o Network
More informationImplementation of Recursively Enumerable Languages in Universal Turing Machine
Implementation of Recursively Enumerable Languages in Universal Turing Machine Sumitha C.H, Member, ICMLC and Krupa Ophelia Geddam Abstract This paper presents the design and working of a Universal Turing
More informationObjective: Use varied protractors to distinguish angle measure from length
NYS COMMON CORE MATHEMATICS CURRICULUM Lesson 6 4 Lesson 6 Objective: Use varied protractors to distinguish angle measure from length Suggested Lesson Structure Fluency Practice Application Problem Concept
More information3. Voltage and Current laws
1 3. Voltage and Current laws 3.1 Node, Branches, and loops A branch represents a single element such as a voltage source or a resistor A node is the point of the connection between two or more elements
More informationCS 621 Mobile Computing
Lecture 11 CS 621 Mobile Computing Location Management for Mobile Cellular Systems Zubin Bhuyan, Department of CSE, Tezpur University http://www.tezu.ernet.in/~zubin Several slides and images in this presentation
More informationLecture 18: Network Layer Link State and Distance Vector Routing
Lecture 8: Network Laer Link State and Distance Vector Routing COMP 33, Spring 08 Victoria Manfredi Acknowledgements: materials adapted Computer Networking: A Top Down Approach 7 th edition: 996-06, J.F
More informationArchitectural Core Salvaging in a Multi-Core Processor for Hard-Error Tolerance
Architectural Core Salvaging in a Multi-Core Processor for Hard-Error Tolerance Michael D. Powell, Arijit Biswas, Shantanu Gupta, and Shubu Mukherjee SPEARS Group, Intel Massachusetts EECS, University
More informationInstruction Level Parallelism III: Dynamic Scheduling
Instruction Level Parallelism III: Dynamic Scheduling Reading: Appendix A (A-67) H&P Chapter 2 Instruction Level Parallelism III: Dynamic Scheduling 1 his Unit: Dynamic Scheduling Application OS Compiler
More informationTrace Based Switching For A Tightly Coupled Heterogeneous Core
Trace Based Switching For A Tightly Coupled Heterogeneous Core Shru% Padmanabha, Andrew Lukefahr, Reetuparna Das, Sco@ Mahlke Micro- 46 December 2013 University of Michigan Electrical Engineering and Computer
More information3.4 The Single-Loop Circuit Single-loop circuits
25 3.4 The Single-Loop Circuit Single-loop circuits Elements are connected in series All elements carry the same current We shall determine The current through each element The voltage across each element
More informationSATSim: A Superscalar Architecture Trace Simulator Using Interactive Animation
SATSim: A Superscalar Architecture Trace Simulator Using Interactive Animation Mark Wolff Linda Wills School of Electrical and Computer Engineering Georgia Institute of Technology {wolff,linda.wills}@ece.gatech.edu
More informationMohammad Hossein Manshaei 1394
Mohammad Hossein Manshaei manshaei@gmail.com 394 Some Formal Definitions . First Mover or Second Mover?. Zermelo Theorem 3. Perfect Information/Pure Strategy 4. Imperfect Information/Information Set 5.
More informationARTIFICIAL INTELLIGENCE (CS 370D)
Princess Nora University Faculty of Computer & Information Systems ARTIFICIAL INTELLIGENCE (CS 370D) (CHAPTER-5) ADVERSARIAL SEARCH ADVERSARIAL SEARCH Optimal decisions Min algorithm α-β pruning Imperfect,
More informationCS 1571 Introduction to AI Lecture 12. Adversarial search. CS 1571 Intro to AI. Announcements
CS 171 Introduction to AI Lecture 1 Adversarial search Milos Hauskrecht milos@cs.pitt.edu 39 Sennott Square Announcements Homework assignment is out Programming and experiments Simulated annealing + Genetic
More informationCSE 332: Data Structures and Parallelism Games, Minimax, and Alpha-Beta Pruning. Playing Games. X s Turn. O s Turn. X s Turn.
CSE 332: ata Structures and Parallelism Games, Minimax, and Alpha-Beta Pruning This handout describes the most essential algorithms for game-playing computers. NOTE: These are only partial algorithms:
More informationSCHEDULING Giovanni De Micheli Stanford University
SCHEDULING Giovanni De Micheli Stanford University Outline The scheduling problem. Scheduling without constraints. Scheduling under timing constraints. Relative scheduling. Scheduling under resource constraints.
More informationTomasolu s s Algorithm
omasolu s s Algorithm Fall 2007 Prof. homas Wenisch http://www.eecs.umich.edu/courses/eecs4 70 Floating Point Buffers (FLB) ag ag ag Storage Bus Floating Point 4 3 Buffers FLB 6 5 5 4 Control 2 1 1 Result
More informationLecture 9b Convolutional Coding/Decoding and Trellis Code modulation
Lecture 9b Convolutional Coding/Decoding and Trellis Code modulation Convolutional Coder Basics Coder State Diagram Encoder Trellis Coder Tree Viterbi Decoding For Simplicity assume Binary Sym.Channel
More informationthe gamedesigninitiative at cornell university Lecture 4 Game Grammars
Lecture 4 Sources for Today s Talk Raph Koster (one of original proponents) Theory of Fun, 10 Years Later (GDCOnline 2012) http://raphkoster.com Ernest Adams and Joris Dormans Game Mechanics: Advanced
More informationComputer Networks II
ipartimento di Informatica e Sistemistica omputer Networks II Routing protocols Overview Luca Becchetti Luca.Becchetti@dis.uniroma.it.. 2009/200 Goals escribe approaches and give overview of mechanisms
More informationDesigning Information Devices and Systems I Spring 2019 Lecture Notes Note Introduction to Electrical Circuit Analysis
EECS 16A Designing Information Devices and Systems I Spring 2019 Lecture Notes Note 11 11.1 Introduction to Electrical Circuit Analysis Our ultimate goal is to design systems that solve people s problems.
More informationIntelligent Agents & Search Problem Formulation. AIMA, Chapters 2,
Intelligent Agents & Search Problem Formulation AIMA, Chapters 2, 3.1-3.2 Outline for today s lecture Intelligent Agents (AIMA 2.1-2) Task Environments Formulating Search Problems CIS 421/521 - Intro to
More informationCS Computer Architecture Spring Lecture 04: Understanding Performance
CS 35101 Computer Architecture Spring 2008 Lecture 04: Understanding Performance Taken from Mary Jane Irwin (www.cse.psu.edu/~mji) and Kevin Schaffer [Adapted from Computer Organization and Design, Patterson
More informationLab 1. Due: Friday, September 16th at 9:00 AM
Lab 1 Due: Friday, September 16th at 9:00 AM Consult the Standard Lab Instructions on LEARN for explanations of Lab Days ( D1, D2, D3 ), the Processing Language and IDE, and Saving and Submitting. 1. D1
More informationEECS 470 Lecture 4. Pipelining & Hazards II. Winter Prof. Ronald Dreslinski h8p://
Wenisch 26 -- Portions ustin, Brehob, Falsafi, Hill, Hoe, ipasti, artin, Roth, Shen, Smith, Sohi, Tyson, Vijaykumar EECS 4 ecture 4 Pipelining & Hazards II Winter 29 GS STTION Prof. Ronald Dreslinski h8p://www.eecs.umich.edu/courses/eecs4
More informationLECTURE 8. Pipelining: Datapath and Control
LECTURE 8 Pipelining: Datapath and Control PIPELINED DATAPATH As with the single-cycle and multi-cycle implementations, we will start by looking at the datapath for pipelining. We already know that pipelining
More informationLecture 19 November 6, 2014
6.890: Algorithmic Lower Bounds: Fun With Hardness Proofs Fall 2014 Prof. Erik Demaine Lecture 19 November 6, 2014 Scribes: Jeffrey Shen, Kevin Wu 1 Overview Today, we ll cover a few more 2 player games
More information