Apple Silicon M1 (2020)

Kako je jedan mobilni čip za britansko kućno računalo iz 1985. srušio Intelov monopol i natjerao Apple da sam sebi bude konkurencija.

poglavlje 3/1619 min čitanja2020 – 2023

Studeni 2020. Svijet je, ako se toga još sjećaš, u onoj fazi pandemije kad se ljudi svađaju oko maski preko videopoziva, a lanci opskrbe pucaju kao jeftina gumica za kosu. Čipovi su odjednom rijetki kao pristojan komentar na internetu — fabrike u Aziji rade s polovicom kapaciteta, brodovi stoje u lukama, a proizvođači automobila gase pogone jer nemaju ni komadić silicija za senzor koji im javlja da su vrata ostala otvorena. U tom kaosu Apple izlazi na virtualnu pozornicu (jer, dakako, ni jedno normalno okupljanje ljudi u dvorani te godine nije postojalo) i objavljuje nešto što bi u mirnijim vremenima izazvalo infarkt cijeloj industriji.

Napuštaju Intel. Partnera od 2006. godine, onog istog Intela čiji je logo stajao na naljepnici svakog MacBooka prodanog u posljednjih četrnaest godina, onog Intela koji je bio sinonim za ozbiljno, profesionalno računalo. Umjesto njega, u novi Mac ide čip koji je Apple sam nacrtao — i koji je, u srži, rođak istog silicija koji ti već godinama sjedi u iPhoneu u džepu. Riječ je o ARM arhitekturi — drugačijem „nacrtu” za slaganje procesora od onoga koji desetljećima koristi Intel (to se zove x86); pojednostavljeno, ARM je dizajniran da radi manje operacija po taktu, ali troši puno manje struje, što je razlog zašto ti telefon ne treba punjač svakih dva sata. Ona ista arhitektura čije je sjeme posađeno 35 godina prije, u britanskoj firmi koja je htjela samo jeftin procesor za kućno računalo (K3, pogl. 6 — Acorn, ako te zanima taj dio priče). Trideset i pet godina od garaže u Cambridgeu do laptopa na kojem sad možda čitaš ovo poglavlje.

A onda dođu recenzije. I brojevi. Baterija koja, čekaj, traje cijeli dan bez punjenja? Ventilator koji se, čekaj, uopće ne pali? Ono što je trebalo biti kompromis — mobilni čip ugurani u pravo računalo — pretvara se u nešto što nitko u redakcijama nije stigao ni spremiti u kalup skepse, a kamoli ga osporiti.

Ono što se ovdje zapravo događa nije samo zamjena jednog čipa drugim. To je lekcija koju je Jack Tramiel naučio Commodore desetljećima prije (K3, pogl. 5) — da onaj koji kontrolira cijeli lanac, od dizajna čipa do zavrtaljke na kućištu, na kraju pobjeđuje onoga koji samo sklapa tuđe komade. Apple je tu lekciju odradio do posljednjeg detalja. I baš zato ova priča nije samo o jednom studenom u pandemiji. Ona je o tome kako se strpljenje od trideset i pet godina, jedna garaža u Engleskoj i jedna odluka donesena u punoj neizvjesnosti pandemijske godine spoje u računalo koje jednostavno radi bolje nego što bi trebalo.

Usred svega toga, Apple — firma koja prodaje računala — odlučuje da je to savršen trenutak da promijeni srce svakog svog Maca. Ne ažuriranje. Ne nova ljuštura. Nego zamjena onoga što se zove arhitektura procesora — jezika kojim čip razmišlja. To je, tehnički rečeno, ludo. Marketinški, isto ludo. A Apple je to napravio kao da naručuje kavu.

Da razjasnimo o čemu govorimo. Procesor nije samo brzina i broj u imenu. Procesor ima svoj skup instrukcija — vokabular kojim mu se govori što da radi. Intelovi čipovi desetljećima govore x86, glomazan i razgranat jezik s hrpom sitnih pravila; ARM govori nešto poput pojednostavljenog dijalekta (RISC, ako želiš skraćenicu), manje riječi, ali svaka odrađuje posao brže i s manje energije — i upravo zato ta dva jezika nisu međusobno razumljiva. Svaki program koji je ikad napisan za Mac govorio je taj stari, Intelov vokabular. I sad Apple kaže: od sutra, novi vokabular. Prevedi se, ili nemoj postojati.

Ono što malo tko spominje jest da je to Appleu već treći put. Prvi put su devedesetih prešli s procesorske obitelji 68k (stari dizajn Motorole) na PowerPC — zajednički projekt Applea, IBM-a i Motorole. Drugi put, 2006., prešli su s PowerPC-a na Intel, onaj isti Intel čiji su čipovi od tada bili srce svakog Maca — četrnaest godina lojalnosti. I sad, 2020., Apple gasi Intel i pali ARM. Tri puta u tri desetljeća firma je uzela cijeli svoj katalog softvera, cijelu bazu korisnika, i rekla: bacamo temelje, gradimo nove. Nijedna druga velika tehnološka firma to ne radi tako često niti tako bezobzirno. Microsoft još i danas vuče kompatibilnost unatrag do programa iz devedesetih. Apple bi takav program vjerojatno prvo ismijao, a onda ga jednostavno ugasio idućim ažuriranjem.

Zašto baš sad? Odgovor nije samo ambicija, nego i — recimo to iskreno — Intelova nemoć. Godinama je Intel bio sinonim za napredak procesora, ali proizvodni proces im se zaglavio: obećani skokovi u minijaturizaciji kasnili su godinu za godinom, generaciju za generacijom, dok je fizika sve glasnije govorila da tranzistori ne mogu postati beskonačno manji, beskonačno brzo. Partner na kojeg se Apple oslanjao četrnaest godina počeo je isporučivati čipove koji su grijali laptope kao tostere i trošili baterije kao da su na dijeti od pola sata. Apple je čekao, čekao, i onda odlučio da čekanje više nije opcija.

Rizik nije bio apstraktan. Svaki program na svijetu napisan za Mac — od Photoshopa do neke tetkine tablice u Excelu koju koristi dvadeset godina — morao je nekako, nekim čudom, raditi na potpuno drugom čipu, prvog dana, bez da korisnik primijeti razliku. Problem je taj što procesor ne razumije kod sam po sebi — netko ga mora prevesti u jezik koji baš taj čip govori, a Intelov i ARM-ov jezik razlikuju se kao hrvatski i mađarski. Da bi program radio »nativno«, dakle brzo i bez posrednika, mora biti posebno pripremljen i preveden baš za taj tip procesora; bez toga se ili ne pokreće, ili radi kroz nekakav prevoditelj usput, sporije. Ako to ne uspije, cijela linija Macova postaje skupa cigla. Analitičari su vrtjeli glavom. Neki su otvoreno pisali da je ovo trenutak kad Apple konačno pojede svoju vlastitu ambiciju.

Ali dok su drugi računali koliko će programa ostati zauvijek slomljeno, Apple je već imao adut u rukavu, spreman godinama unaprijed. Taj adut nije bio marketinški trik, nego čip koji je u srcu isti kao onaj u iPhoneu — arhitektura posijana tridesetpet godina prije, u malom uredu u Cambridgeu, za računalo koje danas nitko ne pamti. O tome malo kasnije. Za sad — zamisli skok bez mreže, izveden s takvom sigurnošću da je izgledalo kao da je mreža uvijek bila tamo.

ARM: 35 godina do prekonoćnog uspjeha
§ 02

ARM: 35 godina do prekonoćnog uspjeha

Vratimo se malo unatrag, jer priča o M1 zapravo ne počinje u Cupertinu 2020. godine — počinje u jednoj hladnoj tvorničkoj hali u Cambridgeu, 1985., kad je britanska tvrtka Acorn Computers (sjećaš se, K3, poglavlje 6) trebala procesor za svoje novo kućno računalo, a nije imala love za skupi silicij od Intela ili Motorole. Pa su ga dizajnirali sami. Acorn RISC Machine. ARM. Cilj im nije bio brzina po svaku cijenu — cilj im je bio nešto što troši malo struje, ne grije se kao radijator i ne košta bogatstvo. Zvuči skromno. I bilo je skromno, dobrih petnaestak godina.

