¿Por qué la transmisión de datos en serie es más rápida que en paralelo?

133

Intuitivamente, pensaría que la transmisión de datos en paralelo debería ser más rápida que la transmisión de datos en serie; en paralelo está transfiriendo muchos bits al mismo tiempo, mientras que en serie está haciendo un bit a la vez.

Entonces, ¿qué hace que las interfaces SATA sean más rápidas que PATA, los dispositivos PCI-e más rápidos que PCI y los puertos seriales más rápidos que paralelos?

modesto
fuente
Tal vez lo sea, pero si es así, ¿por qué veo todos estos intel.com/content/www/us/en/chipsets/performance-chipsets/ ... dice múltiples carriles para PCIe, y busqué FDI en wikipedia y dijo " 2 enlaces / canales / canales de frecuencia fija independientes de 4 bits "y DMI habla de 4 enlaces. (agregado: la respuesta de Scott podría cubrir eso en parte)
barlop
2
Todo se reduce a la velocidad del reloj.
Daniel R Hicks
36
Las tres respuestas existentes no mencionan la economía, es decir, el costo . Es simplemente más barato hacer una interfaz serial muy rápida que una interfaz paralela muy rápida. Para las líneas de transmisión, un cable en serie que usa solo unos pocos cables es más barato que un cable paralelo que será difícil y costoso de proteger.
aserrín
13
En los días de las conexiones DB25 y DB9 , tuvo la suerte de empujar 115 kbit / s a ​​través de serie mientras que en paralelo obtuvo 12 Mbit / s con ocho pines de datos paralelos.
un CVn

Respuestas:

145

No puedes formularlo de esta manera.

La transmisión en serie es más lenta que la transmisión en paralelo dada la misma frecuencia de señal . Con una transmisión en paralelo, puede transferir una palabra por ciclo (por ejemplo, 1 byte = 8 bits), pero con una transmisión en serie solo una fracción (por ejemplo, 1 bit).

La razón por la cual los dispositivos modernos usan transmisión en serie es la siguiente:

  • No puede aumentar la frecuencia de la señal para una transmisión en paralelo sin límite, porque, por diseño, todas las señales del transmisor deben llegar al receptor al mismo tiempo . Esto no puede garantizarse para frecuencias altas, ya que no puede garantizar que el tiempo de tránsito de la señal sea ​​igual para todas las líneas de señal (piense en diferentes rutas en la placa base). Cuanto mayor es la frecuencia, más pequeñas diferencias importan. Por lo tanto, el receptor tiene que esperar hasta que todas las líneas de señal estén establecidas, obviamente, la espera reduce la velocidad de transferencia.

  • Otro buen punto (de esta publicación ) es que uno debe considerar la diafonía con líneas de señal paralelas. Cuanto más alta es la frecuencia, más alta es la diafonía y, con ella, mayor es la probabilidad de una palabra corrupta y la necesidad de retransmitirla. 1

Entonces, incluso si transfiere menos datos por ciclo con una transmisión en serie, puede ir a frecuencias mucho más altas, lo que resulta en una tasa de transferencia neta más alta.


1 Esto también explica por qué los cables UDMA (ATA paralela con mayor velocidad de transferencia) tenían el doble de cables que pines. Cada segundo cable estaba conectado a tierra para reducir la diafonía.

