SATA-harddiskforbindelser er raskere enn eldre PATA-harddiskforbindelser, og det samme kan sies for eksterne kablestandarder, men dette er kontraintuitivt: hvorfor skulle ikke parallelloverføringen være raskere?
Dagens spørsmål og svar-økt kommer til oss med tillatelse fra SuperUser - en underavdeling av Stack Exchange, en samfunnsdrevet gruppe av spørsmål og svar-nettsteder.
Spørsmålet
SuperUser reader Modest er nysgjerrig på dataoverføringshastighetene for parallelle og serielle tilkoblinger:
Intuitivt vil du tro at parallell dataoverføring skal være raskere enn seriell dataoverføring; parallelt overfører du mange biter samtidig, mens du i serie gjør en bit av gangen.
Så hva gjør SATA-grensesnitt raskere enn PATA, PCI-e-enheter raskere enn PCI og serielle porter raskere enn parallelle?
Selv om det er lett å falle inn i resonnementet om at SATA er nyere enn PATA, må det være en mer konkret mekanisme på jobben enn bare alder.
Svaret
SuperUser-bidragsyter Mpy gir litt innsikt i typen overføringstyper:
Du kan ikke formulere det på denne måten.
Seriell overføring er tregere enn parallell overføring gitt samme signalfrekvens . Med en parallell overføring kan du overføre ett ord per syklus (f.eks. 1 byte = 8 bits), men med en serieoverføring bare en brøkdel av det (f.eks. 1 bit).
Årsaken til at moderne enheter bruker seriell overføring, er følgende:
- Du kan ikke øke signalfrekvensen for en parallell overføring uten begrensning, fordi alle signaler fra senderen ifølge design må ankomme mottakeren kl. samme tid . Dette kan ikke garanteres for høye frekvenser, da du ikke kan garantere at signal transittid er lik for alle signallinjer (tenk på forskjellige baner på hovedkortet). Jo høyere frekvens, jo mer små forskjeller betyr noe. Derfor må mottakeren vente til alle signallinjer er avgjort - ventet senker overføringshastigheten.
- Et annet godt poeng (fra denne posten ) er at man må vurdere overhør med parallelle signallinjer. Jo høyere frekvens, jo mer uttalt overhør blir og med det jo større sannsynlighet for et ødelagt ord og behovet for å overføre det på nytt. [1]
Så selv om du overfører mindre data per syklus med en seriell overføring, kan du gå til mye høyere frekvenser, noe som resulterer i en høyere nettoverføringshastighet.
[1] Dette forklarer også hvorfor UDMA-kabler (Parallell ATA med økt overføringshastighet) hadde dobbelt så mange ledninger som pinner. Annenhver ledning ble jordet for å redusere overhør.
Scott Chamberlain gir ekko til Myps svar og utvider designøkonomien:
Problemet er synkronisering.
Når du sender parallelt, må du måle alle linjene i nøyaktig samme øyeblikk, ettersom du går raskere blir størrelsen på vinduet for det øyeblikket mindre og mindre, til slutt kan det bli så lite at noen av ledningene fortsatt kan stabilisere seg mens andre er ferdige før du gikk tom for tid.
Ved å sende inn seriell trenger du ikke lenger å bekymre deg for at alle linjene skal stabilisere seg, bare en linje. Og det er mer kostnadseffektivt å få en linje til å stabilisere seg 10 ganger raskere enn å legge til 10 linjer i samme hastighet.
Noen ting som PCI Express gjør det beste fra begge verdener, de gjør et parallelt sett med serielle tilkoblinger (16x-porten på hovedkortet har 16 serielle tilkoblinger). Ved å gjøre at hver linje ikke trenger å være i perfekt synkronisering med de andre linjene, så lenge kontrolleren i den andre enden kan omorganisere "pakkene" med data når de kommer inn i riktig rekkefølge.
De Hvordan ting fungerer siden for PCI-Express gjør en veldig god forklaring i dybden på hvordan PCI Express i serie kan være raskere enn PCI eller PCI-X parallelt.
TL; DR-versjon: Det er lettere å få en enkelt tilkobling til å gå 16 ganger raskere enn åtte forbindelser å gå to ganger raskere når du kommer til veldig høye frekvenser.
Har du noe å legge til forklaringen? Hør av i kommentarene. Vil du lese flere svar fra andre teknologikyndige Stack Exchange-brukere? Sjekk ut hele diskusjonstråden her .