85
Universidade de Bras Universidade de Bras í í lia lia Pipelining Organiza Organiza çã çã o e Arquitetura de o e Arquitetura de Computadores Computadores

Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

Universidade de BrasUniversidade de Brasíílialia

PipeliningOrganizaOrganizaçãção e Arquitetura deo e Arquitetura de

ComputadoresComputadores

Page 2: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

Objetivo

n Apresentar a utilização de uma técnicapara aumento de desempenho dearquiteturas de processadores:

n Pipeline :n O que facilita o pipeline:

n Todas instruções têm o mesmo comprimento.

n Poucos formatos de instruções.

n Operandos em memória só aparecem em loads estores.

Page 3: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

Objetivo

n Pipeline :n O que complica (hazards):

n Propriedades estruturais: memória única, p.ex..

n Controle de fluxo: instruções de desvio.

n Dependências (de dados): uma instruçãodepende do resultado de outra anterior.

Page 4: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

Montagem de uma Bicicleta

tempo

1 2 3 4 5

uma pessoa leva 5 unidades de tempo para montar uma bicicleta

Page 5: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

Linha de Montagem (pipeline)

tempo/ espaço

1 2 3 4 5

Page 6: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

Linha de Montagem (pipeline)

tempo/ espaço

1 2 3 4 5

Page 7: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

Linha de Montagem (pipeline)

n A latência do pipeline é o tempo que umabicicleta leva para ser montada

n Neste exemplo, a latência é 5 unidades de tempo

n A taxa de produção (ou vazão) do pipeline é deuma bicicleta por unidade de tempo

n O pipeline só começa a produzir nessa taxa umavez que linha esteja cheia

n Primeira bicicleta produzida em 5 UTn Após a primeira, o pipe produz uma bicicleta por

UT

Page 8: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

Balanceamento do Pipeline

n Suponha que a operação Montagem da RodaTrazeira requeira duas unidades de tempo

n Uma unidade para montar a correia

n Uma unidade para montar a roda

n O que ocorre com a latência do pipeline ?

n O que ocorre com a vazão ?

n Como otimizar o pipeline neste caso ?

Page 9: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

Balanceamento do Pipelinen O pipeline não funciona se as tarefas não requerem o

mesmo tempon Se uma tarefa leva 2 UT, todas tem que trabalhar

neste períodon Latência do pipeline seria 10 UTn Vazão seria uma bicicleta / 2 UT

n Dividindo a tarefa em duas subtarefas de 1 UT cada,teríamos:

n Latência de 6 UTn Vazão de 1 Bici / UT

Page 10: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

Pipelining em Hardware

n Pipelining é uma técnica de projeto onde ohardware processa mais de uma instruçãode cada vez sem esperar que umainstrução termine antes de começar apróxima.

Page 11: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

Pipelining

n Numa máquina sem pipeline os quatroestágios básicos de uma instruçãocompreendem:

n busca

n decodificação

n execução

n atualização

Page 12: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

Pipelining

n Os mesmos estágios existem numamáquina com pipeline, porém sãoexecutados em paralelo: assim que umestágio termina, passa o resultado para opróximo e começa a trabalhar a próximainstrução.

Page 13: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

Pipelining

n Num projeto de pipeline RISC típico, cadainstrução toma um ciclo de clock para cadaestágio de modo que o processador podeaceitar uma nova instrução a cada ciclo declock.

Page 14: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

Pipelining

n O pipeline não alivia o tempo de latênciadas instruções. Cada instrução continuanecessitando da mesma quantidade detempo para ser terminada.

n O pipeline melhora o throughput global.

Page 15: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

Contém somente:• instruções de referência à memória: lw,sw• instruções aritméticas/lógicas: add,sub,and,or,slt• instruções de controle de fluxo: beq,j

Exemplo: arquitetura MIPS

Jumpdresstarget adopFormato J

Transferência, desvios, imediatoiatess/immedaddrertrsopFormato I

Instruções aritméticasfunctshamtrdrtrsopFormato R

Todas instruções têm 32 bits6 bits5 bits5 bits5 bits5 bits6 bitsTamanho

ComentáriosposCamNome

Page 16: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

MIPS Uniciclo

AL

UPCPC Endereço Instrução

Memória deinstruções

Dados

Registro #

Registro #

Registro #

Registros

Endereços

Dados

