terça-feira, 16 de dezembro de 2008

Arquitetura Geral do Sistema de Computação(Barramentos).



BARRAMENTOS
Para que o computador possa oferecer recursos e possibilidades diversas de uso ao usuário, é necessário a utilização de dispositivos adicionais, como placas de vídeo e de som, modem, disco rígido, teclado, etc. Estes componentes são conhecidos como Dispositivos de Entrada (teclado e mouse, por exemplo) e Saída (placa de vídeo e som, por exemplo). Em inglês, utiliza-se a sigla I/O, de Input/Output.


O barramento consiste de múltiplas linhas condutoras, cada uma permitindo a passagem de um bit de informação. Tais barramentos possuem diferentes tamanhos (quantidade de bits), dependendo do modelo do processador utilizado.
Para que o processador possa trabalhar com esses dispositivos, ele usa um barramento para se comunicar. Assim é possível que o processador envie informações (por exemplo, os dados para uma impressora, quando você pede para imprimir um arquivo) e receba (por exemplo, quando você digita algo no teclado).

Esse barramento é conhecido como "barramento de dados" (ou data bus). No entanto, quando o processador trabalha com a memória, ele faz uso de um "barramento de endereços" (também chamado de "clock externo"), pois através de um "endereço" é que o processador localizará os dados que precisa e que estão armazenados na memória do computador. É também por este barramento que o processador consegue determinar para qual dispositivo serão enviados os dados tratados. Seu valor é medido em Hz.

Os processadores possuem terminais ou pinos de contato (vulgarmente chamados de "perninhas"). Cada um destes pinos possui uma função e trabalha com um bit por vez. Assim, quando se diz que o barramento de dados trabalha a 16 bits, isso quer dizer que, pelo menos teoricamente, o processador destina 16 "perninhas" para esta função. A mesma regra vale para o barramento de endereços, ou seja, este também trabalha com uma certa quantidade de pinos, correspondentes à quantidade de bits.

A largura ou tamanho é a unidade de medida que caracteriza a quantidade de informações (bits em geral) que pode fluir simultaneamente pelo barramento. No caso de fiação, consiste na quantidade de fios paralelos existentes no barramento, ao passo que, em circuitos impressos (placas) consiste nos traços impressos na placa com material condutor, por onde flui a corrente elétrica.

Esta largura,maior ou menor, se constitui também em um dos elementos que afetam a medida do desempenho de um sistema, juntamente com a duração de cada bit ou sinal. A taxa de transferência que é, em geral, especificada em bits (kbits, Mbits, etc) por segundo depende fundamentalmente da largura do barramento.
Um barramento ou via ou bus é um conjunto de pinos do microprocessador por onde trafegam um ou mais sinais de hardware. Um microprocessador possui três tipos de barramentos utilizados para transporte: bus de dados, bus de endereços e bus de controle.

Barramento de dados: Barramento bidirecional, utilizado para realizar o intercâmbio de dados e instruções com o exterior. Uma das principais características de um microprocessador é o número de bits que o barramento de dados pode transferir, que determina se o processador é de 8, 16, 32 ou 64 bits. Determina o número de bits da palavra de dados que pode ser transferida de/para o microprocessador e, também (quase sempre) o tamanho da palavra de dados que pode ser operada pela ALU.

Barramento de endereços: Barramento unidirecional, constituído de um conjunto de linhas de endereço que indicam a posição de memória onde se encontra o dado requisitado. Uma vez dada a posição, a informação armazenada na memória passará à CPU através do barramento de dados. Define a quantidade de posições de memória e/ou de portas de entrada/saída que podem ser acessadas pelo microprocessador (para n bits do barramento de endereços, 2n bytes de memória podem ser endereçados, ou seja, 2n endereços físicos podem ser acessados – capacidade de endereçamento).

Barramento de controle: Barramento bidirecional, formado por um número variável de linhas, através das quais se controlam as unidades complementares (habilitação e desabilitação das memórias para leitura e escrita, permissão para periféricos ou coprocessadores acessarem as vias de dados e endereços). Transfere, para as diversas partes do sistema, sinais que definem e orientam toda a sua operação.

Os processadores atuais possuem vários pinos (no mínimo, 400). Somente analisando friamente a arquitetura de cada tipo de processador existente, é possível saber qual a função de cada um. Os processadores, no entanto, possuem algumas funções-padrão, ou seja, encontráveis em praticamente todos os processadores, independente do fabricante. Estas são conhecidas como "sinais de controle" (ou "sinais digitais"), também correspondem a pinos no chip do processador e algumas delas são citadas abaixo:

MIO: sinal para indicar se a operação em questão é de acesso à memória ou de E/S;
RW: sinal para indicar se a operação em questão é de leitura ou gravação;
INT: sinal para que dispositivos externos possam interromper o processador para que ele efetue uma operação que não pode esperar. Por exemplo, quando o HD interrompe o processador para avisar o término de uma operação de leitura. Como existe somente um sinal INT, o processador opera em conjunto com um mecanismo denominado "Controlador de Interrupções" (que trabalha com as conhecidas IRQs). Como vários dispositivos podem requisitar o processador num mesmo instante, através deste controlador é possível realizar todas as operações de forma organizada;

