Non sarebbe più veloce se ci fossero più linee di dati (diciamo 8) per trasmettere / ricevere dati (diciamo byte sequenziali) invece di usare una singola linea per trasmettere bit sequenziali?
Non sarebbe più veloce se ci fossero più linee di dati (diciamo 8) per trasmettere / ricevere dati (diciamo byte sequenziali) invece di usare una singola linea per trasmettere bit sequenziali?
Sarebbe davvero più veloce se invece di una riga si inserissero più righe nello stesso simbolo di clock.
Tuttavia, l'obiettivo principale e principale di USB è fornire un'interfaccia seriale semplice (da cui la S in USB) tra dispositivi a basso costo (da cui la U in USB) con cavi leggeri e a basso costo.
Ecco perché l'USB non esegue linee dati parallele: semplicemente non è la nicchia che dovrebbe riempire.
Inoltre, non trascurare che avere più corsie parallele ad alta velocità richiede che il sistema ricetrasmettitore introduca uno sforzo relativamente elevato per compensare diversi disallineamenti su linee diverse, che a velocità elevate sono inevitabili.
Spesso è diventato più economico far funzionare qualcosa a una velocità doppia rispetto alla costruzione di due delle varianti più lente, a meno che tu non stia parlando direttamente con l'hardware che è nel suo principio grezzo bit-parallel (ad es. chip di memoria DDR).
Uno dei principali ostacoli con qualsiasi tipo di bus parallelo è skew. Se si dispone di 8 fili separati che trasportano tutti i dati, è importante che tutti i bit arrivino all'incirca nello stesso momento. Altrimenti, i bit del Byte A potrebbero confondersi con i bit del Byte B. Ciò significa che la lunghezza di quei fili paralleli deve essere abbinata, entro una certa percentuale della velocità di clock, in modo che il tempo di percorrenza del segnale lungo il filo è approssimativamente lo stesso. Maggiore è la velocità di clock, più stretta è la tolleranza sulla lunghezza tra i fili paralleli.
Su un progetto PCB per qualcosa come una scheda madre, i vincoli di progettazione molto rigidi sono all'ordine del giorno. Le tracce PCB possono raggiungere una corrispondenza della lunghezza di 1 mil o superiore, il che è sufficiente per implementare interfacce parallele ad alta velocità. Un esempio comune di ciò è l ' interfaccia di memoria DDR. Questa interfaccia si basa sulla comunicazione parallela per spostare i dati a velocità molto elevate, ma è possibile implementare queste interfacce internamente (in modo economico).
Immagina di provare a costruire un cavo per computer esterno con oltre 30 connessioni di fili, tutte le lunghezze corrispondenti entro un millesimo di pollice! Quei cavi sarebbero molto costosi rispetto al cablaggio USB.
I computer più vecchi utilizzavano una porta parallela, che aveva 8 linee dati ma poteva raggiungere solo una velocità dati di circa 2,5 MB / s. Confrontalo con i 60 MB / s di USB 2.0, per non parlare delle versioni più recenti di USB.
Mentre la risposta di Marcus è corretta al 100%, voglio aggiungere che USB 3.2 Gen 1x2 e Gen 2x2 utilizzano due corsie dati in ciascuna direzione mentre le corsie funzionano ancora a 5 Gbit / s risp.10 Gbit / s ciascuno.
USB non ha linee Rx & Tx.Ha una coppia di linee differenziali, simile a RS485, con i dati del segnale di clock & codificati insieme.Il mittente invia i dati in un modo utilizzando entrambi i cavi e il destinatario invia i dati in un altro modo utilizzando entrambe le linee.
Altrimenti, sì, un bus parallelo di segnali può essere molto veloce.Ideale per brevi distanze per i motivi già menzionati.
Esempio di trasferimento dati USB:
Come sottolineato in altre risposte,
Storicamente, quando è stato progettato l'USB, il trasferimento dei dati ad alta velocità non era l'obiettivo principale. L'obiettivo principale era creare un sistema bus universale ed economico per il collegamento di periferiche come tastiere, mouse e stampanti. Un progetto parallelo sarebbe stata una cattiva scelta; avrebbe rovinato la rivoluzionaria piccola dimensione del connettore e probabilmente aumentato il costo dell'USB abbastanza da impedirne un adattamento diffuso.