quinta-feira, 12 de dezembro de 2013

ESTRUTURA BÁSICA DE COMPUTADORES



Estrutura de Computadores

Todos os computadores contém 5 unidades essenciais:
  • Lógica e aritmética: área da CPU para realizar funções lógicas e aritméticas;
  • De memória: armazena dígitos binários e dados manipuláveis e é controlada pela unidade de controle;
  • De entrada: dispositivos que transferem dados para o processador;
  • De saída: dispositivos que transferem dados do processador para o mundo exterior;
  • De controle: comanda as operações de todas as demais unidades; 




Unidade Lógica e Aritmética (ULA)
Funções:
  • Desempenha funções de processamento de dados;
  • Executar funções lógicas e aritméticas nos dados dispostos na memória, segundo informações da Unidade de Controle;
  • Armazena dígitos binários;
Contém 2 registradores internos:
  • Registrador B: armazena valores trazidos da memória;
  • Acumulador: armazena um operando para qualquer instrução lógica ou matemática;
Unidade de Controle (UC)
Funções:
  • Controla a operação da CPU;
  • Comanda a operação de todas as outras unidades de controle;

Funcionamento básico:
  1. A unidade de controle quer buscar uma instrução na memória;
  2. A unidade de controle envia um comando de leitura e um endereço;
  3. Ocorre a transferência da instrução oriunda da memória para a unidade de controle;
  4. Os circuitos lógicos da unidade de controle decodificam a instrução recebida;
  5. A unidade de controle envia um sinal para as demais unidades, informando que tem uma instrução a ser executada;
  6. A unidade de controle executa a instrução.
O  Microprocessador
O microprocessador (ou CPU) geralmente é um circuito integrado que agrega a ULA e a UC.
Algumas funções:
  • Fornece sinais de controle e de temporização para os componentes do microcomputador;
  • Busca e decodifica instruções e dados recebidos da memória;
  • Transfere dados da memória para outros periféricos;
  • Transfere dados para a memória;
  • Executa operações aritméticas e de caráter lógico;
A arquitetura de Von Neumann tornou os computadores mais flexíveis. Isto permitiu que não trocássemos de CPU cada vez que trocássemos também de operação. Se em um momento quiséssemos transferir uma informação para memória e em outro quiséssemos executar uma instrução, logicamente teríamos de trocar todo o procedimento para que o processador reconhecesse a nova instrução. O modelo proposto por John Von Neumann, em 1945, modificou a estrutura computacional corrente da época e mostrou que podemos apenas trocar o software alocado na memória se quisermos executar outro procedimento.

SUBSISTEMA DE PROCESSAMENTO



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.