Top Banner
Conceitos Avançados de Conceitos Avançados de Arquitetura de Arquitetura de Computadores Computadores Arquiteturas RISC Arquiteturas RISC Reduced Instruction Set Computer Reduced Instruction Set Computer
47

Conceitos Avançados de Arquitetura de Computadores Arquiteturas RISC Reduced Instruction Set Computer.

Apr 07, 2016

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Conceitos Avançados de Arquitetura de Computadores Arquiteturas RISC Reduced Instruction Set Computer.

Conceitos Avançados de Conceitos Avançados de Arquitetura de ComputadoresArquitetura de Computadores

Arquiteturas RISC Arquiteturas RISCReduced Instruction Set ComputerReduced Instruction Set Computer

Page 2: Conceitos Avançados de Arquitetura de Computadores Arquiteturas RISC Reduced Instruction Set Computer.

Máquinas CISCMáquinas CISCComplex Instruction Set ComputerComplex Instruction Set Computer• Crise do Software

– Dificuldades em achar programadores– Aumento da complexidade dos sistema

– Surgimento de linguagens de alto nível

– Aumento na complexidade do hardware:Unidades de execução e controle complexas

– Aumento do preço do software

IINNEEFFIICCIIÊÊNNCCIIAA

Page 3: Conceitos Avançados de Arquitetura de Computadores Arquiteturas RISC Reduced Instruction Set Computer.

Máquinas CISCMáquinas CISCComplex Instruction Set ComputerComplex Instruction Set Computer

• Será que esta complexidade é realmente necessária?Comando SAL XPL Fortran C Pascal Média

atribuição 47 55 51 38 45 47

if then else 17 17 10 43 29 23

call 25 17 5 12 15 15

loop 6 5 9 3 5 6

go to 0 1 9 3 0 3

outros 5 5 16 1 6 7

Page 4: Conceitos Avançados de Arquitetura de Computadores Arquiteturas RISC Reduced Instruction Set Computer.

Solução: Solução: Busca da eficiência na simplicidadeBusca da eficiência na simplicidade

• Máquinas RISCReduced Instruction Set Computer

Page 5: Conceitos Avançados de Arquitetura de Computadores Arquiteturas RISC Reduced Instruction Set Computer.

Filosofia RISCFilosofia RISC• Tornar as máquinas mais simples de modo a

torná-las mais velozes:– Poucas instruções, simples e com poucos formatos– Poucos modos de endereçamento– Muitos registradores => Menos buscas na memória

=> => implementação mais eficienteimplementação mais eficiente

Page 6: Conceitos Avançados de Arquitetura de Computadores Arquiteturas RISC Reduced Instruction Set Computer.

Máquina RISCMáquina RISC

ImplementaçãoImplementação eficiente eficiente

– Conjunto reduzido de instruções simples– Grande número de registradores– Operação similar a uma linha de montagem– Complexidade transferida para o compilador

Page 7: Conceitos Avançados de Arquitetura de Computadores Arquiteturas RISC Reduced Instruction Set Computer.

Máquinas RISCMáquinas RISCUso eficiente dos registradoresUso eficiente dos registradores

• Atribuições# Termos %

0 -1 802 153 34 2

>4 0

# Var. locais %0 221 172 203 144 8

>4 20

# Parâmetros %0 411 192 153 94 7

>4 8

• Procedimentos

Page 8: Conceitos Avançados de Arquitetura de Computadores Arquiteturas RISC Reduced Instruction Set Computer.

PipelinePipeline

Page 9: Conceitos Avançados de Arquitetura de Computadores Arquiteturas RISC Reduced Instruction Set Computer.

Lavando RoupaLavando RoupaTime

76 PM 8 9 10 11 12 1 2 AM

A

B

C

D

Time76 PM 8 9 10 11 12 1 2 AM

A

B

C

D

Taskorder

Taskorder

PipelinePipeline

Page 10: Conceitos Avançados de Arquitetura de Computadores Arquiteturas RISC Reduced Instruction Set Computer.

O que é pipeline?O que é pipeline?

• É composto por uma série de estágios operando em paralelo onde uma parte do trabalho é feito em cada estágio.

• O trabalho não está concluído até que tenha passado por todos os estágios.

Page 11: Conceitos Avançados de Arquitetura de Computadores Arquiteturas RISC Reduced Instruction Set Computer.

