Czy Apple planuje kolejną, procesorową rewolucję ?

Gdy 10 września Apple zaprezentowało iPhone 5S zwróciłem uwagę na jedną informację, którą wówczas media potraktowały nieco marginalnie - chodzi o procesor A7. Dziś można już o nim więcej powiedzieć. Ma architekturę 64-bitową i jest blisko dwukrotnie szybszy od poprzedniego procesora A6, obecnego np. w iPhone 5 choć w niektórych działaniach różnica jest nawet ośmiokrotna. Kwestia 64-bitowego procesora była pewnym zaskoczeniem nie tylko dla użytkowników. Samsung wydał oświadczenie z którego wynika jasno, że nie spodziewał się takiego posunięcia ze strony Apple, ale bynajmniej nie zamierza czekać na rozwój sytuacji:

Szef działu mobilnego Samsunga - JK Shin powiedział, że kolejne smartfony Samsunga będą wyposażone w 64-bitowe procesory. Samsung zwrócił uwagę na iPhone 5S, który jest pierwszym telefonem z 64-bitowym procesorem i 64-bit iOS 7. Urządzenie Samsunga z takim (64-bitowym) chipem nie pojawi się odrazu, ale kolejne smartfony Samsunga będą miały możliwości 64-bitowego przetwarzania."

Dyrektor marketingowy Qualcomm - Anand Chandrasekher stwierdził natomiast, że 64-bitowy procesor to tylko chwyt marketingowy Apple. Chandrasekher przy tym bardzo spłycił sensowność stosowania 64-bitowego procesora stwierdzając:

64-bitowy procesor daje możliwość zaadresowania większej pamięci, powyżej 4 GB, podczas gdy iPhone 5S posiada jedynie 1 GB pamięci RAM. Co więcej, z tego typu procesorów korzystają przede wszystkim aplikacje serwerowe.

Kilka dni później, firma Qualcomm sprostowała wypowiedź Ananda Chandraskhera stwierdzając, że była ona niefortunna, gdyż 64-bitowe procesory w urządzeniach mobilnych zapewnią ich użytkownikom wygodę pracy znaną z systemów typu desktop a ponadto otwiera nowe możliwości, które zaowocują w przyszłości pojawieniem się zupełnie nowych aplikacji i urządzeń. Podsumowując, Qualcomm potwierdził, że pracuje nad własnym, 64-bitowym procesorem i także zamierza stosować tego typu "chwyty marketingowe".
W całym tym zamieszaniu ja osobiście dojrzałem jedną możliwość - 64-bitowe, wielordzeniowe procesory Apple Ax, mogą stać się procesorami stosowanymi w komputerach Apple.

Nieco historii

Apple zawsze podążało swoją własną drogą w wyborze procesorów dla swoich komputerów. Wybór konkretnego procesora podyktowany był jego ceną oraz możliwościami. Steve Wozniak planował budowę przyszłego Apple I w oparciu o procesor Intela 8080, jednak był on zbyt drogi dlatego i architekturę komputera przystosował pod kątem Motoroli 6800 na którą "Woz" miał zniżkę. Ostatecznie zdecydowano się na wiele tańszy od Motoroli procesor MOS 6502 będący w zasadzie kopią Motoroli. W tym samym okresie większość innych komputerów budowanych jest w oparciu o procesory Intel. W latach 80-tych pojawiają się komputery domowe oparte na MOS 6502 i jego odmianach (Atari, Commodore) oraz na procesorach Zilog Z80 (ZX Spectum, Amstrad). Apple zaczyna jednak wdrażać maszyny z 16-bitowym procesorem Motorola 68000. Oczywiście rynek korporacyjny opiera się głownie na Intelu 8086 oraz 286. Rozpoczyna się prawdziwy wyścig. Procesory z rodziny MC680x0 skutecznie konkurują z Intelami i przez długi okres czasu to raczej Intel musiał gonić aż... przegonił. Sukces Intela zaczął się wraz z pojawieniem wysokiego taktowania (powyżej 100 MHz). Sama Motorola nie była zainteresowana kontynuacją rozwoju rodziny MC68x0, a odpowiedzią był procesor PowerPC. Znowu przez jakiś okres czasu to Intel musiał ścigać PowerPC i znowu go doścignął. Ponownie zwyciężyło wysokie taktowanie oraz procesory wielordzeniowe. Apple zmieniło architekturę na Intela i wydawać by się mogło, że taki stan rzeczy będzie trwał wiecznie.