mpy
fuente
99
El receptor no tiene que esperar a que todas las líneas se asienten al mismo tiempo: la transmisión paralela rápida hoy en día implica medir y luego compensar el retraso de llegada en cada cable por separado . ¡Esto incluso se aplica a enlaces internos cortos como CPU <-> DRAM! Esto se hizo posible mediante la adopción de algunas técnicas en serie como relojes integrados (por ejemplo, codificación 8b / 10b) y / o secuencias de entrenamiento.
Beni Cherniavsky-Paskin
Su elaboración contradice su afirmación. Empiezas a decir que el serial es más lento y explicas por qué es más rápido. Creo que es la fuente de confusión y me pregunto cómo puede responder.
Val
11
@Val No estás leyendo toda la respuesta. Un autobús mueve a más personas que un automóvil cuando van a la misma velocidad, pero debido a la forma en que funciona la física, estos automóviles pueden ir mucho más rápido que un autobús, por lo que es más rápido mover personas utilizando automóviles que autobuses. Lo mismo ocurre con los enlaces de datos: a la misma velocidad, los cables paralelos mueven más datos que un cable serie; sin embargo, podemos empujar un cable serie para que funcione mucho, mucho más rápido que un cable paralelo. Si intentamos acelerar el cable paralelo, la física hace que los datos se conviertan en basura.
Darth Android
1
De hecho, veo al revés. Es el transporte de pasajeros (público) el que tiene un mayor rendimiento, porque no se transporta el automóvil con todo el mundo, aunque las personas prefieren moverse individualmente, en automóviles paralelos y, por lo tanto, desarrollan una extensa infraestructura de suburbios en lugar de llevar a las personas a ciudades compactas en 3D. Veo la explosión de bits en serie como un tren. Aproximadamente, enviar un paquete es costoso, pero no importa cuántos datos envíe por paquete. Por lo tanto, es 1000 veces más barato enviar un tren de 1000 bits en lugar de 1000 vagones paralelos.
Val
1
@Val Así es como funciona el transporte, sí, pero no es así como funciona la física del electromagnetismo, y no encaja como una analogía. Aquí nadie habla de eficiencia, solo velocidad y rendimiento. Aunque un enlace paralelo puede mover más datos por ciclo de reloj, un enlace en serie puede mover menos datos por ciclo de reloj, pero tiene muchos más ciclos de reloj en el mismo período de tiempo que todavía tiene un mayor rendimiento.
Darth Android
70

El problema es la sincronización.

Cuando envía en paralelo, debe medir todas las líneas en el mismo momento exacto, a medida que avanza más rápido, el tamaño de la ventana para ese momento se hace más y más pequeño, eventualmente puede volverse tan pequeño que algunos de los cables aún pueden estabilizarse. mientras que otros han terminado antes de que se te acabe el tiempo.

Al enviar en serie, ya no necesita preocuparse por la estabilización de todas las líneas, solo una línea. Y es más rentable hacer que una línea se estabilice 10 veces más rápido que agregar 10 líneas a la misma velocidad.

Algunas cosas como PCI Express hacen lo mejor de ambos mundos, hacen un conjunto paralelo de conexiones en serie (el puerto 16x en su placa base tiene 16 conexiones en serie). Al hacerlo, no es necesario que cada línea esté perfectamente sincronizada con las otras líneas, siempre y cuando el controlador en el otro extremo pueda reordenar los "paquetes" de datos a medida que ingresen utilizando el orden correcto.

La página Cómo funciona Stuff para PCI-Express hace una muy buena explicación en profundidad sobre cómo PCI Express en serie puede ser más rápido que PCI o PCI-X en paralelo.


Versión TL; DR: es más fácil hacer que una sola conexión vaya 16 veces más rápido que 8 conexiones ir 2 veces más rápido una vez que llegue a frecuencias muy altas.

Scott Chamberlain
fuente
1
@barlop Puede hacer paralelo en Ethernet, pero no es muy común en el uso del consumidor, el término se llama Channel Bonding . --corrección : se ha vuelto común en el uso del consumidor, utilizando la vinculación de la frecuencia inalámbrica. así es como 802.11n puede obtener velocidades de hasta 600 Mbit / s , utilizan hasta 4 transmisiones en serie simultáneas.
Scott Chamberlain
1
@barlop Le di el término incorrecto, Channel Bonding es el término genérico más amplio, específicamente para Ethernet, el término correcto para lo que está preguntando se llama agregación de enlaces .
Scott Chamberlain
2
Rich Seifert escribió "De hecho, muchas personas llaman a IEEE 802.11" Wireless Ethernet ". Si bien esto seguramente va en contra de cualquier argumento tecnológico (ni siquiera usa el mismo formato de trama que IEEE 802.3), puedo vivir con él cuando hablo a las personas para quienes la diferencia tecnológica no es importante ". <- sus palabras. Leí hace algunos años que preside y edita 802.3x y presidió Ethernet II (aparentemente DIX Ethernet, Ethernet de 10 Mbps), y leí que es "un participante activo en el Grupo de trabajo IEEE 802.3z Gigabit Ethernet". Entonces, una gran autoridad para decir que 802.11 no es Ethernet.
barlop
1
1000BASE-T Ethernet (802.3ab, "gigabit Ethernet") utiliza 4 pares de cables en paralelo.
MSalters
44
La economía de Ethernet es diferente de los buses como SATA: los cables son muy largos y costosos de reemplazar, por lo que al final debe concentrarse en actualizar la electrónica. Los primeros Ethernet usaban 1 par de alambres pero estandarizados en 4 pares de cables anticipando el uso futuro (en esa época el paralelo era el enfoque obvio para una transmisión más rápida). Esto resultó ser difícil, debido a la diafonía, pero dado que los cables ya están allí, fue una pena no usarlos. Eventualmente, se hizo posible la cancelación de diafonía con el procesamiento DSP muy complicado-> D2A-> ... cable ... -> A2D-> procesamiento DSP.
Beni Cherniavsky-Paskin
19