Surgimento do termo “pipeline”Surgimento do termo “pipeline”• Campbell (ed), Buchholz, Brooks, Bloch, et al,

1962, Planning a Computer System: Project STRETCH [p 204-5]

“The data flow through the computer is comparable to a pipeline which, once filled, has a large output rate no matter what its length.”

Linha de montagem automotiva

Carro-ceria

Motor Elétrica PortasJanelas

Aces-sórios

Page 12: Conceitos Avançados de Arquitetura de Computadores Arquiteturas RISC Reduced Instruction Set Computer.

Para que pipeline?Para que pipeline?Velocidade• Exemplos:

– IBM 7030 100x mais rápido que o 704 (o mais rápido naquele tempo). Melhorias comuns dariam 10x mais.

– IBM 360/91 é 1 a 2 ordens de magnitude mais rápido que o 7090. Sem pipeline se conseguiria apenas 4x mais.

– O 6502 tem throughput similar ao 8080 (que tem clock 4x mais rápido)

Page 13: Conceitos Avançados de Arquitetura de Computadores Arquiteturas RISC Reduced Instruction Set Computer.

ExecuExecução de ção de um programaum programa

Busca instrução

Acesso a dados externos (memória)

Execução (ALU)

Decodificação da Instrução e Leitura de Registradores

Escrita de Resultado (Registradores)

registradoresregistradores

com pipelinecom pipelineIncrementa PC

Page 14: Conceitos Avançados de Arquitetura de Computadores Arquiteturas RISC Reduced Instruction Set Computer.

PipelinePipeline• Em condições ideais, o ganho em performance é igual ao

número de estágios do pipeline

• Para estágios desbalanceados isto não acontece:Tempo por estágio = Tempo do estágio mais lento

• Há um aumento de tempo de cada estágio por conta dos registradores necessários ao Pipeline

• Mesmo que uma instrução não use um estágio, seu tempo é computado

Page 15: Conceitos Avançados de Arquitetura de Computadores Arquiteturas RISC Reduced Instruction Set Computer.

Pipeline: Pipeline: tão lento quanto o mais tão lento quanto o mais lento dos estágioslento dos estágios

Instructionfetch Reg ALU Data

access Reg

8 ns Instructionfetch Reg ALU Data

access Reg

8 ns Instructionfetch

8 ns

Time

lw $1, 100($0)

lw $2, 200($0)

lw $3, 300($0)

2 4 6 8 10 12 14 16 18

2 4 6 8 10 12 14

...

Instructionfetch Reg ALU Data

access Reg

Time

lw $1, 100($0)

lw $2, 200($0)

lw $3, 300($0)

2 ns Instructionfetch Reg ALU Data

access Reg

2 ns Instructionfetch Reg ALU Data

access Reg

2 ns 2 ns 2 ns 2 ns 2 ns

Page 16: Conceitos Avançados de Arquitetura de Computadores Arquiteturas RISC Reduced Instruction Set Computer.

PipelinePipeline

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: E xecute/address calculation

MEM: Memory access WB: Write back

RegistradoresRegistradores

Page 17: Conceitos Avançados de Arquitetura de Computadores Arquiteturas RISC Reduced Instruction Set Computer.

Pipeline:Pipeline:

Detalhe da instrução Detalhe da instrução lwlw

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

Readegister 1

Readregister 2

16Sign

extend

Writeegister

Writedata

Readdata

1

ALUresult

Mux

ALUZero

ID/EX

Address

Datamemory

Page 18: Conceitos Avançados de Arquitetura de Computadores Arquiteturas RISC Reduced Instruction Set Computer.

PipelinePipeline

Representação GráficaRepresentação Gráfica

IM Reg DM RegALU

IM Reg DM RegALU

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

Time (in clock cycles)

lw $2, 200($0)

lw $3, 300($0)

Programexecutionorder(in instructions)

lw $1, 100($0) IM Reg DM RegALU

Page 19: Conceitos Avançados de Arquitetura de Computadores Arquiteturas RISC Reduced Instruction Set Computer.

Tempo total de execução de Tempo total de execução de instruçõesinstruções

BuscaInstr.

Decod.&Lê Reg

ALU Acessadados

Escr.Reg

Tempototal

Load 2 ns 1 ns 2 ns 2 ns 1 ns 8 ns

Store 2 ns 1 ns 2 ns 2 ns 7 ns

