Arquitetura de Computadores Cap. 10 Conjunto de Instruções: Modos de End. e Formatos.

32
Arquitetura de Computadores Cap. 10 Conjunto de Instruções: Modos de End. e Formatos

Transcript of Arquitetura de Computadores Cap. 10 Conjunto de Instruções: Modos de End. e Formatos.

Page 1: Arquitetura de Computadores Cap. 10 Conjunto de Instruções: Modos de End. e Formatos.

Arquitetura de Computadores

Cap. 10Conjunto de Instruções:Modos de End. e Formatos

Page 2: Arquitetura de Computadores Cap. 10 Conjunto de Instruções: Modos de End. e Formatos.

Modos de Endereçamento

ImediatoDiretoIndiretoRegistradorIndireto Via RegistradorDeslocamento (Indexação)Pilha

Page 3: Arquitetura de Computadores Cap. 10 Conjunto de Instruções: Modos de End. e Formatos.

Endereço Efetivo

Sistemas Sem Memória Virtual Endereço da Memória Principal ou Registrador

Sistemas Com Memória Virtual Endereço Virtual ou Registrador Mapeamento para Endereço Físico

Mecanismo Específico

Page 4: Arquitetura de Computadores Cap. 10 Conjunto de Instruções: Modos de End. e Formatos.

Endereçamento Imediato

Operando é Parte da InstruçãoAlgoritmo

Operando = Campo de EndereçoAplicações Típicas

Definição e Uso de Constantes Atribuição de Valores Iniciais a Variáveis

Nenhuma Referência à Memória Rápido

Magnitude Limitada

Page 5: Arquitetura de Computadores Cap. 10 Conjunto de Instruções: Modos de End. e Formatos.

Diagrama de End. Imediato

OperandoOpcode

Instrução

Page 6: Arquitetura de Computadores Cap. 10 Conjunto de Instruções: Modos de End. e Formatos.

Campo de Endereço End. do Operando

Algoritmo End. Efetivo (EA) = Campo de End. (A)

Referência Única à Memória Sem Cálculos Adicionais para Obter EA

Espaço de Endereçamento Limitado

Endereçamento Direto

Page 7: Arquitetura de Computadores Cap. 10 Conjunto de Instruções: Modos de End. e Formatos.

Diagrama de End. Direto

Endereço AOpcode

Instrução

Memória

Operando

Page 8: Arquitetura de Computadores Cap. 10 Conjunto de Instruções: Modos de End. e Formatos.

Endereçamento Indireto

Campo de Endereço End. de Palavra na Memória End. do Operando

Algoritmo EA = (A)

Vantagem Tam. da Palavra = N Espaço de End. 2N

Desvantagem 2 Acessos à Memória para Obter Operando

Page 9: Arquitetura de Computadores Cap. 10 Conjunto de Instruções: Modos de End. e Formatos.

Diagrama de End. Indireto

OpcodeMemória

Operando

Ponteiro p/Op.

Endereço A

Instrução

Page 10: Arquitetura de Computadores Cap. 10 Conjunto de Instruções: Modos de End. e Formatos.

Endereçamento de Registrador

Semelhante ao End. DiretoCampo de Endereço Registrador

Onde Está OperandoAlgoritmo

EA = RTipicamente

Campo de End. 3-4 bits __ Registradores?

Page 11: Arquitetura de Computadores Cap. 10 Conjunto de Instruções: Modos de End. e Formatos.

Endereçamento de Registrador

Vantagem Tamanho do Campo de End. é Pequeno

Instruções Pequenas Não Requer Referência à Memória

Busca Mais RápidaDesvantagem

Espaço de Endereçamento Limitado

Page 12: Arquitetura de Computadores Cap. 10 Conjunto de Instruções: Modos de End. e Formatos.

Diagrama de End. de Registrador

End. do Registrador ROpcode

Instrução

Registradores

Operando

Page 13: Arquitetura de Computadores Cap. 10 Conjunto de Instruções: Modos de End. e Formatos.

End. Indireto Via Registrador

Semelhante ao End. IndiretoCampo de End. Registrador R com

End. do OperandoAlgoritmo

EA = (R)Vantagens e Desvantagens

Semelhante ao End. Indireto Um Acesso à Memória a Menos

Page 14: Arquitetura de Computadores Cap. 10 Conjunto de Instruções: Modos de End. e Formatos.

Diagrama de End. IndiretoVia Registrador

End. do Registrador ROpcode

Instrução

Memória

OperandoPonteiro para Op.

Registradores

Page 15: Arquitetura de Computadores Cap. 10 Conjunto de Instruções: Modos de End. e Formatos.

End. Por Deslocamento

Combina Capacidades de End. Direto e Indireto Via Registrador

Algoritmo EA = A + (R)

Dois Campos de End. A = End. Explícito, Usado Diretamente R = Registrador com Deslocamento

Page 16: Arquitetura de Computadores Cap. 10 Conjunto de Instruções: Modos de End. e Formatos.

Diagrama de End.Por Deslocamento

Registrador ROpcode

Instrução

Memória

OperandoPonteiro para Op.

Registradores

Endereço A

+

Page 17: Arquitetura de Computadores Cap. 10 Conjunto de Instruções: Modos de End. e Formatos.

End. Por Deslocamento

Três Usos Comuns Endereçamento Relativo End. Via Registrador-Base Indexação

Page 18: Arquitetura de Computadores Cap. 10 Conjunto de Instruções: Modos de End. e Formatos.