Paralelo no es inherentemente más lento, pero presenta desafíos que la comunicación en serie no.

Pero muchos de los enlaces más rápidos siguen siendo paralelos: el bus frontal de su computadora generalmente es altamente paralelo y generalmente se encuentra entre los enlaces más rápidos de una computadora. Las conexiones de fibra óptica también pueden ser altamente paralelas al transportar múltiples longitudes de onda sobre una sola fibra. Sin embargo, esto es caro y, por lo tanto, no es típico. La forma más común de Ethernet Gigabit es en realidad 4 canales paralelos de 250Mbit Ethernet en un solo cable.

El desafío más pronunciado introducido por el paralelismo es la "diafonía": cuando la corriente de la señal comienza o se detiene, induce momentáneamente una pequeña corriente en los cables a su lado. Cuanto más rápida es la señal, más a menudo sucede y más difícil resulta filtrarla. El IDE paralelo intentó minimizar este problema duplicando la cantidad de cables en el cable plano y conectando todos los demás cables a tierra. Pero esa solución solo te lleva tan lejos. Los cables largos, pliegues y bucles, y la proximidad a otros cables planos hacen de esta una solución poco confiable para señales de muy alta velocidad.

Pero si usa solo una línea de señal, entonces puede cambiarla tan rápido como lo permita su hardware. También resuelve problemas sutiles de sincronización con algunas señales que viajan más rápido que otras.

Dos cables siempre son teóricamente el doble de rápido que uno, pero cada línea de señal que agregue complica sutilmente la física, lo que puede ser mejor evitar.

tylerl
fuente
El FSB no ha sido parte de los diseños de CPU convencionales desde la era Intel Core 2, AMD lo dejó atrás unos años antes con el diseño AMD64. En cambio, ambos movieron el controlador de memoria a la CPU y conectaron todo lo demás a la CPU con buses rápidos / estrechos en lugar del diseño (relativamente) ancho / lento de un FSB.
Dan Neely
Las técnicas de reducción de conversación cruzada se conocen desde hace décadas, pero como se señaló en los comentarios a las preguntas, introducen costos adicionales, y algunas de ellas empeoran el problema de sincronización (los pares trenzados con diferentes relaciones de giro tienen ligeras variaciones en la impedancia, lo que significa un ligero variaciones en las velocidades de transmisión, y ...).
dmckee
13

La transmisión de datos en serie no es más rápida que en paralelo. Es más conveniente y, por lo tanto, el desarrollo se ha centrado en hacer una interfaz serial externa rápida entre unidades de equipos. Nadie quiere lidiar con cables de cinta que tienen 50 o más conductores.

Entre chips en una placa de circuito, un protocolo en serie como I2C que solo necesita dos cables es mucho más fácil de manejar que enrutar numerosas trazas paralelas.

Pero hay muchos ejemplos dentro de su computadora donde el paralelismo se usa para aumentar masivamente el ancho de banda. Por ejemplo, las palabras no se leen un bit a la vez desde la memoria. Y, de hecho, los cachés se rellenan en grandes bloques. Las pantallas ráster son otro ejemplo: acceso paralelo a múltiples bancos de memoria para obtener los píxeles más rápido, en paralelo. El ancho de banda de memoria depende críticamente del paralelismo.

