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

133

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 em série, um bit de cada vez.

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

modesto
fonte
Talvez seja, mas se sim, como vejo todas essas intel.com/content/www/us/en/chipsets/performance-chipsets/… diz várias faixas para PCIe e procurei o IDE na wikipedia e ele disse " 2 links / canais / pipes independentes de frequência fixa de 4 bits "e conversações DMI de 4 links. (resposta acrescentado de Scott pode cobrir parcialmente isso)
barlop
2
Tudo se resume ao relógio.
Daniel R Hicks
36
As três respostas existentes não mencionam economia, isto é, custo . É simplesmente mais barato criar uma interface serial muito rápida do que uma interface paralela muito rápida. Para linhas de transmissão, um cabo serial que usa apenas alguns fios é mais barato que um cabo paralelo que será difícil e caro de blindar.
serragem
13
Nos dias das conexões DB25 e DB9 , você teve a sorte de enviar 115 kbit / s através de serial, enquanto o paralelo obteve 12 Mbit / s com oito pinos de dados paralelos.
um CVn

Respostas:

145

Você não pode formular dessa maneira.

A transmissão serial é mais lenta que a transmissão paralela, dada a mesma frequê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).

O motivo pelo qual os dispositivos modernos usam a transmissão serial é o seguinte:

  • Você não pode aumentar a frequência do sinal para uma transmissão paralela sem limite, porque, por padrão, todos os sinais do transmissor precisam chegar ao receptor ao mesmo tempo . Isso não pode ser garantido para altas frequências, pois 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 principal). Quanto maior a frequência, menores são as diferenças. Portanto, o receptor precisa esperar até que todas as linhas de sinal sejam estabelecidas - obviamente, a espera diminui a taxa de transferência.

  • Outro ponto positivo ( deste post ) é que é preciso considerar a diafonia com linhas de sinal paralelas. Quanto maior a frequência, mais a fala cruzada mais pronunciada e, com ela, 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, poderá acessar frequências muito mais altas, o que resulta em uma taxa de transferência líquida mais alta.


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

mpy
fonte
9
O receptor não precisa esperar que todas as linhas assentem ao mesmo tempo - a transmissão paralela rápida hoje em dia envolve a medição e a compensação do atraso de chegada de cada fio separadamente . Isso vale para links internos curtos, como CPU <-> DRAM! Isso se tornou possível adotando algumas técnicas seriais, como relógios incorporados (por exemplo, codificação 8b / 10b) e / ou sequências de treinamento.
Beni Cherniavsky-Paskin
Sua elaboração contradiz sua afirmação. Você começa a declarar que o serial é mais lento e explica por que é mais rápido. Eu acho que é a fonte de confusão e me pergunto como isso pode estar respondendo.
Val
11
@ Val Você não está lendo a resposta completa. Um ônibus move mais pessoas do que um carro quando eles andam na mesma velocidade - mas, devido à maneira como a física funciona, esses carros podem andar muito mais rápido que um ônibus, por isso é mais rápido mover pessoas usando carros do que ônibus. O mesmo vale para os links de dados: na mesma velocidade, os cabos paralelos movem mais dados do que um cabo serial; no entanto, podemos pressionar um cabo serial para operar muito, muito mais rapidamente do que um cabo paralelo. Se tentarmos acelerar o cabo paralelo, a física fará com que os dados se tornem lixo.
Darth Android
1
Na verdade, eu vejo de cabeça para baixo. É o transporte público de passageiros que tem maior produtividade, porque você não transporta o automóvel com todo mundo, embora as pessoas prefiram se deslocar individualmente, em automóveis paralelos e, portanto, desenvolvam uma extensa infraestrutura de subúrbio em vez de levar as pessoas para cidades 3D compactas. Eu vejo a explosão de bits seriais como um trem. Grosso modo, o envio de um pacote é caro, mas não importa quantos dados você envia por pacote. Portanto, é 1000 vezes mais barato enviar um trem de 1000 bits do que 1000 carros paralelos.
Val
1
@ Val É assim que o transporte funciona, sim, mas não é assim que a física do eletro-magnetismo funciona e não se encaixa como analogia. Ninguém está falando sobre eficiência aqui, apenas velocidade e rendimento. Mesmo que um link paralelo possa mover mais dados por ciclo de clock, um link serial pode mover menos dados por ciclo de clock, mas tem tantos ciclos de clock no mesmo período que ainda possui maior taxa de transferência.
Darth Android
70

O problema é a sincronização.

Quando você envia em paralelo, você deve medir todas as linhas no mesmo momento, à medida que aumenta o tamanho da janela para um momento menor e menor; eventualmente, pode ficar tão pequeno que alguns fios ainda possam estar se estabilizando enquanto outros terminam antes do tempo acabar.

Ao enviar em série, você não precisa mais se preocupar com a estabilização de todas as linhas, 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 o PCI Express, fazem o melhor dos dois mundos, fazem um conjunto paralelo de conexões seriais (a porta 16x da placa-mãe possui 16 conexões seriais). Ao fazer isso, cada linha não precisa estar em perfeita sincronia com as outras linhas, desde que o controlador do outro lado possa reordenar os "pacotes" de dados conforme eles chegam na ordem correta.

A página How Stuff Works para PCI-Express faz uma explicação muito boa sobre como o PCI Express em série pode ser mais rápido que o PCI ou PCI-X em paralelo.


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

Scott Chamberlain
fonte
1
@ Barlop Você pode fazer paralelo na Ethernet, mas não é muito comum no uso do consumidor, o termo é chamado de ligação de canal . --correção : tornou-se comum no uso do consumidor, usando a ligação da freqüência sem fio. é como o 802.11n pode obter taxas de até 600 Mbit / s , eles usam até 4 fluxos seriais simultâneos.
Scott Chamberlain
1
@ barlop Eu dei o termo errado, Channel Bonding é o termo genérico mais amplo, especificamente para Ethernet, o termo correto para o que você está perguntando é chamado de agregação de link .
Scott Chamberlain
2
Rich Seifert escreveu: "De fato, muitas pessoas chamam IEEE 802.11 de" Ethernet sem fio ". Embora isso certamente atinja qualquer argumento de tecnologia (nem sequer usa o mesmo formato de quadro que o IEEE 802.3), posso conviver com ele quando falo para pessoas para quem a diferença tecnológica não é importante ". <- as palavras dele. Li alguns anos atrás que ele preside e edita o 802.3xe presidiu a Ethernet II (que é a DIX Ethernet, aparentemente, 10 Mbps Ethernet) - e li que ele é "um participante ativo da Força-Tarefa Ethernet IEEE 802.3z Gigabit Ethernet". Portanto, uma grande autoridade para dizer que 802.11 não é Ethernet.
#
1
A Ethernet 1000BASE-T (802.3ab, "gigabit Ethernet") usa 4 pares de cabos em paralelo.
precisa saber é o seguinte
4
A economia da Ethernet é diferente de barramentos como SATA - os cabos são muito longos e caros para substituir, então você se concentra em atualizar os eletrônicos no final. A Ethernet antiga usava 1 par de fios, mas padronizava-se em cabos de 4 pares, antecipando o uso futuro (naquela época paralelo era a abordagem óbvia para uma transmissão mais rápida). Isso acabou sendo difícil, devido à diafonia, mas como os cabos já estão lá, era uma pena não usá-los. Eventualmente, tornou-se possível fazer o cancelamento de diafonia com processamento DSP muito complicado-> D2A-> ... cabo ... -> A2D-> processamento DSP.
Beni Cherniavsky-Paskin
19

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

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

O desafio mais pronunciado introduzido pelo paralelismo é o "diafonia": quando a corrente do sinal começa ou para, ela momentaneamente induz uma pequena corrente nos fios próximos a ela. Quanto mais rápido o sinal, mais frequentemente isso acontece e mais difícil fica filtrar. O IDE paralelo tentou minimizar esse problema dobrando a quantidade de fios no cabo de fita e conectando todos os outros fios ao terra. Mas essa solução só leva você até agora. Cabos longos, dobras e loops e proximidade com outros cabos de fita fazem desta uma solução não confiável para sinais de alta velocidade.

Mas se você optar por apenas uma linha de sinal, estará livre para trocá-lo o mais rápido que o seu hardware permitir. Ele também resolve problemas sutis de sincronização com alguns sinais que viajam mais rápido que outros.

Teoricamente, dois fios são sempre duas vezes mais rápidos que um, mas cada linha de sinal adicionada sutilmente complica a física, o que pode ser melhor evitar.