Rośnie nowy konkurent

Gdzieś w cieniu bitwy między PowerPC i Intelem rozwijały się procesory ARM. Pierwsze, 32-bitowe procesory ARM pojawiły się już w 1985 roku, lecz pomimo większej wydajności od Intela 286, ich zastosowanie było raczej marginalne. Procesory ARM charakteryzowały się bardzo niskim zapotrzebowaniem na energię i stały się idealnymi procesorami do wszelkiego rodzaju urządzeń przenośnych, w których pobór prądu i czas pracy na baterii ma kluczowe znaczenie. Pod koniec lat 80-tych Apple wykupuje 46% udziałów firmy Acorn Computers i uzyskuje wpływ na rozwój procesorów ARM, a jeden z nich znajduje zastosowanie w Apple Newton. W trakcie rozwoju procesorów ARM kładziono olbrzymi nacisk na niski pobór energii, godząc się jednocześnie na niższą moc obliczeniową. W końcu procesory te były montowane w urządzeniach realizujących zadania nie wymagające olbrzymich mocy obliczeniowych. Sytuacja zmieniła się, gdy nastąpił gwałtowny rozwój smartfonów opartych głównie na procesorach ARM. Telefony te z roku na rok osiągają coraz większą moc obliczeniową i realizują coraz bardziej skomplikowane zadania, a procesory ARM stają się coraz bardziej realnymi konkurentami Intela.

Procesorowe rewolucje

Apple w swojej historii przeprowadziło trzy procesorowe rewolucje. Pierwsza miała miejsce podczas rezygnacji z MOS 6502 na rzecz Motoroli 68000. Rewolucja ta jednak przeszła bezboleśnie, gdyż nowe komputery, oparte na 68000 miały nowy system, nową architekturę i nowe oprogramowanie, jednocześnie Apple produkowało kolejne odmiany komputera Apple II do 1992 roku. Kolejna rewolucja miała miejsce w 1995 roku podczas przejścia na architekturę PowerPC. Przejście to było przygotowane perfekcyjnie. Procesor PowerPC miał możliwość emulacji 68000 z przyzwoitą prędkością, jednocześnie długo Apple zachęcało programistów do tworzenia aplikacji działających natywnie zarówno na Motoroli jak i na PowerPC - były to tzw. programy FAT. Kolejna rewolucja z 2006 roku, czyli zmiana PowerPC na Intela była przygotowana długo i starannie. Apple tworzyło swój system na platformę Intela w wielkiej tajemnicy od około 2001 roku. Aby uruchomić aplikacje przeznaczone dla PowerPC na komputerach z procesorem Intela, system operacyjny używał specjalnego systemu emulacji - Rosetta. Użytkownik o niczym nie wiedział, dla niego program działał, bez różnicy czy tworzony był na Intela czy PowerPC. Podobnie jak poprzednio, Apple zachęcało do tworzenia aplikacji uniwersalnych.

Komputer na procesorze ARM (Apple Ax)

Aby procesor Apple Ax mógł trafił do komputera stacjonarnego, musi być tak wydajny jak Intel utrzymując zarazem niskie zapotrzebowanie na prąd. Taki procesor byłby idealny do komputerów przenośnych ale mógłby znaleźć także konkretne zastosowanie w komputerach stacjonarnych. Jakiś czas temu przeanalizowałem postęp jaki poczyniły procesory ARM i Apple Ax na podstawie urządzeń mobilnych Apple i otrzymane wyniki tylko utwierdzają mnie w przekonaniu, że to w ciągu killku lat, Apple jest w stanie przestawić swoje komputery na architekturę ARM i własne procesory Ax.

