110
Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design Ch. 5: Processor+ Memory December 12, 2008 Ch. 5: Processor+ Memory

Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Embed Size (px)

Citation preview

Page 1: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

Ch. 5: Processor + Memory

December 12, 2008

Ch. 5: Processor + Memory

Page 2: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

Processor: Datapath and Control

Goal:implement hardware to execute instructionsstudy issues of performance

Basic instruction set:lw, sw (memory reference)add, sub, and, or, slt (arithmetic-logical)beq, j (branches)

Ch. 5: Processor + Memory

Page 3: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

Generic Implementation

Figure: Cycle of Execution Instruction

Ch. 5: Processor + Memory

Page 4: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

Outline

1 Overview of ImplementationTwo more details

2 Combinational Elements

3 Sequential Logic ElementsClockLatches and Flip FlopsRegister FileMemory Design

4 MIPS Processor DesignPipeliningExample: Load Instruction

Ch. 5: Processor + Memory

Page 5: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

Steps of Executing an Instruction

1: All classes of instructions require initially:Fetch instruction from memoryRead value of CPU registers (1 or 2)

Ch. 5: Processor + Memory

Page 6: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

Steps of Executing an Instruction

2: Common amongst all (except j): after reading registers, use ALUcalculate address (memory reference)to add (arithmetic-logical)compare (branches)

Ch. 5: Processor + Memory

Page 7: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

Steps of Executing an Instruction

3: Different for each classaccess memory to r/w (memory reference)write from ALU to register (arithmetic-logical)change PC to jump address (branch)

Ch. 5: Processor + Memory

Page 8: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

Abstract View of Implementation

Ch. 5: Processor + Memory

Page 9: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

Choice for Data

Can’t just join the wires

Ch. 5: Processor + Memory

Page 10: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

Choice for Function

Figure: Some Units with Choice for Function

Ch. 5: Processor + Memory

Page 11: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

Adding details

Figure: Adding multiplexors and control

Ch. 5: Processor + Memory

Page 12: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

Logic Elements

Combinational elementswithout memory; o/p depends on i/pbasic elements: AND, OR, AND, . . .ALU, multiplexors

Sequential or state elementso/p depends on i/p + current statememory, registers

Ch. 5: Processor + Memory

Page 13: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

Logic Elements

Combinational elementswithout memory; o/p depends on i/pbasic elements: AND, OR, AND, . . .ALU, multiplexors

Sequential or state elementso/p depends on i/p + current statememory, registers

Ch. 5: Processor + Memory

Page 14: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

Outline

1 Overview of ImplementationTwo more details

2 Combinational Elements

3 Sequential Logic ElementsClockLatches and Flip FlopsRegister FileMemory Design

4 MIPS Processor DesignPipeliningExample: Load Instruction

Ch. 5: Processor + Memory

Page 15: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

Multiplexor

Select one i/p out of many, based on a signal

1-bit Mux with 4 input lines

Figure: Select I0, I1, I2, I3 based on S0, S1

Ch. 5: Processor + Memory

Page 16: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

Multiplexor

Select one i/p out of many, based on a signal

1-bit Mux with 4 input lines

Figure: Select I0, I1, I2, I3 based on S0, S1

Ch. 5: Processor + Memory

Page 17: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

32-bit Multiplexor

Figure: 32-bit Mux with 2 input lines

Ch. 5: Processor + Memory

Page 18: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

32-bit Multiplexor

Figure: 32-bit Multiplexor construction

Ch. 5: Processor + Memory

Page 19: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

One-bit Adder

Simple adder:1 bit numberscarry in, carry out

Figure: One-bit adder

cout = a · b + a · cin + b · cin

sum = a xor b xor cin

Ch. 5: Processor + Memory

Page 20: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

One-bit Adder

Simple adder:1 bit numberscarry in, carry out

Figure: One-bit adder

cout = a · b + a · cin + b · cin

sum = a xor b xor cin

Ch. 5: Processor + Memory

Page 21: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

One-bit Adder

Simple adder:1 bit numberscarry in, carry out

Figure: One-bit adder

cout = a · b + a · cin + b · cin

sum = a xor b xor cin

Ch. 5: Processor + Memory

Page 22: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

32-bit adder

Constructing 32-bit adder from 1-bit adders

Ch. 5: Processor + Memory

Page 23: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

Simple One-bit ALU

Figure: One-bit ALU: AND, OR, ADD

00→ AND01→ OR10→ ADD

Ch. 5: Processor + Memory

Page 24: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

