Baixe Arquitetura e Organização de computadores e outras Notas de estudo em PDF para Arquitetura, somente na Docsity!
Arquitetura e Organização de Computadores
Capítulo 11
Conjuntos de instruções: Modos de endereçamento e formatos
Modos de endereçamento
- Imediato.
- Direto.
- Indireto.
- Registradores.
- Indireto por registradores.
- Deslocamento (indexado).
- Pilha.
Endereçamento imediato
- Operando é parte da instrução.
- Operando= campo de endereço.
- P.e., ADD 5.
- Some 5 ao conteúdo do acumulador.
- 5 é operando.
- Nenhuma referência de memória para buscar dados.
- • RápidoRápido.
- Faixa limitada.
Diagrama do endereçamento imediato
Opcode Operando
Instrução
Endereçamento indireto
- Célula de memória apontada pelo campo de endereço contém o endereço d dd o (( ponteirot i para o)) operando.d
- EA= (A).
- Examine A, ache endereço (A) e procure lá o operando.
- P.e., ADD (A).
- Some o conteúdo da célula apontada pelo conteúdo de A ao acumulador.
- Grande espaço de endereços.
- 2 2 ,n^ onde n= tamanho da palavraonde n= tamanho da palavra.
- Pode ser aninhado, multinível, em cascata.
- P.e., EA = (((A))).
- Desenhe o diagrama você mesmo.
- Múltiplos acessos à memória para encontrar operando.
- Daí mais lento.
Diagrama do endereçamento indireto
Opcode Endereço A
Instrução p ç Memória
Operando
Ponteiro para operando
Operando
Endereçamento de registradores
- Operando é mantido no registrador nomeado no campo de endereço. d
- EA= R.
- Número limitado de registradores.
- Necessário campo de endereço muito pequeno.
- Instruções mais curtas.
- Busca de instruçãoç mais rápida.p
Endereçamento indireto por registradores
- Comparep com endereçamentoç indireto.
- EA= (R)
- Operando está na célula de memória apontada pelo conteúdo do registrador R.
- Grande espaço de endereços (2n).
- Um acesso à memória a menos que o endereçamento indireto.
Diagrama de endereçamento indireto por registradores
Instrução Opcode Endereço de registrador R Memória
Registradores
Ponteiro p/operando Operando
Endereçamento por deslocamento
• EA= A + (( )R).
- Campo de endereço mantém dois valores:
- A= valor base.
- R= registrador que mantém deslocamento.
- Ou vice‐versa.
Diagrama de endereçamento por deslocamento
Instrução Registrador Opcode (^) R Memória
Registradores
Endereço A
Ponteiro p/operando (^) + Operando
Endereçamento indexado
- AA= base. base.
- R= deslocamento.
- EA= A + R.
- Bom para acessar arrays.
Combinações
- Pós‐indexação:
- EA= (A) + (R).
- Pré‐indexação:
- EA= (A+(R)).
- • (Desenhe os diagramas)(Desenhe os diagramas)
Endereçamento de pilha
- OO perandod estáá (i (i mplicitamente)li i ) no topo dd a pilha.ilh
- P.e.:
- ADD: Retira dois itens do topo da pilha e os soma.
Modos de endereçamento x
- Endereço virtual ou efetivo é deslocamento para segmento.
- Endereço inicial mais deslocamento gera endereço linear.
- Isso passa pela tradução de página se paginação ativada.
- 12 modos de endereçamento disponíveis:
- Imediato.
- Registrador operando.
- Deslocamento.
- Base.
- BBase com dd eslocamento.l t
- Índice escalado com deslocamento.
- Base com índice e deslocamento.
- Modo base com índice escalado e deslocamento.
- Relativo.
Métodos de indexação ARM
Endereçamento de instruções de processamento de dados & Instruções de desvio
- PP rocessamento dd e d ddados:
- Endereçamento de registrador.
- Valores nos operandos do registrador podem ser escalados usando um operador de deslocamento.
- Ou mistura de endereçamento por registrador e imediato.
- Desvio:
- Imediato.
- Instrução contém valor de 24 bits.
- Deslocado 2 bits à esquerda.
- No limite de palavra.
- Intervalo efetivo +/‐ 32 MB do PC.
Endereçamento Load/Store múltiplo no ARM
- SubcoSubco ju to oad/sto e de eg st ado es de uso ge anjunto load/store de registradores de uso geral.
- Campo de instrução de 16 bits especifica lista de registradores.
- Intervalo sequencial de endereços de memória.
- Incrementar após, incrementar antes, decrementar após e decrementar antes.
- Registrador base especifica endereço da memória principal.
- Incrementar ou decrementar começaç antes ou apósp pprimeiro acesso à memória.
Diagrama de endereçamento load/store múltiplo
Alocação de bits
- Número de modos de endereçamento.
- Número de operandos.
- Registrador versus memória.
- Número de conjuntos de registradores.
- Intervalo de endereços.
- Granularidade do endereço.
Formato de instrução do PDP-
- Formato de instrução do PDP-
- Formato de instrução do PDP-
Formatos de instrução do ARM
Uso de constantes imediatas do ARM
Conjunto de instruções Thumb
- Subconjunto recodificado do conjunto de instruções do ARM.
- Aumenta desempenho em barramento de dados de 16 bits ou menos.
- Incondicional (economia de 4 bits).
- Sempre atualiza flags de condição.
- Atualiza flag de não usado (economia de 1 bit).
- Subconjunto de instruções:Subconjunto de instruções:
- Opcode de 2 bits, campo de tipo de 3 bits (economia de 1 bit).
- Especificações de operando reduzidas (economia de 9 bits).
Expandindo instrução ADD do Thumb para equivalente do ARM