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


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 série você está fazendo um bit de cada vez.

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


124


origem


Talvez seja, mas se assim for, como eu vejo todos estes intel.com/content/www/us/en/chipsets/performance-chipsets/…    Ele diz que várias pistas para PCIe, e eu olhei para cima FDI na wikipedia e disse: "2 links de freqüência fixa de 4 bits independentes / canais / pipes" e DMI fala de 4 links. (adicionado-resposta de Scott pode cobrir parcialmente isso) - barlop
Tudo se resume a taxa de clock. - Daniel R Hicks
As três respostas existentes não mencionam a economia, ou seja, 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 do que um cabo paralelo que será difícil e caro de se proteger. - sawdust
De volta aos dias de DB25 e DB9 conexões, você teve sorte de empurrar 115 kbit / s através de serial enquanto paralela tem você 12 Mbit / s com oito pinos de dados paralelos. - Michael Kjörling


Respostas:


Você não pode formular dessa maneira.

Transmissão serial é Mais devagar de 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 dela (por exemplo, 1 bit).

A razão pela qual os dispositivos modernos usam transmissão serial é o 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, pois você não pode garantir que tempo de trânsito do sinal é igual para todas as linhas de sinal (pense em caminhos diferentes na placa principal). 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, esperar diminui a taxa de transferência.

  • Outro bom ponto (de esta postagem) é preciso 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 líquida mais alta.


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


140



O receptor não precisa esperar que todas as linhas se instalem ao mesmo tempo - a transmissão paralela rápida agora envolve a medição e, em seguida, a compensação do atraso de chegada. em cada fio separadamente. Isso ainda vale para links curtos on-board como CPU <-> DRAM! Isto tornou-se possível através da adopção de algumas técnicas em série, como relógios embutidos (por exemplo, codificação 8b / 10b) e / ou sequências de treino. - Beni Cherniavsky-Paskin
Sua elaboração contradiz sua declaração. Você começa afirmando que serial é Mais devagar e explique porque é mais rápido. Eu acho que é a fonte de confusão e me pergunto como isso pode estar respondendo. - Val
@Val Você não está lendo toda a resposta. Um ônibus move mais pessoas do que um carro quando elas seguem a mesma velocidade - mas devido à forma como a física funciona, esses carros podem ir caminho mais rápido que um ônibus, por isso é mais rápido mover as pessoas usando carros do que ônibus. O mesmo vale para links de dados: na mesma velocidade, os cabos paralelos movem mais dados do que um cabo serial; no entanto, podemos empurrar um cabo serial para operar muito, muito mais rápido do que um cabo paralelo. Se tentarmos acelerar o cabo paralelo, a física faz com que os dados se tornem lixo. - Darth Android
Na verdade eu vejo de cabeça para baixo. É o transporte de passageiros (público) que tem maior tráfego, porque você não transporta o automóvel com todo mundo, embora as pessoas prefiram se mover individualmente, em automóveis paralelos e, portanto, desenvolver infraestruturas extensas de subúrbios em vez de empacotar pessoas em cidades compactas. Eu vejo a explosão de bits de série como um trem. Grosso modo, enviar um pacote é caro, mas não importa quantos dados você envia por pacote. É, portanto, 1000 vezes mais barato enviar um trem de 1000 bits em vez de 1000 carros paralelos. - Val
@Val É assim que funciona o transporte, sim, mas não é assim que a física do eletro-magnetismo funciona e não se encaixa como uma analogia. Ninguém está falando sobre eficiência aqui, apenas velocidade e produtividade. 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 mais ciclos de clock no mesmo período de tempo em que ainda tem maior taxa de transferência. - Darth Android


O problema é 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 ainda podem estar estabilizando. enquanto outros terminam antes de você 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.

o Página de Como as Coisas Funcionam para PCI-Express Explica muito bem como o PCI Express em série pode ser mais rápido que o PCI ou PCI-X em paralelo.


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


67