Simple One-bit ALU

Figure: One-bit ALU: AND, OR, ADD

00→ AND01→ OR10→ ADD

Ch. 5: Processor + Memory

Page 25: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

Adding Subtraction

Negate b and add

Figure: Adding subtraction

Figure: Control signals

Ch. 5: Processor + Memory

Page 26: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

Adding Subtraction

Negate b and add

Figure: Adding subtraction

Figure: Control signals

Ch. 5: Processor + Memory

Page 27: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

Adding Subtraction

Negate b and add

Figure: Adding subtraction

Figure: Control signals

Ch. 5: Processor + Memory

Page 28: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

32-bit ALU

Ch. 5: Processor + Memory

Page 29: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

Adding set-less-than

Can be implemented with subtraction

For all except LSB: output is 0

For LSB: output is sign(A − B)

Strategy:Input of all ALU’s except LSB: 0 (passes through)Input of LSB: Set output of MSB

Ch. 5: Processor + Memory

Page 30: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

Adding set-less-than

Can be implemented with subtraction

For all except LSB: output is 0

For LSB: output is sign(A − B)Strategy:

Input of all ALU’s except LSB: 0 (passes through)Input of LSB: Set output of MSB

Ch. 5: Processor + Memory

Page 31: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

ALU Designs with SLT

Figure: ALU for non-MSB bits with 5 functionsFigure: ALU for MSB bit (with shiny overflowdetection!)

Operation: 3, BInvert: 1

Ch. 5: Processor + Memory

Page 32: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

32-bit ALU with SLT

Figure: 32-bit ALU with Set-Less-ThanCh. 5: Processor + Memory

Page 33: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

Outline

1 Overview of ImplementationTwo more details

2 Combinational Elements

3 Sequential Logic ElementsClockLatches and Flip FlopsRegister FileMemory Design

4 MIPS Processor DesignPipeliningExample: Load Instruction

Ch. 5: Processor + Memory

Page 34: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

Clock and Clocking Methodology

When should a sequential element’s state be written/readin a synchronous system

Figure: Clock Signal

Edge-triggered clockingfall or rise is activecauses state changeusually rise

Ch. 5: Processor + Memory

Page 35: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

Clock and Clocking Methodology

When should a sequential element’s state be written/readin a synchronous system

Figure: Clock Signal

Edge-triggered clockingfall or rise is activecauses state changeusually rise

Ch. 5: Processor + Memory

Page 36: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

Clock

I/p, O/p to combinational elements→ sequential elements

∵ they don’t store anything

Figure: Combinational Logic behavior with Clock

Ch. 5: Processor + Memory

Page 37: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

Clock

I/p, O/p to combinational elements→ sequential elements∵ they don’t store anything

Figure: Combinational Logic behavior with Clock

Ch. 5: Processor + Memory

Page 38: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

S-R Latch

Simplest memory element

Output = stored value

Change stored value: set-reset

Unclocked

Figure: S-R Latch Figure: Operation of the S-R Latch

Ch. 5: Processor + Memory

Page 39: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

S-R Latch

Simplest memory element

Output = stored value

Change stored value: set-reset

Unclocked

Figure: S-R Latch Figure: Operation of the S-R Latch

Ch. 5: Processor + Memory

Page 40: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

D Latch

Output = stored value

Stored value changes based on clock (enable)

Figure: D Latch

Figure: D Latch Operation

Functioning:C = 1⇒ Q = DC = 0⇒ Q = Dprevious

Ch. 5: Processor + Memory

Page 41: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

D Latch

Output = stored value

Stored value changes based on clock (enable)

Figure: D Latch

Figure: D Latch Operation

Functioning:C = 1⇒ Q = DC = 0⇒ Q = Dprevious

Ch. 5: Processor + Memory

Page 42: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

D Flip-Flop

Slightly more complicated than the latch

Figure: D Flip-Flop

Figure: D Flip-Flop and Latch

Latch: state changes with change in input and clock being asserted (=1)Flip-flop: state changes only on clock rise

not as transparent as latchOnly flip-flops since using edge-triggered clocking

Ch. 5: Processor + Memory

Page 43: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

D Flip-Flop

Slightly more complicated than the latch

Figure: D Flip-Flop

Figure: D Flip-Flop and Latch

Latch: state changes with change in input and clock being asserted (=1)Flip-flop: state changes only on clock rise

not as transparent as latchOnly flip-flops since using edge-triggered clocking

Ch. 5: Processor + Memory

Page 44: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

