Organiza ção e Arquitetura de Computadores Ijoseana/OAC_NA21.pdf · Microarquitetura...

34
DSC/CEEI/UFCG DSC/CEEI/UFCG Universidade Federal de Campina Grande Universidade Federal de Campina Grande Unidade Acadêmica de Sistemas e Computa Unidade Acadêmica de Sistemas e Computa ç ç ão ão Curso de Bacharelado em Ciência da Computa Curso de Bacharelado em Ciência da Computa ç ç ão ão N N í í vel da vel da Microarquitetura Microarquitetura (Parte Complementar) (Parte Complementar) Prof Prof a a Joseana Joseana Macêdo Macêdo Fechine Fechine R R é é gis de Ara gis de Ara ú ú jo jo [email protected] [email protected] Carga Horária: 60 horas Organiza Organiza ç ç ão e Arquitetura ão e Arquitetura de Computadores I de Computadores I

Transcript of Organiza ção e Arquitetura de Computadores Ijoseana/OAC_NA21.pdf · Microarquitetura...

Page 1: Organiza ção e Arquitetura de Computadores Ijoseana/OAC_NA21.pdf · Microarquitetura Microarquitetura: forma como está implementada a arquitetura em hardware Processador: Datapath

DSC/CEEI/UFCGDSC/CEEI/UFCG

Universidade Federal de Campina GrandeUniversidade Federal de Campina Grande

Unidade Acadêmica de Sistemas e ComputaUnidade Acadêmica de Sistemas e Computaççãoão

Curso de Bacharelado em Ciência da ComputaCurso de Bacharelado em Ciência da Computaççãoão

NNíível da vel da MicroarquiteturaMicroarquitetura(Parte Complementar) (Parte Complementar)

ProfProfaa Joseana Joseana MacêdoMacêdo FechineFechine RRéégis de Aragis de Araúú[email protected]@computacao.ufcg.edu.br

Carga Horária: 60 horas

OrganizaOrganizaçção e Arquitetura ão e Arquitetura de Computadores Ide Computadores I

Page 2: Organiza ção e Arquitetura de Computadores Ijoseana/OAC_NA21.pdf · Microarquitetura Microarquitetura: forma como está implementada a arquitetura em hardware Processador: Datapath

2DSC/CEEI/UFCGDSC/CEEI/UFCG

Tópicos

� Nível ISA

� Nível da Microarquitetura

− Datapath

− Unidade de Controle

Page 3: Organiza ção e Arquitetura de Computadores Ijoseana/OAC_NA21.pdf · Microarquitetura Microarquitetura: forma como está implementada a arquitetura em hardware Processador: Datapath

3DSC/CEEI/UFCGDSC/CEEI/UFCG

Microarquitetura

� Microarquitetura: forma como está implementada a

arquitetura em hardware

� Processador:

� Datapath: blocos funcionais

� Controle: sinais de controle

Physics

Devices

Analog

Circuits

Digital

Circuits

Logic

Micro-

architecture

Architecture

OperatingSystems

Application

Software

electrons

transistors

diodes

amplifiers

filters

AND gates

NOT gates

adders

memories

datapaths

controllers

instructions

registers

device drivers

programs

Page 4: Organiza ção e Arquitetura de Computadores Ijoseana/OAC_NA21.pdf · Microarquitetura Microarquitetura: forma como está implementada a arquitetura em hardware Processador: Datapath

4DSC/CEEI/UFCGDSC/CEEI/UFCG

Microarquitetura

Múltiplas implementações para uma mesmaarquitetura:

� Single-cycle− Cada instrução é executada em um único ciclo

� Multicycle− A execução de cada instrução é dividida em uma série

de passos menores

� Pipelined− A execução de cada instrução é dividida em uma série

de passos menores− Múltiplas instruções (parte de) executando ao mesmo

tempo.

