Por que a transmissão de dados seriais é mais rápida que a paralela?

125

Intuitivamente, você pensaria que a transmissão paralela de dados deveria ser mais rápida que a transmissão serial de dados; em paralelo você está transferindo muitos bits ao mesmo tempo, enquanto que em serial você está fazendo um bit de cada vez.

Então, o que torna as interfaces SATA mais rápidas do que o PATA, os dispositivos PCI-e mais rápidos que o PCI e as portas seriais mais rápidas que o paralelo?

    
por modest 02.06.2013 / 18:27

5 respostas

141

Você não pode formular dessa maneira.

A transmissão serial é mais lenta do que a transmissão paralela dada a mesma freqüência de sinal . Com uma transmissão paralela você pode transferir uma palavra por ciclo (por exemplo 1 byte = 8 bits), mas com uma transmissão serial apenas uma fração (por exemplo, 1 bit).

A razão pela qual os dispositivos modernos usam transmissão serial é a seguinte:

  • Você não pode aumentar a freqüência do sinal para uma transmissão paralela sem limite, porque, por design, todos os sinais do transmissor precisam chegar ao receptor em o mesmo tempo . Isso não pode ser garantido para altas freqüências, já que você não pode garantir que o tempo de trânsito do sinal seja igual para todas as linhas de sinal (pense em caminhos diferentes na placa-mãe). Quanto maior a frequência, mais pequenas são as diferenças. Portanto, o receptor tem que esperar até que todas as linhas de sinalização sejam resolvidas - obviamente, a espera reduz a taxa de transferência.

  • Outro ponto positivo (de este post ) é necessário considerar crosstalk com linhas de sinal paralelas. Quanto maior a freqüência, mais crosstalk pronunciado fica e, com isso, maior a probabilidade de uma palavra corrompida e a necessidade de retransmiti-la. 1

Portanto, mesmo que você transfira menos dados por ciclo com uma transmissão serial, pode ir para freqüências muito mais altas, o que resulta em uma taxa de transferência mais alta.

1 Isso também explica por que Cabos UDMA (Paralelo ATA com maior velocidade de transferência) tinha o dobro de fios que os pinos. Cada segundo fio foi aterrado para reduzir a diafonia.

    
por 02.06.2013 / 18:44
68

O problema é a sincronização.

Quando você envia em paralelo, você deve medir todas as linhas exatamente no mesmo momento, conforme você vai mais rápido, o tamanho da janela para esse momento fica menor e menor, eventualmente, pode ficar tão pequeno que alguns dos fios podem ainda estar se estabilizando enquanto outros estão acabados antes de ficar sem tempo.

Ao enviar em série, você não precisa mais se preocupar com todas as linhas de estabilização, apenas uma linha. E é mais econômico fazer uma linha estabilizar 10 vezes mais rápido do que adicionar 10 linhas na mesma velocidade.

Algumas coisas, como PCI Express, fazem o melhor dos dois mundos, elas fazem um conjunto paralelo de conexões seriais (a porta 16x da sua placa-mãe tem 16 conexões seriais). Ao fazer isso, cada linha não precisa estar em perfeita sincronia com as outras linhas, contanto que o controlador na outra extremidade possa reordenar os "pacotes" de dados conforme eles chegam usando a ordem correta.

A página How Stuff Works para PCI-Express explica muito bem como o PCI Express serial pode ser mais rápido que PCI ou PCI-X em paralelo.

Versão TL; DR: É mais fácil fazer uma única conexão 16 vezes mais rápida do que 8 conexões 2 vezes mais rápidas quando você atinge frequências muito altas.

    
por 02.06.2013 / 18:40
17

O paralelismo não é inerentemente mais lento, mas apresenta desafios que a comunicação serial não apresenta.

Mas muitos dos links mais rápidos ainda são paralelos: o barramento frontal do computador é normalmente altamente paralelo e geralmente está entre os interlinks mais rápidos de um computador. As conexões de fibra ótica também podem ser altamente paralelas, transportando múltiplos comprimentos de onda em uma única fibra. Isso é caro e, portanto, não é típico. A forma mais comum de Gigabit ethernet é na verdade 4 canais paralelos de Ethernet de 250Mbit em um único fio.

O desafio mais pronunciado introduzido pelo paralelismo é o "crosstalk": quando a corrente de sinal começa ou pára, momentaneamente induz uma pequena corrente nos fios próximos a ele. Quanto mais rápido o sinal, mais freqüentemente isso acontece, e mais difícil é filtrar. O IDE Paralelo tentou minimizar esse problema duplicando a quantidade de fios no cabo de fita e conectando todos os outros fios ao terra. Mas essa solução só te leva até agora. Cabos longos, dobras e loops e a proximidade de outros cabos de fita fazem com que esta seja uma solução não confiável para sinais de velocidade muito alta.

Mas se você for com apenas uma linha de sinal, bem, então você está livre para trocá-lo tão rápido quanto seu hardware permitir. Ele também resolve problemas sutis de sincronização com alguns sinais viajando mais rápido do que outros.