D Flip-Flop

Slightly more complicated than the latch

Figure: D Flip-Flop

Figure: D Flip-Flop and Latch

Latch: state changes with change in input and clock being asserted (=1)Flip-flop: state changes only on clock rise

not as transparent as latchOnly flip-flops since using edge-triggered clocking

Ch. 5: Processor + Memory

Page 45: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

Registers

Figure: Simple register made with flip-flop

Ch. 5: Processor + Memory

Page 46: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

Register File Design

Set of registersRead/write by supplying register no. (and data)Uses D Flip-Flop as building block

Figure: Register File Design

2 read ports, 1 write port

Ch. 5: Processor + Memory

Page 47: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

Register File Design

Set of registersRead/write by supplying register no. (and data)Uses D Flip-Flop as building block

Figure: Register File Design

2 read ports, 1 write port

Ch. 5: Processor + Memory

Page 48: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

MIPS Register File

32, 32-bit registers

Figure: MIPS registers

5-bit read and write lines32-bit data lines

Ch. 5: Processor + Memory

Page 49: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

Reading from Register Files

Figure: Reading from RF - internals

Figure: Reading from RF - the lines

Ch. 5: Processor + Memory

Page 50: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

Writing to Register Files

Figure: Writing to RF - internals

Figure: Writing to RF - the lines

Ch. 5: Processor + Memory

Page 51: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

Introduction

Two technologiesStatic Random Access MemoryDynamic Random Access Memoryboth volatile

Constructed from smaller chipsEach chip has a configuration:

128M*1: 128M addressable locations of 1-bit each16M*8: 16M addressable locations of 8-bit each

Ch. 5: Processor + Memory

Page 52: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

Memory Chip Design

read/write: 8 bits wide

32K addressable locationsFunctioning:

CS (Chip Select): 1 for r/wR=0, W=0⇒ chip not beingaccessedR=0, W=1⇒write data inDin at Address locationR=1, W=0⇒ read into Doutthe value from chip atlocation Address Figure: A 32K*8 RAM

Ch. 5: Processor + Memory

Page 53: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

SRAM Structure

Figure: Bsic Structural Design of 4X2 SRAM Chip

Ch. 5: Processor + Memory

Page 54: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

Outline

1 Overview of ImplementationTwo more details

2 Combinational Elements

3 Sequential Logic ElementsClockLatches and Flip FlopsRegister FileMemory Design

4 MIPS Processor DesignPipeliningExample: Load Instruction

Ch. 5: Processor + Memory

Page 55: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

Introduction

Implementation of MIPS SystemDatapath: MIPS Processor + Memoryalso control unit

Single cycle design: all instructions take one clock-cycle

long clock period (accomodate slowest instruction)cannot reuse resources in a single cycle⇒ duplication

Ch. 5: Processor + Memory

Page 56: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

Introduction

Implementation of MIPS SystemDatapath: MIPS Processor + Memoryalso control unit

Single cycle design: all instructions take one clock-cyclelong clock period (accomodate slowest instruction)cannot reuse resources in a single cycle⇒ duplication

Ch. 5: Processor + Memory

Page 57: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

Datapath Elements

Figure: Elements used in MIPS Datapath

Ch. 5: Processor + Memory

Page 58: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

Edge-triggered Methodology

Figure: Edge-triggered Methodology

Execution strategy:read content of a state element at beginning of clock cyclesend values through a combinational elementwrite result to a state element at end of clock cycle

edge-triggered⇒ read and write in same cycle

Ch. 5: Processor + Memory

Page 59: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

Edge-triggered Methodology

Figure: Edge-triggered Methodology

Execution strategy:read content of a state element at beginning of clock cyclesend values through a combinational elementwrite result to a state element at end of clock cycle

edge-triggered⇒ read and write in same cycle

Ch. 5: Processor + Memory

Page 60: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

PC Increment

Figure: PC Increment Circuit

Ch. 5: Processor + Memory

Page 61: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

Datapath for R-type Instructions

Ch. 5: Processor + Memory

Page 62: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

Datapath for load/save Instructions

Control signals:lw, sw: ALU control=0010 (for address calculations)sw: Memread=0, Memwrite=1, Regwrite=0lw: Memread=1, Memwrite=0, Regwrite=1

Ch. 5: Processor + Memory

Page 63: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

Datapath for lw, sw and R-type Instructions

Ch. 5: Processor + Memory

Page 64: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

Datapath for beq Instruction

Ch. 5: Processor + Memory

Page 65: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

