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.
Nenhum comentário:
Postar um comentário