CS 152 Computer Architecture and Engineering. Lecture 15 - Advanced Superscalars

Size: px
Start display at page:

Download "CS 152 Computer Architecture and Engineering. Lecture 15 - Advanced Superscalars"

Transcription

1 CS 152 Comuter Architecture and Engineering Lecture 15 - Advanced Suerscalars Krste Asanovic Electrical Engineering and Comuter Sciences University of California at Berkeley htt:// htt://inst.eecs.berkeley.edu/~cs152 Last time in Lecture 14 Control hazards are serious imediment to suerscalar erformance Dynamic branch redictors can be quite accurate (>95%) and avoid most control hazards Branch History s (BHTs) just redict direction (later in ieline) Just need a few bits er entry (2 bits gives hysteresis) Need to decode instruction bits to determine whether this is a branch and what the target address is Branch Target Buffer (BTB) redicts whether a branch, and target address Needs PC tag, redicted Next-PC, and direction Just needs PC of instruction to redict target of branch (if any) Return address stack: secial form of BTB used to redict subroutine return addresses 4/1/2008 CS152-Sring!08 2

2 in Design (HP PA8000, Pentium Pro, Core2Duo) Reorder buffer Register File holds only committed state Ins# use exec o 1 src1 2 src2 d dest data t 1 t 2.. t n Load Unit FU FU FU Store Unit Commit < t, result > On disatch into, ready sources can be in regfile or in dest (coied into src1/src2 if ready before disatch) On comletion, write to dest field and broadcast to src fields. On issue, read from src fields 4/1/2008 CS152-Sring!08 3 Unified Physical Register File (MIPS 0K, Alha 21264, Pentium 4) r 1 r 2 t i t j Snashots for misredict recovery t 1 t 2. t n Reg File Load Unit FU FU FU Store Unit ( not shown) < t, result > One regfile for both committed and seculative values (no data in ) During decode, instruction result allocated new hysical register, source regs translated to hysical regs through rename table Instruction reads data from regfile at start of execute (not in decode) Write-back udates reg. busy bits on instructions in (assoc. search) Snashots of rename table taken at every branch to recover misredicts On excetion, renaming undone in reverse order of issue (MIPS 0000) 4/1/2008 CS152-Sring!08 4

3 Pieline Design with Physical Regfile Branch Prediction Branch Resolution Out-of-Order Udate redictors In-Order PC Fetch Decode & Reorder Buffer Commit In-Order Physical Reg. File Branch Unit Execute ALU MEM Store Buffer 4/1/2008 CS152-Sring!08 5 D$ Lifetime of Physical Registers Physical regfile holds committed and seculative values Physical registers decouled from entries (no data in ) ld r1, (r3) sub r6, r7, r9 ld r6, (r1) add r6, r6, r3 st r6, (r1) ld r6, (r11) ld, (Px) add,, #4 sub, Py, Pz add,, ld, () add,, st, () ld, (Pw) When can we reuse a hysical register? When next write of same architectural register commits 4/1/2008 CS152-Sring!08 6

4 Physical Register Management <> <> <> <> use ex o 1 P 2 P Rd LPRd PRd (LPRd requires third read ort on for each instruction) 4/1/2008 CS152-Sring!08 7 Physical Register Management <> <> <> <> use ex o 1 P 2 P Rd LPRd PRd x ld r1 4/1/2008 CS152-Sring!08 8

5 Physical Register Management <> <> <> <> use ex x o ld 1 P 2 P Rd r1 LPRd PRd x add r3 4/1/2008 CS152-Sring!08 9 Physical Register Management <> <> <> <> use ex x o ld 1 P 2 P Rd r1 LPRd PRd x add r3 x sub r6 4/1/2008 CS152-Sring!08 10

6 Physical Register Management <> <> <> <> use ex o 1 P 2 P Rd LPRd PRd x ld r1 x add r3 x sub r6 x add r3 4/1/2008 CS152-Sring!08 11 Physical Register Management <> <> <> <> use ex x o ld 1 P 2 P Rd r1 LPRd PRd x add r3 x sub r6 x add r3 x ld r6 4/1/2008 CS152-Sring!08 12

7 Physical Register Management <> <> <> <> <> use ex o 1 P 2 P Rd LPRd PRd x x ld r1 x add r3 x sub r6 x add r3 x ld r6 Execute & Commit 4/1/2008 CS152-Sring!08 13 Physical Register Management <> <> <> <> <> use ex o 1 P 2 P Rd LPRd PRd x x ld r1 x x add r3 x sub r6 x add r3 x ld r6 Execute & Commit 4/1/2008 CS152-Sring!08 14

8 CS152 Administrivia New shifted schedule - see website for details Lab 4, PS 4, due Tuesday Aril 8 PRIZE (TBD) for winners in both unlimited and realistic categories of branch redictor contest Quiz 4, Thursday Aril 10 Quiz 5, Thursday Aril 24 Quiz 6, Thursday May 8 (last day of class) 4/1/2008 CS152-Sring! /1/2008 CS152-Sring!08 16

9 4/1/2008 CS152-Sring!08 17 Reorder Buffer Holds Active Instruction Window (Older instructions) ld r1, (r3) add r3, r1, r2 sub r6, r7, r9 ld r6, (r1) add r6, r6, r3 st r6, (r1) ld r6, (r1) (Newer instructions) Commit Execute Fetch ld r1, (r3) add r3, r1, r2 sub r6, r7, r9 ld r6, (r1) add r6, r6, r3 st r6, (r1) ld r6, (r1) Cycle t Cycle t + 1 4/1/2008 CS152-Sring!08 18

10 Suerscalar Register Renaming During decode, instructions allocated new hysical destination register Source oerands renamed to hysical register with newest value Execution unit only sees hysical register numbers Inst 1 O Dest Src1 Src2 O Dest Src1 Src2 Inst 2 Udate Maing Write Ports Read Addresses Read Register O PDest PSrc1 PSrc2 O PDest PSrc1 PSrc2 Does this work? 4/1/2008 CS152-Sring!08 19 Suerscalar Register Renaming Inst 1 O Dest Src1 Src2 O Dest Src1 Src2 Inst 2 Udate Maing Must check for RAW hazards between instructions issuing in same cycle. Can be done in arallel with rename looku. O Write Ports Read Addresses Read PDest PSrc1 PSrc2 O =? =? PDest PSrc1 PSrc2 Register MIPS 0K renames 4 serially-raw-deendent insts/cycle 4/1/2008 CS152-Sring!08 20