Memóriade dados

Page 17: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

Busca de Instruções

PCPC Endereço Instrução

Memória deinstruções

Ad

d

4

Page 18: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

Instruções do Tipo-R

ALU

WriteData

ReadReg1

ReadReg2

WriteReg

Registros

Instrução

Readdata1

Readdata2

Zero

result

RegWrite

3 Operação da UAL

Page 19: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

Instruções load e store

ALU

WriteData

ReadReg1

ReadReg2

WriteReg

Registros

Instrução

Readdata1

Readdata2

Zero

result

RegWrite

3 Operação da UAL

Endereços

WriteData

Memóriade dados

Extensãode sinal

Extensãode sinal

16 32

MemWrite

MemRead

Readdata

Page 20: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

Instruções de desvio

ALU

WriteData

ReadReg1

ReadReg2

WriteReg

Registros

InstruçãoReaddata1

Readdata2

Zero

RegWrite

3 Operação da UAL

Extensãode sinal

Extensãode sinal

16 32

Add

Shiftleft 2

Shiftleft 2

branch control logic

endereço de desvio

PC + 4

Page 21: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

Juntando as partes

ALU

WriteData

ReadReg1

ReadReg2

WriteReg

Registros

Readdata1

Readdata2

Zero

RegWrite

3 Operação da UAL

Extensãode sinal

Extensãode sinal

16 32

Add

Shiftleft 2

Shiftleft 2

PCPC

EndereçoInstrução

Memória deinstruções

Ad

d

4

Endereços

WriteData

Memória dedados

MemWrite

MemRead

ReaddataM

UX

MUX

MUX

MUX

MUX

MUX

PCSrc

ALUSrc

MemtoReg

Page 22: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

ControleControle

Branch

MUX

MUX

ALU

WriteData

ReadReg1

ReadReg2

WriteReg

Registros

Readdata1

Readdata2

Zero

RegWrite

Extensãode sinal

Extensãode sinal

16 32

Add

PCPC Endereço

Instrução

Memória deinstruções

Ad

d

4

Endereços

WriteData

Memória dedados

MemWrite

MemRead

ReaddataM

UX

MUX M

UX

MUX

MUX

MUX

PCSrcALUSrc

MemtoReg

ALUcontrol

ALUcontrol

ALUOp

RegDst

[15 - 0]

[15 - 11]

[20 - 16]

[25 - 21]

[31 - 26]

[31 - 0]

Incluindo controle

[5 - 0]

Shiftleft 2

Shiftleft 2

Page 23: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

MIPS: Projetado para Pipeline

n Todas instruções de mesmo comprimento.n Busca no primeiro estágio, execução no segundo.

No 80x86 instruções de 1 a 17 bytes.n Poucos formatos de instruções, com o campo do

registro de origem na mesma posição em todasinstruções.

n O segundo estágio pode ler o registro ao mesmotempo que decodifica a instrução.

Page 24: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

MIPS: Projetado para Pipeline

n Operandos na memória só aparecem nas instruçõesload e store. O estágio de execução pode serutilizado para calcular um endereço de memória, paraser acessado no próximo estágio.

n Operandos alinhados na memória. Facilitatransferência de dados que ocupam mais de umendereço.

Page 25: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

Pipeline na arquitetura MIPS

n As instruções do processador MIPS necessitamcinco etapas:

1. Busca instrução na memória2. Lê registros e decodifica instrução3. Executa operação ou calcula endereço4. Acessa operando na memória (de dados)5. Escreve o resultado num registron Pode ser utilizado um pipeline de cinco

estágios

Page 26: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

Classe de instrução Busca de instrução

Leitura registro

Operação da ULA

Acesso a dado

Escrita registro

Tempo total

Load word (lw) 2 ns 1 ns 2 ns 2 ns 1 ns 8 ns Store word (sw) 2 ns 1 ns 2 ns 2 ns 7 ns R-format (add, sub, and, or, slt) 2 ns 1 ns 2 ns 1 ns 6 ns Branch (beq) 2 ns 1 ns 2 ns 5 ns Jump (j) 2 ns 2 ns

Tempo de execução dasInstruções

24% loads

12% stores

44% tipo R

18% branches

2% jumps

Ciclomédio = 8x24% + 7x12% + 6x44% + 5x18% + 2x2% = 6.3 ns

