Tech  / Artykuł

To nie pierwszy cud w wykonaniu Apple’a. Przesiadka na architekturę Intel x86 była równie karkołomna

Picture of the author

Apple trzeci raz w swojej historii i drugi raz w historii nowoczesnych komputerów Mac zmienia architekturę procesorów w pecetach. Porzucany dziś Intel miał być niegdyś dla firmy zbawieniem. A przesiadka była nie lada wysiłkiem ze strony jednych z najlepszych inżynierów w branży.

Plotki znalazły potwierdzenie w rzeczywistości. Apple porzuca architekturę x86 na rzecz architektury ARM – całkowicie, we wszystkich swoich produktach. Na dodatek będą to układy autorskiego projektu, a nie od któregoś ze sprzętowych partnerów. Wszystko wskazuje na to, że komputery Mac zaoferują nam kulturę pracy i jakość do tej pory nieosiągalną dla żadnego z producentów, w tym dla samego Apple’a. I choć wiele może pójść nie tak, jestem dobrej myśli.

Nie tylko dlatego, że Apple ma jednych z najlepszych inżynierów od mikroprocesorów na świecie. Przede wszystkim dlatego, że firma ma już w tym niezłe doświadczenie. Stosowane dziś układy Intel x86 przecież nie były od zawsze w komputerach Mac – wcześniej Apple używał procesorów PowerPC, a więc znów o zupełnie innej architekturze. Partnerem sprzętowym firmy Jobsa nie był więc Intel, a Freescale i IBM. Przesiadka na Intela to w miarę nowoczesna historia – Apple ogłosił zmianę na konferencji WWDC w 2005 r.

OS X Tiger

Co więcej, nie była to pierwsza przesiadka – choć ta poprzednia nie była aż tak skomplikowana. Pierwotnie komputery Apple’a korzystały z architektury Motorola 68000, jednak wówczas nie było zbyt wiele oprogramowania do przeniesienia na inny procesor. Dlatego to właśnie przesiadka na PowerPC jest z tak szczególnym podziwem wspominana.

Zwłaszcza że z punktu widzenia klientów nastąpiła błyskawicznie.

Apple przez wiele lat nie komunikował swoich planów przejścia na procesory Intela. Dopiero w 2005 r. Steve Jobs uroczyście ogłosił przesiadkę, która miała rozpocząć się w czerwcu 2006 r. i zakończyć pod koniec 2007 r. Na dodatek Apple’owi udało się wykonać plan nieco przed czasem – pierwsze Macintoshe z układami Intela i systemem OS X Tiger pojawiły się w sklepach już w styczniu 2006 r, a ostatnie linie produktowe otrzymały nowe procesory pod koniec tego samego roku.

Apple też był bardzo zdecydowany w swoich działaniach. Bardzo szybko pozbył się balastu, jakim byli klienci z Macami wykorzystującymi PowerPC. Wydany w 2009 r. OS X Snow Leopard zerwał zgodność z komputerami z PowerPC, a OS X Lion zerwał zgodność wsteczną z aplikacjami pisanymi dla starych procesorów.

Na dobrą sprawę pierwsza przygoda Maca z Intelem mała miejsce w pierwszej połowie lat dziewięćdziesiątych.

W 1992 r. Apple nawiązał współpracę z Novellem (tzw. projekt Star Trek), którego celem było przeniesienie systemu Mac OS 7 na procesory 486. Novell napisał całe środowisko uruchomieniowe dla systemu – bazowało ono na DR DOS i przypominało rozwiązanie 386 Enhanced Mode z Windowsa 3.1. Podobno działało to bardzo dobrze, ale projekt ostatecznie porzucono. Wyciągnięta z niego nauka ponoć została wykorzystana w systemie Novell DOS 7.

W latach 1994-1996 Apple z kolei przesiadał się z architektury 68k na PowerPC, ale nie wyglądało to zbyt elegancko. Cały proces trwał wiele lat, wykorzystywał wersję Mac OS-a z niskopoziomową emulacją starszej architektury, a twórcy aplikacji musieli pisać programy w formie fat binary, a więc zawierającymi osobne instrukcje dla różnych procesorów.

Mac OS 9

Istotna w tej całej historii była też przesiadka z Mac OS na OS X, która również trwała wiele lat i w ramach której do nowego systemu dołączane było środowisko uruchomieniowe Classic, które w zasadzie było instancją Mac OS-a 9 oraz multiplatformowe środowisko uruchomieniowe Carbon. OS X, o czym wówczas nie było jeszcze wiadomo, od samego początku, czyli od 2001 r. był kompilowany również w wersji na procesory Intela. Steve Jobs już wtedy wiedział, że porzucenie układów PowerPC było nieuchronne.

