1 / 24

Arquitetura e organização de computadores

Arquitetura e organização de computadores. Ciclo de instrução Aula 08 Prof. Diovani Milhorim. Ciclo de instrução. CICLO DE INSTRUÇÃO

yardan
Download Presentation

Arquitetura e organização de computadores

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Arquitetura e organização de computadores Ciclo de instrução Aula 08 Prof. Diovani Milhorim

  2. Ciclo de instrução CICLO DE INSTRUÇÃO Para se executar um programa, primeiramente ele precisa ser carregado (armazenado) na MP, o que é feito pelo Sistema Operacional, que também se encarrega de informar à UCP onde o programa começa. O Sistema Operacional faz isto "setando" o Contador de Instruções (isto é, colocando no CI o endereço da MP onde está localizada a primeira instrução daquele programa).

  3. Ciclo de instrução CICLO DE INSTRUÇÃO A partir do carregamento do programa se realiza o processamento automático, executando-se as instruções seqüencialmente uma a uma, o que é obtido através do incremento automático do CI.Obs: Se o programa inclui uma instrução de desvio, o fluxo seqüencial pode ser alterado.

  4. Ciclo de instrução CICLO DE INSTRUÇÃO A UCP não diferencia um dado de uma instrução. A UCP não "executa" dados devido ao conteúdo do CI, que é incrementado pelo tamanho da instrução e fica sempre apontando para a próxima instrução. Mas se em um programa houver uma instrução de desvio para um endereço em que esteja contido um dado, a UCP interpretaria o valor binário do dado como se fosse o código de uma instrução, tentaria executar e o resultado seria imprevisível.

  5. Ciclo de instrução

  6. Ciclo de instrução Ciclo de InstruçãoPrimeiro passo A UCP busca o código de operação na MP e armazena no Registrador de Instrução da UC Fase: Busca da instrução - (Instruction Fetch) - ciclo de busca RI <--- (CI)

  7. Ciclo de instrução Ciclo de Instrução – Busca de instrução Micro-operações: - a UC lê o conteúdo do CI (endereço da próxima instrução ) e coloca o endereço no REM;- a UC envia um sinal à memória de operação de leitura (memory read), via barramento de controle;- a memória lê o endereço que está no REM, via barramento de endereços, e busca o conteúdo da célula referenciada;- a memória coloca no RDM, via barramento de dados, o conteúdo da célula lida;- a memória envia à UC, via barramento de controle, um sinal de "leitura concluída";- a UC transfere o código de operação (o conteúdo do RDM) ao RI.

  8. Ciclo de instrução Ciclo de Instrução Segundo passo A UC (decodificador de instruções) decodifica o Código de Operação.Fase: Busca da instrução - (Instruction Fetch) - ciclo de busca

  9. Ciclo de instrução Ciclo de Instrução Segundo passo Micro-operações:- o Decodificador de Instruções decodifica o opcode;- o Decodificador de Instruções determina quantas células a instrução ocupa;- a UC incrementa o CI para apontar para a próxima instrução: CI <--- (CI + n), onde n = nº de células que a instrução ocupa.- a UC incrementa o REM para apontar para o operando: REM <--- (REM + 1);

  10. Ciclo de instrução Ciclo de Instrução Terceiro passo A UC busca (se houver) o(s) operando(s). Fase: Busca de operandos (Operand Fetch) - ciclo de execução RI <--- (Op)

  11. Ciclo de instrução Ciclo de Instrução Terceiro passo Micro-operações: - a UC envia um sinal à memória de operação de leitura (memory read), via barramento de controle;- a memória lê o endereço que está no REM, via barramento de endereços, e busca o conteúdo da célula referenciada;- a memória coloca no RDM, via barramento de dados, o conteúdo da célula lida;- a memória envia à UC, via barramento de controle, um sinal de "leitura concluída";

  12. Ciclo de instrução Ciclo de Instrução Terceiro passo Micro-operações: - a UC transfere o operando (o conteúdo do RDM) ao RI.* Se o operando é o próprio dado:  -- a UC transfere o dado (o conteúdo do RDM) ao ACC. -- vai para operação 4; caso contrário: (continua)

  13. Ciclo de instrução Ciclo de Instrução Terceiro passo Micro-operações:  caso contrário: * Se o operando é um ponteiro para onde o dado está armazenado:  -- a UC coloca no REM o endereço de onde o dado está armazenado; -- Repete-se o processo de leitura da memória. -- a UC transfere o dado (o conteúdo do RDM) ao ACC;-- vai para operação 4.

  14. Ciclo de instrução Ciclo de Instrução Quarto passo A UC comanda a execução da instrução (a operação é executada sobre o dado).Fase: Execução da instrução - ciclo de execução- UAL executa a instrução.

  15. Ciclo de instrução Ciclo de Instrução Quinto passo Se o programa tiver terminado, Para; senão, volta ao passo 1.

  16. Ciclo de instrução Ciclo de Instrução Exemplo 1: Observe o formato da instrução e o conteúdo da memória principal na máquina hipotética a seguir:

  17. Ciclo de instrução Ciclo de Instrução Exemplo 1: formato de instrução:

  18. Ciclo de instrução Ciclo de Instrução Exemplo 1: Conteúdo da memória principal

  19. Ciclo de instrução Ciclo de Instrução Exemplo 1: Solução: O CI tem 8 bits porque o operando tem 8 bits; o mapa de memória também mostra isso, com os endereços ocupando 2 dígitos hexadecimais (cada dígito hexadecimal requer 4 bits). A célula de memória tem 8 bits, conforme vemos pelo mapa de memória, em que os conteúdos das células ocupam 2 dígitos hexadecimais.  O RI tem 16 bits porque a instrução tem 16 bits. ACC - não daria para assegurar porque depende do tamanho da palavra; vamos assumir 8 bits, de vez que como o operando, o opcode e a célula têm 8 bits, o RDM e o Acumulador provavelmente também terão 8 bits A instrução ocupará 2 células, logo o incremento do CI = n = 2

  20. Ciclo de instrução Ciclo de Instrução Exemplo 1: Nesta máquina, considere que o código de operação 2A significa LDA Op ==> ACC <--- (Op) Obs.: A instrução do exercício LDA Op (LDA é um mnemônico para "load accumulator") significa "carrega no acumulador o conteúdo da posição de memória indicada no operando".

  21. Ciclo de instrução Ciclo de Instrução Exemplo 1: Vamos acompanhar o processamento da instrução: LOAD (2A neste exemplo) => colocar o conteúdo do endereço indicado pelo operando no ACC (carrega dado no acumulador); T0, T1 e T2 representam os diversos estados dos registradores (nos respectivos tempos do ciclo de busca da instrução).  n=2 (2 acessos à MP para buscar instrução)

  22. Ciclo de instrução Ciclo de Instrução Exemplo 1:

  23. Ciclo de instrução Ciclo de Instrução Exemplo 2: Considerando a mesma máquina do exemplo anterior, qual seria o processamento da instrução: LDIA Op ==> ACC <--- ((Op)) Obs.: A instrução do exercício LDIA Op (LDIA é um mnemônico para "load accumulator indirect") significa "carrega no acumulador o conteúdo da posição de memória apontada pela posição indicada no operando". Portanto, a posição de memória indicada pelo Operando é um ponteiro para a posição onde está o dado e existe uma indireção.

  24. Ciclo de instrução Ciclo de Instrução Exemplo 2:

More Related