Patrząc na SATA, PCIe, USB, SD UHS-II, uderzyło mnie, że wszystkie są takie same: cyfrowy szeregowy strumień bitów, przesyłany za pomocą par różnicowych (zwykle kodowanych 8b / 10b), z pewnymi różnicami w warstwach łącza / protokołu.
Dlaczego tak? Dlaczego stało się to standardem?
Dlaczego nie ma szeroko rozpowszechnionych protokołów komunikacji systemowej, które mocno wykorzystują niektóre zaawansowane metody modulacji w celu uzyskania lepszej szybkości transmisji symboli? Czy coś brakuje? To nie jest kwestia „szeregowej kontra równoległej”, ale kwestia „cyfrowej sygnalizacji vs modulowanego analogu”
digital-communications
computer-architecture
artemonster
źródło
źródło
Odpowiedzi:
Jeśli podstawowe połączenie miedziane między dwoma punktami obsługuje cyfrową przepływność przekraczającą szybkość przesyłania danych potrzebną do przesłania przez „aplikację”, to po co zawracać sobie głowę czymkolwiek innym niż standardową różnicową szybką sygnalizacją?
Zastosowanie zaawansowanego schematu modulacji jest zwykle wykonywane, gdy „kanał” ma przepustowość znacznie bardziej ograniczoną niż miedź lub światłowód.
źródło
Istnieją dwa główne powody powstania serialu
1) Jest to możliwe. Niskokosztowe tranzystory są w stanie zarządzać przełączaniem GHz już od dekady, wystarczająco długo, aby można było z niego korzystać i stać się standardem.
2) Jest to konieczne. Jeśli chcesz przenieść dane o bardzo dużej prędkości na więcej niż kilka cali. Ta odległość zaczyna wykluczać połączenia mobo z kartami PCI i zdecydowanie wyklucza mobo na dysk twardy lub mobo / settopbox do wyświetlania połączeń.
Powodem tego jest przekrzywienie. Jeśli przesyłasz kilka równoległych sygnałów wzdłuż kabla, muszą one dotrzeć w niewielkiej części tego samego okresu zegarowego. To powoduje obniżenie częstotliwości taktowania, więc szerokość kabla musi wzrosnąć. Wraz ze wzrostem prędkości przesyłu danych staje się to coraz trudniejsze. Perspektywa zwiększenia stawki w przyszłości jest nieistniejąca, ATA o podwójnej lub poczwórnej szerokości czy ktoś?
Sposobem na zabicie skośnego demona jest przejście do szeregu. Jedna linia jest zawsze zsynchronizowana ze sobą, nie ma nic, co można by było przekrzywić. Linia przenosi dane, które są sam taktowane. Oznacza to, że stosuje schemat kodowania danych (często 8b / 10b, czasem znacznie wyższy), który zapewnia minimalną gwarantowaną gęstość przejścia, która umożliwia ekstrakcję zegara.
Perspektywa zwiększenia szybkości przesyłania danych lub odległości w przyszłości jest doskonała. Każda generacja przynosi szybsze tranzystory i więcej doświadczenia w tworzeniu mediium. Widzieliśmy, jak to się grało z SATA, która zaczęła się od 1,5 Gb / s, a następnie przeszła przez 3 i teraz ma 6 Gb / s. Nawet tanie kable mogą zapewnić wystarczająco spójną impedancję i rozsądną stratę, a korektory wbudowane są w krzem interfejsu, aby poradzić sobie z utratą zależną od częstotliwości. Światłowód jest dostępny dla bardzo długich serii.
W przypadku wyższych szybkości transmisji danych kilka łączy szeregowych może być obsługiwanych równolegle. To nie jest to samo, co układanie przewodów równolegle, które muszą być dopasowane w czasie do mniej niż cyklu zegarowego. Te linie szeregowe muszą być tylko dopasowane do ramki danych wysokiego poziomu, która może mieć długość µs lub nawet ms.
Oczywiście przewaga w szerokości danych dotyczy nie tylko kabli i złączy. Szeregowy ma również zalety w obszarze płytki drukowanej między złączami a układem, pinoucie chipa i obszarze krzemowym chipa.
Mam do tego osobisty punkt widzenia. Jako projektant pracujący nad oprogramowaniem zdefiniowanym w radiu (SDR) od lat 90., szydziłem z ludźmi takimi jak Analog Devices i Xilinx (i wszystkimi innymi firmami ADC i FPGA) (odwiedzali nas od czasu do czasu i pytali) o zmuszając mnie do uruchomienia tak wielu równoległych połączeń różnicowych między ADC o częstotliwości 100 MHz i FPGA, kiedy dopiero zaczynaliśmy widzieć, jak SATA wypiera ATA. W końcu dostaliśmy JESD204x, więc teraz możemy podłączyć konwertery i układy FPGA za pomocą tylko kilku linii szeregowych.
źródło
Nb/(N+2)b
nomenklatura?Jeśli chcesz zobaczyć przykład czegoś, co jest szeroko stosowane, ale inne, spójrz na Gigabit Ethernet 1000BASE-T. Wykorzystuje kable równoległe i nieskrywalne kodowanie sygnału.
Najczęściej ludzie używają magistrali szeregowych, ponieważ są proste. Równoległe magistrale wykorzystują więcej kabli i cierpią na zniekształcenie sygnału przy dużych prędkościach transmisji danych przez długie kable.
źródło
Aby dodać do innych drobnych odpowiedzi:
Problemy odnotowane w innych odpowiedziach (zwłaszcza przesunięcie między równoległymi sygnałami i koszty dodatkowych przewodów w kablu) rosną wraz ze wzrostem odległości sygnałów. Tak więc istnieje odległość, w której szereg staje się lepszy od równoległej, i odległość ta maleje wraz ze wzrostem szybkości przesyłania danych.
Nadal odbywa się równoległy transfer danych: wewnątrz układów scalonych, a także większości sygnałów w obwodach drukowanych. Jednak odległości potrzebne zewnętrznym urządzeniom peryferyjnym - a nawet napędom wewnętrznym - są teraz zbyt duże i zbyt duże, aby interfejsy równoległe pozostały praktyczne. Zatem sygnały, na które będzie teraz narażony użytkownik końcowy, są w dużej mierze szeregowe.
źródło
Zaawansowane techniki modulacji wymagałyby nadawania i odbierania sygnałów analogowych. Przetworniki ADC i DAC pracujące z częstotliwością setek MHz są zwykle drogie i zużywają sporo energii. Przetwarzanie sygnału wymagane do dekodowania jest również kosztowne pod względem krzemu i mocy.
Po prostu taniej jest stworzyć lepszy środek komunikacji, który może obsługiwać sygnały binarne.
źródło
Korzystanie z łączy szeregowych ma tę zaletę, że zmniejsza fizyczny rozmiar połączenia. Nowoczesne architektury układów scalonych mają na sobie tak wiele styków, że stworzyło to silną potrzebę zminimalizowania fizycznych wymagań dotyczących ich wzajemnego połączenia. Doprowadziło to do opracowania obwodów działających przy ekstremalnych prędkościach na interfejsach tych obwodów przy użyciu protokołów szeregowych. Z tego samego powodu naturalne jest zminimalizowanie fizycznych wymagań dotyczących połączeń w innym miejscu w dowolnym innym łączu danych.
Pierwotne zapotrzebowanie na tego rodzaju technologię może mieć swoje źródło także w projektach transmisji danych światłowodowych.
Gdy technologia obsługująca łącza o dużej prędkości stała się bardzo popularna, było naturalne zastosowanie jej w wielu innych miejscach, ponieważ fizyczny rozmiar połączeń szeregowych jest znacznie mniejszy niż połączenia równoległe.
Na poziomie kodowania schematy kodowania komunikacji cyfrowej mogą być tak proste, jak NRZ (Non-Return to Zero) , nieco bardziej skomplikowany kod linii (np. 8B / 10B) lub znacznie bardziej skomplikowany, jak QAM (kwadraturowa modulacja amplitudy) .
Złożoność zwiększa koszty, ale wybory zależą także od czynników, które ostatecznie opierają się na teorii informacji i limitach przepustowości łącza. Prawo Shannona, z twierdzenia Shannona-Hartleya, opisuje maksymalną pojemność kanału (pomyśl o tym jako o „połączeniu” lub „łączu”):
W przypadku łączy radiowych (coś w rodzaju LTE lub WiFi) przepustowość będzie ograniczona, często na podstawie przepisów prawnych. W takich przypadkach można zastosować QAM i podobnie złożone protokoły, aby uzyskać najwyższą możliwą szybkość transmisji danych. W takich przypadkach stosunek sygnału do szumu jest często dość niski (od 10 do 100 lub w decybelach od 10 do 20 dB). Może wzrosnąć tak wysoko, zanim zostanie osiągnięta górna granica przy danej szerokości pasma i stosunku sygnału do szumu.
W przypadku łącza przewodowego przepustowość nie jest regulowana przez nic oprócz praktycznej implementacji. Łącza drutowe mogą mieć bardzo wysoki stosunek sygnału do szumu, większy niż 1000 (30 dB). Jak wspomniano w innych odpowiedziach, szerokość pasma jest ograniczona przez konstrukcję tranzystorów napędzających drut i odbierających sygnał oraz w konstrukcji samego drutu (linii transmisyjnej).
Kiedy przepustowość staje się czynnikiem ograniczającym, ale stosunek sygnału do szumu nie jest, projektant znajduje inne sposoby na zwiększenie szybkości przesyłania danych. Staje się decyzją ekonomiczną, czy przejść do bardziej złożonego schematu kodowania, czy przejść do bardziej drutu:
Rzeczywiście zobaczysz protokoły szeregowe / równoległe używane, gdy pojedynczy drut jest nadal zbyt wolny. PCI-Express robi to, aby przezwyciężyć ograniczenia przepustowości sprzętu za pomocą wielu linii.
W transmisjach światłowodowych nie muszą dodawać więcej włókien (chociaż mogą użyć innych, jeśli są już na miejscu i nie są używane). Może korzystać z multipleksowania z podziałem fal . Zasadniczo odbywa się to w celu zapewnienia wielu niezależnych równoległych kanałów, a kwestia pochylenia wspomniana w innych odpowiedziach nie dotyczy kanałów niezależnych.
źródło
Weź cztery półciężarówki z ładunkiem. Cztery pasy z każdej strony autostrady. Aby ciężarówki z powodzeniem przewoziły ładunek równolegle, muszą być idealnie ustawione obok siebie, nie można wyprzedzać ani wyprzedzać innych o więcej niż jeden cal. Wzgórza, zakręty, nie ma znaczenia. Zmieniaj zbyt wiele, a to totalna porażka.
Ale niech poprowadzą jeden pas, a odległość między nimi może się różnić. Chociaż prawdą jest, że liniowo zajmuje on czterokrotnie większą odległość od przodu pierwszej ciężarówki do tyłu ostatniej, aby przenieść ładunki, ale nie muszą być idealnie rozmieszczone. Prawie na długość jednej ciężarówki musi mieć kabinę i ładunek oraz długość ładunku, aby być odpowiednio ustawione i rozmieszczone.
Idą nawet tak daleko, że są równoległe, pcie, sieciowe itp., Ale chociaż są to technicznie liczne osobne ścieżki danych, nie są one równoległe, ponieważ muszą opuścić i przybyć w tym samym czasie, używając analogii ciężarówki czterech ciężarówek mogą jeździć na czterech pasach z grubsza równolegle, ale mogą się różnić, ciężarówki są oznaczone tym, na którym to pasie się znaleźli, dzięki czemu po dotarciu na drugi koniec ładunki można połączyć z powrotem w oryginalny zestaw danych. I / lub każdy pas może być jednym zestawem danych szeregowo, a mając więcej pasów, możesz przenosić więcej zestawów danych jednocześnie.
źródło
Jako dodatek do komentarza Dmitrija Grigoryeva .
Transmisja analogowa jest zawsze bardziej podatna na błędy niż transmisja cyfrowa. Na przykład cyfrowa transmisja szeregowa ma taktowane boki, w których sygnał analogowy w jakiś sposób płynie między 0 V a VDD. Dlatego zakłócenia są znacznie trudniejsze do wykrycia. Można to wziąć pod uwagę i zastosować sygnalizację różnicową, jak to zrobiono w Audio.
Ale potem natrafisz na tę szybkość vs. dokładność handlu przetworników D / A / ADC. Jeśli musisz rozmawiać ze sobą w systemach cyfrowych, sensowniejsze jest zastosowanie transmisji cyfrowej, ponieważ nie potrzebujesz czasu na tłumaczenie DA-AD.
Jednak jeśli masz komputer analogowy działający na analogowych napięciach sterujących, nadal jest kilka takich, które wyglądają jak analogowe syntezatory modułowe, zasadniczo są różne i zwykle możesz budować komputery analogowe tylko do określonych zadań. Zabawna prezentacja w języku niemieckim na temat informatyki analogowej.
Mówiąc o analogowych syntezatorach modułowych, są także pewnego rodzaju komputerami analogowymi, specjalnie zaprojektowanymi do wykonywania obliczeń na zmieniających się sygnałach.
Zatem w obliczeniach występuje transmisja analogowa, ale ograniczona do bardzo specyficznych dziedzin.
źródło