SATA-harddiskforbindelser er hurtigere end ældre PATA-harddiskforbindelser, og det samme kan siges om eksterne kablestandarder, men dette er kontraintuitivt: hvorfor ville den parallelle transmission ikke være hurtigere?
Dagens spørgsmål og svar-session kommer til os med tilladelse fra SuperUser - en underinddeling af Stack Exchange, en community-driven gruppe af Q&A websteder.
Spørgsmålet
SuperUser-læser Modest er nysgerrig efter dataoverførselshastighederne for parallelle og serielle forbindelser:
Intuitivt ville du tro, at parallel datatransmission skulle være hurtigere end seriel datatransmission; parallelt overfører du mange bits på samme tid, mens du i serie laver en bit ad gangen.
Så hvad gør SATA-grænseflader hurtigere end PATA, PCI-e-enheder hurtigere end PCI og serielle porte hurtigere end parallelle?
Selvom det er let at falde ind i ræsonnementet om, at SATA er nyere end PATA, skal der være en mere konkret mekanisme på arbejdspladsen end bare alder.
Svaret
SuperUser-bidragyder Mpy giver et indblik i transmissionstypenes art:
Du kan ikke formulere det på denne måde.
Seriel transmission er langsommere end parallel transmission givet samme signalfrekvens . Med en parallel transmission kan du overføre et ord pr. Cyklus (f.eks. 1 byte = 8 bit), men med en seriel transmission kun en brøkdel af det (f.eks. 1 bit).
Årsagen til, at moderne enheder bruger seriel transmission, er følgende:
- Du kan ikke øge signalfrekvensen for en parallel transmission uden begrænsning, fordi alle signaler fra senderen ifølge design skal ankomme til modtageren kl. den samme tid . Dette kan ikke garanteres ved høje frekvenser, da du ikke kan garantere, at signal transittid er lig for alle signallinjer (tænk på forskellige stier på bundkortet). Jo højere frekvens, jo mere små forskelle betyder noget. Derfor skal modtageren vente, indtil alle signallinjer er afgjort - ventet sænker naturligvis overførselshastigheden.
- Et andet godt punkt (fra dette indlæg ) er, at man skal overveje krydstale med parallelle signallinjer. Jo højere frekvens, jo mere udtalt krydstale bliver, og med det jo større er sandsynligheden for et ødelagt ord og behovet for at videresende det. [1]
Så selvom du overfører færre data pr. Cyklus med en seriel transmission, kan du gå til meget højere frekvenser, hvilket resulterer i en højere nettoverførselshastighed.
[1] Dette forklarer også hvorfor UDMA-kabler (Parallel ATA med øget overførselshastighed) havde dobbelt så mange ledninger som stifter. Hver anden ledning blev jordforbundet for at reducere krydstale.
Scott Chamberlain gentager Myps svar og udvider designøkonomien:
Problemet er synkronisering.
Når du sender parallelt, skal du måle alle linjerne i nøjagtigt det samme øjeblik, da du går hurtigere, bliver størrelsen på vinduet i det øjeblik mindre og mindre, til sidst kan det blive så lille, at nogle af ledningerne stadig kan stabilisere sig mens andre er færdige, før du løber tør for tid.
Ved at sende seriel, behøver du ikke længere bekymre dig om, at alle linjerne stabiliserer sig, kun en linje. Og det er mere omkostningseffektivt at få en linje til at stabilisere sig 10 gange hurtigere end at tilføje 10 linjer med samme hastighed.
Nogle ting som PCI Express gør det bedste fra begge verdener, de gør et parallelt sæt serielle forbindelser (16x-porten på dit bundkort har 16 serielle forbindelser). Ved at gøre det behøver hver linje ikke at være i perfekt synkronisering med de andre linjer, så længe controlleren i den anden ende kan omarrangere "pakkerne" med data, når de kommer ind i den rigtige rækkefølge.
Det Sådan fungerer ting til PCI-Express gør en meget god uddybning af, hvordan PCI Express i serie kan være hurtigere end PCI eller PCI-X parallelt.
TL; DR-version: Det er lettere at få en enkelt forbindelse til at gå 16 gange hurtigere end 8 forbindelser gå 2 gange hurtigere, når du kommer til meget høje frekvenser.
Har du noget at tilføje til forklaringen? Lyder i kommentarerne. Vil du læse flere svar fra andre teknisk kyndige Stack Exchange-brugere? Tjek den fulde diskussionstråd her .