End. Por DeslocamentoEnd. Relativo

R = Program Counter, PCEA = A + (PC)Deslocamento Relativo ao End. da

InstruçãoExplora Conceito de Localidade e Uso da

Cache Maioria das Referências à Memória

Posições Próximas da Instrução AtualVer Apêndice 4A

Page 19: Arquitetura de Computadores Cap. 10 Conjunto de Instruções: Modos de End. e Formatos.

End. Por Deslocamento End. Via Registrador-Base

R = Endereço BaseA = DeslocamentoForma Conveniente de Implementar a

Segmentação de MemóriaReferência a R Pode Ser Explícita ou

ImplícitaEx.: Registradores de Segmento no

80x86

Page 20: Arquitetura de Computadores Cap. 10 Conjunto de Instruções: Modos de End. e Formatos.

End. Por Deslocamento Indexação

A = BaseR = DeslocamentoEA = A + RConveniente para Acessar Matrizes

EA = A + R R++

Page 21: Arquitetura de Computadores Cap. 10 Conjunto de Instruções: Modos de End. e Formatos.

Indexação – Combinações

Pós-Indexação EA = (A) + (R)

Pré-Indexação EA = (A+(R))

Diagramas Atividade!

Page 22: Arquitetura de Computadores Cap. 10 Conjunto de Instruções: Modos de End. e Formatos.

Endereçamento à Pilha

Topo da Pilha (Implicitamente) Operando

Pilha Seqüência Linear de Posições de Memória

Bloco Reservado

Lista Push-Down Fila LIFO (Last In, First Out) Apontador de Topo da Pilha (Stack Pointer)

RegistradorReferência à Pilha = End. Indireto Via Registrador

Page 23: Arquitetura de Computadores Cap. 10 Conjunto de Instruções: Modos de End. e Formatos.

Formatos de Instrução

Disposição de bits da InstruçãoInclui

Código de Operação (OpCode) Zero ou Mais Operandos (Implícita ou

Explicitamente)Usualmente Mais de Um Formato de

Instrução em Um Conjunto de Instrução

Page 24: Arquitetura de Computadores Cap. 10 Conjunto de Instruções: Modos de End. e Formatos.

Formatos de Instrução

Questões Fundamentais Tamanho de Instrução Alocação de bits Instruções de Tamanho Variável

Page 25: Arquitetura de Computadores Cap. 10 Conjunto de Instruções: Modos de End. e Formatos.

Tamanho de Instrução

Afeta e É Afetada por Tamanho da Memória Organização da Memória Estrutura de Barramento Complexidade da CPU Velocidade da CPU

Determina Riqueza e Flexibilidade da Máquina para Programador Assembly

Page 26: Arquitetura de Computadores Cap. 10 Conjunto de Instruções: Modos de End. e Formatos.

Tamanho da Instrução

Conflito Fornecer Repertório de Instruções Poderoso Necessidade de Economizar Espaço

Demanda dos Programadores Mais Códigos de Operação Prg.

Compacto Mais Operandos Prgs. Mais Compactos Mais Modos de End. Mais Flexibilidade Maior Espaço de Endereçamento

Page 27: Arquitetura de Computadores Cap. 10 Conjunto de Instruções: Modos de End. e Formatos.

Tamanho da Instrução

Instruções Maiores = Desperdício? Espaço Instr. de 32 bits = 2 X Instr. de 16

bits Utilidade É Duas Vezes Maior?

Tamanho da Instrução = Unidade de Transferência de Dados Memória-CPU? Nº de Instruções Obtidas em Um Ciclo de

Busca

Page 28: Arquitetura de Computadores Cap. 10 Conjunto de Instruções: Modos de End. e Formatos.

Alocação de bits

Conflito Nº de OpCodes Capacidade de Endereçamento

Uso de OpCodes de Tamanho Variável Tamanho Mínimo para OpCode

Page 29: Arquitetura de Computadores Cap. 10 Conjunto de Instruções: Modos de End. e Formatos.

Alocação de bits

Fatores de Uso dos bits Número de Modos de Endereçamento Número de Operandos Memória ou Registrador

8 a 32 Registradores Visíveis ao Usuário Número de Conjuntos de Registradores

Dois ou Mais: Dados e Deslocamento Faixa de Endereços Granularidade de Endereçamento

Tamanho da Palavra X Acesso ao Byte/PalavraAs Escolhas São Críticas?

Page 30: Arquitetura de Computadores Cap. 10 Conjunto de Instruções: Modos de End. e Formatos.

Instruções de Tamanho Variável

Instruções de Tamanhos Diferentes X Tamanho Único

Custo Principal Complexidade da CPU

Tamanhos de Instruções = Múltiplos ou Divisores do Tamanho da Palavra Estratégia Típica: Buscar Sempre o Nº

de Bytes do Tamanho da Maior Instrução

Page 31: Arquitetura de Computadores Cap. 10 Conjunto de Instruções: Modos de End. e Formatos.

Pentium

Pesquisar Modos de Endereçamento Formatos de Instrução

Conclusões Instruction Set = Simples ou Complexa?

Compatibilidade e LegadoFornecer ao Desenvolvedor de

Compiladores Ferramentas para Produzir Código Eficiente

Page 32: Arquitetura de Computadores Cap. 10 Conjunto de Instruções: Modos de End. e Formatos.

Por onde estudar ?

Computer Organization and Architecture William Stallings

Cap. 10