@barlop Você pode fazer paralelo na Ethernet, mas não é muito comum no uso do consumidor, o termo para isso é chamado Ligação de canais. --correção: Tornou-se comum no uso do consumidor, usando a ligação da frequência sem fio. eu mostro O 802.11n pode obter taxas de até 600 Mbit / s, eles usam até 4 fluxos seriais simultâneos. - Scott Chamberlain
@barlop Eu dei-lhe o termo errado, o canal de ligação é o termo genérico mais amplo, especificamente para Ethernet, o termo correto para o que você está perguntando é chamado Link de agregação. - Scott Chamberlain
Rich Seifert escreveu: "Na verdade, muitas pessoas chamam IEEE 802.11" Wireless Ethernet ". Embora isso certamente não seja compatível com qualquer argumento tecnológico (ele nem usa o mesmo formato de quadro que o IEEE 802.3), eu posso viver com ele quando se fala de pessoas para quem a diferença de tecnologia não é importante"- suas palavras. Eu li há alguns anos que ele comanda e edita o 802.3x e o Ethernet II (aparentemente DIX Ethernet, Ethernet de 10Mbps) - e eu li que ele é" um participante ativo no IEEE 802.3z Gigabit Ethernet Task Força ". Então, uma autoridade bastante para dizer 802.11 não é Ethernet. - barlop
A Ethernet 1000BASE-T (802.3ab, "gigabit Ethernet") usa 4 pareamentos em paralelo. - MSalters
A economia da Ethernet é diferente dos ônibus como o SATA - os cabos são muito longos e caros para serem substituídos, então você se concentra na atualização de equipamentos eletrônicos no final. A Early Ethernet usava 1 par de fios, mas padronizava em 4 pares de cabos, antecipando o uso futuro (naquela época, o paralelo era a abordagem óbvia para a transmissão mais rápida). Isto acabou por ser difícil, devido a crosstalk, mas desde que os cabos já estão lá, foi uma pena não usá-los. Eventualmente, tornou-se possível fazer o cancelamento de crosstalk com processamento muito complicado DSP-> D2A-> ... cabo ... -> A2D-> DSP processamento. - Beni Cherniavsky-Paskin


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 em seu 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 250Mbit Ethernet 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 ela. 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 proximidade com outros cabos de fita, fazem desta 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 é sempre teoricamente duas vezes mais rápido que um, mas cada linha de sinal que você adiciona sutilmente complica a física, o que pode ser melhor evitar.


16



O FSB não faz parte dos principais projetos 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 todo o resto à CPU com barramentos rápidos / estreitos em vez do projeto (relativamente) amplo / lento de um FSB. - Dan Neely
As técnicas de redução de conversa cruzada são conhecidas há décadas, mas como observado nos comentários às perguntas, elas introduzem custos adicionais, e algumas delas 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 ligeira variações nas velocidades de transmissão e ...). - dmckee


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 que tenham 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çados 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 elogiado pela Tektronix como "o DAC de alta velocidade 10-bit mais rápido disponível no mercado" faz uso pesado de paralelismo para trazer os dados, que chegam ao DAC mais de 320 linhas, que são reduzidos a 10 através de dois estágios de multiplexação conduzidos 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.


11



+1 por mencionar cabos de fita de 50 pinos. Uma das motivações para acessar os cabos SAS / SATA foi que os cabos largos estavam afetando o fluxo de ar dentro da caixa. - jqa


O paralelo era o caminho óbvio para 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 tão rápido quanto 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 a bordo, 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.

  • Uma vez 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 reflexos => 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 simples divisores.

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

  • O ruído induzido, também conhecido por crosstalk, aumenta com a frequência. O maior avanço nas velocidades 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 o "serial é mais rápido que paralelo" impressão - o salto era tão grande que você poderia descer para 1 ou 2 pares diferenciais e ainda ser mais rápido que os 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 propogaçã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 os fios do relógio sejam descartados (o que não é grande coisa 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 lançando paralelismo no gargalo - os chips BGA atuais têm centenas ou milhares de pinos, os PCBs têm cada vez 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 ambos transmissão paralela e serial. É só que quanto mais longos os fios, mais atraente se torna empurrar taxas mais altas com menos fios.


8