Baixe o app para aproveitar ainda mais
Prévia do material em texto
Arquitetura de Computadores Aula 11-12 – Barramento Prof. Sand Luz Corrêa Revisando ... ● Os sistemas de computação atuais, na sua maioria, seguem a arquitetura de Von Neumann ● Dados e instruções são armazenados em uma única memória de leitura-escrita ● O conteúdo da memória é acessado através de posições endereçáveis, independentemente do conteúdo (dado ou instrução). ● A execução dos programas ocorre de forma sequencial, a partir da primeira instrução. Visão Geral dos Componentes Principais de um Computador Estrutura de Interconexão ● Um computador consiste em um conjunto de componentes ou módulos conectados entre si ● O conjunto de caminhos conectando os diferentes módulos é chamado de estrutura de conexão ou barramento ● O projeto de um barramento depende do tipo de informação trocada Tipos de informações trocadas entre módulos Memória Read Write Endereço Dado Dado/Instrução Dispositivo I/O Read Write Endereço Dado Dado Interrupção Processador Instruções Dado Interrupção Endereço Dado Sinais de Controle Tipos de informações trocadas entre módulos ● Portanto os barramentos devem permitir os seguintes tipos de transferências ● Memória para o Processador ● Processador para a Memória ● E/S para Processador ● Processador para E/S ● E/S de/para Memória: alguns dispositivos podem trocar dados diretamente com a memória (Direct Memory Access - DMA) Barramentos ● Um barramento é um caminho conectando dois ou mais componentes ● Todo barramento é um meio de transmissão compartilhado ● Quando um dispositivo transmite um sinal no barramento, todos os dispositivos conectados recebem o sinal CPU Memória Principal Disco Impressora Barramento Característica ● Quando dois ou mais dispositivos transmitem ao mesmo tempo no barramento, os sinais se sobrepõem ● Logo, apenas um dispositivo pode usar o barramento por vez CPU Memória Principal Disco Impressora Barramento Característica ● Um barramento é formado por várias linhas ● Cada linha pode transmitir apenas um bit (0 ou 1) por vez ● Um barramento com 8 linhas pode transmitir 8 bits em um dado instante Característica ● Num computador existem vários tipos de barramentos: ● Barramentos internos ao processador ● Barramento CPU- Memoria ● Barramento de E/S CPU Memória Principal Disco Impressora Barramento Hierarquia de Barramentos ● Barramento Interno: ● Barramentos dentro do chip do processador ● Transportam dados dos registradores para a UAL e vice-versa ● Transportam dados da CPU para a cache e vice- versa ● São normalmente proprietários Hierarquia de Barramentos ● Barramento externo ● Barramento de memória e barramento de E/S ● Seguem regras bem definidas de como o barramento funciona → protocolo do barramento ● Esse protocolo permite que dispositivos de memória e E/S fabricados por terceiros possam se conectar ao barramento. ● Exemplos de barramentos externos: – ISA, AGP, PCI, PCI-Express Projeto de um Barramento ● Principais questões levadas em consideração no projeto de um barramento ● Largura do barramento ● Barramentos dedicados ou multiplexados ● Temporização de eventos ● Arbitragem do barramento ● Tipo de dispositivo conectado Barramentos dedicados vs multiplexados Barramento Dedicado ● Possui linhas dedicadas para cada tipo de informação ● Linhas de dados (barramento de dados): – movimentam dados entre componentes do sistema ● Linhas de endereço (barramento de endereço): – movimentam endereços entre os componentes do sistema ● Linhas de controle (barramento de controle) – Movimentam sinais de controle: escrita de memória, leitura de memória, escrita de E/S, leitura de E/S, solicitação de uso do barramento, consentimento de uso de barramento, interrupção, etc. Barramento Dedicado Desvantagem: aumento na largura do barramento, aumenta o tamanho do barramento Barramento Multiplexado ● As linhas de dados e endereço não são separadas ● No início de uma operação de barramento, o endereço é colocado nas linhas. ● Depois, as mesmas linhas são usadas para transportar os dados. ● Vantagem: permite aumentar a largura do barramento sem aumentar o tamanho do barramento ● Desvantagem: a transferência de dados (ou a transação no barramento) leva mais tempo, pois dado e endereço não podem ser transmitidos ao mesmo tempo Largura do Barramento ● A largura do barramento é a quantidade de bits que podem ser transmitidos em um dado instante. ● Como cada linha de um barramento pode transmitir apenas um bit, a largura de um barramento é dada pelo seu número de linhas. Largura de Barramento Largura de Barramento ● A largura do barramento de endereço influencia diretamente a quantidade de memória que a CPU pode endereçar ● Se um barramento de endereço tem n linhas, então a CPU pode endereçar 2n posições de memória ● A largura do barramento de dados influencia o desempenho geral do sistema. ● Se o barramento de dados que conecta a CPU à memória principal tem 32 bits de largura e as instruções têm um tamanho de 64 bits, a CPU tem que acessar a memória 2 vezes para obter a instrução Largura de Barramento ● Em geral, há duas formas de aumentar a taxa de transmissão (qtde de bits transmitida por unidade de tempo) de um barramento: ● Diminuindo o tempo de ciclo do barramento (ou seja, aumentando a frequência do relógio do barramento) – Problemas ● aumenta a interferência entre as linhas do barrameto ● atraso de propagação diferentes ● perda de compatibilidade com placas já existentes ● Aumentando o número de linhas de dados – Problema: aumenta o tamanho, complexidade e o custo do barramento Largura de Barramento Largura de Barramento ● A Solução para esse problema tem sido o uso de barramentos multiplexados. Temporização Temporização ● De acordo com o relógio, os barramentos podem ser classificados em: ● Síncronos ● Assíncronos Barramento Síncrono ● Os eventos no barramento são guiados por um relógio (próprio do barramento) ● Esse relógio é uma linha que carrega o sinal de uma onda quadrada, que se repete com uma determinada frequência (entre 5 e 100MHz). ● Todas as atividades no barramento tomam um número inteiro de ciclos. Barramento Síncrono ● Vantagem: ● Simples de implementar porque o tempo é discretizado ● Desvantagem: ● Todos os eventos de barramento levam um tempo múltiplo de relógio – Se a CPU e a memória fisicamente são capazes de completar uma transferência em 3.1 ciclos, eles terão que prolongar a transferência até o 4o. ciclo. ● Isso ocorre pois não existe tempo fracionado neste sistema. Barramento Assíncrono ● Não existe um relógio mestre ● O controle do tempo ocorre exclusivamente por sinais trocados entre os dispositivos (transmissor e receptor) ● Esse conjunto de sinais é denominado protocolo de handshaking ● Desvantagem ● Mais complexo e mais caro que barramentos síncronos ● Atualmente, a maioria dos barramentos são síncronos Arbitragem de Barramento Arbitragem de Barramento ● Embora o barramento seja compartilhado por vários dispositivos, duas transmissões não podem ocorrer simultaneamente num mesmo barramento ● Logo, deve haver um mecanismo que arbitra o uso do barramento. ● Mecanismos de arbitragem podem construídos de forma ● Centralizada ● Distribuída Arbitragem de Barramento Centralizado ● Existe uma entidade central que arbitra o uso do barramento (chip próprio,ou dentro do chip do processador) ● Todo dispositivo que usa o barramento é conectado a duas linhas de controle: request e grant Arbitragem de Barramento Centralizado ● Quando um dispositivo quer usar o barramento, ele seta o sinal request ● Ao perceber um request, o árbitro seta o grant, que é percebido primeiro pelo dispositivo mais próximo ao árbitro Arbitragem de Barramento Centralizado ● Se esse dispositivo quer usar o barramento, ele assume o controle e não propaga o sinal . ● Caso contrário, ele propaga o sinal de grant para o próximo dispositivo na cadeia. ● Esse mecanismo de arbitragem é também chamado de daisy chain Arbitragem de Barramento Descentralizada ● Existem n linhas de requisições cada uma com uma prioridade diferente ● Em cada linha, conecta-se apenas um dispositivo. ● Não existe árbitro central: cada dispositivo monitora todas as linhas ● Quando um dispositivo deseja usar o barramento, ele seta sua linha de requisição (request) ● No final do ciclo, o dispositivo verifica se é o requisitante de prioridade mais alta. Caso seja, ele usa o barramento. ● Problema: limita o número de dispositivos conectados ao número de linhas de requisições existentes. Tipo de Dispositivo Conectado ● Barramento de Memória ● Barramento de E/S Tipo de Dispositivo Conectado ● Barramento de Memória ● Barramento de E/S Um chip da placa mãe responsável por tratar a comunicação com a CPU, memória, placa de vídeo e ponte sul. Tipo de Dispositivo Conectado ● Barramento de Memória ● Barramento de E/S Um chip da placa mãe responsável por tratar a comunicação dos dispositivos de E/S com a ponte norte Barramento de Memória ● São pequenos ● Operam em alta velocidade ● São em geral conectados diretamente à CPU para maximizar a taxa de transferência entre memória CPU ● Conectam tpos de dispositvos conhecidos (CPU e Memória) Barramento de E/S ● São barramentos de ordem geral, permitndo que vários dispositvos diferentes possam ser conectados. ● Podem ser longos. ● Podem ter diferentes tpos de dispositvos conectados a ele. ● São, em geral, mais lentos que os barramentos de memória. Exemplos de Barramento Exemplos de Barramentos de E/S • PCI • AGP • PCI-Express • SATA • SCSI • Firewire • USB PCI (Peripheral Component Interconnect) • Defnido pela Intel para estabelecer um padrão de barramento de alta desempenho que permitsse diferenciações na implementação. • Características – Barramento síncrono. – Arbitragem centralizada – 32 ou 64 bits, 33 MHz (ou 66MHz, na versão 2.1). – Dados e endereços são multplexados. – 133 MB/s (4 bytes x 33MHz) até 533 MB/s (8 bytes x 66 MHz) – Cada controlador permite cerca de 4 dispositvos – Plug-and-Play USB (Universal Serial Bus) ● Idealizado em 1995, é um padrão da indústria para conectar computadores pessoais a dispositivos como mouse, teclado, impressora, câmera, etc. ● Pode ser usado também como conector de energia ● Um controlador USB permite que sejam conectados até 127 equipamentos com velocidades de transmissão de 1,5 ou 12 Mbps. ● USB 2.0 (480 Mbps) e, mais recentemente, USB 3.0 (4,8 Gbps) PCI Express ● A demanda por maiores taxas em operações de E/S, tem levado ao surgimento de dispositivos de E/S cada vez mais rápidos ● Uma limitação para o aumento da taxa de transmissão nos barramento é a transmissão em paralelo. Ela apresenta os seguintes problemas: ● À medida que a frequência do relógio aumenta, aumenta a interferência de uma linha na outra; aumenta também o atraso na chegada dos bits. ● A mesma linha é usada para transmitir e receber dados (Half-duplex ) PCI Express ● Ruptura com a arquitetura tradicional de barramento ● Substitui os barramentos paralelos por conexões seriais ponto a ponto de alta velocidade. – Barramento paralelo: transmite vários bits por vez – Barramento serial: transmite apenas um bit por vez ● Idéia trazida do mundo de redes ---> switches Ethernet – Um PC é uma coleção de chips de CPU, memória e controladores de E/S que precisam ser conectados – PCI Express provê um “switch” de propósito geral para conectar chips usando ligações seriais PCI Express ● Trabalha no modo full-duplex. Os dados são transmitidos nesse barramento através de dois pares de fios chamados pista. ● Cada pista permite obter taxa de transferência máxima de 250 MB/s em cada direção. ● Podemos encontrar sistemas PCI Express com 1, 2, 4, 8, 16 e 32 pistas. ● Por exemplo, a taxa de transferência de um sistema PCI Express com 8 pistas (x8) é de 2 GB/s (250 * 8). ● O barramento PCI Express é hot plug, ou seja, é possível instalarmos e removermos placas PCI Express mesmo com o micro ligado. PCI Express PCI Express PCI Express Processador Ponte Sul Ponte Norte Slot de memória 1) Considere um computador com um barramento síncrono com ciclo de 50 ns, durante o qual ele pode ler ou escrever uma palavra de 16 bits na memória. O computador tem um disco que usa esse barramento e que tem uma taxa de transferencia de 20 Megabytes/s (Mega = 106). a) Quantos bytes o barramento consegue transportar por segundo? b) Supondo que a CPU normalmente busca e executa uma instrução de 16 bits a cada 50 ns, quantas instruções a CPU processa por segundo? c) O barramento pode ser considerado um gargalo para a CPU? d) Quantos ciclos de barramento são necessários para transportar o volume de dados que o disco produz por segundo? 2) Considere um microprocessador conectado a um barramento de dados de E/S de 16 bits e relogio de 8 MHz. Assume-se que o ciclo desse barramento tem duracao de quatro ciclos de relogio. Pergunta-se: a) Qual e a taxa maxima de transferencia de dados, em bytes/s, atraves do barramento que conecta o microprocessador aos dispositivos de E/S? b) Para aumentar o desempenho do sistema de E/S, seria melhor fazer seu barramento de dados de 32 bits ou dobrar a frequencia do relogio do barramento? Bibliografia ● Arquitetura e Organização de Computadores (William Stallings) ● Capítulo 3 Slide 1 Slide 2 Slide 3 Slide 4 Slide 5 Slide 6 Slide 7 Slide 8 Slide 9 Slide 10 Slide 11 Slide 12 Slide 13 Slide 14 Slide 15 Slide 16 Slide 17 Slide 18 Slide 19 Slide 20 Slide 21 Slide 22 Slide 23 Slide 24 Slide 25 Slide 26 Slide 27 Slide 28 Slide 29 Slide 30 Slide 31 Slide 32 Slide 33 Slide 34 Slide 35 Slide 36 Slide 37 Slide 38 Slide 39 Slide 40 Slide 41 Slide 42 Slide 43 Slide 44 Slide 45 Slide 46 Slide 47 Slide 48 Slide 49 Slide 50 Slide 51 Slide 52
Compartilhar