Pierwszy iPhone (2007 r.), zbudowany na procesorze Samsung S5L8900 taktowany zegarem 412 MHz wypadał bardzo skromnie, a nawet ubogo na tle procesora Intel Core 2 Duo 1.83 GHz stosowanym w MacBooku z 2007 roku.


  • Intel Core 2 Duo (T5600) 1.83 GHz - wynik Geekbench 2298
  • S5L8900 412 MHz - wynik Geekbench 139

W 2008 roku pojawia się iPhone 3G, jednak posiada on dokładnie ten sam procesor co poprzedni model telefonu.


  • Intel Core 2 Duo (T8100) 2.1 GHz - wynik Geekbench 2731
  • S5L8900 412 MHz - wynik Geekbench 139

W 2009 roku pojawia się iPhone 3GS, który posiada wydajniejszy procesor Samsung S5L8920 taktowany 600 MHz. Ówczesny mu MacBook posiada procesor Intel Core 2 Duo 1.86 GHz.


  • Intel Core 2 Duo (P7450) 2.13 GHz - wynik Geekbench 2742
  • Samsung S5L8920 600 MHz - wynik Geekbench 275

To ciągle bardzo skromnie choć wydajność iPhone jest taka sama jak iMac’a G3 600 MHz z 2001 roku

Rok 2010 to pewien przełom. Apple wprowadza po raz pierwszy swój własny procesor, zaprojektowany zgodnie z architekturą ARM. Nowy procesor A4 trafia do iPhone 4 (800 MHz) i iPad'a (1 GHz) natomiast ówczesny mu MacBook otrzymuje procesor Intel Core 2 Duo 2.4 GHz.


  • Intel Core 2 Duo (P8600) 2.4 GHz - wynik Geekbench 3375
  • Apple A4 1 GHz - wynik Geekbench 456

W 2011 roku pojawia się iPad 2 z nowym, dwurdzeniowym procesorem Apple A5. Jednocześnie konsumenckim MacBookiem jest MacBook Air z procesorem Intel Core i5 1.6 GHz.


  • Intel Core i5 (2467M) 1.6 GHz - wynik Geekbench 4552
  • Apple A5x 1 GHz - wynik Geekbench 760

W 2012 roku Apple prezentuje iPad'a 3 z nowym procesorem Apple A6, natomiast MacBook Air posiada procesor Intel Core i5 1.7 GHz


  • ntel Core i5 (3317U) 1.7 GHz - wynik Geekbench 5717
  • Apple A6x 1.4 GHz - wynik Geekbench 1757

Obecnie na rynku mamy iPhone 5S z 64-bitowym procesorem A7 taktowany 1.3 GHz, natomiast MacBook Air z 2013 r. posiada Intel Core i5 taktowany 1.3 GHz.


  • Intel Core i5 (4250U) 1.3 GHz - wynik Geekbench 5946
  • Apple A7 1.3 GHz - wynik Geekbench 2557

(Podczas analizy brałem pod uwagę najsłabsze MacBooki w danym roczniku)

Jeśli wierzyć rozmaitym badaczom procesora A7, ma on potencjał na tyle duży, by mógł być on taktowany nawet powyżej 2 GHz jednocześnie zachowując ograniczony (w stosunku do Intela) apetyt na energię.

Jak widać z powyższego, z każdym rokiem procesory Apple (ARM) zmniejszają dystans dzielący ich od procesorów z konsumenckich laptopów. Tak więc rodzi się pytanie:

Czy jest możliwym aby w ciągu kilku lat Apple zrezygnowało z Intela i w swoje komputery zaczęło budować w oparciu a architekturę ARM i swoje własne procesory z rodziny "A" ?

Aby udzielić odpowiedzi na to pytanie, do rozmowy zprosiłem Jaromira Koppa, który jest użytkownikiem "Maczków" jeszcze od czasów Motoroli 68000, a co w temacie jest ważne, pisał własne programy na komputery Macintosh z procesorami 68000, PowerPC i obecnie tworzy aplikacje na iOS oraz OS X.
Dla miłośników silników spalinowych Jaromir stworzył świetny program PistonCalc w wersji na iOS oraz OS X. Kalkulator ten liczy i konwertuje coś, związanego z tłokami silnikowymi o czym ja nie mam zielonego pojęcia, podobno (a wiem to od użytkowników a nie od Jaromira) jest bardzo dobra aplikacja. Tak więc zapraszam do zapoznania się z naszymi przemyśleniami.