NMI: sinal de interrupção especial, usado em emergências, onde a interrupção enviada por este sinal deve ser atendida prontamente. O NMI geralmente é usado informar erros relacionados a dados na memória;
INT A: sinal usado para que o processador informe que aceitou uma interrupção e que está aguardando que o dispositivo que a gerou passe as instruções;
VCC: entrada de corrente elétrica que alimenta os circuitos internos do processador (pode haver vários VCC no processador);
GND: sinal usado para controle de energia (como se fosse um fio-terra). Também pode ser encontrados vários destes sinais no processador;
RESET: sinal ligado ao botão RESET do gabinete do computador. Ao ser ativado, o processador pára o que está fazendo e inicia as operações novamente, como se o usuário tivesse acabado de ligar a máquina;
CLOCK: este recebe um sinal digital usado internamente para sincronizar todo o funcionamento do processador.

Bits internos
O número de bits é uma das principais características dos processadores e tem grande influência no desempenho. Os processadores mais comuns (Pentium II, III e 4, Athlon XP, Duron, etc) operam a 32 bits, enquanto chips antigos, como o 286, operavam com 16 bits. Estes valores correspondem ao trabalho dos circuitos do processador, por isso são chamados de bits internos. Existem também os processadores que trabalham a 64 bits por vez, como o Athlon 64, da AMD.
Quanto mais bits internos o processador trabalhar, mais rapidamente ele poderá fazer cálculos e processar dados em geral (conseqüentemente, ele será mais caro).

Bits externos
Como as instruções que o processador executa ficam armazenadas na memória, é preciso que ela seja acessada de forma rápida e precisa. Essa velocidade depende da quantidade de bits que o barramento de dados consegue manipular simultaneamente. Tais bits são chamados de bits externos.

Endereçamento
O endereçamento consiste na capacidade que o processador tem de acessar um número máximo de células da memória. Para acessar uma célula, o processador precisa saber o endereço dela.
Cada célula armazena um byte. Assim, um processador com o barramento de dados com 16 bits, pode acessar duas células por vez. Isso porque um byte equivale a 8 bits e 16 dividido por 8 é igual a 2, portanto, duas células.
Existem diversos tipos de barramentos, cada um com taxas de transferência de bits diferentes e apropriadas às velocidades dos componentes interconectados, sendo dessa forma, os barramentos organizados de maneira hierárquica.

Atualmente, os modelos de organização de sistemas de computação adotados pelos fabricantes possuem diferentes tipos de barramentos:
1) Barramento local: é o barramento de maior velocidade de transferência de dados, funcionando normalmente na mesma frequência do relógio do processador. Este barramento costuma interligar o processador aos dispositivos de maior velocidade (para não atrasar as operações do processador), que são a memória cache e a memória principal.
2) Barramento do sistema: alguns fabricantes adotam o modelo em que o barramento local interliga o processador à memória cache e esta se interliga à memória principal por outro barramento denominado barramento do sistema, de modo a não permitir acesso diretamente do processador à memória principal. Uma interface de controle sincroniza o acesso entre as memórias.
3) Barramento do expansão: onde se interligam os diversos dispositivos de E/S, como discos magnéticos, vídeos, impressoras, DVDs, CDROMs, etc. Este barramento se conecta ao barramento do sistema por interfaces de controle (conhecidas como pontes ou bridges) que sincronizam as diferentes velocidades dos barramentos. Devido às diferentes e acentuadas velocidades de funcionamento dos dispositivos atuais de E/S, os fabricantes de sistemas de computação têm criado alternativas para aumentar o desempenho nas transferências de dados, separando o barramento de expansão em dois, um de mais alta velocidade para dispositivos de E/S rápidos e outro de menor velocidade (modens, dispositivos seriais, etc)‏.

Exemplos de organização dos barramentos:
Embora os projetistas de CPUs tenham liberdade para usar qualquer tipo de barramento que quiserem dentro do chip, para possibilitar a ligação das placas projetadas por terceiros ao barramento do sistema é preciso haver regras bem definidas sobre o modo de funcionamento do barramento, às quais todos os dispositivos a ele ligados deve obedecer. Essas regras são denominadas protocolos de barramento.

Os mais conhecidos protocolos de barramentos de expansão são descritos a seguir:
UNIBUS (definido pela Digital Equipment Co. - DEC). Praticamente fora de uso;
MCA - Micro Channel Architecture (IBM). Nunca conseguiu adoção por outro fabricante, nem mesmo a IBM o adotou por completo, tendo sido abandonado;
ISA – Industry Standard Adapter (IBM). Apesar de possuir uma velocidade de transferência baixa, tem ainda sido adotado para os barramentos e periféricos de baixa velocidade.
EISA – Extended ISA (definido por um grupo de fabricantes para se opor ao MCA da IBM). Não conseguiu ser implantado devido a diversos problemas de especificação, sendo praticamente abandonados pelos fabricantes;
PCI - Peripherical Component Interconnect – desenvolvido pela Intel tornando-se quase um padrão para todo o mercado, como barramento de E/S de alta velocidade;

USB - Universal Serial Bus - tem a função particular de permitir a conexão de muitos periféricos simultaneamente ao barramento e este, por uma única tomada se conecta a placa-mãe;
AGP - Accelarated Graphics Port – barramento desenvolvido para vários fabricantes, porém liderados pela Intel, com o propósito de acelerar as transferências de dados do vídeo para a memória. Trata-se, pois de um barramento específico (para vídeo), não genérico, porém de alta velocidade de transferência para ligar vídeo diretamente à MP.
Slots: são conectores para se encaixar as placas de expansão de um micro, ligando-as fisicamente aos barramentos por onde trafegam dados e sinais. Podemos citar, placas de vídeo, placas de fax/modem, placas de som, placas de interface de rede, etc.

Nenhum comentário: