UNIVERSIDADE DO ESTADO DE SANTA CATARINA DEPARTAMENTO DE CIÊNCIAS DA COMPUTAÇÃO Iriam Cristiane Damas e Ronaldo Hornburg BARRAMENTOS Trabalho Final da matéria Organização e Arquitetura de Computadores do Curso de Tecnologia em Sistemas de Informação Professor Jorge Fernandes O que será apresentado * Conceitos; * Principais Barramentos: ** Local (tipos e desvantagens); ** E/S ou I/O (tipos); * Padrões; * Estrutura (conceito Mestre x Escravo); * Técnicas de Comunicação( Síncrono ou Assíncrono); * Controlador (árbitro centralizado e descentralizado); * Convenção à Transferência (palavra ou bloco de palavras); * Conclusão; * Bibliografia. O que é Barramento? * Um conjunto de linhas de dados tratadas como se fossem um único sinal no projeto lógico; * Um conjunto de linhas com várias fontes e utilizações; * Um caminho p/ troca de dados entre dois ou mais circuitos. Exemplo: a placa-mãe é um barramento. Links: B.Local - B. E/S - Slot; Principais Barramentos Na figura anterior, tem-se uma arquitetura de um PC típico. Nela, pode-se observar os principais barramentos existentes em um PC: * o Barramento Local, que conecta o processador à memória RAM, e * os Barramentos de Entrada e Saída (como o PCI, AGP, ISA...) que conectam placas periféricas ao micro. Figura_arquitetura Barramento Local Utiliza comunicação paralela p/conectar o processador à memória RAM. Pode ser chamado apenas de “ barramento”, ou “ barramento de processador” ou ainda “barramento de micro”. Tem alto desempenho, por isto, não pode ter periféricos lentos diretamente ligados a ele, para que não ocorra obstrução na comunicação e queda de desempenho. O barramento local pode ser dividido em: • Barramento de dados: por onde os dados circulam; • Barramento de endereços: por onde a informação de endereço é fornecida; • Barramento de controle: informações adicionais(operação é de leitura ou escrita). Exemplo Na situação abaixo, o processador deverá passar as informações para cada barramento específico. Então, se tivermos: Dados 10101110b Endereço 5h Tipo Escrita O processador irá colocar no barramento de dados, o valor “10101100b”, no barramento de endereços, o valor “5h” e no barramento de controle confirmar que se trata de uma operação de escrita em memória. E tudo é feito simultaneamente. Desvantagem do Barramento Local Não é padronizado: cada processador deverá utilizar o seu próprio modelo, de acordo c/ as suas características. E este é o motivo p/ que cada processador necessite de um modelo de placa-mãe diferente. Então, para que uma simples placa de vídeo ou disco rígido possam ser utilizados em qualquer micro, independentemente do processador instalado( ou seja, independente do modelo de barramento local instalado), utilizam-se diversos modelos de barramentos de expansão. Barramentos de Entrada e Saída São os barramentos intermediários entre o processador e periféricos lentos. Genericamente chamados de “barramentos de I/O”, ou “barramentos de E/S”. A comunicação desses barramentos c/o barramento local é feita através de um circuito chamado “ponte”. A “ponte” faz parte dos circuitos de apoio da placa-mãe(chipset). Figura Arquitetura Tipos de Barramentos de E/S(principais) • ISA (Industry Standard Architecture): 1º barramento de expansão(c/ 8 bits) e sobrevive até hoje, principalmente por ainda ser utilizado p/ alguns periféricos lentos ( placa de som e modem). • PCI (Peripheral Component Interconnect): Padrão atual, usado pela maioria dos dispositivos. Não é “preso” ao processador e suas interfaces são + “inteligentes”. São os slots brancos da placa mãe. • IDE (Integrated Device Electronics): Barramento de dados que serve à conexão do disco rígido, CDROM e outros dispositivos. • AGP (Acelerated Graphics Port): Era a + rápida até chegada da PCI especial p/ animações 3D. Aparece como um slot marrom na placa mãe. • USB (Universal Serial Bus): através de um plug na placa-mãe, todos os periféricos externos podem ser encaixados, e acabou c/ inúmeros problemas na falta de padronização. Em um único slot USB, podem ser conectados até 127 dispositivos diferentes. • IrDA(Infrared Developers Association): barramento sem fios, a comunicação é feita através da luz infravermelha. Conecta até 126 periféricos IrDA. • SLOT: são conectores onde encaixamos as placas adicionais à placa mãe (vídeo, controladora de discos, comunicação, scanner, fax / modem, rede). Existem vários padrões de barramento que foram sendo desenvolvidos ao longo do tempo de forma a permitirem uma atualização barata dos computadores. Atualmente podemos contar com vários modelos de slots: ISA, VLB, PCI, AGP, entre outros. Figura Arquitetura Padrões de Barramentos A maioria dos computadores permite que os usuários conectem a eles novos tipos de dispositivos. Sendo o barramento E/S o instrumento que possibilita a expansão(acréscimo de periféricos). P/ facilitar essa tarefa, a indústria criou vários padrões p/ barramentos. Os + conhecidos são : • ANSI, • EIA (Electronic Industries Association), • IEC (International Electrotechnical Commission) e • IEEE. Características Gerais de Estruturas de Barramento Conceito Escravo x Mestre: MESTRE é a unidade que controla a transferência num barramento ESCRAVO é a unidade que participa de uma transferência sob o controle de uma unidade mestre. Exemplo do conceito escravo x mestre Um microprocessador ligado a uma memória. Durante uma operação de leitura, as informações são retiradas da memória a partir de sinais de controle do microprocessador. A memória é uma unidade ESCRAVO e o microprocessador uma unidade MESTRE. Técnicas de Comunicação em Barramento Analisando a técnica de comunicação atual é possível classificar os barramentos em Síncrono e Assíncrono. *Barramento Síncrono: tem todas as suas operações sincronizadas por um relógio central(clock) que define intervalos de tempo (time slots) de mesmo tamanho p/ cada operação no barramento. Estas operações são do tipo de comunicação de dados entre um elemento mestre e outro escravo. O barramento Síncrono possui 2 técnicas p/ alocação do intervalo de tempo: ** Intervalo Dedicado: é alocado de forma permanente a uma operação, mesmo que ela não aconteça. Os intervalos são definidos de forma a encobrir a operação + lenta(comprometendo o desempenho do sistema). Outra restrição ocorre se as operações que têm intervalos dedicados não forem realizadas; ** Intervalo não dedicado: é alocado a uma operação apenas se ela for realizada, e isto implica no estabelecimento de um mecanismo em hardware de alocação de intervalos p/ identificar se as operações irão ocorrer. *Barramento Assíncrono: cada operação possui o seu próprio sinal de indicação de operação, um “aperto de mão”. Pode acomodar um grande nº de dispositivos que rodam a diferentes velocidades. O instante da transferência não é conhecido(uma desvantagem), ele é indicado por sinais de controle próprios. O significado de cada um destes sinais e o relacionamento entre eles definem o PROTOCOLO de comunicação. O nº dos sinais num barramento p/ seu controle define o tipo de comunicação assíncrona. Podendo ser : ** OWC One Way Controlled (quando controlada por 1 Fio); ** Req/Ack (quando controlada por 2 Fios). A taxa de transferência é normalmente menor que a técnica de controle pela fonte dos dados(outra desvantagem), o intervalo mínimo de transferência é, pelo menos, t mais longo que aquela técnica . Vantagens x Desvantagens Síncrono Requer menos fios, é + simples Vanta- de entender, implementar e testar gens DES Vantagens Menos flexíveis, pois, estão condicionados a uma taxa máxima de relógio(amarrados a uma certa tecnologia, a cada mudança de tecnologia, p/ aumentar o desempenho, é necessário trocar todos os dispositivos da tecnologia anterior) Assíncrono Flexibilidade. Cada operação pode definir a sua própria temporização. De forma que, podem conviver num mesmo dispositivos tecnologias diferentes. Maior complexidade do barramento. E a medida que os avanços tecnológicos aproximam-se dos limites físicos de velocidade dos dispositivos, perde-se a vantagem (flexibilidade), pois numa mesma tecnologia, o desempenho dos barr. síncronos é um pouco maior que o desempenho dos barr. assíncronos. Métodos p/ Mudança do Controlador do Barramento Quando diversos dispositivos mestres compartilham um mesmo barramento, deve existir um mecanismo segundo o qual, um dos dispositivos possa solicitar e obter o controle do barramento. Porém, a arbitragem(escolha entre 2 ou + dispositivos p/ controlar o barramento) de solicitações simultâneas torna-se uma desvantagem na implementação deste mecanismo. Os circuitos usados p/ arbitragem podem ser classificados em: Árbitro Centralizado e Árbitro Distribuído. * Árbitro Centralizado: quando o hardware usado p/ passar o controle de um dispositivo p/ outro estiver altamente concentrado num único local. Este local pode ser um dos dispositivos ligados ao barramento. * Árbitro Distribuído: quando o hardware usado p/ passar o controle de um dispositivo p/ outro estiver altamente distribuído pelos dispositivos ligados ao barramento. Convenção/Filosofia quanto à Transferência de Dados A quantidade de dados transferidos por ciclos de acesso ao barramento pode ser definida em termos de palavras. Neste contexto palavra tem o significado de unidade básica de comunicação entre os dispositivos, sem caracterizar a quantidade de bits. Os dispositivos a serem ligados a um barramento podem necessitar de transferências de palavras isoladas ou de blocos de palavras. Exemplo Uma unidade de memória de acesso aleatório (RAM) pode participar de transferências de palavras isoladas, ou seja, a cada ciclo de acesso, uma única palavra é lida ou escrita nesta memória. Já uma unidade de disco é acessada em blocos de palavras (setores). Um barramento adota a filosofia de transferência que + se adapta a necessidade dos dispositivos ligados a ele. As filosofias podem ser: * as que SÓ fazem transferência de: ** palavras; ** blocos de palavras (de comprimento fixo ou de comprimento variável); * e as que FAZEM transferência de: ** palavra isolada; ** blocos de palavras (de comprimento fixo ou de comprimento variável); Palavras Isoladas Se o barramento só faz transferências de palavra isoladas, a ligação de dispositivos c/ acessos por blocos (ex. unidades de discos), fica prejudicada. Além disso, o mecanismo de árbitro de alocação introduz um grande custo em tempo p/ um grande volume de transferências, pois p/ cada palavra será necessário requerer o barramento, conseguir o barramento ... Em Blocos De uma forma geral, quando a transferência é feita por bloco, o custo em tempo da alocação do barramento é diluído, pois somente uma arbitragem é feita por bloco. Entretanto numa transferência por bloco, outras informações precisam ser transferidas anexadas aos dados. São, por exemplo, informações de tamanho do bloco, de identificação do bloco, de validação da informação, etc. Em Blocos - Com Comprimento Fixo Transferência apenas de blocos de palavras de comprimento fixo. No entanto, se for necessário transferir blocos de comprimento menor que o fixado, são incluídos dados nulos p/ completar o tamanho do bloco. Indicado p/ sistemas que possuem dispositivos orientados a palavras e outros p/ blocos. Durante as transferências de palavras, nenhum dado adicional é incluído, e as transferências de bloco são feitas c/ a adição de dados. Em Blocos - Com Comprimento Variável Transferência de blocos de palavras de comprimento variável. Permite que o tamanho do bloco se adapte as necessidades dos dispositivos de comunicação de blocos. Entretanto, deve ser observado o compromisso entre o tamanho do bloco e as informações anexadas ao bloco. Utilizado p/ sistemas que misturam dispositivos orientados a palavras e orientados a blocos a solução + flexível é um tipo de barramento que faça transferências de blocos de comprimento variável e palavra isolada. Quadro Comparativo Opção Alta Performance Tamanho barram. Tamanho dos dados Inform. Transf. Mestre do barram. Clock Linhas separadas p/ endereços e Multiplexação das linhas de dados endereços e de dados Qto > tamanho, + rápido é o barramento(ex.32 bits) Baixo Custo Qto < tamanho, + lento é o barramento(ex.8 bits) Transferência de várias Transferência de 1 palavra é + palavras requer menos overhead simples Vários mestres requerem arbitragem Único mestre não requer arbitragem Síncrono Assíncrono Multiplexação: Qdo os sinais possuem significados diferentes em função do tempo. Num determinado instante estes sinais podem transportar informações de endereço, noutro informações de dados. “ polling” overhead: qdd. de tempo gasta por um computador chamando e verificando cada terminal de uma rede. Finalizando No barramento, o nº de ligações (fios) é independente do nº de unidades a ser interligada. A adição de uma nova unidade ao sistema é feita de forma bastante simples, basta plugar a nova unidade ao barramento já existente. As unidades a serem adicionadas devem obedecer rigorosamente às características da configuração(interface) c/ o barramento. Bibliografia * Introdução à Arquitetura de Computadores, Miles J. Murdocca e Vincent P. Heuring – Editora Campus; * Organização e Projeto de Computador, David A. Patterson e John L.Hennessy – LTC Editora; * Hardware Curso Completo, Gabriel Torres – Editora Axcel Books do Brasil.