Este dispositivo DAC promocionado por Tektronix como "el DAC de alta velocidad de 10 bits disponible comercialmente más rápido del mundo" hace un uso intensivo del paralelismo para introducir los datos, que entran en el DAC a través de 320 líneas, que se reducen a 10 a través de dos etapas de multiplexación. impulsado por diferentes divisiones del reloj maestro de 12 GHZ. Si el DAC de 10 bits más rápido del mundo se pudiera hacer usando una sola línea de entrada en serie, entonces probablemente lo haría.

Kaz
fuente
1
+1 por mencionar cables de cinta de 50 pines. Una de las motivaciones para ir a los cables SAS / SATA fue que los cables anchos estaban afectando el flujo de aire dentro de la caja.
jqa
11

Paralelo era la forma obvia de aumentar la velocidad cuando las puertas lógicas eran lo suficientemente lentas como para poder utilizar técnicas eléctricas similares para autobuses / cables y transmisión en chip. Si ya está alternando el cable tan rápido como lo permite su transistor, entonces la única forma de escalar es usar más cables.

Con el tiempo, la ley de Moore superó las restricciones electromagnéticas, por lo que las transmisiones a través de cables, o incluso a bordo de autobuses, se convirtieron en un cuello de botella en comparación con las velocidades en chip. OTOH, la disparidad de velocidad permite un procesamiento sofisticado en los extremos para usar el canal de manera más efectiva.

  • Una vez que el retraso de la propagación se aproxima al orden de unos pocos relojes, comienza a preocuparse por los efectos analógicos como reflexiones => necesita impedancias coincidentes en el camino (especialmente difícil para los conectores) y prefiere cables punto a punto en lugar de buses multipunto. Es por eso que SCSI necesitaba terminación, y es por eso que USB necesita concentradores en lugar de simples divisores.

  • A velocidades más altas, tiene múltiples bits en vuelo en cualquier momento a lo largo del cable => necesita usar protocolos canalizados (por lo que los protocolos FSB de Intel se volvieron terriblemente complicados; creo que los protocolos empaquetados como PCIe fueron una reacción a esta complejidad).

    Otro efecto es una penalización de varios ciclos por cambiar la dirección del flujo de la señal; es por eso que Firewire y SATA y PCIe que usan cables dedicados por dirección superaron al USB 2.0.

  • El ruido inducido, también conocido como diafonía, aumenta con la frecuencia. El mayor avance individual en las velocidades vino de la adopción de la señalización diferencial que redujo drásticamente la diafonía (matemáticamente, el campo de una carga desequilibrada disminuye como R ^ 2, pero el campo de un dipolo disminuye como R ^ 3).

    Creo que esto es lo que causó la impresión de que "la serie es más rápida que paralela": el salto fue tan grande que se podía bajar a 1 o 2 pares diferenciales y aún así ser más rápido que los cables LPT o IDE . También hubo una victoria de diafonía al tener solo un par de señales en el cable, pero eso es menor.

  • El retardo de propagación de los cables varía (tanto porque las longitudes de los cables son difíciles de igualar a través de giros de 90º, conectores, etc., y debido a los efectos parásitos de otros conductores) que hicieron que la sincronización fuera un problema.

    La solución fue tener retrasos ajustables en cada receptor y sintonizarlos al inicio y / o continuamente desde los datos en sí. La codificación de los datos para evitar rayas de 0 o 1 incurre en una pequeña sobrecarga pero tiene beneficios eléctricos (evita la deriva de CC, controla el espectro) y lo más importante es que permite soltar los cables del reloj por completo (lo cual no es un gran problema por encima de 40 señales, pero es un gran problema para un cable serie tener 1 o 2 pares en lugar de 2 o 3).

Tenga en cuenta que estamos lanzando el paralelismo en el cuello de botella - los chips BGA de hoy tienen cientos o miles de alfileres, PCB tienen más y más capas. Compare esto con los viejos microcontroladores de 40 pines y PCB de 2 capas ...

La mayoría de las técnicas anteriores se volvieron indispensables tanto para la transmisión en paralelo como en serie. Es solo que cuanto más largos son los cables, más atractivo se vuelve empujar tasas más altas a través de menos cables.

Beni Cherniavsky-Paskin
fuente