Arquitetura e organização de computadores

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

description

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

Transcript of Arquitetura e organização de computadores

Page 1: Arquitetura e organização de computadores

Arquitetura e organização de computadores

Ciclo de instrução

Aula 08Prof. Diovani Milhorim

Page 2: Arquitetura e organização de computadores

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).

Page 3: Arquitetura e organização de computadores

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.

Page 4: Arquitetura e organização de computadores

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.

Page 5: Arquitetura e organização de computadores

Ciclo de instrução

Page 6: Arquitetura e organização de computadores

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)

Page 7: Arquitetura e organização de computadores

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.

Page 8: Arquitetura e organização de computadores

Ciclo de instrução

Ciclo de InstruçãoSegundo passo

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

Page 9: Arquitetura e organização de computadores

Ciclo de instrução

Ciclo de InstruçãoSegundo 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);

Page 10: Arquitetura e organização de computadores

Ciclo de instrução

Ciclo de InstruçãoTerceiro passo

A UC busca (se houver) o(s) operando(s).

Fase: Busca de operandos (Operand Fetch) - ciclo de execução

RI <--- (Op)

Page 11: Arquitetura e organização de computadores

Ciclo de instrução

Ciclo de InstruçãoTerceiro 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";

Page 12: Arquitetura e organização de computadores

Ciclo de instrução

Ciclo de InstruçãoTerceiro 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)

Page 13: Arquitetura e organização de computadores

Ciclo de instrução

Ciclo de InstruçãoTerceiro 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.

Page 14: Arquitetura e organização de computadores

Ciclo de instrução

Ciclo de InstruçãoQuarto 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.

Page 15: Arquitetura e organização de computadores

Ciclo de instrução

Ciclo de InstruçãoQuinto passo

Se o programa tiver terminado, Para;

senão, volta ao passo 1.

Page 16: Arquitetura e organização de computadores

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:

Page 17: Arquitetura e organização de computadores

Ciclo de instrução

Ciclo de InstruçãoExemplo 1: formato de instrução:

Page 18: Arquitetura e organização de computadores

Ciclo de instrução

Ciclo de InstruçãoExemplo 1: Conteúdo da memória principal

Page 19: Arquitetura e organização de computadores

Ciclo de instruçãoCiclo de InstruçãoExemplo 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

Page 20: Arquitetura e organização de computadores

Ciclo de instrução

Ciclo de InstruçãoExemplo 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".

Page 21: Arquitetura e organização de computadores

Ciclo de instrução

Ciclo de InstruçãoExemplo 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)

Page 22: Arquitetura e organização de computadores

Ciclo de instrução

Ciclo de InstruçãoExemplo 1:

Page 23: Arquitetura e organização de computadores

Ciclo de instruçãoCiclo de InstruçãoExemplo 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.

Page 24: Arquitetura e organização de computadores

Ciclo de instrução

Ciclo de Instrução

Exemplo 2: