Strona używa cookies (ciasteczek). Dowiedz się więcej o celu ich używania i zmianach ustawień. Korzystając ze strony wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.    X

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.

 

sprzęt

Komentarze

0 nowych
gowain   19 #1 15.10.2013 00:35

"test był trochę stronniczy, bo A6 posiada sprzętowe wsparcie do kodowania i dekodowania wideo."

A Intel nie posiada? A coś takiego jak Quick Sync? Może po prostu iMove nie obsługuje tego, bo nie chcę mi się wierzyć, żeby i7 przegrało z ARMem w tej kwestii.

macminik   16 #2 15.10.2013 08:48

@gowain

Być może zachodzi tu podobna sytuacja jak przy liczeniu Bitcoinów na kartach ATI i nVidia. Niby to samo, niby realizują takie same zdania ale Bitcoin woli ATI (wiem że chodzi tam o jakiś system przetwarzania danych ale nie chce i się teraz szukać). Możliwe jednak, że iMove nie do końca wspier te technologie w Intelu. Tak czy inaczej, procesory ARM coraz więcej mogą... i dobrze. Niech konkurencja napędza rynek.

dzikiwiepsz   12 #3 15.10.2013 10:23

Ciekawe czemu procesor arm a6 wyróżnia się wyglądem z całej reszty procesorów apple ?

mikolaj_s   14 #4 15.10.2013 11:01

Na razie ARMy są jeszcze za słabe aby konkurować z i7. Test kodowania sprzętowego nie jest miarodajny. Ale widać, że platformy nieustannie się do siebie zbliżają. Intel robi się coraz mniej energożerny, a ARM zbliża się w taktowaniu i wydajności do Intela. Może kiedyś się zbliżą na tyle, że Apple będzie mogło wybrać ARM.

video   10 #5 15.10.2013 12:06

"Możliwe jednak, że iMove nie do końca wspier te technologie w Intelu." wcale jej nie wspiera, ale nie musi. Wszystkie poważne produkcje filmowe liczy się na iPhone :) :) :)

Jack_Daniels   8 #6 15.10.2013 14:17

Taka ciekawostka. Kiedyś plotka poszła że w8 i w9 maja być 128 bitowe :) http://arstechnica.com/information-technology/2009/10/microsoft-mulling-128-bit-.../

  #7 15.10.2013 14:32

Przecież kiepski wynik Intela w dekodowaniu jest bardzo prosty - sterowniki Intela na OS X są tylko pozorem i nawet te na Linuksa są o wiele lepsze. Świadczy to więc tylko i wyłącznie źle o Apple które piszę system tylko dla kilku konfiguracji, a i tak nie może obsłużyć wszystkich możliwości sprzętu.
Pomijam tutaj miarodajność takich testów - jeśli testuję się sprzęt to należałoby zachować ten sam system i zachować jak najbardziej podobne środowisko pracy, bo istnieją później jajca, że ktoś testował dwie karty graficzne różnych firm i jedna przegrała bo nie miała zainstalowanych sterowników...

Co do samej architektury ARM - życzę im jak najlepiej, niech się rozwijają, chociaż można mieć czasami wątpliwości, czy arm uda się podbić rynek PC.

Natomiast architektura 64bitowa to aktualnie czysta "magia marketingu" - bajki o super wydajności pojawiały się już w czasach wchodzenia x86-64, a przedtem IA64. Problem był taki, że wydajność rzeczywiście wzrasta ale w głównie w określonych typach oprogramowania np. programy do modelowania 3D, zaawansowane programy graficzne, obróbka wideo. Z grami natomiast bywa różnie - przy dobrej optymalizacji więcej dadzą dodatkowe rdzenie niż 64bity (mało tego np. rozszerzenie SSE2 obsługuję 128 bitowe rejestry, a nie jest powiedziane, że dostajemy gigantyczną wydajność).

Aktualnie zwiększona wydajność nowego procesora od Apple jest pewnie bardziej wynikiem nowego rdzenia i optymalizacji firmware niż samego przejścia na 64bity. Aby wynik był naprawdę miarodajny i można by stwierdzić, że to 64b dodaje taki kop wydajności należałoby uruchomić benchmark na systemie 32 i 64 bitowym i tym samym procesorze (oczywiście aplikacja również 32/64b).

  #8 15.10.2013 15:28

Chromebooki na ARMie już są ale znowu to Apple będzie innowacyjne :-P.

  #9 15.10.2013 15:44

Nie należy zapominać o tym że było wiele lepszych rozwiązań w historii, a nie raz wygrywały te gorsze. Patrz Video2000, a VHS, DBX, a BOLBY BC.

PAMPKIN   11 #10 15.10.2013 16:47

Jak napisał macminik intel doganiał i przeganiał konkurencję już kilkukrotnie. Dzisiaj, jak sam intel przyznaje przegrywa na rynku mobilnym i zaczyna bardzo powoli nadrabiać straty. Chłopaki z intela nie łatwo oddadzą, że tak się kulinarnie wyrażę „Tarta Tatin”. Wiem że intel podsyła do apple takie próbki, za które wszyscy overclokerzy by się pozabijali.

Pamiętajmy, że ARM to architektura RISC, która po spadku z piedestału SUPERKOMPUERów powróciła w rozwiązaniach embedded i mobile. Jej siła to częściowa otwartość i szerokie klonowanie, a to nie jest cecha charakterystyczna APPLE, który nie wiadomo co zrobi z swoimi AXami!

Byłbym sceptyczny co do ARM i nie wyobrażam sobie MacaPro na ARM chyba, że 24 procesorowego.

Xanthia   11 #11 15.10.2013 18:56

Kiedy Apple poinformowało o nowym 64bit procesorze i o tym, że napisali OD NOWA iOS wiedziałam dwie rzeczy, Apple daje ludziom kolejną bajkę i że źle się to dla Apple skończy - http://www.youtube.com/watch?v=DNw457joq5I takie rzeczy to standard. Ciekawe kiedy Apple pozwie Microsoft o skopiowanie BSOD w przeszłości? :D

Kolejna sprawa to oczywiście "wydajność" takiego 64 bit procesora, na pewno A7 jest szybszy od A6, ale czy na pewno to zasługa 64 bit? Chyba każdy z was korzysta z systemów 64bitowych, jeśli nie w domu to w pracy, na uczelni itd. I co, widać tą różnicę? Otóż nie bardzo. 32 bit system wcale nie jest zauważalnie wolniejszy od 64 bitowego, niektóre długotrwałe obliczenia wychodzą minimalnie szybciej, ale to są różnice marginalne, w przypadku gier różnic prawie nie ma - http://www.youtube.com/watch?v=Z9oLZwmO0L8
Jeśli komuś się wydaje, że gry na iCosiach z 64bit procesorem będą działać lepiej, to tu większy test - http://www.benchmark.pl/testy_i_recenzje/Windows_7_vs_Vista_-_testy_wersji_32_i_...
W przypadku aplikacji jest podobnie - http://www.phoronix.com/scan.php?page=article&item=ubuntu_x86_1304&num=2
Paradoksalnie 64 bit aplikacje wypadają czasem gorzej niż te 32 bitowe.

Apple po raz kolejny zagina rzeczywistość obiecując nie wiadomo jak piękne gruszki na wierzbie, ale na pewno nie będzie tak słodko. To tylko kolejna ściema dla userów. Poza tym PAE powinno działać także na procesorach ARM (oczywiście przepisane). Inna sprawa, że im więcej ramu tym większe zużycie baterii, a więc szybko 4GB w iCosiach nie zobaczymy.

Jeśli natomiast Apple wprowadzi ARM do swoich komputerów, to można być pewnym tylko jednego - Apple przestanie być kompatybilne ze wszystkim. Już widzę jęczących macuserów, którzy nie będą mogli już odpalić Windowsa na śmiesznie wolniutkich komputerkach (one już dziś są śmiesznie wolniutkie) i protezować koszmarnie napisany OSX apkami pod emulatorem...