Desempenho = 8/6.3 = 1.27

Page 27: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

Execução sem pipeline

Busca deinstrução RegUAL Acesso

a dadosReglw $1, 100($0)

lw $2, 200($0)

lw $3, 300($0)

Busca deinstrução RegUAL Acesso

a dadosReg

Busca deinstrução

Tempo 2 4 6 8 10 12 14 16 18

8 ns

8 ns

8 ns

...

Page 28: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

Execução com pipeline

Tempo 2 4 6 8 10 12 14

Busca deinstrução

RegUAL Acessoa dados

Reglw $1, 100($0)

lw $2, 200($0)

lw $3, 300($0)

Busca deinstrução

RegUAL Acessoa dados

Reg

Busca deinstrução

2 ns 2 ns 2 ns

RegUAL Acessoa dados

Reg

2 ns 2 ns 2 ns 2 ns

.

.

.

Melhora o desempenho com o aumento dothroughput de instruções.

Page 29: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

Controle do pipeline

n Temos 5 estágios. O que deve ser controladoem cada estágio?

n IF: Instruction Fetch e PC Incrementn ID: Instruction Decode / Register Fetchn EX: Executionn MEM: Memory Stagen WB: Write Back

Page 30: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

Idéia básica. Fluxo de dados

Instructionmemory

Address

4

32

0

Add Addresult

Shiftleft 2

Instruction

Mux

0

1

Add

PC

0Writedata

Mux

1Registers

Readdata 1

Readdata 2

Readregister 1

Readregister 2

16Sign

extend

Writeregister

Writedata

ReaddataAddress

Datamemory

1

ALUresult

Mux

ALUZero

IF: Instruction Fetch ID: Instruction decode /register file read

EX: Execute /Address Calculation

MEM: Memory Access

WB: Write Back

Page 31: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

Fluxo de dados e registrospipeline

Instructionmemory

Address

4

32

0

Add Addresult

Shiftleft 2

Inst

ruct

ion

IF/ID EX/MEM MEM/WB

Mux

0

1

Add

PC

0Writedata

Mux

1Registers

Readdata 1

Readdata 2

Readregister 1

Readregister 2

16Sign

extend

Writeregister

Writedata

Readdata

1

ALUresult

Mux

ALUZero

ID/EX

Datamemory

Address

Page 32: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

Busca de instrução

Instructionmemory

Address

4

32

0

Add Addresult

Shiftleft 2

Inst

ruct

ion

IF/ID EX/MEM MEM/WB

Mux

0

1

Add

PC

0Writedata

Mux

1Registers

Readdata 1

Readdata 2

Readregister 1

Readregister 2

16Sign

extend

Writeregister

Writedata

Readdata

1

ALUresult

Mux

ALUZero

ID/EX

Datamemory

Address

Page 33: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

Decodificação/leitura de registros

Instructionmemory

Address

4

32

0

Add Addresult

Shiftleft 2

Inst

ruct

ion

IF/ID EX/MEM MEM/WB

Mux

0

1

Add

PC

0Writedata

Mux

1Registers

Readdata 1

Readdata 2

Readregister 1

Readregister 2

16Sign

extend

Writeregister

Writedata

Readdata

1

ALUresult

Mux

ALUZero

ID/EX

Datamemory

Address

Page 34: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

Execução/cálculo de endereço

Instructionmemory

Address

4

32

0

Add Addresult

Shiftleft 2

Inst

ruct

ion

IF/ID EX/MEM MEM/WB

Mux

0

1

Add

PC

0Writedata

Mux

1Registers

Readdata 1

Readdata 2

Readregister 1

Readregister 2

16Sign

extend

Writeregister

Writedata

Readdata

1

ALUresult

Mux

ALUZero

ID/EX

Datamemory

Address

Page 35: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

Acesso à memória

Instructionmemory

Address

4

32

0

Add Addresult

Shiftleft 2

Inst

ruct

ion

IF/ID EX/MEM MEM/WB

Mux

0

1

Add

PC

0Writedata

Mux

1Registers

Readdata 1

Readdata 2

Readregister 1

Readregister 2

16Sign

extend

Writeregister

Writedata

Readdata

1

ALUresult

Mux

ALUZero

ID/EX

Datamemory

Address

Page 36: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

Write back

Instructionmemory

Address

4

32

0

Add Addresult

Shiftleft 2

