The Java Virtual Machine. Compiler construction The structure of a frame. JVM stacks. Lecture 2

Size: px
Start display at page:

Download "The Java Virtual Machine. Compiler construction The structure of a frame. JVM stacks. Lecture 2"

Transcription

1 Compile constuction 2009 Lectue 2 Code geneation 1: Geneating code The Java Vitual Machine Data types Pimitive types, including intege and floating-point types of vaious sizes and the boolean type. The suppot fo boolean is vey limited; Java (and Javalette) boolean expessions ae compiled to int values. Javalette needs only int and double. Refeence types, used fo efeences to objects; not needed by basic Javalette. Data aeas Local vaiables and paametes ae stoed on the JVM stack (since Javalette is single-theaded thee is only one stack). Objects (including Java aays) ae stoed in the heap. The heap is not used by basic Javalette. JVM stacks Fames A JVM stack consists of fames. A new stack fame is allocated fo each method invocation. Diffeent JVM invocation instuctions: invokestatic fo static methods; use this fo Javalette functions. invokevitual fo instance methods; not needed fo basic Javalette. invokespecial fo special cases, e.g. initialization. Use in class file heade. JVM handles bueaucacy of method invocation: Allocating and deallocating fames. making paametes available to invoked method. making etun value available to invoking method. The stuctue of a fame Local vaiables aay An aay of wods containing local vaiables and paametes. An int value equies one wod, a double value two wods. Paametes occupy the fist pat of the aay, locally declaed vaiables the second pat. All vaiables ae efeed to using thei index in this aay. The size of the aay is specified in the class file. Opeand stack A stack of wods fo tempoay stoage. Many JVM opeations manipulate this stack. Each enty can hold a value of any JVM type (also double). Results fom method invocations ae left on top of stack. Maximal size of stack is specified in the class file.