Addr1,r2,r3

2 ns 1 ns 2 ns 1 ns 6 ns

Jeq 2 ns 1 ns 2 ns 5 ns

Page 20: Conceitos Avançados de Arquitetura de Computadores Arquiteturas RISC Reduced Instruction Set Computer.

Uso eficiente do pipelineUso eficiente do pipeline

Características necessárias

• Tempo de estágio pequeno

• Uma instrução por ciclo

Artifícios para obter estas características

=> Design apropriado do conjunto de instruções

=> Eliminação ou bom gerenciamento de HAZARDSHAZARDS– Estruturais– Dados– Controle

Page 21: Conceitos Avançados de Arquitetura de Computadores Arquiteturas RISC Reduced Instruction Set Computer.

Uso eficiente do pipelineUso eficiente do pipeline

Design do conjunto de instruçõesDesign do conjunto de instruções1) Poucas instruções

Sem microprogramação

2) Instruções do mesmo tamanhoUnidades de busca e decodificação mais eficientes (no 80X86, instruções podem ter de 1 a 17 bytes).

3) Poucos formatos de instrução.Ex. Nos MIPS os campos dos registradores-fonte são sempre os mesmos. A decodificação pode ocorrer em paralelo com a leitura destes registradores.

Page 22: Conceitos Avançados de Arquitetura de Computadores Arquiteturas RISC Reduced Instruction Set Computer.

4) Arquitetura Load-StorePermite usar a unidade de execução para calcular o endereço e acessar a memória no estágio seguinte. Se fosse possível executar aritmética com operandos da memória, seria necessário adicionar outro estágio ao pipeline. Requer grande número de registradores.

5) Poucos modos de endereçamentoFacilita decodificação e busca de operandos

Uso eficiente do pipelineUso eficiente do pipeline

Design do conjunto de instruçõesDesign do conjunto de instruções

Page 23: Conceitos Avançados de Arquitetura de Computadores Arquiteturas RISC Reduced Instruction Set Computer.

Uso eficiente do pipelineUso eficiente do pipeline

Eliminação ou bom gerenciamento de HAZARDSHAZARDSO que são:O que são: Situações em que a próxima instrução não pode ser executada no próximo ciclo, inserindo uma bolha (provocando um stall)

TiposTipos– Estruturais

Conflito no uso dos recursos– Dados

Dependência de dados– Controle

Alteração do fluxo do programa por instruções de desvio, chamada de funções, interrupções

Page 24: Conceitos Avançados de Arquitetura de Computadores Arquiteturas RISC Reduced Instruction Set Computer.

Uso eficiente do pipeline Uso eficiente do pipeline

Hazard EstruturalHazard Estrutural

Causas:Causas:- Recursos não suficientemente replicadosRecursos não suficientemente replicados ex: portas de escrita na memória ou

mem. de dados = mem. Instruções

- Unidade funcionais muito lentasUnidade funcionais muito lentas

ex: Multiplicação e divisão

Solução: replicar recursosSolução: replicar recursos

Solução: Solução: pipelinezarpipelinezar o recurso o recurso

Page 25: Conceitos Avançados de Arquitetura de Computadores Arquiteturas RISC Reduced Instruction Set Computer.

Uso eficiente do pipeline Uso eficiente do pipeline

Hazard de DadosHazard de Dados

- Dependência Verdadeira:Dependência Verdadeira: Read-after-Write (RAW)Read-after-Write (RAW)

- Dependência de Saída:Write-after-Write (WAW)

- Antidependências:Write-after-Read (WAR)

Tipos de Dependências de Dados

Page 26: Conceitos Avançados de Arquitetura de Computadores Arquiteturas RISC Reduced Instruction Set Computer.

Uso eficiente do pipeline, Hazard de DadosUso eficiente do pipeline, Hazard de Dados

Dependência Verdadeira (RAW)Dependência Verdadeira (RAW)

bi dr ex mem erAdd r1r1, r2, r3

Sub r4, r1r1, r5

And r6, r1r1, r7

Or r8, r1r1, r9

bi dr ex mem er

bi dr ex mem er

bi dr ex mem er

Page 27: Conceitos Avançados de Arquitetura de Computadores Arquiteturas RISC Reduced Instruction Set Computer.

Uso eficiente do pipeline, Hazard de DadosUso eficiente do pipeline, Hazard de Dados

