Processadores
A execução de operações de algoritmos em processadores
ocorre através de uma organização criada por Von Neumann.
Para que processadores possam executar instruções, no
entanto, diferentes componentes precisam estar presentes em sua arquitetura. A
organização desses componentes permite a execução das instruções através de uma
serie de etapas chamadas de micro-instruções. A execução de uma seqüência de
micro-instruções acaba por executar cada instrução dos algoritmos que os
processadores executam.
1) Contador
de instruções:
|
Pequena
memória que guarda o endereço de memória da próxima instrução a ser
executada: a instrução que está no endereço que corresponde ao conteúdo do
contador de instruções é a próxima instrução que o processador irá executar.
|
2)
Registrador de instruções:
|
Pequena
memória que armazena as instruções que serão executadas pelo processador.
Como inicialmente todas as instruções estão na memória de instruções, estas
precisam ser armazenadas internamente no processador para execução.
|
3)
Decodificador de instruções:
|
Circuito
que decodifica, ou seja, descobre o que é a instrução (o que ela faz) e quais
os seus operandos. O decodificador de instruções descobre o que tem na
palavra de instrução (palavras de instrução foram estudadas na aula 3).
|
4)
Banco de registradores:
|
Registradores
podem ser entendidos como pequenas memórias que se localizam internamente em
processadores. Os registradores que armazenam as variáveis dos algoritmos são
chamados de banco de registradores. Existem registradores para armazenar
também palavras de instrução (registrador de instruções, item 2, acima) e algumas
informações de controle para o processador, como por exemplo, se uma
instrução resultou em resultado negativo. Os processadores possuem
tipicamente entre 8 e 128 registradores.
|
5)
Unidade Lógica e Aritmética (ULA):
|
É a
unidade executora do processador. A ULA é composta por uma série de circuitos
que executam as operações lógico-aritméticas dos processadores: todas as
instruções que o processador possui em seu conjunto de instruções devem poder
ser executadas na sua ULA. Por exemplo, se o processador possuir uma
instrução de multiplicação no seu conjunto de instruções, a ULA deve possuir
um circuito multiplicador. Lembre que, como visto na aula 3, mesmo que
determinada instrução não esteja presente no conjunto de instruções (e
portanto não pode executar na ULA) ainda assim o processador é capaz de
executa-la.
|
6)
Barramentos de comunicação internos.
|
São os
canais de comunicação que existem internamente na arquitetura do processador.
Estes canais permitem que os componentes internos do processador consigam se
comunicar, o que é essencial para a execução de instruções, como pode ser
visto na figura 1, onde é mostrada a execução de uma instrução através de
micro-instruções. Observe também que cada micro-instrução executa sobre um
componente interno do processador (de acordo com as figuras a seguir); aí se
pode perceber a importância de cada um desses componentes para que a
instrução possa ser executada.
|
As
principais micro-instruções presentes em qualquer processador são:
|
1)
Endereçamento da próxima instrução a ser executada: a instrução é endereçada
através do envio do conteúdo do Contador de Programa (PC), que está
localizado na Unidade de Controle (UC), para a memória de instruções. Este
conteúdo representa o endereço da próxima instrução a ser executada. Estes
passos são observados na figura abaixo;
|
2) Leitura da instrução da memória de instruções: a memória
faz a leitura de uma palavra de instrução. A figura abaixo representa essa
etapa;
3) Escrita da instrução no registrador de instruções: a
instrução lida é escrita dentro do processador no registrador de instruções. No
nosso exemplo o valor da instrução lida é 1B;
4) Decodificação dos operandos: a instrução é decodificada,
ou seja, o processador passa a conhecer qual é a instrução (que operação ela
executa) e quais são os operandos fonte e destino (ver aula 3, sobre
operandos). Esse passo pode ser visualizado na figura abaixo.
5) Leitura dos operandos da memória ou dos registradores: os
operandos fonte são lidos da memória ou dos registradores e colocados nas entradas
da ULA;
6) Execução da instrução: quando a ULA recebe os operandos
fonte, então o próximo passo será a execução da operação através da ULA ,como é
encontrado na figura a seguir;
7) Escrita do resultado: a saída da ULA, que contém o
resultado da operação que acabou de ser executada é escrita no operando
destino, que pode estar em algum registrador ou na memória. Esse passo é
demonstrado na figura a seguir.
0 comentários:
Postar um comentário