Inst

ruct

ion

IF/ID EX/MEM MEM/WB

Mux

0

1

Add

PC

0Writedata

Mux

1Registers

Readdata 1

Readdata 2

Readregister 1

Readregister 2

16Sign

extend

Writeregister

Writedata

Readdata

1

ALUresult

Mux

ALUZero

ID/EX

Datamemory

Address

Page 37: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

Controle do Pipeline

PC

Instructionmemory

Address

Ins t

ruct

ion

Instruction[20– 16]

MemtoReg

ALUOp

Branch

RegDst

ALUSrc

4

16 32Instruction[15– 0]

0

0Registers

Writeregister

Writedata

Readdata 1

Readdata 2

Readregister 1

Readregister 2

Signextend

Mux

1Write

data

Read

data Mux

1

ALUcontrol

RegWrite

MemRead

Instruction[15– 11]

6

IF/ID ID/EX EX/MEM MEM/WB

MemWrite

Address

Datamemory

PCSrc

Zero

AddAdd

result

Shiftleft 2

ALUresult

ALU

Zero

Add

0

1

Mux

0

1

Mux

Page 38: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

Controle do pipeline

n Os registradores do pipeline não necessitamsinais de controle, pois são carregados acada ciclo de clock

n Como deveria ser feito o controle numafábrica de automóveis?

n uma central imaginária dizendo a cada um o que deve serfeito?

n deveríamos utilizar uma máquina de estados finitos?

Page 39: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

Controle do Pipelinen Sinais de controle são transmitidos da mesma forma que os dados

Execution/Address Calculation stage control lines

Memory access stage control lines

Write-back stage control

lines

InstructionReg Dst

ALU Op1

ALU Op0

ALU Src Branch

Mem Read

Mem Write

Reg write

Mem to Reg

R-format 1 1 0 0 0 0 0 1 0lw 0 0 0 1 0 1 0 1 1sw X 0 0 1 0 0 1 0 Xbeq X 0 1 0 1 0 0 0 X

Control

EX

M

WB

M

WB

WB

IF/ID ID/EX EX/MEM MEM/WB

Instruction

Page 40: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

Fluxo de dados com controle

P C

In s tru c tio n

m e m ory

Ins

tru

cti o

nAd d

In st ru c tio n[2 0– 1 6]

Me

mto

Re

g

A L U O p

B r an ch

R e g D s t

A L U S rc

4

16 3 2In st ru c tion[1 5 – 0 ]

0

0

Mux

0

1

A ddA d d

re su lt

R eg iste rsW ritere g is ter

W rited a ta

R ea dd ata 1

R ea dd ata 2

R e adre g is ter 1

R e adre g is ter 2

S ig nex ten d

Mux

1

A L Ure su l t

Z e ro

W rited a ta

R e a dd ata

Mux

1

A LUco n tr o l

S h ift

le ft 2

Re

gW

rit e

M e m R e ad

C o n tro l

A L U

In st ru ctio n[1 5– 1 1]

6

E X

M

W B

M

W B

W BIF /ID

P C S rc

ID /E X

E X /M E M

M E M /W B

Mux

0

1

Me

mW

rite

A dd re ss

D a ta

m e m o ry

A d d re ss

Page 41: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

Simplificando

RegMD

RegMI

UL

Aadd $s0, $t0, $t1

IF ID EX MEM WB

Page 42: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

Execução com pipeline

Reg MD RegMI

UL

A

RegMD

RegMIU

LA

RegMD

RegMI

UL

A

CC1 CC2 CC3 CC4 CC5 CC6 CC7

lw $1, 100($0)

lw $2, 200($0)

lw $3, 300($0)

Page 43: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

Desempenho.O que pode dar errado.

n Um processador com pipeline pode pausarpor várias razões, incluindo atrasos naleitura da memória, conjunto de instruçõesmal projetado, dependência entreinstruções, ...

Page 44: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

Dependência de Dados(Hazards)

Dependência de dados:Instruções que seguemsub utilizam o registrador$2, cujo valor éproduzido pela instruçãosub

.

.sub $2, $1, $3and $12, $2, $5or $13, $6, $2add $14, $2, $2sw $15, 100($2)

.

.

Page 45: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

Dependência de Dados

Reg MD RegMI

UL

A

Reg MD RegMI

UL

A

Reg MD RegMI

UL

A

Reg MD RegMI

UL

A

Reg MD RegMI

UL

A CC1 CC2 CC3 CC4 CC5 CC6 CC7 CC8 CC9

Valor do registro $2 10 10 10 10 10/-20 -20 -20 -20 -20

sub $2, $1, $3

and $12, $2, $5

or $13, $6, $2

add $14, $2, $2

sw $15, 100($2)

Page 46: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

Solução por Software

n O compilador pode detectar a ocorrência de hazardde dados e introduzir NOPs (no operation) ou re-escalonar as instruções

sub $2, $1, $3

nop

nop

nop

and $12, $2, $5

or $13, $6, $2

add $14, $2, $2

sw $15, 100($2)

Page 47: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

Escalonamento de Instruções

n Um rearranjo das instruções no programa, chamadoescalonamento de instruções, pode resolver esta pendência.

...ld r2, Iadd r2, r2, #123st r2, Ild r3, Jsub r3, r3, #567st r3, J ...

...ld r2, Ild r3, Jadd r2, r2, #123sub r3, r3, #567 st r2, Ist r3, J...

Page 48: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

Hardware: Congelar o pipe(stall ou bolha)

n A unidade de controle do processador pode detectar aocorrência de conflitos e congelar execução de novasinstruções até que o conflito seja resolvido

n O congelamento pode ser feito colocando-se em zero ossinais de controle que acompanham os dados no pipeline

0

WB

M

EX

Control Mux

Page 49: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

Introdução de bolhasn As bolhas interrompem a execução dos estágios

sub $s0, $t1, $t2

bolhas

add $t2, $s0, $t3

Tempo

RegMD

RegMI

UL

A

RegMD

RegMI

UL

A

2 4 6 8 10 14

Page 50: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

Deteção de Conflitos

n Comparar índices dos registradores a serem lidose escritos, armazenados nos registradores dopipeline:

n IF/ID.ReadRegister1 # registradores a seremn IF/ID.ReadRegister2 # lidosn ID/EX.WriteRegistern EX/MEM.WriteRegistern MEM/WB.WriteRegister

n Deve-se comparar igualmente se a instruçãoescreve em um registrador (RegWrite = 1)

Page 51: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

Unidade de Deteção de Hazard

MU

X

Hazard Detection

Unit

Control

WB

M

EX

RegistersPC

InstructionMemory

0

DataMemory M

UX

WB

WB

M

MUX

Page 52: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

Deteção de Conflitos

n EX hazard:ID/EX.RegWrite and((ID/EX.RegDst = 0 andID/EX.WriteRegisterRt=IF/ID.ReadRegister1) or

(ID/EX.RegDst = 1 andID/EX.WriteRegisterRd=IF/ID.ReadRegister1) or

(ID/EX.RegDst = 0 andID/EX.WriteRegisterRt=IF/ID.ReadRegister2) or

(ID/EX.RegDst = 1 andID/EX.WriteRegisterRd=IF/ID.ReadRegister2))

n MEM hazard:EX/MEM.RegWrite and((EX/MEM.WriteRegister = IF/ID.ReadRegister1) or(EX/MEM.WriteRegister = IF/ID.ReadRegister2))

Page 53: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

Introdução de Bolhas

Reg

MD Reg

MI

Re g

MD Reg

MI

Re g

MD Re g

MI

Re g

MD Re g

MI

Reg

MD Reg

MI

sub $2, $1, $3

and $12, $2, $5

or $13, $6, $2

add $14, $2, $2

sw $15, 100($2)

• As bolhas atrasam a execução das instruções seguintes

Page 54: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

Exemplo

n Considere a seguinte sequência:sub $2, $1, $3

and $4, $2, $5

or $8, $2, $6

add $9, $4, $2

slt $1, $6, $7

n Quantos conflitos existem e quantas bolhas sãogeradas ?

Page 55: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

Terceiro Ciclo

MU

X

Hazard Detection

Unit

Control

WB

M

EX

RegistersPC

InstructionMemory

0

DataMemory M

UX

WB

WB

M

MUX

or $8, $2, $6 and $4, $2, $5 sub $2, $1, $3

2

ID/EX.RegWrite0

0

0

Page 56: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

Quinto Ciclo

MU

X

Hazard Detection

Unit

Control

WB

M

EX

RegistersPC

InstructionMemory