Dependência Verdadeira (RAW)Dependência Verdadeira (RAW)

IM Reg

IM Reg

CC 1 CC 2 CC 3 CC 4 CC 5 CC 6Ciclos de clock

sub $2, $1, $3

Instruções

and $12, $2, $5

IM Reg DM Reg

IM DM Reg

IM DM Reg

CC 7 CC 8 CC 9

or $13, $6, $2

add $14, $2, $2

sw $15, 100($2)

DM Reg

Reg

Reg

Reg

DM

Page 28: Conceitos Avançados de Arquitetura de Computadores Arquiteturas RISC Reduced Instruction Set Computer.

Uso eficiente do pipeline, Hazard de DadosUso eficiente do pipeline, Hazard de Dados

Dependência Verdadeira (RAW)Dependência Verdadeira (RAW)

1) Inserir NOPs ou bolhas

2) Inserir instruções independentes entre

as dependentes

3) Método do curto circuito ou forwarding

• A solução está em dar tempo para o resultado ser usado pela instrução dependente.

Page 29: Conceitos Avançados de Arquitetura de Computadores Arquiteturas RISC Reduced Instruction Set Computer.

Uso eficiente do pipeline, Hazard de DadosUso eficiente do pipeline, Hazard de Dados

Dependência Verdadeira (RAW)Dependência Verdadeira (RAW)

1) Inserir NOPs ou bolhas

Tempo2 4 6 8 10

Add r1r1, r2, r3 IF ID WBEX MEM

Sub r4, r1r1, r5 IF ID WBEX MEM

BolhasBolhas

Page 30: Conceitos Avançados de Arquitetura de Computadores Arquiteturas RISC Reduced Instruction Set Computer.

Uso eficiente do pipeline, Hazard de DadosUso eficiente do pipeline, Hazard de Dados

Dependência Verdadeira (RAW)Dependência Verdadeira (RAW)2) Inserir instruções independentes entre as dependentes

Ex: Troca de valores entre v[k] e v[k+1]

// reg. r1 tem endereço de v[k]lw r0, 0(r1) // r0 = v[k]lw r2, 4(r1) // r2 = v[k+1]sw r2, 0(r1) // v[k] = r2sw r0, 4(r1) // v[k+1] = r0

ProblemaProblema

Page 31: Conceitos Avançados de Arquitetura de Computadores Arquiteturas RISC Reduced Instruction Set Computer.

Uso eficiente do pipeline, Hazard de DadosUso eficiente do pipeline, Hazard de Dados

Dependência Verdadeira (RAW)Dependência Verdadeira (RAW)2) Inserir instruções independentes entre as dependentes

Ex: Troca de valores entre v[k] e v[k+1]

// reg. r1 tem endereço de v[k]lw r0, 0(r1) // r0 = v[k]lw r2, 4(r1) // r2 = v[k+1]sw r0, 4(r1) sw r0, 4(r1) // v[k+1] = r0// v[k+1] = r0sw r2, 0(r1) sw r2, 0(r1) // v[k] = r2// v[k] = r2

Solução: trocar a ordemSolução: trocar a ordem

Page 32: Conceitos Avançados de Arquitetura de Computadores Arquiteturas RISC Reduced Instruction Set Computer.

Uso eficiente do pipeline, Hazard de DadosUso eficiente do pipeline, Hazard de Dados

Dependência Verdadeira (RAW)Dependência Verdadeira (RAW)

3) Método do curto circuito ou forwarding

Add r1r1, r2, r3

Sub r4, r1r1, r5

Ordem das Instruções

IF ID WBEX

IF ID MEMEX

Tempo 2 4 6 8 10

MEM

WBMEM

Page 33: Conceitos Avançados de Arquitetura de Computadores Arquiteturas RISC Reduced Instruction Set Computer.

Uso eficiente do pipeline, Hazard de DadosUso eficiente do pipeline, Hazard de Dados

Dependência Verdadeira (RAW)Dependência Verdadeira (RAW)

3) Método do curto circuito ou forwarding

registradores

Mux 1 Mux 2

ALU

R1R2

Page 34: Conceitos Avançados de Arquitetura de Computadores Arquiteturas RISC Reduced Instruction Set Computer.

Uso eficiente do pipeline, Hazard de DadosUso eficiente do pipeline, Hazard de Dados

Dependência Verdadeira (RAW)Dependência Verdadeira (RAW)