A więc pytanie pierwsze. Czy po wejściu procesora A7 są jakieś problemy z pisaniem aplikacji 64-bitowych?

Są i nie zarazem... Są ponieważ trzeba sprawdzić czy w naszych starych programach nie stosowaliśmy podejrzanych sztuczek, np. czy nie używaliśmy normalnych typów danych do przechowywania adresów (wskaźników) i kilka innych drobiazgów wskazanych dokładnie przez Apple w podręczniku konwersji na 64-bity. Drugim problemem jest to, że XCode 5.0 przy kompilowaniu na 32 i 64 bit jednocześnie (takie aplikacje Fat Binary) nie pozwala włączyć zgodności z iOS 6 (tylko iOS 7). Apple już to zmienia i taka kompilacja będzie możliwa. Pojawiła się wersja XCode 5.0.1 GM zgodna z nowym systemem OS X 10.9 Mavericks. Posiada ona już wsparcie dla kompilacji programów zgodnych zarówno z iOS 6 i iOS 7 w wersjach 32 i 64 bit jednocześnie. Są to jednak jedynie drobne trudności. Przypomnijmy sobie prezentację Infinity Blade III z 10 września. Wersja 64-bitowa została stworzona w 2 godziny przez jednego człowieka.

Jako developer posiadasz już O X 10.9. W nowym systemie Apple podobno jest jeszcze więcej wspólnych elementów z iOS.

Są, ale nie są nachalne. Doszły aplikacje iBooks i Mapy (bardzo fajne). Optycznie nie ma wielu różnic między OS X 10.8 i 10.9. Widać natomiast pewne tendencje zbliżające go do iOS, np. tagi w Finderze. W iOS tego nie ma, ale zmierza to w stronę zaniku dostępu do systemu plików dla zwykłego użytkownika, podobnie jak ma to miejsce obecnie w iOS. Oczywiście taki „zanik” systemu plików (okiem użytkownika) zajmie jeszcze kilka lat.

W sumie zawsze wychodziłem z założenia, że guzik mnie obchodzi w jakim katalogu system trzyma moje zdjęcia, muzykę itp. Ważne abym miał do tego dostęp kiedy potrzebuję.

No ja odwrotnie i to też za sprawą Apple. Jak zaczynałem przygodę z Maczkami, to dla mnie było piękne, że widzę gdzie każdy program jest i, że mogę go wywalić do śmietnika. Widziałem wszystkie pliki systemowe itp. W Windows nie wiadomo co gdzie jest i co gdzie było. No ale pewnie przywyknę. Do iPhoto i do iTunes już przywykłem.

Tak, ale Mac zawsze dbał o porządek. Pamiętasz jak się wrzucało na teczkę systemową równocześnie fonty, rozszerzenia itp. a on sam wszystko umieszczał we właściwych katalogach. Takie wrzucanie w Windows kończy się w najlepszym wypadku tylko bałaganem.

Dokładnie!

Będąc programistą widzisz jak iOS zbliża się do OS X. Myślisz, że będzie to jeden system, który będzie się instalował w wersji zależnej od urządzenia?

Widzę, że się zbliża ale bardzo rozsądnie i nigdy nie będzie to ten sam system! Apple nie powinno popełnić błędu Microsoftu. To byłoby bez sensu, bo to byłoby równanie w dół... Systemy zbliżają się, ale nie za wszelką cenę jak to obecnie robi Microsoft z Windows 8. Nie da się zrobić dobrze identycznego systemu na tak różne urządzenia. OS X 10.9 jest tak zewnętrznie podobny do 10.8, że nie czuje się zbliżenia do iOS zbyt mocno. Apple robi to rozsądnie i raczej ma plan rozwoju dwóch linii osobnych systemów. Od strony programisty, oba system mają wiele wspólnego, ale obsługa interfejsu tylko co do zasady jest podobna. Są całkiem inne kontrolki i elementy, inaczej reagują bo mamy mysz i wskaźnik a nie palec. No i dają znacznie więcej możliwości dla programisty w OS X niż w iOS.

