10Aug
SATA-hardeschijfverbindingen zijn sneller dan oudere PATA-harde schijfverbindingen en hetzelfde kan worden gezegd voor externe bekabelingsstandaarden, maar dit is contra-intuïtief: waarom zou de parallelle transmissie niet sneller zijn?
De vraag van vandaag &Antwoord sessie komt naar ons met dank aan SuperUser-een onderverdeling van Stack Exchange, een community-gestuurde groepering van Q & A-websites.
De vraag
SuperUser-lezer Modest is nieuwsgierig naar de gegevensoverdrachtsnelheden van parallelle en seriële verbindingen:
Intuïtief zou u denken dat parallelle gegevensoverdracht sneller moet zijn dan seriële gegevensoverdracht;parallel verplaats je veel bits tegelijkertijd, terwijl je in serie een bit tegelijk doet.
Dus wat maakt SATA-interfaces sneller dan PATA, PCI-e apparaten sneller dan PCI en seriële poorten sneller dan parallel?
Hoewel het gemakkelijk is in te gaan op de redenering dat SATA nieuwer is dan PATA, moet er een meer concreet mechanisme op het werk zijn dan alleen de leeftijd.
Het antwoord
SuperUser-bijdrager Mpy biedt enig inzicht in de aard van de overdrachtstypen:
U kunt het op deze manier niet formuleren.
Seriële verzending is langzamer dan parallelle transmissie gegeven de dezelfde signaalfrequentie . Met een parallelle verzending kunt u één woord per cyclus overbrengen( bijvoorbeeld 1 byte = 8 bits) maar met een seriële verzending slechts een fractie ervan( bijvoorbeeld 1 bit).
De reden waarom moderne apparaten gebruik maken van seriële verzending is de volgende:
- U kunt de signaalfrequentie voor een parallelle verzending niet onbeperkt verhogen, omdat alle signalen van de zender bij het ontwerp van de tegelijkertijd op de ontvanger moeten komen. Dit kan niet worden gegarandeerd voor hoge frequenties, omdat u niet kunt garanderen dat de -signaaltransporttijd gelijk is voor alle signaallijnen( denk aan verschillende paden op het moederbord).Hoe hoger de frequentie, hoe kleiner de verschillen. Vandaar dat de ontvanger moet wachten tot alle signaallijnen zijn afgewikkeld - uiteraard, wachtend verlaagt de overdrachtsnelheid.
- Een ander goed punt( uit deze post) is dat men crosstalk met parallelle signaallijnen moet overwegen. Hoe hoger de frequentie, des te meer uitgesproken overspraak en daarmee des te groter de kans op een beschadigd woord en de noodzaak om het opnieuw uit te zenden.[1]
Dus, zelfs als u minder gegevens per cyclus overdraagt met een seriële verzending, kunt u naar veel hogere frequenties gaan wat resulteert in een hogere netto overdrachtssnelheid.
[1] Dit verklaart ook waarom UDMA-kabels( parallelle ATA met verhoogde overdrachtssnelheid) tweemaal zoveel draden als pinnen had. Elke tweede draad was geaard om overspraak te verminderen.
Scott Chamberlain echoot het antwoord van Myp en breidt uit met de economische aspecten van ontwerp:
Het probleem is synchronisatie.
Wanneer u parallel verzendt, moet u alle lijnen op exact hetzelfde moment meten, naarmate u sneller gaat, wordt de grootte van het venster voor dat moment kleiner en kleiner, uiteindelijk kan het zo klein worden dat sommige draden nog steedsstabiliseren terwijl anderen klaar zijn voordat je tijd op was.
Door in serie te verzenden hoeft u zich geen zorgen meer te maken over het stabiliseren van alle regels, slechts één regel. En het is kostenefficiënter om een lijn 10 keer sneller te stabiliseren dan om 10 lijnen met dezelfde snelheid toe te voegen.
Sommige dingen zoals PCI Express doen het beste van beide werelden, ze doen een parallelle serie seriële verbindingen( de 16x poort op je moederbord heeft 16 seriële verbindingen).Op die manier hoeft elke lijn niet perfect synchroon te lopen met de andere lijnen, net zo lang als de controller aan de andere kant de "pakketten" van gegevens opnieuw kan ordenen wanneer ze binnenkomen met de juiste volgorde.
De pagina How Stuff Works voor PCI-Express geeft een zeer goede uitleg over de manier waarop PCI Express in serie sneller kan zijn dan PCI of PCI-X parallel.
TL; DR-versie: Het is gemakkelijker om een enkele verbinding 16 maal sneller te laten verlopen dan 8 verbindingen die 2 keer sneller worden zodra u tot zeer hoge frequenties komt.
Heeft u iets toe te voegen aan de uitleg? Geluid uit in de opmerkingen. Wilt u meer antwoorden van andere technisch onderlegde Stack Exchange-gebruikers lezen? Bekijk de volledige discussiethread hier.