A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Periféricos e Interfaces

Apresentações semelhantes


Apresentação em tema: "Periféricos e Interfaces"— Transcrição da apresentação:

1 Periféricos e Interfaces

2 magnetoresistência A magnetoresistência é a propriedade dos materiais
variarem a corrente elétrica em função do campo magnético. Em materiais comuns a magnetoresistência é pequena. A corrente muda pouco menos de 1% sob um campo magnético.

3 Fert e Grünberg (premio Nobel de Física, 2007) descobriram em 1988 que um “sanduiche” de alguns materiais empilhados em camadas de espessura nanométrica exibe magnetoresistência gigante: a resistência aumenta ou reduz até 50% sob um campo magnético.

4 Cabeça de leitura de discos magnéticos
bits menores com informações concentradas

5 Redução do tamanho do disco
disco comum Aplicação em IPOD Tamanho do disco aprimorado

6 Códigos de correção de erro
Palavra de memória consiste de m bits de dados Acrescenta-se r bits redundantes Comprimento total da palavra n = m+r Esse conjunto de n bits denomina-se palavra de código de n bits. Para uma palavra de memória de n bits, com n = m + r, somente 2m palavras são válidas. Dadas duas palavras de código quaisquer e é possível determinar quantos bits são diferentes. xor 3 bits diferentes número de bits 1 = 3. O número de bits diferentes em duas palavras de código é denominado de distância de Hamming (Hamming, R.W.”Error detecting and error correcting codes”.Bell Syst.Tech.J.v.29,p , abr.1950).

7 Distância de Hamming Se duas palavras de código estiverem separadas por uma distância de Hamming d, será preciso d erros simples para converter uma na outra. Ex: e estão a uma distância de Hamming 3. Para calcular a distância de Hamming de um código completo, deve-se calcular a distância entre todos os pares de palavras de código. A distância mínima é a distância de Hamming. Para se detectar d erros simples, é preciso um código com distância d + 1. Para se corrigir d erros simples, é preciso um código com distância 2d+1.

8 Exemplos Exemplo 1: Código de detecção de erro com um bit de paridade.
O bit de paridade é escolhido de modo que o número de bits 1 na palavra de código seja par (ou ímpar). Tal código tem distância 2, pois precisa de 2 erros simples para ir de uma palavra válida para uma outra palavra válida. Pode ser usado para se detectar um erro. Exemplo 2: código contendo apenas 4 palavras de código válidas: , , , Tem distância 5, portanto pode corrigir dois erros simples. Se a palavra lida é , o sistema sabe que a original é , considerando-se que ocorreu 2 erros simples. Se a palavra correta é , mas ocorreu 3 erros simples resultando em , o erro não pode ser corrigido.

9 Número de bits de redundância
Seja um código com m bits de dados e r bits de redundância, que vai permitir que todos os erros simples sejam corrigidos. Para cada uma das 2m palavras de memória tem n palavras de código com um erro simples, ou a distância 1. Essas palavras podem ser formadas invertendo cada um dos n bits da palavra de código. Uma vez que o número total de combinações de palavras de n bits é 2n, tem-se que (n + 1)2m < = 2n Como n = m + r (m+r+1) < = 2r

10 Número de bits de redundância para um
código de correção de um erro simples Tamanho da palavra Bits de redundância Tamanho total Acréscimo percentual 8 4 12 50 16 5 21 31 32 6 38 19 64 7 71 11 128 136 256 9 265 512 10 522 2

11 Algoritmo de Hamming Os bits são numerados começando com 1, sendo o bit 1 o mas à esquerda. Todos os bits cujo número de bit for potência de 2 são bits de paridade. Ex: uma palavra de 16 bits de dados, são adicionados 5 bits de paridade: 1,2,4,8 e 16. Cada bit de paridade verifica posições específicas de bits. Usando paridade par, o número de 1s nessas posições específicas deve ser par. O bit b é verificado pelos bits b1, b2,..., bj tais que b1+b2+...+bj = b. bits de paridade