11 Memory Deendencies st r1, (r2) ld r3, (r4) When can we execute the load? 4/1/2008 CS152-Sring!08 21 In-Order Memory Queue Execute all loads and stores in rogram order => Load and store cannot leave for execution until all revious loads and stores have comleted execution Can still execute loads and stores seculatively, and out-of-order with resect to other instructions 4/1/2008 CS152-Sring!08 22

12 Conservative O-o-O Load Execution st r1, (r2) ld r3, (r4) Slit execution of store instruction into two hases: address calculation and data write Can execute load before store, if addresses known and r4!= r2 Each load address comared with addresses of all revious uncommitted stores (can use artial conservative check i.e., bottom 12 bits of address) Don t execute load if any revious store address not known (MIPS 0K, 16 entry address queue) 4/1/2008 CS152-Sring!08 23 Address Seculation Guess that r4!= r2 st r1, (r2) ld r3, (r4) Execute load before store address known Need to hold all comleted but uncommitted load/store addresses in rogram order If subsequently find r4==r2, squash load and all following instructions => Large enalty for inaccurate address seculation 4/1/2008 CS152-Sring!08 24

13 Memory Deendence Prediction (Alha 21264) st r1, (r2) ld r3, (r4) Guess that r4!= r2 and execute load before store If later find r4==r2, squash load and all following instructions, but mark load instruction as store-wait Subsequent executions of the same load instruction will wait for all revious stores to comlete Periodically clear store-wait bits 4/1/2008 CS152-Sring!08 25 Seculative Loads / Stores Just like register udates, stores should not modify the memory until after the instruction is committed - A seculative store buffer is a structure introduced to hold seculative store data. 4/1/2008 CS152-Sring!08 26

14 Seculative Store Buffer Seculative Store Buffer Load Address s Store Commit Path L1 Cache Load On store execute: mark entry valid and seculative, and save data and tag of instruction. On store commit: clear seculative bit and eventually move data to cache On store abort: clear valid bit 4/1/2008 CS152-Sring!08 27 Seculative Store Buffer Seculative Store Buffer Load Address s Store Commit Path L1 Cache Load If data in both store buffer and cache, which should we use? Seculative store buffer If same address in store buffer twice, which should we use? Youngest store older than load 4/1/2008 CS152-Sring!08 28

15 ath: Branch Prediction and Seculative Execution PC Branch Prediction Fetch Decode & Branch Resolution Reorder Buffer Udate redictors Commit Reg. File Branch Unit Execute ALU MEM Store Buffer 4/1/2008 CS152-Sring!08 29 D$ Acknowledgements These slides contain material develoed and coyright by: Arvind (MIT) Krste Asanovic (MIT/UCB) Joel Emer (Intel/MIT) James Hoe (CMU) John Kubiatowicz (UCB) David Patterson (UCB) MIT material derived from course UCB material derived from course CS252 4/1/2008 CS152-Sring!08 30

CS 152 Computer Architecture and Engineering. Lecture 14 - Advanced Superscalars

CS 152 Computer Architecture and Engineering. Lecture 14 - Advanced Superscalars CS 152 Comuter Architecture and Engineering Lecture 14 - Advanced Suerscalars Krste Asanovic Electrical Engineering and Comuter Sciences University of California at Berkeley htt://www.eecs.berkeley.edu/~krste

More information

Advanced Superscalar Architectures

Advanced Superscalar Architectures Advanced Suerscalar Architectures Krste Asanovic Laboratory for Comuter Science Massachusetts Institute of Technology Physical Register Renaming (single hysical register file: MIPS R10K, Alha 21264, Pentium-4)

More information

ECE 552 / CPS 550 Advanced Computer Architecture I. Lecture 10 Instruction-Level Parallelism Part 3

ECE 552 / CPS 550 Advanced Computer Architecture I. Lecture 10 Instruction-Level Parallelism Part 3 ECE 552 / CPS 550 Advanced Comuter Architecture I Lecture 10 Instruction-Level Parallelism Part 3 Benjamin Lee Electrical and Comuter Engineering Duke University www.duke.edu/~bcl15 www.duke.edu/~bcl15/class/class_ece252fall12.html

More information

Advanced Superscalar Architectures. Speculative and Out-of-Order Execution

Advanced Superscalar Architectures. Speculative and Out-of-Order Execution 6.823, L16--1 Advanced Superscalar Architectures Asanovic Laboratory for Computer Science M.I.T. http://www.csg.lcs.mit.edu/6.823 Speculative and Out-of-Order Execution Branch Prediction kill kill Branch

More information

Computer Architecture and Parallel Computing 并行结构与计算. Lecture 5 SuperScalar and Multithreading. Peng Liu

Computer Architecture and Parallel Computing 并行结构与计算. Lecture 5 SuperScalar and Multithreading. Peng Liu Comuter Architecture and Parallel Comuting 并行结构与计算 Lecture 5 SuerScalar and Multithreading Peng Liu College of Info. Sci. & Elec. Eng. Zhejiang University liueng@zju.edu.cn Last time in Lecture 04 Register

More information

Computer Architecture ELE 475 / COS 475 Slide Deck 6: Superscalar 3. David Wentzlaff Department of Electrical Engineering Princeton University

Computer Architecture ELE 475 / COS 475 Slide Deck 6: Superscalar 3. David Wentzlaff Department of Electrical Engineering Princeton University Computer Architecture ELE 475 / COS 475 Slide Deck 6: Superscalar 3 David Wentzlaff Department of Electrical Engineering Princeton University 1 Agenda SpeculaJon and Branches Register Renaming Memory DisambiguaJon

More information

Chapter 2 ( ) -Revisit ReOrder Buffer -Exception handling and. (parallelism in HW)