Z mojego punktu widzenia pomysł jest świetny, Apple przejedzie się na nim jak Zabłocki na mydle i bardzo dobrze :D

xomo_pl   21 #12 15.10.2013 19:07

jeśli chodzi o samą ideę procesorów x64 w urządzeniach mobilnych to jest to ciekawa idea niemniej pobudki, któe za tym idą są chore... 4GB RAM w smartfonie? na co w obecnej sytuacji, kiedy to mamy osobny smartfon, tablet, konsolę itd? wprowadzenie x64 ma na celu tylko jedno: zamiast skupić się na optymalizacji kodu ładują coraz mocniejsze podzespoły

za kilka lat x64, w sytuacji gdyby smartfony/tablety przeistoczyły się w formę "bazy", którą wpinalibyśmy pod duży ekran- zamiast kupować np. cały laptop kupować tylko ekran z klawiaturą itd (coś ubuntu miało w planach) miałoby to sens a tak przerost formy nad treścią....

macminik   16 #13 15.10.2013 19:20

Ja myślę, że 64-bit wprowadzono z kilku powodów. Po pierwsze, powstanie olbrzymia baza aplikacji 64-bitowych w ciągu roku czy dwóch lat. Nie zapominajmy, że pojawi się nowy iPad, ktory także powinen mieć A7. Skoro będzie już baza oprogramowania, nic nie stoi na przeszkodzie by wprowadzać nowe urządzenia, nie telefony, może nie tablety ... a może właśnie takie centra/bazy. Nic nie będzie stało na przeszkodzie by miały one więcej niż 4 GB. To raczej krok w przyszłość, krok który chce powtórzyć nie Samsung i Qualcomm, więc nie można udawać, że to bzdura.

Xanthia   11 #14 15.10.2013 19:44

@macminik Jaaaasne. Apple przejdzie na ARM. Ok. Tylko zapomnij raczej o wsparciu Adobe, Maxona czy innych poważnych producentów oprogramowania... Chociaż... Kto wie? Co z tego że Photoshop będzie się uruchamiać 5 minut a proste efekty zajmować będą 2-3 minut, wszak to Apple :D Maki z powiedzmy 32/64 procesorami ARM miałby jakąś szansę z przeciętnym PC. Ale na to nie ma co za bardzo liczyć ;)

macminik   16 #15 15.10.2013 20:16

@Xanthia

To samo mówiono, gdy Apple przechodziło na PowerPC.... Adobe też się dąsało. Przy przejściu na Intela było obrażone chyba nawte rok. Ale biznes jest biznes. Jeśli platforma jest popularna i zmiana się opłaci, to zmienią.

freedom   8 #16 15.10.2013 20:49

Nawet AMD zamierza pchać ARMy na rynek serwerowy, co prawda tylko w niższym segmencie (ale równocześnie tam gdzie wymagana jest niski pobór mocy), więc wpis nie jest wcale taki absurdalny. Jednak moim zdaniem jeszcze wiele wody w Wiśle upłynie, zanim ARMy będą w stanie konkurować (o ile w ogóle) z x86 pod względem wydajności w realnych zastosowaniach.

Co do samego faktu wprowadzenia 64-bit w rozwiązaniach mobilnych, ludzie, przecież kiedyś trzeba było zacząć. Na dzień dzisiejszy może i jest to bezsensowne, ale jak nie będzie sprzętu to i oprogramowania tym bardziej. Piszę to jako zadowolony użytkownik Androida.

Xanthia   11 #17 15.10.2013 20:50

@macminik PowerPC nie było platformą mobilną z relatywnie kosmicznie niską wydajnością, nie aż tak jak między obecnymi procesorami x86 a ARM... Biznes, Apple pewnie ma swój biznes - uzależnić userów tylko od siebie ;) To nie ma nic wspólnego z postępem. To taka sama ściema jak 64bit procesor i plastikowy iPhone 5Crap ;]