Datapath for R-type, lw/sw, beq Instructions

Ch. 5: Processor + Memory

Page 66: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

Datapath and Control Circuit

Ch. 5: Processor + Memory

Page 67: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

Control Signals and Opcode

Figure: Control signals depend on the Opcode

Ch. 5: Processor + Memory

Page 68: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

Control Signal Generation

Ch. 5: Processor + Memory

Page 69: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

Datapath for R-type, lw/sw, beq, j Instructions

Figure: The complete datapath

Ch. 5: Processor + Memory

Page 70: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

Control Circuit with Jump Included

Ch. 5: Processor + Memory

Page 71: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

About Single-cycle design

Inefficient designSingle-cycle design⇒ CPI = ?

CPI = 1

Slowest instruction ≡ Longest possible machine paththe load instruction; uses 5 functional units:

instruction memoryregister fileALUdata memoryregister file

Fastest?probably jump

Ch. 5: Processor + Memory

Page 72: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

About Single-cycle design

Inefficient designSingle-cycle design⇒ CPI = ?

CPI = 1

Slowest instruction ≡ Longest possible machine path

the load instruction; uses 5 functional units:instruction memoryregister fileALUdata memoryregister file

Fastest?probably jump

Ch. 5: Processor + Memory

Page 73: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

About Single-cycle design

Inefficient designSingle-cycle design⇒ CPI = ?

CPI = 1

Slowest instruction ≡ Longest possible machine paththe load instruction; uses 5 functional units:

instruction memoryregister fileALUdata memoryregister file

Fastest?probably jump

Ch. 5: Processor + Memory

Page 74: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

About Single-cycle design

Inefficient designSingle-cycle design⇒ CPI = ?

CPI = 1

Slowest instruction ≡ Longest possible machine paththe load instruction; uses 5 functional units:

instruction memoryregister fileALUdata memoryregister file

Fastest?

probably jump

Ch. 5: Processor + Memory

Page 75: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

About Single-cycle design

Inefficient designSingle-cycle design⇒ CPI = ?

CPI = 1

Slowest instruction ≡ Longest possible machine paththe load instruction; uses 5 functional units:

instruction memoryregister fileALUdata memoryregister file

Fastest?probably jump

Ch. 5: Processor + Memory

Page 76: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

About Single-cycle design

Acceptable if fewer instructions

used in older, simpler ISA implementations

terrible for ISA with complex instructions, such as floating point operationsDual problems:

violates ”make the common-case faster” principle (performance)need to duplicate hardware (cost)

Ch. 5: Processor + Memory

Page 77: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

About Single-cycle design

Acceptable if fewer instructionsused in older, simpler ISA implementations

terrible for ISA with complex instructions, such as floating point operationsDual problems:

violates ”make the common-case faster” principle (performance)need to duplicate hardware (cost)

Ch. 5: Processor + Memory

Page 78: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

About Single-cycle design

Acceptable if fewer instructionsused in older, simpler ISA implementations

terrible for ISA with complex instructions, such as floating point operations

Dual problems:violates ”make the common-case faster” principle (performance)need to duplicate hardware (cost)

Ch. 5: Processor + Memory

Page 79: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

About Single-cycle design

Acceptable if fewer instructionsused in older, simpler ISA implementations

terrible for ISA with complex instructions, such as floating point operationsDual problems:

violates ”make the common-case faster” principle (performance)need to duplicate hardware (cost)

Ch. 5: Processor + Memory

Page 80: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

Improvements over Single-cycle Design

Two ways to improve (performance and cost):multi-cycle design:

some instructions run faster than others

Pipelining:Overlap execution of instructions

Ch. 5: Processor + Memory

Page 81: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

Improvements over Single-cycle Design

Two ways to improve (performance and cost):multi-cycle design:

some instructions run faster than othersPipelining:

Overlap execution of instructions

Ch. 5: Processor + Memory

Page 82: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

Ch. 5: Processor + Memory

Page 83: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

Pipelining: Introduction

Run multiple instructions in parallel

Improves performance and hardware utilization

similar to assembly line, laundry cleaning

Ch. 5: Processor + Memory

Page 84: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

Example of Pipelining

Ch. 5: Processor + Memory

Page 85: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

Introduction

First: identify steps in instruction execution

Five steps in any MIPS instruction:Fetch instructionRead registers (while simultaneously decoding)Execute operation / calculate addressAccess data memoryWrite results to register

Ch. 5: Processor + Memory

Page 86: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

Introduction