Chapter 2 ( ) -Revisit ReOrder Buffer -Exception handling and. (parallelism in HW) Comuter Architecture A Quantitative Aroach, Fifth Edition Chater 2 (2.6-2.11) -Revisit ReOrder Buffer -Excetion handling and (seculation in hardware) -VLIW and EPIC (seculation in SW, arallelism in SW)

More information

Lecture 14: Instruction Level Parallelism

Lecture 14: Instruction Level Parallelism Lecture 14: Instruction Level Parallelism Last time Pipelining in the real world Today Control hazards Other pipelines Take QUIZ 10 over P&H 4.10-15, before 11:59pm today Homework 5 due Thursday March

More information

Out-of-order Pipeline. Register Read. OOO execution (2-wide) OOO execution (2-wide) OOO execution (2-wide) OOO execution (2-wide)

Out-of-order Pipeline. Register Read. OOO execution (2-wide) OOO execution (2-wide) OOO execution (2-wide) OOO execution (2-wide) Out-of-order Pipeline Register Read When do instructions read the register file? Fetch Decode Rename Dispatch Buffer of instructions Issue Reg-read Execute Writeback Commit Option #: after select, right

More information

CIS 371 Computer Organization and Design

CIS 371 Computer Organization and Design CIS 371 Computer Organization and Design Unit 10: Static & Dynamic Scheduling Slides developed by M. Martin, A.Roth, C.J. Taylor and Benedict Brown at the University of Pennsylvania with sources that included

More information

CIS 371 Computer Organization and Design

CIS 371 Computer Organization and Design CIS 371 Computer Organization and Design Unit 10: Static & Dynamic Scheduling Slides developed by Milo Martin & Amir Roth at the University of Pennsylvania with sources that included University of Wisconsin

More information

Unit 9: Static & Dynamic Scheduling

Unit 9: Static & Dynamic Scheduling CIS 501: Computer Architecture Unit 9: Static & Dynamic Scheduling Slides originally developed by Drew Hilton, Amir Roth and Milo Mar;n at University of Pennsylvania CIS 501: Comp. Arch. Prof. Milo Martin

More information

COSC 6385 Computer Architecture. - Tomasulos Algorithm

COSC 6385 Computer Architecture. - Tomasulos Algorithm COSC 6385 Computer Architecture - Tomasulos Algorithm Fall 2008 Analyzing a short code-sequence DIV.D F0, F2, F4 ADD.D F6, F0, F8 S.D F6, 0(R1) SUB.D F8, F10, F14 MUL.D F6, F10, F8 1 Analyzing a short

More information

Lecture 20: Parallelism ILP to Multicores. James C. Hoe Department of ECE Carnegie Mellon University

Lecture 20: Parallelism ILP to Multicores. James C. Hoe Department of ECE Carnegie Mellon University 18 447 Lecture 20: Parallelism ILP to Multicores James C. Hoe Department of ECE Carnegie Mellon University 18 447 S18 L20 S1, James C. Hoe, CMU/ECE/CALCM, 2018 18 447 S18 L20 S2, James C. Hoe, CMU/ECE/CALCM,

More information

Computer Architecture 计算机体系结构. Lecture 3. Instruction-Level Parallelism I 第三讲 指令级并行 I. Chao Li, PhD. 李超博士

Computer Architecture 计算机体系结构. Lecture 3. Instruction-Level Parallelism I 第三讲 指令级并行 I. Chao Li, PhD. 李超博士 Computer Architecture 计算机体系结构 Lecture 3. Instruction-Level Parallelism I 第三讲 指令级并行 I Chao Li, PhD. 李超博士 SJTU-SE346, Spring 2018 Review ISA, micro-architecture, physical design Evolution of ISA CISC vs

More information

Computer Architecture: Out-of-Order Execution. Prof. Onur Mutlu (editted by Seth) Carnegie Mellon University

Computer Architecture: Out-of-Order Execution. Prof. Onur Mutlu (editted by Seth) Carnegie Mellon University Computer Architecture: Out-of-Order Execution Prof. Onur Mutlu (editted by Seth) Carnegie Mellon University Reading for Today Smith and Sohi, The Microarchitecture of Superscalar Processors, Proceedings

More information

Parallelism I: Inside the Core

Parallelism I: Inside the Core Parallelism I: Inside the Core 1 The final Comprehensive Same general format as the Midterm. Review the homeworks, the slides, and the quizzes. 2 Key Points What is wide issue mean? How does does it affect

More information

PIPELINING: BRANCH AND MULTICYCLE INSTRUCTIONS

PIPELINING: BRANCH AND MULTICYCLE INSTRUCTIONS PIPELINING: BRANCH AND MULTICYCLE INSTRUCTIONS Mahdi Nazm Bojnordi Assistant Professor School of Computing University of Utah CS/ECE 6810: Computer Architecture Overview Announcement Homework 1 submission

More information

Anne Bracy CS 3410 Computer Science Cornell University. [K. Bala, A. Bracy, S. McKee, E. Sirer, H. Weatherspoon]

Anne Bracy CS 3410 Computer Science Cornell University. [K. Bala, A. Bracy, S. McKee, E. Sirer, H. Weatherspoon] Anne Bracy CS 3410 Computer Science Cornell University [K. Bala, A. Bracy, S. McKee, E. Sirer, H. Weatherspoon] Prog. Mem PC +4 inst Reg. File 5 5 5 control ALU Data Mem Fetch Decode Execute Memory WB

More information