tylerl
fonte
O FSB não faz parte dos principais designs de CPU desde a era Intel Core 2, a AMD deixou para trás alguns anos antes com o design AMD64. Em vez disso, ambos moveram o controlador de memória para a própria CPU e conectaram tudo à CPU com barramentos rápidos / estreitos, em vez do design (relativamente) amplo / lento de um FSB.
Dan Neely
As técnicas de redução de conversação cruzada são conhecidas há décadas, mas, como observado nos comentários das perguntas, eles introduzem custos adicionais, e alguns deles pioram o problema de sincronização (pares trançados com diferentes taxas de torção têm pequenas variações na impedância, o que significa uma ligeira variações nas velocidades de transmissão e ...).
dmckee
13

A transmissão de dados seriais não é mais rápida que a paralela. É mais conveniente e, portanto, o desenvolvimento tornou a interface serial externa rápida entre as unidades de equipamento. Ninguém quer lidar com cabos de fita com 50 ou mais condutores.

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

Mas há muitos exemplos dentro do seu computador em que 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 displays de varredura são outro exemplo: acesso paralelo a vários bancos de memória para obter os pixels mais rapidamente, em paralelo. A largura de banda da memória depende criticamente do paralelismo.

Esse dispositivo DAC apontado pela Tektronix como "o DAC de 10 bits e alta velocidade mais comercialmente disponível do mundo" faz uso pesado de paralelismo para trazer os dados, que chegam ao DAC com mais de 320 linhas, que são reduzidas para 10 a dois estágios de multiplexação conduzido por diferentes divisões do relógio mestre de 12 GHZ. Se o DAC de 10 bits mais rápido do mundo pudesse ser produzido usando uma única linha de entrada serial, provavelmente seria.

Kaz
fonte
1
+1 por mencionar cabos de fita de 50 pinos. Uma das motivações para usar os cabos SAS / SATA era que os cabos largos estavam afetando o fluxo de ar dentro da caixa.
JQA
11

Paralelo era a maneira óbvia de aumentar a velocidade quando os portões lógicos eram lentos o suficiente para que você pudesse usar técnicas elétricas semelhantes para ônibus / cabos e transmissão no chip. Se você já está alternando o fio o mais rápido que o transistor permite, 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 mesmo a bordo de ônibus se tornaram 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.

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

  • Em velocidades mais altas, você tem vários bits em vôo a qualquer momento => você precisa usar protocolos em pipeline (é por isso que os protocolos FSB da Intel se tornaram terrivelmente complicados; acho que protocolos em pacotes 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 do sinal - é por isso que o Firewire, o SATA e o PCIe, usando fios dedicados por direção, superaram o USB 2.0.

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

    Eu acho que foi isso que causou a impressão "serial é mais rápido que paralelo" - o salto foi tão grande que você pode descer para 1 ou 2 pares diferenciais e ainda ser mais rápido que os cabos LPT ou IDE . Houve também uma vitória na diafonia por haver apenas um par de sinais no cabo, mas isso é menor.

  • O atraso na propagação do fio varia (tanto porque os comprimentos do fio são difíceis de combinar em curvas de 90º, conectores etc., quanto por causa de efeitos parasitários de outros condutores), o que tornou a sincronização um problema.

    A solução era ter atrasos ajustáveis ​​em todos os receptores e ajustá-los na inicialização e / ou continuamente a partir dos próprios dados. A codificação dos dados para evitar faixas de 0 ou 1 gera uma pequena sobrecarga, mas possui benefícios elétricos (evita a variação de corrente contínua, controla o espectro) e, o mais importante, permite que você solte o (s) fio (s) do relógio completamente (o que não é um grande problema entre os 40) sinais, mas é um grande negócio para um cabo serial ter 1 ou 2 pares em vez de 2 ou 3).

Note que estão jogando paralelismo no gargalo - chips de BGA de hoje têm centenas ou milhares de pinos, PCBs ter mais e mais camadas. Compare isso com antigos microcontroladores de 40 pinos e PCBs de 2 camadas ...

A maioria das técnicas acima se tornou indispensável para a transmissão paralela e serial. Só que quanto mais longos os fios, mais atraente se torna empurrar taxas mais altas através de menos fios.

Beni Cherniavsky-Paskin
fonte