O Conceito de Ciclo de Instrução Show Sendo a função da CPU a de executar as instruções dos nossos programas deve haver um processo para descrever passo a passo as tarefas que a CPU deve realizar para cumprir sua função. No projeto de uma CPU há a fase de escolher o conjunto de instruções que a CPU vai executar. A outra fase é descrever o processo de execução destas instruções ou ciclo de instruções. O ciclo de instruções é então um processo com etapas que consiste basicamente em interpretar e executar cada instrução. Mas também inclui a especificação e o projeto dos demais componentes da arquitetura que irão ajudar neste processo. Para a execução de uma única instrução existem várias etapas que o processador deve realizar. Estas etapas compõem o ciclo de instrução da CPU. Para facilitar o estudo, vamos considerar uma CPU fictícia e que é portanto mais simples do que uma CPU comercial. Vamos considerar a execução de duas instruções do conjunto acima, as instruções LDA Op e ADD Op. As Instruções LDA e ADD Vamos considerar alguns valores iniciais existentes ao iniciar a execução do primeiro ciclo de instrução, da instrução LDA. a ) A instrução LDA está armazenada na MP no endereço decimal 2, que é igual a 00000010 na base 2. A descrição da instrução LDA na base 2 é: 000110110100 ou 1B4 em hexadecimal. Os 12 bits que constituem a instrução têm finalidades diferentes conforme o formato já definido para as instruções. Os primeiros 4 bits são usados para o código da operação ( C. Op. ) e os 8 bits restantes são usados para indicar o valor do campo operando, na verdade indicam o endereço de memória do dado a ser manipulado pela operação ( Op. ). Assim temos que os 4 primeiros bits são para o código de operação, C.Op = 0001, e os 8 bits restantes são para o operando, Op. = 10110100. Observem que para este processador imaginário as instruções possuem apenas um operando. Vamos supor agora que o valor armazenado no endereço de memória indicado no campo Op. seja igual a 423 na base 10. b ) A instrução ADD está armazenada no endereço 3 na base 16, e seu valor na base 2 é igual a 001110110101. Da mesma forma que na instrução LDA, os primeiros 4 bits são usados para o código da operação ( C. Op. ) e os 8 bits restantes são usados para o operando ( Op. ). c ) O valor armazenado no CI é 02 na base 16. d ) O valor armazenado no RI é 317 na base 16, provavelmente o endereço da instrução executada no ciclo anterior. e ) O valor armazenado no ACC é 20B na base 16, ( também é um valor obtido na execução da instrução anterior ). e ) O valor armazenado no REM é B3 e o valor armazenado no RDM é 7BC. Com isso vemos que: - Há vários componentes que participam da execução de um ciclo de instrução. São eles:
Ao ser iniciado o Ciclo de Instrução , o valor de cada um destes registradores é o resultado da instrução executada anteriormente, ou seja, do ciclo de instrução anterior.Ao terminar um ciclo de instrução, a CPU inicia automaticamente outro ciclo de instrução. Agora que conhecemos os componentes envolvidos em um ciclo de instrução precisamos conhecer também os passos realizados pela CPU ao executar um ciclo de instrução. Todo ciclo de instrução é executado conforme o fluxograma abaixo: De acordo com o fluxograma acima, podemos ver que o ciclo de instrução é formado por 2 etapas principais: a busca e a execução da instrução. Assim podemos, descrever, de forma simples, o ciclo de instrução nos passos abaixo:
Agora vamos ver passo a passo como estas duas etapas são realizadas quando o ciclo de instrução é executado: 1 ) Busca da instrução. RI <- CI.
2 ) Incrementa o Contador de Instrução. CI = CI + 1.
3 ) Decodificação do código da operação.
4 ) Se a instrução tiver operandos, a UC deverá buscá-los, senão passa diretamente próximo passo. Nem todas as instruções possuem operandos. Uma instrução de parada ( STOP ) ou de suspensão da execução de um programa ( SLEEP ) não possuem operandos e portanto podem pular este passo. Por isso esta etapa é opcional e nem sempre é executada. Porém quando é executada implica em transferência via barramento dos dados da memória principal para os registradores de dados. 5 ) Execução da instrução. A UC transfere o campo C. Op. para o REM pelo barramento interno. Após ser decodificada a instrução é finalmente executada pela CPF e o seu resultado armazenado em ACC. Resultado: ACC = 1A7 Os passos 1 e 2 correspondem ao ciclo de busca e os passos 4 e 5 correspondem ao ciclo de execução da instrução. O Desempenho de uma Instrução O que diferencia o desempenho de uma instrução em relação à outra é a quantidade de ciclos de memória ( acessos ) realizados durante o ciclo de uma instrução . Isto porque o ciclo de memória tem um tempo considerável se comparado ao ciclo de um processador. Uma instrução então que possui 3 operandos leva um tempo maior para ser executada do que uma instrução com 2 operandos visto que serão necessários 3 acessos à memória, via transferência de bits por barramento, para busca do valor dos operandos para a primeira instrução enquanto que serão necessários apenas 2 acessos para a segunda instrução. Ao mencionar ciclo de memória estamos nos referindo ao conjunto de etapas que leva para concluir um ciclo de leitura ou um ciclo de escrita na memória principal. Quais as etapas de um ciclo de instrução?Agora vamos ver passo a passo como estas duas etapas são realizadas quando o ciclo de instrução é executado:. Busca da instrução. ... . Incrementa o Contador de Instrução. ... . Decodificação do código da operação. ... . Se a instrução tiver operandos, a UC deverá buscá-los, senão passa diretamente próximo passo.. Como funciona o ciclo de execução de uma instrução?Um ciclo de instrução (também chamado de ciclo de busca e execução ou ciclo busca-execução) é o período de tempo no qual um computador lê e processa uma instrução em linguagem de máquina da sua memória ou a sequência de ações que a CPU realiza para executar cada instrução em código de máquina num programa.
Quais são as quatro etapas que as CPU's utilizam para executar instruções?seguintes etapas são definidas:. Busca da instrução.. Decodificação da instrução e busca dos.. Execução, cálculo do endereço de memória ou.. Etapa de acesso à memória ou conclusão de.. Etapa de conclusão da leitura da memória. (load). O que e uma instrução como ela e formada?Em ciência da computação, uma instrução é uma operação única executada por um processador e definida por um conjunto de instruções. Num sentido amplo, uma "instrução" pode ser qualquer representação de um elemento num programa executável, tal como um bytecode.
|