3) Método do curto circuito ou forwarding

Tempo2 4 6 8 10 12 14

lw $s0, 20($t1)

sub $t2, $s0, $t3

IF ID WBMEMEX

IF ID WBMEMEX

bubble bubble bubble bu bble bubble

Algumas vezes as bolhas são inevitáveis, como no exemplo abaixoAlgumas vezes as bolhas são inevitáveis, como no exemplo abaixo

Page 35: Conceitos Avançados de Arquitetura de Computadores Arquiteturas RISC Reduced Instruction Set Computer.

Uso eficiente do pipelineUso eficiente do pipeline

Hazard de ControleHazard de Controle

• Necessidade da alteração no fluxo do programa:– Interrupções, exceções– Desvios condicionais e incondicionais– Chamadas e retornos de subrotinas

• Qual o comportamento do pipeline na ocorrência de instruções de desvio condicional?

Page 36: Conceitos Avançados de Arquitetura de Computadores Arquiteturas RISC Reduced Instruction Set Computer.

Uso eficiente do pipelineUso eficiente do pipeline

Hazard de ControleHazard de Controle

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

Quanto mais tarde a decisão do salto pior o efeito Quanto mais tarde a decisão do salto pior o efeito no pipelineno pipeline

Page 37: Conceitos Avançados de Arquitetura de Computadores Arquiteturas RISC Reduced Instruction Set Computer.

Uso eficiente do pipeline, Hazard de ControleUso eficiente do pipeline, Hazard de Controle

Abordagens UsadasAbordagens Usadas1) Congelamento do pipeline

Esperar para buscar próxima instrução após a execução do desvio (insere bolhas, NOPs)

Instructionfetch

Reg ALUData

accessReg

Time

beq $1, $2, 40

add $4, $5, $6

lw $3, 300($0)4 ns

Instructionfetch

Reg ALUData

accessReg

2ns

Instructionfetch

Reg ALUData

accessReg

2ns

2 4 6 8 10 12 14 16

SimplicidadeSimplicidadeDegradação do desempenho do pipelineDegradação do desempenho do pipeline

Page 38: Conceitos Avançados de Arquitetura de Computadores Arquiteturas RISC Reduced Instruction Set Computer.

Uso eficiente do pipeline, Hazard de ControleUso eficiente do pipeline, Hazard de Controle

Abordagens UsadasAbordagens Usadas

• Não perde tempoNão perde tempo• ProblemasProblemas

– Conflito na utilização de registradores e memóriaConflito na utilização de registradores e memória– Requer grande duplicação de recursosRequer grande duplicação de recursos– Desvios seguidos podem provocar um grande número Desvios seguidos podem provocar um grande número

de streamsde streams

Ex: IBM 370/168 e IBM 3033Ex: IBM 370/168 e IBM 3033

2) Multiple streamsBusca e executa as instruções dos vários endereços de desvio

Page 39: Conceitos Avançados de Arquitetura de Computadores Arquiteturas RISC Reduced Instruction Set Computer.

Uso eficiente do pipeline, Hazard de ControleUso eficiente do pipeline, Hazard de Controle

Abordagens UsadasAbordagens Usadas3) Desvio com efeito retardado

If a=b then a:= a+1else a: a-1end if;

Ling. alto nível Mov R1,a Mov R2,b CMP R1,R2 JMPZ end1 Add R1, -1 JMP end2end1: Add R1, 1end2: Mov a, R1

Linguagem máquina

Instruções independentes são inseridas após a instrução de desvio de modo a ocupar o pipeline até que o salto seja decidido.

Page 40: Conceitos Avançados de Arquitetura de Computadores Arquiteturas RISC Reduced Instruction Set Computer.

Uso eficiente do pipeline, Hazard de ControleUso eficiente do pipeline, Hazard de Controle

Abordagens UsadasAbordagens Usadas

Mov R1,a Mov R2,b CMP R1,R2 JMPZ end1 Add R1, -1 JMP end2end1: Add R1, 1end2: Mov a, R1

Linguagem máquina Mov R1,a Mov R2,b CMP R1,R2 JMPZ end1

Add R1, -1 JMP end2end1: Add R1, 1end2: Mov a, R1

Linguagem máquina

Add R6,R7Mov R8, z

Slot deSlot deretardoretardo

3) Desvio com efeito retardado

Page 41: Conceitos Avançados de Arquitetura de Computadores Arquiteturas RISC Reduced Instruction Set Computer.

Uso eficiente do pipeline, Hazard de ControleUso eficiente do pipeline, Hazard de Controle

Abordagens UsadasAbordagens Usadas

Instruction

fetchReg ALU

Data

accessReg

Instruction

fetchReg ALU

Data

accessReg

2 ns

Instruction

fetchReg ALU

Data

accessReg

2 ns

2 ns

beq $1, $2, 40

add $4, $5, $6

lw $3, 300($0)

(Delayed branch slot)

3) Desvio com efeito retardado

Page 42: Conceitos Avançados de Arquitetura de Computadores Arquiteturas RISC Reduced Instruction Set Computer.

• Execução especulativa:

4) Busca e executa sempre a instrução da sequência ou do salto. Ex: 68020, VAX 11/780

5) Ação dependente da direção do desvio: avanço ou recuo.

• Execução especulativa com histórico:

6) Uso de perfis de execução ou previsões feitas durante a compilação, com informações passadas no opcode

Ex: Sparc, RS/6000.

7) Técnicas on-line: Branch Target Buffer (BTB).

90% de acerto. Ex: Power-PC

Uso eficiente do pipeline, Hazard de ControleUso eficiente do pipeline, Hazard de Controle

Abordagens UsadasAbordagens Usadas

Page 43: Conceitos Avançados de Arquitetura de Computadores Arquiteturas RISC Reduced Instruction Set Computer.

Branch Target Buffer (BTB)

Uso eficiente do pipeline, Hazard de ControleUso eficiente do pipeline, Hazard de Controle

Abordagens UsadasAbordagens Usadas

Endereço daInstrução deSalto

Endereço doSalto

Histórico (MEF)- 1 ou 2 bits

EIS1 ES1 Estado A

EIS5 ES5 Estado C

Page 44: Conceitos Avançados de Arquitetura de Computadores Arquiteturas RISC Reduced Instruction Set Computer.

Branch Target Buffer (BTB): HISTÓRICO

Uso eficiente do pipeline, Hazard de ControleUso eficiente do pipeline, Hazard de Controle

Abordagens UsadasAbordagens Usadas

Salta (fraco) Salta (forte)

Não Salta (fraco)Não Salta (forte)

saltou

saltou

não saltou

não saltou

saltounão saltou

saltou

nãosaltou

Page 45: Conceitos Avançados de Arquitetura de Computadores Arquiteturas RISC Reduced Instruction Set Computer.

Uso eficiente do pipeline, Hazard de ControleUso eficiente do pipeline, Hazard de Controle

ExExceçõesceções: outra fonte de hazards: outra fonte de hazards• Causas

– Opcode inexistente– Ultrapassar limites da memória– operações aritméticas erradas (ex. divisão por zero)

• Tratamento:– Chamar subrotina em endereço pré-definido.– O pipeline deve parar imediatamente para não modificar

os registradores– Mais de uma exceção pode ocorrer em estágios diferentes

no mesmo ciclo. (MIPS: a primeira tem prioridade)

Page 46: Conceitos Avançados de Arquitetura de Computadores Arquiteturas RISC Reduced Instruction Set Computer.

Uso eficiente do pipeline, Hazard de ControleUso eficiente do pipeline, Hazard de Controle

Tratamento de exceçõesTratamento de exceções– Ex: 4C add $1, $2, $1 (exceção no 3o. Estágio)(exceção no 3o. Estágio)

50 slt $15, $6, $754 lw $16, 50($7)…

• Interrupção Imprecisa:O endereço indicado é 58

• Interrupção Precisa:O endereço indicado é 4C. É necessário manter um

conjunto de registradores (um por estágio) que contém o endereço da instrução em execução.

Page 47: Conceitos Avançados de Arquitetura de Computadores Arquiteturas RISC Reduced Instruction Set Computer.

Máquina RISCMáquina RISC

Gráfico de KiviatGráfico de KiviatProfundidade pipeline

Decodificação Modos de endereçamento

Número instruções

Desvio

Clock / Instrução

Núm. registradoresinteiro

Tamanho instrução

1

2

3

4

51

35

7

16 32 64 128 256

unid. desvio

Desvio retardado

desvio normal

12864

3216

8

fixovariavel

microprogramado

hardware

0.20.5

12

3 DLXTM320C25