CSE431 ReadMe.1Irwin, PSU, 2008 CSE 431 Computer Architecture Fall 2008 Read Me Mary Jane Irwin ( www.cse.psu.edu/~mji )www.cse.psu.edu/~mji www.cse.psu.edu/~cg431.

Slides:



Advertisements
Similar presentations
CEG3420 L1 Intro.1 Copyright (C) 1998 UCB CEG3420 Computer Design Lecture 1 Philip Leong.
Advertisements

Lecture Objectives: 1)Define pipelining 2)Calculate the speedup achieved by pipelining for a given number of instructions. 3)Define how pipelining improves.
331 W08.1Spring :332:331 Computer Architecture and Assembly Language Spring 2006 Week 8: Datapath Design [Adapted from Dave Patterson’s UCB CS152.
CSE431 L01 Introduction.1Irwin, PSU, 2005 CSE 431 Computer Architecture Fall 2005 Lecture 01: Introduction Mary Jane Irwin ( )
ECE 445 – Computer Organization
Review: MIPS Pipeline Data and Control Paths
ENEE350 Ankur Srivastava University of Maryland, College Park Based on Slides from Mary Jane Irwin ( )
ENEE350 Ankur Srivastava University of Maryland, College Park Based on Slides from Mary Jane Irwin ( )
Mary Jane Irwin ( ) [Adapted from Computer Organization and Design,
ENEE350 Ankur Srivastava University of Maryland, College Park Based on Slides from Mary Jane Irwin ( )
331 Lec20.1Fall :332:331 Computer Architecture and Assembly Language Fall 2003 Week 13 Basics of Cache [Adapted from Dave Patterson’s UCB CS152.
©UCB CS 162 Computer Architecture Lecture 1 Instructor: L.N. Bhuyan
1 Stalling  The easiest solution is to stall the pipeline  We could delay the AND instruction by introducing a one-cycle delay into the pipeline, sometimes.
CS / Schlesinger Lec1.1 1/20/99©UCB Spring 1999 Computer Architecture Lecture 1 Introduction and Five Components of a Computer Spring, 1999 Arie Schlesinger.
331 Lec20.1Spring :332:331 Computer Architecture and Assembly Language Spring 2005 Week 13 Basics of Cache [Adapted from Dave Patterson’s UCB CS152.
Computer Organization Lecture Set – 06 Chapter 6 Huei-Yung Lin.
331 W10.1Spring :332:331 Computer Architecture and Assembly Language Spring 2005 Week 10 Building a Multi-Cycle Datapath [Adapted from Dave Patterson’s.
Pipelined Datapath and Control (Lecture #15) ECE 445 – Computer Organization The slides included herein were taken from the materials accompanying Computer.
CSE378 Pipelining1 Pipelining Basic concept of assembly line –Split a job A into n sequential subjobs (A 1,A 2,…,A n ) with each A i taking approximately.
1 Instant replay  The semester was split into roughly four parts. —The 1st quarter covered instruction set architectures—the connection between software.
Lecture 15: Pipelining and Hazards CS 2011 Fall 2014, Dr. Rozier.
Irwin Fall 2006 PSU CSE331 Computer Organization and Design Fall 2007 Read Me Mary Jane Irwin ( Course url:
CMPE 421 Parallel Computer Architecture
Pipeline Data Hazards: Detection and Circumvention Adapted from Computer Organization and Design, Patterson & Hennessy, © 2005, and from slides kindly.
Pipelined Datapath and Control
CPE432 Chapter 4B.1Dr. W. Abu-Sufah, UJ Chapter 4B: The Processor, Part B-2 Read Section 4.7 Adapted from Slides by Prof. Mary Jane Irwin, Penn State University.
CSE477 L00 ReadMe.1Irwin&Vijay, PSU, 2002 CSE477 VLSI Digital Circuits Fall 2002 Read Me Mary Jane Irwin ( ) Vijay.
CSE431 L07 Overcoming Data Hazards.1Irwin, PSU, 2005 CSE 431 Computer Architecture Fall 2005 Lecture 07: Overcoming Data Hazards Mary Jane Irwin (
CSIE30300 Computer Architecture Unit 05: Overcoming Data Hazards Hsin-Chou Chi [Adapted from material by and
Adapted from Computer Organization and Design, Patterson & Hennessy, UCB ECE232: Hardware Organization and Design Part 13: Branch prediction (Chapter 4/6)
CPE432 Chapter 4B.1Dr. W. Abu-Sufah, UJ Chapter 4B: The Processor, Part B-1 Read Sections 4.7 Adapted from Slides by Prof. Mary Jane Irwin, Penn State.
Csci 136 Computer Architecture II – Superscalar and Dynamic Pipelining Xiuzhen Cheng
Pipelining: Implementation CPSC 252 Computer Organization Ellen Walker, Hiram College.
VU-Advanced Computer Architecture Lecture 1-Introduction 1 Advanced Computer Architecture CS 704 Advanced Computer Architecture Lecture 1.
CSE 340 Computer Architecture Spring 2016 Overcoming Data Hazards.
CSE431 L13 SS Execute & Commit.1Irwin, PSU, 2005 CSE 431 Computer Architecture Fall 2005 Lecture 13: SS Backend (Execute, Writeback & Commit) Mary Jane.
CSE431 ReadMe.1Irwin, PSU, 2005 CSE 431 Computer Architecture Fall 2005 Read Me Mary Jane Irwin ( )
CS 230: Computer Organization and Assembly Language
Stalling delays the entire pipeline
Note how everything goes left to right, except …
CSE 3322 Computer Architecture
INTRODUCTION TO MICROPROCESSORS
Single Clock Datapath With Control
Appendix C Pipeline implementation
INTRODUCTION TO MICROPROCESSORS
ECS 154B Computer Architecture II Spring 2009
ECS 154B Computer Architecture II Spring 2009
ECE232: Hardware Organization and Design
Forwarding Now, we’ll introduce some problems that data hazards can cause for our pipelined processor, and show how to handle them with forwarding.
Chapter 4 The Processor Part 3
Review: MIPS Pipeline Data and Control Paths
Morgan Kaufmann Publishers The Processor
CSE 575 Computer Arithmetic Spring 2002 Mary Jane Irwin (www. cse. psu
Single-cycle datapath, slightly rearranged
A pipeline diagram Clock cycle lw $t0, 4($sp) IF ID
Systems Architecture II
The Processor Lecture 3.6: Control Hazards
Control unit extension for data hazards
Instruction Execution Cycle
Overview Prof. Eric Rotenberg
Pipeline Control unit (highly abstracted)
Control unit extension for data hazards
Morgan Kaufmann Publishers The Processor
Control unit extension for data hazards
Systems Architecture II
Dept. of Computer & Information Sciences (Course Introduction)
Lecture 1 Class Overview
MIPS Pipelined Datapath
©2003 Craig Zilles (derived from slides by Howard Huang)
Pipelined datapath and control
Presentation transcript:

CSE431 ReadMe.1Irwin, PSU, 2008 CSE 431 Computer Architecture Fall 2008 Read Me Mary Jane Irwin ( ) [Adapted from Computer Organization and Design, 4 th Edition, Patterson & Hennessy, © 2008, MK]

CSE431 ReadMe.2Irwin, PSU, 2008 Permissions to Use Conditions  The slides have evolved over a period of ten+ years, originating with slides developed by Dave Patterson for the first edition of Computer Organization and Design. Since then, they have gone through extensive revisions (both by me and by various UCB faculty). With the publication of the 4 rd edition, I again revised and updated the entire slide set to coincide with the new edition. l They are all now in Microsoft ppt 2007, if you are still using 2003, you’re out of luck  Permission is granted to copy and distribute and/or alter and distributed this slide set for educational purposes only, provided that the complete bibliographic citation and following credit line is included: "Adapted from Computer Organization and Design, 4 th Edition, Patterson & Hennessy, © 2008.” This material may not be copied or distributed for commercial purposes without express written permission of the copyright holders.  I also ask that you acknowledge my (considerable) efforts in some way. One way is to acknowledge that your slides are adapted from mine on the first slide of each lecture that you use - or to retain my copyright if the slides are simply copied and distributed.

CSE431 ReadMe.3Irwin, PSU, 2008 CSE 431 Course Details  The slides set is for a 15 week (full semester) senior and first year graduate level course in computer science and engineering (CSE). It is a required course for both undergraduate computer engineering majors and undergraduate computer science majors. It is also taken by CSE graduate computer science and engineering students (usually early in their graduate career and often in preparation for PSU’s PhD candidacy exams).  My goals for CSE 431 is that the student understand the organizational paradigms that determine the capabilities and performance of computer systems, the interactions between the computer’s architecture and its software so that future software designers (compiler writers, operating system designers, database programmers, …) can achieve the best cost-performance trade-offs and so that future architects understand the effects of their design choices on software applications.

CSE431 ReadMe.4Irwin, PSU, 2008 Course Structure  CSE 431’s prerequisite is a sophomore level course in computer organization (which also uses Computer Organization and Design, Patterson & Hennessy, © 2008 Chapters 1 (parts of), 2, 3, and 4 (parts of) (along with one lecture on pipelining, one on caches and two on I/O)). Slides for this organization course, based on the 3 nd edition (I won’t get around to updating those until Fall 2009), are also available. Since the students were supposed to already know this material, it was only reviewed (and quickly!) in CSE 431. l CSE 331 is the course where they learn MIPS assembler and do a design of a simple MIPS processor in VHDL or verilog. So I assume they already know MIPS assembler and how the basic, single cycle MIPS datapath works.  This made room in CSE 431 for three lectures on dynamic (superscalar) processors. I developed lectures on that material which is as consistent as I could make it with the text book based on the architecture defined in Guri Sohi’s paper in IEEE Trans. On Computing, Mar  The (rough) outline for CSE 431 is included (see the next slide).

CSE431 ReadMe.5Irwin, PSU, 2008 Course Outline WkTopicCOD 4 Reading 1Introduction and performance metrics1 2MIPS ISA review2 3MIPS arithmetic review; floating point3 4MIPS datapath and control review MIPS pipelined datapath, data and control hazards A MIPS SS execution model , Sohi 7SS fetch, decode, and register dataflow issuesSohi 8Catch-up, review and midterm examinationMidterm exam week 9Memory hierarchies; cache basics review Improving cache performance, cache coherence5.3, Architecture support for virtual memory Disk systems, RAIDs; I/O systems6 13Multiprocessor intro; SMPs and MMPs and SMT GPUs; Network connected multi’s, network topologies Performance models; technology trends and future directions

CSE431 ReadMe.6Irwin, PSU, 2008 Course Assignments/Grading  In addition to homework problems selected from the Exercises included in the book, the students also do a series of simulation experiments using SimpleScalar. We selected five of the benchmarks (that we knew ran fairly quickly) and precompiled them for the students. l They experimented with branch prediction for a single issue, in-order machine in the first SimpleScalar assignment l They experimented with a multiple issue, out-or order machine and compared it to the results from the first set of experiments in the second assignment. l They experimented with different cache sizes, line sizes, associativities, latencies, cache levels, etc. in the third assignment. l They were given an baseline single issue, in-order machine with a baseline memory system and asked to come up with their “best” alternative design (with some prei-mposed constraints to limit the search space) in the fourth assignment.  There was a single midterm (I don’t have the stamina any more to give and grade two exams during the semester) and a final exam.

CSE431 ReadMe.7Irwin, PSU, 2008 A Bit About the Slides Themselves  These slides were being developed at the same time that the final draft of the book was being polished (as I prepare these ReadMe notes at the end of the semester, I just received my printed copy of the 4 th Edition). I did not have access to the figures, pictures, tables, etc. in the book. Some of them have been recreated (by hand), others are from the web (with appropriate credits). Adding and/or replacing figures when the book figures are available might be advisable.  The graphs included in the slides from the book have been converted into powerpoint “comic” graphs so that they could be animated effectively. The data used to construct the graph is only approximate; it was constructed to make the graphs as similar to the graphs in the book as possible (once again, I didn’t have the actual data to work from).  The notes section contains backup for each slide from the book and, in places, from the original UCB slides.  Each slide set ends with a reminder slide which you will want to replace with your own set of reminders to the students !

CSE431 ReadMe.8Irwin, PSU, 2008 Keeping Your Students Awake and Involved  One thing that I have started doing so I can call on students by name (and maybe learn their names) is to make name tents for each student which they pick up at the beginning of class and return at the end of class (those that aren’t picked up I collect during the lecture so I can “take roll” off-line – yes, ugh, I now do that and give a small amount of credit for class attendance). I use the medium tent cards from Office Depot and print the name on both sides so they can also learn each others names!  Throughout the set of slides, you will often see two slides that are almost identical. One is for the class handout and is missing some key points (it is usually marked in the notes section as “for class handout”). The other is for lecture (marked “for lecture”) where the key points are included and are animated to appear as students respond to questions posed to them in class. l Put the “for lecture” slide in hide mode when preparing class handouts and the “for class handouts” in hide mode when preparing lectures l A sample pair of slides follows

CSE431 ReadMe.9Irwin, PSU, 2008 Datapath with Forwarding Hardware PCSrc Read Address Instruction Memory Add PC Write Data Read Addr 1 Read Addr 2 Write Addr Register File Read Data 1 Read Data ALU 1 0 Shift left 2 Add Data Memory Address Write Data Read Data 1 0 IF/ID Sign Extend ID/EX EX/MEM MEM/WB Control 0 1 ALU cntrl Branch Forward Unit

CSE431 ReadMe.10Irwin, PSU, 2008 Datapath with Forwarding Hardware PCSrc Read Address Instruction Memory Add PC Write Data Read Addr 1 Read Addr 2 Write Addr Register File Read Data 1 Read Data ALU 1 0 Shift left 2 Add Data Memory Address Write Data Read Data 1 0 IF/ID Sign Extend ID/EX EX/MEM MEM/WB Control 0 1 ALU cntrl Branch Forward Unit IF/ID.RegisterRs IF/ID.RegisterRt EX/MEM.RegisterRd MEM/WB.RegisterRd