Ok. Procesory Ax stają się coraz szybsze i może się zdarzyć, że Apple zechce je stosować w komputerach typu MacBook Air. Możliwe by było skompilowanie OS X na taką architekturę?

A niby dlaczego tylko w Air? Łatwiej będzie przerobić OS X na ARM niż kiedyś z PowerPC na Intela, a Apple już to przecież zrobiło. No i jeszcze jedno... W iOS większość rzeczy poniżej interfejsu użytkownika jest identyczna co do API (funkcji systemu dla programow). Tak naprawdę Apple połowę systemu na ARM już ma gotowe w iOS. Znając ich, resztę już też w tajemnicy kompilują na ARM i testują podobnie jak to robili w tajemnicy przez 5 lat z wersją OS X dla Intela. Zawsze przy takiej zmianie architektury pojawiają się dwa problemy. Pierwszy to emulacja Intela na ARM aby zachować zgodność ze starymi aplikacjami kompilowanymi na Intela, na nowych, hipotetycznych komputerach z ARM. Przypuszczam że i to maja już rozpracowane, choć pozostaje kwestia wydajności. Problem drugi to przekonanie programistów do kompilowania na ARM, ale tej sztuki Apple w przeszłości dokonało już dwa razy, podczas przejścia z Motoroli na PowerPC i podczas zamiany PowerPC na Intela. Narzędzia są, programiści w 90% używają XCode, czyli gdy Apple wyda nową wersję swojego narzędzia dla programistów (XCode) przy niewielkich zmianach w programach lub nawet bez zmian, będzie można kompilować aplikacje z kodem na ARM i Intela jednocześnie, tak jak kompiluje się teraz na ARM 32 i 64 bit i jeszcze niedawno na PowerPC i Intela (Fat binary) Programista tego nawet nie zauważa.

No właśnie, ale gorzej z emulacją. Jakoś ciężko mi wyobrazić sobie, aby producenci gier zamiast portować gry z PC tak jak to ma teraz miejsce, pisali je od początku na ARM.

Za czasów PowerPC jakoś pisali gry! Zwróć uwagę na silniki do gier. Te najważniejsze mają swoje wersje dla iOS i to nawet częściej niż na OS X. Obecnie gry robi się „na silnikach”, a nie koduje od podstaw. No i jeszcze jedno. Apple bardzo sprytnie zagrało, wydając nowe API dla programistów: Sprite Kit, jednocześnie dla iOS 7 i OS X 10.9. Bardzo ułatwi to pisanie gier 2D na iOS i OS X równocześnie. To kolejna poszlaka, że Apple „coś knuje"...