12 Escrevendo cada um dos números de 1 a 21 em soma de 1,2,4,8 e 16:
1 = 1 2 = 2 3 = 1+2 4 = 4 5 = 4 + 1 6 = 4 + 2 7 = 8 = 8 9 = 8 + 1 10 = 8 + 2 11 = 12 = 8 + 4 13 = 14 = 15 = 16 = 16 17 = 18 = 19 = 20 = 21 = Nota-se que: bit 1 – verifica a paridade entre os bits ímpares bit 2 – 2,3,6,7,10,11,14,15,18,19 bit 4 - 4,5,6,7,12,13,14,15,20,21 bit 8 – de 8 a 15 bit 16 – de 16 em diante

13 Exemplo Seja a palavra A palavra de código de 21 bits é Bits de paridade: b1 = b2 = b4= b8 e b16=

14 Exemplo de detecção de erro
Seja erro no bit 5: Bits de paridade incorretos: b1 e b4 erro acerto erro acerto

15 Detecção da posição do erro
Erro em b1 e b4 implica em: erro em: 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21 erro em: 4,5,6,7, 12,13,14,15,20,21 Acerto em b2, b8 e b16 implica em: acerto em: 2,3,6,7,10,11,14,15,18,19 acerto em: 8,9,10,11,12,13,14,15 acerto em: 16,17,18,19,20,12 Por exclusão só sobra o bit 5 (verificar) Regra para detectar a posição do erro: somar os bits de paridade ponderados: 1x b1 + 2 x b2 + 4 x b4 + 8x b8 + 16x b16 sendo bi = 1 se houve erro e bi = 0 se houve acerto. Posição = 1xb1 + 4xb4= = 5

16 LRC e VRC LRC – Longitudinal Redundancy Check – paridade dentro do caractere VRC – Vertical Redundancy Check – paridade da coluna de caracteres Considera-se a transmissão de 5 caracteres com paridade par: – caractere 1 caractere 2 caractere 3 caractere 4 caractere 5 – caractere redundante Caractere 1 = VRC LRC Bit de paridade da segunda coluna Bit de paridade do primeiro caractere

17 Exemplo de aplicação 001101100 – caractere 1 010101001 - caractere 2
– caractere redundante Erro em duas posições ( colunas 2 e 3) do caractere 2 Caractere 2 recebido = LRC não detecta o erro duplo!! Bit de Paridade = 0, correto Porém, quando o receptor calcula o caractere redundante obtem: Caractere redundante calculado = VRC detecta erro!! Caractere redundante recebido =

18 Erro duplo em dois caracteres
– caractere redundante Se ocorrer erro duplo em dois caracteres ( caracteres 2 e 4, por exemplo) tanto LRC como VRC não conseguem detectá-los. Um sistema de detecção de erros mais efetivo em sistemas de comunicação com uma quantidade mínima de hardware (porém, maior que LRC e VRC) é o CRC.

19 CRC – Cyclic Redundancy Checks
O cálculo é realizado usando múltiplas seções de registradores de deslocamento que alimentam um XOR, cuja saída alimenta uma outra seção de registrador, conforme figura

20 Transmissão O registrador é inicializado com zeros.
Assim que cada bit é apresentado à linha de transmissão, é também aplicado ao circuito no ponto marcado por A, e um deslocamento é aplicado. A figura mostra o conteúdo do registrador assumindo que o primeiro bit transmitido é 1. Após todos os bits a serem transmitidos passarem pela entrada A, o conteúdo do registrador é também transmitido para o receptor.

21 Recepção Num sistema equipado com CRC, um arranjo lógico idêntico ao usado no transmissor é também usado no receptor. Novamente o registrador é inicializado com zero, e os dados recebidos são aplicados ao ponto A, e o conteúdo do registrador é deslocado. Ao concluir o recebimento da mensagem, o receptor recebe o BCC (Block Check Caracteres) que é o conteúdo do registrador de deslocamento. Esse código é também aplicado ao ponto A, do circuito, resultando em: Se houver coincidência entre o bit de BCC recebido e o calculado o resultado do xor do dado de entrada é 0. Esse 0 é aplicado aos demais xor do circuito que não afeta o conteúdo do registrador, a não ser na extremidade à esquerda que introduz 0. Ao final de todos os deslocamentos, se o CRC coincidir, o registrador termina em zeros.

22 EVOLUÇÃO DOS BARRAMENTOS
(Andrew S. Tanenbaum- Organização Estruturada de Computadores, 5a. Edição, Prentice-Hall, 2007.)

23 Barra- mento sín- crono
100 MHz Barra- mento sín- crono CPU MEM CPU CPU MEM