mikolaj_s   14 #18 15.10.2013 22:28

@fervi:
Apple nawet jak przejdzie na ARM nie zacznie produkować sprzętu dla mas, ceny jak spadną to o mało znaczący procent.
Tę połowę mniejszą wydajność to mają przy porównywalnej częstotliwości, a najbardziej wydajne Intele zostawiają daleko w tyle ARM. W mobilnych MacBookach już może być lepiej.

@PAMPKIN:
" Jej siła to częściowa otwartość i szerokie klonowanie, a to nie jest cecha charakterystyczna APPLE, który nie wiadomo co zrobi z swoimi AXami! "

To nie jest takie czarno-białe. Raz, że ARM jest o tyle otwarty, że ma wspólną specyfikację, ale co już robią z nią producenci konkretnego procesora to już ich sprawa i nie ma to już nic wspólnego z otwartością. Apple nie będzie tutaj lepsze ani gorsze. Inna sprawa, że z Twojej wypowiedzi można by sądzić, że Apple jest nastawione tylko na zamknięte rozwiązania. A znowu nie jest to takie oczywiste. Apple mocno opiera się na otwartym oprogramowaniu i sam wspiera wiele projektów z których później mocno czerpie. Ale również tacy ludzie jak ja używający głównie Linuksa korzystają z tego wsparcia, że wspomnę chociażby system wydruku CUPS.

  #19 15.10.2013 22:43

Xanthia: Ty weź się zastanów co zmieniono w X86-64 a co w ARM v8. Potem pomyśl dlaczego jedno przyspieszyło, a drugie nie. Bo rzucanie benchmarków jednej architektury i w domyśle sugerowanie, że dotyczą one również drugiej jest zwyczajnie bzdurne.

Xanthia   11 #20 16.10.2013 08:01

@sprae (niezalogowany) To Ty mi powiedz co zmieniono w X86-64 a co w ARM v8, a potem wyjaśnij dlaczego jedno przyśpieszyło (aby na pewno?) a drugie nie (aby na pewno?). Może rzucisz jakimiś benchmarkami właściwej architektury by w domyśle nie sugerować, że nie są one zwyczajnie bzdurne?

macminik   16 #21 16.10.2013 14:37

@dzikiwiepsz

Był też bez metalowej okładzinki. Ten jest chyba z iPada. W telefonach są gołe.

PAMPKIN   11 #22 17.10.2013 07:30

Kupię żonie MBA bo może to ostatni na intelu - choć chyba jeden z pierwszych na Haswellu.

macminik   16 #23 17.10.2013 09:01

@Pampkin

raczej nie ostatni, bo to nie jest kwestia roku czy nawet dwóch lat... ale nie wiadomo :D

LoliconSuspect   5 #24 18.10.2013 07:45

"Jak widzę niektóre gry na iOS, to konsole nie mają się czym specjalnie szczycić."
Kompletnie niczym. Tylko dużo lepszą biblioteką gier.

jaredj   10 #25 18.10.2013 15:00

To ostatnie pytanie i odpowiedź mnie po prostu położyły na łopatki:
"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…"

Jakby to miał być jakiś merytoryczny argument to bym poległ ... :)

Ogólnie zgadzam się z przemyśleniami we wpisie. Nie zgadzam się z kwestiami dotyczącymi interfejsu windows 8 ale to temat i tak kontrowersyjny. Ja po prostu uważam, że MS zakłada zunifikowanie wszelakich urządzeń, wtedy jednolity interfejs będzie ich atutem. Bez przesady oczywiście, bo dalej inaczej będzie się obsługiwać windowsa w zegarku a inaczej na wallu w sypialni, chodzi o wspólną filozofię obsługi.

Jestem bardzo ciekaw tego, czy apple faktycznie zamierza zastosować swoje procesory w każdym swoim sprzęcie.