Dlaczego transmisja danych szeregowych przebiega szybciej niż równoległa transmisja danych?
Połączenia z dyskami twardymi SATA są szybsze niż starsze połączenia z dyskami twardymi PATA i to samo można powiedzieć o zewnętrznych standardach okablowania, ale jest to sprzeczne z intuicją: dlaczego równoległa transmisja nie byłaby szybsza??
Dzisiejsza sesja pytań i odpowiedzi przychodzi do nas dzięki uprzejmości SuperUser - poddziału Stack Exchange, opartego na społecznościach grupowania witryn z pytaniami i odpowiedziami.
Pytanie
Czytnik SuperUser Modest jest ciekawy szybkości przesyłania danych połączeń równoległych i szeregowych:
Intuicyjnie można by pomyśleć, że równoległa transmisja danych powinna być szybsza niż szeregowa transmisja danych; równolegle przenosisz wiele bitów w tym samym czasie, podczas gdy w trybie szeregowym robisz jeden bit na raz.
Co sprawia, że interfejsy SATA są szybsze niż PATA, urządzenia PCI-e szybsze niż PCI i porty szeregowe szybsze niż równoległe?
Chociaż łatwo można przypuszczać, że SATA jest nowsza od PATA, musi istnieć bardziej konkretny mechanizm w działaniu niż wiek.
Odpowiedź
Uczestnik SuperUser Mpy oferuje wgląd w naturę rodzajów transmisji:
Nie możesz tego sformułować w ten sposób.
Transmisja szeregowa jest wolniej niż transmisja równoległa ze względu na taka sama częstotliwość sygnału. W przypadku transmisji równoległej można przesłać jedno słowo na cykl (na przykład 1 bajt = 8 bitów), ale z transmisją szeregową tylko część z nich (na przykład 1 bit).
Powodem, dla którego nowoczesne urządzenia korzystają z transmisji szeregowej, są:
- Nie można zwiększyć częstotliwości sygnału dla transmisji równoległej bez ograniczeń, ponieważ, zgodnie z projektem, wszystkie sygnały z nadajnika muszą dotrzeć do odbiornika w o tym samym czasie. Nie można tego zagwarantować dla wysokich częstotliwości, ponieważ nie można zagwarantować, że czas tranzytu sygnału jest równy dla wszystkich linii sygnałowych (pomyśl o różnych ścieżkach na płycie głównej). Im wyższa częstotliwość, tym mniejsze różnice. Dlatego odbiornik musi poczekać, aż wszystkie linie sygnałowe zostaną ustalone - oczywiście oczekiwanie obniża szybkość transferu.
- Kolejną dobrą rzeczą (z tego posta) jest to, że należy wziąć pod uwagę przesłuch z równoległymi liniami sygnałowymi. Im wyższa częstotliwość, tym wyraźniejszy jest przesłuch, a wraz z nim wyższe prawdopodobieństwo uszkodzenia słowa i potrzeba jego retransmisji. [1]
Tak więc, nawet jeśli transferujesz mniej danych na cykl przy transmisji szeregowej, możesz przejść do znacznie wyższych częstotliwości, co skutkuje wyższą szybkością transferu netto.
[1] Wyjaśnia to również, dlaczego kable UDMA (Parallel ATA ze zwiększoną szybkością przesyłania) miały dwa razy więcej przewodów niż szpilki. Co drugi przewód był uziemiony w celu zmniejszenia przesłuchu.
Scott Chamberlain powtarza odpowiedź Mypa i rozwija ekonomikę designu:
Problem polega na synchronizacji.
Kiedy wysyłasz równolegle, musisz zmierzyć wszystkie linie dokładnie w tym samym momencie, ponieważ poruszasz się szybciej, ponieważ rozmiar tego okna staje się coraz mniejszy, w końcu może być tak mały, że niektóre z drutów wciąż mogą się stabilizować. podczas gdy inne są zakończone, zanim zabrakło czasu.
Wysyłając szeregowy nie musisz już martwić się o wszystkie linie stabilizujące, tylko jedną linię. Bardziej opłacalne jest, aby jedna linia ustabilizowała się 10 razy szybciej niż 10 linii z tą samą prędkością.
Niektóre rzeczy, na przykład PCI Express, robią to, co najlepsze z obu światów, wykonują równoległy zestaw połączeń szeregowych (port 16x na płycie głównej ma 16 połączeń szeregowych). W ten sposób każda linia nie musi być idealnie zsynchronizowana z innymi liniami, tak długo, jak kontroler na drugim końcu może zmienić kolejność "pakietów" danych, gdy przychodzą w użyciu w prawidłowej kolejności.
Strona How Stuff Works dla PCI-Express bardzo dobrze wyjaśnia, jak PCI Express w szeregach może być szybszy niż PCI lub PCI-X równolegle.
Wersja TL; DR: Łatwiej jest zrobić jedno połączenie przejść 16 razy szybciej niż 8 połączeń przejść 2 razy szybciej po osiągnięciu bardzo wysokich częstotliwości.
Czy masz coś do dodania do wyjaśnienia? Dźwięk w komentarzach. Chcesz przeczytać więcej odpowiedzi od innych użytkowników Stack Exchange, którzy znają się na technologii? Sprawdź cały wątek dyskusji tutaj.