A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

REPRESENTAÇÃO DE INSTRUÇÕES

Apresentações semelhantes


Apresentação em tema: "REPRESENTAÇÃO DE INSTRUÇÕES"— Transcrição da apresentação:

1 REPRESENTAÇÃO DE INSTRUÇÕES
CONJUNTO DE INSTRUÇÕES DO MICROPROCESSADOR INTEL 8080 REPRESENTAÇÃO DE INSTRUÇÕES

2 FORMATO GERAL DE DADOS E INSTRUÇÕES NO INTEL 8080
A memória no Microprocessador Intel 8080 é organizada em células de 8 bits (1 byte). Cada célula é identificada por um código composto por 16 bits - o endereço da célula, que geralmente é representado na base hexadecimal, acarretando um valor entre 0000 e FFFF. O 8080 pode portanto endereçar bytes de memória, compostas de memória ROM e memória de leitura / escrita.

3 continuação Os dados são armazenados no 8080 na forma de palavras com 8 bits, como mostra a ilustração abaixo. O bit mais à direita ou bit 0 é o bit menos significativo (em inglês, least significant bit ou LSB) e o bit mais à esquerda ou bit 7 é o bit mais significativo (em inglês, most significant bit ou MSB).

4 Continuando As instruções no Intel 8080 podem ter 1, 2 ou bytes, ocupando respectivamente uma, duas ou tres células de memória. As ilustrações a seguir apresentam as instruções de 1, 2 e 3 bytes. As instruções de 1 byte não tem operando.

5 Continuando... As instruções de 2 bytes tem como operando um dado de 8 bits.

6 Continuando... As instruções de 3 bytes tem como operando um endereço ou um dado de 16 bits.

7 Continuando... Em uma instrução de 3 bytes em que o operando é um endereço, o endereço é armazenado sempre com o byte menos significativo na posição seguinte à do opcode e o byte mais significativo do endereço no 2º byte após o opcode. São ocupadas 3 células consecutivas da Memória Principal do Intel 8080, como mostra a ilustração seguinte:

8 IDENTIFICAÇÃO DO MODO DE ENDEREÇAMENTO DA INSTRUÇÃO
No Intel 8080, o Código de Operação identifica o modo de endereçamento, através de seu mnemônico e do correspondente código binário. Os registradores envolvidos em instruções que usam os modos de endereçamento direto por registrador e indireto por registrador são definidos através de determinados bits no opcode.

9 MODOS DE ENDEREÇAMENTO
O Intel 8080 dispõe dos seguintes modos de endereçamento: Implícito; Imediato; Direto; Registrador Direto; Registrador Indireto.

10 MODO IMPLÍCITO (Implied Addressing)
A função da instrução traz implícito o endereçamento. Não há operando. Exemplo: No microprocessador Intel 8080 essas instruções ocupam apenas 1 byte, sendo buscadas em apenas 1 acesso à memória. São as seguintes as instruções com endereçamento implícito: STC (set carry flag) - "seta" o bit de carry e CMC (complement carry) - complementa o valor do bit de carry; - o operando implícito é o carry flag. RAL (rotate accumulator left), RAR (rotate accumulator right) - instruções de deslocamento de bits, à esquerda e à direita - o operando implícito é o acumulador; RLC (rotate accumulator left through carry) e RRC (rotate accumulator right through carry) - instruções de deslocamento de bits, à esquerda e à direita, através do carry flag - os operandos implícitos são o acumulador e o carry flag; DAA (decimal adjust accumulator) - instrução para aritmética em BCD - o operando implícito é o acumulador (usa também o flag AC - auxiliary carry).

11 MODO IMEDIATO O valor do campo operando é o próprio dado.
É usado para trabalhar com valores constantes. O operando é dito operando imediato (o operando é o próprio valor a ser operado, ou seja, é o próprio dado a ser processado). Vantagem: O operando é obtido durante o ciclo de busca, em apenas 1 acesso (quando o operando é de apenas 1 byte, tal como um dado de 8 bits) ou em 2 acessos (quando o operando é de 2 bytes, tal como um dado de 16 bits ou um endereço). Não é necessário fazer nenhum acesso à MP no ciclo de execução, o que acarreta maior rapidez na execução. Obs.: Algumas instruções no modo imediato (geralmente instruções que manipulam endereços de memória) buscam endereços ou dados de 2 bytes.

12 Continuando... Desvantagens
a) O tamanho do dado fica limitado ao número de bits do operando (campo operando da instrução). A limitação de tamanho do campo operando reduz o valor máximo do dado que pode ser armazenado. No Intel 8080, o campo Operando tem 8 bits, portanto o maior valor deste campo será limitado a 28 = 256. Existem instruções que permitem carregar doublewords, isto é, palavras duplas que ocupam 2 células de memória, em que o maior valor será limitado a 216 = (64k). b) Este modo de endereçamento não permite flexibilidade para alterar dados que variam a cada execução do programa, portanto não é adequado para variáveis repetidamente operadas com diferentes valores a cada execução do programa. Utilização - Inicialização de contadores - Constantes - Armazenamento de ponteiros em registradores - Indicação de quantidade de posições em operações de deslocamento de bits (multiplicação e divisão)