First: identify steps in instruction executionFive steps in any MIPS instruction:

Fetch instructionRead registers (while simultaneously decoding)Execute operation / calculate addressAccess data memoryWrite results to register

Ch. 5: Processor + Memory

Page 87: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

Execution Time Improvement with Pipelining

Figure: Total time for each instruction

Figure: Single-cycle non-pipelined execution

Total execution time: 800 * 3 = 2400 ps

Ch. 5: Processor + Memory

Page 88: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

Execution Time Improvement with Pipelining

Figure: Total time for each instruction

Figure: Single-cycle non-pipelined execution

Total execution time: 800 * 3 = 2400 ps

Ch. 5: Processor + Memory

Page 89: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

Execution Time Improvement with Pipelining

Figure: Pipelined execution

Total execution time: << 2400 ps

Ch. 5: Processor + Memory

Page 90: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

Pipelined Execution

Clock cycle relates to single operation, rather than an instruction

Accomodate the slowest operation: 200 ps

Read and write to register can happen in different halves of same cycle

Ch. 5: Processor + Memory

Page 91: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

Pipelining the Datapath

Figure: Datapath without pipelining

Data flows left-to-right through stages, exceptwrite to register and write to PCdoes not affect current instruction

Ch. 5: Processor + Memory

Page 92: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

Instruction Execution in Pipeline

Figure: Instruction execution in single-cycle datapath with pipeline

Virtually every instruction has its own datapath, but staggered

Ch. 5: Processor + Memory

Page 93: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

Pipelinig the Datapath

Need to store data for an instruction as it passes through the datapathfor e.g., the value read from IM must be stored so it’s available for later stages⇒ add registers at every stage

Each instruction advances to next stage on clock cycle

Ch. 5: Processor + Memory

Page 94: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

Pipelining the Datapath

Figure: Pipelined Datapath

Ch. 5: Processor + Memory

Page 95: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

Ch. 5: Processor + Memory

Page 96: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

First Stage

Figure: Instruction Fetch

Fetch instruction; Increment PC (save in IF/ID register also)

Ch. 5: Processor + Memory

Page 97: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

First Stage

Figure: Instruction Fetch

Fetch instruction; Increment PC (save in IF/ID register also)

Ch. 5: Processor + Memory

Page 98: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

Second Stage

Figure: Instruction decode and register read

Store in ID/EX registers:Incremented PC address2 register valuessign extended offset

Ch. 5: Processor + Memory

Page 99: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

Second Stage

Figure: Instruction decode and register read

Store in ID/EX registers:Incremented PC address2 register valuessign extended offset

Ch. 5: Processor + Memory

Page 100: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

Third Stage

Figure: Execute or Address Calculation

add register 1 to offset

sum place in EX/MEM register

Ch. 5: Processor + Memory

Page 101: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

Third Stage

Figure: Execute or Address Calculation

add register 1 to offset

sum place in EX/MEM register

Ch. 5: Processor + Memory

Page 102: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

Fourth Stage

Figure: Memory Access

load the memory data into MEM/WB register

Ch. 5: Processor + Memory

Page 103: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

Fourth Stage

Figure: Memory Access

load the memory data into MEM/WB register

Ch. 5: Processor + Memory

Page 104: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

Fifth Stage

Figure: Write Back

Read from MEM/WB register into register fileError?

save address for register file is not preserved

Ch. 5: Processor + Memory

Page 105: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

Fifth Stage

Figure: Write Back

Read from MEM/WB register into register fileError?

save address for register file is not preserved

Ch. 5: Processor + Memory

Page 106: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

Fifth Stage

Figure: Write Back

Read from MEM/WB register into register fileError?

save address for register file is not preserved

Ch. 5: Processor + Memory

Page 107: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

Corrected Pipeline Datapath

Figure: Correction made for load instruction

Ch. 5: Processor + Memory

Page 108: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

Control Lines

Store and pass Control signals as well

Figure: Including control signals

Ch. 5: Processor + Memory

Page 109: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

Control Lines

Store and pass Control signals as well

Figure: Including control signals

Ch. 5: Processor + Memory

Page 110: Ch. 5: Processor + Memory - Manchester Universityusers.manchester.edu/facstaff/rahmad/classes/308/slides/processor.pdf · Overview of ImplementationCombinational Elements Sequential

Overview of Implementation Combinational Elements Sequential Logic Elements MIPS Processor Design

Complete Pipelined Architecture

Figure: Datapath and Control of Pipelined MIPS

Ch. 5: Processor + Memory