CS152: Computer Architecture and Engineering Introduction to Pipelining. October 22, 1997 Dave Patterson (http.cs.berkeley.

CS152: Computer Architecture and Engineering Introduction to Pipelining. October 22, 1997 Dave Patterson (http.cs.berkeley. CS152: Computer Architecture and Engineering Introduction to Pipelining October 22, 1997 Dave Patterson (http.cs.berkeley.edu/~patterson) lecture slides: http://www-inst.eecs.berkeley.edu/~cs152/ cs 152

More information

Tomasulo-Style Register Renaming

Tomasulo-Style Register Renaming Tomasulo-Style Register Renaming ldf f0,x(r1) allocate RS#4 map f0 to RS#4 mulf f4,f0, allocate RS#6 ready, copy value f0 not ready, copy tag Map Table f0 f4 RS#4 RS T V1 V2 T1 T2 4 REG[r1] 6 REG[] RS#4

More information

CS 6354: Tomasulo. 21 September 2016

CS 6354: Tomasulo. 21 September 2016 1 CS 6354: Tomasulo 21 September 2016 To read more 1 This day s paper: Tomasulo, An Efficient Algorithm for Exploiting Multiple Arithmetic Units Supplementary readings: Hennessy and Patterson, Computer

More information

To read more. CS 6354: Tomasulo. Intel Skylake. Scheduling. How can we reorder instructions? Without changing the answer.

To read more. CS 6354: Tomasulo. Intel Skylake. Scheduling. How can we reorder instructions? Without changing the answer. To read more CS 6354: Tomasulo 21 September 2016 This day s paper: Tomasulo, An Efficient Algorithm for Exploiting Multiple Arithmetic Units Supplementary readings: Hennessy and Patterson, Computer Architecture:

More information

Pipelining 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 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 information

Code Scheduling & Limitations

Code Scheduling & Limitations This Unit: Static & Dynamic Scheduling CIS 371 Computer Organization and Design Unit 11: Static and Dynamic Scheduling App App App System software Mem CPU I/O Code scheduling To reduce pipeline stalls

More information

Hakim Weatherspoon CS 3410 Computer Science Cornell University

Hakim Weatherspoon CS 3410 Computer Science Cornell University Hakim Weatherspoon CS 3410 Computer Science Cornell University The slides are the product of many rounds of teaching CS 3410 by Professors Weatherspoon, Bala, Bracy, McKee, and Sirer. memory inst register

More information

CIS 662: Sample midterm w solutions

CIS 662: Sample midterm w solutions CIS 662: Sample midterm w solutions 1. (40 points) A processor has the following stages in its pipeline: IF ID ALU1 MEM1 MEM2 ALU2 WB. ALU1 stage is used for effective address calculation for loads, stores

More information

CMU Introduction to Computer Architecture, Spring 2013 HW 3 Solutions: Microprogramming Wrap-up and Pipelining

CMU Introduction to Computer Architecture, Spring 2013 HW 3 Solutions: Microprogramming Wrap-up and Pipelining CMU 18-447 Introduction to Computer Architecture, Spring 2013 HW 3 Solutions: Microprogramming Wrap-up and Pipelining Instructor: Prof. Onur Mutlu TAs: Justin Meza, Yoongu Kim, Jason Lin 1 Adding the REP

More information

ENGN1640: Design of Computing Systems Topic 05: Pipeline Processor Design

ENGN1640: Design of Computing Systems Topic 05: Pipeline Processor Design ENGN64: Design of Computing Systems Topic 5: Pipeline Processor Design Professor Sherief Reda http://scale.engin.brown.edu Electrical Sciences and Computer Engineering School of Engineering Brown University

More information

6.823 Computer System Architecture Prerequisite Self-Assessment Test Assigned Feb. 6, 2019 Due Feb 11, 2019

6.823 Computer System Architecture Prerequisite Self-Assessment Test Assigned Feb. 6, 2019 Due Feb 11, 2019 6.823 Computer System Architecture Prerequisite Self-Assessment Test Assigned Feb. 6, 2019 Due Feb 11, 2019 http://csg.csail.mit.edu/6.823/ This self-assessment test is intended to help you determine your

More information

Announcements. Programming assignment #2 due Monday 9/24. Talk: Architectural Acceleration of Real Time Physics Glenn Reinman, UCLA CS

Announcements. Programming assignment #2 due Monday 9/24. Talk: Architectural Acceleration of Real Time Physics Glenn Reinman, UCLA CS Lipasti, artin, Roth, Shen, Smith, Sohi, Tyson, Vijaykumar GAS STATION Pipelining II Fall 2007 Prof. Thomas Wenisch http://www.eecs.umich.edu/courses/eecs470 Slides developed in part by Profs. Austin,

More information

Improving Performance: Pipelining!

Improving Performance: Pipelining! Iproving Perforance: Pipelining! Meory General registers Meory ID EXE MEM WB Instruction Fetch (includes PC increent) ID Instruction Decode + fetching values fro general purpose registers EXE EXEcute arithetic/logic

More information

Pipelined MIPS Datapath with Control Signals

Pipelined MIPS Datapath with Control Signals uction ess uction Rs [:26] (Opcode[5:]) [5:] ranch luor. Decoder Pipelined MIPS path with Signals luor Raddr at Five instruction sequence to be processed by pipeline: op [:26] rs [25:2] rt [2:6] rd [5:]

More information

Pipeline Hazards. See P&H Chapter 4.7. Hakim Weatherspoon CS 3410, Spring 2013 Computer Science Cornell University

Pipeline Hazards. See P&H Chapter 4.7. Hakim Weatherspoon CS 3410, Spring 2013 Computer Science Cornell University Pipeline Hazards See P&H Chapter 4.7 Hakim Weatherspoon CS 341, Spring 213 Computer Science Cornell niversity Goals for Today Data Hazards Revisit Pipelined Processors Data dependencies Problem, detection,

More information

Pipeline Hazards. See P&H Chapter 4.7. Hakim Weatherspoon CS 3410, Spring 2013 Computer Science Cornell University

Pipeline Hazards. See P&H Chapter 4.7. Hakim Weatherspoon CS 3410, Spring 2013 Computer Science Cornell University Pipeline Hazards See P&H Chapter 4.7 Hakim Weatherspoon CS 341, Spring 213 Computer Science Cornell niversity Goals for Today Data Hazards Revisit Pipelined Processors Data dependencies Problem, detection,

More information

Chapter 3: Computer Organization Fundamentals. Oregon State University School of Electrical Engineering and Computer Science.

Chapter 3: Computer Organization Fundamentals. Oregon State University School of Electrical Engineering and Computer Science. Chapter 3: Computer Organization Fundamentals Prof. Ben Lee Oregon State University School of Electrical Engineering and Computer Science Chapter Goals Understand the organization of a computer system

More information

DAT105: Computer Architecture Study Period 2, 2009 Exercise 2 Chapter 2: Instruction-Level Parallelism and Its Exploitation

DAT105: Computer Architecture Study Period 2, 2009 Exercise 2 Chapter 2: Instruction-Level Parallelism and Its Exploitation Study Period 2, 29 Exercise 2 Chapter 2: Instruction-Level Parallelism and Its Exploitation Mafijul Islam Department of Computer Science and Engineering November 12, 29 Study Period 2, 29 Goals: To understand

More information

Decoupling Loads for Nano-Instruction Set Computers

Decoupling Loads for Nano-Instruction Set Computers Decoupling Loads for Nano-Instruction Set Computers Ziqiang (Patrick) Huang, Andrew Hilton, Benjamin Lee Duke University {ziqiang.huang, andrew.hilton, benjamin.c.lee}@duke.edu ISCA-43, June 21, 2016 1

More information

Optimality of Tomasulo s Algorithm Luna, Dong Gang, Zhao

Optimality of Tomasulo s Algorithm Luna, Dong Gang, Zhao Optimality of Tomasulo s Algorithm Luna, Dong Gang, Zhao Feb 28th, 2002 Our Questions about Tomasulo Questions about Tomasulo s Algorithm Is it optimal (can always produce the wisest instruction execution

More information

CS 250! VLSI System Design

CS 250! VLSI System Design CS 250! VLSI System Design Lecture 3 Timing 2014-9-4! Professor Jonathan Bachrach! slides by John Lazzaro TA: Colin Schmidt www-insteecsberkeleyedu/~cs250/ UC Regents Fall 2013/1014 UCB everything doesn

More information

Sinfonia: a new paradigm for building scalable distributed systems

Sinfonia: a new paradigm for building scalable distributed systems CS848 Paper Presentation Sinfonia: a new paradigm for building scalable distributed systems Aguilera, Merchant, Shah, Veitch, Karamanolis SOSP 2007 Presented by Somayyeh Zangooei David R. Cheriton School

More information

GOPALAN COLLEGE OF ENGINEERING AND MANAGEMENT Department of Computer Science and Engineering COURSE PLAN

GOPALAN COLLEGE OF ENGINEERING AND MANAGEMENT Department of Computer Science and Engineering COURSE PLAN Appendix - C GOPALAN COLLEGE OF ENGINEERING AND MANAGEMENT Department of Computer Science and Engineering Academic Year: 2016-17 Semester: EVEN COURSE PLAN Semester: V Subject Code& Name: 10CS63 & Compiler

More information

Direct-Mapped Cache Terminology. Caching Terminology. TIO Dan s great cache mnemonic. UCB CS61C : Machine Structures

Direct-Mapped Cache Terminology. Caching Terminology. TIO Dan s great cache mnemonic. UCB CS61C : Machine Structures Lecturer SOE Dan Garcia inst.eecs.berkeley.edu/~cs61c UCB CS61C : Machine Structures Lecture 31 Caches II 2008-04-12 HP has begun testing research prototypes of a novel non-volatile memory element, the

More information

Lecture 31 Caches II TIO Dan s great cache mnemonic. Issues with Direct-Mapped

Lecture 31 Caches II TIO Dan s great cache mnemonic. Issues with Direct-Mapped CS61C L31 Caches II (1) inst.eecs.berkeley.edu/~cs61c UC Berkeley CS61C : Machine Structures Lecture 31 Caches II 26-11-13 Lecturer SOE Dan Garcia www.cs.berkeley.edu/~ddgarcia GPUs >> CPUs? Many are using

More information

M2 Instruction Set Architecture

M2 Instruction Set Architecture M2 Instruction Set Architecture Module Outline Addressing modes. Instruction classes. MIPS-I ISA. High level languages, Assembly languages and object code. Translating and starting a program. Subroutine

More information

CS 152 Computer Architecture and Engineering

CS 152 Computer Architecture and Engineering CS 152 Computer Architecture and Engineering Lecture 23 Synchronization 2006-11-16 John Lazzaro (www.cs.berkeley.edu/~lazzaro) TAs: Udam Saini and Jue Sun www-inst.eecs.berkeley.edu/~cs152/ 1 Last Time:

More information

Ballard Power Systems

Ballard Power Systems Ballard Power Systems Ballard Power Systems Fuel Cells Current Status and Prospects for the Future David Musil, P. Eng. Project Engineer, Advanced Automotive Development March 30, 2006 Outline 1. Background

More information

UTILIZING WAVE ROTOR TECHNOLOGY TO ENHANCE THE TURBO COMPRESSION IN POWER AND REFRIGERATION CYCLES

UTILIZING WAVE ROTOR TECHNOLOGY TO ENHANCE THE TURBO COMPRESSION IN POWER AND REFRIGERATION CYCLES Proceedings of IMECE 3 3 ASME International Mechanical Engineering Congress & Exosition Washington, D.C., November -, 3 IMECE3- UTILIZING WAVE ROTOR TECHNOLOGY TO ENHANCE THE TURBO COMPRESSION IN POWER

More information

Lecture Secure, Trusted and Trustworthy Computing Trusted Execution Environments Intel SGX

Lecture Secure, Trusted and Trustworthy Computing Trusted Execution Environments Intel SGX 1 Lecture Secure, and Trustworthy Computing Execution Environments Intel Prof. Dr.-Ing. Ahmad-Reza Sadeghi System Security Lab Technische Universität Darmstadt (CASED) Germany Winter Term 2015/2016 Intel

More information

CS250 VLSI Systems Design

CS250 VLSI Systems Design CS250 VLSI Systems Design Lecture 4: Physical Realities: Beneath the Digital Abstraction, Part 1: Timing Spring 2016 John Wawrzynek with Chris Yarp (GSI) Lecture 04, Timing CS250, UC Berkeley Sp16 What

More information

mith College Computer Science CSC231 Assembly Fall 2017 Week #4 Dominique Thiébaut

mith College Computer Science CSC231 Assembly Fall 2017 Week #4 Dominique Thiébaut mith College Computer Science CSC231 Assembly Fall 2017 Week #4 Dominique Thiébaut dthiebaut@smith.edu How are Integers Stored in Memory? 120 11F 11E 11D 11C 11B 11A 119 118 117 116 115 114 113 112 111

More information

Chapter 10 And, Finally... The Stack

Chapter 10 And, Finally... The Stack Chapter 10 And, Finally... The Stack Stacks: An Abstract Data Type A LIFO (last-in first-out) storage structure. The first thing you put in is the last thing you take out. The last thing you put in is

More information

Fixing the Hyperdrive: Maximizing Rendering Performance on NVIDIA GPUs

Fixing the Hyperdrive: Maximizing Rendering Performance on NVIDIA GPUs Fixing the Hyperdrive: Maximizing Rendering Performance on NVIDIA GPUs Louis Bavoil, Principal Engineer Booth #223 - South Hall www.nvidia.com/gdc Full-Screen Pixel Shader SM TEX L2 DRAM CROP SM = Streaming

More information

Ballard Power Systems

Ballard Power Systems Ballard Power Systems Ballard Power Systems CUTE A Fuel Cell Bus Project for Europe Lessons learned from a fuel cell perspective May 10 and 11, 2006 Outline 1. Background on Ballard Power Systems a. Brief

More information

128Mb Synchronous DRAM. Features High Performance: Description. REV 1.0 May, 2001 NT5SV32M4CT NT5SV16M8CT NT5SV8M16CT

128Mb Synchronous DRAM. Features High Performance: Description. REV 1.0 May, 2001 NT5SV32M4CT NT5SV16M8CT NT5SV8M16CT Features High Performance: f Clock Frequency -7K 3 CL=2-75B, CL=3-8B, CL=2 Single Pulsed RAS Interface Fully Synchronous to Positive Clock Edge Four Banks controlled by BS0/BS1 (Bank Select) Units 133

More information

Draft Unofficial description of the UNRC charger menus

Draft Unofficial description of the UNRC charger menus Table of contents 1. The main screen... 2 2. Charge modes overview... 2 3. Selecting modes... 3 4. Editing settings... 3 5. Choose default charge mode... 4 6. Edit memory banks... 4 7. Charge mode description...

More information

CSCI 510: Computer Architecture Written Assignment 2 Solutions

CSCI 510: Computer Architecture Written Assignment 2 Solutions CSCI 510: Computer Architecture Written Assignment 2 Solutions The following code does compution over two vectors. Consider different execution scenarios and provide the average number of cycles per iterion

More information

Drowsy Caches Simple Techniques for Reducing Leakage Power Krisztián Flautner Nam Sung Kim Steve Martin David Blaauw Trevor Mudge

Drowsy Caches Simple Techniques for Reducing Leakage Power Krisztián Flautner Nam Sung Kim Steve Martin David Blaauw Trevor Mudge Drowsy Caches Simple Techniques for Reducing Leakage Power Krisztián Flautner Nam Sung Kim Steve Martin David Blaauw Trevor Mudge krisztian.flautner@arm.com kimns@eecs.umich.edu stevenmm@eecs.umich.edu

More information

Programming Languages (CS 550)

Programming Languages (CS 550) Programming Languages (CS 550) Mini Language Compiler Jeremy R. Johnson 1 Introduction Objective: To illustrate how to map Mini Language instructions to RAL instructions. To do this in a systematic way

More information

Near-Optimal Precharging in High-Performance Nanoscale CMOS Caches

Near-Optimal Precharging in High-Performance Nanoscale CMOS Caches Near-Optimal Precharging in High-Performance Nanoscale CMOS Caches Se-Hyun Yang and Babak Falsafi Computer Architecture Laboratory (CALCM) Carnegie Mellon University {sehyun, babak}@cmu.edu http://www.ece.cmu.edu/~powertap

More information

Warped-Compression: Enabling Power Efficient GPUs through Register Compression

Warped-Compression: Enabling Power Efficient GPUs through Register Compression WarpedCompression: Enabling Power Efficient GPUs through Register Compression Sangpil Lee, Keunsoo Kim, Won Woo Ro (Yonsei University*) Gunjae Koo, Hyeran Jeon, Murali Annavaram (USC) (*Work done while

More information

Development: Server Vehicle Rendezvous

Development: Server Vehicle Rendezvous United States Out-of-Water Test Methods to Accelerate Implementation of Autonomous Rendezvous in the NPS ARIES AUV CAPT J.W. Nicholson, Ph.D. United States Development: Server Vehicle Rendezvous 350 300

More information

Energy Efficient Content-Addressable Memory

Energy Efficient Content-Addressable Memory Energy Efficient Content-Addressable Memory Advanced Seminar Computer Engineering Institute of Computer Engineering Heidelberg University Fabian Finkeldey 26.01.2016 Fabian Finkeldey, Energy Efficient

More information

CMPEN 411 VLSI Digital Circuits Spring Lecture 22: Memery, ROM

CMPEN 411 VLSI Digital Circuits Spring Lecture 22: Memery, ROM CMPEN 411 VLSI Digital Circuits Spring 2012 Lecture 22: Memery, ROM [Adapted from Rabaey s Digital Integrated Circuits, Second Edition, 2003 J. Rabaey, A. Chandrakasan, B. Nikolic] Sp12 CMPEN 411 L22 S.1

More information

THERMODYNAMICS AND ENGINE CYCLES

THERMODYNAMICS AND ENGINE CYCLES CHAPTER 4 THERMODYNAMICS AND ENGINE CYCLES 4.1 Introduction In this chater, a brief engine history is resented to trace some of the thermodynamic ideas that are used in modern engines. The ideal gas law

More information

2.007 Design and Manufacturing I

2.007 Design and Manufacturing I MIT OpenCourseWare http://ocw.mit.edu 2.007 Design and Manufacturing I Spring 2009 For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms. Page 1 of 4 2.007 Design

More information

CMPEN 411 VLSI Digital Circuits Spring Lecture 24: Peripheral Memory Circuits

CMPEN 411 VLSI Digital Circuits Spring Lecture 24: Peripheral Memory Circuits CMPEN 411 VLSI Digital Circuits Spring 2012 Lecture 24: Peripheral Memory Circuits [Adapted from Rabaey s Digital Integrated Circuits, Second Edition, 2003 J. Rabaey, A. Chandrakasan, B. Nikolic] Sp12

More information

INSTITUTO SUPERIOR TÉCNICO. Architectures for Embedded Computing

INSTITUTO SUPERIOR TÉCNICO. Architectures for Embedded Computing UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO SUPERIOR TÉCNICO Departamento de Engenharia Informática Architectures for Embedded Computing MEIC-A, MEIC-T, MERC Lecture Slides Version 3.0 - English Lecture 02

More information

Benefits and Challenges of Using SmartNICs in Distributed Shared Storage

Benefits and Challenges of Using SmartNICs in Distributed Shared Storage Benefits and Challenges of Using SmartNICs in Distributed Shared Storage Kirill Shoikhet Chief Architect, Excelero Flash Memory Summit 2018 Santa Clara, CA 1 Who is Kirill Shoikhet? Chief Architect at

More information

Artificial Neural Network Based Modeling of Injection Pressure in Diesel Engines

Artificial Neural Network Based Modeling of Injection Pressure in Diesel Engines Artificial Neural Network Based Modeling of Injection Pressure in Diesel Engines MALI AKCAYOL, CAN CINAR, HIBRAHIM BULBUL, ALI KILICARSALAN 4 Deartment of Comuter Engineering, Gazi University, Maltee,

More information

Frequently Asked Questions: EMC Captiva 7.5

Frequently Asked Questions: EMC Captiva 7.5 Frequently Asked Questions: EMC Captiva 7.5 Table of Contents What s New? Captiva Web Client Capture REST Services Migration/Upgrades Deprecated Modules Other Changes More Information What s New? Question:

More information

Adventures in Clojure Navigating the STM sea and exploring Worlds. Tom Van Cutsem

Adventures in Clojure Navigating the STM sea and exploring Worlds. Tom Van Cutsem Adventures in Clojure Navigating the STM sea and exploring Worlds Tom Van Cutsem Part 1: Clojure in a Clojure in a nutshell A modern Lisp dialect (2007), designed by Rich Hickey JVM as runtime platform

More information

EECS 583 Class 9 Classic Optimization

EECS 583 Class 9 Classic Optimization EECS 583 Class 9 Classic Optimization University of Michigan September 28, 2016 Generalizing Dataflow Analysis Transfer function» How information is changed by something (BB)» OUT = GEN + (IN KILL) /*

More information

ON THE SAFETY OF HYDRATE REMEDIATION BY ONE-SIDED DEPRESSURIZATION

ON THE SAFETY OF HYDRATE REMEDIATION BY ONE-SIDED DEPRESSURIZATION Proceedings of the 7th International Conference on Gas Hydrates (ICGH 2011), Edinburgh, Scotland, United Kingdom, July 17-21, 2011. ON THE SAFETY OF HYDRATE REMEDIATION BY ONE-SIDED DEPRESSURIZATION Ricardo

More information

Special conveyor chains

Special conveyor chains 56 Secial conveyor chains iwis offers an extensive rogram of secial chains for various industrial alications and requirements. While the late chain is being used wherever smooth and reliable conveying

More information

PHY152H1S Practical 3: Introduction to Circuits

PHY152H1S Practical 3: Introduction to Circuits PHY152H1S Practical 3: Introduction to Circuits Don t forget: List the NAMES of all participants on the first page of each day s write-up. Note if any participants arrived late or left early. Put the DATE

More information

Enhancing Energy Efficiency of Database Applications Using SSDs

Enhancing Energy Efficiency of Database Applications Using SSDs Seminar Energy-Efficient Databases 29.06.2011 Enhancing Energy Efficiency of Database Applications Using SSDs Felix Martin Schuhknecht Motivation vs. Energy-Efficiency Seminar 29.06.2011 Felix Martin Schuhknecht

More information

Software Requirements Specification

Software Requirements Specification Software Requirements Specification for EV Charging Statistics Version 2.0 Under Guidance of Prof. Zoltan Kurczveil Prepared by Aasawari Bagewadikar Abhishek Birjepatil Anthony Harrell Praneeth Kollareddy

More information

In-Place Associative Computing:

In-Place Associative Computing: In-Place Associative Computing: A New Concept in Processor Design 1 Page Abstract 3 What s Wrong with Existing Processors? 3 Introducing the Associative Processing Unit 5 The APU Edge 5 Overview of APU

More information

Project 2: Traffic and Queuing (updated 28 Feb 2006)

Project 2: Traffic and Queuing (updated 28 Feb 2006) Project 2: Traffic and Queuing (updated 28 Feb 2006) The Evergreen Point Bridge (Figure 1) on SR-520 is ranked the 9 th worst commuter hot spot in the U.S. (AAA, 2005). This floating bridge supports the

More information

JNC, JC, and JNZ Instructions for the WIMP51

JNC, JC, and JNZ Instructions for the WIMP51 JNC, JC, and JNZ Instructions for the WIMP51 EE 213 For the beginning of the project I looked up the Hex code for the JNC, JC, JNZ, as well as JZ so that I could compare with how it was created with the

More information

Registers Shift Registers Accumulators Register Files Register Transfer Language. Chapter 8 Registers. SKEE2263 Digital Systems

Registers Shift Registers Accumulators Register Files Register Transfer Language. Chapter 8 Registers. SKEE2263 Digital Systems Chapter 8 Registers SKEE2263 igital Systems Mun im Zabidi {munim@utm.my} Ismahani Ismail {ismahani@fke.utm.my} Izam Kamisian {e-izam@utm.my} Faculty of Electrical Engineering, Universiti Teknologi Malaysia

More information

CprE 281: Digital Logic

CprE 281: Digital Logic CprE 28: Digital Logic Instructor: Alexander Stoytchev http://www.ece.iastate.edu/~alexs/classes/ Registers and Counters CprE 28: Digital Logic Iowa State University, Ames, IA Copyright Alexander Stoytchev

More information

ARC-H: Adaptive replacement cache management for heterogeneous storage devices

ARC-H: Adaptive replacement cache management for heterogeneous storage devices Journal of Systems Architecture 58 (2012) ARC-H: Adaptive replacement cache management for heterogeneous storage devices Young-Jin Kim, Division of Electrical and Computer Engineering, Ajou University,

More information

Design of pneumatic proportional flow valve type 5/3

Design of pneumatic proportional flow valve type 5/3 IOP Conference Series: Materials Science and Engineering PAPER OPEN ACCESS Design of pneumatic proportional flow valve type 5/3 To cite this article: P A Laski et al 2017 IOP Conf. Ser.: Mater. Sci. Eng.

More information

CMPEN 411 VLSI Digital Circuits Spring Lecture 20: Multiplier Design

CMPEN 411 VLSI Digital Circuits Spring Lecture 20: Multiplier Design CMPEN 411 VLSI Digital Circuits Spring 2011 Lecture 20: Multiplier Design [Adapted from Rabaey s Digital Integrated Circuits, Second Edition, 2003 J. Rabaey, A. Chandrakasan, B. Nikolic] Sp11 CMPEN 411

More information

Challenge H: For an even safer and more secure railway. SADCAT, a contactless system for OCS monitoring

Challenge H: For an even safer and more secure railway. SADCAT, a contactless system for OCS monitoring SADCAT, a contactless system for OCS monitoring Author: Nesrine LAJNEF and Guillaume FOEILLET IG.LE (Electric Tests Laboratory Department), SNCF [French Railways] Infrastructure s Engineering Division,

More information

KEMKRAFT ENGINEERING, INC. MODEL KEI-234 STEERING WHEEL TORQUE/INCLINOMETER TESTER

KEMKRAFT ENGINEERING, INC. MODEL KEI-234 STEERING WHEEL TORQUE/INCLINOMETER TESTER INSTRUCTION MANUAL STEERING WHEEL TORQUE/ INCLINOMETER SYSTEM MODEL KEI-234 W / INTERNAL BARCODE SCANNER REVISION DATE: 17-AUG-1999 1 GENERAL DESCRIPTION... 3 INSTALLATION... 3 SYSTEM SETUP... 4 To change

More information

Non-wire Methods for Transmission Congestion Management through Predictive Simulation and Optimization

Non-wire Methods for Transmission Congestion Management through Predictive Simulation and Optimization Non-wire Methods for Transmission Congestion Management through Predictive Simulation and Optimization Presented by Ruisheng Diao, Ph.D., P.E. Senior Research Engineer Electricity Infrastructure Pacific

More information

Characterizing, Modeling, and Improving the QoE of Mobile Devices with Low Battery Level

Characterizing, Modeling, and Improving the QoE of Mobile Devices with Low Battery Level Characterizing, Modeling, and Imroving the QoE of Mobile Devices with Low Battery Level Kaige Yan, Xingyao Zhang and Xin Fu Deartment of Electrical and Comuter Engineering University of Houston kyan@uh.edu,

More information

THE BASICS (GETTING STARTED)

THE BASICS (GETTING STARTED) SamPOS Express Code Genesis Pty Ltd 10 Oct 2009 All rights Reserved This Guide will walk through the following Setting up the Cash Register. Starting SamPOS Express for the first time. Adding Products.

More information

CSci 127: Introduction to Computer Science

CSci 127: Introduction to Computer Science CSci 127: Introduction to Computer Science hunter.cuny.edu/csci CSci 127 (Hunter) Lecture 3 13 September 2017 1 / 34 Announcements Welcome back to Assembly Hall, and thank you for your patience in our

More information

Issue 2.0 December EPAS Midi User Manual EPAS35

Issue 2.0 December EPAS Midi User Manual EPAS35 Issue 2.0 December 2017 EPAS Midi EPAS35 CONTENTS 1 Introduction 4 1.1 What is EPAS Desktop Pro? 4 1.2 About This Manual 4 1.3 Typographical Conventions 5 1.4 Getting Technical Support 5 2 Getting Started

More information

Digital Hand Controller. Manual

Digital Hand Controller. Manual Digital Hand Controller Manual Authors: Dr.-Ing. T. Vaupel, D. Richter, M. Berger Translated by Wolfram Steinke Copyright Uhlenbrock Elektronik GmbH, Bottrop 3rd Edition March 2004 All Rights Reserved

More information

University Of California, Berkeley Department of Mechanical Engineering. ME 131 Vehicle Dynamics & Control (4 units)

University Of California, Berkeley Department of Mechanical Engineering. ME 131 Vehicle Dynamics & Control (4 units) CATALOG DESCRIPTION University Of California, Berkeley Department of Mechanical Engineering ME 131 Vehicle Dynamics & Control (4 units) Undergraduate Elective Syllabus Physical understanding of automotive

More information

Design and Experimental Study on Digital Speed Control System of a Diesel Generator

Design and Experimental Study on Digital Speed Control System of a Diesel Generator Research Journal of Applied Sciences, Engineering and Technology 6(14): 2584-2588, 2013 ISSN: 2040-7459; e-issn: 2040-7467 Maxwell Scientific Organization, 2013 Submitted: December 28, 2012 Accepted: February

More information

APPLICATION NOTE Application Note for Torque Down Capper Application

APPLICATION NOTE Application Note for Torque Down Capper Application Application Note for Torque Down Capper Application 1 Application Note for Torque Down Capper using ASDA-A2 servo Contents Application Note for Capper Axis with Reject Queue using ASDA-A2 servo... 2 1

More information

Mine Ventilation Solutions. Quiet. Efficient. Durable. a company of

Mine Ventilation Solutions. Quiet. Efficient. Durable. a company of Mine Ventilation Solutions Quiet. Efficient. Durable. a comany of TLT-Turbo - A cororate success story. Innovation for more than 140 years. As a ioneer and innovator in the fan and blower market with a

More information

GuardMagic DLLS-DLLE programming tool manual v

GuardMagic DLLS-DLLE programming tool manual v DLLS-DLLE programming tool manual v1.10 01-01-2013 DLLS-DLLE Programming Tool (GM2.034) User Manual 2013 Table of contents: 1. INTRODUCTION... 3 2. PACKAGES... 3 2.1. STANDARD PACKAGE... 3 2.2. OPTIONAL

More information

Invensys (Foxboro) IMV25 Multivariable Setup

Invensys (Foxboro) IMV25 Multivariable Setup Invensys (Foxboro) IMV25 Multivariable Setup MEASUREMENT & CONTROL SYSTEMS Intellectual Property & Copyright Notice 2011 by ABB Inc., Totalflow Products ( Owner ), Bartlesville, Oklahoma 74006, U.S.A.

More information