Onda se dogodilo ono što se uvijek dogodi s dobrim, skromnim inženjerskim rješenjima — netko drugi ga je iskoristio za nešto što originalni autori nisu ni sanjali. ARM licenca je otišla u telefone. K5, sjećaš se te priče — u eri mobitela procesor koji ne isprazni bateriju u dva sata i ne pretvori ti džep u grijalicu odjednom je vrjedniji od procesora koji je najbrži na svijetu. ARM nije bio najbrži. Ali bio je najefikasniji. I ispalo je da svijet, kad mu daš izbor, više voli telefon koji traje cijeli dan nego telefon koji je 8% brži, ali se ugasi u pola vremena.

Pa dobro, kažeš, ako je ARM tako dobar za telefone — zašto ga nitko nije stavio u računalo prije 2020.? Kratak odgovor: jesu, pokušavali su, i uglavnom je bilo osrednje. ARM čipovi u jeftinim Windows laptopima postojali su i prije M1-a, i uglavnom su bili spori, nekompatibilni i zaboravljeni u roku od godinu dana. Licencirati generički ARM dizajn i staviti ga u laptop nije isto što i ono što je Apple napravio. Apple nije kupio tuđi ARM čip s polica — Apple je, koristeći ARM licencu, dizajnirao svoj vlastiti procesor od nule, s vlastitim inženjerskim timom koji je godinama prije toga već brusio vještinu na iPhoneu i iPadu. Svaki A-čip u tvom starom iPhoneu, svaka generacija od A4 nadalje, bila je zapravo trening runda za ovaj trenutak. Apple nije ušetao u utrku procesora 2020. Ušetao je 2010., samo je to malo tko tako gledao.

I tu se zatvara krug koji je počeo u toj cambridgeškoj hali. Trideset i pet godina od dizajna koji je trebao spasiti jedno skromno britansko kućno računalo od financijskog kraha, do čipa koji tjera najskuplje laptope na planetu, a usput troši manje struje nego fen za kosu. Nitko u Acornu 1985. nije razmišljao o MacBookima. Nitko nije razmišljao ni o iPhoneu, uostalom. Razmišljali su kako spasiti tromjesečni budžet. Cijela ta priča je, ako je gledaš izbliza, jedan dugi niz sretnih slučajnosti koje su se poklopile s jednom upornom idejom — da efikasnost, ne sirova snaga, na kraju uvijek pobjeđuje. Samo je trebalo trideset i pet godina da svijet to skuži.

Rosetta 2: kompatibilnost bez boli
§ 03

Rosetta 2: kompatibilnost bez boli

Sad, tehnički problem koji je Apple sam sebi servirao je otprilike ovakav: cijela industrija Mac softvera, četrnaestak godina razvoja za Intel, milijuni instalacija, sve je to napisano i skompilirano za Intelov jezik (x86) — a »skompilirano« znači da je programerski kod unaprijed pretvoren u niz instrukcija koje baš taj procesor razumije, jednom, kao što se knjiga jednom prevede pa je onda svi mogu čitati brzo. Novi čip, M1, govori posve drugi jezik (ARM). To je kao da si cijeli grad godinama učio talijanski, a onda odlučiš da od sutra svi govore mandarinski — i pri tom očekuješ da nitko ne primijeti razliku. Zvuči kao recept za katastrofu, i mnogi su ga upravo tako i najavljivali.

Rješenje se zove Rosetta 2, i u srži nije ništa mistično — samo, kao i uvijek, netko je to morao stvarno dobro napraviti. Zamisli prevoditelja koji stoji na granici i uzima svaku rečenicu na talijanskom, prevodi je u mandarinski, i to radi tako brzo da sugovornik s druge strane ni ne primijeti da postoji prevoditelj. Rosetta 2 to radi s programskim kodom: uzme staru Intel instrukciju, na licu mjesta je pretvori u ARM instrukciju, i pusti je dalje. Neke aplikacije Apple prevede unaprijed, čim ih instaliraš (statička kompilacija — cijela knjiga se prevede jednom, pa se čita brzo). Druge, one rjeđe korištene ili one koje generiraju kod u letu, prevodi u stvarnom vremenu, red po red, dok program radi (JIT — just-in-time, prevoditelj koji sjedi pored tebe i šapće).

