Główna » jak » Dlaczego transmisja danych szeregowych przebiega szybciej niż równoległa transmisja danych?

    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.