If-Koubou

Dlaczego szeregowa transmisja danych jest szybsza niż równoległa transmisja danych?

Dlaczego szeregowa transmisja danych jest szybsza niż równoległa transmisja danych? (Jak)

Połączenia SATA z dyskiem twardym są szybsze niż starsze połączenia z dyskami twardymi PATA i tak 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, społecznościowego forum 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ż urządzenia PATA, PCI-e szybsze niż PCI, a 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 jestwolniej niż transmisja równoległa ze względu nataka 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 przyo tym samym czasie. Nie można tego zagwarantować dla wysokich częstotliwości, ponieważ nie można zagwarantować, żeczas 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. W związku z tym odbiornik musi poczekać, aż wszystkie linie sygnałowe zostaną ustalone - oczywiście oczekiwanie obniża szybkość transmisji.
  • Kolejnym dobrym punktem (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 przenosisz mniej danych na cykl za pomocą 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, aby zmniejszyć przesłuch.

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ż zwiększasz rozmiar okna, ponieważ ta chwila staje się coraz mniejsza, w końcu może stać się tak mała, ż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 o tej samej prędkości.

Niektóre rzeczy, takie jak 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). Dzięki temu każda linia nie musi być idealnie zsynchronizowana z pozostałymi liniami, tak długo, jak kontroler na drugim końcu może zmienić kolejność "pakietów" danych, kiedy przychodzą one 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.