quarta-feira, 20 de junho de 2012

Noções de Arquitetura de Computadores - Parte 01






Por mais que a relação seja estreita, existe diferenças básicas entre Arquitetura de computador e Organização de computadores. A arquitetura esta mais ligada aos atributos do sistema, ou seja, atributos que tem impacto sobre a maneira de como as logicas são executadas no sistema, sendo visíveis para os programadores, exemplo: técnicas de endereçamento de memória, mecanismos de entrada e saída. A organização de computadores trata das unidades computacionais e a maneira como são interconectas formando o sistema computacional, exemplo: interfaces entre computador e periféricos, tecnologia na memória utilizada, sinais de controle.


Barramento
Responsável por estabelecer a comunicação entre a CPU e os diversos componentes do computador, ou seja, caminho de comunicação entre dois ou mais dispositivos, onde apenas um dispositivo pode  transmitir sinais pelo barramento a cada instante. Um sistema computacional compreende diversos tipos de barramentos, sendo o barramento de sistema o responsável por conectar os diferentes tipos de componentes do computador(Processador, memória, E/S). As linhas de barramento de sistema podem ser classificadas em :

  • Linhas de dados: fornece um caminho para a transferência de dados entre os módulos do sistema, denominando-se barramento de dados contendo tipicamente 8, 16 ou 32 linhas, sendo o numero de linhas conhecido como largura do barramento de dados e como cada linha determina que apenas 1 bit pode ser transmitido por vez, a largura determina a taxa de transferência.
  • Linhas de endereços: designando as origens ou os destinos dos dados transferidos pelo barramento de dados. Estas linhas também são empregados para os endereçar as portas de E/S.
  • Linhas de controle: linhas que controlam tanto o acesso quanto a utilização das linhas de controle quanto as de dados transmitindo sinais de controle para transmitir comandos(especificam as operações a serem executadas) ou informações de temporização(indicam validade das informações e de endereços). As linhas de controle tipicas são:
    • Escrita na memória: faz com que dados existentes nas linhas de dados sejam gravados na posição de memória.
    • Leitura de memória: faz com que o dado armazenado no endereço de memoria seja colocado na linha de dados.
    • Escrita em porta E/S: faz com que os dados das portas de E/S sejam colocados no barramento.
    • Confirmação (ACK) de interrupção: confirma o conhecimento da interrupção.
    • Confirmação (ACK) de transferência: confirma o envio/recebimento de dados no barramento.
    • Requisição de interrupção: indica a existência de alguma interrupção pendente.
    • Relógio: utilizado para a temporização das operações.

Então:
Quando um componente do sistema deseja enviar dados para outro, ele primeiramente deve obter o controle do barramento e após transferir os dados. Se deseja receber dados, primeiro ele tem que ter controle do barramento para fazer a requisição e depois deve aguardar.


Tipos de barramentos
  • Barramento ISA: Padrão não mais utilizado, trabalha com transferência de 8 bits e16 bits por vez com clock de 8,33 MHz
slot ISA

Como mostra a imagem, o slot desse barramento é dividido em 2 partes, quando as placas funcionam com o 8 bits, funciona somente a parte mair, com 16 as duas partes. A versão de 16 bits tem taxa de transferência em torno de 5MB.


  • Barramento  PCI Tem capacidade de transferir 32bits com clock de 33MHZ, tornando o padrão capaz de transmitir em uma taxa de até 132 MB por segundo. Em relação ao ISA os slots PCI são menores. Outro ponto importante do PCI  é a sua compatibilidade com o recurso Plug and Play(PnP), aonde basta apenas plugar a placa e utiliza-la, com isso bastante apenas instalar os drives do mesmo. Antigamente não funcionava assim :o).
slot PCI



  • Barramento  PCI-X: é uma extensão do modelo PCI que opera em 64bits e é compatível com a anterior, opera na frequência de 100MHz e 133MHz alcançando taxas de transferência de  1.064 MB por segundo.
slot PCI-X



  • Barramento  AGP: Os slots AGP serve exclusivamente para placas de videos. O padrão AGP sempre pode operar em sua máxima capacidade, já que não há nenhum outro tipo de barramento que possa interferir entre sua comunicação entre a placa de vídeo e o processador.
slot AGP



  • Barramento PCI Express: se destaca por substituir, ao mesmo tempo, os barramento PCI e AGP. Sendo capaz alcançar taxas de transfencia de 4GB por segundo.
slot PCI-Express




------------------------------------------------------------------------------------------------------------

Processador
Também chamado de CPU (Central Processing Unit) é o cérebro do computador sendo encarregado de processar a maior parte das informações, controlando operações e processamendo dados. As ações que ele deve executar são:

  • Busca de instruções: ler instruções de memoria.
  • Interpretação de instrução:  decodificar instruções para determinar a ação requerida.
  • Busca de dados: ler dados da memória ou de um modulo de E/S
  • Processamento de dados: operações aritmética ou logica sobre os dados.
  • Escrita de dados: escrever dados na memoria ou em um modulo de E/S

Estrutura de um processador:
  • Unidade de controle: controla as operações do CPU.
  • Unidade lógica e aritmética (ULA): realiza o processamento de dados do computador.
  • Registradores: trabalha com o armazenamento interno de dados para o CPU.
  • Interconexão da CPU: possibilita entre os componentes acima citados.

Abstração da parte interna do processador

CPU com o barramento do sistema


Organização de registradores
Dentro da CPU existe um conjunto de registradores(memoria), sendo eles mais rápidos que a memoria principal e cache. As funções dos registradores se dividem em duas:

  • Registradores visíveis para o usuário: possibilitam ao programador minimizar referencias a memoria, pela otimização dos registradores. São classificados em:
    • Registradores de proposito geral: podem ser utilizadas pelos programadores.
    • Registradores de dados: usados apenas para conter dados.
    • Registradores de endereços: podem ser utilizados como os de proposito geral, mas são empregados nos endereçamento.
    • Registradores de códigos de condição: contém bits atualizados pelo hardware da CPU como resultados das operações, indicando resultados.

  • Registradores de controle e de estado: usado pela unidade de controle para controlar a CPU e por programas privilegiados do sistema operacional para controlar a execução de programas.  Os tipos de registradores de estado são:
    • Contador de programas(PC): contém o endereço da instrução buscada.
    • Registrador de instrução(IR):  contém a ultima instrução buscada.
    • Registrador de endereçamento à memoria (MAR): contém endereço de uma posição de memoria.
    • Registrador de armazenamento temporário de dados (MBR): contém  uma palavra de dados  a ser escrita na memoria ou a palavra lida mais recentemente


IMPORTANTE
Todo o conteúdo deste post, foi baseado e/ou tirado do livro de:
Autor:  William Stallings
Livro: Arquitetura e Organização de Computadores. Quinta Edição.
Em nenhum momento a leitura deste post torna indispensável a leitura do livro

Um comentário: