Elektroda.pl
Elektroda.pl
X
Elektroda.pl
PCBway
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Co to jest za jednostka GT/s ?

ghost666 14 Cze 2019 15:21 1554 8
  • W wielu materiałach dotyczących na przykład interfejsu PCIe 5.0 czy układów wyposażonych w ten interkonekt pojawia się jednostka GT/s - gigatransfer na sekundę. Co ona tak na prawdę oznacza? Pojawiła się ona wraz z prezentacją standardu PCI Express (PCIe), opracowanego przez PCI-SIG (PCI Special Interest Group). Przy każdej kolejnej iteracji regularnie powtarzano np. o "podwojeniu prędkości transmisji z 16 GT/s do 32 GT/s" etc. Co oznacza jednak gigatransfer?

    Przyzwyczajeni jesteśmy do podawania transferów w gigabitach na sekundę (Gbps, Gb/s), dzięki temu łatwo wyobrazić sobie ile "zer i jedynek" przekazanych może być danym interfejsem w jednostce czasu. W przypadku PCIe sytuacja jest jednak inna z uwagi na zastosowane kodowanie danych. W PCI Express transmisje są szeregowe, a zegar jest wkomponowany w sam transfer danych. Aby odbiornik mógł z powodzeniem "odzyskać" sygnał zegarowy z strumienia danych, system kodujący zadbać musi, aby w danym pakiecie było odpowiednio dużo zboczy (przejść z 1 do 0 i z 0 do 1). Aby uzyskać zwiększoną liczbę przejść, w PCIe wykorzystuje się kodowanie 8b/10b - każde osiem bitów jest kodowane jako 10-bitowy symbol, który następnie jest dekodowany przez odbiornik z powrotem do 8 bitów. Oznacza to, że na każde osiem niekodowanych bitów potrzebne jest przesłanie 10 bitów. Spójrzmy na PCIe 1.1 - pojedynczy kanał tego interfejsu ma przepustowość 2,5 Gbps w każdą ze stron, więc łącznie 5 Gbps. Ponieważ szyna przesłać musi 10 bitów na każdy przesłany bajt danych, efektywna prędkość transmisji wynosi:

    5 Gbps * 8/10 = 4 Gbps

    16-kanałowy interkonekt PCIe 1.1 może przesłać zatem 80 Gbps zakodowanych lub 64 Gbps niezakodowanych danych. PCIe 2.0 podwoiło te parametry, dzięki czemu jeden kanał był w stanie przesłać 8 Gbps danych niekodowanych, a 16-kanałowy interkonekt PCIe 2.0 może przesłać do 128 Gbps niekodowanych danych, to 16 gigabajtów na sekundę. Gigatransfery odnoszą się zatem do ilości surowych danych, jakie są przesyłane przez interfejs. Aby z gigatransferów wyznaczyć realną efektywną przepustowość, uwzględnić trzeba jeszcze kodowanie danych.

    Uwzględnienie kodowania danych w przypadku dwóch pierwszych generacji PCI Express jest dosyć proste - kodowanie 8b/10b oznacza, że prędkość w GT/s mnożymy razy 0,8 by uzyskać efektywną przepustowość w Gbps. Od PCIe 3.0 stosuje się jednak kodowanie 128b/130b, oznacza to, że każde 128 bitów (16 bajtów) kodowanych jest w znaku, który ma 130 bitów. Zatem w przypadku standardów od wersji trzeciej, liczbę gigatransferów mnożymy razy 128/130 (≈0,985) aby uzyskać efektywną przepustowość interfejsu. Oznacza to, że interkonekt PCIe w wersji 5.0, który osiąga 32 GT/s w każdym z kierunków - łącznie 64 GT/s - ma przepustowość 64 * 128/130, czyli ok. 63 Gbps - nimalże 7,88 gigabajta na sekundę. Przy 16 kanałach interfejsu oznacza to możliwość przesłania tym interkonektem 126 gigabajtów danych w ciągu sekundy.

    Źródło: https://www.edn.com/electronics-news/4380071/What-does-GT-s-mean-anyway-

    Fajne! Ranking DIY
    Potrafisz napisać podobny artykuł? Wyślij do mnie a otrzymasz kartę SD 64GB.
    O autorze
    Fizyk z wykształcenia. Po zrobieniu doktoratu i dwóch latach pracy na uczelni, przeszedł do sektora prywatnego, gdzie zajmuje się projektowaniem urządzeń elektronicznych i programowaniem. Od 2003 roku na forum Elektroda.pl, od 2008 roku członek zespołu redakcyjnego.
    ghost666 napisał 9208 postów o ocenie 6753, pomógł 157 razy. Mieszka w mieście Warszawa. Jest z nami od 2003 roku.
  • PCBway
  • #2
    arturavs
    Poziom 41  
    Mnie zastanawia, dlaczego odchodzi się od transmisji równoległej? Przecież z definicji jest o wiele szybsza.
  • #3
    freebsd
    Poziom 35  
    Transmisja równoległa: kłopot w prowadzeniu wielu ścieżek, kłopot w zapewnieniu równej długości ścieżek, zakłócenia, przesłuchy.
  • PCBway
  • #4
    arturavs
    Poziom 41  
    freebsd napisał:
    kłopot w prowadzeniu wielu ścieżek, kłopot w zapewnieniu równej długości ścieżek, zakłócenia, przesłuchy.

    A w szeregowej te problemy nie występują?
  • #5
    DamianG
    Poziom 20  
    Owszem, występują, ale są łatwiejsze do opanowania. W przypadku np. dysków - łatwiej poprowadzić 7 przewodów / ścieżek przy SATA niż 40 przy ATA. Właśnie z powodu ww. problemów wprowadzone zostały 80 żyłowe taśmy do ATA. Co drugi przewód był masą. Pomogło... Na trochę.
  • #6
    freebsd
    Poziom 35  
    arturavs napisał:
    A w szeregowej te problemy nie występują?
    Występują, ale łatwiej poprowadzić cztery ścieżki i użyć wysokiej częstotliwości, niż prowadzić wiele ścieżek i próbować zapewnić wysoką częstotliwość (+ ich ekranowanie). Tak jest łatwiej i taniej. Przy czym dla transmisji stricte równoległej to jedno połączenie równoległe musiało by mieć zapewne wielokrotność ośmiu ścieżek (wiem: do tego sterowanie i możliwość wykorzystana kodowania). W skrócie piszę :-)
    Jest jeszcze jedna korzyść z przyjętego rozwiązania: skalowanie. Można wykorzystać jedno połączenie, a można więcej, jak urządzenie potrzebuje.
  • #7
    Bojleros
    Poziom 16  
    Dla pci-e możesz tak samo wolniejsze urządzenie wpakować w szybszy slot. Gdzieś tez mi się przewinęły płyty z fabrycznie naciętymi gniazdami. Powiedzmy ze gniazdo to pcie x 2 ale wsadzisz w nie urządzenie x4 godząc się ze spadkiem wydajności. Skalowalność + elastyczność.

    Nie jestem specjalistą od w.cz więc pozwolę sobie zapytać. Czy nie jest to tak że przy magistrali równoległej zjawiska falowe wymuszają długości ścieżek będące całkowitą wielokrotnością lub pod-wielokrotnością długości fali? Odbicia to jest jedno ale nie idzie też o czasy propagacji / opóźnienia grupowe? To mi tak wygląda że mając kilka magistral szeregowych rozpatrujesz każdą z osobna a nie wszystkie linie na raz ale pewny nie jestem.
  • #8
    tronics
    Poziom 37  
    DamianG napisał:
    Owszem, występują, ale są łatwiejsze do opanowania. W przypadku np. dysków - łatwiej poprowadzić 7 przewodów / ścieżek przy SATA niż 40 przy ATA. Właśnie z powodu ww. problemów wprowadzone zostały 80 żyłowe taśmy do ATA. Co drugi przewód był masą. Pomogło... Na trochę.

    Tam jest mniej niż 40 sygnałów, w tym 16 linii dla samych danych (reszta kontrolne i adresowe). W przypadku PCI-E 16x tych linii jest
    2 smbus
    5 jtag
    2 ref clock (1 para różnicowa)
    16 par dla Rx i drugie tyle dla Tx
    do tego 3 sygnały kontrolne. Czy to wygląda na mniej do opanowania? No nie. Ale... dzięki temu, że to LVDS to z jednej strony jest duża prędkość, z drugiej dobra odporność na zakłócenia. Czy można by zrobić równoległą magistralę z LVDS? Pewnie, że tak. Tylko jest to nieefektywne pod kątem elastyczności (skalowanie, "mutowalność"). Teraz procesor gada z pamięcią bezpośrednio, a z chipsetem i peryferiami przez dedykowane linie point to point - czy to Hyper Transport, czy QPI, czy DMI, czy PCIE. Zresztą procesory teraz nawet z peryferiami PCIE gadają bezpośrednio. Kiedyś tak nie było i normą było niemal bezpośrednie podpięcie wszystkich peryferiów pod przestrzeń adresową procesora (oczywiście udział w tym miały mostki - północny głównie do komunikacji z pamięcią, agp czy ewentualnie wbudowaną grafiką oraz południowy do peryferiów jak pci, ide czy usb. Hyper transport miał premierę przed opracowaniem PCIE. A ile jeszcze lat minęło zanim w świecie komputerowym te standardy całkowicie wyparły starsze rozwiązania.
    Teraz gdzie rozwiązania równoległe mają się nadal znakomicie i nic nie wskazuje by się to miało zmienić? Pamięci RAM.
    A przed PCI-E przykładem skalowalnej transmisji szeregowej mogłoby być SPI.
  • #9
    ghost666
    Tłumacz Redaktor
    tronics napisał:
    DamianG napisał:
    Owszem, występują, ale są łatwiejsze do opanowania. W przypadku np. dysków - łatwiej poprowadzić 7 przewodów / ścieżek przy SATA niż 40 przy ATA. Właśnie z powodu ww. problemów wprowadzone zostały 80 żyłowe taśmy do ATA. Co drugi przewód był masą. Pomogło... Na trochę.

    Tam jest mniej niż 40 sygnałów, w tym 16 linii dla samych danych (reszta kontrolne i adresowe). W przypadku PCI-E 16x tych linii jest
    2 smbus
    5 jtag
    2 ref clock (1 para różnicowa)
    16 par dla Rx i drugie tyle dla Tx
    do tego 3 sygnały kontrolne. Czy to wygląda na mniej do opanowania? No nie. Ale... dzięki temu, że to LVDS to z jednej strony jest duża prędkość, z drugiej dobra odporność na zakłócenia. Czy można by zrobić równoległą magistralę z LVDS? Pewnie, że tak. Tylko jest to nieefektywne pod kątem elastyczności (skalowanie, "mutowalność"). Teraz procesor gada z pamięcią bezpośrednio, a z chipsetem i peryferiami przez dedykowane linie point to point - czy to Hyper Transport, czy QPI, czy DMI, czy PCIE. Zresztą procesory teraz nawet z peryferiami PCIE gadają bezpośrednio. Kiedyś tak nie było i normą było niemal bezpośrednie podpięcie wszystkich peryferiów pod przestrzeń adresową procesora (oczywiście udział w tym miały mostki - północny głównie do komunikacji z pamięcią, agp czy ewentualnie wbudowaną grafiką oraz południowy do peryferiów jak pci, ide czy usb. Hyper transport miał premierę przed opracowaniem PCIE. A ile jeszcze lat minęło zanim w świecie komputerowym te standardy całkowicie wyparły starsze rozwiązania.
    Teraz gdzie rozwiązania równoległe mają się nadal znakomicie i nic nie wskazuje by się to miało zmienić? Pamięci RAM.
    A przed PCI-E przykładem skalowalnej transmisji szeregowej mogłoby być SPI.


    Tylko że z wymienionych linii ani SMBus, ani JTAG nie muszą iść kontrolowaną impedancją. Więc dla PCIe x1 masz 3 pary sygnałów o które musisz "zadbać" elektrycznie na PCB. I dzięki temu można je puścić nawet kablem poza komputer.

    A co do LVDS, to chyba SCSI miało iterację na LVDS.