Page 5: Organiza ção e Arquitetura de Computadores Ijoseana/OAC_NA21.pdf · Microarquitetura Microarquitetura: forma como está implementada a arquitetura em hardware Processador: Datapath

5DSC/CEEI/UFCGDSC/CEEI/UFCG

Microarquitetura

Conceitos importantes:

� Program execution time

Execution Time = (# instructions)(cycles/instruction)(seconds/cycle)

− Cycles/instruction = CPI

− Seconds/cycle = clock period

− 1/CPI = Instructions/cycle = IPC

� Desafios na implementação de uma microarquitetura

� Custo

� Power

� Desempenho

Page 6: Organiza ção e Arquitetura de Computadores Ijoseana/OAC_NA21.pdf · Microarquitetura Microarquitetura: forma como está implementada a arquitetura em hardware Processador: Datapath

6DSC/CEEI/UFCGDSC/CEEI/UFCG

Microarquitetura

� Processador MIPS

� Subconjunto das instruções MIPS:− R-type instructions: and, or, add, sub, slt

− Memory instructions: lw, sw

− Branch instructions: beq

Page 7: Organiza ção e Arquitetura de Computadores Ijoseana/OAC_NA21.pdf · Microarquitetura Microarquitetura: forma como está implementada a arquitetura em hardware Processador: Datapath

7DSC/CEEI/UFCGDSC/CEEI/UFCG

Micro-Arquitetura

� Estado da Arquitetura

� Determina o estado do Processador em um dado instante de tempo

− PC

− 32 registradores

− Memória

Page 8: Organiza ção e Arquitetura de Computadores Ijoseana/OAC_NA21.pdf · Microarquitetura Microarquitetura: forma como está implementada a arquitetura em hardware Processador: Datapath

8DSC/CEEI/UFCGDSC/CEEI/UFCG

Microarquitetura

� Elementos de estados do MIPS:

A RD

Instruction

Memory

A RD

Data

Memory

WD

WE

CLK

32 32

32

32

32

CLK A1

A3

WD3

RD2

RD1WE3

A2

CLK

Register

File

PCPC'

32 32

32

32

32

5

5

5

Page 9: Organiza ção e Arquitetura de Computadores Ijoseana/OAC_NA21.pdf · Microarquitetura Microarquitetura: forma como está implementada a arquitetura em hardware Processador: Datapath

9DSC/CEEI/UFCGDSC/CEEI/UFCG

Microarquitetura -Processador MIPS

� Datapath

� Unidade de Controle

Page 10: Organiza ção e Arquitetura de Computadores Ijoseana/OAC_NA21.pdf · Microarquitetura Microarquitetura: forma como está implementada a arquitetura em hardware Processador: Datapath

10DSC/CEEI/UFCGDSC/CEEI/UFCG

ProcessadorMIPS Single-Cycle

� Execução de lw

1: Fetch da Instrução

CLK

A RD

InstructionMemory

A1

A3

WD3

RD2

RD1WE3

A2

CLK

RegisterFile

A RD

DataMemory

WD

WEPCPC'

Instr

CLK

Page 11: Organiza ção e Arquitetura de Computadores Ijoseana/OAC_NA21.pdf · Microarquitetura Microarquitetura: forma como está implementada a arquitetura em hardware Processador: Datapath

11DSC/CEEI/UFCGDSC/CEEI/UFCG

ProcessadorMIPS Single-Cycle

� Execução de lw

2: Lê o operando fonte do RF

Instr

CLK

A RD

InstructionMemory

A1

A3

WD3

RD2

RD1WE3

A2

CLK

RegisterFile

A RD

DataMemory

WD

WEPCPC'

25:21

CLK

Page 12: Organiza ção e Arquitetura de Computadores Ijoseana/OAC_NA21.pdf · Microarquitetura Microarquitetura: forma como está implementada a arquitetura em hardware Processador: Datapath

12DSC/CEEI/UFCGDSC/CEEI/UFCG

ProcessadorMIPS Single-Cycle

� Execução de lw

3: Sign-extend o imediato

SignImm

CLK

A RD

InstructionMemory

A1

A3

WD3

RD2

RD1WE3

A2

CLK

Sign Extend

RegisterFile

A RD

DataMemory

WD

WEPCPC' Instr

25:21

15:0

CLK

Page 13: Organiza ção e Arquitetura de Computadores Ijoseana/OAC_NA21.pdf · Microarquitetura Microarquitetura: forma como está implementada a arquitetura em hardware Processador: Datapath

13DSC/CEEI/UFCGDSC/CEEI/UFCG

ProcessadorMIPS Single-Cycle

� Execução de lw

4: Calcula o endereço efetivo de memória

SignImm

CLK

A RD

InstructionMemory

A1

A3

WD3

RD2

RD1WE3

A2

CLK

Sign Extend

RegisterFile

A RD

DataMemory

WD

WEPCPC' Instr

25:21

15:0

SrcB

ALUResult

SrcA Zero

CLK

ALUControl2:0

ALU

010

Page 14: Organiza ção e Arquitetura de Computadores Ijoseana/OAC_NA21.pdf · Microarquitetura Microarquitetura: forma como está implementada a arquitetura em hardware Processador: Datapath

14DSC/CEEI/UFCGDSC/CEEI/UFCG

ProcessadorMIPS Single-Cycle

� Execução de lw

5: Lê o dado da memória e o escreva no RF

A1

A3

WD3

RD2

RD1WE3

A2

SignImm

CLK

A RD

InstructionMemory

CLK

Sign Extend

Register

File

A RD

DataMemory

WD

WEPCPC' Instr

25:21

15:0

SrcB20:16

ALUResult ReadData

SrcA

RegWrite

Zero

CLK

ALUControl2:0

ALU

0101

Page 15: Organiza ção e Arquitetura de Computadores Ijoseana/OAC_NA21.pdf · Microarquitetura Microarquitetura: forma como está implementada a arquitetura em hardware Processador: Datapath

15DSC/CEEI/UFCGDSC/CEEI/UFCG

ProcessadorMIPS Single-Cycle

� Execução de lw

6: Determina o endereço da próxima instrução

SignImm

CLK

A RD

InstructionMemory

+

4

A1

A3

WD3

RD2

RD1WE3

A2

CLK

Sign Extend

RegisterFile

A RD

DataMemory

WD

WEPCPC' Instr

25:21

15:0

SrcB20:16

ALUResult ReadData

SrcA

PCPlus4

Result

RegWrite

Zero

CLK

ALUControl2:0

ALU

0101

Page 16: Organiza ção e Arquitetura de Computadores Ijoseana/OAC_NA21.pdf · Microarquitetura Microarquitetura: forma como está implementada a arquitetura em hardware Processador: Datapath

16DSC/CEEI/UFCGDSC/CEEI/UFCG

ProcessadorMIPS Single-Cycle

� Execução de sw

� Precisa escrever o valor do registrador na memória

SignImm

CLK

A RD

InstructionMemory

+

4

A1

A3

WD3

RD2

RD1WE3

A2

CLK

Sign Extend

RegisterFile

A RD

DataMemory

WD

WEPCPC' Instr

25:21

20:16

15:0

SrcB20:16

ALUResult ReadData

WriteData

SrcA

PCPlus4

Result

MemWriteRegWrite

Zero

CLK

ALUControl2:0

AL

U

10100

Page 17: Organiza ção e Arquitetura de Computadores Ijoseana/OAC_NA21.pdf · Microarquitetura Microarquitetura: forma como está implementada a arquitetura em hardware Processador: Datapath

17DSC/CEEI/UFCGDSC/CEEI/UFCG

ProcessadorMIPS Single-Cycle

� Instruções R-Type: add, sub, and, or, ….

� Escrever ALUResult no RF

− Escreve em rd e não em rt

SignImm

CLK

A RD

InstructionMemory

+

4

A1

A3

WD3

RD2

RD1WE3

A2

CLK

Sign Extend

RegisterFile

0

1

0

1

A RD

DataMemory

WD

WE0

1

PCPC' Instr25:21

20:16

15:0

SrcB

20:16

15:11

ALUResult ReadData

WriteData

SrcA

PCPlus4WriteReg

4:0

Result

RegDst MemWrite MemtoRegALUSrcRegWrite

Zero

CLK

ALUControl2:0

ALU

0varies1 001

Page 18: Organiza ção e Arquitetura de Computadores Ijoseana/OAC_NA21.pdf · Microarquitetura Microarquitetura: forma como está implementada a arquitetura em hardware Processador: Datapath

18DSC/CEEI/UFCGDSC/CEEI/UFCG

ProcessadorMIPS Single-Cycle

� Instrução beq

� Determina se os conteúdos dos registradores são iguais

� Calcula o endereço alvo do desvio

− (sign-extended immediate + PC+4)

SignImm

CLK

A RD

InstructionMemory

+

4

A1

A3

WD3

RD2

RD1WE3

A2

CLK

Sign Extend

RegisterFile

0

1

0

1

A RD

DataMemory

WD

WE0

1

PC0

1

PC' Instr25:21

20:16

15:0

SrcB

20:16

15:11

<<2

+

ALUResult ReadData

WriteData

SrcA

PCPlus4

PCBranch

WriteReg4:0

Result

RegDst Branch MemWrite MemtoRegALUSrcRegWrite

Zero

PCSrc

CLK

ALUControl2:0

ALU

01100 x0x 1

Page 19: Organiza ção e Arquitetura de Computadores Ijoseana/OAC_NA21.pdf · Microarquitetura Microarquitetura: forma como está implementada a arquitetura em hardware Processador: Datapath

19DSC/CEEI/UFCGDSC/CEEI/UFCG

ProcessadorMIPS Single-Cycle

Unidade de Controle

SignImm

CLK

A RD

InstructionMemory

+

4

A1

A3

WD3

RD2

RD1WE3

A2

CLK

Sign Extend

RegisterFile

0

1

0

1

A RD

DataMemory

WD

WE0

1

PC0

1

PC' Instr25:21

20:16

15:0

5:0

SrcB

20:16

15:11

<<2

+

ALUResult ReadData

WriteData

SrcA

PCPlus4

PCBranch

WriteReg4:0

Result

31:26

RegDst

Branch

MemWrite

MemtoReg

ALUSrc

RegWrite

Op

Funct

ControlUnit

Zero

PCSrc

CLK

ALUControl2:0

ALU

Page 20: Organiza ção e Arquitetura de Computadores Ijoseana/OAC_NA21.pdf · Microarquitetura Microarquitetura: forma como está implementada a arquitetura em hardware Processador: Datapath

20DSC/CEEI/UFCGDSC/CEEI/UFCG

ProcessadorMIPS Single-Cycle

RegDst

Branch

MemWrite

MemtoReg

ALUSrcOpcode5:0

ControlUnit

ALUControl2:0Funct5:0

MainDecoder

ALUOp1:0

ALUDecoder

RegWrite

Control Unit

Page 21: Organiza ção e Arquitetura de Computadores Ijoseana/OAC_NA21.pdf · Microarquitetura Microarquitetura: forma como está implementada a arquitetura em hardware Processador: Datapath

21DSC/CEEI/UFCGDSC/CEEI/UFCG

Processador MIPS Single-Cycle

ALU

A & B000

A | B001

A + B010

not used011

A & ~B100

A | ~B101

A - B110

SLT111

FunctionF2:0

ALU

N N

N

3

A B

Y

F

Page 22: Organiza ção e Arquitetura de Computadores Ijoseana/OAC_NA21.pdf · Microarquitetura Microarquitetura: forma como está implementada a arquitetura em hardware Processador: Datapath

22DSC/CEEI/UFCGDSC/CEEI/UFCG

ProcessadorMIPS Single-Cycle

+

2 01

A B

Cout

Y

3

01

F2

F1:0

[N-1] S

NN

N

N

N NNN

N

2

Ze

roE

xte

nd

ALU

Page 23: Organiza ção e Arquitetura de Computadores Ijoseana/OAC_NA21.pdf · Microarquitetura Microarquitetura: forma como está implementada a arquitetura em hardware Processador: Datapath

23DSC/CEEI/UFCGDSC/CEEI/UFCG

ProcessadorMIPS Single-Cycle

ALU Decoder

Not Used11

Look at Funct10

Subtract01

Add00

MeaningALUOp1:0

111 (SLT)101010 (slt)1X

001 (Or)100101 (or)1X

000 (And)100100 (and)1X

110 (Subtract)100010 (sub)1X

010 (Add)100000 (add)1X

110 (Subtract)XX1

010 (Add)X00

ALUControl2:0FunctALUOp1:0

Page 24: Organiza ção e Arquitetura de Computadores Ijoseana/OAC_NA21.pdf · Microarquitetura Microarquitetura: forma como está implementada a arquitetura em hardware Processador: Datapath

24DSC/CEEI/UFCGDSC/CEEI/UFCG

ProcessadorMIPS Single-Cycle

� Funcionalidades

SignImm

CLK

A RD

InstructionMemory

+

4

A1

A3

WD3

RD2

RD1WE3

A2

CLK

Sign Extend

RegisterFile

0

1

0

1

A RD

DataMemory

WD

WE0

1

PC0

1PC' Instr

25:21

20:16

15:0

5:0

SrcB

20:16

15:11

<<2

+

ALUResult ReadData

WriteData

SrcA

PCPlus4

PCBranch

WriteReg4:0

Result

31:26

RegDst

Branch

MemWrite

MemtoReg

ALUSrc

RegWrite

Op

Funct

ControlUnit

Zero

PCSrc

CLK

ALUControl2:0

ALU

0

1

25:0 <<2

27:0 31:28

PCJump

Jump

Page 25: Organiza ção e Arquitetura de Computadores Ijoseana/OAC_NA21.pdf · Microarquitetura Microarquitetura: forma como está implementada a arquitetura em hardware Processador: Datapath

25DSC/CEEI/UFCGDSC/CEEI/UFCG

ProcessadorMIPS Single-Cycle

� Decodificador Principal

1XXX0XXX0000100j

0

0

0

0

0

Jump

00000101001000addi

01X010X0000100beq

00X101X0101011sw

00100101100011lw

10000011000000R-type

ALUOp1:0

MemtoRegMemWriteBranchAluSrcRegDstRegWriteOp5:0

Instruction

Page 26: Organiza ção e Arquitetura de Computadores Ijoseana/OAC_NA21.pdf · Microarquitetura Microarquitetura: forma como está implementada a arquitetura em hardware Processador: Datapath

26DSC/CEEI/UFCGDSC/CEEI/UFCG

ProcessadorMIPS Single-Cycle

� Desempenho: Quão rápido é o processador?

� Cycle time: limitado pelo caminho crítico - lw

SignImm

CLK

A RD

InstructionMemory

+

4

A1

A3

WD3

RD2

RD1WE3

A2

CLK

Sign Extend

RegisterFile

0

1

0

1

A RD

DataMemory

WD

WE0

1

PC0

1

PC' Instr25:21

20:16

15:0

5:0

SrcB

20:16

15:11

<<2

+

ALUResult ReadData

WriteData

SrcA

PCPlus4

PCBranch

WriteReg4:0

Result

31:26

RegDst

Branch

MemWrite

MemtoReg

ALUSrc

RegWrite

Op

Funct

ControlUnit

Zero

PCSrc

CLK

ALUControl2:0

ALU

1

0100

1

0

1

0 0

Page 27: Organiza ção e Arquitetura de Computadores Ijoseana/OAC_NA21.pdf · Microarquitetura Microarquitetura: forma como está implementada a arquitetura em hardware Processador: Datapath

27DSC/CEEI/UFCGDSC/CEEI/UFCG

Processador MIPS Single-Cycle

� Caminho crítico

Tc = tpcq_PC + tmem + max(tRFread, tsext) + tmux + tALU + tmem + tmux + tRFsetup

� Na maioria das implementações os caminhos

limitantes são: memória, ALU, register file. Assim,

Tc = tpcq_PC + 2tmem + tRFread + 2tmux + tALU + tRFsetup

Page 28: Organiza ção e Arquitetura de Computadores Ijoseana/OAC_NA21.pdf · Microarquitetura Microarquitetura: forma como está implementada a arquitetura em hardware Processador: Datapath

28DSC/CEEI/UFCGDSC/CEEI/UFCG

ProcessadorMIPS Single-Cycle

30tpcq_PCRegister clock-to-Q

Delay (ps)ParameterElement

20tsetupRegister setup

25tmuxMultiplexer

200tALUALU

250tmemMemory read

150tRFreadRegister file read

20tRFsetupRegister file setup

Tc = tpcq_PC + 2tmem + tRFread + 2tmux + tALU + tRFsetup

= [30 + 2(250) + 150 + 2(25) + 200 + 20] ps

= 950 ps

Page 29: Organiza ção e Arquitetura de Computadores Ijoseana/OAC_NA21.pdf · Microarquitetura Microarquitetura: forma como está implementada a arquitetura em hardware Processador: Datapath

29DSC/CEEI/UFCGDSC/CEEI/UFCG

ProcessadorMIPS Single-Cycle

� Para um programa com 100 bilhões de instruções executandoem um processador MIPS single-cycle,

� Execution Time

= (# instructions)(cycles/instruction)(seconds/cycle)

= (100 × 109)(1)(950 × 10-12 s)

= 95 seconds

Page 30: Organiza ção e Arquitetura de Computadores Ijoseana/OAC_NA21.pdf · Microarquitetura Microarquitetura: forma como está implementada a arquitetura em hardware Processador: Datapath

30DSC/CEEI/UFCGDSC/CEEI/UFCG

Processadores Intel

Evolução dos Microprocessadores Intel

Page 31: Organiza ção e Arquitetura de Computadores Ijoseana/OAC_NA21.pdf · Microarquitetura Microarquitetura: forma como está implementada a arquitetura em hardware Processador: Datapath

31DSC/CEEI/UFCGDSC/CEEI/UFCG

Processadores Intel

Page 32: Organiza ção e Arquitetura de Computadores Ijoseana/OAC_NA21.pdf · Microarquitetura Microarquitetura: forma como está implementada a arquitetura em hardware Processador: Datapath

32DSC/CEEI/UFCGDSC/CEEI/UFCG

Processadores Intel IA-32

Chip do Pentium 4

Chip do Core Duo

Page 33: Organiza ção e Arquitetura de Computadores Ijoseana/OAC_NA21.pdf · Microarquitetura Microarquitetura: forma como está implementada a arquitetura em hardware Processador: Datapath

33DSC/CEEI/UFCGDSC/CEEI/UFCG

Chip do Core i7

Processadores Intel IA-32

Chip do Core i3 Chip do Core i5

Page 34: Organiza ção e Arquitetura de Computadores Ijoseana/OAC_NA21.pdf · Microarquitetura Microarquitetura: forma como está implementada a arquitetura em hardware Processador: Datapath

34DSC/CEEI/UFCGDSC/CEEI/UFCG

Processadores Intel IA-32

Fonte: http://techreport.com/review/18216/intel-core-i3-and-i5-dual-core-processors