Dlaczego Apple zmienił procesory z PowerPC na Intel x86 w swoich komputerach osobistych?

Steve Jobs jako oficjalny powód podał rozczarowanie tempem rozwoju układów PowerPC i opieszałość IBM. Intel skusił współzałożyciela Apple’a ambitnymi planami na przyszłość, w których sprawność procesora jest równie istotna, co jego wydajność. Układy Intela miały zapewnić notebookom Apple’a znacznie dłuższy czas pracy na akumulatorze przy jednoczesnym zwiększaniu ich wydajności. Jobs przy tym prawdopodobnie nie mijał się z prawdą.

PowerPC G6

Dla przykładu, w czerwcu 2003 r., gdy na rynku debiutowały komputery Mac z PowerPC G5, Apple zgodnie ze swoją wiedzą na temat planów IBM-a, zapowiedział że w przeciągu roku pojawią się wersje tych pecetów z trzygigahercowymi procesorami. Rok później IBM nie tylko tych procesorów jeszcze nie miał, to na dodatek ich proces technologiczny nie był gotowy.

Przesiadka na ARM jest dziś mile widziana, z bardzo wielu względów. Wielu jednak uważa do dziś, że Steve Jobs pomylił się, ufając Intelowi.

Przesiadka na architekturę x86 otworzyło użytkownikom komputerów Mac wrota do zupełnie nowych rodzajów oprogramowania. Po raz pierwszy możliwe było uruchamianie programów pisanych na inne platformy nie przez kosztowną wydajnościowo emulację, a przez wirtualizację. Dzięki temu, poza natywnymi aplikacjami dla OS X, zawodowcy korzystający z Macintoshy mogli relatywnie wydajnie uruchamiać aplikacje Java/.NET, Win32/x86 i unixowe. Znacząco ułatwiło to też portowanie gier na OS X.

Wirtualizacja zamiast emulacji. Czyli Windows i Ubuntu wirtualizowane na Macu z układem x86

Intel jednak rozminął się swoimi wizjami przyszłości z rzeczywistością. Nowe generacje jego procesorów wcale nie zapewniały obiecanych osiągów. Co gorsza, pierwsi użytkownicy nowej platformy dostrzegali głównie jej wady. Większość oprogramowania nadal nie została przepisana na nowe procesory, a wbudowany emulator Rosetta pochłaniał od 20 do 40 proc. mocy obliczeniowej komputera – na dodatek obsługując wyłącznie aplikacje na OS X, a nie te na Mac OS-a.

Procesory Intela okazały się też gorsze pod względem wydajności. Problemy sprawiały kolejność bajtów (endianness) i ograniczona wydajność w przeliczeniach zmiennoprzecinkowych. Układy x86 pozbawione były rejestrów dostępnych w PowerPC, a także rozwiązania AltiVec, czyli zestawu instrukcji klasy SIMD dodatkowo korzystnie wpływających na wydajność tych układów.

Najważniejszy był jednak brak kontroli nad projektem procesora. Sercem każdego PC, nie tylko od Apple’a.

Warto zdać sobie sprawę z faktu, że jednym z najistotniejszych podmiotów odpowiedzialnych za projekt komputerów Mac nie jest Apple, a Intel. To producent procesora dyktuje warunki, a więc zapewnia podzespół zapewniający daną wydajność, zestaw instrukcji i rozszerzeń, wymagający konkretnej ilości energii i tracący jej równie konkretną ilość w formie koniecznego do odprowadzenia ciepła.

Rozwój wzornictwa i funkcjonalności MacBooków i macOS-a przez długie lata był zależny od kaprysów Intela. Przesiadka Apple’a z architektury x86 na ARM to jedno – dużo ważniejszy może okazać się inne ujęcie tego zagadnienia, a więc przesiadka z procesorów partnera na własne. Jakie napotkamy problemy po drodze? I jak konkretnie wpłynie to na możliwości i formę przyszłych pecetów od Apple’a? To będzie ciekawa podróż, nawet jeśli natrafimy po drodze na kilka wybojów.

przeczytaj następny tekst


przeczytaj następny tekst


przeczytaj następny tekst


przeczytaj następny tekst


przeczytaj następny tekst