Baixe o app para aproveitar ainda mais
Prévia do material em texto
Prof.ª Daniella Dias danidias.jp@gmail.com Entrada / Saída e Barramentos Curso de Tecnologia em Telemática Disciplina Arquitetura de Computadores Dispositivos de Entrada/Saída 2 O usuário se comunica com o núcleo do computador (composto por UCP e memória principal) através de dispositivos de entrada e saída (dispositivos de E/S ou I/O devices, também denominados periféricos). Funções básicas dos dispositivos de E/S: a comunicação do usuário com o computador; a comunicação do computador com o meio ambiente (dispositivos externos a serem monitorados ou controlados); armazenamento (gravação) de dados. Permitem a comunicação homem-máquina Tipos de Dispositivos 3 Dispositivos de ENTRADA Funções: coletar informações e introduzir as informações na máquina, converter informações do homem para a máquina e recuperar informações dos dispositivos de armazenamento. Ex.: teclado, mouse, scanner, leitoras óticas, leitoras de cartões magnéticos, câmeras de vídeo, microfones, sensores, transdutores, etc ... Dispositivos de SAÍDA Funções: exibir ou imprimir os resultados do processamento, ou ainda controlar dispositivos externos. Ex.: impressoras, monitores de vídeo, plotters, atuadores, chaves, etc ... Entrada de Dados 4 O processador dever estar pronto para receber dados O dispositivo de entrada (teclado, mouse, scanner, etc) tem que estar pronto para enviar os dados, e sinalizar este fato para o processador O processador identifica o dispositivo de entrada de dados e deve dispor de informações sobre a transferência a realizar (volume de dados, localização de destino, taxa de transferência, mecanismo de recuperação de erros, etc) Saída de Dados 5 O processador deve estar pronto para enviar os dados O dispositivo de saída (monitor, impressora, etc) deve estar pronto para receber os dados, e sinalizar este fato para o processador O processador notifica o dispositivo de saída de dados dispondo os dados e as informações sobre suas características (taxa de transferência de dados, código, etc) Comunicação com UCP 6 A UCP não se comunica diretamente com cada dispositivo de E/S e sim com "interfaces", de forma a compatibilizar as diferentes características. O processo de comunicação ("protocolo") é feito através de transferência de informações de controle, endereços e dados propriamente ditos. Dispositivo de Interface de E/S 7 Controla a transferência (placa de vídeo, controlador IDE, etc) de dados entre o computador e os periféricos Funcionamento Seleciona ou identifica o dispositivo Armazena o estado do dispositivo Armazena os dados temporariamente Decodifica o endereço do dispositivo Gera sinais de sincronismo Compatibiliza a via e o dispositivo →Tipo de transmissão, sincroniza transferências, níveis lógicos, diferenças de Velocidade, Traduz Códigos (paridade, número de bits, etc) Interfaces de Entrada e Saída 8 Função: compatibilizar as diferentes características de um periférico e da UCP/MP, permitindo um fluxo correto de dados em uma velocidade adequada a ambos os elementos que estão sendo interconectados. Conhecidas por diversos nomes, dependendo do fabricante: Interface de E/S = Adaptador de Periférico, Controladora de E/S, Processador de Periférico, Canal de E/S. Compatibilização de velocidades - feita geralmente por programa, usando memórias ("buffers“) que armazenam as informações conforme vão chegando da UCP e as libera para o dispositivo à medida que este as pode receber. Barramentos e dispositivos de E/S 9 Cada dispositivo de E/S é composto de duas partes: Controladora – contém a maioria dos circuitos eletrônicos do dispositivo. O dispositivo propriamente dito (ex.: drive de disco). Barramentos e dispositivos de E/S 10 Estrutura lógica de um computador pessoal Controladora 11 Em geral está em uma placa ligada a um slot livre, exceto no caso daquelas que não são opcionais (ex.: teclado), que muitas vezes está na placa mãe. Função: controlar seu dispositivo de E/S e tratar o acesso do dispositivo ao barramento. Uma controladora que lê ou escreve dados da/na memória sem que seja necessária a intervenção do processador, executa Acesso Direto à Memória (Direct Memory Access – DMA) DMA (Direct Memory Access) 12 Quando termina a transferência dos dados, a controladora força uma interrupção, fazendo com que o processador suspenda a execução do programa corrente, para começar a rodar um procedimento especial – rotina de tratamento da interrupção. Quando a rotina de tratamento da interrupção terminar sua execução, o processador retorna a execução do programa interrompido quando da ocorrência da interrupção. Tipos de Comunicação 13 De uma forma geral, a comunicação entre o núcleo do computador e os dispositivos de E/S poderia ser classificada em dois grupos: comunicação paralela comunicação serial Comunicação Paralela 14 Grupos de bits são transferidos simultaneamente (em geral, byte a byte) através de diversas linhas condutoras dos sinais. A taxa de transferência de dados ("throughput") é alta. Problema: skew. Deve ser usada para curtas distâncias. Adequada para dispositivos mais rápidos ou próximos do núcleo do computador: unidades de disco, CD-ROM, DVD, impressora, scanner. Comunicação Serial 15 Os bits são transferidos um a um, através de um único par condutor. Os bytes a serem transmitidos são serializados ("desmontados" bit a bit) e são individualmente transmitidos, um a um. Na outra extremidade, os bits são contados e quando formam 8 bits, são remontados, reconstituindo os bytes originais. Controle mais simples e implementação mais barata. Adequada para dispositivos mais lentos: mouse, teclado ou para transmissão à longa distância: modem. Métodos para transmissão 16 Através de uma linha de comunicação: Transmissão Síncrona Intervalo de tempo entre dois caracteres subseqüentes-fixo. Transmissão Assíncrona Intervalo de tempo entre os caracteres não é fixo. Também é conhecida como "start-stop". Taxa de eficiência de uma transmissão de dados: relação de número de bits úteis dividido pelo total de bits transmitidos. Método assíncrono: eficiência é menor que a no método síncrono (necessidade dos bits de start e stop). Tipos de transmissão 17 Transmissão simplex Transmissão half-duplex Transmissão full-duplex Tipos de transmissão 18 Simplex – transmite em uma única direção. Half-duplex – transmite em uma única direção de cada vez. Full-duplex – podem transmitir em ambas as direções ao mesmo tempo. Barramento 19 Caminho elétrico comum que liga diversos dispositivos. Como um dado é composto por bits (geralmente um ou mais bytes) o barramento deverá ter tantas linhas condutoras quanto forem os bits a serem transportados de cada vez. Em alguns computadores (usando uma abordagem que visa a redução de custos), os dados podem ser transportados usando mais de um ciclo do barramento. Barramentos 20 Podem ser do tipo: internos ao processador: transferência de dados entre UAL e registradores externos ao processador: transferência de dados entre CPU, memória e dispositivos de E/S. Os barramentos externos podem ser expandidos para facilitar a conexão de dispositivos especiais. Os primeiros computadores pessoais possuiam apenas um barramento externo (barramento do sistema) gravados na placa-mãe para ligação com a memória e placas de E/S. Atualmente, barramentos especial para CPU-MP e (pelo menos) um para CPU-E/S. Barramento 21 Barramento Interno Barramento do Sistema Barramentode Expansão Barramento 22 Barramentos - Tipos 23 Barramento de dados – bidirecional Barramento de endereços – unidirecional Barramento de controle - bidirecional Barramento de Dados (Data Bus) 24 São linhas usadas para transferência de dados e instruções entre processador, memória e dispositivos de E/S. Possuem diferentes tamanhos, dependendo do processador. Exemplo: 8, 16, 32, 64 e 128. Barramento de Endereços (Address Bus) 25 Usado para selecionar a origem ou destino de sinais transmitidos em um dos outros barramentos ou em uma de suas linhas. Conduz endereços. Uma função típica: selecionar um registrador em um dos dispositivos do sistema que é usado como a fonte ou o destino do dado. O processador usa n linhas de endereço do barramento para endereçar 2n posições diferentes de memória Exemplo: Barramento de Endereços com 16 linhas, pode endereçar 216 (64 K) dispositivos (1K= 1024). Barramento de Controle (Control Bus) 26 Sincroniza as atividades do sistema. Conduz o status e a informação de controle de/para o microprocessador. Para um Barramento de Controle ser formado, várias linhas de controle são necessárias. Barramentos multiplexados 27 São barramentos que contém um único conjunto de fios para endereços e dados. Usam multiplexador para transmitir dados e também endereços. Vantagem: barramento com menor número de fios. Desvantagem: mais lentos. Protocolo de barramento 28 É um conjunto de regras que especificam o funcionamento do barramento. Define as regras e especificações, elétricas e mecânicas, de compatibilização de um conjunto de dispositivos de E/S, em geral fornecidos por terceiros, com o barramento. Dispositivos conectados ao barramento devem seguir o protocolo. Os dispositivos ligados ao barramento podem funcionar como: mestres: dispositivos ativos, ou seja, que comandam o barramento escravos: dispositivos passivos, ou seja, não controlam o barramento. 29 DMA (acesso direto à memória) MemóriaE/S Início de transferência de dados Dispositivos de E/S Processador Busca de instruções e de dados MemóriaProcessador ExemploEscravoMestre Exemplos de mestre e escravos Amplificação do sinal 30 O sinal binário emitido pelos dispositivos pode ser muito fraco para energizar todo o barramento, principalmente em barramentos mais longos e/ou com muitos dispositivos conectados. Assim, muitos dispositivos são conectados ao barramento por um chip que terá o papel de amplificar o sinal: Controlador de barramento – dispositivos mestres Receptor de barramento – dispositivos escravos Transceptor de barramento – dispositivos que podem atuar como mestre e também como escravo. Projeto e operação de barramentos 31 Envolvem várias questões complexas, mas os principais tópicos são: Largura Clock (temporização) Arbitragem Operações Largura do barramento 32 Normalmente, primeiro parâmetro a ser definido. Por exemplo, quanto mais linhas de endereço, mais endereços de memória a CPU poderá endereçar diretamente. Barramentos mais largos, precisam de mais fios, logo mais espaço físico e conectores maiores. É necessário encontrar o equilíbrio entre largura do barramento e necessidades futuras: Exemplo da Intel e a evolução do 8088 – 80286 – 80386 Por questões de compatibilidade, o aumento do barramento de endereços gerou também o aumento do barramento de controle. Largura do barramento 33 Isso gerou um barramento (EISA) mais complexo (e confuso) do que se tivesse sido projetado com 32 bits desde o início. Largura do barramento 34 Além da necessidade do crescimento do endereçamento, existe a do crescimento da quantidade de dados a ser transmitida (largura de banda). Duas forma para aumentar a largura de banda de um barramento: Aumentar a taxa de transferência (mais bits/segundo): risco de problemas de atraso diferencial (skew) e compatibilidade. Aumentar a largura de dados (mais bits/transferência): problemas de espaço físico e custo. Possível solução: barramentos multiplexados. Temporização do barramento 35 Barramentos Síncronos Têm uma de suas linhas alimentada por um oscilador a cristal (clock). Todas as atividades do barramento gastam um número inteiro de ciclos desse sinal – ciclos do barramento. Barramentos Assíncronos Não usam clock para sincronização de operações. Importante: O maior problema com o barramento síncrono é que os dispositivos mais rápidos têm que esperar alguns clocks inteiros para finalização de operações com dispositivos mais lentos. Barramento Síncrono 36 Vantagens nenhuma ou pouca lógica é necessária durante a transação Transação consiste basicamente de duas partes: envio do endereço e leitura dos dados barramento pode ser rápido e de baixo custo Desvantagens todos os dispositivos devem operar na mesma velocidade risco de clock skew, logo têm comprimento físico limitado todas operações devem ser executadas em múltiplos inteiros do clock (3,1 → 4,0) uma vez definida a velocidade, não pode mais ser alterada. Barramento Assíncrono 37 A comunicação se dá através de um protocolo conhecido como aperto de mão (handshaking), que é self-timed. Vantagens mais adaptável a mudanças tecnológicas adaptável a uma grande variedade de dispositivos (velocidade) permite maior comprimento físico usado tipicamente em transações de entrada/saída Desvantagens lógica dedicada é necessária em cada dispositivo maior overhead devido ao processo de sincronização menor BW (Banda Passante) Barramento Assíncrono – Exemplo de Transações 38 0 – colocação do endereço nas linhas de dados e ativação do sinal de leitura requerida pelo dispositivo de entrada/saída 1 – leitura do endereço e ativação do sinal de reconhecimento pela memória 2 – detecção do sinal de reconhecimento e liberação das linhas de dados e leitura requerida pelo dispositivo 3 – reconhecimento da liberação das linhas e desativação do sinal de reconhecimento pela memória 4 – quando pronta, a memória coloca os dados nas linhas de dados e ativa o sinal de dados prontos 5 – o dispositivo reconhece o sinal de dados prontos, lê os dados e ativa o sinal de reconhecimento 6 – a memória detecta o sinal de reconhecimento, e então libera as linhas de dados e dados prontos 7 – o dispositivo detecta a liberação da linha dados prontos e desativa o sinal de reconhecimento Barramento Síncrono x Assíncrono 39 Os barramentos síncronos não podem tirar vantagem dos ganhos em desempenho das novas tecnologias surgidas após a sua definição. A cada mudança de tecnologia, para se aumentar o desempenho do sistema, é necessário trocar todos os dispositivos da tecnologia anterior. Isto não acontece com os barramentos assíncronos, pois cada operação pode definir a sua própria temporização. Podem conviver num mesmo barramento assíncrono dispositivos de tecnologias diferentes. Esta flexibilidade tem, como custo, uma maior complexidade do barramento. Barramento Síncrono x Assíncrono 40 A medida que os avanços tecnológicos aproximam-se dos limites físicos de velocidade dos dispositivos, a vantagem da flexibilidade dos barramentos assíncronos perde um pouco a sua importância. Pois numa mesma tecnologia, o desempenho dos barramentos síncronos é um pouco maior que o desempenho dos barramentos assíncronos. Barramento Síncrono x Assíncrono 41 O barramento assíncrono tem vantagens em relação ao síncrono, porém os síncronos são mais usados pois: são mais fáceis de construir, o processador simplesmente ativaseus sinais e a memória simplesmente reage a eles nnão é necessária a realimentação dos sinais se os componentes foram escolhidos adequadamente, tudo funcionará sem dependência há uma boa soma de dinheiro investida na tecnologia de barramentos síncronos. Arbitragem de Barramento 42 Tanto a CPU como os dispositivos de E/S podem atuar como mestres do barramento. E se mais de um dispositivo tentar atuar como mestre ao mesmo tempo? É necessário definir quem controla o barramento em determinado momento (arbitragem). Arbitragem centralizada Utiliza um árbitro para controlar o acesso ao barramento determinando quem será o próximo mestre do barramento. Arbitragem descentralizada Não usa árbitro para controlar o acesso ao barramento. Quando um dispositivo precisar usar o barramento, o dispositivo deve ativar a linha de requisição. Todos os dispositivos monitoram todas as linhas de requisição. Árbitro de barramento 43 Recebe todas as requisições de utilização do barramento. Algumas CPUs possuem o árbitro no mesmo chip. Utiliza políticas pré-definidas para determinar quais requisições serão confirmadas (prioridades) Em geral os dispositivos de E/S tem prioridade (não podem esperar ou correm o risco de perder os dados) Quando uma operação de E/S estiver em andamento, será garantido acesso prioritário ao barramento ao dispositivo que estiver realizando a tarefa. Denominação: roubo de ciclo (tem influência direta no desempenho do computador). Arbitragem centralizada - Exemplo 44 Encadeamento em série (daisy chaining) Barramento possui uma linha de requisição OR que pode ser acionada por um ou mais dispositivos a qualquer tempo. O árbitro não sabe quantos dispositivos requisitaram o barramento. Ao verificar uma requisição, ativa a linha de concessão que está ligada em série a todos os dispositivos. Quando o dispositivo mais próximo ao árbitro verifica a concessão, verifica se ele mesmo fez uma requisição e: Se sim, usa o barramento e não propaga a concessão. Se não fez, propaga a concessão para o próximo dispositivo que se comportará do mesmo modo. A distância em relação ao árbitro define a prioridade. Arbitragem centralizada - Exemplo 45 Arbitragem centralizada 46 Para contornar as prioridades implícitas baseadas na distância, muitos barramentos possuem mais de uma linha de requisição (4, 8 ou 16) Cada linha de requisição define uma prioridade. Disposititivos conectados na mesma linha possuem mesma prioridade. Se mais de uma linha de requisição for acionada, o árbito atende a de maior prioridade. Se mais de um dispositivo da mesma linha fizer uma requisição – encadeamento em sério é utilizado. No exemplo a seguir: Dispositivos 1, 2 e 4 – prioridade 1/dispositivos 3 e 5 – prioridade 2 Se ocorrer conflito, dispositivo 2 vence 4, que por sua vez vence o 3. Arbitragem centralizada – Exemplo (Dois níveis de prioridade) 47 Tecnicamente não é necesário ligar a linha de concessão nível 2 em série pelos dispositivos 1 e 2. Contudo, é mais simples implementar a conexão de todos os nívéis por todos os dispositivos, do que utilizar ligações especiais com base na prioridade. Arbitragem descentralizada – Opção 1 48 1 linha de requisição para cada dispositivo Antes de transmitir, o dispositivo ativa sua linha de requisição e verifica todas as outras linhas. Caso o barramento esteja livre, inicia sua trasnferência. Vantagem: evita o custo do árbitro. Desvantagens: Requer muitas linhas de requisição Limita o número de dispositivos ao número de linhas de requisição. Arbitragem descentralizada – Opção 2 49 Utilizar apenas 3 linhas: requisição, busy e arbitragem. Quando nenhum dispositivo quiser o barramento – a linha de arbitragem é propagada por todos os dispositivos. Para usar o barramento um dispositivo deve: Ativa o sinal de requisição Verifica se o barramento está ocioso (Busy) Verifica se seu sinal de Entrada está ativo: Se estiver negado – não pode utilizar o barramento e nega seu Saída Se estiver ativo – nega seu Saída (seu vizinho terá seu Entrada negado, o que o fará negar seu Saída e assim sucessivamente…), ativa o Busy, nega a linha de requisição e inicia a transferência. Ao concluir a transferência, nega o Busy e ativa o Saída. Arbitragem descentralizada 50 Operações de barramentos 51 Ciclos de barramentos comuns envolvem transações mais simples como, por exemplo, a transferência de uma única palavra de dados entre um mestre e um escravo. No entanto, existem operações mais complexas que envolvem diferentes tipos de ciclo de barramento: Transferência de blocos de dados (memória cache) Controle do compartilhamento do barramento de memória em um sistema multiprocessador (ciclo ler-modificar-escrever). Permite que uma CPU solicite uma palavra de memória, modifique-a e escreva novamente na memória, sem liberar o barramento. Interrupções em dispositivos de E/S (espera conclusão da operação) Tudo isso é definido no protocolo do barramento. Entrada/Saída 52 Existem, basicamente, 3 esquemas diferentes para a realização de operações de E/S em computadores pessoais: 1. E/S programada com espera ocupada 2. E/S dirigida por interrupção 3. E/S com acesso direto à memória (DMA) E/S programada com espera ocupada 53 Mais simples de todos os métodos; Esses processadores têm, em geral, uma única instrução de entrada e uma única de saída; Trabalha com dois registradores para fazer a E/S Registrador de estado Registrador de dados Essas instruções são executadas em loop Não é uma boa solução, o processador gasta grande parte do tempo do processamento no loop Na operação de E/S, um único caractere é transferido entre um registrador fixo do processador e o dispositivo de E/S selecionado na instrução; Existe um tempo de espera para que um bit de controle avise que um caractere pode ser lido ou escrito de, ou para, um dispositivo de E/S. E/S dirigida por interrupção 54 Neste método o processador inicia uma operação de E/S com um dispositivo e sai do processo, levando o dispositivo a interrompê-lo ao término da operação. Desvantagem? A desvantagem deste método é que existe a necessidade de se gerar uma interrupção para cada caractere transmitido, e o processamento de interrupções é caro. E/S com acesso direto à memória (DMA) 55 Agrega-se um componente ao processo de E/S programada, um chip controlador conhecido como DMA (Direct Memory Access - Acesso Direto à Memória). Este dispositivo tem acesso direto ao barramento. O DMA recebe informações sobre um endereço de memória, a quantidade de bytes a serem transferidos, o número do dispositivo a ser acessado e a direção (leitura ou escrita) dos dados. Com essas informações o DMA é capaz de transferir dados entre a memória e o dispositivo de E/S, via barramento, sem intervenção do processador. Assim o processador fica livre para realizar outras operações. 56 Sistema com um controlador DMA. Dispositivo Endereço Direção Memória Contro- ladora RS232C Barramento Con- tador Barramento ISA 57 ISA (Industry Standard Architecture) Primeiro barramento de expansão utilizado em micros PC (síncrono). Existiram duas versões: – slots de 8 bits, que foram utilizados pelos primeiros PCs – slots de 16 bits, introduzidos a partir dos micros 286. Para preservar a compatibilidade com as placas antigas (8 bits) os pinos adicionais foram incluídos na forma de uma extensão para os já existentes. Barramento ISA • Uma coisa que chama a atenção nos slots ISA é o grandenúmero de contatos (98). • Por serem slots de 16 bits, apenas 16 trilhas são de dados, as demais são usadas para endereçamento, alimentação elétrica, sinal de clock, refresh, etc. 58 Esquema de Implementação do Barramento ISA 59 Barramento ISA 60 Cada um destes pinos podia ser controlado individualmente via software e muitas placas não utilizavam todos os pinos do conector, por isso era comum que periféricos mais simples, como placas de som e modem viessem com alguns dos contatos "faltando". Por serem fáceis de programar, as controladoras ISA foram as preferidas por programadores que trabalham com automatização e robótica durante muito tempo. Além de operar a apenas 8.33 MHz, são necessários tempos de espera entre uma transferência e outra, de forma que, na prática, o barramento funciona a apenas metade da frequência nominal. Desta forma, chega-se a uma taxa de transmissão teórica de 8.33 MB/s (no ISA de 16 bits). Como existe um grande overhead causado pelo protocolo usado, na prática acaba sendo possível obter pouco mais de 5 MB/s de taxa de transferência real. Barramento ISA • Com relação à parte prática, uma das principais características das placas ISA era a presença de jumpers, que permitiam definir os endereços de IRQ, DMA e I/O usados pela placa. • Em um PC com vários periféricos, os valores precisam ser ajustados com cuidado, já que duas placas configuradas para utilizar o mesmo endereço entravam em conflito, fazendo com que ambas não funcionassem corretamente. 61 Barramento ISA • Mais tarde, surgiu o padrão ISA plug-and-play (PnP), onde a configuração de endereços é feita pelo BIOS durante o boot. Ele verifica quais endereços estão ocupados por outros dispositivos e tenta atribuir os endereços livres aos novos periféricos instalados, evitando conflitos. • Com a introdução das placas ISA plug-and-play, as placas antigas, configuradas via jumper passaram a ser chamadas de placas legacy ISA. • É relativamente incomum encontrar alguma em uso hoje em dia, mesmo ao trabalhar com micros antigos. 62 Barramento PCI 63 PCI (Peripheral Component Interconnect) Criado pela Intel em 1990 que patenteou o barramento e depois passou para domínio público. Versões: Original: tranferêncis de 32 bits por ciclo a 33 MHz (ciclo de 30 ns) e largura de banda total de 133 MB/s. Atual: transferências de até 64 bits até 66MHz e largura de banda total de 528 MB/s. Barramento PCI é síncrono e multiplexado. Transações feitas por um mestre (ou iniciador) e um escravo (ou alvo). Um dos principais barramentos utilizados nos PCs atuais. 64 Placa de porta paralela PCI Slot PCI em uma placa-mãe. Sinais do barramento PCI 65 Transações do Barramento PCI - Leitura 66 T1 O mestre põe o endereço de memória em AD; Põe também o comando de barramento em C/BE#; Ativa FRAME# para iniciar a transação do barramento; T2 O mestre libera o barramento de endereço para deixar que ele retorne em preparação para o comando do escravo durante o T3; T3 O escravo ativa o DEVSEL# ; Põe dados nas linhas AD; Ativa o TRDY# para informar o mestre que fez isso; T4 : Ciclo ocioso; Transações do Barramento PCI - Escrita 67 T1 Inicia-se uma escrita; Coloca o endereço e o comando no barramento; T2 Coloca os dados no barramento; T3 A memória aceita os dados; PCI – Leitura e escrita (32 bits) 68 Arbitragem PCI - Centralizada 69 • Na maioria dos projetos, o árbitro é colocado em um dos chips de ponte. • Para requisitar o barramento, o dispositivo ativa o #REQ, espera até ver sua linha #GNT ativada pelo árbitro e usa o barramento no ciclo seguinte. • Vários algoritmos podem ser utilizados pelo árbitro: varredura circular, prioridade, etc. • A concessão dá direito a apenas uma transação. Para uma nova transação, espera um ciclo e requisita novamente. Barramento PCI 70 PROBLEMAS Não era muito bom para um barramento de memória; Não era compatível com as antigas placas ISA existentes; SOLUÇÃO A Intel projetou computadores com três ou mais barramentos. Com o passar do tempo, a resolução dos monitores e os vídeos de tela inteira e movimento total aumentaram de escala, surgiu a necessidade de acrescentar outro barramento para comandar somente a parte gráfica dos computadores; Foi criado o barramento AGP(Accelerated Graphics Port Bus); AGP 1.0 trabalhava a 264MB/s; AGP 3.0 trabalhava a 2.1GB/s(8x); Estrutura com diferentes barramentos 71 Computador pessoal com barramentos PCI e ISA Estrutura com diferentes barramentos 72 73 74 Arquitetura de alto desempenho PCI Express (PCIe) 75 O barramento PCI é usado desde 1992 e atendeu a maior parte das necessidades da época. Novos dispositivos periféricos e processadores exigem maior largura de banda do barramento, o que não é possível com o barramento PCI, limitado a 66 MHz. O AGP 3.0 também não atende às necessidades atuais. Além disso, o tamanho das placas PCI é muito grande, consequentemente não são adequadas para computadores menores (notebooks, all-in-one, …) Comparativo de Barramentos 76 Barramento Largura de Banda (MBps) PCI 133 AGP-2X 533 AGP-4X 1066 AGP-8X 2133 PCI-Express 1X 250 PCI-Express 2X 500 PCI-Express 4X 1000 PCI-Express 16X 4000 PCI-Express 32X 8000 PCI Express (PCIe) 77 Conexões seriais ponto a ponto de alta velocidade. Grande ruptura com o padrão adotado até então e baseado na ideia de redes locais: Computador como um conjunto de chips de CPU, memória e controladores de E/S interconectados. O PCIe fornece um comutador de uso geral via conexões seriais. Cada conexão consiste de um par de canais unidirecionais. Cada canal é composto por dois fios, um para sinal e outro para o terra (imunidade contra ruído em transmissões em alta velocidade). Conceito de pacote: cabeçalho + dados Cabeçalho: informações de controle (“antigos” sinais de controle) Sistema PCIe típico 78 PCI Express (PCIe) 79 Priorização de dados, que permite que o sistema transfira primeiro os dados mais importantes e ajuda a evitar gargalos. Transferências de dados em tempo real. Melhorias nos materiais usados na fabricação das conexões. Melhor handshake e detecção de erros. Melhores métodos para quebrar os dados em pacotes e montá-los de volta. Um dispositivo pode atuar como comutador (árvore de comutadores). Dispositivos podem ser acrescentados/removidos enquanto o sistema está em operação. PCI Express – Pilha de Protocolos 80 Camada de Software Interface com SO, Inicialização, Configuração, Pode emular PCI… Empacota a mensagem Controle e integridade dos dados Barramento USB 81 PCI e PCIe são interessantes para dispositivos de alta velocidade, mas muito caros para dispositivos mais lentos/simples. USB (Universal Serial Bus) definido em 1993 por sete empresas (Compaq, DEC, IBM, Intel, Microsoft, NEC e Northern Telecom) Barramento que permite o uso de um tipo de conexão comum entre computador e periféricos. E que deve ser comum a todos os aparelhos que o usarem. Assim, uma porta USB pode ser usada para instalar qualquer dispositivo que use o mesmo padrão. Teoricamente, pode-se conectar até 127 dispositivos USB em uma única porta ou através de hubs USB. Versões do USB 82 USB 1.1: transferência de dados de até 12 Mbps. USB 2.0 (Hi-Speed): opera até 480 Mbps. USB 3.0: pode chegar a 5Gbps. – Transmissão bidirecional de dados: o envio e a recepção de dados entre dois dispositivos pode acontecer ao mesmo tempo; – Maior velocidade: a velocidade de transmissão de dadosé de até 4,8 Gb/s; – Alimentação elétrica mais potente: pode oferecer maior quantidade de energia: 900 miliampéres contra 500 miliampéres do USB 2.0; – Compatibilidade: conexões USB 3.0 suporta dispositivos USB 1.0 e USB 2.0. Barramento USB 83 Sistema USB consiste de um hub-raiz (root hub) que é ligado ao barramento principal. Esse hub tem soquetes para cabos que podem ser conectados a dispositivos de E/S ou a hubs de expansão. Quando um novo dispositivo de E/S é conectado, o hub-raiz interrompe o SO que por sua vez identifica o tipo de dispositivo e o atribui um endereço. A cada 1ms o hub-raiz transmite um quadro SOF (Start of frame – início de quadro) para manter todos os dispositivos sincronizados. Protocolo USB 84 Transmissão baseada no envio de pacotes (três tipos): Transmissão começa quando o hub-raiz envia um pacote (Token Packet) descrevendo o tipo e a direção da transmissão, o endereço do dispositivo e o número de endpoint. O disposititivo decodifica o campo de endereço e reconhece se o pacote é para ele. A fonte envia um pacote de dados (Data Packet). O destino responde com um pacote de Handshake (Handshake Packet) indicando o sucesso (ou não) da transferência. Pacotes USB 85 (a) Token, (b) Data e (c) Handshake Packets Fonte: http://clubedohardware.com.br PID: identifica e descreve o tipo do pacote. ADDR: endereço do dispositivo. ENDP: permite a definição de subcanais. CRC: detecção de erros. DATA: bits de dados Token packet pode identificar como sendo uma transferência para o Host (IN), para a função (OUT), início de frame (SOF) ou controle (SETUP). Handshake packet pode indicar que os dados foram recebidos livres de erro (ACK), que o receptor/transmissor não poder receber/transmitir dados (NAK) ou que o endpoint está parado (STALL) Barramento USB 86 USB aceita quatro tipos de transferências: Controle: para configurar ou transmitir parâmetros de controle a um dispositivo. Interrupção - usado em dispositivos como o mouse ou teclado, que enviarão poucos dados. USB não utiliza interrrupções, o SO verifica se há dados a serem transmitidos em intervalos fixos. Bulk - um dispositivo como uma impressora, que recebe dados em grandes pacotes, utiliza esse modo de transferência. Isócrono - um dispositivo de transmissão contínua e/ou tempo real (como alto-falantes) utiliza esse modo. Interior de um cabo USB • O cabo é blindado: +5 volts (vermelho) e o fio terra (marrom), e um par trançado (amarelo e azul) de fios para a condução dos dados. 87 Barramento USB • A arquitetura USB permite o uso de múltiplos hubs. O hub é o elemento que permite a expansão do número de conexões do sistema. Cada hub converte um ponto de conexão em outros múltlipos pontos. 88 Barramento USB 89 Existem quatro tipos de conectores USB, o USB tipo A, que é o mais comum, usado por pendrives e topo tipo de dispositivo conectado ao PC, o USB tipo B, que é o conector "quadrado" usado em impressoras e outros periféricos, além do USB mini 5P e o USB mini 4P, dois formatos menores, que são utilizados por câmeras, mp3 players, palmtops e outros gadgets. Barramento USB 90 Os quatro tipos utilizam a mesma pinagem, o único diferencial é mesmo o formato físico. Existem ainda alguns formatos de conectores proprietários, geralmente versões levemente modificadas de um destes quatro formatos. Por serem intercompatíveis, é relativamente fácil encontrar adaptadores diversos para permitir encaixar cabos com conectores de formatos diferentes: Wireless USB 91 O WUSB (Wireless USB) é uma versão sem fios do USB, que utiliza o sistema UWB (ultra-wide band) para a transmissão de dados a curtas distâncias, utilizando sinais de baixa potência. Em teoria, o WUSB suporta taxas de transmissão de até 480 megabits a distâncias de até 3 metros e 110 megabits a até 10 metros. O objetivo é que o WUSB seja uma opção ao uso do USB em todo tipo de periféricos, incluindo mouses, joysticks, impressoras, scanners, câmeras digitais, mp3players e até mesmo HDs externos. 92 93
Compartilhar