Processor Organization Datapath Design 4 October 2013

32
CDA 3101 Spring 2016 Introduction to Computer Organization Processor Organization Datapath Design 16 February 2016

description

CDA 3101 Fall 2013 Introduction to Computer Organization. Processor Organization Datapath Design 4 October 2013. Review. Construction of the ALU Building blocks (digital design gates) Modular design Multiplexor chooses operation - PowerPoint PPT Presentation

Transcript of Processor Organization Datapath Design 4 October 2013

Page 1: Processor Organization Datapath Design 4 October 2013

CDA 3101 Spring 2016

Introduction to Computer Organization

Processor Organization

Datapath Design

16 February 2016

Page 2: Processor Organization Datapath Design 4 October 2013

Review

• Construction of the ALU– Building blocks (digital design gates)

– Modular design• Multiplexor chooses operation

• All operations are performed in parallel

– Carry lookahead adder

• Computer arithmetic– Finite precision

– Laws of algebra do not always hold

– Integers: two’s complement representation

– Floating point: IEEE 754 standard

Page 3: Processor Organization Datapath Design 4 October 2013

Overview• Computer organization (microarchitecture)• Processor organization

– Datapath

– Control

– Register file

• Processor implementation overview• Clocking methodologies• Sequential circuits

– Latches

– Registers

Page 4: Processor Organization Datapath Design 4 October 2013

Review: Processor Performance

Program

Compiler

ISA

Microarchitecture

Hardware

CPU time = IC * CPI * Cycle time

Page 5: Processor Organization Datapath Design 4 October 2013

Review: Computer Organization

I/O device

I/O device

I/O Subsystem

Processor Memory Subsystem

. . .

Address Bus

Data Bus

Control Bus

Page 6: Processor Organization Datapath Design 4 October 2013

Review: The Processor

• Processor (CPU)– Active part of the computer– Does all the work

• Data manipulation • Decision-making

• Datapath– Hardware that perform all required operations– ALU + registers + internal buses– The brawn

• Control – Hardware which tells the datapath what needs to be done– The brain

Page 7: Processor Organization Datapath Design 4 October 2013

Review: Processor Organization

ALU

Control Unit

Registers

Control signals

Data values

Control signals

Control bus signals

Data values (results)

Data values (operands)

Address bus Data bus

Page 8: Processor Organization Datapath Design 4 October 2013

Implementation of MIPS• ISA determines many aspects of implementation• Implementation strategies affect clock rate and CPI• MIPS subset to illustrate implementation

– Memory-reference instructions• Load word (lw)• Save word (sw)

– Integer arithmetic and logical instructions• add, sub, and, or, and slt

– Branch instructions• Branch if equal (beq)• Jump (j)

Page 9: Processor Organization Datapath Design 4 October 2013

Implementation OverviewPC

Instructionmemory

+4

rtrs

rd

Registers ALUData

memory

immData

Data

Address

Controller

Opcode, funct

Address

Instruction

° Datapath is based on register transfers required to execute instructions

° Control causes the right transfers to happen

Page 10: Processor Organization Datapath Design 4 October 2013

Logic and Clocking

• Combinational elements– Outputs depend only on current inputs– Example: ALU (adders, multiplexers, shifters)

• Sequential elements– Contain state– Output depend on input and state– Inputs: data values and clock– Memory, registers

• Asserted signal: logically high

Page 11: Processor Organization Datapath Design 4 October 2013

Clocking Methodology

• Determines the order of (gate) events– Defines when signals can be read/written

• Clock: circuit that emits a series of pulses

clock

Timing diagrams

C Asymmetric clock

clock cycletime

(C1 AND C2)

Rising edge Falling edge

Page 12: Processor Organization Datapath Design 4 October 2013

Edge-Triggered Clocking

State

element

1

State

element

2

Combinational logic

State

element Combinational

logic

• Either the rising edge or the falling edge is active

• State changes only on the active clock edge

clock

Page 13: Processor Organization Datapath Design 4 October 2013

Review: NOR SR Latch

State 0 State 1

Inputs S - set

R - resetOutputs: Q and Q

Page 14: Processor Organization Datapath Design 4 October 2013

Review: Clocked SR Latch

Page 15: Processor Organization Datapath Design 4 October 2013

Review: Clocked D Latch

D

C

Q

Output is initially deasserted

Page 16: Processor Organization Datapath Design 4 October 2013

Review: D flip-flop

