Lecture 1 An Overview of High-Performance Computer Architecture

Slides:



Advertisements
Similar presentations
Morgan Kaufmann Publishers The Processor
Advertisements

© 2006 Edward F. Gehringer ECE 463/521 Lecture Notes, Spring 2006 Lecture 1 An Overview of High-Performance Computer Architecture ECE 463/521 Spring 2006.
CMSC 611: Advanced Computer Architecture Pipelining Some material adapted from Mohamed Younis, UMBC CMSC 611 Spr 2003 course slides Some material adapted.
Pipeline Computer Organization II 1 Hazards Situations that prevent starting the next instruction in the next cycle Structural hazards – A required resource.
Lecture Objectives: 1)Define pipelining 2)Calculate the speedup achieved by pipelining for a given number of instructions. 3)Define how pipelining improves.
Instruction-Level Parallelism (ILP)
1 Lecture: Pipelining Extensions Topics: control hazards, multi-cycle instructions, pipelining equations.
Computer Architecture 2011 – Out-Of-Order Execution 1 Computer Architecture Out-Of-Order Execution Lihu Rappoport and Adi Yoaz.
Chapter 12 Pipelining Strategies Performance Hazards.
1  2004 Morgan Kaufmann Publishers Chapter Six. 2  2004 Morgan Kaufmann Publishers Pipelining The laundry analogy.
Pipelining Andreas Klappenecker CPSC321 Computer Architecture.
1 Lecture 18: Pipelining Today’s topics:  Hazards and instruction scheduling  Branch prediction  Out-of-order execution Reminder:  Assignment 7 will.
Pipelined Processor II CPSC 321 Andreas Klappenecker.
Computer ArchitectureFall 2007 © October 31, CS-447– Computer Architecture M,W 10-11:20am Lecture 17 Review.
Appendix A Pipelining: Basic and Intermediate Concepts
Pipelined Datapath and Control (Lecture #15) ECE 445 – Computer Organization The slides included herein were taken from the materials accompanying Computer.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE Computer Organization Lecture 17 - Pipelined.
Lecture 15: Pipelining and Hazards CS 2011 Fall 2014, Dr. Rozier.
Memory/Storage Architecture Lab Computer Architecture Pipelining Basics.
University of Texas at Austin CS352H - Computer Systems Architecture Fall 2009 Don Fussell CS352H: Computer Systems Architecture Topic 8: MIPS Pipelined.
Comp Sci pipelining 1 Ch. 13 Pipelining. Comp Sci pipelining 2 Pipelining.
Chapter 4 The Processor. Chapter 4 — The Processor — 2 Introduction We will examine two MIPS implementations A simplified version A more realistic pipelined.
Pipeline Hazards. CS5513 Fall Pipeline Hazards Situations that prevent the next instructions in the instruction stream from executing during its.
CS 352 : Computer Organization and Design University of Wisconsin-Eau Claire Dan Ernst Pipelining Basics.
CSCI-365 Computer Organization Lecture Note: Some slides and/or pictures in the following are adapted from: Computer Organization and Design, Patterson.
Chapter 6 Pipelined CPU Design. Spring 2005 ELEC 5200/6200 From Patterson/Hennessey Slides Pipelined operation – laundry analogy Text Fig. 6.1.
1  1998 Morgan Kaufmann Publishers Chapter Six. 2  1998 Morgan Kaufmann Publishers Pipelining Improve perfomance by increasing instruction throughput.
Pipelining Example Laundry Example: Three Stages
11 Pipelining Kosarev Nikolay MIPT Oct, Pipelining Implementation technique whereby multiple instructions are overlapped in execution Each pipeline.
10/11: Lecture Topics Execution cycle Introduction to pipelining
Introduction to Computer Organization Pipelining.
Lecture 9. MIPS Processor Design – Pipelined Processor Design #1 Prof. Taeweon Suh Computer Science Education Korea University 2010 R&E Computer System.
1 Lecture: Pipelining Extensions Topics: control hazards, multi-cycle instructions, pipelining equations.
PipeliningPipelining Computer Architecture (Fall 2006)
Lecture 5. MIPS Processor Design Pipelined MIPS #1 Prof. Taeweon Suh Computer Science & Engineering Korea University COSE222, COMP212 Computer Architecture.
Chapter Six.
CS 352H: Computer Systems Architecture
Computer Organization CS224
Morgan Kaufmann Publishers
Performance of Single-cycle Design
Single Clock Datapath With Control
Pipeline Implementation (4.6)
CDA 3101 Spring 2016 Introduction to Computer Organization
Chapter 4 The Processor Part 3
Morgan Kaufmann Publishers The Processor
Morgan Kaufmann Publishers The Processor
Computer Architecture Lecture 3
Pipelining review.
The processor: Pipelining and Branching
Pipelining in more detail
Chapter Six.
Chapter Six.
Control unit extension for data hazards
Lecture: Pipelining Extensions
Lecture 20: OOO, Memory Hierarchy
Lecture: Pipelining Extensions
Lecture 20: OOO, Memory Hierarchy
November 5 No exam results today. 9 Classes to go!
Chapter 8. Pipelining.
CS203 – Advanced Computer Architecture
Pipelining, Superscalar, and Out-of-order architectures
Overview Prof. Eric Rotenberg
Pipeline Control unit (highly abstracted)
Pipelining.
Control unit extension for data hazards
Morgan Kaufmann Publishers The Processor
Introduction to Computer Organization and Architecture
Control unit extension for data hazards
Guest Lecturer: Justin Hsia
A relevant question Assuming you’ve got: One washer (takes 30 minutes)
Presentation transcript:

Lecture 1 An Overview of High-Performance Computer Architecture ECE 463/521 Spring 2005 Edward F. Gehringer © 2005 Edward F. Gehringer ECE 463/521 Lecture Notes, Spring 2005

Automobile Factory (note: non-animated version) Station 1 Station 2 Station 3 Station 4 Station 5 Build frame Connect doors headlights Embed engine wheels & transmission © 2005 Edward F. Gehringer ECE 463/521 Lecture Notes, Spring 2005

Automobile Factory (note: non-animated version) Station 1 Station 2 Station 3 Station 4 Station 5 Build frame Connect doors Connect headlights Embed engine Connect wheels & transmission © 2005 Edward F. Gehringer ECE 463/521 Lecture Notes, Spring 2005

Automobile Factory (note: non-animated version) Station 1 Station 2 Station 3 Station 4 Station 5 Build frame Connect doors Connect headlights Embed engine Connect wheels & transmission © 2005 Edward F. Gehringer ECE 463/521 Lecture Notes, Spring 2005

Automobile Factory (note: non-animated version) Station 1 Station 2 Station 3 Station 4 Station 5 Build frame Connect doors Connect headlights Embed engine Connect wheels & transmission © 2005 Edward F. Gehringer ECE 463/521 Lecture Notes, Spring 2005

Automobile Factory (note: non-animated version) Station 1 Station 2 Station 3 Station 4 Station 5 Build frame Connect doors Connect headlights Embed engine Connect wheels & transmission © 2005 Edward F. Gehringer ECE 463/521 Lecture Notes, Spring 2005

Automobile Factory (note: non-animated version) Station 1 Station 2 Station 3 Station 4 Station 5 Build frame Connect doors Connect headlights Embed engine Connect wheels & transmission © 2005 Edward F. Gehringer ECE 463/521 Lecture Notes, Spring 2005

ECE 463/521 Lecture Notes, Spring 2005 Basic Assembly Line Unchangeable truth It takes a long time to build one car Example: Time spent in assembly line is 1 hour (12 min. per station) Basic assembly line Throughput = 1 car per hour We wait until first car is fully assembled before starting the next one:  only 1 car in assembly line at a time  only 1 station is active at a time; other 4 are idle © 2005 Edward F. Gehringer ECE 463/521 Lecture Notes, Spring 2005

Automobile Factory (note: non-animated version) Station 1 Station 2 Station 3 Station 4 Station 5 Build frame Connect doors Connect headlights Embed engine Connect wheels & transmission © 2005 Edward F. Gehringer ECE 463/521 Lecture Notes, Spring 2005

Automobile Factory (note: non-animated version) Station 1 Station 2 Station 3 Station 4 Station 5 Build frame Connect doors Connect headlights Embed engine Connect wheels & transmission © 2005 Edward F. Gehringer ECE 463/521 Lecture Notes, Spring 2005

Automobile Factory (note: non-animated version) Station 1 Station 2 Station 3 Station 4 Station 5 Build frame Connect doors Connect headlights Embed engine Connect wheels & transmission © 2005 Edward F. Gehringer ECE 463/521 Lecture Notes, Spring 2005

Automobile Factory (note: non-animated version) Station 1 Station 2 Station 3 Station 4 Station 5 Build frame Connect doors Connect headlights Embed engine Connect wheels & transmission © 2005 Edward F. Gehringer ECE 463/521 Lecture Notes, Spring 2005

Automobile Factory (note: non-animated version) Station 1 Station 2 Station 3 Station 4 Station 5 Build frame Connect doors Connect headlights Embed engine Connect wheels & transmission © 2005 Edward F. Gehringer ECE 463/521 Lecture Notes, Spring 2005

Automobile Factory (note: non-animated version) Station 1 Station 2 Station 3 Station 4 Station 5 Build frame Connect doors Connect headlights Embed engine Connect wheels & transmission © 2005 Edward F. Gehringer ECE 463/521 Lecture Notes, Spring 2005

Pipelined Assembly Line Unchangeable truth It still takes a long time to build one car Pipelining Time to fill pipeline = 1 hour Once filled, throughput = 1 car per 12 minutes Speedup due to pipelining is (unusual definition)... © 2005 Edward F. Gehringer ECE 463/521 Lecture Notes, Spring 2005

Simple Processor Pipeline IF ID EX MEM WB (instruction fetch) (instruction decode) (execute) (memory) (write- back) Stage 1 Stage 2 Stage 3 Stage 4 Stage 5 Fetch instruction Decode & read registers Execute Access memory Write result © 2005 Edward F. Gehringer ECE 463/521 Lecture Notes, Spring 2005

ECE 463/521 Lecture Notes, Spring 2005 Example Instruction ADD r1, r2, r3 r1  r2 + r3 IF: Fetch the ADD instruction from memory using the current PC (program counter), then PC  PC + 1 ID: Decode the ADD instruction to determine the opcode, read values of r2 and r3 from the register file EX: Perform r2 + r3 in the ALU (arithmetic/logic unit) MEM: Do nothing (only loads/stores access memory) WB: Write result of r2 + r3 into r1, in the register file © 2005 Edward F. Gehringer ECE 463/521 Lecture Notes, Spring 2005

Pipeline Performance Problems (1) Data dependences ADD r1, r2, r3 SUB r4, r1, r9 SUB must wait (“stall”) in ID stage until ADD completes ADD writes the result r1 into register file in WB SUB reads the result r1 from register file in ID © 2005 Edward F. Gehringer ECE 463/521 Lecture Notes, Spring 2005

Data Dependence Stalls ADD IF ID EX MEM WB (instruction fetch) (instruction decode) (execute) (memory) (write- back) Stage 1 Stage 2 Stage 3 Stage 4 Stage 5 Fetch instruction Decode & read registers Execute Access memory Write result © 2005 Edward F. Gehringer ECE 463/521 Lecture Notes, Spring 2005

Data Dependence Stalls SUB ADD IF ID EX MEM WB (instruction fetch) (instruction decode) (execute) (memory) (write- back) Stage 1 Stage 2 Stage 3 Stage 4 Stage 5 Fetch instruction Decode & read registers Execute Access memory Write result © 2005 Edward F. Gehringer ECE 463/521 Lecture Notes, Spring 2005

Data Dependence Stalls r1 Register file r1 SUB ADD (stalled) IF ID EX MEM WB (instruction fetch) (instruction decode) (execute) (memory) (write- back) Stage 1 Stage 2 Stage 3 Stage 4 Stage 5 Fetch instruction Decode & read registers Execute Access memory Write result © 2005 Edward F. Gehringer ECE 463/521 Lecture Notes, Spring 2005

Data Dependence Stalls r1 Register file r1 SUB (bubble) ADD (stalled) IF ID EX MEM WB (instruction fetch) (instruction decode) (execute) (memory) (write- back) Stage 1 Stage 2 Stage 3 Stage 4 Stage 5 Fetch instruction Decode & read registers Execute Access memory Write result © 2005 Edward F. Gehringer ECE 463/521 Lecture Notes, Spring 2005

Data Dependence Stalls r1 Register file r1 SUB (bubble) (bubble) ADD (stalled) IF ID EX MEM WB (instruction fetch) (instruction decode) (execute) (memory) (write- back) Stage 1 Stage 2 Stage 3 Stage 4 Stage 5 Fetch instruction Decode & read registers Execute Access memory Write result © 2005 Edward F. Gehringer ECE 463/521 Lecture Notes, Spring 2005

Data Dependence Stalls SUB (bubble) (bubble) IF ID EX MEM WB (instruction fetch) (instruction decode) (execute) (memory) (write- back) Stage 1 Stage 2 Stage 3 Stage 4 Stage 5 Fetch instruction Decode & read registers Execute Access memory Write result © 2005 Edward F. Gehringer ECE 463/521 Lecture Notes, Spring 2005

Speedup with data dependences What is the speedup of this pipeline (Tsequential/Tpipelined) if 1/10th of all instructions contain a data dependence? Can you give a general formula for a k-stage pipeline? What other information do you need to know? © 2005 Edward F. Gehringer ECE 463/521 Lecture Notes, Spring 2005

Reducing Data Dependence Stalls We could directly forward results from producer to consumer, bypassing the register file. The hardware is called “data bypass,” “result bypass,” or “register file bypass.” The technique is called “bypassing” or “forwarding.” © 2005 Edward F. Gehringer ECE 463/521 Lecture Notes, Spring 2005

ECE 463/521 Lecture Notes, Spring 2005 Data Bypass ADD IF ID EX MEM WB (instruction fetch) (instruction decode) (execute) (memory) (write- back) Stage 1 Stage 2 Stage 3 Stage 4 Stage 5 Fetch instruction Decode & read registers Execute Access memory Write result © 2005 Edward F. Gehringer ECE 463/521 Lecture Notes, Spring 2005

ECE 463/521 Lecture Notes, Spring 2005 Data Bypass SUB ADD IF ID EX MEM WB (instruction fetch) (instruction decode) (execute) (memory) (write- back) Stage 1 Stage 2 Stage 3 Stage 4 Stage 5 Fetch instruction Decode & read registers Execute Access memory Write result © 2005 Edward F. Gehringer ECE 463/521 Lecture Notes, Spring 2005

ECE 463/521 Lecture Notes, Spring 2005 Data Bypass r1 Register file (garbage) SUB ADD IF ID EX MEM WB (instruction fetch) (instruction decode) (execute) (memory) (write- back) Stage 1 Stage 2 Stage 3 Stage 4 Stage 5 Fetch instruction Decode & read registers Execute Access memory Write result © 2005 Edward F. Gehringer ECE 463/521 Lecture Notes, Spring 2005

ECE 463/521 Lecture Notes, Spring 2005 Data Bypass r1 Register file (garbage) data bypass r1 (correct) SUB ADD IF ID EX MEM WB (instruction fetch) (instruction decode) (execute) (memory) (write- back) Stage 1 Stage 2 Stage 3 Stage 4 Stage 5 Fetch instruction Decode & read registers Execute Access memory Write result © 2005 Edward F. Gehringer ECE 463/521 Lecture Notes, Spring 2005

Pipeline Performance Problems (2) Branches ADD r1, r2, r3 BEQ X, r5, r7 SUB r4, r1, r9 LD r4, 10(r4) …… X: AND r4, r10, r11 Which instruction should be fetched after the branch? IF stage stalls until BEQ reaches EX stage. EX stage evaluates branch condition (r5 = = r7). “taken” © 2005 Edward F. Gehringer ECE 463/521 Lecture Notes, Spring 2005

ECE 463/521 Lecture Notes, Spring 2005 Branch Stalls ADD IF ID EX MEM WB (instruction fetch) (instruction decode) (execute) (memory) (write- back) Stage 1 Stage 2 Stage 3 Stage 4 Stage 5 Fetch instruction Decode & read registers Execute Access memory Write result © 2005 Edward F. Gehringer ECE 463/521 Lecture Notes, Spring 2005

ECE 463/521 Lecture Notes, Spring 2005 Branch Stalls BEQ ADD IF ID EX MEM WB (instruction fetch) (instruction decode) (execute) (memory) (write- back) Stage 1 Stage 2 Stage 3 Stage 4 Stage 5 Fetch instruction Decode & read registers Execute Access memory Write result © 2005 Edward F. Gehringer ECE 463/521 Lecture Notes, Spring 2005

ECE 463/521 Lecture Notes, Spring 2005 Branch Stalls (bubble) BEQ ADD IF ID EX MEM WB (instruction fetch) (instruction decode) (execute) (memory) (write- back) Stage 1 Stage 2 Stage 3 Stage 4 Stage 5 Fetch instruction Decode & read registers Execute Access memory Write result © 2005 Edward F. Gehringer ECE 463/521 Lecture Notes, Spring 2005

ECE 463/521 Lecture Notes, Spring 2005 Branch Stalls Branch outcome: taken (bubble) (bubble) BEQ ADD IF ID EX MEM WB (instruction fetch) (instruction decode) (execute) (memory) (write- back) Stage 1 Stage 2 Stage 3 Stage 4 Stage 5 Fetch instruction Decode & read registers Execute Access memory Write result © 2005 Edward F. Gehringer ECE 463/521 Lecture Notes, Spring 2005

ECE 463/521 Lecture Notes, Spring 2005 Branch Stalls AND (bubble) (bubble) BEQ ADD IF ID EX MEM WB (instruction fetch) (instruction decode) (execute) (memory) (write- back) Stage 1 Stage 2 Stage 3 Stage 4 Stage 5 Fetch instruction Decode & read registers Execute Access memory Write result © 2005 Edward F. Gehringer ECE 463/521 Lecture Notes, Spring 2005

Reducing Branch Stalls Branch prediction “Learn” which way a given branch tends to go. Like predicting the economy, branch prediction is based on past history. Even simple predictors can be 80% accurate. If correct: no branch stalls. In incorrect: “Quash” instructions in previous pipeline stages. Performance degrades to the stall case. May have additional penalties to “clean up” the pipeline. © 2005 Edward F. Gehringer ECE 463/521 Lecture Notes, Spring 2005

Branch Prediction (correct) ADD IF ID EX MEM WB (instruction fetch) (instruction decode) (execute) (memory) (write- back) Stage 1 Stage 2 Stage 3 Stage 4 Stage 5 Fetch instruction Decode & read registers Execute Access memory Write result © 2005 Edward F. Gehringer ECE 463/521 Lecture Notes, Spring 2005

Branch Prediction (correct) BEQ ADD IF ID EX MEM WB (instruction fetch) (instruction decode) (execute) (memory) (write- back) Stage 1 Stage 2 Stage 3 Stage 4 Stage 5 Fetch instruction Decode & read registers Execute Access memory Write result © 2005 Edward F. Gehringer ECE 463/521 Lecture Notes, Spring 2005

Branch Prediction (correct) Predict taken AND BEQ ADD IF ID EX MEM WB (instruction fetch) (instruction decode) (execute) (memory) (write- back) Stage 1 Stage 2 Stage 3 Stage 4 Stage 5 Fetch instruction Decode & read registers Execute Access memory Write result © 2005 Edward F. Gehringer ECE 463/521 Lecture Notes, Spring 2005

Branch Prediction (incorrect) ADD IF ID EX MEM WB (instruction fetch) (instruction decode) (execute) (memory) (write- back) Stage 1 Stage 2 Stage 3 Stage 4 Stage 5 Fetch instruction Decode & read registers Execute Access memory Write result © 2005 Edward F. Gehringer ECE 463/521 Lecture Notes, Spring 2005

Branch Prediction (incorrect) BEQ ADD IF ID EX MEM WB (instruction fetch) (instruction decode) (execute) (memory) (write- back) Stage 1 Stage 2 Stage 3 Stage 4 Stage 5 Fetch instruction Decode & read registers Execute Access memory Write result © 2005 Edward F. Gehringer ECE 463/521 Lecture Notes, Spring 2005

Branch Prediction (incorrect) Predict not taken SUB BEQ ADD IF ID EX MEM WB (instruction fetch) (instruction decode) (execute) (memory) (write- back) Stage 1 Stage 2 Stage 3 Stage 4 Stage 5 Fetch instruction Decode & read registers Execute Access memory Write result © 2005 Edward F. Gehringer ECE 463/521 Lecture Notes, Spring 2005

Branch Prediction (incorrect) Branch outcome: taken LD SUB BEQ ADD IF ID EX MEM WB (instruction fetch) (instruction decode) (execute) (memory) (write- back) Stage 1 Stage 2 Stage 3 Stage 4 Stage 5 Fetch instruction Decode & read registers Execute Access memory Write result © 2005 Edward F. Gehringer ECE 463/521 Lecture Notes, Spring 2005

Branch Prediction (incorrect) AND LD SUB BEQ ADD IF ID EX MEM WB (instruction fetch) (instruction decode) (execute) (memory) (write- back) Stage 1 Stage 2 Stage 3 Stage 4 Stage 5 Fetch instruction Decode & read registers Execute Access memory Write result © 2005 Edward F. Gehringer ECE 463/521 Lecture Notes, Spring 2005

Speedup with branch stalls What is the speedup of the pipeline if 1/5 of the instructions are branches, and 4/5 of those are correctly predicted? Can you give a general formula for a k-stage pipeline? What other information do you need to know? © 2005 Edward F. Gehringer ECE 463/521 Lecture Notes, Spring 2005

ECE 463/521 Lecture Notes, Spring 2005 Sears Tower Repairman Repair shop is in the basement Has many tools. A few are used frequently, e.g., hammer, crescent wrench, screwdriver Most are used infrequently, e.g., socket wrenches © 2005 Edward F. Gehringer ECE 463/521 Lecture Notes, Spring 2005

ECE 463/521 Lecture Notes, Spring 2005 Sears Tower Repairman Problem Sears Tower has 110 stories! Today, you are working on the top floor. Can’t bring entire shop with you. Don’t know exactly which tools to bring with you from the basement. © 2005 Edward F. Gehringer ECE 463/521 Lecture Notes, Spring 2005

ECE 463/521 Lecture Notes, Spring 2005 Sears Tower Repairman Solution Carry frequently used tools in your tool belt. Tool-belt becomes a “cache” of tools — drastically reduces the number of trips down to the basement. When you have to fetch ¼" socket wrench, common sense says to also fetch ½", ¾", etc., just in case. © 2005 Edward F. Gehringer ECE 463/521 Lecture Notes, Spring 2005

ECE 463/521 Lecture Notes, Spring 2005 Caches The processor-memory speed gap Processor is very fast Intel Pentium-4: 1 GHz, 1 clock cycle = 1 ns Large memory is slow! Main memory: 50 ns to access, 50 times slower than Pentium-4! Processor wants large and fast memory. LARGE: O/S and applications consume lots of memory FAST: Otherwise, processor stalls nearly 100% of time waiting for memory. © 2005 Edward F. Gehringer ECE 463/521 Lecture Notes, Spring 2005

ECE 463/521 Lecture Notes, Spring 2005 Caches Processor 1-ns clock “Hits” 95% of time 64KB cache memory 2-ns read time Tool-belt Basement shop 256MB Main Memory 50-ns read time © 2005 Edward F. Gehringer ECE 463/521 Lecture Notes, Spring 2005

ECE 463/521 Lecture Notes, Spring 2005 Average access time What is the average access time in this memory system? © 2005 Edward F. Gehringer ECE 463/521 Lecture Notes, Spring 2005

ECE 463/521 Lecture Notes, Spring 2005 Caches Caches are effective because of locality of reference. Temporal locality: If you access an item, you are likely to access it again in near future. Tool-belt contains frequently used tools. Spatial locality: If you access an item, you are likely to access a nearby item in the near future. This is why repairman also fetched ½" and ¾" socket wrenches when (s)he only needed ¼". © 2005 Edward F. Gehringer ECE 463/521 Lecture Notes, Spring 2005

ECE 463/521 Lecture Notes, Spring 2005 Overview of Topics in 463/521 Measuring performance and cost Caches and memory hierarchies Instruction-set architecture (ISA) Defines software/hardware interface Simple pipelining Data and control (branch) dependences Data bypasses Branch prediction © 2005 Edward F. Gehringer ECE 463/521 Lecture Notes, Spring 2005

ECE 463/521 Lecture Notes, Spring 2005 Overview of Topics in 463/521 Complex pipelining and instruction-level parallelism (ILP). Data hazards Dynamic instruction scheduling, register renaming, Tomasulo’s algorithm. Precise interrupts Superscalar, VLIW, and vector processors. © 2005 Edward F. Gehringer ECE 463/521 Lecture Notes, Spring 2005

ECE 463/521 Lecture Notes, Spring 2005 Projects Three projects Cache simulator Branch predictor simulator Dynamic instruction scheduling pipeline simulator Programming for projects is harder than anything most of you have encountered before. © 2005 Edward F. Gehringer ECE 463/521 Lecture Notes, Spring 2005

ECE 463/521 Lecture Notes, Spring 2005 Course Web site http://courses.ncsu.edu/ece463/lec/001 http://courses.ncsu.edu/ece521/lec/001 http://courses.ncsu.edu/ece521/lec/601 These three homepages are linked to a “common” Web site. Any info specific to one course will be listed in the announcements section of that course’s home page. © 2005 Edward F. Gehringer ECE 463/521 Lecture Notes, Spring 2005