Upload
internet
View
115
Download
3
Embed Size (px)
Citation preview
Arquitetura de Computadores
Cap. 10Conjunto de Instruções:Modos de End. e Formatos
Modos de Endereçamento
ImediatoDiretoIndiretoRegistradorIndireto Via RegistradorDeslocamento (Indexação)Pilha
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
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
Diagrama de End. Imediato
OperandoOpcode
Instrução
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
Diagrama de End. Direto
Endereço AOpcode
Instrução
Memória
Operando
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
Diagrama de End. Indireto
OpcodeMemória
Operando
Ponteiro p/Op.
Endereço A
Instrução
Endereçamento de Registrador
Semelhante ao End. DiretoCampo de Endereço Registrador
Onde Está OperandoAlgoritmo
EA = RTipicamente
Campo de End. 3-4 bits __ Registradores?
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
Diagrama de End. de Registrador
End. do Registrador ROpcode
Instrução
Registradores
Operando
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
Diagrama de End. IndiretoVia Registrador
End. do Registrador ROpcode
Instrução
Memória
OperandoPonteiro para Op.
Registradores
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
Diagrama de End.Por Deslocamento
Registrador ROpcode
Instrução
Memória
OperandoPonteiro para Op.
Registradores
Endereço A
+
End. Por Deslocamento
Três Usos Comuns Endereçamento Relativo End. Via Registrador-Base Indexação
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
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
End. Por Deslocamento Indexação
A = BaseR = DeslocamentoEA = A + RConveniente para Acessar Matrizes
EA = A + R R++
Indexação – Combinações
Pós-Indexação EA = (A) + (R)
Pré-Indexação EA = (A+(R))
Diagramas Atividade!
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
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
Formatos de Instrução
Questões Fundamentais Tamanho de Instrução Alocação de bits Instruções de Tamanho Variável
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
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
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
Alocação de bits
Conflito Nº de OpCodes Capacidade de Endereçamento
Uso de OpCodes de Tamanho Variável Tamanho Mínimo para OpCode
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?
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
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
Por onde estudar ?
Computer Organization and Architecture William Stallings
Cap. 10