System-on-Chip Design Analysis of Control Data Flow. Hao Zheng Comp Sci & Eng U of South Florida

Size: px
Start display at page:

Download "System-on-Chip Design Analysis of Control Data Flow. Hao Zheng Comp Sci & Eng U of South Florida"

Transcription

1 System-on-Chp Desgn Analyss of Control Data Flow Hao Zheng Comp Sc & Eng U of South Florda

2 Overvew DF models descrbe concurrent computa=on at a very hgh level Each actor descrbes non-trval computa=on. Each actor s oben descrbed n C. Can be mapped to ether HW or SW Wll look at ssues n mappng C to HW. 2

3 Data & Control Edges of C Programs C s used as a modelng as well as an mplementa=on language. Mappng C programs to HW s hard. HW s parallel whle C s sequen=al. need to understand the structure of C programs. Rela=ons between opera=ons n C programs Data edges: data moved from one op. to another. Control edge: no data xfer. 3

4 Control Flow Graph nt x(a, b) { nt r; 2 f (a > b) 3 r = a; else 4 r = b; 5 return r; } nt max(nt a, b) f (a > b) r = a return r; Control Edges r = b Control edges are oben labeled wth cond=ons whose sa=sfac=on dctates f a control can be taken. 4

5 Data Flow Graph Data Edges nt max(nt a, b) { nt r; 2 f (a > b) 3 r = a; else 4 r = b; 5 return r; } a, b a 2 (a>b) 3 4 r r 5 b Data edges are labeled wth varables upon whch one opera=on depends on another 5

6 Control/Data Edges A data edge => flow of nforma=on Must be mplemented. A control edge => result of seman=cs of program language Maybe gnore or changed f the behavor remans the same. 6