24 A CPU tem um atraso de TAD (max
A CPU tem um atraso de TAD (max. 4ns) para colocar o endereço no barramento. Considerando-se 15 ns para realizar a leitura, após o endereço estar estável, a memória emite um sinal de espera WAIT’. No ciclo seguinte ao término da espera a memória coloca os dados no barramento, com TDS (min. 2ns) da borda de descida do clock f. Assim, a memória tem 25 – 4 – 2 =19 ns para produzir os dados. Como os sinais MREQ’ e RD’ são produzidos em TM(max.3ns) e TRL(max.3ns) após a descida do clock T1, no pior caso o chip de memória terá somente = 15 ns para colocar o dado, após a emissão dos sinais de leitura.

25 Barramento assíncrono
CPU CPU CPU CPU MEM MEM Ao invés de vincular os sinais ao clock, quando a CPU disponibilizar os sinais de leitura (MREQ’ e RD’) e o endereço, emite o sinal MSYN’. Como resposta a MEM faz a leitura e quando o dado for disponibilizado no barramento, emite o sinal SSYN’. Apesar da aparente simplicidade do barramento assíncrono, e a vantagem do ajuste automático à velocidade do dispositivo, o barramento síncrono é mais simples de ser construído, e a maioria dos barramentos existentes são síncronos .

26 Arbitragem centralizada
O barramento tem uma única linha de requisição (OR) que assegura a solicitação de acesso por um ou mais dispositivos a qualquer tempo. Quando o árbitro recebe uma requisição, emite uma concessão ativando a linha de concessão. Essa linha está ligada a todos os dispositivos em série. Quando o dispositivo que está mais próximo do árbitro fisicamente, vê a concessão e fez requisição, faz acesso ao barramento, e não passa a concessão para o próximo dispositivo. Se não fez requisição propaga a concessão até o próximo dispositivo, e assim por diante, até algum dispositivo aceitar a concessão e tomar o barramento. Esse esquema é denominado encadeamento em série (daisy chaining).

27 Arbitragem centralizada com prioridade
Contorna as prioridades baseadas na distância em relação ao árbitro. Para cada nível de prioridade existem uma linha de requisição de barramento e uma linha de concessão. No exemplo: O dispositivo 2 vence o 4 em prioridade devido a distância. O dispositivo 4 vence o 3 em devido ao nível de prioridade.

28 Arbitragem descentralizada
Um exemplo de arbitragem descentralizada usa uma linha de requisição OR, comum a todos os dispositivos; uma linha de ocupado (BUSY) ativada pelo dispositivo que estiver controlando o barramento; e uma linha de arbitragem. Quando um dispositivo quer usar o barramento, e o mesmo estiver livre, verifica a entrada da linha de arbitragem. Se a entrada da linha estiver ativa, ele propaga o sinal zero para o próximo e toma o controle do barramento. Assim os próximos dispositivos recebem a entrada zero e propagam esse valor inativo na linha de arbitragem. O esquema é parecido com o daisy chain, porém, dispensa o árbitro centralizado, diminuindo o custo de implementação.

29 Exemplos de barramentos
Barramento IBM-PC ou PC/XT Era o padrão dos sistemas 8088 dos computadores pessoais IBM Tinha 62 linhas de sinais, incluindo 20 para endereço de memória, 8 para dados, e uma linha de cada para ativar leitura de memória, escrita de memória, leitura de E/S e escrita de E/S. Havia também sinais para requisitar e conceder interrupções e usar DMA. Cada cartão (placa) que usava o barramento, tinha uma borda compatível com o conector com 31 faixas banhadas a ouro de cada lado, para fazer contato com o conector. Extensão para o PC/AT Com o lançamento do PC/AT com com capacidade de acesso a 16 MB de memória e transferência de 16 bits, o barramento ficou incompatível. A solução foi acrescentar um segundo conector ao barramento com 36 linhas.

30 Barramento PC e PC/AT 62 linhas 36 linhas

31 Barramentos ISA e EISA Como a IBM lançou a série PS/2 como sucessora do PC/AT, para colocar obstáculos aos fabricantes de clones de PC que haviam conquistado uma grande parte do mercado, o resto da indústria de computadores pessoais reagiu lançando o barramento ISA, que era basicamente o barramento PC/AT, mas funcionando a 8,33 MHz. A vantagem era a compatibilidade com as máquinas e placas existentes. Mais tarde o barramento ISA (Industry Standard Architecture) foi ampliado para 32 bits com mais algumas características (por exemplo, multiprocessamento). O novo barramento foi chamado EISA (Extended ISA).

32 Barramento PCI No IBM PC a maioria das aplicações era baseada em texto. Gradualmente com a introdução do Windows, começaram a ser usadas interfaces gráficas de usuário. Nenhuma dessas aplicações exigia demais o barramento ISA.Com o tempo, muitas aplicações, em especial jogos em multimídia, começaram a usar computadores para usar vídeo de tela inteira e movimento total. Assim, uma tela de 1024x768 pixels, com cores reais (3 bytes por pixel) , exige 2,30 MB de dados. Para a visualização de movimentos suaves são necessários 30 quadros por segundo, ou 69,12 MB de dados por segundo. Como o conteúdo a ser visualizado fica no disco magnético, CD-ROM ou DVD, os dados devem passar do drive de disco para o barramento e ir até a memória e para a apresentação, devem percorrer o barramento novamente e ir até o adaptador de vídeo gráfico. Portanto precisa-se de um barramento de 135 MB por segundo só para o vídeo, sem contar com a largura de banda que a CPU e outros dispositivos precisam.

33 Barramento PCI (cont.) O barramento ISA funcionava a taxa máxima de 8,33 MHz, transmitindo 2 bytes por ciclo, fornecendo uma largura de banda de 16,7 MB/s. O EISA podia transferir 4 bytes por ciclo, alcançando 33,3 MB/s. Nenhum desses barramentos resolvia o problema da apresentação de gráfico na tela. Em 1990, a Intel percebendo a situação desenvolveu um novo barramento com uma largura de banda muito mais alta que o EISA, denominado PCI (Peripheral component Interconnect Bus). Para incentivar o seu uso a Intel patenteou o barramento PCI e passou todas as patentes para domínio público. A Intel também organizou um consórcio de empresas, PCI Interest Group, para gerenciar o futuro do barramento PCI. Como resultado, muitos computadores usam o PCI, mesmo os que não usam chips da Intel, como UltraSPARC.

34 Barramento PCI (cont.) O barramento PCI original usava 32 bits por ciclo e funcionava a 33 MHz, com uma largura de banda de 133 MB/s. Em 1993 foi lançado o PCI 2.0 e em 1995 saiu o PCI 2.1. O PCI 2.2 tem características para computadores portáteis (para economizar energia). O barramento PCI 2.2 funciona até 66 MHz e pode manipular transferências de 64 bits para uma largura de banda total de 528 MB/s. Com essa capacidade o vídeo gráfico é viável. Gargalos: o barramento PCI não é bom para memória; e não é compatível com todas as placas antigas ISA existentes. A solução imaginada pela Intel foi projetar o computador com 3 ou mais barramentos.

35 Arquitetura dos primeiros sistemas Pentium

36 Arquitetura dos sistemas Pentium (cont.)
Dois componentes principais dessa arquitetura são os dois chips pontes fabricados pela Intel. A ponte PCI conecta a CPU, a memória e o barramento PCI. A ponte ISA conecta o barramento PCI ao barramento ISA e também suporta um ou dois discos IDE. Quase todos o sistemas Pentium 4 vêm com um ou mais encaixes (slots) PCI livres para acrecentar novos periféricos de alta velocidade e um ou mais encaixes ISA. A grande vantagem da arquitetura é que a CPU tem uma largura de banda extremamente alta para a memória usando um barramento de memória proprietário. O barramento PCI oferece alta largura de banda para periféricos rápidos, como discos SCSI, e adaptadores gráficos. O barramento PCI pode ser de duas tensões diferentes, 5 V e 3.3 V, porém os cartões de 3.3 V tem um sistema que impede a sua insersão num encaixe de 5V ( e vice versa). Existem também placas universais que suportam ambas as tensões. As placas tem também versões de 32 bits e 64 bits. As placas de 32 bits têm 120 pinos, e as de 64 bits, têm os mesmos 120 pinos mais 64 pinos adicionais. Os barramentos e placas PCI podem funcionar a 33 MHz ou 66 MHz.

37 AGP (Accelerated Graphics Port) e evolução do chip ponte
No final da década de 1990, a resolução dos monitores tinha aumentado, em alguns casos para 1600x1200, e a demanda pelos gráficos aumentou. Nesse contexto a Intel lançou um novo barramento só para comandar a placa gráfica, denominado AGP (Accelerated Graphics Port Bus). A versão inicial AGP 1.0, funcionava a 264 MB/s, o que foi definido por 1x. Com o passar dos anos saíram novas versões, com AGP 3.0 funcionando a 2,1 GB/s (8x). Um sistema Pentium 4 contem agora um chip ponte central e conecta as 5 peças mais importantes do sistema: a CPU, a memória, a placa gráfica, o controlador ATAPI e o barramento PCI. Em algumas variações tem também suporte para Ethernet. Os dispositivos de menor velocidade são ligados ao PCI.

38 Estrutura de barramento de um Pentium 4

39 Novo chip ponte Internamente o chip ponte é dividido em duas partes: a ponte de memória e a ponte de E/S. A ponte de memória conecta a CPU com a memória e o adaptador gráfico. A ponte de E/S conecta o controlador ATAPI, o barramento PCI, e opcionalmente outros dispositivos rápidos de E/S com conexão direta de ponte. As duas pontes são conectadas por uma interconexão de velocidade muito alta.

40 Mais sobre o barramento PCI
O barramento PCI é síncrono. Todas as transações no barramento PCI ocorrem entre o mestre, cujo nome oficial é iniciador, e um escravo, oficialmente denominado alvo (target). Para manter baixo o número de pinos, as linhas de endereços e dados são multiplexadas. Desse modo, nas placas são necessários somente 64 pinos para endereços e dados. Os pinos de endereços e dados funcionam da seguinte maneira: No ciclo 1 de leitura, o mestre coloca o endereço no barramento. No ciclo 2 o mestre remove o endereço e o barramento muda de sentido. No ciclo 3 o escravo entrega os dados requisitados. Numa operação de escrita o barramento não muda de sentido, pois o mestre coloca o endereço e os dados, usando 3 ciclos. Se o escravo não conseguir reponder em 3 ciclos pode inserir estados de espera. Também são permitidas transferências de blocos sem limite de tamanho, bem como outros tipos de transações.

41 Arbitragem no barramento PCI
Árbitro centralizado Todo dispositivo PCI tem duas linhas dedicadas que vão até o árbitro. Uma linha REQ# é usada para requisitar o barramento A outra linha GNT# é usada para receber concessão de barramento Para requitar o barramento um dispositivo PCI, inclusive CPU, ativa REQ# e espera até ver sua linha GNT# ser ativada pelo árbitro. Quando isso acontece o dispositivo pode usar o barramento. O algoritmo usado pelo árbitro não é definido na especificação do PCI. Arbitragem por prioridade, e outros esquemas são permitidos. Uma concessão serve para apenas uma transação, embora teoricamente o comprimento dessa transação não tenha limite. Se um mestre estiver realizando uma transferência muito longa e algum outro dispositivo requisitar o barramento, o árbitro pode negar a linha GNT#. O mestre deve monitorar a linha GNT# e quando perceber a negação deve liberar o barramento no próximo ciclo. Esse esquema permite transferências muito longas (eficientes) quando há somente um mestre, mas ainda assim dá resposta rápida a dispositivos concorrentes.

42 Sinais do barramento PCI (obrigatórios)
linhas Mes- Tre Es- cravo descrição CLK 1 Relógio (33 ou 66 MHz) AD 32 X Endereços e dados PAR Bit de paridade C/BE# 4 Comando de barramento/ mapa de bits para bytes habilitados FRAME# Indica que AD e C/BE estão ativas IRDY# Leitura: mestre aceitará; escrita: dados presentes IDSEL Seleciona espaço de configuração em vez de memória DEVSEL# Escravo decodificou seu endereço e está na escuta TRDY# Leitura: dados presentes; escrita: escravo aceitará STOP# Escravo quer interromper a transação imediatamente PERR# Erro de paridade de dados detectado pelo receptor SERR# Erro de paridade de endereço ou erro de sistema detectado REQ# Arbitragem: requisição GNT# Arbitragem: concessão RST# Restaura o sistema e todos os dispositivos

43 Sinais opcionais sinais linhas Mes- tre Es- cravo descrição REQ64# 1 X
Requisição para realizar transação de 64 bits ACK64# Permissão concedida para uma transação de 64 bits AD 32 32 bits adicionais de endereço ou dados PAR64 Paridade para os 32 bits extras de endereço/dados C/BE# 4 4 bits adicionais para habilitações de bytes LOCK Trava o barramento para permitir múltiplas transações SBO# Presença de dados em uma cache remota (para multiprocessador) SDONE Escuta realizada(para multiprocessador) INTx Requisição de uma interrupção JTAG 5 Sinais de testes IEEE JTAG M66EN Ligado à energia ou terra (66 MHz ou 33 MHz)

44 Exemplos de transações no PCI

45 Transação de leitura Quando ocorre uma borda descendente de T1, o mestre põe o endereço de memória em AD e o comando de barramento em C/BE#. Então ativa FRAME# para iniciar a transação Durante T2, o mestre libera o barramento de endereço para deixar que ele retorne em preparação para o comando do escravo em T3. Aciona IRDY# para indicar que está pronto para receber o dado. O mestre também muda C/BE# para indicar quais bytes na palavra endereçada ele quer habilitar, i.e´, quais quer que sejam lidos Em T3, o escravo ativa DEVSEL# de modo que o mestre saiba que ele obteve o endereço e está planejando responder. Além disso põe os dados nas linhas AD e ativa TRDY# para informar ao mestre a execução da tarefa. Se o escravo não puder responder com tanta rapidez, ainda assim ele ativa DEVSEL# para anunciar sua presença, mas mantem TRDY# negado até que possa obter os dados.

46 PCI Express Embora o funcionamento do PCI seja adequado para a maioria das aplicações existentes, a necessidade de maior largura de banda de E/S é esperada. O problema é que há cada vez mais dispositivos de E/S muito rápidos para o barramento PCI. Toda vez que um dispositivo de E/S fica muito rápido para o PCI a Intel acrescenta uma porta especial no chip ponte para permitir que o dispositivo desvie do barramento PCI. Um outro problema do barramento PCI é que as placas são muito grandes, não cabem nos laptops e os fabricantes gostariam de produzir dispositivos menores. Diversas soluções foram propostas, mas a que tem mais probabilidade de vencer é denominada PCI Express. Ela tem pouco a ver com o barramento PCI, e na verdade nem é barramento, mas o pessoal de marketing quer manter o famoso nome PCI.

47 Arquitetura do PCI Express
O coração do PCI Express é se livrar do barramento paralelo com seus muitos mestres e escravos e passar para um projeto baseado em conexões seriais ponto a ponto de alta velocidade. Essa solução representa uma ruptura radical com a tradição do barramento ISA/EISA/PCI e toma idéias do mundo das redes locais, em especial a Ethernet com comutação de pacotes. A idéia básica se resume em: no fundo o PC é um conjunto de chips de CPU, memória e controladores de E/S que precisa ser interconectado. O que o PCI Express faz é fornecer um comutador de uso geral para conectar chips usando ligações seriais.

48 PCI Express

49 O PC com PCI Express é uma rede de comutação de pacotes em miniatura.
A memória e o cache estão conectados ao chip ponte de forma tradicional. A novidade é um comutador conectado à ponte, possivelmente fazendo parte da ponte. Cada um dos chips de E/S tem uma conexão ponto a ponto dedicada com o comutador. Cada conexão consiste em um par de canais unidirecionais, um que vai para o comutador e outro que vem dele. Cada canal é composto de dois fios, um para o sinal e outro para o terra. A arquitetura PCI Express tem 3 pontos diferentes em relação ao barramento PCI: Um comutador centralizado contra um barramento Utilização de conexões seriais ponto a ponto O terceiro é que o modelo fundamenta em envio de pacote de dados. O conceito de pacote que consiste de um cabeçalho e uma carga útil vem do mundo das redes. O cabeçalho contem informação de controle, que elimina a necessidade de muitos sinais de controle presentes no barramento PCI. O PC com PCI Express é uma rede de comutação de pacotes em miniatura.

50 Outras características do PCI Express
O código de detecção de erro é usado somente nos pacotes, dando um grau de confiabilidade maior que o PCI A conexão entre um chip e o comutador pode ter até 50 cm, para permitir uma repartição do sistema. O sistema pode ser expandido porque um dispositivo pode perfeitamente ser um outro comutador, permitindo uma árvore de comutadores. Os dispositivos podem ser acrescidos ou removidos do sistema em operação. Uma vez que os conectores seriais são muito menores do que os conectores PCI, podem-se fabricar dispositivos e computadores muito menores

51 Protocolo – camada física
Trata da movimentação dos bits de um remetente para o destinatário por uma conexão ponto a ponto Cada conexão ponto a ponto consiste em um ou mais pares de enlaces simplex (unidirecionais). No caso mais simples há um par em cada direção, mas também é permitido ter 2, 4, 8, 16 ou 32 pares. Cada enlace é denominado via. O número de vias em cada direção deve ser o mesmo. Produtos de primeira geração devem suportar uma taxa de dados em cada direção de no mínimo 2,5 Gbps, mas espera-se atingir logo 10 Gbps. O PCI Express não tem um relógio mestre. Os dispositivos têm liberdade para começar a transmitir tão logo tenham dados para enviar. Mas se os primeiros bytes forem todos zeros, como o destinatário sabe que os dados estão sendo transmitidos? O problema é resolvido com codificação 8b/10b. Nesse esquema, 10 bits são usados para codificar um byte de dados. Entre os 1024 símbolos de 10 bits possíveis foram escolhidos os que têm suficientes transições para manter os dispositivos sincronizados, mesmo sem um relógio mestre. Uma conseqüência é que um enlace com capacidade de 2,5 Gbps brutos só pode transmitir 2 Gps líquidos de dados.

52 Protocolo- camada de enlace
A camada de enlace trata da transmissão de pacotes. Ela pega o cabeçalho e a carga útil e acrescenta a eles um número de seqüência e um código de correção de erro denominado CRC (Cyclic Redundancy Check). Quando o pacote é recebido o destinatário efetua alguns cálculos no cabeçalho e nos dados e compara o resultado com o CRC recebido. Se forem compatíveis o destinatário devolve um curto pacote de reconhecimento. Se não forem compatíveis, o destinatário solicita uma retransmissão. Nota-se que no PCI não tem nenhuma prescrição para retransmissão. Para evitar que um transmissor rápido afogue um receptor lento, é usado um mecanismo de créditos. Nele, o receptor concede ao transmissor um certo número de créditos que corresponde ao tamanho do buffer que ele tem para armazenar os pacotes que chegam. Quando os créditos esgotam o transmissor deve parar de enviar pacotes até receber mais créditos.

53 Protocolo-camada de transação
Trata das ações do barramento. Ler uma palavra de memória requer duas transações: uma iniciada pela CPU ou canal de DMA e outra iniciada pelo alvo que está fornecendo os dados. A camada de transaçao adiciona valor à transmissão de pacotes bruta oferecida pela camada de enlace. Ela pode dividir cada via em até 8 circuitos virtuais, cada um manipulando uma classe de tráfego diferente. A camada de transação pode rotular pacotes de acordo com sua classe de tráfego, o que pode incluir atributos de prioridade, entrega fora de ordem, e outros. O comutador pode usar esses rótulos para decidir qual pacote manipulará em seguida. Cada transação usa um dos 4 espaços de endereços: Espaço de memória (para leituras e escritas comuns) Espaço para E/S (para endereçar registradores de dispositivos) Espaço de configuração (para inicialização do sistema, etc.) Espaço de mensagem (para sinalização, interrupçoes, etc.)

54 Protocolo-camada e software
Faz a interface entre o sistema PCI Express e o sistema operacional. Ela pode emular o barramento PCI, possibilitando a execução de SOs existentes e não modificados para o PCI Express. Essa emulação é necessária até que os SOs sejam modificados para usar totalmente o PCI Express. Quando um comando é dado para a camada de software, esta o passa para a camada de transação, que o formula em termos de um cabeçalho e uma carga útil. Então essas partes são passadas para a camada de enlace, que acrescenta um número de seqüência à sua parte anterior e um CRC. Em seguida esse pacote ampliado é passado para a camada física, que é por fim, transmitido. Na extremidade receptora ocorre o inverso. A grande diferença do protocolo com o mundo das redes é que no PCI Express o protocolo faz parte do hardware do dispositivo, enquanto que nas redes o processamento nas várias camadas é quase sempre por software.


Carregar ppt "Periféricos e Interfaces"

Apresentações semelhantes


Anúncios Google