Thunderbolt: jedno złącze wiele nieporozumień
Początkowo wpis miał mieć tytuł „Thunderbolt hit czy kit” ale to byłoby kolejne nieporozumienie, a nieporozumień chcę właśnie uniknąć. Thunderbolt ma pecha… największym pechem Thunderbolt jest to, że ma małą wtyczkę i łączone jest „kabelkiem” jak (nie przymierzając) USB.
USB, FireWire, eSATA…
I właśnie porównania do USB czy FireWire są przyczyną największych nieporozumień choć trudno się tych porównań ustrzec. W końcu Thunderbolt i ww. porty działają na podobnej zasadzie (to porty szeregowe), a porównanie prędkości najłatwiej trafia do typowego nieobytego w temacie użytkownika. I nie ma znaczenia to, że Thunderbolt wypada na razie w takim porównaniu bardzo dobrze.
W tych porównaniach najbardziej krzywdzące jest utwierdzanie użytkownika w przekonaniu, że Thunderbolt jest kolejnym kablem do podłączania dysków drukarek, skanerów lub podobnych peryferiów. Otóż jest, ale nie tylko! Wyjaśnię to niżej.
USB czy FireWire były wymyślone specjalnie do łączenia peryferiów i jak najsprawniejszej transmisji do i z nich danych według przyjętych przez projektantów interfejsu założeń. Z jednej strony jest (w komputerze) kontroler podłączony do magistrali komputera (zwykle którejś z odmian PCI) z drugiej „mostek”, który sygnały USB przerobi np. na SATA dla dysku czy bezpośrednio prześle dane z i do układów drukarki, skanera, iPhona, mikrofonu. Czyli od kontrolera do mostka czy drukarki przechodzą dane specjalnie przygotowane dla urządzenia do jakiego mają trafić. Wiąże się to z tym, że nawet dysk SATA podpięty przez USB lub FireWire wymaga w systemie specjalnego sterownika. Teraz już praktycznie każdy system ma takie sterowniki, ale za czasów np. Windows 95 nawet aby użyć Pendrive na USB trzeba było najpierw zainstalować „driver” USB z dyskietki.
W Thunderbolt jest inaczej.
Praktycznie każdy komputer czy taki „normalny” jak na naszych biurkach lub kolanach, czy wbudowany jak w np. dyskach sieciowych, ma magistralę PCI. Obecnie najczęściej PCIe. Bo to za pomocą tej magistrali procesor (czy to Intela czy innych architektur) komunikuje się z większością pozostałych układów. Mogą to być karty graficzne, kontrolery dysków, karty sieciowe, karty WiFi, karty dźwiękowe, kontrolery USB czy FireWire, specjalne karty do kompresji wideo czy podłączania kamer. Obecnie nawet pamięci masowe SSD podłączane są prosto pod tą magistralę. Tak jest np. w najnowszych MacBookach i Mac Pro.
Jak to się ma do Thunderbolt? Tak jak na obrazku [zaczerpniętym z Wikipedii](http://en.wikipedia.org/wiki/Thunderbolt_(interface%29)
Oraz prościej na obrazku zaczerpniętym z dokumentacji Intela.
Czyli jak widać kablem Thunderbolt przechodzą takie same dane (odpowiednio „przygotowane” przez kontrolery z obu końców kabli) jak przez PCIe! Złącze Thunderbolt jest tak naprawdę wyprowadzeniem jednej z najważniejszych w komputerze magistrali, na zewnątrz.
Thunderbolt czyli uwolnione PCIe
Co to daje? Ano między innymi to, że na końcu Thunderbolt (w obudowie z kontrolerem Thunderbolt <=> PCIe) możemy podpiąć karty takie same jakie wkłada się do komputerów stacjonarnych. Karty podpinane w ten sposób przez system są widziane tak jakby były wsadzone do środka komputera. Nie wymagają żadnych dodatkowych sterowników (poza tymi co to ew. są potrzebne do ich pracy jak są używane normalnie w środku komputera). Tego się nie da zrobić za pomocą USB czy FireWire! Te złącza powstały do bardziej ograniczonych zastosowań.
Przykład: Taki „kabel” Thunderbolt => FireWire jaki Apple sprzedaje za 129 zł, zawiera w środku dwa układy: kontroler Thunderbolt=>PCIe (Intel DSL2210) i popularny kontroler PCIe => FireWire (LSI LFW643E2). System taki port FireWire na Thunderbolt obsługuje jak kartę FireWire na PCIe. Podobnie jest zrobiony „kabel” Thunderbolt => GigabitEthernet czy dyski twarde. Mają kontroler Thunderbolt => PCIe i odpowiedni układ z PCIe na to co trzeba.
Na wyżej pokazanych rysunkach widać, że Thunderbolt poza transmisją danych PCIe potrafi jednocześnie przesyłać dane do monitorów cyfrowych zgodnych z DisplayPort. To też duża zaleta.
Teraz już wiecie, że Apple „nie opowiadał bajek” mówiąc o tym, że nowy Mac Pro będzie najbardziej rozbudowywalnym Maczkiem jaki powstał. Zawdzięcza to swoim 6 złączom Thunderbolt 2 do których można łącznie podłączyć 36 urządzeń (po 6 do każdego złącza).
Hit czy kit?
Ostatnio się słyszy opinie, że Thunderbolt to niewypał bo „nie ma (tanich) dysków” z tym złączem. Znajomy Zdzisław (któremu dziękuję za natchnienie do tego wpisu) pożalił mi się, że na USB 3.0 można kupić dysk 3TB (Seagate) za ~400 zł, a dyski na Thunderbolt potrafią kosztować dwa razy tyle (LaCie). Tylko po co nam „zwykłe” dyski na Thunderbolt? Osiągają one maksymalnie do ~180 MB/s. Tyle spokojnie wyciąga USB 3.0. Ba! Nawet pojedynczy dysk SSD nie potrafi „zapchać” USB ani oczywiście TB.
Oto dowód: Test stacji dokującej Unitek Y-4031
Dla interfejsu Thunderbolt są przeznaczone ciekawsze zadania np. dyski RAID wsparte przez SSD: DataTale RS-M4T/C Thunderbolt system Raid 4xHDD osiągające prawie 700 MB/s, a są rozwiązania zapewniające już teraz transfer ponad 1 GB/s. I nie jest ważna tu tylko prędkość transferu, a również miejsce gdzie Thunderbolt „jest wpięte” w trzewiach komputera. Jest wpięte blisko serca… ups. procesora ;-)
Kontynuując wątek cen. Ceny urządzeń Thunderbolt już pomału zaczynają tanieć. Kontroler Thunderbolt na PCIe kosztuje u Intela kilka dolarów! Popatrzmy na ceny adapterów Thunderbolt robionych i sprzedawanych przez Apple. 129 zł z VAT za GigabitEtherent w porównaniu z 100 zł za „Tajwańczyka” Unitek Y-3461 to nie jest drogo. Osobiście wolę te ~30 dopłacić i mieć port GigabitEthernet o parametrach i sposobie pracy (PCIe) tak jak by był on na płycie komputera.
Teraz urządzenia z Thunderbolt kupują głównie profesjonaliści. Mogą oni używać np. wydajnych kart do montażu wideo czy dźwięku z MacBookiem Pro. Tak samo mogą podłączyć MacBooka czy iMaca z macierzą dyskową o zawrotnej wydajności i pojemności potrzebnej do montażu wideo bez kompresji. Ale niebawem to się zmieni. Już można nabyć za przystępną cenę stacje dokujące np. ww. Unitek Y-4031
Ciut „techniki”
Jeżeli dotrwaliście do tego miejsca na koniec kilka szczegółów technicznych z działania Thunderbolt.
Jak już pisałem jest to rozwiązanie pozwalające magistralę PCIe wyprowadzić na zewnątrz komputera. Thunderbolt 1 ma wydajność maksymalnie po 10 Gbit/s (~1,20 GB/s) w obie strony. Logicznie transfer danych odbywa się za pomocą do 4–ścieżek po 10 Gbit/s, dwie transmitują (jednocześnie) dane „od” i dwie „do” komputera. Ścieżki są całkowicie niezależne i mogą transmitować albo dane DisplayPort do monitora albo dane PCIe co ogranicza łączną przepustowość dla peryferiów do 10 Gbit/s (tyle co jedna ścieżka).
Thunderbolt 2
Thunderbolt 2, który zastosowano w Mac Pro, iMac, Mac mini czy MacBoo Pro jest w warstwie fizycznej (złącza i kable) identyczne z Thunderbolt 1.
Thunderbolt 2 obrazek ze strony Intel'a
W użyciu pozostaną te same kable, zachowuje też wsteczną zgodność z urządzeniami Thunderbolt 1. Swoją dwukrotnie większą maksymalną przepustowość uzyskuje przy użyciu tych samych ścieżek. Dzięki możliwość ich logicznego łączenia parami pozwala na osiągnięcie 20 Gbit/s w obie strony (dane PCIe dla peryferiów albo DisplayPort do monitorów rozdzielczości 4k). Nadal kontroler Thunderbolt jest podłączany wewnątrz komputera do magistrali PCIe x4 (4-ścieżki) i zgodny z PCI Express 2.0 oraz DisplayPort 1.2. Trzeba zaznaczyć, że Thunderbolt 1 ma taką samą łączną przepustowość ale rozbitą na dwa kanały bez możliwości ich logicznego łączenia.
Przyszłość
Na drugą połowę bieżącego roku (2015) Intel zapowiada wprowadzenie Thunderbolt 3. Będzie on dwukrotnie szybszy od Thunderbolt 2 czyli osiągnie 40 Gb/s w obie strony jednocześnie. Uzyska zgodność z protokołem PCIe 3.0 i HDMI 2.0. Zwiększona znacznie zostanie też moc zasilania jakie będzie mogło być dostarczane do peryferiów. Wyniesie ona aż 100 W! Wraz z tymi zmianami nastąpi zmniejszenie (pewnie wymuszone przez Apple i ich pęd do „odchudzania”) gniazdek. Na szczęście już teraz zapowiedziano specjalne przejściówki zapewniające zgodność ze starymi urządzeniami czyli nie będziemy musieli się pozbywać posiadanych urządzeń Thunderbolt.
Ciekawostki i zagrożenia
Na koniec należy wspomnieć o zagrożeniach. Tak Thunderbolt jako protokół i interfejs zapewniający dostęp bezpośrednio do magistrali PCIe zapewnia również dostęp do pamięci komputera (z pominięciem procesora). Na szczęście w systemie OS X zaimplementowano warstwę ochronną przed tymi atakami. Dodatkowo pozwala ona na podłączanie urządzeń Thunderbolt „na gorąco” czyli bez konieczności wyłączania komputera. Na razie nie jest to możliwe pod kontrolą Windows (nie ma ochrony ani nie można podłącza „na gorąco). Niestety na użytkowników Macintoshy czyha inne niebezpieczeństwo. Jest nim możliwość stosowania przez peryferia Thunderbolt własnych procedur bootowania (uruchamiania) dołączanych pod systemowy „ROM” czyli EFI. Pozwala to na przeprowadzenie ataków za pomocą „przeprogramowanych” peryferiów, które mogą dopisać coś do EFI. Nie pomoże wtedy nawet reinstalacja systemu. Jedyne wyjście to wyczyszczenie EFI i wgranie „czystego” ale wymaga to specjalnych narzędzi. Czyli wystrzegajmy się podłączania nieznanych peryferiów do komputera. Nienawistnicy Apple nie powinni się specjalnie cieszyć, bo bardzo podobne ataki na Windowsa można przeprowadzić za pomocą USB, ExpressCard czy eSATA.
Z ostatniej chwili! Apple wraz z aktualizacją OS X Yosemite do 10.10.2 zabezpieczy nasze Macintoshe przed atakiem na EFI za pomocą Thunderbolt. Więcej informacji znajdziecie tu: 'Thunderstrike' attack also fixed in OS X 10.10.2
I tym optymistycznym akcentem kończę, mając (nikłe) nadzieję, że w MacBook Air 12" jednak zamiast USB Type-C zastosowany będzie jakiś inny wynalazek zgodny z Thunderbolt ;-)