0

DataMemory M

UX

WB

WB

M

MUX

and $4, $2, $5 bolha bolha sub $2, $1, $3MEM/WB.RegWrite

0

0

0

2

Page 57: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

Stall

n Como toda a arquitetura permaneceociosa durante as pausas, tanto osprojetistas quanto os programadores desistemas RISC fazem um esforçoconsciente para evitá-las

Page 58: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

Data Hazard: Adiantamento deDados (Forwarding)

RegMD

RegMI

UL

A

RegMD

RegMI

UL

A

add $s0, $t1, $t1

sub $t2, $s0, $t3

Tempo 2 4 6 8 10

Page 59: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

Adiantamento de Dados.

Tempo (em ciclos)

CC 1

10 10 10 10 10/– 20 – 20 – 20 – 20 – 20X X X – 20 X X X X XValor de EX/MEM:X X X X – 20 X X X X

IM Reg

IM Reg

sub $2, $1, $3

and $12, $2, $5

IM Reg DM Reg

IM DM Reg

IM DM Reg

or $13, $6, $2

add $14, $2, $2

sw $15, 100($2)

DM Reg

Reg

Reg

Reg

DM

Valor do registro $2:

Valor de MEM/WB:

CC 2 CC 3 CC 4 CC 5 CC 6 CC 7 CC 8 CC 9

Page 60: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

Forwarding: Controle

PCInstruction

memory

Registers

Mux

Mux

Control

ALU

EX

M

M WB

ID/EX

EX/MEM

MEM/WB

Datamemory

Mux

Forwardingunit

IF/ID

Inst

ruct

ion

Mux

RdEX/MEM.RegisterRdRt

Rt

RsIF/ID.RegisterRs

WB

WB

MEM/WB.RegisterRd

IF/ID.RegisterRtIF/ID.RegisterRt

IF/ID.RegisterRd

Page 61: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

Exemplo

n Considere a mesma sequência:sub $2, $1, $3

and $4, $2, $5

or $8, $2, $6

add $9, $4, $2

slt $1, $6, $7

n Como fica com adiantamento de dados ?

Page 62: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

Terceiro Ciclo

PCInstruction

memory

Registers

Mux

Mux

Control

ALU

EX

M

M WB

ID/EX

EX/MEM

MEM/WB

Datamemory

Mux

Forwardingunit

IF/ID

Inst

ruct

ion

Mux

2EX/MEM.RegisterRd

3

1IF/ID.RegisterRs

WB

WB

MEM/WB.RegisterRd

IF/ID.RegisterRtIF/ID.RegisterRt

IF/ID.RegisterRd

sub $2, $1, $3and $4, $2, $5or $8, $2, $6

$1

$3

25

4

Page 63: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

Quarto Ciclo

PCInstruction

memory

Registers

Mux

Mux

Control

ALU

EX

M

M WB

ID/EX

EX/MEM

MEM/WB

Datamemory

Mux

Forwardingunit

IF/ID

Inst

ruct

ion

Mux

4EX/MEM.RegisterRd

5

2IF/ID.RegisterRs

WB

WB

MEM/WB.RegisterRd

IF/ID.RegisterRtIF/ID.RegisterRt

IF/ID.RegisterRd

sub $2, $1, $3and $4, $2, $5or $8, $2, $6

$2

$5

26

8

add $9, $4, $2

2

$2

Page 64: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

Quinto Ciclo

PCInstruction

memory

Registers

Mux

Mux

Control

ALU

EX

M

M WB

ID/EX

EX/MEM

MEM/WB

Datamemory

Mux

Forwardingunit

IF/ID

Inst

ruct

ion

Mux

8EX/MEM.RegisterRd

6

2IF/ID.RegisterRs

WB

WB

MEM/WB.RegisterRd

IF/ID.RegisterRtIF/ID.RegisterRt

IF/ID.RegisterRd

sub $2, $1, $3and $4, $2, $5or $8, $2, $6

$2

$6

42

9

add $9, $4, $2

4

slt $1, $6, $7

2

Page 65: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

Sexto Ciclo

PCInstruction

memory

Registers

Mux

Mux

Control

ALU

EX

M

M WB

ID/EX

EX/MEM

MEM/WB

Datamemory

Mux

Forwardingunit

IF/ID

Inst

ruct

ion

Mux

9EX/MEM.RegisterRd