2 A simple example, 1 A simple example, 2 static void main(sting[] ags){ int = f(3,5); System.out.pintln(); int = x+y+2; etun ; Snapshot: in main, befoe invokestatic f: ags 3 5 static void main(sting[] ags){ int = f(3,5); System.out.pintln(); int = x+y+2; etun ; Snapshot: in f, befoe fist instuction ags x 3 y 5 A simple example, 3 A simple example, 4 static void main(sting[] ags){ int = f(3,5); System.out.pintln(); int = x+y+2; etun ; Snapshot: in f, befoe etun: ags x 3 y static void main(sting[] ags){ int = f(3,5); System.out.pintln(); int = x+y+2; etun ; Snapshot: in f, afte invokestatic f: ags 10

3 A simple example, 5 Java bytecode static void main(sting[] ags){ int = f(3,5); System.out.pintln(); int = x+y+2; etun ; Snapshot: in main, befoe invoking pintln: ags 10 Geneal popeties Instuctions to push values on the opeand stack, stoe stack top in a vaiable, do aithmetic on opeands on the opeand stack, jump (conditionally) to othe instuctions, invoke and etun fom methods,... One byte opcodes; ca 250 diffeent instuctions. Instuctions may have aguments: (small) constants, indices to pool of (bigge) constants, local vaiable indices. Compact fomat, suitable fo mobile code. Binay fomat, no official assembly fom. assemble Download it! (Link on couse web site) Unzipped diectoy contains jasmin.ja. To assemble file myfile.j containing assemble code, you un > java -ja jasmin.ja myfile.j This poduces myfile.class, which can be un by java intepete. Note that classpath must be set so jasmin.ja is found. Option -d path wites the class file in diectoy path Disassembling > javap -c myfile.class pints an assemble vesion on stdout in (almost) syntax. instuctions 1 Aithmetic Push intege/sting constant c: ldc c Push double constant c: ldc2 w c Pefom binay opeation on integes: iadd isub imul idiv iem iand io Pefom binay opeation on doubles: dadd dsub dmul ddiv Booleans ae teated as integes: false = 0, tue = 1. Typed opeations Diffeent opeations depending on type: e.g. iadd and dadd. Also load/stoe opeations ae typed. Consequence: You will need to know fo all subexpessions which type they have. You compute this duing type-checking; we now see the benefit of saving this infomation.

4 Pushing values on the stack Intege constants Small values: iconst 1 pushes intege 1. Similaly fo -1, 0, 2, 3, 4, 5. A little bigge: bipush n pushes n, fo 128 n 127. Even bigge: sipush n pushes n, fo n Abitay: ldc n pushes n. Value of n stoed in constant pool, index in the instuction. jasmin handles constant pool; you can wite constants. To conside You will need a datatype of instuctions (in Haskell) o a class hieachy (in Java/C++). But will you need all fou foms of push instuctions? Simila consideations fo loading/stoing local vaiables. instuctions 2 Loading local vaiable to stack Load (push) intege vaiable n: iload n. If n = 0,1,2,3, thee ae one-byte vaiants iload 0, etc. Load (push) double vaiable n: dload n. If n = 0,1,2,3, thee ae one-byte vaiants dload 0, etc. Stoing vaiable to memoy Stoe (and pop) intege vaiable n: istoe n. If n = 0,1,2,3, thee ae one-byte vaiants istoe 0, etc. Stoe (and pop) double vaiable n: dstoe n. If n = 0,1,2,3, thee ae one-byte vaiants dstoe 0, etc. Incement of a vaiable can be done without loading and stoing: iinc Java instuctions 3 Labels The label L itself is an instuction: L: Make sue that all labels in a function ae distinct! In the JVM bytecode, code is stoed in an aay of bytes and the label is just the index. Jumps Jump (unconditionally) to a label: goto L Jump if compaison holds between the topmost two integes on stack: if icmpeq L, if icmplt L, etc Jump if compaison holds between the topmost intege and zeo: ifeq L, iflt L, etc. Fo doubles, the situation is diffeent: dcmpl, dcmpg compae the two doubles and etuns an intege -1, 0, o 1. Geneating code fo expessions The poblem Input: A type-annotated AST fo an expession. Output: A sequence of instuctions with net effect to push value of exp on the stack. The solution: Syntax-diected tanslation Constants: Push on stack. Aithmetic expessions: Geneate (ecusively) and concatenate code fo left and ight opeand; last instuction is aithmetic instuction. Function call: Geneate and concatenate code fo all aguments; last instuction is suitable invoke instuction. Vaiables: Load vaiable, using its numbe; how do you know this?

5 Additional input: The code geneato s state. The poblem As we saw on the pevious slide, the AST is not enough; we need to know the index (addess) of each vaiable. These will be computed by the compile itself, when geneating code fo function defs and vaiable declaations. Moe geneally: Needed state infomation Vaiable numbe/index fo each local vaiable (incl paametes). Type fo each function. Index to use fo next vaiable. Numbe to use fo next label. Cuent stack depth. Maximal stack depth. Code emitted so fa. A bette way to pesent tanslation Compilation schemes Pseudocode notation, simila to Haskell, using opeations on the state in monadic style. Example Defining codegenexp :: Exp -> Result (), by patten matching on the abstact syntax (pesented hee in concete syntax) codegenexp(exp1 + exp2 : int) = codegenexp exp1 codegenexp exp2 put [IAdd] -- add to code incstack (-1) -- decease cuent depth -- othe cases simila Define a suitable type fo the state Geneating code fo statements In Java/C++ Define a class with methods fo accessing and updating the vaious state components; don t use public instance vaiables! Make use of suitable collection classes. In Haskell Use a state monad; also hee, define suitable monadic functions fo accessing and updating the state. With suitable abstactions you will be able to modify you code easily if you ealy decisions need to be changed. Again: syntax-diected tanslation Assignment: Geneate code fo RHS; stoe in vaiable (state gives index). Declaation: Get next vaiable index fom state and update state with vaiable/index. Retun: Geneate code fo expession; add etun instuction. Block: concatenate code fom statements.... Some difficulties How does block stuctued scope affect tanslation? How to handle contol stuctues that lead to jumps (if and while)?

6 What about block stuctue? Result of peceding slide Each local vaiable in a method gets its own index. Example Example code int f (int x) { int a, b; {int a, c; {int x, y; Naive handling of while statemens Questions How big must the local vas aay be? How can we avoid making it bigge? Boolean expessions Booleans as integes Booleans ae teated as integes, tanslating false to 0, tue to 1. Thee ae no JVM opeations coesponding to the elational opeatos; we need to use jumps. codegenexp(exp1 > (exp2 : int)) = codegenexp exp1 codegenexp exp2 lab1, lab2 <- getlabel -- get fesh labels put [if_cmpgt lab1, iconst_0, goto lab2, label lab1, iconst_1, label lab2] An example: while (i > 6) i-- ; while scheme codegenstm (while (exp) stm) = lab1, lab2 <- getlabel put [label lab1] codegenexp exp -- push value of exp put [ifeq lab2] -- if false, fall though incstack (-1) -- the test popped exp codegenstm stm put [goto lab1, -- test again label lab2] -- label fo next stmt Check stack effect! Geneated code lab1: iload 1 bipush 6 if icmpgt lab3 iconst 0 goto lab4 lab3: iconst 1 lab4: ifeq lab2 iinc i (-1) goto lab1 lab2: Bette code lab1: iload 1 bipush 6 if_icmple lab2 iinc i (-1) goto lab1 lab2: The poblem The good code is not compositional, i.e. not built by combining code fom the immediate subtees.

7 Example, continued Recall souce code while (i > 6) i--; Even bette code goto lab2 lab1: iinc 1 (-1) lab2: iload 1 bipush 6 if_icmpgt lab1 Comments Saves one JVM instuction pe loop ound You can get (almost) this code compositionally by changing while scheme (fo you to do!) and changing teatment of Boolean expessions (next slide) Note: Naive codegen is enough to pass! Boolean expessions evisited Used in two diffeent ways As test expessions in contol stuctues (while, if). As ight hand sides in assignments to boolean vaiables o actual (boolean) paametes in function calls. Do code geneation diffeently in these two cases! Test expession Define a scheme that takes as aguments the test expession and two labels to jump to when value is tue and false, espectively. Called fom while and if schemes. To compute Boolean value Geneate code as we indicated befoe, teating Booleans as integes. Called fom assignment and function call schemes. May use function to the left when code with jumps needed. Tanslating function definitions Pedefined methods: output fundef scheme codegendef (typ f (paams) stms) = foall paams (ty x): addva ty x foall stms: codegenstm mx <- getmaxstack locs <- getlocals nm = jvmname f typ paams code <- getcode -- now we can build and etun the abstact syntax -- fo the function using these fou values Using Java libay methods All the pint functions call System.out.pintln. In, pintln gets out as a fist agument: getstatic java/lang/system/out Ljava/io/PintSteam; bipush 77 invokevitual java/io/pintsteam/pintln(i)v The fist instuction pushes a efeence to out on the stack. Then we push the value we want to pint. Then pintln is invoked and gets these two aguments.

8 Pedefined methods: input Input in Javalette vs. Java To ead e.g. an intege in Javalette is simple: Avoiding tivial poblems int main () { pintint (7 * eadint ()) ; In Java, much moe is needed: impot java.io.* ; class Read { public static void main (Sting [] ags) thows IOException { BuffeedReade b = new BuffeedReade (new InputSteamReade(System.in)) ; System.out.pintln(7 * Intege.paseInt(b.eadLine())) ; The Runtime class Instead of geneating lots of instuctions, you can define all pedefined methods in a Runtime class. Just wite it in Java and compile into a.class file! To think about fo input methods: only add thows IOException to functions that eally need it. only ceate one new BuffeedReade pe pogam un.

Compiler construction 2009

Compiler construction 2009 Compiler construction 2009 Lecture 2 Code generation 1: Generating Jasmin code JVM and Java bytecode Jasmin Naive code generation The Java Virtual Machine Data types Primitive types, including integer

More information

a Not yet implemented in current version SPARK: Research Kit Pointer Analysis Parameters Soot Pointer analysis. Objectives

a Not yet implemented in current version SPARK: Research Kit Pointer Analysis Parameters Soot Pointer analysis. Objectives SPARK: Soot Reseach Kit Ondřej Lhoták Objectives Spak is a modula toolkit fo flow-insensitive may points-to analyses fo Java, which enables expeimentation with: vaious paametes of pointe analyses which

More information

Reader & ReaderT Monad (11A) Young Won Lim 8/20/18

Reader & ReaderT Monad (11A) Young Won Lim 8/20/18 Copyight (c) 2016-2018 Young W. Lim. Pemission is ganted to copy, distibute and/o modify this document unde the tems of the GNU Fee Documentation License, Vesion 1.2 o any late vesion published by the

More information

COSC 6385 Computer Architecture. - Pipelining

COSC 6385 Computer Architecture. - Pipelining COSC 6385 Compute Achitectue - Pipelining Sping 2012 Some of the slides ae based on a lectue by David Culle, Pipelining Pipelining is an implementation technique wheeby multiple instuctions ae ovelapped

More information

Compiling Techniques

Compiling Techniques Lecture 10: Introduction to 10 November 2015 Coursework: Block and Procedure Table of contents Introduction 1 Introduction Overview Java Virtual Machine Frames and Function Call 2 JVM Types and Mnemonics

More information

dc - Linux Command Dc may be invoked with the following command-line options: -V --version Print out the version of dc

dc - Linux Command Dc may be invoked with the following command-line options: -V --version Print out the version of dc - CentOS 5.2 - Linux Uses Guide - Linux Command SYNOPSIS [-V] [--vesion] [-h] [--help] [-e sciptexpession] [--expession=sciptexpession] [-f sciptfile] [--file=sciptfile] [file...] DESCRIPTION is a evese-polish

More information

GCC-AVR Inline Assembler Cookbook Version 1.2

GCC-AVR Inline Assembler Cookbook Version 1.2 GCC-AVR Inline Assemble Cookbook Vesion 1.2 About this Document The GNU C compile fo Atmel AVR isk pocessos offes, to embed assembly language code into C pogams. This cool featue may be used fo manually

More information

How many times is the loop executed? middle = (left+right)/2; if (value == arr[middle]) return true;

How many times is the loop executed? middle = (left+right)/2; if (value == arr[middle]) return true; This lectue Complexity o binay seach Answes to inomal execise Abstact data types Stacks ueues ADTs, Stacks, ueues 1 binayseach(int[] a, int value) { while (ight >= let) { { i (value < a[middle]) ight =

More information

COEN-4730 Computer Architecture Lecture 2 Review of Instruction Sets and Pipelines

COEN-4730 Computer Architecture Lecture 2 Review of Instruction Sets and Pipelines 1 COEN-4730 Compute Achitectue Lectue 2 Review of nstuction Sets and Pipelines Cistinel Ababei Dept. of Electical and Compute Engineeing Maquette Univesity Cedits: Slides adapted fom pesentations of Sudeep

More information

This lecture. Abstract Data Types (ADTs) The Stack ADT ( 4.2) Stacks. Stack Interface in Java. Exceptions. Abstract data types Stacks Queues

This lecture. Abstract Data Types (ADTs) The Stack ADT ( 4.2) Stacks. Stack Interface in Java. Exceptions. Abstract data types Stacks Queues This lectue Abstact data types Stacks ueues Abstact Data Types (ADTs) An abstact data type (ADT) is an abstaction o a data stuctue An ADT speciies: Data stoed Opeations on the data Eo conditions associated

More information

Query Language #1/3: Relational Algebra Pure, Procedural, and Set-oriented

Query Language #1/3: Relational Algebra Pure, Procedural, and Set-oriented Quey Language #1/3: Relational Algeba Pue, Pocedual, and Set-oiented To expess a quey, we use a set of opeations. Each opeation takes one o moe elations as input paamete (set-oiented). Since each opeation

More information

User Visible Registers. CPU Structure and Function Ch 11. General CPU Organization (4) Control and Status Registers (5) Register Organisation (4)

User Visible Registers. CPU Structure and Function Ch 11. General CPU Organization (4) Control and Status Registers (5) Register Organisation (4) PU Stuctue and Function h Geneal Oganisation Registes Instuction ycle Pipelining anch Pediction Inteupts Use Visible Registes Vaies fom one achitectue to anothe Geneal pupose egiste (GPR) ata, addess,

More information

Lecture 8 Introduction to Pipelines Adapated from slides by David Patterson

Lecture 8 Introduction to Pipelines Adapated from slides by David Patterson Lectue 8 Intoduction to Pipelines Adapated fom slides by David Patteson http://www-inst.eecs.bekeley.edu/~cs61c/ * 1 Review (1/3) Datapath is the hadwae that pefoms opeations necessay to execute pogams.

More information

Any modern computer system will incorporate (at least) two levels of storage:

Any modern computer system will incorporate (at least) two levels of storage: 1 Any moden compute system will incopoate (at least) two levels of stoage: pimay stoage: andom access memoy (RAM) typical capacity 32MB to 1GB cost pe MB $3. typical access time 5ns to 6ns bust tansfe

More information

UCB CS61C : Machine Structures

UCB CS61C : Machine Structures inst.eecs.bekeley.edu/~cs61c UCB CS61C : Machine Stuctues Lectue SOE Dan Gacia Lectue 28 CPU Design : Pipelining to Impove Pefomance 2010-04-05 Stanfod Reseaches have invented a monitoing technique called

More information

Lecture Topics ECE 341. Lecture # 12. Control Signals. Control Signals for Datapath. Basic Processing Unit. Pipelining

Lecture Topics ECE 341. Lecture # 12. Control Signals. Control Signals for Datapath. Basic Processing Unit. Pipelining EE 341 Lectue # 12 Instucto: Zeshan hishti zeshan@ece.pdx.edu Novembe 10, 2014 Potland State Univesity asic Pocessing Unit ontol Signals Hadwied ontol Datapath contol signals Dealing with memoy delay Pipelining

More information

All lengths in meters. E = = 7800 kg/m 3

All lengths in meters. E = = 7800 kg/m 3 Poblem desciption In this poblem, we apply the component mode synthesis (CMS) technique to a simple beam model. 2 0.02 0.02 All lengths in metes. E = 2.07 10 11 N/m 2 = 7800 kg/m 3 The beam is a fee-fee

More information

The Processor: Improving Performance Data Hazards

The Processor: Improving Performance Data Hazards The Pocesso: Impoving Pefomance Data Hazads Monday 12 Octobe 15 Many slides adapted fom: and Design, Patteson & Hennessy 5th Edition, 2014, MK and fom Pof. May Jane Iwin, PSU Summay Pevious Class Pipeline

More information

RANDOM IRREGULAR BLOCK-HIERARCHICAL NETWORKS: ALGORITHMS FOR COMPUTATION OF MAIN PROPERTIES

RANDOM IRREGULAR BLOCK-HIERARCHICAL NETWORKS: ALGORITHMS FOR COMPUTATION OF MAIN PROPERTIES RANDOM IRREGULAR BLOCK-HIERARCHICAL NETWORKS: ALGORITHMS FOR COMPUTATION OF MAIN PROPERTIES Svetlana Avetisyan Mikayel Samvelyan* Matun Kaapetyan Yeevan State Univesity Abstact In this pape, the class

More information

GARBAGE COLLECTION METHODS. Hanan Samet

GARBAGE COLLECTION METHODS. Hanan Samet gc0 GARBAGE COLLECTION METHODS Hanan Samet Compute Science Depatment and Cente fo Automation Reseach and Institute fo Advanced Compute Studies Univesity of Mayland College Pak, Mayland 07 e-mail: hjs@umiacs.umd.edu

More information

A Memory Efficient Array Architecture for Real-Time Motion Estimation

A Memory Efficient Array Architecture for Real-Time Motion Estimation A Memoy Efficient Aay Achitectue fo Real-Time Motion Estimation Vasily G. Moshnyaga and Keikichi Tamau Depatment of Electonics & Communication, Kyoto Univesity Sakyo-ku, Yoshida-Honmachi, Kyoto 66-1, JAPAN

More information

Lecture #22 Pipelining II, Cache I

Lecture #22 Pipelining II, Cache I inst.eecs.bekeley.edu/~cs61c CS61C : Machine Stuctues Lectue #22 Pipelining II, Cache I Wiewold cicuits 2008-7-29 http://www.maa.og/editoial/mathgames/mathgames_05_24_04.html http://www.quinapalus.com/wi-index.html

More information

Monitors. Lecture 6. A Typical Monitor State. wait(c) Signal and Continue. Signal and What Happens Next?

Monitors. Lecture 6. A Typical Monitor State. wait(c) Signal and Continue. Signal and What Happens Next? Monitos Lectue 6 Monitos Summay: Last time A combination of data abstaction and mutual exclusion Automatic mutex Pogammed conditional synchonisation Widely used in concuent pogamming languages and libaies

More information

CMCS Mohamed Younis CMCS 611, Advanced Computer Architecture 1

CMCS Mohamed Younis CMCS 611, Advanced Computer Architecture 1 CMCS 611-101 Advanced Compute Achitectue Lectue 6 Intoduction to Pipelining Septembe 23, 2009 www.csee.umbc.edu/~younis/cmsc611/cmsc611.htm Mohamed Younis CMCS 611, Advanced Compute Achitectue 1 Pevious

More information

Compiler-based Implementation of. Katia Gladitz. Lehrstuhl fur Informatik II, RWTH Aachen. Ahornstrae 55, W{5100 Aachen, Germany

Compiler-based Implementation of. Katia Gladitz. Lehrstuhl fur Informatik II, RWTH Aachen. Ahornstrae 55, W{5100 Aachen, Germany Compile-based Implementation of Syntax-Diected Functional Pogamming Katia Gladitz ehstuhl fu Infomatik II, RWTH Aachen Ahonstae 55, W{5100 Aachen, Gemany Heinz Fabende and Heiko Vogle Abt. Theoetische

More information

CS 2461: Computer Architecture 1 Program performance and High Performance Processors

CS 2461: Computer Architecture 1 Program performance and High Performance Processors Couse Objectives: Whee ae we. CS 2461: Pogam pefomance and High Pefomance Pocessos Instucto: Pof. Bhagi Naahai Bits&bytes: Logic devices HW building blocks Pocesso: ISA, datapath Using building blocks

More information

Journal of World s Electrical Engineering and Technology J. World. Elect. Eng. Tech. 1(1): 12-16, 2012

Journal of World s Electrical Engineering and Technology J. World. Elect. Eng. Tech. 1(1): 12-16, 2012 2011, Scienceline Publication www.science-line.com Jounal of Wold s Electical Engineeing and Technology J. Wold. Elect. Eng. Tech. 1(1): 12-16, 2012 JWEET An Efficient Algoithm fo Lip Segmentation in Colo

More information

CSC 4181 Handout : JVM

CSC 4181 Handout : JVM CSC 4181 Handout : JVM Note: This handout provides you with the basic information about JVM. Although we tried to be accurate about the description, there may be errors. Feel free to check your compiler

More information

You Are Here! Review: Hazards. Agenda. Agenda. Review: Load / Branch Delay Slots 7/28/2011

You Are Here! Review: Hazards. Agenda. Agenda. Review: Load / Branch Delay Slots 7/28/2011 CS 61C: Geat Ideas in Compute Achitectue (Machine Stuctues) Instuction Level Paallelism: Multiple Instuction Issue Guest Lectue: Justin Hsia Softwae Paallel Requests Assigned to compute e.g., Seach Katz

More information

MapReduce Optimizations and Algorithms 2015 Professor Sasu Tarkoma

MapReduce Optimizations and Algorithms 2015 Professor Sasu Tarkoma apreduce Optimizations and Algoithms 2015 Pofesso Sasu Takoma www.cs.helsinki.fi Optimizations Reduce tasks cannot stat befoe the whole map phase is complete Thus single slow machine can slow down the

More information

Recap: Printing Trees into Bytecodes

Recap: Printing Trees into Bytecodes Recap: Printing Trees into Bytecodes To evaluate e 1 *e 2 interpreter evaluates e 1 evaluates e 2 combines the result using * Compiler for e 1 *e 2 emits: code for e 1 that leaves result on the stack,

More information

JVM. What This Topic is About. Course Overview. Recap: Interpretive Compilers. Abstract Machines. Abstract Machines. Class Files and Class File Format

JVM. What This Topic is About. Course Overview. Recap: Interpretive Compilers. Abstract Machines. Abstract Machines. Class Files and Class File Format Course Overview What This Topic is About PART I: overview material 1 Introduction 2 Language processors (tombstone diagrams, bootstrapping) 3 Architecture of a compiler PART II: inside a compiler 4 Syntax

More information

User Specified non-bonded potentials in gromacs

User Specified non-bonded potentials in gromacs Use Specified non-bonded potentials in gomacs Apil 8, 2010 1 Intoduction On fist appeaances gomacs, unlike MD codes like LAMMPS o DL POLY, appeas to have vey little flexibility with egads to the fom of

More information

Efficient Execution Path Exploration for Detecting Races in Concurrent Programs

Efficient Execution Path Exploration for Detecting Races in Concurrent Programs IAENG Intenational Jounal of Compute Science, 403, IJCS_40_3_02 Efficient Execution Path Exploation fo Detecting Races in Concuent Pogams Theodous E. Setiadi, Akihiko Ohsuga, and Mamou Maekaa Abstact Concuent

More information

COMP3131/9102: Programming Languages and Compilers

COMP3131/9102: Programming Languages and Compilers COMP3131/9102: Programming Languages and Compilers Jingling Xue School of Computer Science and Engineering The University of New South Wales Sydney, NSW 2052, Australia http://www.cse.unsw.edu.au/~cs3131

More information

Computer Science 141 Computing Hardware

Computer Science 141 Computing Hardware Compute Science 141 Computing Hadwae Fall 2006 Havad Univesity Instucto: Pof. David Books dbooks@eecs.havad.edu [MIPS Pipeline Slides adapted fom Dave Patteson s UCB CS152 slides and May Jane Iwin s CSE331/431

More information

Segmentation of Casting Defects in X-Ray Images Based on Fractal Dimension

Segmentation of Casting Defects in X-Ray Images Based on Fractal Dimension 17th Wold Confeence on Nondestuctive Testing, 25-28 Oct 2008, Shanghai, China Segmentation of Casting Defects in X-Ray Images Based on Factal Dimension Jue WANG 1, Xiaoqin HOU 2, Yufang CAI 3 ICT Reseach

More information

Compiler construction 2009

Compiler construction 2009 Compiler construction 2009 Lecture 3 JVM and optimization. A first look at optimization: Peephole optimization. A simple example A Java class public class A { public static int f (int x) { int r = 3; int

More information

High performance CUDA based CNN image processor

High performance CUDA based CNN image processor High pefomance UDA based NN image pocesso GEORGE VALENTIN STOIA, RADU DOGARU, ELENA RISTINA STOIA Depatment of Applied Electonics and Infomation Engineeing Univesity Politehnica of Buchaest -3, Iuliu Maniu

More information

In order to learn which questions have been answered correctly: 1. Print these pages. 2. Answer the questions.

In order to learn which questions have been answered correctly: 1. Print these pages. 2. Answer the questions. In ode to lean which questions have been answeed coectly: 1. Pint these pages. 2. Answe the questions. 3. Send this assessment with the answes via: a. FAX to (212) 967-3498. O b. Mail the answes to the

More information

CISC 662 Graduate Computer Architecture Lecture 6 - Hazards

CISC 662 Graduate Computer Architecture Lecture 6 - Hazards CISC 662 Gaduate Compute Achitectue Lectue 6 - Hazads Michela Taufe http://www.cis.udel.edu/~taufe/teaching/cis662f07 Powepoint Lectue Notes fom John Hennessy and David Patteson s: Compute Achitectue,

More information

Output Primitives. Ellipse Drawing

Output Primitives. Ellipse Drawing Output Pimitives Ellipse Dawing Ellipses. An ellipses is an elongated cicle and can be dawn with modified cicle dawing algoithm.. An ellipse has set of fied points (foci) that will have a constant total

More information

Configuring RSVP-ATM QoS Interworking

Configuring RSVP-ATM QoS Interworking Configuing RSVP-ATM QoS Intewoking Last Updated: Januay 15, 2013 This chapte descibes the tasks fo configuing the RSVP-ATM QoS Intewoking featue, which povides suppot fo Contolled Load Sevice using RSVP

More information

XFVHDL: A Tool for the Synthesis of Fuzzy Logic Controllers

XFVHDL: A Tool for the Synthesis of Fuzzy Logic Controllers XFVHDL: A Tool fo the Synthesis of Fuzzy Logic Contolles E. Lago, C. J. Jiménez, D. R. López, S. Sánchez-Solano and A. Baiga Instituto de Micoelectónica de Sevilla. Cento Nacional de Micoelectónica, Edificio

More information

CS 61C: Great Ideas in Computer Architecture. Pipelining Hazards. Instructor: Senior Lecturer SOE Dan Garcia

CS 61C: Great Ideas in Computer Architecture. Pipelining Hazards. Instructor: Senior Lecturer SOE Dan Garcia CS 61C: Geat Ideas in Compute Achitectue Pipelining Hazads Instucto: Senio Lectue SOE Dan Gacia 1 Geat Idea #4: Paallelism So9wae Paallel Requests Assigned to compute e.g. seach Gacia Paallel Theads Assigned

More information

Introduction To Pipelining. Chapter Pipelining1 1

Introduction To Pipelining. Chapter Pipelining1 1 Intoduction To Pipelining Chapte 6.1 - Pipelining1 1 Mooe s Law Mooe s Law says that the numbe of pocessos on a chip doubles about evey 18 months. Given the data on the following two slides, is this tue?

More information

Monte Carlo Techniques for Rendering

Monte Carlo Techniques for Rendering Monte Calo Techniques fo Rendeing CS 517 Fall 2002 Compute Science Conell Univesity Announcements No ectue on Thusday Instead, attend Steven Gotle, Havad Upson Hall B17, 4:15-5:15 (efeshments ealie) Geomety

More information

Information Retrieval. CS630 Representing and Accessing Digital Information. IR Basics. User Task. Basic IR Processes

Information Retrieval. CS630 Representing and Accessing Digital Information. IR Basics. User Task. Basic IR Processes CS630 Repesenting and Accessing Digital Infomation Infomation Retieval: Basics Thosten Joachims Conell Univesity Infomation Retieval Basics Retieval Models Indexing and Pepocessing Data Stuctues ~ 4 lectues

More information

Embeddings into Crossed Cubes

Embeddings into Crossed Cubes Embeddings into Cossed Cubes Emad Abuelub *, Membe, IAENG Abstact- The hypecube paallel achitectue is one of the most popula inteconnection netwoks due to many of its attactive popeties and its suitability

More information

Automatically Testing Interacting Software Components

Automatically Testing Interacting Software Components Automatically Testing Inteacting Softwae Components Leonad Gallaghe Infomation Technology Laboatoy National Institute of Standads and Technology Gaithesbug, MD 20899, USA lgallaghe@nist.gov Jeff Offutt

More information

An Introduction to Multicodes. Ben Stephenson Department of Computer Science University of Western Ontario

An Introduction to Multicodes. Ben Stephenson Department of Computer Science University of Western Ontario An Introduction to Multicodes Ben Stephenson Department of Computer Science University of Western Ontario ben@csd csd.uwo.ca Outline Java Virtual Machine Background The Current State of the Multicode Art

More information

Chapter 4 (Part III) The Processor: Datapath and Control (Pipeline Hazards)

Chapter 4 (Part III) The Processor: Datapath and Control (Pipeline Hazards) Chapte 4 (Pat III) The Pocesso: Datapath and Contol (Pipeline Hazads) 陳瑞奇 (J.C. Chen) 亞洲大學資訊工程學系 Adapted fom class notes by Pof. M.J. Iwin, PSU and Pof. D. Patteson, UCB 1 吃感冒藥副作用怎麼辦? http://big5.sznews.com/health/images/attachement/jpg/site3/20120319/001558d90b3310d0c1683e.jpg

More information

Image Enhancement in the Spatial Domain. Spatial Domain

Image Enhancement in the Spatial Domain. Spatial Domain 8-- Spatial Domain Image Enhancement in the Spatial Domain What is spatial domain The space whee all pixels fom an image In spatial domain we can epesent an image by f( whee x and y ae coodinates along

More information

Controlled Information Maximization for SOM Knowledge Induced Learning

Controlled Information Maximization for SOM Knowledge Induced Learning 3 Int'l Conf. Atificial Intelligence ICAI'5 Contolled Infomation Maximization fo SOM Knowledge Induced Leaning Ryotao Kamimua IT Education Cente and Gaduate School of Science and Technology, Tokai Univeisity

More information

The Internet Ecosystem and Evolution

The Internet Ecosystem and Evolution The Intenet Ecosystem and Evolution Contents Netwok outing: basics distibuted/centalized, static/dynamic, linkstate/path-vecto inta-domain/inte-domain outing Mapping the sevice model to AS-AS paths valley-fee

More information

n If S is in convex position, then thee ae exactly k convex k-gons detemined by subsets of S. In geneal, howeve, S may detemine fa fewe convex k-gons.

n If S is in convex position, then thee ae exactly k convex k-gons detemined by subsets of S. In geneal, howeve, S may detemine fa fewe convex k-gons. Counting Convex Polygons in Plana Point Sets Joseph S. B. Mitchell a;1, Günte Rote b, Gopalakishnan Sundaam c, and Gehad Woeginge b a Applied Mathematics and Statistics, SUNY Stony Book, NY 11794-3600.

More information

IP Network Design by Modified Branch Exchange Method

IP Network Design by Modified Branch Exchange Method Received: June 7, 207 98 IP Netwok Design by Modified Banch Method Kaiat Jaoenat Natchamol Sichumoenattana 2* Faculty of Engineeing at Kamphaeng Saen, Kasetsat Univesity, Thailand 2 Faculty of Management

More information

Modeling a shared medium access node with QoS distinction

Modeling a shared medium access node with QoS distinction Modeling a shaed medium access node with QoS distinction Matthias Gies, Jonas Geutet Compute Engineeing and Netwoks Laboatoy (TIK) Swiss Fedeal Institute of Technology Züich CH-8092 Züich, Switzeland email:

More information

Assessment of Track Sequence Optimization based on Recorded Field Operations

Assessment of Track Sequence Optimization based on Recorded Field Operations Assessment of Tack Sequence Optimization based on Recoded Field Opeations Matin A. F. Jensen 1,2,*, Claus G. Søensen 1, Dionysis Bochtis 1 1 Aahus Univesity, Faculty of Science and Technology, Depatment

More information

Undecidability of Static Analysis. William Landi. Siemens Corporate Research Inc. 755 College Rd East.

Undecidability of Static Analysis. William Landi. Siemens Corporate Research Inc. 755 College Rd East. Undecidability of Static Analysis William Landi Siemens Copoate Reseach Inc 755 College Rd East Pinceton, NJ 08540 wlandi@sc.siemens.com Abstact Static Analysis of pogams is indispensable to any softwae

More information

CENG 3420 Computer Organization and Design. Lecture 07: MIPS Processor - II. Bei Yu

CENG 3420 Computer Organization and Design. Lecture 07: MIPS Processor - II. Bei Yu CENG 3420 Compute Oganization and Design Lectue 07: MIPS Pocesso - II Bei Yu CEG3420 L07.1 Sping 2016 Review: Instuction Citical Paths q Calculate cycle time assuming negligible delays (fo muxes, contol

More information

Pipes, connections, channels and multiplexors

Pipes, connections, channels and multiplexors Pipes, connections, channels and multiplexos Fancisco J. Ballesteos ABSTRACT Channels in the style of CSP ae a poeful abstaction. The ae close to pipes and connections used to inteconnect system and netok

More information

A Two-stage and Parameter-free Binarization Method for Degraded Document Images

A Two-stage and Parameter-free Binarization Method for Degraded Document Images A Two-stage and Paamete-fee Binaization Method fo Degaded Document Images Yung-Hsiang Chiu 1, Kuo-Liang Chung 1, Yong-Huai Huang 2, Wei-Ning Yang 3, Chi-Huang Liao 4 1 Depatment of Compute Science and

More information

An Unsupervised Segmentation Framework For Texture Image Queries

An Unsupervised Segmentation Framework For Texture Image Queries An Unsupevised Segmentation Famewok Fo Textue Image Queies Shu-Ching Chen Distibuted Multimedia Infomation System Laboatoy School of Compute Science Floida Intenational Univesity Miami, FL 33199, USA chens@cs.fiu.edu

More information

DEADLOCK AVOIDANCE IN BATCH PROCESSES. M. Tittus K. Åkesson

DEADLOCK AVOIDANCE IN BATCH PROCESSES. M. Tittus K. Åkesson DEADLOCK AVOIDANCE IN BATCH PROCESSES M. Tittus K. Åkesson Univesity College Boås, Sweden, e-mail: Michael.Tittus@hb.se Chalmes Univesity of Technology, Gothenbug, Sweden, e-mail: ka@s2.chalmes.se Abstact:

More information

GAS IA-32 Assembly Language Programming Tony Richardson April 19, 2007

GAS IA-32 Assembly Language Programming Tony Richardson April 19, 2007 GAS IA-32 Assembly Language Pogamming Tony Richadson Apil 19, 2007 The following table contains a patial list of IA-32 assembly mnemonics. An S in the mnemonic epesents a size specification lette of eithe

More information

Tutorial 3: Code Generation

Tutorial 3: Code Generation S C I E N C E P A S S I O N T E C H N O L O G Y Tutorial 3: Code Generation Univ.-Prof. Dr. Franz Wotawa, DI Roxane Koitz, Stephan Frühwirt, Christopher Liebmann, Martin Zimmermann Institute for Software

More information

Lecture # 04. Image Enhancement in Spatial Domain

Lecture # 04. Image Enhancement in Spatial Domain Digital Image Pocessing CP-7008 Lectue # 04 Image Enhancement in Spatial Domain Fall 2011 2 domains Spatial Domain : (image plane) Techniques ae based on diect manipulation of pixels in an image Fequency

More information

Cache Memory and Performance

Cache Memory and Performance Cache Memo and Pefomance Code and Caches 1 Man of the following slides ae taken with pemission fom Complete Powepoint Lectue Notes fo Compute Sstems: A Pogamme's Pespective (CS:APP) Randal E. Bant and

More information

DYNAMIC STORAGE ALLOCATION. Hanan Samet

DYNAMIC STORAGE ALLOCATION. Hanan Samet ds0 DYNAMIC STORAGE ALLOCATION Hanan Samet Compute Science Depatment and Cente fo Automation Reseach and Institute fo Advanced Compute Studies Univesity of Mayland College Pak, Mayland 07 e-mail: hjs@umiacs.umd.edu

More information

Gravitational Shift for Beginners

Gravitational Shift for Beginners Gavitational Shift fo Beginnes This pape, which I wote in 26, fomulates the equations fo gavitational shifts fom the elativistic famewok of special elativity. Fist I deive the fomulas fo the gavitational

More information

Course Overview. PART I: overview material. PART II: inside a compiler. PART III: conclusion

Course Overview. PART I: overview material. PART II: inside a compiler. PART III: conclusion Course Overview PART I: overview material 1 Introduction (today) 2 Language Processors (basic terminology, tombstone diagrams, bootstrapping) 3 The architecture of a Compiler PART II: inside a compiler

More information

Conversion Functions for Symmetric Key Ciphers

Conversion Functions for Symmetric Key Ciphers Jounal of Infomation Assuance and Secuity 2 (2006) 41 50 Convesion Functions fo Symmetic Key Ciphes Deba L. Cook and Angelos D. Keomytis Depatment of Compute Science Columbia Univesity, mail code 0401

More information

Topics. Structured Computer Organization. Assembly language. IJVM instruction set. Mic-1 simulator programming

Topics. Structured Computer Organization. Assembly language. IJVM instruction set. Mic-1 simulator programming Topics Assembly language IJVM instruction set Mic-1 simulator programming http://www.ontko.com/mic1/ Available in 2 nd floor PC lab S/W found in directory C:\mic1 1 Structured Computer Organization 2 Block

More information

3/1/18. Overview. Program Representations. Abstract Syntax Tree (AST) Eclipse JDT. Java Model. The Tree Structure of Java Project[2]

3/1/18. Overview. Program Representations. Abstract Syntax Tree (AST) Eclipse JDT. Java Model. The Tree Structure of Java Project[2] Oveview Pogam Reesentations Abstact Syntax Tee Eclise JDT Java Model Eclise JDT AST Contol Flow Gah Pogam Deendence Gah Points-to Gah Call Gah 2 Abstact Syntax Tee (AST) Ceated by the comile at the end

More information

Module 6 STILL IMAGE COMPRESSION STANDARDS

Module 6 STILL IMAGE COMPRESSION STANDARDS Module 6 STILL IMAE COMPRESSION STANDARDS Lesson 17 JPE-2000 Achitectue and Featues Instuctional Objectives At the end of this lesson, the students should be able to: 1. State the shotcomings of JPE standad.

More information

Accelerating Storage with RDMA Max Gurtovoy Mellanox Technologies

Accelerating Storage with RDMA Max Gurtovoy Mellanox Technologies Acceleating Stoage with RDMA Max Gutovoy Mellanox Technologies 2018 Stoage Develope Confeence EMEA. Mellanox Technologies. All Rights Reseved. 1 What is RDMA? Remote Diect Memoy Access - povides the ability

More information

Reachable State Spaces of Distributed Deadlock Avoidance Protocols

Reachable State Spaces of Distributed Deadlock Avoidance Protocols Reachable State Spaces of Distibuted Deadlock Avoidance Potocols CÉSAR SÁNCHEZ and HENNY B. SIPMA Stanfod Univesity We pesent a family of efficient distibuted deadlock avoidance algoithms with applications

More information

THE THETA BLOCKCHAIN

THE THETA BLOCKCHAIN THE THETA BLOCKCHAIN Theta is a decentalized video steaming netwok, poweed by a new blockchain and token. By Theta Labs, Inc. Last Updated: Nov 21, 2017 esion 1.0 1 OUTLINE Motivation Reputation Dependent

More information

arxiv: v1 [cs.lo] 3 Dec 2018

arxiv: v1 [cs.lo] 3 Dec 2018 A high-level opeational semantics fo hadwae weak memoy models axiv:1812.00996v1 [cs.lo] 3 Dec 2018 Abstact Robet J. Colvin School of Electical Engineeing and Infomation Technology The Univesity of Queensland

More information

DEVELOPMENT OF NEW VARIANT MJ2 RSA DIGITAL SIGNATURE SCHEME WITH ONE PUBLIC KEY AND TWO PRIVATE KEYS

DEVELOPMENT OF NEW VARIANT MJ2 RSA DIGITAL SIGNATURE SCHEME WITH ONE PUBLIC KEY AND TWO PRIVATE KEYS I.J.E.M.S., VOL. 1(1): 18-25 ISSN 2229-600X DEVELOPMENT OF NEW VARIANT MJ2 RSA DIGITAL SIGNATURE SCHEME WITH ONE PUBLIC KEY AND TWO PRIVATE KEYS A. Ravi Pasad, M. Padmavathamma Depatment of Compute Science,

More information

CSE 165: 3D User Interaction

CSE 165: 3D User Interaction CSE 165: 3D Use Inteaction Lectue #6: Selection Instucto: Jugen Schulze, Ph.D. 2 Announcements Homewok Assignment #2 Due Fiday, Januay 23 d at 1:00pm 3 4 Selection and Manipulation 5 Why ae Selection and

More information

Communication vs Distributed Computation: an alternative trade-off curve

Communication vs Distributed Computation: an alternative trade-off curve Communication vs Distibuted Computation: an altenative tade-off cuve Yahya H. Ezzeldin, Mohammed amoose, Chistina Fagouli Univesity of Califonia, Los Angeles, CA 90095, USA, Email: {yahya.ezzeldin, mkamoose,

More information

Running class Timing on Java HotSpot VM, 1

Running class Timing on Java HotSpot VM, 1 Compiler construction 2009 Lecture 3. A first look at optimization: Peephole optimization. A simple example A Java class public class A { public static int f (int x) { int r = 3; int s = r + 5; return

More information

CSE P 501 Compilers. Java Implementation JVMs, JITs &c Hal Perkins Winter /11/ Hal Perkins & UW CSE V-1

CSE P 501 Compilers. Java Implementation JVMs, JITs &c Hal Perkins Winter /11/ Hal Perkins & UW CSE V-1 CSE P 501 Compilers Java Implementation JVMs, JITs &c Hal Perkins Winter 2008 3/11/2008 2002-08 Hal Perkins & UW CSE V-1 Agenda Java virtual machine architecture.class files Class loading Execution engines

More information

UNION FIND. naïve linking link-by-size link-by-rank path compression link-by-rank with path compression context. An Improved Equivalence Algorithm

UNION FIND. naïve linking link-by-size link-by-rank path compression link-by-rank with path compression context. An Improved Equivalence Algorithm Disjoint-sets data type Lectue slides by Kevin Wayne Copyight 5 Peason-Addison Wesley http://www.cs.pinceton.edu/~wayne/kleinbeg-tados UNION FIND naïve linking link-by-size link-by-ank path compession

More information

^2 PMAC NC FOR MILL APPLICATION

^2 PMAC NC FOR MILL APPLICATION ^1 SOFTWARE REFERENCE MANUA ^2 PMAC NC FOR MI APPICATION ^3 Integato/Softwae Manual ^4 3xx-603450-xSxx ^5 June 11, 2004 Single Souce Machine Contol Powe // Flexibility // Ease of Use 21314 assen Steet

More information

Code Generation Introduction

Code Generation Introduction Code Generation Introduction i = 0 LF w h i l e i=0 while (i < 10) { a[i] = 7*i+3 i = i + 1 lexer i = 0 while ( i < 10 ) source code (e.g. Scala, Java,C) easy to write Compiler (scalac, gcc) parser type

More information

A modal estimation based multitype sensor placement method

A modal estimation based multitype sensor placement method A modal estimation based multitype senso placement method *Xue-Yang Pei 1), Ting-Hua Yi 2) and Hong-Nan Li 3) 1),)2),3) School of Civil Engineeing, Dalian Univesity of Technology, Dalian 116023, China;

More information

On the Conversion between Binary Code and Binary-Reflected Gray Code on Boolean Cubes

On the Conversion between Binary Code and Binary-Reflected Gray Code on Boolean Cubes On the Convesion between Binay Code and BinayReflected Gay Code on Boolean Cubes The Havad community has made this aticle openly available. Please shae how this access benefits you. You stoy mattes Citation

More information

Spiral Recognition Methodology and Its Application for Recognition of Chinese Bank Checks

Spiral Recognition Methodology and Its Application for Recognition of Chinese Bank Checks Spial Recognition Methodology and Its Application fo Recognition of Chinese Bank Checks Hanshen Tang 1, Emmanuel Augustin 2, Ching Y. Suen 1, Olivie Baet 2, Mohamed Cheiet 3 1 Cente fo Patten Recognition

More information

Prof. Feng Liu. Fall /17/2016

Prof. Feng Liu. Fall /17/2016 Pof. Feng Liu Fall 26 http://www.cs.pdx.edu/~fliu/couses/cs447/ /7/26 Last time Compositing NPR 3D Gaphics Toolkits Tansfomations 2 Today 3D Tansfomations The Viewing Pipeline Mid-tem: in class, Nov. 2

More information

Optical Flow for Large Motion Using Gradient Technique

Optical Flow for Large Motion Using Gradient Technique SERBIAN JOURNAL OF ELECTRICAL ENGINEERING Vol. 3, No. 1, June 2006, 103-113 Optical Flow fo Lage Motion Using Gadient Technique Md. Moshaof Hossain Sake 1, Kamal Bechkoum 2, K.K. Islam 1 Abstact: In this

More information

SHA-3 and The Hash Function Keccak

SHA-3 and The Hash Function Keccak Chistof Paa Jan Pelzl SHA-3 and The Hash Function Keccak An extension chapte fo Undestanding Cyptogaphy A Textbook fo Students and Pactitiones www.cypto-textbook.com Spinge 2 Table of Contents 1 The Hash

More information

Computer Architecture. Pipelining and Instruction Level Parallelism An Introduction. Outline of This Lecture

Computer Architecture. Pipelining and Instruction Level Parallelism An Introduction. Outline of This Lecture Compute Achitectue Pipelining and nstuction Level Paallelism An ntoduction Adapted fom COD2e by Hennessy & Patteson Slide 1 Outline of This Lectue ntoduction to the Concept of Pipelined Pocesso Pipelined

More information

Administrivia. CMSC 411 Computer Systems Architecture Lecture 5. Data Hazard Even with Forwarding Figure A.9, Page A-20

Administrivia. CMSC 411 Computer Systems Architecture Lecture 5. Data Hazard Even with Forwarding Figure A.9, Page A-20 Administivia CMSC 411 Compute Systems Achitectue Lectue 5 Basic Pipelining (cont.) Alan Sussman als@cs.umd.edu as@csu dedu Homewok poblems fo Unit 1 due today Homewok poblems fo Unit 3 posted soon CMSC

More information

CSE4201. Computer Architecture

CSE4201. Computer Architecture CSE 4201 Compute Achitectue Pof. Mokhta Aboelaze Pats of these slides ae taken fom Notes by Pof. David Patteson at UCB Outline MIPS and instuction set Simple pipeline in MIPS Stuctual and data hazads Fowading

More information

CS 5114: Theory of Algorithms. Sorting. Insertion Sort. Exchange Sorting. Clifford A. Shaffer. Spring 2010

CS 5114: Theory of Algorithms. Sorting. Insertion Sort. Exchange Sorting. Clifford A. Shaffer. Spring 2010 Depatment of Compute Science Viginia Tech Backsbug, Viginia Copyight c 10 by Ciffod A. Shaffe 3 4 5 7 : Theoy of Agoithms Tite page : Theoy of Agoithms Ciffod A. Shaffe Sping 10 Ciffod A. Shaffe Depatment

More information

Modelling, simulation, and performance analysis of a CAN FD system with SAE benchmark based message set

Modelling, simulation, and performance analysis of a CAN FD system with SAE benchmark based message set Modelling, simulation, and pefomance analysis of a CAN FD system with SAE benchmak based message set Mahmut Tenuh, Panagiotis Oikonomidis, Peiklis Chachalakis, Elias Stipidis Mugla S. K. Univesity, TR;

More information

CENG 3420 Lecture 07: Pipeline

CENG 3420 Lecture 07: Pipeline CENG 3420 Lectue 07: Pipeline Bei Yu byu@cse.cuhk.edu.hk CENG3420 L07.1 Sping 2017 Outline q Review: Flip-Flop Contol Signals q Pipeline Motivations q Pipeline Hazads q Exceptions CENG3420 L07.2 Sping

More information