Wiesz, niedawno rozmawiałem ze znajomym (użytkownik iPad'a) na temat telewizora Apple. On stwierdził, że taki telewizor powinien mieć wbudowaną konsole do gier. Ja mu odpowiedziałem - Po co? Konsolę masz w ręce!!!

Właśnie. Jak widzę niektóre gry na iOS, to konsole nie mają się czym specjalnie szczycić. A teraz jeszcze 64 bit...

iOS jest obecnie niezła platformą do grania i dosyć bogatą w tytuły. Ekosystem Apple umożliwia zarazem wykorzystanie iPhone'a jako konsoli czy kontrolera w zależności od potrzeb.

A teraz będzie jeszcze fajniej. Może sam napisze jakąś gierkę z użyciem nowego SpriteKit w iOS 7 i potem szybko ja przeportuję na OS 10.9.

A co z programami użytkowymi? Office już niby jest, bo Microsoft raczej ucieka w chmurę. Ale Photoshop, Ilustrator i inne programy... Ja to załatwić na ARM?

Jak Intel dał radę emulować PowerPC (Intel ma dużo gorszą architekturę niż PowerPC i ARM pod względem bałaganu i zaszłości) to i ARM sobie na początku poradzi. Adobe trochę zwlekał podczas przesiadki z PowerPC na Intela ale potem i tak musiał się dostosować. Tak samo może być z ARM, nie przestawią się? Wypadną z rynku. Kluczowa jest kwestia przyzwoitej emulacji Intel na ARM w okresie przejściowym.

Jeszcze jakbyś mógł wyjaśnić krótko n czym polega bałagan w Intelu takim laikom jak ja...

Łatwiej jest wyjaśnić na czym polega porządek... W procesorach PowerPC i ARM jest pewna ilość identycznych rejestrów do przechowywania danych ogólnego przeznaczenia oraz kilka rejestrów specjalnych. W Intelu jest wiele rejestrów specyficznego zastosowania co wymuszone jest koniecznością zapewnienia zgodności z architekturą z przed 30-lat. PowerPC i ARM powstały znacznie później i w oparciu o inne założenia. Przez ten czas (od debiutu Intela) ludzie projektujący procesory wiele się nauczyli. Kolejna rzecz to lista instrukcji. Tu też mamy ład w PowerPC i ARM i ogromny bałagan w Intelu.

Z tego co wiem, ARM i PowerPC maja mniej instrukcji niż Intel?

ARM w zasadzie tak, PowerPC ma mniej ale niewiele mniej. ARM ma za to jedną fajną cechę - brak instrukcji skoków warunkowych takich, które po sprawdzeniu warunku i np. jak jest on spełniony to przeskakują gdzieś w inne miejsce kodzie. Mają to zrobione rewelacyjnie, bo każda instrukcja ma flagi (znaczniki) gdzie się ustawia w jakich warunkach ma się ona wykonać. Czyli najpierw np. porównuje się wartości dwóch rejestrów (co ustawia odpowiednie flagi), potem w zależności od ustawionych flag kolejna instrukcja wykonuje się lub nie. To bardzo ułatwia optymalizację kodu i umożliwia jednoczesne wykonywanie wielu instrukcji i zmniejsza straty przy skokach. Zresztą sam wiesz jak już niewiele ARM 64-bit ustępuje wydajnością Intelowi ze znacznie szybszym taktowaniem. Zawdzięcza to między innymi optymalizacji kodu i sporej ilości identycznych rejestrów.

A do tego dochodzi jeszcze mniejszy apetyt na energię. Przypuszczam, że zastosowanie nawet dwóch procesorów A7 byłoby i tak mniej prądożerne niż jeden Intel.

Nawet zastosowanie czterech, albo osiem rdzeni ARM zamiast 2 Intela.

Teoretycznie dwa lub trzy procesory A7, nawet uwzględniając fakt, że ich równoległa praca nie jest sumą ich wydajności, byłaby porównywalna z tym co ma obecnie MacBook Air. (Procesor A7 osiąga wynik Geekbench 2559 punktów. Zastosowanie dwóch takich procesorów, na pewno nie da wyniku 2*2559, tylko nieco mniej).

Tak, zwłaszcza w OS X czy iOS i programach napisanych w Objective-C. Apple dzięki Objective-C bardzo ułatwia programowanie na wielordzeniowe, wielowątkowe procesory. W zasadzie programista niewiele musi myśleć o tym. Po prostu jak używa on kilku objektów, to działają one samodzielnie i to ułatwia rozdzielanie przez system obciążenia na kilka rdzeni. A już jak świadomie używa się wątków, to wydajność przy wielu rdzeniach znacznie wzrasta.

Czyli zmiana na kolejne Ax miałaby wymierny zysk i niewiele wad?

Tak. I jeszcze jedna zaleta. Apple uniezależniłby się od projektantów procesorów. Teraz musi liczyć na to, co zrobi Intel. A jak Intel zrobi nowy procesor to Apple, Acer, HP i każdy inny producent komputerów też będzie go zaraz miał. A tak Apple samo sobie będzie mogło projektować i procesory i system, a co najważniejsze, zrobią to optymalnie.

To prawda. Czyli laptop na Ax, a może tablet wsuwany jak niegdyś PowerBook Duo w stację dokującą?

Nie! Żadnych półśrodków. Albo tablet albo komputer.

Jeszcze kwestia grafiki. Czy iPad ma oddzielny układ graficzny czy to wszystko jest w Ax?

Wszytko mieści się w układzie Ax Apple. Oddzielnie jest tylko pamięć RAM (w układach dla iPad’a, w iPhone RAM jest wbudowany).

A jak taki zestaw sprawdzałby się w MacBooku Air? Pytam tylko o grafikę.

Jak daje radę z rozdzielczościami 2500x1500 (iPad Retina) to z 1440x900 nie da sobie rady? Intel też stosuje wbudowane w procesor układy graficzne.

Ale dochodzi jeszcze masa innych rzecz, np. grafika 3D.

Infinity Blade III? Pamiętaj, Apple sam projektuje te procesory i daje im grafikę jaką chce. Nie używa Targi czy czegoś tam od zewnętrznych producentów jak konkurencja. Obecnie używa rdzeni graficznych PowerVR od Imagination Technologies i Apple ma udziały w tej firmie.

Wróćmy w takim razie do jednego problemu jaki nam ciągle pozostał. Emulacja Intela. Jak widzisz sposób na rozwiązanie tego problemu? Jak to wyglądało gdy PowerPC emulował Motorolę, a jak gdy Intel udawał PowerPC?

Intel jak na swój "bałagan" całkiem nieźle radził sobie z emulacja PowerPC. W 2004 roku Apple kupiło jedną czy dwie firmy zajmujące się prekompilacją i emulacją miedzyplatformową. Rosetta (emulator PowerPC na Intelu zaszyty w Mac OS X) była bardzo wydajna bo stosowała technikę prekompilacji i zapamiętywał przekompilowany już kod. Dlatego program PowerPC pierwszy raz na Intelu uruchamiał się wolniej, ale później już działał szybciej. Ta samą technologie można zastosować podczas emulacji Intela na procesorze ARM.

No tyle, że wówczas procesor emulujący był dużo szybszy niż ten emulowany. Teraz nie ma takiej różnicy patrząc po wynikach Geekbench.

Zaraz, zaraz... Ale mówisz o A7 z iPhone'a a nie o np. A8 z MacBooka Air... Może Apple zrobi taktowanie 2 GHz a nie 1.3 GHz i zamiast dwóch, da cztery rdzenie. I co wtedy?

To prawda Jaromir, dziękuję z rozmowę i na koniec pytanie. Chciałbyś MacBooka na ARM?

Tak, ja bym chciał, i iMac’a i inne też. Po prostu nie lubię Intela…

Na zakończenie warto wspomnieć jeszcze o pewnym doświadczeniu które Jaromir przeprowadził przy użyciu iPhone 5 (procesor Apple A6 1,3 GHz) oraz MacBook Air 2013 Intel Core i7 "Haswell" 1.7 GHz. Zadanie polegało na nałożeniu napisów na 59 sekundowy film HD 1080p i wyrenderowaniu go do HD 720p. Oczywiście chodzi o to samo nagranie filmowe. Zadanie zostało wykonane za pomocą programu iMove w wersji na iOS oraz OS X.
A oto wyniki testu:

Czas potrzebny na nałożenie napisów i wyrenderowanie filmu w HD 720p (iPhone 29 sekund, MacBook 2 minuty 16 sekund).

ARM okazał się dużo szybszy. Jakość otrzymanych plików wideo była taka sama, a różnica w wielkości pliku minimalna (rzędu kilku KB). Jak Jaromir sam stwierdził, test był trochę stronniczy, bo A6 posiada sprzętowe wsparcie do kodowania i dekodowania wideo. W innych konkurencjach oczywiście Intel uzyskiwał przewagę. Przeprowadzony test jest tylko dowodem na to, że procesory oparte na architekturze ARM, to zaczynają stawać się groźnymi konkurentami dla produktów Intela.