Ovdje vrijedi malo demistifikacije, jer riječ »prevoditelj« zvuči kao da netko čita kod i razumije što on znači. Ne razumije. Baš kao ni prava Rosetta ploča po kojoj je softver dobio ime — kamen s istim tekstom ispisanim na egipatskim hijeroglifima, demotskom pismu i starogrčkom, koji je znanstvenicima omogućio da dešifriraju hijeroglife tako da uspoređuju redak po redak — ni Rosetta 2 ne shvaća namjeru programa. Ona samo zna: ova hrpa Intelovih instrukcija znači isto što i ova hrpa ARM instrukcija, zamijeni jedno za drugo, i to bez greške, milijardu puta u sekundi, bez da ikad zastane i pita se je li to dobra ideja.

I tu dolazimo do razloga zašto je ovaj prelazak upalio, dok su prošli — pogotovo onaj s PowerPC-a (drugog tipa procesora, kojeg su Mac računala koristila prije Intela) na Intel 2006. godine — bili puni gunđanja, sporih programa i mjesecima čekanja da developeri isporuče nativne verzije. Apple je ovaj put imao dvije stvari koje prije nije imao. Prvo, godine iskustva: čip-timovi koji su desetljećima optimizirali ARM procesore za iPhone i iPad (K3, pogl. 6 — ARM sjeme iz britanske garaže, sad konačno posijano na pravom tlu) znali su točno gdje se u prevođenju stvara grlo boce, i M1 je hardverski dizajniran s posebnim krugovima koji Rosetti pomažu — čip fizički ubrzava upravo one operacije koje su prevoditelju najteže. Drugo, apsolutna kontrola nad cijelim sustavom: procesor, operativni sustav, alati za developere — sve iz iste kuće (Tramielova lekcija ponovno, samo dovedena do vrha, pogl. 4). Kad kontroliraš i čip i sustav, ne moraš nagađati kako će se ponašati tuđi dio — jednostavno ih dizajniraš da savršeno sjednu.

Rezultat je ono što u inženjerskim krugovima zovu najvećim mogućim komplimentom: korisnik ništa ne primijeti. Otvoriš stari program napisan za Intel, misliš da radi na Intelu, i on... radi. Malo brže od originala, ako ćemo pravo. Nema poruke greške, nema tri sata čekanja, nema foruma punih ljudi koji plaču zbog izgubljenih datoteka. Ako je najveći trijumf inženjeringa taj da se njegov rad ne vidi — onda je Rosetta 2 jedan od tiših, ali najvećih trijumfa desetljeća.

Ali priča nije samo o tome da ništa nije puklo — priča je o brojkama koje su slijedile, i one su bile toliko dobre da su testeri prve dane provjeravali jesu li rezultati mjerenja pokvareni. (Benchmark je, ako ti pojam ništa ne govori, standardizirani test brzine — isti zadatak pokreneš na više uređaja i uspoređuješ tko ga rješava brže, otprilike kao kad bi sve automobile pustio na isti krug staze da vidiš koji je najbrži.) Bazni MacBook Air s M1, bez ventilatora, bez ičega što bruji, tukao je po performansama modele s Intel procesorima koji su imali ventilatore, veće kućište i veću potrošnju. Baterija je trajala gotovo dvostruko dulje na istim zadacima. Efikasnost — ne sirova snaga, efikasnost — je bila ta koja je šokirala: čip koji trošeći djelić energije Intelovog rješenja isporučuje istu ili bolju izvedbu. To nije bilo poboljšanje od deset posto koje se slavi na konferenciji i zaboravi za mjesec dana. To je bio skok generacije, isporučen preko noći, u laptopu koji košta kao i prošlogodišnji model.

Vertikalna integracija kao supermoć
§ 04

Vertikalna integracija kao supermoć

