Slide 1 Patterson Consulting Radical Proposal: Let’s help real problems Dave Patterson University of California at Berkeley April.

Slides:



Advertisements
Similar presentations
1/1/ / faculty of Electrical Engineering eindhoven university of technology Speeding it up Part 3: Out-Of-Order and SuperScalar execution dr.ir. A.C. Verschueren.
Advertisements

IMPACT Second Generation EPIC Architecture Wen-mei Hwu IMPACT Second Generation EPIC Architecture Wen-mei Hwu Department of Electrical and Computer Engineering.
Computer Structure 2014 – Out-Of-Order Execution 1 Computer Structure Out-Of-Order Execution Lihu Rappoport and Adi Yoaz.
CPE 731 Advanced Computer Architecture ILP: Part V – Multiple Issue Dr. Gheith Abandah Adapted from the slides of Prof. David Patterson, University of.
1 Lecture: Out-of-order Processors Topics: out-of-order implementations with issue queue, register renaming, and reorder buffer, timing, LSQ.
Multithreading processors Adapted from Bhuyan, Patterson, Eggers, probably others.
UPC Microarchitectural Techniques to Exploit Repetitive Computations and Values Carlos Molina Clemente LECTURA DE TESIS, (Barcelona,14 de Diciembre de.
1/1/ / faculty of Electrical Engineering eindhoven university of technology Architectures of Digital Information Systems Part 1: Interrupts and DMA dr.ir.
THE MIPS R10000 SUPERSCALAR MICROPROCESSOR Kenneth C. Yeager IEEE Micro in April 1996 Presented by Nitin Gupta.
CPE 731 Advanced Computer Architecture ILP: Part IV – Speculative Execution Dr. Gheith Abandah Adapted from the slides of Prof. David Patterson, University.
© A. Moshovos (ECE, Toronto) ECE1773 – Spring 2002 ILP, cont. Maintaining Sequential Appearance –Precise Interrupts –RUU approach to OoO Scheduling.
1/1/ / faculty of Electrical Engineering eindhoven university of technology Introduction Part 3: Input/output and co-processors dr.ir. A.C. Verschueren.
EECE476: Computer Architecture Lecture 23: Speculative Execution, Dynamic Superscalar (text 6.8 plus more) The University of British ColumbiaEECE 476©
CMPT 300: Operating Systems I Dr. Mohamed Hefeeda
1 Microprocessor-based Systems Course 4 - Microprocessors.
Computer Architecture 2011 – Out-Of-Order Execution 1 Computer Architecture Out-Of-Order Execution Lihu Rappoport and Adi Yoaz.
1 COMP 206: Computer Architecture and Implementation Montek Singh Mon, Dec 5, 2005 Topic: Intro to Multiprocessors and Thread-Level Parallelism.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE Computer Organization Lecture 19 - Pipelined.
CS 300 – Lecture 22 Intro to Computer Architecture / Assembly Language Virtual Memory.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania Computer Organization Pipelined Processor Design 3.
1 Last Class: Introduction Operating system = interface between user & architecture Importance of OS OS history: Change is only constant User-level Applications.
Computer Organization and Architecture
Memory: Virtual MemoryCSCE430/830 Memory Hierarchy: Virtual Memory CSCE430/830 Computer Architecture Lecturer: Prof. Hong Jiang Courtesy of Yifeng Zhu.
OOO execution © Avi Mendelson, 4/ MAMAS – Computer Architecture Lecture 7 – Out Of Order (OOO) Avi Mendelson Some of the slides were taken.
1 Lecture 7: Static ILP and branch prediction Topics: static speculation and branch prediction (Appendix G, Section 2.3)
1 OS & Computer Architecture Modern OS Functionality (brief review) Architecture Basics Hardware Support for OS Features.
CHAPTER 8: CPU and Memory Design, Enhancement, and Implementation
Operating System Review September 10, 2012Introduction to Computer Security ©2004 Matt Bishop Slide #1-1.
Introduction CSE 410, Spring 2008 Computer Systems
Seoul National University
Memory/Storage Architecture Lab 1 Virtualization History of Computing = History of Virtualization  e.g., process abstraction, virtual memory, cache memory,
INTRODUCTION Crusoe processor is 128 bit microprocessor which is build for mobile computing devices where low power consumption is required. Crusoe processor.
October 13, 2015CS232 Summary1 Instant replay  The semester was split into roughly four parts. —The 1st quarter covered instruction set architectures—the.
COMP Multithreading. Coarse Grain Multithreading Minimal pipeline changes – Need to abort instructions in “shadow” of miss – Resume instruction.
Hardware Multithreading. Increasing CPU Performance By increasing clock frequency By increasing Instructions per Clock Minimizing memory access impact.
10/27: Lecture Topics Survey results Current Architectural Trends Operating Systems Intro –What is an OS? –Issues in operating systems.
1 Advanced Computer Architecture Dynamic Instruction Level Parallelism Lecture 2.
Reliability and Recovery CS Introduction to Operating Systems.
Chapter 8 CPU and Memory: Design, Implementation, and Enhancement The Architecture of Computer Hardware and Systems Software: An Information Technology.
Super computers Parallel Processing By Lecturer: Aisha Dawood.
SYNAR Systems Networking and Architecture Group CMPT 886: Computer Architecture Primer Dr. Alexandra Fedorova School of Computing Science SFU.
Hyper Threading Technology. Introduction Hyper-threading is a technology developed by Intel Corporation for it’s Xeon processors with a 533 MHz system.
1 Out-Of-Order Execution (part I) Alexander Titov 14 March 2015.
SIMULTANEOUS MULTITHREADING Ting Liu Liu Ren Hua Zhong.
Precomputation- based Prefetching By James Schatz and Bashar Gharaibeh.
Transmeta’s New Processor Another way to design CPU By Wu Cheng
1 Lecture 7: Speculative Execution and Recovery Branch prediction and speculative execution, precise interrupt, reorder buffer.
1 Lecture 1: Computer System Structures We go over the aspects of computer architecture relevant to OS design  overview  input and output (I/O) organization.
Computer System Architecture Interrupt and Precise Exception
Advanced Computer Architecture pg 1 Embedded Computer Architecture 5SAI0 Chip Multi-Processors (ch 8) Henk Corporaal
Hewlett-Packard PA-RISC Bit Processors: History, Features, and Architecture Presented By: Adam Gray Christie Kummers Joshua Madagan.
Lecture 1: Introduction Instruction Level Parallelism & Processor Architectures.
Advanced Pipelining 7.1 – 7.5. Peer Instruction Lecture Materials for Computer Architecture by Dr. Leo Porter is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike.
Recovery Techniques 1.Recovery concepts 2.Recovery techniques based on Deferred Update –No-UNDO/REDO 3.Recovery techniques based on Immediate Update –UNDO/REDO.
Introduction CSE 410, Spring 2005 Computer Systems
1 Lecture 5a: CPU architecture 101 boris.
1 OPERATING SYSTEMS. 2 CONTENTS 1.What is an Operating System? 2.OS Functions 3.OS Services 4.Structure of OS 5.Evolution of OS.
Cache Advanced Higher.
Introduction to Programming Part 2
CSE 410, Spring 2006 Computer Systems
Simultaneous Multithreading
Embedded Computer Architecture 5SAI0 Chip Multi-Processors (ch 8)
/ Computer Architecture and Design
Lecture 14 Virtual Memory and the Alpha Memory Hierarchy
Lecture 8: ILP and Speculation Contd. Chapter 2, Sections 2. 6, 2
Hardware Multithreading
CC423: Advanced Computer Architecture ILP: Part V – Multiple Issue
/ Computer Architecture and Design
Embedded Computer Architecture 5SAI0 Chip Multi-Processors (ch 8)
Hardware Multithreading
Presentation transcript:

Slide 1 Patterson Consulting Radical Proposal: Let’s help real problems Dave Patterson University of California at Berkeley April 2001

Slide 2 What have designers been doing? Performance, Performance, Performance; 2X/18 months Superscalar, 3 levels of cache, branch prediciton, out-of-order execution, … Execution Icache D cache branch TLB Pentium III 2 Bus Intf If performance right goal, then > 1GHz => sales jump –~ Year 2000 v car sales What Happened? US PC market shrank 4-8 % 1Q01; 1st shrink in 7 yrs! Performance no longer king? Out-Of-Order SS

Slide 3 Time to help on other problems? Software quality? –Fry’s Law: 2X programming productivity (speed of reliable SW functionality) every 18 years –Last architectural assist was virtual memory protection, ~1970? SW Engineering perspective on SW bugs: –Bugs reproducible from inputs will be repaired –Transient errors very hard to fix Jim Gray hypothesis: –Most production software bugs are soft - Heisenbugs –Bohrbugs, like the Bohr atom, are solid, easily detected by standard techniques, and hence boring –Then can repair most SW bugs by restart “ Will Software Ever Work?” H. Lieberman and C.Fry, Comm. ACM Mar 01, p

Slide 4 What should HW designers do? Already have heavyweight transactions in, databases, operating systems –Atomic event that can be completely undone if fails midstream –Expensive so done only on some disk operations Support lightweight transactions in CPU 1) Help with restart of routines to fix Heisenbugs 2) Make Software error recovery more reliable –Start transaction –SW detects error –Back out all evidence of work to original place

Slide 5 What will it take? Mechanisms in modern CPUs for performance speculation lay foundation –Speculative execution via branch prediction, out-of- order execution, in-order completion allows “transactions” per branch, preserving interrupts: Reorder Buffer, Memory Buffer, Commit Table, … –Transmeta Crusoe provides »software control of Write Buffer, allowing SW to discard results of speculative SW execution; »shadowed registers so can go to old values Expand these mechanisms to support transactions to help with SW bugs –Shadow registers/Reorder Buffer, Much bigger write buffer (1MB?) under SW control

Slide 6 Summary Performance no longer the only problem –Last 15 years: Processors 1000X faster, memories 1000X bigger allow SW 1000X bigger –No help to SW in last 15 years –1 bugs / 1000 lines of code, millions of lines of code Real problem is SW Simultaneous Multithreading uses existing OOO HW to improve throughput of threads Transaction support uses existing OOO HW and SW mechanisms to provide undo for SW bugs, SW recovery Solve an important problem, such as SW reliability; performance is not the problem!