Computer Architecture Project Team A Sergio Rico, Ertong Zhang, Vlad Chiriacescu, ZhongYin Zhang.

Slides:



Advertisements
Similar presentations
Morgan Kaufmann Publishers The Processor
Advertisements

Pipeline Summary Try to put everything together for pipelines Before going onto caches. Peer Instruction Lecture Materials for Computer Architecture by.
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.
ELEN 468 Advanced Logic Design
Term Project Overview Yong Wang. Introduction Goal –familiarize with the design and implementation of a simple pipelined RISC processor What to do –Build.
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.
CSCE 212 Quiz 9 – 3/30/11 1.What is the clock cycle time based on for single-cycle and for pipelining? 2.What two actions can be done to resolve data hazards?
Computer ArchitectureFall 2007 © October 3rd, 2007 Majd F. Sakr CS-447– Computer Architecture.
King Fahd University of Petroleum and Minerals King Fahd University of Petroleum and Minerals Computer Engineering Department Computer Engineering Department.
Review for Midterm 2 CPSC 321 Computer Architecture Andreas Klappenecker.
7/2/ _23 1 Pipelining ECE-445 Computer Organization Dr. Ron Hayne Electrical and Computer Engineering.
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.
Pipelining. Overview Pipelining is widely used in modern processors. Pipelining improves system performance in terms of throughput. Pipelined organization.
CSE430/830 Course Project Tutorial Instructor: Dr. Hong Jiang TA: Dongyuan Zhan Project Duration: 01/26/11 – 04/29/11.
Instruction Sets and Pipelining Cover basics of instruction set types and fundamental ideas of pipelining Later in the course we will go into more depth.
Abstraction Question General purpose processors have an abstraction layer fixed at the ISA and have little control over the compilers or code run on the.
1 Pipelining Reconsider the data path we just did Each instruction takes from 3 to 5 clock cycles However, there are parts of hardware that are idle many.
Memory/Storage Architecture Lab Computer Architecture Pipelining Basics.
Chapter 2 Summary Classification of architectures Features that are relatively independent of instruction sets “Different” Processors –DSP and media processors.
CS1104 – Computer Organization PART 2: Computer Architecture Lecture 12 Overview and Concluding Remarks.
Pipelining Enhancing Performance. Datapath as Designed in Ch. 5 Consider execution of: lw $t1,100($t0) lw $t2,200($t0) lw $t3,300($t0) Datapath segments.
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.
CMPE 421 Parallel Computer Architecture
Chapter 6 Pipelined CPU Design. Spring 2005 ELEC 5200/6200 From Patterson/Hennessey Slides Pipelined operation – laundry analogy Text Fig. 6.1.
Winter 2002CSE Topic Branch Hazards in the Pipelined Processor.
5/13/99 Ashish Sabharwal1 Pipelining and Hazards n Hazards occur because –Don’t have enough resources (ALU’s, memory,…) Structural Hazard –Need a value.
CSCE 430: Computer Architecture Final Project Group E: Matt Horn Dongpu Jin Nick Briganti Sean Hicks.
Adapted from Computer Organization and Design, Patterson & Hennessy, UCB ECE232: Hardware Organization and Design Part 13: Branch prediction (Chapter 4/6)
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.
EECS 370 Discussion 1 Calvin and Hobbes by Bill Watterson.
CS 352H: Computer Systems Architecture
Computer Organization CS224
CS2100 Computer Organization
CDA3101 Recitation Section 8
CDA 3101 Spring 2016 Introduction to Computer Organization
Pipelining Chapter 6.
CSCI206 - Computer Organization & Programming
Morgan Kaufmann Publishers
ELEN 468 Advanced Logic Design
Single Clock Datapath With Control
Pipeline Implementation (4.6)
CDA 3101 Spring 2016 Introduction to Computer Organization
Computer Architecture Lecture 3
Pipelining review.
Pipelining Chapter 6.
The processor: Pipelining and Branching
Computer Architecture
CSCI206 - Computer Organization & Programming
CSC 4250 Computer Architectures
Computer Architecture
CSCI206 - Computer Organization & Programming
The Processor Lecture 3.6: Control Hazards
Control unit extension for data hazards
Pipelining: Basic Concepts
CS 286 Computer Architecture & Organization
Interactive MIPS Datapath Tutorial
Control unit extension for data hazards
CSC3050 – Computer Architecture
Pipelining Chapter 6.
Introduction to Computer Organization and Architecture
Pipelining Chapter 6.
Control unit extension for data hazards
Problem ??: (?? marks) Consider executing the following code on the MIPS pipelined datapath: add $t5, $t6, $t8 add $t9, $t5, $t4 lw $t3, 100($t9) sub $t2,
MIPS Processor.
Presentation transcript:

Computer Architecture Project Team A Sergio Rico, Ertong Zhang, Vlad Chiriacescu, ZhongYin Zhang

Outline Introduction Motivation Experimental Protocol Results

Introduction We implement a pipelined 32-bit RISC processor with forwarding mechanism, controller hazards, and instruction & data caches. Using Quartus II supporting VHDL to conduct the hardware design on Altera’s DE-2 board. Using assembler to implement a bubble sort program for software components.

Motivation Help us master the fundamental ideas of computer architecture and put them into the practice. Familiar with practical hardware & software co-design methodologies for computer architecture.

Experimental Protocol RISC Instruction Set Architecture Single Cycle Processor Data Path Pipelines Hazards Forwarding Static Branch Predictor Caches

RISC Instruction Set Architecture 3 different assembler codes for bubble sort. Finally, we choose the best one to our ISA –Add immediate (addi) –Load word (lw) –Set on less than (signed) (slt) –Branch on equal (beq) –Store word (sw)

Single Cycle Processor Data Path

Basic Idea IFET CONTROLL ER IDE/WB MEMORY EXCUTION

Pipelines IFIDEXMEMWB Basic Idea of 5 Stages Pipelines

Pipelines

Forwarding Before data is sent to the execution (EXE) stage, the ID stage asks the EXE, DM and WB stages to send their current data.

Hazards for LW Instuction Basic Idea –W–We decode the instruction in IF stage, so we can know which instruction is LW (load) in IF stage. –I–If the instruction is a load instruction, we add a bubble, even though we do not know whether there is a hazard between this load instruction and the next instruction. –T–Therefore the pipeline is stalled for one time. As we are going to send a bubble, we do not need to read instruction next time.

Branch Predictor Basic Idea: –We employed the branch not taken method. If the branch is taken, we introduce a bubble in the pipeline and flush the existing data. We change every output data to be "000...”. In essence, this doesn’t affect the system functioning.

Caches Cache NameQuantity Block Size4*32B Associativity1 Number of blocks in cache 16 Total2KB

Write Strategy The write strategy used is write back. Why we choose Write Back? –Since the cache is large compared to data required for the given problem, there are not many write backs and this method clearly outperforms a write-through method.

Results Our final results including: – Total Branch Count – Total Miss predicted Branches – Instruction Memory Access Count – Instruction Cache Misses – Data Memory Access Count – Data Cache Misses – Data Cache Write-Backs

Results

Thanks