Dois fios são sempre teoricamente duas vezes mais rápidos que um, mas cada linha de sinal que você adiciona sutilmente complica a física, o que pode ser melhor evitar.

    
por 03.06.2013 / 10:47
12

A transmissão de dados em série não é mais rápida que a paralela. É mais conveniente e, portanto, o desenvolvimento foi direcionado para a rápida interface serial externa entre as unidades de equipamentos. Ninguém quer lidar com cabos de fita com 50 ou mais condutores.

Entre os chips em uma placa de circuito, é muito mais fácil lidar com um protocolo serial, como o I2C, que precisa de apenas dois fios do que o roteamento de numerosos traços paralelos.

Mas há muitos exemplos dentro do seu computador onde o paralelismo é usado para aumentar massivamente a largura de banda. Por exemplo, as palavras não são lidas um bit de cada vez da memória. E, de fato, os caches são recarregados em grandes blocos. Os raster displays são outro exemplo: acesso paralelo a múltiplos bancos de memória para obter os pixels mais rapidamente, em paralelo. A banda de memória depende criticamente do paralelismo.

Este dispositivo DAC anunciado pela Tektronix como "o comercial de 10 bits mais rápido do mundo alta velocidade DAC "faz uso pesado de paralelismo para trazer os dados, que entra no DAC mais de 320 linhas, que são reduzidos a 10 através de dois estágios de multiplexação impulsionados por diferentes divisões do relógio mestre de 12 GHZ. Se o DAC de 10 bits mais rápido do mundo pudesse ser feito usando uma única linha de entrada serial, provavelmente o faria.

    
por 02.06.2013 / 21:25
9
Paralelo era a maneira óbvia de aumentar a velocidade quando as portas lógicas eram lentas o suficiente para que você pudesse usar técnicas elétricas semelhantes para barramentos / cabos e transmissão no chip. Se você já estiver alternando o fio o mais rápido que o transistor permitir, a única maneira de dimensionar é usar mais fios.

Com o tempo, a lei de Moore superou as restrições eletromagnéticas, de modo que as transmissões por cabos, ou até mesmo por ônibus, tornaram-se um gargalo em comparação com as velocidades no chip. OTOH, a disparidade de velocidade permite um processamento sofisticado nas extremidades para usar o canal de forma mais eficaz.

  • Uma vez que o atraso de propogação se aproxima da ordem de alguns relógios, você começa a se preocupar com efeitos analógicos como reflexões = > você precisa de impedâncias casadas ao longo do caminho (especialmente complicadas para conectores) e prefere fios ponto-a-ponto sobre barramentos multipontos. É por isso que a SCSI precisava de terminação, e é por isso que o USB precisa de hubs em vez de divisores simples.

  • Em velocidades mais altas, você tem vários bits em vôo a qualquer momento ao longo do fio = > você precisa usar protocolos com pipeline (e é por isso que os protocolos FSB da Intel se tornaram terrivelmente complicados; acho que protocolos empacotados como o PCIe foram uma reação a essa complexidade).

    Outro efeito é uma penalidade de vários ciclos para mudar a direção do fluxo de sinal - é por isso que o Firewire e o SATA e o PCIe usando fios dedicados por direção superaram o desempenho do USB 2.0.

  • O ruído induzido, também conhecido como crosstalk, aumenta com a frequência. O maior avanço em velocidade veio da adoção de sinalização diferencial que reduziu dramaticamente a diafonia (matematicamente, um campo de carga desequilibrada cai como R ^ 2, mas o campo de um dipolo desce como R ^ 3).

    Eu acho que isso é o que causou a impressão "serial is faster that parallel" - o salto era tão grande que você poderia descer para 1 ou 2 pares diferenciais e ainda ser mais rápido que cabos LPT ou IDE . Houve também um crosstalk ganhar de ter apenas um par de sinal no cabo, mas isso é menor.

  • O atraso da propagação do fio varia (tanto porque os comprimentos dos cabos são difíceis de combinar em 90º de voltas, conectores etc. e devido a efeitos parasitários de outros condutores) o que tornou a sincronização um problema.

    A solução era ter atrasos ajustáveis em cada receptor e ajustá-los na inicialização e / ou continuamente a partir dos dados em si. Codificar os dados para evitar faixas de 0s ou 1s incorre em uma pequena sobrecarga, mas tem benefícios elétricos (evita desvio de corrente contínua, controla o espectro) e, o mais importante, permite que o fio seja completamente interrompido (o que não é grande coisa além de 40 sinais, mas é um grande negócio para um cabo serial para ter 1 ou 2 pares em vez de 2 ou 3).

Note que nós estamos jogando paralelismo no gargalo - os chips BGA atuais têm centenas ou milhares de pinos, os PCBs têm mais e mais camadas. Compare isso com microcontroladores antigos de 40 pinos e PCBs de 2 camadas ...

A maioria das técnicas acima tornou-se indispensável para ambas transmissão serial e paralela. É que quanto mais longos os fios, mais atraente se torna empurrar taxas mais altas com menos fios.

    
por 05.06.2013 / 00:00