7 Control/Data Edges Control Edges Data Edges Hardware Implementaton nt sum(nt a, b, c) { nt v; v = a + b; // op 2 v2 = v + c; // op 3 return v2; } 2 3 a, b v v2 2 3 c a b c v adder adder 4 4 v2 Control edges are meanngless as HW s parallel. 7

8 Control/Data Edges Example nt sum(nt a, b, c, d) {// op nt v; v = a + b; // op 2 v2 = c + d; // op 3 return v + v2; // op 4 } 8

9 Basc Elements of CFG 2 3 for (=0; < 20; ++) { // body of the loop } entry 2 3 ext body 9

10 of CFG f(a < b) { // true branch } else { // false branch } entry true false ext 0

11 of CFG whle (a < b) { // loop body } entry ext body

12 of CFG do { // loop body } whle (a<b) entry body ext 2

13 of CFG: GCD : nt gcd(nt a, nt b) { 2: whle (a!= b) { 3: f (a > b) 4: a = a - b; else 5: b = b - a; } 6: return a; } A control path n CFG corresponds to a sequence of execu=ons of statements 3

14 of DFG: GCD : nt gcd(nt a, nt b) { 2: whle (a!= b) { 3: f (a > b) 4: a = a - b; else 5: b = b - a; } 6: return a; } 2 (a!=b) 3 a, b 6 CFG a (a>b) 4 5 b 4 5 Par=al DFG 4

15 of DFG: GCD : nt gcd(nt a, nt b) { 2: whle (a!= b) { 3: f (a > b) 4: a = a - b; else 5: b = b - a; } 6: return a; } a a, b a a b a a, b a a, b b b a, b b 6 a 5

16 of CFG/DFG 2a : nt L[3] = {0, 20, 30}; 2a 2b 2c 2: for (nt =; <3; ++) 3: L[] = L[] + L[-]; 2b ext How to treat ndexed varables n DFG construc=on? 3 2c CFG 6

17 of CFG/DFG a b 2a 2a 2b 2b L L[0], L[], L[2] 2c 3 2c 3 L L[] Treat L as a sngle monolthc varable Loca=ons of L are treated ndvdually 7

18 of CFG/DFG a b 2a 2a 2b 2b L L[0], L[], L[2] 2c 3 2c 3 L L[] L[2] Treat L as a sngle monolthc varable Loca=ons of L are treated ndvdually 8

19 DFG Analyss Loop Unrollng nt L[3] = {0, 20, 30}; L[] = L[] + L[0]; L[2] = L[2] + L[]; 9

20 C to HW Assump=ons: Scalar C programs no ponters and arrays Implement each statement n a clock cycle. Basc Idea Construct CFG and DFG CFG => controller (control edge -> control sg.) DFG => datapath (data edges -> comp conn.) Not very effcent exst many op=mza=on opportun=es 20

21 HW RTL Archtecture Control Inputs Control Sgnals Data Inputs Controller Datapath Control Outputs Status Sgnals Data Outputs 2

22 C to HW: Buldng Datapath Each varable => a regster MUX s used f a varable s updated n mul=ple statements. Each expresson => a combna=onal logc Cond=onal expressons => flags to controller Datapath crcuts and regsters are connected accordng to data edges n DFG. 22

23 C to HW: Buldng Datapath : nt gcd(nt a, nt b) { 2: whle (a!= b) { 3: f (a > b) 4: a = a - b; else 5: b = b - a; } 6: return a; } a-b - - a n_a upd_a upd_b!= n_b b b-a flag_whle > out_a flag_f 23

24 C to HW: Buldng Controller _ / run s s2! flag_whle / _ s6 Label CFG edges wth flags from datapath and ac=ons that DP should perform, and mplement CFG as FSM. _ / run4 flag_f / _ s4 s3 _ / run5 flag_whle / _! flag_f / _ s5 24

25 C to HW: Buldng Controller flag_whle flag_f state n_a n_b Next-state Logc Datapath flag_whle flag_f upd_a upd_b Lookup Table command {_, run, run4, run5} nstructon upd_a upd_b out_a _ run run4 run5 a a_n a - b a b b_n b b - a upd_a upd_b 25

26 Each varable mapped to a regster. A func=onal unt s allocated to every operator. Performance bojleneck as a sngle statement s executed n a sngle clock cycle. Processor s already dong ths. Can mul=ple statements be executed n a cycle? 26

27 C to HW: Sngle-Assgnment Form Each varable s assgned exactly once. To mprove effcency of the HW mplementa=on. a = a + ; a = a * 3; a = a 2; a2 = a + ; a3 = a2 * 3; a4 = a3 2; 27

28 C to HW: Sngle-Assgnment Form nt gcd(nt a, b) { whle (a!= b) { f (a > b) a = a b; else b = b a; } return a; } nt gcd(nt a, b) { whle (merge(a, a2)!= merge(b, b2)) { a3 = merge(a, a2); b3 = merge(b, b2); f (a3 > b3) a2 = a3 b3; else b2 = b3 a3; } return a; } 28

29 C to HW: Sngle-Assgnment Form a b nt gcd(nt a, b) { whle (merge(a, a2)!= merge(b, b2)) { a3 = merge(a, a2); b3 = merge(b, b2); f (a3 > b3) a2 = a3 b3; else b2 = b3 a3; } return a; } a3 > flag_whle!= flag_whle - - b3 a2 b2 29

30 Readng Gude Chapter 4, the CoDesgn book. 30

High-Level Synthesis Creating Custom Circuits from High-Level Code

High-Level Synthesis Creating Custom Circuits from High-Level Code High-Level Synthesis Creating Custom Circuits from High-Level Code Hao Zheng Comp Sci & Eng University of South Florida Exis%ng Design Flow Register-transfer (RT) synthesis - Specify RT structure (muxes,

More information

CHAPTER 4. Applications of Boolean Algebra/ Minterm and Maxterm Expansions

CHAPTER 4. Applications of Boolean Algebra/ Minterm and Maxterm Expansions Fundaentals o Logc Desgn hap. 4 HAPTER 4 /8 Applcatons o Boolean Algebra/ Mnter and Maxter Expansons Ths chapter n the book ncludes: Objectves Study Gude 4. onverson o Englsh Sentences to Boolean Equatons

More information

Assembler. Building a Modern Computer From First Principles.

Assembler. Building a Modern Computer From First Principles. Assembler Buldng a Modern Computer From Frst Prncples www.nand2tetrs.org Elements of Computng Systems, Nsan & Schocken, MIT Press, www.nand2tetrs.org, Chapter 6: Assembler slde Where we are at: Human Thought

More information

Outline. Digital Systems. C.2: Gates, Truth Tables and Logic Equations. Truth Tables. Logic Gates 9/8/2011

Outline. Digital Systems. C.2: Gates, Truth Tables and Logic Equations. Truth Tables. Logic Gates 9/8/2011 9/8/2 2 Outlne Appendx C: The Bascs of Logc Desgn TDT4255 Computer Desgn Case Study: TDT4255 Communcaton Module Lecture 2 Magnus Jahre 3 4 Dgtal Systems C.2: Gates, Truth Tables and Logc Equatons All sgnals

More information

Compiler Design. Spring Register Allocation. Sample Exercises and Solutions. Prof. Pedro C. Diniz

Compiler Design. Spring Register Allocation. Sample Exercises and Solutions. Prof. Pedro C. Diniz Compler Desgn Sprng 2014 Regster Allocaton Sample Exercses and Solutons Prof. Pedro C. Dnz USC / Informaton Scences Insttute 4676 Admralty Way, Sute 1001 Marna del Rey, Calforna 90292 pedro@s.edu Regster

More information

The stream cipher MICKEY-128 (version 1) Algorithm specification issue 1.0

The stream cipher MICKEY-128 (version 1) Algorithm specification issue 1.0 The stream cpher MICKEY-128 (verson 1 Algorthm specfcaton ssue 1. Steve Babbage Vodafone Group R&D, Newbury, UK steve.babbage@vodafone.com Matthew Dodd Independent consultant matthew@mdodd.net www.mdodd.net

More information

Agenda & Reading. Simple If. Decision-Making Statements. COMPSCI 280 S1C Applications Programming. Programming Fundamentals

Agenda & Reading. Simple If. Decision-Making Statements. COMPSCI 280 S1C Applications Programming. Programming Fundamentals Agenda & Readng COMPSCI 8 SC Applcatons Programmng Programmng Fundamentals Control Flow Agenda: Decsonmakng statements: Smple If, Ifelse, nested felse, Select Case s Whle, DoWhle/Untl, For, For Each, Nested

More information

such that is accepted of states in , where Finite Automata Lecture 2-1: Regular Languages be an FA. A string is the transition function,

such that is accepted of states in , where Finite Automata Lecture 2-1: Regular Languages be an FA. A string is the transition function, * Lecture - Regular Languages S Lecture - Fnte Automata where A fnte automaton s a -tuple s a fnte set called the states s a fnte set called the alphabet s the transton functon s the ntal state s the set

More information

Circuit Analysis I (ENGR 2405) Chapter 3 Method of Analysis Nodal(KCL) and Mesh(KVL)

Circuit Analysis I (ENGR 2405) Chapter 3 Method of Analysis Nodal(KCL) and Mesh(KVL) Crcut Analyss I (ENG 405) Chapter Method of Analyss Nodal(KCL) and Mesh(KVL) Nodal Analyss If nstead of focusng on the oltages of the crcut elements, one looks at the oltages at the nodes of the crcut,

More information

Cache Performance 3/28/17. Agenda. Cache Abstraction and Metrics. Direct-Mapped Cache: Placement and Access

Cache Performance 3/28/17. Agenda. Cache Abstraction and Metrics. Direct-Mapped Cache: Placement and Access Agenda Cache Performance Samra Khan March 28, 217 Revew from last lecture Cache access Assocatvty Replacement Cache Performance Cache Abstracton and Metrcs Address Tag Store (s the address n the cache?

More information

Ptolemy II in Embedded Signal Processing Architectures: Deriving Process Networks From Matlab

Ptolemy II in Embedded Signal Processing Architectures: Deriving Process Networks From Matlab Ptolemy II n Embedded Sgnal Processng Archtectures: Dervng Process Networs From Matlab Bart Kenhus and Ed Deprettere Leden Insttute of Advanced omputer Scence (LIAS) Leden Unversty, The Netherlands Ptolemy

More information

Storage Binding in RTL synthesis

Storage Binding in RTL synthesis Storage Bndng n RTL synthess Pe Zhang Danel D. Gajsk Techncal Report ICS-0-37 August 0th, 200 Center for Embedded Computer Systems Department of Informaton and Computer Scence Unersty of Calforna, Irne

More information

LLVM passes and Intro to Loop Transformation Frameworks

LLVM passes and Intro to Loop Transformation Frameworks LLVM passes and Intro to Loop Transformaton Frameworks Announcements Ths class s recorded and wll be n D2L panapto. No quz Monday after sprng break. Wll be dong md-semester class feedback. Today LLVM passes

More information

Harvard University CS 101 Fall 2005, Shimon Schocken. Assembler. Elements of Computing Systems 1 Assembler (Ch. 6)

Harvard University CS 101 Fall 2005, Shimon Schocken. Assembler. Elements of Computing Systems 1 Assembler (Ch. 6) Harvard Unversty CS 101 Fall 2005, Shmon Schocken Assembler Elements of Computng Systems 1 Assembler (Ch. 6) Why care about assemblers? Because Assemblers employ some nfty trcks Assemblers are the frst

More information

Lecture 3: Computer Arithmetic: Multiplication and Division

Lecture 3: Computer Arithmetic: Multiplication and Division 8-447 Lecture 3: Computer Arthmetc: Multplcaton and Dvson James C. Hoe Dept of ECE, CMU January 26, 29 S 9 L3- Announcements: Handout survey due Lab partner?? Read P&H Ch 3 Read IEEE 754-985 Handouts:

More information

Code Genera*on for Control Flow Constructs

Code Genera*on for Control Flow Constructs Code Genera*on for Control Flow Constructs 1 Roadmap Last *me: Got the basics of MIPS CodeGen for some AST node types This *me: Do the rest of the AST nodes Introduce control flow graphs Scanner Parser

More information

RADIX-10 PARALLEL DECIMAL MULTIPLIER

RADIX-10 PARALLEL DECIMAL MULTIPLIER RADIX-10 PARALLEL DECIMAL MULTIPLIER 1 MRUNALINI E. INGLE & 2 TEJASWINI PANSE 1&2 Electroncs Engneerng, Yeshwantrao Chavan College of Engneerng, Nagpur, Inda E-mal : mrunalngle@gmal.com, tejaswn.deshmukh@gmal.com

More information

Algorithmic Transformation Techniques for Efficient Exploration of Alternative Application Instances

Algorithmic Transformation Techniques for Efficient Exploration of Alternative Application Instances In: Proc. 0th Int. Symposum on Hardware/Software Codesgn (CODES 02), Estes Park, Colorado, USA, May 6 8, 2002 Algorthmc Transformaton Technques for Effcent Exploraton of Alternatve Applcaton Instances

More information

CPE 628 Chapter 2 Design for Testability. Dr. Rhonda Kay Gaede UAH. UAH Chapter Introduction

CPE 628 Chapter 2 Design for Testability. Dr. Rhonda Kay Gaede UAH. UAH Chapter Introduction Chapter 2 Desgn for Testablty Dr Rhonda Kay Gaede UAH 2 Introducton Dffcultes n and the states of sequental crcuts led to provdng drect access for storage elements, whereby selected storage elements are

More information

Virtual Memory. Background. No. 10. Virtual Memory: concept. Logical Memory Space (review) Demand Paging(1) Virtual Memory

Virtual Memory. Background. No. 10. Virtual Memory: concept. Logical Memory Space (review) Demand Paging(1) Virtual Memory Background EECS. Operatng System Fundamentals No. Vrtual Memory Prof. Hu Jang Department of Electrcal Engneerng and Computer Scence, York Unversty Memory-management methods normally requres the entre process

More information

Design of Structure Optimization with APDL

Design of Structure Optimization with APDL Desgn of Structure Optmzaton wth APDL Yanyun School of Cvl Engneerng and Archtecture, East Chna Jaotong Unversty Nanchang 330013 Chna Abstract In ths paper, the desgn process of structure optmzaton wth

More information

Assembler. Shimon Schocken. Spring Elements of Computing Systems 1 Assembler (Ch. 6) Compiler. abstract interface.

Assembler. Shimon Schocken. Spring Elements of Computing Systems 1 Assembler (Ch. 6) Compiler. abstract interface. IDC Herzlya Shmon Schocken Assembler Shmon Schocken Sprng 2005 Elements of Computng Systems 1 Assembler (Ch. 6) Where we are at: Human Thought Abstract desgn Chapters 9, 12 abstract nterface H.L. Language

More information

Conditional Speculative Decimal Addition*

Conditional Speculative Decimal Addition* Condtonal Speculatve Decmal Addton Alvaro Vazquez and Elsardo Antelo Dep. of Electronc and Computer Engneerng Unv. of Santago de Compostela, Span Ths work was supported n part by Xunta de Galca under grant

More information

Concurrent Apriori Data Mining Algorithms

Concurrent Apriori Data Mining Algorithms Concurrent Apror Data Mnng Algorthms Vassl Halatchev Department of Electrcal Engneerng and Computer Scence York Unversty, Toronto October 8, 2015 Outlne Why t s mportant Introducton to Assocaton Rule Mnng

More information

CSSE232 Computer Architecture I. Mul5cycle Datapath

CSSE232 Computer Architecture I. Mul5cycle Datapath CSSE232 Compter Architectre I Ml5cycle Datapath Class Stats Next 3 days : Ml5cycle datapath ing Ml5cycle datapath is not in the book! How long do instrc5ons take? ALU 2ns Mem 2ns Reg File 1ns Everything

More information

Oracle Database: SQL and PL/SQL Fundamentals Certification Course

Oracle Database: SQL and PL/SQL Fundamentals Certification Course Oracle Database: SQL and PL/SQL Fundamentals Certfcaton Course 1 Duraton: 5 Days (30 hours) What you wll learn: Ths Oracle Database: SQL and PL/SQL Fundamentals tranng delvers the fundamentals of SQL and

More information

Vulnerability Analysis (III): Sta8c Analysis

Vulnerability Analysis (III): Sta8c Analysis Computer Security Course. Vulnerability Analysis (III): Sta8c Analysis Slide credit: Vijay D Silva 1 Efficiency of Symbolic Execu8on 2 A Sta8c Analysis Analogy 3 Syntac8c Analysis 4 Seman8cs- Based Analysis

More information

The MIPS Processor Datapath

The MIPS Processor Datapath The MIPS Processor Datapath Module Outline MIPS datapath implementation Register File, Instruction memory, Data memory Instruction interpretation and execution. Combinational control Assignment: Datapath

More information

Loop Transformations for Parallelism & Locality. Review. Scalar Expansion. Scalar Expansion: Motivation

Loop Transformations for Parallelism & Locality. Review. Scalar Expansion. Scalar Expansion: Motivation Loop Transformatons for Parallelsm & Localty Last week Data dependences and loops Loop transformatons Parallelzaton Loop nterchange Today Scalar expanson for removng false dependences Loop nterchange Loop

More information

AADL : about scheduling analysis

AADL : about scheduling analysis AADL : about schedulng analyss Schedulng analyss, what s t? Embedded real-tme crtcal systems have temporal constrants to meet (e.g. deadlne). Many systems are bult wth operatng systems provdng multtaskng

More information

Area Efficient Self Timed Adders For Low Power Applications in VLSI

Area Efficient Self Timed Adders For Low Power Applications in VLSI ISSN(Onlne): 2319-8753 ISSN (Prnt) :2347-6710 Internatonal Journal of Innovatve Research n Scence, Engneerng and Technology (An ISO 3297: 2007 Certfed Organzaton) Area Effcent Self Tmed Adders For Low

More information

Parallel Inverse Halftoning by Look-Up Table (LUT) Partitioning

Parallel Inverse Halftoning by Look-Up Table (LUT) Partitioning Parallel Inverse Halftonng by Look-Up Table (LUT) Parttonng Umar F. Sddq and Sadq M. Sat umar@ccse.kfupm.edu.sa, sadq@kfupm.edu.sa KFUPM Box: Department of Computer Engneerng, Kng Fahd Unversty of Petroleum

More information

COMP303 Computer Architecture Lecture 9. Single Cycle Control

COMP303 Computer Architecture Lecture 9. Single Cycle Control COMP33 Computer Architecture Lecture 9 Single Cycle Control A Single Cycle Datapath We have everything except control signals (underlined) RegDst busw Today s lecture will look at how to generate the control

More information

Register Transfer Methodology II

Register Transfer Methodology II Register Transfer Methodology II Chapter 12 1 Outline 1. Design example: One shot pulse generator 2. Design Example: GCD 3. Design Example: UART 4. Design Example: SRAM Interface Controller 5. Square root

More information

Outline. Register Transfer Methodology II. 1. One shot pulse generator. Refined block diagram of FSMD

Outline. Register Transfer Methodology II. 1. One shot pulse generator. Refined block diagram of FSMD Outline Register Transfer Methodology II 1. Design example: One shot pulse generator 2. Design Example: GCD 3. Design Example: UART 4. Design Example: SRAM Interface Controller 5. Square root approximation

More information

Concurrent models of computation for embedded software

Concurrent models of computation for embedded software Concurrent models of computaton for embedded software and hardware! Researcher overvew what t looks lke semantcs what t means and how t relates desgnng an actor language actor propertes and how to represent

More information

IP Lookup-2: The Completion Buffer. IP-Lookup module without the completion buffer

IP Lookup-2: The Completion Buffer. IP-Lookup module without the completion buffer P Lkup-2: The Cmpletn Buffer Arvnd Cmputer Scence & Artfcal ntellgence Lab Massachusetts nsttute f Technlgy February 24, 2010 http://csg.csal.mt.edu/6.375 L07-1 P-Lkup mdule wthut the cmpletn fer enter

More information

Behavior-Level Observability Analysis for Operation Gating in Low-Power Behavioral Synthesis

Behavior-Level Observability Analysis for Operation Gating in Low-Power Behavioral Synthesis Behavor-Level Observablty Analyss for Operaton Gatng n Low-Power Behavoral Synthess JASON CONG, BIN LIU, RUPAK MAJUMDAR Unversty of Calforna, Los Angeles and ZHIRU ZHANG AutoESL Desgn Technologes, Inc.

More information

CMPS 10 Introduction to Computer Science Lecture Notes

CMPS 10 Introduction to Computer Science Lecture Notes CPS 0 Introducton to Computer Scence Lecture Notes Chapter : Algorthm Desgn How should we present algorthms? Natural languages lke Englsh, Spansh, or French whch are rch n nterpretaton and meanng are not

More information

CSSE232 Computer Architecture I. Datapath

CSSE232 Computer Architecture I. Datapath CSSE232 Computer Architecture I Datapath Class Status Reading Sec;ons 4.1-3 Project Project group milestone assigned Indicate who you want to work with Indicate who you don t want to work with Due next

More information

Loop Permutation. Loop Transformations for Parallelism & Locality. Legality of Loop Interchange. Loop Interchange (cont)

Loop Permutation. Loop Transformations for Parallelism & Locality. Legality of Loop Interchange. Loop Interchange (cont) Loop Transformatons for Parallelsm & Localty Prevously Data dependences and loops Loop transformatons Parallelzaton Loop nterchange Today Loop nterchange Loop transformatons and transformaton frameworks

More information

NUMERICAL SOLVING OPTIMAL CONTROL PROBLEMS BY THE METHOD OF VARIATIONS

NUMERICAL SOLVING OPTIMAL CONTROL PROBLEMS BY THE METHOD OF VARIATIONS ARPN Journal of Engneerng and Appled Scences 006-017 Asan Research Publshng Network (ARPN). All rghts reserved. NUMERICAL SOLVING OPTIMAL CONTROL PROBLEMS BY THE METHOD OF VARIATIONS Igor Grgoryev, Svetlana

More information

CS 61C: Great Ideas in Computer Architecture (Machine Structures) Lecture 32: Pipeline Parallelism 3

CS 61C: Great Ideas in Computer Architecture (Machine Structures) Lecture 32: Pipeline Parallelism 3 CS 61C: Great Ideas in Computer Architecture (Machine Structures) Lecture 32: Pipeline Parallelism 3 Instructor: Dan Garcia inst.eecs.berkeley.edu/~cs61c! Compu@ng in the News At a laboratory in São Paulo,

More information

Module Management Tool in Software Development Organizations

Module Management Tool in Software Development Organizations Journal of Computer Scence (5): 8-, 7 ISSN 59-66 7 Scence Publcatons Management Tool n Software Development Organzatons Ahmad A. Al-Rababah and Mohammad A. Al-Rababah Faculty of IT, Al-Ahlyyah Amman Unversty,

More information

High level vs Low Level. What is a Computer Program? What does gcc do for you? Program = Instructions + Data. Basic Computer Organization

High level vs Low Level. What is a Computer Program? What does gcc do for you? Program = Instructions + Data. Basic Computer Organization What s a Computer Program? Descrpton of algorthms and data structures to acheve a specfc ojectve Could e done n any language, even a natural language lke Englsh Programmng language: A Standard notaton

More information

COMP303 - Computer Architecture Lecture 8. Designing a Single Cycle Datapath

COMP303 - Computer Architecture Lecture 8. Designing a Single Cycle Datapath COMP33 - Computer Architecture Lecture 8 Designing a Single Cycle Datapath The Big Picture The Five Classic Components of a Computer Processor Input Control Memory Datapath Output The Big Picture: The

More information

Lec-6-HW-2-digitalDesign

Lec-6-HW-2-digitalDesign Lec-6-HW-2-digitalDesign Reading: PP-chp 3: 3.3 (decoder, mux, FA, PLA) 3.4 (R-S latch, register) 3.5 (memory) 3.6 (sequential machines, FSM) 3.7 (LC-3 datapath) Problems, PP-chp 3: 3.12 3-Dec, show minterm

More information

THEORETICAL BACKGROUND FOR THE APPLET DESIGN AND TEST OF DIGITAL SYSTEMS ON RT-LEVEL AND RELATED EXERCISES

THEORETICAL BACKGROUND FOR THE APPLET DESIGN AND TEST OF DIGITAL SYSTEMS ON RT-LEVEL AND RELATED EXERCISES TALLINN TECHNICAL UNIVERSITY Faculty of Informaton Technology Department of Computer Engneerng Char of Computer Engneerng and Dagnostcs THEORETICAL BACKGROUND FOR THE APPLET DESIGN AND TEST OF DIGITAL

More information

Programming FPGAs in C/C++ with High Level Synthesis PACAP - HLS 1

Programming FPGAs in C/C++ with High Level Synthesis PACAP - HLS 1 Programmng FPGAs n C/C wth Hgh Level Synthess PACAP - HLS 1 Outlne Why Hgh Level Synthess? Challenges when syntheszng hardware from C/C Hgh Level Synthess from C n a nutshell Explorng performance/area

More information

Data Structures and Algorithms in Compiler Optimization. Comp314 Lecture Dave Peixotto

Data Structures and Algorithms in Compiler Optimization. Comp314 Lecture Dave Peixotto Data Structures and Algorithms in Compiler Optimization Comp314 Lecture Dave Peixotto 1 What is a compiler Compilers translate between program representations Interpreters evaluate their input to produce

More information

Course Introduction. Algorithm 8/31/2017. COSC 320 Advanced Data Structures and Algorithms. COSC 320 Advanced Data Structures and Algorithms

Course Introduction. Algorithm 8/31/2017. COSC 320 Advanced Data Structures and Algorithms. COSC 320 Advanced Data Structures and Algorithms Course Introducton Course Topcs Exams, abs, Proects A quc loo at a few algorthms 1 Advanced Data Structures and Algorthms Descrpton: We are gong to dscuss algorthm complexty analyss, algorthm desgn technques

More information

Learning Outcomes. Spiral 3-3. Sorting: Software Implementation REVIEW

Learning Outcomes. Spiral 3-3. Sorting: Software Implementation REVIEW 3-3. Learning Outcomes 3-3. Spiral 3-3 Single Cycle CPU I understand how the single-cycle CPU datapath supports each type of instruction I understand why each mux is needed to select appropriate inputs

More information

Spatial Computation ABSTRACT 1. INTRODUCTION

Spatial Computation ABSTRACT 1. INTRODUCTION Spatal Computaton Mha Budu, Grsh Venkataraman, Tberu Chelcea and Seth Copen Goldsten {mhab,grsh,tb,seth}@cs.cmu.edu Carnege Mellon Unversty ABSTRACT Ths paper descrbes a computer archtecture, Spatal Computaton

More information

UPCRC. Illiac. Gigascale System Research Center. Petascale computing. Cloud Computing Testbed (CCT) 2

UPCRC. Illiac. Gigascale System Research Center. Petascale computing. Cloud Computing Testbed (CCT) 2 Illiac UPCRC Petascale computing Gigascale System Research Center Cloud Computing Testbed (CCT) 2 www.parallel.illinois.edu Mul2 Core: All Computers Are Now Parallel We con'nue to have more transistors

More information

Programming Assignment Six. Semester Calendar. 1D Excel Worksheet Arrays. Review VBA Arrays from Excel. Programming Assignment Six May 2, 2017

Programming Assignment Six. Semester Calendar. 1D Excel Worksheet Arrays. Review VBA Arrays from Excel. Programming Assignment Six May 2, 2017 Programmng Assgnment Sx, 07 Programmng Assgnment Sx Larry Caretto Mechancal Engneerng 09 Computer Programmng for Mechancal Engneers Outlne Practce quz for actual quz on Thursday Revew approach dscussed

More information

CE 221 Data Structures and Algorithms

CE 221 Data Structures and Algorithms CE 1 ata Structures and Algorthms Chapter 4: Trees BST Text: Read Wess, 4.3 Izmr Unversty of Economcs 1 The Search Tree AT Bnary Search Trees An mportant applcaton of bnary trees s n searchng. Let us assume

More information

Sequential search. Building Java Programs Chapter 13. Sequential search. Sequential search

Sequential search. Building Java Programs Chapter 13. Sequential search. Sequential search Sequental search Buldng Java Programs Chapter 13 Searchng and Sortng sequental search: Locates a target value n an array/lst by examnng each element from start to fnsh. How many elements wll t need to

More information

CDA 4253 FPGA System Design Op7miza7on Techniques. Hao Zheng Comp S ci & Eng Univ of South Florida

CDA 4253 FPGA System Design Op7miza7on Techniques. Hao Zheng Comp S ci & Eng Univ of South Florida CDA 4253 FPGA System Design Op7miza7on Techniques Hao Zheng Comp S ci & Eng Univ of South Florida 1 Extracted from Advanced FPGA Design by Steve Kilts 2 Op7miza7on for Performance 3 Performance Defini7ons

More information

FPGA-based implementation of circular interpolation

FPGA-based implementation of circular interpolation Avalable onlne www.jocpr.com Journal of Chemcal and Pharmaceutcal Research, 04, 6(7):585-593 Research Artcle ISSN : 0975-7384 CODEN(USA) : JCPRC5 FPGA-based mplementaton of crcular nterpolaton Mngyu Gao,

More information

Topic 5: semantic analysis. 5.5 Types of Semantic Actions

Topic 5: semantic analysis. 5.5 Types of Semantic Actions Top 5: semant analyss 5.5 Types of Semant tons Semant analyss Other Semant tons Other Types of Semant tons revously, all semant atons were for alulatng attrbute values. In a real ompler, other types of

More information

Computer Vision. Pa0ern Recogni4on Concepts Part II. Luis F. Teixeira MAP- i 2012/13

Computer Vision. Pa0ern Recogni4on Concepts Part II. Luis F. Teixeira MAP- i 2012/13 Computer Vson Pa0ern Recogn4on Concepts Part II Lus F. Texera MAP- 2012/13 Last lecture The Bayes classfer yelds the op#mal decson rule f the pror and class- cond4onal dstrbu4ons are known. Ths s unlkely

More information

RISC Architecture: Multi-Cycle Implementation

RISC Architecture: Multi-Cycle Implementation RISC Architecture: Multi-Cycle Implementation Virendra Singh Associate Professor Computer Architecture and Dependable Systems Lab Department of Electrical Engineering Indian Institute of Technology Bombay

More information

Research Article A Formal Model for Performance and Energy Evaluation of Embedded Systems

Research Article A Formal Model for Performance and Energy Evaluation of Embedded Systems Hndaw Publshng Corporaton EURASIP Journal on Embedded Systems Volume 2011, Artcle ID 316510, 12 pages do:10.1155/2011/316510 Research Artcle A Formal Model for Performance and Energy Evaluaton of Embedded

More information

Improved Symoblic Simulation By Dynamic Funtional Space Partitioning

Improved Symoblic Simulation By Dynamic Funtional Space Partitioning Improved Symoblc Smulaton By Dynamc Funtonal Space Parttonng Tao Feng, L-.Wang, Kwang-Tng heng Department of EE, U-Santa Barbara, U.S.A tfeng,lcwang, tmcheng @ece.ucsb.edu Andy -. Ln adence Desgn Systems,

More information

Newton-Raphson division module via truncated multipliers

Newton-Raphson division module via truncated multipliers Newton-Raphson dvson module va truncated multplers Alexandar Tzakov Department of Electrcal and Computer Engneerng Illnos Insttute of Technology Chcago,IL 60616, USA Abstract Reducton n area and power

More information

Run-Time Energy Estimation in System-On-a-Chip Designs *

Run-Time Energy Estimation in System-On-a-Chip Designs * Run-Tme Energy Estmaton n System-On-a-Chp Desgns * J. Had, G. Kaefer, Ch. Steger, R. Wess Insttute for Techncal Informatcs Graz Unversty of Technology Graz, Austra Abstract - In ths paper, a co-processor

More information

Q.1 Q.20 Carry One Mark Each. is differentiable for all real values of x

Q.1 Q.20 Carry One Mark Each. is differentiable for all real values of x Q. Q.0 Carry One Mark Each CS Computer Scence: Gate 007 Paper. Consder the followng two statements about the functon f ( x) = x : P. f ( x) s contnuous for all real values of x Q. f ( x) s dfferentable

More information

Classifying Acoustic Transient Signals Using Artificial Intelligence

Classifying Acoustic Transient Signals Using Artificial Intelligence Classfyng Acoustc Transent Sgnals Usng Artfcal Intellgence Steve Sutton, Unversty of North Carolna At Wlmngton (suttons@charter.net) Greg Huff, Unversty of North Carolna At Wlmngton (jgh7476@uncwl.edu)

More information

A Model Based on Multi-agent for Dynamic Bandwidth Allocation in Networks Guang LU, Jian-Wen QI

A Model Based on Multi-agent for Dynamic Bandwidth Allocation in Networks Guang LU, Jian-Wen QI 216 Jont Internatonal Conference on Artfcal Intellgence and Computer Engneerng (AICE 216) and Internatonal Conference on etwork and Communcaton Securty (CS 216) ISB: 978-1-6595-362-5 A Model Based on Mult-agent

More information

Transac.on Management. Transac.ons. CISC437/637, Lecture #16 Ben Cartere?e

Transac.on Management. Transac.ons. CISC437/637, Lecture #16 Ben Cartere?e Transac.on Management CISC437/637, Lecture #16 Ben Cartere?e Copyright Ben Cartere?e 1 Transac.ons A transac'on is a unit of program execu.on that accesses and possibly updates rela.ons The DBMS s view

More information

Midterms Save the Dates!

Midterms Save the Dates! Unversty of Brtsh Columba CPSC, Intro to Computaton Alan J. Hu Readngs Ths Week: Ch 6 (Ch 7 n old 2 nd ed). (Remnder: Readngs are absolutely vtal for learnng ths stuff!) Thnkng About Loops Lecture 9 Some

More information

A SAT-BASED BOUNDED MODEL CHECKER FOR CONCURRENT ASSEMBLY PROGRAMS. Guodong Li, Ganesh Gopalakrishnan, Konrad Slind

A SAT-BASED BOUNDED MODEL CHECKER FOR CONCURRENT ASSEMBLY PROGRAMS. Guodong Li, Ganesh Gopalakrishnan, Konrad Slind A SAT-BASED BOUNDED MODEL CHECKER FOR CONCURRENT ASSEMBLY PROGRAMS Guodong L, Ganesh Gopalakrshnan, Konrad Slnd School of Computng, Unversty of Utah lgd@cs.utah.edu ABSTRACT A SAT-based bounded model checker

More information

UNIT I Introduction to VHDL VHDL: - V -VHSIC, H - Hardware, D - Description, L Language Fundamental section of a basic VHDL code Library :

UNIT I Introduction to VHDL VHDL: - V -VHSIC, H - Hardware, D - Description, L Language Fundamental section of a basic VHDL code Library : UNIT I Introduction to VHDL VHDL stands for very high-speed integrated circuit hardware description language. Which is one of the programming languages used to model a digital system by dataflow, behavioral

More information

The Codesign Challenge

The Codesign Challenge ECE 4530 Codesgn Challenge Fall 2007 Hardware/Software Codesgn The Codesgn Challenge Objectves In the codesgn challenge, your task s to accelerate a gven software reference mplementaton as fast as possble.

More information

Loop Transformations, Dependences, and Parallelization

Loop Transformations, Dependences, and Parallelization Loop Transformatons, Dependences, and Parallelzaton Announcements Mdterm s Frday from 3-4:15 n ths room Today Semester long project Data dependence recap Parallelsm and storage tradeoff Scalar expanson

More information

Article RGCA: a Reliable GPU Cluster Architecture for Large-Scale Internet of Things Computing Based on Effective Performance-Energy Optimization

Article RGCA: a Reliable GPU Cluster Architecture for Large-Scale Internet of Things Computing Based on Effective Performance-Energy Optimization Artcle RGCA: a Relable GPU Cluster Archtecture for Large-Scale Internet of Thngs Computng Based on Effectve Performance-Energy Optmzaton Yulng Fang, Qngku Chen *, Neal N. Xong, Deyu Zhao and Jngjuan Wang

More information

A SCALABLE DIGITAL ARCHITECTURE OF A KOHONEN NEURAL NETWORK

A SCALABLE DIGITAL ARCHITECTURE OF A KOHONEN NEURAL NETWORK A SCALABLE DIGITAL ARCHITECTURE OF A KOHONEN NEURAL NETWORK Andrés E. Valenca, Jorge A. Peña and Maurco Vanegas. Unversdad Pontfca Bolvarana, Medellín, Colomba andrez_valenca@yahoo.com, jorge.pena@alar.ch,

More information

Analysis of Min Sum Iterative Decoder using Buffer Insertion

Analysis of Min Sum Iterative Decoder using Buffer Insertion Analyss of Mn Sum Iteratve ecoder usng Buffer Inserton Saravanan Swapna M.E II year, ept of ECE SSN College of Engneerng M. Anbuselv Assstant Professor, ept of ECE SSN College of Engneerng S.Salvahanan

More information

Design of Embedded DSP Processors

Design of Embedded DSP Processors Design of Embedded DSP Processors Unit 3: Microarchitecture, Register file, and ALU 9/11/2017 Unit 3 of TSEA26-2017 H1 1 Contents 1. Microarchitecture and its design 2. Hardware design fundamentals 3.

More information

Reading assignment. Chapter 3.1, 3.2 Chapter 4.1, 4.3

Reading assignment. Chapter 3.1, 3.2 Chapter 4.1, 4.3 Reading assignment Chapter 3.1, 3.2 Chapter 4.1, 4.3 1 Outline Introduc5on to assembly programing Introduc5on to Y86 Y86 instruc5ons, encoding and execu5on 2 Assembly The CPU uses machine language to perform

More information

CS 151 Midterm. Instructions: Student ID. (Last Name) (First Name) Signature

CS 151 Midterm. Instructions: Student ID. (Last Name) (First Name) Signature CS 151 Midterm Name Student ID Signature :, (Last Name) (First Name) : : Instructions: 1. Please verify that your paper contains 11 pages including this cover. 2. Write down your Student-Id on the top

More information

Array transposition in CUDA shared memory

Array transposition in CUDA shared memory Array transposton n CUDA shared memory Mke Gles February 19, 2014 Abstract Ths short note s nspred by some code wrtten by Jeremy Appleyard for the transposton of data through shared memory. I had some

More information

Introduction to Programming. Lecture 13: Container data structures. Container data structures. Topics for this lecture. A basic issue with containers

Introduction to Programming. Lecture 13: Container data structures. Container data structures. Topics for this lecture. A basic issue with containers 1 2 Introducton to Programmng Bertrand Meyer Lecture 13: Contaner data structures Last revsed 1 December 2003 Topcs for ths lecture 3 Contaner data structures 4 Contaners and genercty Contan other objects

More information

Private Information Retrieval (PIR)

Private Information Retrieval (PIR) 2 Levente Buttyán Problem formulaton Alce wants to obtan nformaton from a database, but she does not want the database to learn whch nformaton she wanted e.g., Alce s an nvestor queryng a stock-market

More information

Chapter 1. Introduction

Chapter 1. Introduction Chapter 1 Introducton 1.1 Parallel Processng There s a contnual demand for greater computatonal speed from a computer system than s currently possble (.e. sequental systems). Areas need great computatonal

More information

Parallel Processing for Large-scale Fault Tree in Wireless Sensor Networks

Parallel Processing for Large-scale Fault Tree in Wireless Sensor Networks 1160 JOURNAL OF NETWORKS, VOL. 8, NO. 5, MAY 2013 Parallel Processng for Large-scale Fault Tree n Wreless Sensor Networks Xnyan Wang, Ruxn Zhang School of Mechancal Electronc & Informaton Engneerng, Chna

More information

Efficient Distributed File System (EDFS)

Efficient Distributed File System (EDFS) Effcent Dstrbuted Fle System (EDFS) (Sem-Centralzed) Debessay(Debsh) Fesehaye, Rahul Malk & Klara Naherstedt Unversty of Illnos-Urbana Champagn Contents Problem Statement, Related Work, EDFS Desgn Rate

More information

Processor: Multi- Cycle Datapath & Control

Processor: Multi- Cycle Datapath & Control Processor: Multi- Cycle Datapath & Control (Based on text: David A. Patterson & John L. Hennessy, Computer Organization and Design: The Hardware/Software Interface, 3 rd Ed., Morgan Kaufmann, 27) COURSE

More information

Lecture #17: CPU Design II Control

Lecture #17: CPU Design II Control Lecture #7: CPU Design II Control 25-7-9 Anatomy: 5 components of any Computer Personal Computer Computer Processor Control ( brain ) This week ( ) path ( brawn ) (where programs, data live when running)

More information

Scheduling with Integer Time Budgeting for Low-Power Optimization

Scheduling with Integer Time Budgeting for Low-Power Optimization Schedlng wth Integer Tme Bdgetng for Low-Power Optmzaton We Jang, Zhr Zhang, Modrag Potkonjak and Jason Cong Compter Scence Department Unversty of Calforna, Los Angeles Spported by NSF, SRC. Otlne Introdcton

More information

Intro. Iterators. 1. Access

Intro. Iterators. 1. Access Intro Ths mornng I d lke to talk a lttle bt about s and s. We wll start out wth smlartes and dfferences, then we wll see how to draw them n envronment dagrams, and we wll fnsh wth some examples. Happy

More information

CTL Property Checking Based on a New High Level Model Without Equation Solving

CTL Property Checking Based on a New High Level Model Without Equation Solving CTL Property Checkng Based on a New Hgh Level Model Wthout Equaton Solvng BIJAN ALIZADEH ZAINALABEDIN NAVABI Electrcal and Computer Engneerng Unversty o Tehran Buldng #2, North Kargar Ave, Faculty o Engneerng

More information

c. Typically results in an intractably large set of test cases even for small programs

c. Typically results in an intractably large set of test cases even for small programs Multiple-Choice Questions: 1. True or false? Generally, in practice, developers exhaustively test software. a. True b. False 2. True or false? All real software contains bugs. a. True b. False 3. Which

More information

Verification by testing

Verification by testing Real-Tme Systems Specfcaton Implementaton System models Executon-tme analyss Verfcaton Verfcaton by testng Dad? How do they know how much weght a brdge can handle? They drve bgger and bgger trucks over

More information

Improved Mutual Information Based on Relative Frequency. Factor and Degree of Difference among Classes

Improved Mutual Information Based on Relative Frequency. Factor and Degree of Difference among Classes 2nd Informaon Technology and Mechatroncs Engneerng Conference (ITOEC 2016 Improved Mutual Informaon Based on Relave Frequency Factor and Degree of Dfference among Classes Janwen Gao a*, X Yangb,Wen Wenc

More information

Instructor: Randy H. Katz hap://inst.eecs.berkeley.edu/~cs61c/fa13. Fall Lecture #7. Warehouse Scale Computer

Instructor: Randy H. Katz hap://inst.eecs.berkeley.edu/~cs61c/fa13. Fall Lecture #7. Warehouse Scale Computer CS 61C: Great Ideas in Computer Architecture Everything is a Number Instructor: Randy H. Katz hap://inst.eecs.berkeley.edu/~cs61c/fa13 9/19/13 Fall 2013 - - Lecture #7 1 New- School Machine Structures

More information

Wireless Temperature Monitoring Overview

Wireless Temperature Monitoring Overview Wreless Temperature Montorng Overvew Wreless Temperature Montorng and Alerts. Your Dashboard gves you advanced montorng, alerts (SMS or Emals), graphng and PDF reports from anywhere n the world. Product

More information

124 Chapter 8. Case Study: A Memory Component ndcatng some error condton. An exceptonal return of a value e s called rasng excepton e. A return s ssue

124 Chapter 8. Case Study: A Memory Component ndcatng some error condton. An exceptonal return of a value e s called rasng excepton e. A return s ssue Chapter 8 Case Study: A Memory Component In chapter 6 we gave the outlne of a case study on the renement of a safe regster. In ths chapter wepresent the outne of another case study on persstent communcaton;

More information

Two-Stage Data Distribution for Distributed Surveillance Video Processing with Hybrid Storage Architecture

Two-Stage Data Distribution for Distributed Surveillance Video Processing with Hybrid Storage Architecture Two-Stage Data Dstrbuton for Dstrbuted Survellance Vdeo Processng wth Hybrd Storage Archtecture Yangyang Gao, Hatao Zhang, Bngchang Tang, Yanpe Zhu, Huadong Ma Bejng Key Lab of Intellgent Telecomm. Software

More information

CS 465 Final Review. Fall 2017 Prof. Daniel Menasce

CS 465 Final Review. Fall 2017 Prof. Daniel Menasce CS 465 Final Review Fall 2017 Prof. Daniel Menasce Ques@ons What are the types of hazards in a datapath and how each of them can be mi@gated? State and explain some of the methods used to deal with branch

More information