13 continuando Nota: No Intel 8080, as instruções com endereçamento imediato são quase sempre codificadas com mnemônicos de 3 letras terminados pela letra I. Exemplos instrução de soma ==> mnemônico para endereçamento direto = ADD instrução de soma ==> mnemônico para endereçamento imediato = ADI; instrução “move” ==> mnemônico para endereçamento direto = MOV instrução “move” ==> mnemônico para endereçamento imediato = MVI; instrução “load” (carrega) ==> mnemônico para endereçamento direto): LDA instrução “load” ==> mnemônico para endereçamento direto = LDI Obs.: No Intel 8080, quase todas as instruções imediatas usam o acumulador como operador implícito. As exceções são: MVI (move immediate) - pode mover o dado para qualquer registrador de trabalho ou posição de memória; LXI (load register pair immediate) - move um dado de 16 bits (geralmente um endereço) para qualquer par de registradores.

14 MODO DIRETO O valor do campo operando indica o endereço do dado na MP. No Intel 8080, como um endereço requer 16 bits, o operando (no modo direto) terá 16 bits, ocupando 2 células e as instruções no modo de endereçamento direto terão 3 bytes. Vantagens a) É aplicado em mais situações que o modo imediato; b) Requer apenas uma referência à memória para busca do dado (além de uma para a busca da instrução), sendo mais rápido que o modo indireto. Desvantagens a) Limitação do endereço da MP que pode ser indicado pelo tamanho do campo operando. b) É mais lento que o modo imediato. Utillização Quando o dado varia de valor a cada execução.

15 MODO INDIRETO O campo operando contém um endereço de memória cujo conteúdo é o endereço do dado a ser operado. Portanto, há um duplo endereçamento. O endereço intermediário é chamado ponteiro (“pointer”) O Intel 8080 somente dispõe de instruções com modo de endereçamento indireto usando registradores como ponteiro.

16 ENDEREÇAMENTO POR REGISTRADOR
Existem outros modos de endereçamento, que usam registradores para indicar a posição onde estão os dados. Os modos de endereçamento direto e indireto por registrador funcionam de forma semelhante aos modos de endereçamento direto e indireto vistos anteriormente (em que o operando aponta para uma posição de memória), porém utilizando um registrador em lugar do operando. O conteúdo do Registrador pode ser o dado - endereçamento direto - ou então é uma referência à memória - endereçamento indireto.

17 MODO POR REGISTRADOR (Modo por registrador direto)
O operando aponta para um registrador, o qual contém o dado.

18 MODO POR REGISTRADOR INDIRETO
O operando aponta para um registrador, o qual contém um endereço de memória (ponteiro) onde está o dado. Vantagens : Maior velocidade / rapidez de execução - o acesso ao registrador é muito mais rápido que o acesso à memória. Economia de espaço de armazenamento de instrução (o tamanho da instrução é menor porque como são poucos registradores, são menos bits para seus endereços).

19 Continuação... Desvantagem:
Não são adequados para transferência de variáveis da MP para ULA. Pequeno número de registradores - se forem muitos os dados endereçados por registrador, os registradores disponíveis podem não ser suficientes. Utilização Implementação de contadores. No Intel 8080, a identificação do registrador envolvido na operação faz parte do próprio opcode.

20 EFEITOS DE TEMPORIZAÇÃO DOS MODOS DE ENDEREÇAMENTO
O número de acessos à memória é o mais importante fator no consumo de tempo de execução da instrução. O modo de endereçamento afeta o tempo requerido para executar uma instrução e a memória requerida para seu armazenamento. Instruções que usam endereçamento implícito ou por registrador direto são executadas muito rápido, pois trabalham diretamente com o hardware do processador e seus registradores. No Intel 8080, uma instrução no modo de endereçamento implícito ou por registrador direto toda pode ser buscada (“fetched”) em um único ciclo de busca (um único acesso à memória), correspondente à busca do opcode. Cada ciclo de acesso à memória busca uma célula e implica em um número variável de estados, cujo tempo de duração depende da frequência do clock. Cada instrução consome um determinado número de ciclos de UCP.

21 Referências... Torres, Gabriel. Hardware Curso completo 4ª Edição.
Stallings, Willian. Arquitetura e Organização de Computadores 5ª Edição. Morimoto, Carlos E. Guia do Hardware 3ª Edição.


Carregar ppt "REPRESENTAÇÃO DE INSTRUÇÕES"

Apresentações semelhantes


Anúncios Google