2

4IF/ID.RegisterRs

WB

WB

MEM/WB.RegisterRd

IF/ID.RegisterRtIF/ID.RegisterRt

IF/ID.RegisterRd

and $4, $2, $5or $8, $2, $6

$4

$2

67

1

add $9, $4, $2

8

slt $1, $6, $7

4

Page 66: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

Conflitos no Adiantamento

n Load word pode causar um atraso:n Uma instrução tenta ler um registro após um load que

escreve no mesmo registro.

n É preciso uma unidade de detecção de hazard paraatrasar a instrução pós load.

Page 67: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

Conflitos no Adiantamento

Reg

IM

Reg

Reg

IM DM

IM Reg DM RegIM

IM DM Reg

IM DM Reg

DM Reg

RegReg

Reg

bubble

CC 1 CC 2 CC 3 CC 4 CC 5 CC 6 CC 7 CC 8 CC 9

Tempo (ciclos)CC 10

lw $2 20($1)

and $4, $2, $5

or $8, $2, $6

add $9, $4, $2

slt $1, $6, $7

Page 68: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

Hazard detection unit

PC

Mux

Mux

Mux

Control

ALU

EX

M

WB

M

WB

WB

ID/EX

EX/MEM

MEM/WB

Mux

Hazarddetection

unit

Forwardingunit

0

Mux

IF/ID

ID/EX.MemRead

IF/ID

Writ

e

PC

Writ

e

ID/EX.RegisterRtRtRs

Rd

Rt

IF/ID.RegisterRsIF/ID.RegisterRtIF/ID.RegisterRtIF/ID.RegisterRd

EX/MEM.RegisterRd

MEM/WB.RegisterRd

Instructionmemory

RegistersData

memory

Inst

ruct

ion

Page 69: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

Branch hazards

n Quando é decidido um desvio, outras instruções estão no pipeline.

Reg

Reg

40 beq $1, $3, $7 IM Reg

IM DM

IM DM

IM DM

DM

DM Reg

Reg Reg

Reg

Reg

RegIM

44 and $12, $2, $5

48 or $13, $6, $2

52 add $14, $2, $2

72 lw $4, 50($7)

Reg

Tempo (em ciclos)

CC 1 CC 2 CC 3 CC 4 CC 5 CC 6 CC 7 CC 8 CC 9

Page 70: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

Opção: Congelar Pipe

add $4, $5, $6

beq $1, $2, 40

lw $3, 300($0)

2 ns 6 ns 2 ns

Busca deinstrução RegUAL Acesso

a dadosReg

Busca deinstrução RegUAL Acesso

a dadosReg

Busca deinstrução RegUAL Acesso

a dadosReg

2 ns 2 ns 2 ns 2 ns...

n Uma opção é sempre congelar o pipeline quando se encontra umainstrução de salto condicional, esperando o resultado da comparação

n Problema: piora o desempenho do pipeline

Page 71: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

Previsão de Salto

n Uma melhor alternativa é fazer umaprevisão de salto

n Caso a previsão esteja correta, não háperda no pipeline

n Caso a previsão esteja incorreta, asinstrução seguintes ao salto devem serdescartadas (descarga do pipeline)

Page 72: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

Técnicas de Previsão de Desvio

n desvio nunca será realizado

n desvio sempre será realizado

n desvio depedente do código da operação

n desvio dependente do histórico da instruçãon implementado com o auxílio de uma tabela de histórico

de desvios

n armazena endereço da instrução, endereço do desvioe estado

Page 73: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

Outras Técnicas

n múltiplos fluxosn ambas alternativas são executadas simultaneamente

n busca antecipada de instruçõesn pré-carga das instruções no end. de desvio

n memória de laço de repetição (loop buffer)n armazena internamente as instruções executadas mais

recentemente

n atraso de desvio (delayed branch)n permitir a execução de algumas instruções

imediatamente após a instrução de desvion implica no reordenamento de instruções

Page 74: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

q Processador sempre executa instrução seguinte

q Compilador deve reordenar as instruções ou inserir nop

Tempo 2 4 6 8 10 12 14

Busca deinstrução RegUAL Acesso

a dadosRegbeq $1, $2, 40

add $4, $5, $6

lw $3, 300($0)

Busca deinstrução RegUAL Acesso

a dadosReg

Busca deinstrução

