Organizao e Arquitetura de Computadores II Barramentos Captulo
Organização e Arquitetura de Computadores II Barramentos Capítulo 3 do Stallings Prof. Dr. César Marcon
2 / 25 • Introdução Definição – Barramento é uma infraestrutura de comunicação que provê meio físico para interligar sistemas a ele conectados • Classificação – Infraestrutura do tipo multiponto e temporal • Acesso – Sistemas que usam o barramento apenas para leitura podem ter uma conexão direta (normalmente com chaves para não sobrecarregar o barramento) – Sistemas que usam o barramento para escrita requerem componentes tipo tri-state para compartilhar o mesmo ponto em instantes distintos – Permite uma transação (escrita) por vez, porém podem existir diversas leituras (unicast, multicast ou broadcast)
3 / 25 Vantagens • Simplicidade – Quando integrado tem poucos fios facilitando o posicionamento dos mesmos – Quando discreto: fácil de instalar e dar manutenção • Baixo custo – Quando integrado: pouca área de placa ou silício – Quando discreto: é uma infraestrutura passiva apenas um cabo coaxial – Quando comparando com demais infraestruturas de comunicação, tem menor tamanho total de conexões • Usabilidade – Topologia mais comum entre as infraestruturas de comunicação – Excelente para operações broadcast e multicast (um escritor e múltiplos leitores) • Confiabilidade – Se nodo (subsistema conectado ao barramento) falha, não afeta o barramento (a menos que a falha seja na conexão e altere, por exemplo, a impedância do barramento) • Latência – Latência média/baixa, quando comparado com outras infraestruturas de comunicação
4 / 25 Desvantagens • Confiabilidade – Se cabo, conector ou terminal falhar, toda infraestrutura falha • Tolerância a falhas – Falha do barramento implica particionamento total • Paralelismo – Não é adequado para tráfego pesado com múltiplos escritores – Infraestrutura altamente bloqueante • Vazão de dados – Vazão média/baixa, quando comparado com outras infraestruturas de comunicação • Escalabilidade – Baixa: limitada a algumas dezenas de nodos • Necessidade de hardware auxiliar – Requer mecanismos e políticas para controlar o uso do barramento
5 / 25 • Arquiteturas de Barramento Único – – • Periféricos e CPU estão ligados através de um único meio físico compartilhado Hardware requer portas tipo tri-state, que permitem o compartilhamento temporal Forma simples de interconexão Barramento acomoda dispositivos com características e velocidades diferentes Desempenho da comunicação cai Barramento Segmentado – Dois níveis – Hierárquico – Irregular
6 / 25 • Arquiteturas de Barramento em dois níveis – Processador e memória se comunicam através de barramento principal – Barramentos de E/S estão ligados ao barramento principal através de adaptadores, compondo um segundo nível na arquitetura de barramentos – Barramento principal pode funcionar a uma maior velocidade • Adaptadores se encarregam da comunicação com barramentos de E/S mais lentos
7 / 25 Arquiteturas de Barramento • Barramento hierárquico – Processador e memória se comunicam através de um barramento principal – Backplane concentra toda E/S do sistema e é ligado ao barramento principal (só um adaptador é ligado ao barramento principal) – Ao backplane estão ligados diferentes barramentos de E/S através de adaptadores
8 / 25 • Tipos de Barramentos Back-side cache – Conecta cache diretamente ao processador – Funciona na mesma frequência do processador – É uma porta • Processador-memória (front-side) – – • Curtos Alta velocidade Projetados de acordo com sistema de memória da placa Protocolo proprietários do fabricante Backplane – Base para ligação de outros barramentos (espinha dorsal – backbone em redes) – Projetados para possibilitar a ligação de vários grupos de dispositivos de E/S através de um único adaptador ao barramento PM (Processador-Memória) • Maximiza velocidade do barramento PM • Entrada / Saída – – – Conecta dispositivos de E/S Longos Taxas de transmissão variadas Padrão seguido por fabricantes. Exemplo: SCSI, Nu. Bus Normalmente não conectam diretamente periféricos ao sistema de memória
9 / 25 Estudos de Casos - Texas Instruments PC Architecture
10 / 25 Estudos de Casos - Power Macintosh G 3
11 / 25 Matriz de Chaveamento ao invés de barramento Estudos de Casos - Apple i. Mac
12 / 25 Matriz de Chaveamento ao invés de barramento Estudos de Casos - Pentium 4
13 / 25 Estudos de Casos - i 7
14 / 25 • Compartilhamento do Barramento Processador mestre – Um PE (Elemento de processamento) é eleito mestre que controla acesso ao barramento – PE mestre utiliza um algoritmo de escalonamento para determinar o próximo candidato ao uso do barramento. E. g. uma fila sem prioridade – O escalonamento determina a prioridade de acesso ao barramento – PE mestre realiza pollings, conforme algoritmo de escalonamento, para ver se o PE escalonado deseja usar o barramento – Exemplo: processador é o PE mestre, controlando todos os acessos ao barramento, porém perde muito tempo de CPU. Além de fazer diversos pollings infrutíferos
15 / 25 • Compartilhamento do Barramento Arbitragem – Um árbitro decido qual PE terá o controle do barramento – Cada PE tem sua própria linha de requisição (Req_i), normalmente gerando uma interrupção para o árbitro – PE permanece aguardando o sinal de confirmação do árbitro (Ack_i) para então controlar o barramento – A arbitragem deve balancear os seguintes critérios • • PEs com maior prioridade devem ser atendidos primeiro PEs de menor prioridade não podem ter atendimento postergado indefinidamente – Gargalo • Muitos fios de controle
16 / 25 • Compartilhamento do Barramento Daisy chain – – PEs são encadeados fisicamente Prioridade implícita pela ordem das conexões entre PEs • – – – PE mais próximo a CPU tem maior prioridade PEs tem sinais de pedido de uso do barramento (PI) e aviso de que ele pode usar o barramento (PO) Se um PE deseja usar o barramento, ativa sinal PI e espera pela confirmação em PO PEs que receberem PI ativo, propagam o mesmo na sua porta de saída PI Se um PE tiver em sua entrada o sinal PI ativo, mas deseja usar o barramento, apenas propaga o PI, mas não propaga o recebimento do PO Caso típico dos barramentos SCSI e Fire. Wire
17 / 25 Compartilhamento do Barramento Detecção de Colisão - CSMA (carrier sense with multiple access) / CD (collision detection) – PEs escutam o barramento para ver se não tem mensagem trafegando – Caso o barramento esteja livre, podem enviar mensagem, passando a ser temporariamente dono do barramento – Caso dois ou mais PE lançaram mensagens ao mesmo tempo, gera colisão (collision detection) • • Nodos envolvidos terminam transmissões PEs envolvidos retentam um tempo pseudoaleatório depois – Necessita de um hardware especial que interfacia com o barramento e detecta se ocorreu ou não colisão – Não necessita de fios extras de controle
18 / 25 Compartilhamento do Barramento Prevenção de Colisão - CSMA (carrier sense with multiple access) / CA (collision avoidance) – Otimização do CSMA/CD possui maior grau de ordenação de acessos ao meio – Antes de transmitir efetivamente um pacote, a estação avisa sobre a transmissão e em quanto tempo a mesma irá realizar a tarefa – Normalmente utilizado em comunicação sem fio – Permite tratar o problema de nodos escondidos (nodos que estão no alcance de um nodo, não necessariamente está no alcance de outro nodo)
19 / 25 • Compartilhamento do Barramento Token – O acesso ao barramento é determinado com auxílio de uma mensagem especial chamada de token – O PE que está com o token controla o barramento. Os demais aguardam o recebimento do mesmo – Quando dispositivo inicia sua operação na rede, este recebe uma identificação e sabe para quem deve transmitir o token após recebê-lo – O token é transmitido de dispositivo para dispositivo, normalmente em uma ordem tipo fila, ou com uma prioridade pré-determinada (número de vezes que recebe o token pode ser diferenciada) – Rede deve ter mecanismos para recuperar o token em caso de falha
20 / 25 Comparação Entre Métodos de Compartilhamento de Barramento Processador Arbitragem Daisy chain mestre Desempenho Permite tratar prioridade Baixo Sim Alto Sim Colisão Token Alto para baixo tráfego Alto para poucos nodos Sim Não Sim por número de envios de token Sim Alto para alta prioridade Permite evitar postergação indefinida Sim Não (mas estatisticamente não ocorre) Complexidade física Baixa Alta Média Baixa Acesso não controlado ao barramento Tratamento do token (inicialização, perda de token, . . . ) Gargalo Polling do mestre Custo em conexões Prioridade fixa
21 / 25 Compromissos Entre Vazão e Custos Opção Alta vazão Baixo custo Pinagem Separação de dados e endereços Multiplexação de dados e endereços Largura do barramento Grande (Ex. 64 bits) Pequena (Ex. 8 bits) Tamanho do bloco Muitas palavras Poucas palavras Segmentação Múltiplos segmentos Único segmentos Método de compartilhamento Arbitragem Processador mestre, daisy chain, colisão, token Modelo de comunicação Síncrono Assíncrono
22 / 25 Alguns Padrões de Barramentos PCI / PCI 2. 0 Peripheral Component Interconnect SCSI Small Computer System Interface USB / USB 3. 0 Universal Serial Bus IEEE 1394 Firewire Transmissão Paralela Serial Largura (dados) 32, 64 bits 8, 16, 32 bits (Half-duplex) 2 bits (half-duplex) Vazão 132, 264, 528 MB/s, 2. 1, 4. 3 GB/s 5, 10, 20, 40, 80, 160 MB/s 12, 480 Mb/s, 5 Gb/s 50, 100, 200, 400, 800 Mb/s, 6, 4 Gb/s Uso Barramento de E/S, Backplane Barramento E/S interno e externo Barramento E/S Backplane externo N de dispositivos Até 32 Até 16 Até 127 Até 63 Endereço Automático Estático (jumpers) Dinâmico (negociado) Conexão de disp. Máquina desligada Máq. ligada (hotpluggable) Máq. ligada (hot-pluggable) Negociação Bus mastering (pinos REQ, GNT) Similar a daisy-chain Canal virtual: pipe (negociado) Similar a daisy-chain Aplicações Interfaces de barramentos externos, placas de rede e gráficas, controlador RAID Fitas magnéticas, leitores de CD, Discos rígidos, Scanners, Zip Teclados, Monitores, Mouse, Joystick, pen-drive Aparelhos MIDI, Transmissão de vídeo, (Câmeras, televisão, videocassete), Discos rígidos
23 / 25 1. 2. 3. 4. 5. Exercícios Qual a função básica dos barramentos? Qual a vantagem de normatizar barramentos? Existe alguma desvantagem? Para que tipo de aplicação barramento é mais adequado? Por quê? Cite três elementos que afetam o desempenho de um barramento Quais os principais métodos para compartilhar barramentos? 1. Como funciona cada método? 2. Compara cada método de compartilhamento falando em vantagens e desvantagens 6. O que são barramentos segmentados? Como comparar com barramentos monolíticos? 7. Quais são os tipos básicos de barramentos? Diga características de cada tipo 8. Para haver alto desempenho em um barramento, quais as características que dever ter: a. b. c. d. e. Grande largura do barramento (muitos dados transmitidos em paralelo) Grande comprimento do barramento com muitos periféricos conectados Comunicação com blocos que suportem muitos dados Vários árbitros de barramento Alta frequência de operação
24 / 25 Exercícios 9. (POSCOMP 2012, Questão 48) Com relação a barramento, atribua V (verdadeiro) ou F (falso) às afirmativas a seguir: ( ) Um barramento possui linhas de controle, de dados e de endereço ( ) Um barramento síncrono permite a melhor utilização de dispositivos com diferentes taxas de transferência ( ) A arbitração de um barramento pode ser centralizada ou distribuída ( ) A largura do barramento de endereço determina a quantidade de bits que podem ser transferidos de cada vez ( ) Um barramento multiplexado permite uma menor disputa de acesso por parte dos dispositivos do sistema Assinale a alternativa que contém, de cima para baixo, a sequência correta a) V, F, F b) V, F, F, V, V c) F, V, V, V, F d) F, V, V e) F, F, V
25 / 25 Resposta de Exercícios 9. (POSCOMP 2012, Questão 48) Com relação a barramento, atribua V (verdadeiro) ou F (falso) às afirmativas a seguir: ( ) Um barramento possui linhas de controle, de dados e de endereço ( ) Um barramento síncrono permite a melhor utilização de dispositivos com diferentes taxas de transferência ( ) A arbitração de um barramento pode ser centralizada ou distribuída ( ) A largura do barramento de endereço determina a quantidade de bits que podem ser transferidos de cada vez ( ) Um barramento multiplexado permite uma menor disputa de acesso por parte dos dispositivos do sistema Assinale a alternativa que contém, de cima para baixo, a sequência correta a) V, F, F b) V, F, F, V, V c) F, V, V, V, F d) F, V, V e) F, F, V Não concordo com a resposta. Quem elaborou a questão pensou em barramento como um sistema com endereçamento, dados e controle
- Slides: 25