Evo poante koju konkurencija neće voljeti čuti: M1 nije samo dobar čip. M1 je dobar čip zato što ga nitko drugi nije mogao napraviti — ne zato što je Apple pametniji od Intela ili Qualcomma, nego zato što je jedina firma na svijetu koja istovremeno dizajnira procesor, operativni sustav i kućište u koje to ide. Intel prodaje čip. Microsoft prodaje Windows. Dell sastavlja kućište. Tri firme, tri sastanka, tri proračuna, i nitko od njih ne može reći drugome »promijeni svoj proizvod da paše mome«. Apple je svih troje. Kad inženjer koji piše macOS kernel (jezgru operativnog sustava, onaj dio koji razgovara direktno s hardverom) sjedi u istoj zgradi kao inženjer koji crta tranzistore, i oboje mogu otići na kavu i dogovoriti se da će jedna instrukcija raditi malo drugačije jer to olakšava drugom, dobiješ nešto što se ne može kopirati iz priručnika.

Ovo nije nova ideja — Apple je samo napokon primijenio na najveću moguću skalu. Jack Tramiel je to znao još s Commodoreom 64 (K3, pogl. 5): kupiš tvrtku MOS Technology koja pravi čipove, i odjednom imaš svoj čip, ne plaćaš nikome marginu i ne moliš tuđi tim da ti isporuči na vrijeme. Ken Kutaragi je istu logiku odveo u drugu krajnost s PlayStationom (K4, pogl. 19) — hardver dizajniran oko jedne igre, jednog iskustva, bez kompromisa za generičku upotrebu. Apple je spojio oba nagona: kontrolu nad troškom kao Tramiel i kontrolu nad iskustvom kao Kutaragi, samo na proizvodu koji mora podnijeti Excel, Photoshop i Zoom istovremeno, a ne samo jednu igru.

Tehnički, ta integracija se najbolje vidi na dvije stvari koje zvuče kao sitnice, a nisu. Prva je unified memory — ali prije nego objasnimo što je to, podsjetnik: CPU je »glavni mozak« računala, onaj koji rješava opće zadatke, dok je GPU specijalist zadužen za grafiku, slike i sličnu masovnu, ponavljajuću matematiku. U starom svijetu procesor (CPU) ima svoju memoriju, grafička kartica (GPU) ima svoju, i podaci putuju između njih kao pošiljke preko granice, sa svim carinskim zadržavanjima koje to nosi. Apple je stavio sve u jedan zajednički bazen memorije kojem CPU, GPU i ostali dijelovi čipa pristupaju izravno, bez kopiranja naprijed-natrag. Rezultat: manje čekanja, manje energije potrošene na sam transport podataka, i dizajn koji jednostavno ne postoji ako ti OS i čip ne piše ista firma — jer netko mora garantirati da programi neće pretpostaviti stari, odvojeni model.

Druga sitnica je Neural Engine — poseban dio čipa namijenjen isključivo matematici koju vole modeli umjetne inteligencije, ugrađen fizički pored procesora, a ne kao dodatna kartica koju kupiš posebno. Godine 2020. to je zvučalo kao marketinška fusnota ispod benchmarka za Final Cut Pro. Danas, kad ti telefon prepoznaje lice u mraku ili laptop lokalno pokreće jezični model bez slanja ičega na internet, radi to na točno ovom principu — čip s umjetnom inteligencijom ugrađenom u srce, ne zalijepljenom odozgo. Apple je taj ulog stavio na stol prije nego je itko izvana znao da je to uopće opklada koja se vrijedi kladiti.

Pa da, netko će reći, Apple je to mogao samo zato što je bogatiji od svih ostalih zajedno. Točno — ali novac bez odluke da ga trošiš na kontrolu, ne na kupovinu tuđe robe, ne kupuje ovakav rezultat. Apple je desetljećima svjesno birao skuplji, sporiji put — vlastiti čip u telefonu prije laptopa, vlastiti dizajn grafičkog čipa, vlastiti softverski stog odozdo do vrha. M1 nije proizvod jedne godine planiranja. M1 je naplata za dug koji je Apple počeo skupljati onog trena kad je 2008. kupio malu tvrtku za dizajn čipova PA Semi i rekao si: jednog dana ćemo dizajnirati sve sami. To »jednog dana« stiglo je 2020., u godini kad je cijeli svijet inače gorio.

Posljedice
§ 05

Posljedice

Dobro, sad je trenutak da se odmakneš korak i pogledaš cijelu tablu, ne samo jedan potez. Jer M1 nije bio samo dobar laptop — mada, bogami, bio je i to — nego je bio prvi udarac po nečemu što je četrdeset godina djelovalo nedodirljivo. Intel je od 1981., otkad je njegov x86 sjeo u IBM PC (K1, poglavlje 12, sjećaš se te dinastije), praktički vladao stolnim i prijenosnim računalima bez ozbiljnog protukandidata. Tu treba razjasniti jednu stvar: x86 i ARM nisu firme, nego dva različita »jezika« po kojima se čip dizajnira — recept, ako hoćeš, koji razne tvrtke mogu koristiti ili licencirati i onda ga same ispeći na svoj način. AMD je bio vječni drugi u istoj utrci, ali kuhao je po istom x86 receptu kao Intel — konkurencija u prodaji, da, ali ne u arhitekturi. Konkurencija u smislu arhitekture? Nije postojala. Sad je postojala, i zvala se ARM, i sjedila je u laptopu koji si mogao kupiti u trgovini na uglu.

I onda se dogodi ono što se uvijek dogodi kad netko pokaže da je nešto moguće: svi ostali počnu žurno prepravljati domaću zadaću. Microsoft, koji je godinama imao Windows on ARM kao projekt koji je više sramežljivi eksperiment nego pravi proizvod, odjednom ga je počeo shvaćati ozbiljno. Qualcomm je krenuo graditi čipove za Windows laptope s ambicijama koje prije nisu imale smisla — jer čemu se truditi kad ionako gubiš od x86 po performansama, a dobitka na bateriji ni nema, kad je sve svejedno spor. M1 je promijenio računicu. Odjednom ARM na računalu nije bio kompromis, nego argument.

Nazovi to, ako želiš, najavom post-x86 ere. Nije da će x86 sutra nestati — ovakve stvari umiru sporo, K1 poglavlje o mainframeu ti to već lijepo dokazuje. Ali prvi put u četrdeset godina postoji ozbiljna, dokumentirana, mjerljiva alternativa koja pobjeđuje ne u laboratoriju nego u tvom krilu, dok gledaš seriju i baterija ti i dalje ima 60 posto nakon četiri sata. To je prekretnica koja se ne događa svaki dan, i istinski je čudno da se dogodila baš u godini kad je pola svijeta bilo zatvoreno u kućama i gledalo u ekran svog laptopa više nego ikad prije.

A evo tihe poante, one koja se lako progleda jer je sva pažnja otišla na drugu stranu. Svi su te iste 2020., a posebno godinu-dvije poslije, buljili u softver — modele, algoritme, tko će prvi napraviti nešto što zvuči kao znanstvena fantastika. AI je bio priča, hardver je bio nevidljiva vodovodna instalacija ispod kuće. Pa dobro — Apple je te godine pobijedio baš na vodovodnoj instalaciji. Neural Engine, onaj čip za AI koji smo već spomenuli, sjedio je u M1 od prvog dana, tiho, bez fanfara, spreman za stvari koje će tek postati moderne. Dok su drugi pisali blogove o budućnosti, Apple je budućnost već ugradio u tvoj krilo — i naplatio ti je kao dio cijene laptopa.

I sad, ono što ova kronika stvarno nosi kad je odložiš: trik koji je Apple izveo 2020. nije nov. To je isti trik koji je Herman Hollerith prodavao popisu stanovništva prije više od stoljeća — kontroliraj cijeli lanac, od stroja do rezultata, i nemoj dijeliti odluke s tuđim inženjerima. Isti trik koji je Jack Tramiel proveo s C64, isti koji je Kutaragi proveo sa Sonyjem. Vertikalna integracija nije moderna ideja, ona je najstariji adut u ovoj cijeloj knjizi, samo obučen u novo silicijsko ruho. A činjenica da taj stari adut, godine 2020., iznenadi cijelu industriju kao da je nešto potpuno novo — to ti govori nešto važno. Hardver nije riješen problem koji ostaviš iza sebe i prijeđeš na softver zauvijek. Hardver je bojište koje se povremeno umiri, pa te iznenadi kad ne gledaš. Za par godina, kad ti isporuka čipova zapne jer je nestašica opasala svijet (K7, poglavlje 2 — sjećaš se te muke), sjetit ćeš se ove rečenice: silicij je, opet, kralj.