W oczekiwaniu na zmiany, czyli o Motoroli i PowerPC
Jeżeli czytaliście wpisy na moim blogu MacWyznawca na MyApple, to mogliście zauważyć moją szczerą niechęć do architektury Intela, dlatego mam nadzieję, że jedną ze zmian, jakie Apple wprowadzi lub choć zapowie (poza zastosowaniem gniazda USB-C w iPhone’ach), będzie zmiana architektury procesorów. Tak, wiem – twardogłowi wyznawcy największego producenta układów scalonych na świecie już zaczynają zbierać chrust na stos dla MacWyznawcy, ale zanim to zrobią, zdążę Wam przypomnieć, jak już kiedyś przebiegały te zmiany.
Przejście z PowerPC na Intela pamięta wielu z Was, a ja, choć uważałem tę zmianę za konieczną, nie lubię jej roztrząsać. Niestety było to przejście z bardzo dopracowanej i wydajnej (choć energochłonnej) architektury na zabałaganioną, przestarzałą i stosującą brutalną siłę kosztem elegancji. Samo przejście w środowisku Apple też nie było tak gładkie jak to wcześniejsze z Motoroli na PowerPC. Firma z Cupertino dzięki Xcode mogła przerzucić ciężar większości zmian na programistów, samemu robiąc tylko emulator PowerPC wysokiego poziomu. Pozwalał on na uruchamianie programów napisanych dla PowerPC w systemach intelowych, ale już rozszerzenia i inne niskopoziomowe dodatki musiały być zrobione dla nowych komputerów od początku.
Obie zmiany architektury procesorów stosowanych w Macintoshach były wymuszone.
Od początku Apple stosowało bardzo nowoczesne (jak na przełom lat 70. i 80. XX w.) procesory Motoroli serii 68xxxx, ale po 15 latach rozwoju firma zapowiedziała, że Motorola 68060 będzie ostatnim procesorem tej serii. Apple, znając te plany już wcześniej, rozpoczęło poszukiwania następcy. Początkowo miały to być kolejne procesory Motoroli, nowej serii 88k. Niestety poza firmą z Cupertino i Fordem nie było na nie chętnych, co źle rokowało dla ich przyszłego rozwoju. Odsiecz nadeszła ze strony „odwiecznego wroga” – IBM. Po zademonstrowaniu (a było to około 1990 roku) klasycznego systemu Mac OS pracującego na sprzęcie Intela, IBM zaoferowało pomoc w stworzeniu nowych procesorów i tak, w znacznym uproszczeniu, powstał sojusz AIM (Apple–IBM–Motorola). Procesory Power PC były połączeniem architektury IBM POWER1 „wciśniętej” w jeden niewielki układ z magistralą systemową opracowaną przez Motorolę dla serii 88k. Takie podejście ułatwiło implementację nowych procesorów przez Apple, które czyniło już pierwsze przymiarki do użycia serii 88k w swoich komputerach.
Jednak – jak zawsze – najważniejszy pozostawał software.
Aplikacje tworzono za pomocą różnych narzędzi programistycznych i w wielu językach. Nie można było, jak teraz, po prostu dodać obsługę nowych procesorów do Xcode, kilka wytycznych dla informatyków i poprosić ich o „przekompilowanie” programów. W Apple, gdy zapadła decyzja o poszukiwaniu nowej platformy sprzętowej, zaczęto również myśleć o emulacji, aby zachować zgodność ze współczesnymi systemami operacyjnymi i dostępnym oprogramowaniem. Jak to często w tej firmie bywa, pracę nad przejściem na nowe procesory rozpoczęły się w dwóch zespołach. Jeden z nich o kryptonimie „Cognac” uruchomił na prototypie komputera z procesorem Power PC, umieszczonym w obudowie „Pizza Box” (czyli z Macintosha LC), system Mac OS. Wydajność tej platformy, choć pracowała całkowicie w trybie emulacji, dorównywała ówczesnym „flagowcom”, czyli Quadrom z Motorolą M68040! W połączeniu z wprowadzeniem aplikacji kompilowanych natywnie na Power PC, dało to ogromny wzrost wydajności. Wystarczył on na ponad 10 lat.
Pierwsze informacje o planach Apple związanych z nowymi procesorami dotarły do mnie jeszcze w 1993 roku. Na jednym ze spotkań resellerów w SAD Apple IMC prowadzący wspomniał, że firma w połączeniu z IBM i Motorolą planuje nowe, potężne procesory. Nawet sobie nie wyobrażacie, jak to pobudziło naszą wyobraźnię. Zwłaszcza że informacje, jakie nam „zdradzono”, były szczątkowe. Nawet gdy pierwszy komputer z Power PC zawitał do naszej firmy (był to Power Macintosh 6100), niewiele wiedzieliśmy o tym, jak i dlaczego on działa, ale ważne były efekty. Rzeczywiście – najtańszy model Power Maca był szybszy od bardzo przyzwoitej Quadry 840, nawet gdy uruchamiało się na nim programy nieprzystosowane jeszcze do nowych procesorów.
Oczywiście dociekaliśmy, jak to funkcjonuje i sporo się dowiedzieliśmy (pamiętajcie, że internet wtedy praktycznie nie istniał). Wbudowany w system emulator Motoroli dla Power PC działał, w przeciwieństwie do emulatora PowerPC dla Intela 11 lat później, niskopoziomowo. Z tego powodu jeszcze przez wiele lat znaczna część systemu nie była przepisana na Power PC! Na szczęście większość narzędzi do programowania szybko została dostosowana do tworzenia tzw. fat binary, czyli aplikacji zawierających w sobie jednocześnie kod dla obu architektur procesorów. Było to bardzo ważne, bo okres przejścia z Motoroli na PPC był dłuższy niż z PowerPC na Intela. Pierwsze komputery z nowymi procesorami pojawiły się w marcu 1994 roku, a ostatnie z Motorolą wycofano z oferty pod koniec 1996. Emulator udawał z grubsza Motorolę M68020 i bardzo mało nieprzerobionych programów sprawiało problemy na Power Macach. Działała również większość starych dodatków i rozszerzeń systemowych – wszystko to z bardzo przyzwoitą prędkością. Dotąd mogę na iBooku G3 uruchomić w trybie classic Photoshopa 1.04 z 1990 roku! Naprawdę nie mam złych wspomnień związanych z tym przejściem - z dobrej na jeszcze lepszą rodzinę procesorów. Inaczej niż przy zamianie Power PC na Intela.
Poprzednie zmiany architektury były wymuszone na Apple, ewentualne przejście, jakie czeka nas w przyszłości, będzie dokonane raczej z wyboru i kalkulacji korzyści. Firma od lat projektuje już swoje własne procesory, zgodne z architekturą ARM. Ma do tego cały sztab ludzi z kilku przejętych firm zajmujących się ich tworzeniem. To nie wszystko, zwróćcie uwagę na obecną, bardzo ścisłą współpracę Apple z IBM. Nie dość, że IBM stworzyło już ponad setkę swoich programów dla iOS, to - co wydaje mi się nawet ważniejsze - bardzo zaangażowało się także w rozwój i wykorzystanie języka Swift. Przypomnę, że korporacja ta nadal jest projektantem i producentem wyjątkowych procesorów w architekturze Power PC. Są one stosowane w przeróżnych konfiguracjach, od konsol do gier przez superkomputery IBM Blue Gene po samoloty, statki kosmiczne i sondy międzyplanetarne. Może podzieli się i tą wiedzą z Apple?
Na zakończenie (aby odwlec moją egzekucję) informacja dla osób już rozpaczających nad utratą możliwości uruchamiania systemu firmy Microsoft na hipotetycznych, przyszłych Macach z procesorami innymi niż Intela. Zobaczcie, nadal można pobrać Virtual PC, czyli całkiem sprawny emulator Intela i Windowsa na Power PC. Dawało się emulować wtedy, da się i w nieodległej przyszłości na nowych, lepszych procesorach od Apple.
Fot. Wikipedia