2 ns 2 ns 2 ns

RegUAL Acessoa dadosReg

2 ns 2 ns 2 ns 2 ns...

(Delayed branch slot )

Atraso de Desvio

Page 75: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

Descarga do Pipeline

PCInstruction

memory

4

Registers

Mux

Mux

Mux

ALU

EX

M

WB

M

WB

WB

ID/EX

0

EX/MEM

MEM/WB

Datamemory

Mux

Hazarddetection

unit

Forwardingunit

IF.Flush

IF/ID

Signextend

Control

Mux

=

Shiftleft 2

Mux

Page 76: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

q A velocidade máxima de uma máquina com pipelineé de uma instrução por ciclo de clock.

Acelerando máquinas compipeline

IF ID EX MEM WB

IF ID EX MEM WB

IF ID EX MEM WB

IF ID EX MEM WB

IF ID EX MEM WB

IF ID EX MEM WB

IF ID EX MEM WB

IF ID EX MEM WB

CC1 CC2 CC3 CC4 CC5 CC6 CC7 CC8 CC9 CC10 CC11 CC12

Page 77: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

q Duas técnicas para iniciar múltiplasinstruções por ciclo de clock:

q arquiteturas superpipeline

q arquiteturas superescalares.

Acelerando máquinascom pipeline

Page 78: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

q A arquitetura Superpipeline subdivide cadaestágio do pipeline em subestágios e multiplica oclock internamente.

q Cada (sub)estágio continua executando umainstrução por clock. Mas como o clock interno émultiplicado, o pipeline pode aceitar duas ou maisinstruções para cada clock externo.

Acelerando máquinas compipeline: o superpipeline

Page 79: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

Superpipeline

CC1 CC2 CC3 CC4 CC5 CC6 CC7 CC8

IF ID EX MEM WB

IF ID EX MEM WB

IF ID EX MEM WB

IF ID EX MEM WB

IF ID EX MEM WB

IF ID EX MEM WB

IF ID EX MEM WB

IF ID EX MEM WB

Page 80: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

q A arquitetura superescalar contémmúltiplas unidades de execução que sãocapazes de fazer a mesma coisa.

q Isto permite ao processador executarvárias instruções similaresconcorrentemente, pelo roteamento dasinstruções às unidades de execuçãodisponíveis.

Acelerando máquinas compipeline: a superescalar

Page 81: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

Pipeline superescalar

CC1 CC2 CC3 CC4 CC5 CC6 CC7 CC8

IF ID EX MEM WB

IF ID EX MEM WB

IF ID EX MEM WB

IF ID EX MEM WB

IF ID EX MEM WB

IF ID EX MEM WB

IF ID EX MEM WB

IF ID EX MEM WB

IF ID EX MEM WB

Page 82: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

Superpipeline superescalar

CC1 CC2 CC3 CC4 CC5 CC6 CC7 CC8

IF ID EX MEM WB

IF ID EX MEM WB

IF ID EX MEM WB

IF ID EX MEM WB

IF ID EX MEM WB

IF ID EX MEM WB

IF ID EX MEM WB

IF ID EX MEM WB

IF ID EX MEM WB

Page 83: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

Execução dinâmica:escalonamento.

n O hardware executa o escalonamento

n O hardware tenta encontrar instruções para executar

n É possível a execução de instruções for a de ordem

n Execução especulativa e predição dinâmica de desvios.

n Todos processadores modernos são bastante complicados

n Compaq/DEC Alpha 21264: 9 estágios de pipeline, 6 instruction issue

n PowerPC e Pentium: tabela de histórico de desvios

n O papel do compilador é muito importante.

n Este curso serve de base para avançar no assunto.

n Overview of Intel’s Pentium Processors: http://www.intel.com

Page 84: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

Referências

Patterson, D. A., Hennessy, J. L., (1998)Computer Organization and Design: TheHardware/Software Interface. Morgan Kaufmann.http:/www.mkp.com/cod2e.htm/

Page 85: Organização e Arquitetura de Computadoresrjacobi/ensino/OAC/pipe.pdfOrganização e Arquitetura de Computadores. Objetivo nApresentar a utilização de uma técnica ... ($0) lw $3,

Leitura recomendada

n Tanenbaum, A.S., (1990) Organizaçãoestruturada de computadores. Cap 4.

n 4.5 {4.5.4}