D

C

Q

C

D QD

latchC

D QD

latch

C

D Q

QQ

Setup time

hold time

Falling-edge trigger, output is initially deasserted

Page 17: Processor Organization Datapath Design 4 October 2013

Register File

Read ports

Write port

Page 18: Processor Organization Datapath Design 4 October 2013

Register File Read Ports

Page 19: Processor Organization Datapath Design 4 October 2013

Register File Write Ports

Page 20: Processor Organization Datapath Design 4 October 2013

Core Topic –Datapath Design

• Datapath implements fetch-decode-execute

• Design Methodology

Determine instruction classes and formats Build datapath sections for each instr.fmt.Compose sections to yield MIPS datapath

• Challenge #1: What are instruction classes?

• Challenge #2: What components are useful?

Page 21: Processor Organization Datapath Design 4 October 2013

Simple Datapath Components• Memory stores the instruction• PC address of current instruction• ALU executes current instruction

PC Read Addr

Instruction

Instruction Memory

4+

fetch

Increment program counter

Page 22: Processor Organization Datapath Design 4 October 2013

R-format Datapath

• Format: opcode r1, r2, r3

Result

Zero

ALU

Read Data 1

Read Data 2

Read Reg 1

Read Reg 2

Write Register

Write Data

Register Write

ALU op

Register File 3

Instruction

Page 23: Processor Organization Datapath Design 4 October 2013

Load/Store Datapath Issues

• lw $t1, offset($t2)– Memory at base $t2 with offset – lw: Read memory, write into register $t1 – sw: Read from register $t, write to memory

• Address computation – ISA says:– Sign-extend 16-bit offset to 32-bit signed value

• Hardware: Data memory for read/write

Page 24: Processor Organization Datapath Design 4 October 2013

Load/Store Datapath Components

Address

Read data

Write data

MemWrite

MemRead

Data Memory

Sign Extend

16 32

1101 … 0011

1111 1111 1111 1111 1101 … 0011

Page 25: Processor Organization Datapath Design 4 October 2013

Load/Store Datapath Actions

1. Register Access Register File-- Instruction/Data/Address Fetch

2. Memory Address Calculation ALU-- Address Decode

3. Read/Write from Memory Data Memory4. Write into Register File Register File

-- Load/Store Instruction Execute

Page 26: Processor Organization Datapath Design 4 October 2013

Load/Store Datapath

Fetch Decode Execute

Page 27: Processor Organization Datapath Design 4 October 2013

Branch Datapath Issues

• beq $t1, $t2, offset– Two registers ($t1, $t2) compared for equality– 16-bit offset to compute branch target address

• Branch target address – ISA says:– Add sign-extended offset to PC– Base address is instruction after branch (PC+4)– Shift offset left 2 bits => word offset

• Jump to target– Replace lower 26 bits of PC with lower 26 bits

of instruction shifted left 2 bits

Page 28: Processor Organization Datapath Design 4 October 2013

Branch Datapath Actions

1. Register Access Register File-- Instruction/Data Fetch

2. Evaluate Branch Condition ALU #13. Calculate Branch Target ALU #2

-- Branch Computation – similar to Decode

4. Jump to Branch Target Control Logic-- Branch Instruction Execute

Page 29: Processor Organization Datapath Design 4 October 2013

Branch Datapath

Fetch Decode Execute

Page 30: Processor Organization Datapath Design 4 October 2013

Delayed Branch (MIPS)

• MIPS ISA: Branches always delayed

- Instr. Ib following branch is always executed- condition = false => Normal branch- condition = true => Ib executed

Why bother?

1. Improves efficiency of pipelining

2. Branch not taken (false condition) can be common case

Page 31: Processor Organization Datapath Design 4 October 2013

Conclusions• MIPS ISA: Three instruction formats (R,I,J)

• Datapath designed for each instruction format

• Datapath Components:

-- R-format: ALU, Register File

-- I-format: Sign Extender, Data Memory

-- J-format: ALU #2 for target address comp’n.

Trick: Delayed branch to make pipeline efficient

Think: Weekend !

Page 32: Processor Organization Datapath Design 4 October 2013

Anticipate the Exam Weekend!!

PictureYourself

(source: http://2.bp.blogspot.com/-xrqPjIn_TzY/T1fBG46f9_I/AAAAAAAAFCI/08-6uj3-D3w/s1600/big-wave-surfing-3.jpg)