IT priče

Zašto je Appleov iPhone 5s CPU vrlo bitno nebitna stvar

iphone-64bit-lead

U zadnjih nedelju dana svi živi pricaju o novom Appleovom telefonu, magicnom Iphoneu 5s. Jedna od stvari koje potenciraju ad nauseam je ta da ce iPhone 5S imati 64-bitni procesor (OMG).
Neke od vecih gluposti koje sam cuo su u rangu: „64-bit = 2 x 32 – telefon ce mi raditi dva puta brže!!“, ili „Apple ce sahraniti samsung ovim!“.

S obzirom da Apple fanboj ekipa nekako ne može da ucuti, vec se busa netacnim ili polutacnim informacijama, odlucih da lepo objasnim šta je tacno šta.

Zašto se Apple odlucio da prede na 64bitnu arhitekturu?

Ima puno razloga za prelaz, ali cu navesti ovde one koji su (po mom mišljenju) najbitniji:

  • Bice prvi – Apple je prvi napravio 64-bitni CPU za mobilne telefone, a neki put je jednostavno bitno biti prvi.
  • Android tabor nije spreman – 64-bitni cipovi za Android nisu spremni, niti je Android kao takav spreman. Za sada Apple je u prednosti nad konkurencijom, i male su šanse da ce ga android stici pre sredine 2014.
  • Više memorije – 64bitna arhitektura omogucava sistemu da radi sa više memorije. Za high-end telefone je standard da imaju 2Gb. Kako raste kompleksnost aplikacija, tako ce kolicina memorije postajati još bitnija nego što je sada.
  • Unifikacija – Apple je otvoreno rekao da prelazak na 64-bitnu arhitekturu omoguciti unifikaciju koda za OSX i iOS. Ovo je možda i najjaci razlog

Android fanbojevi koji uglas pricaju da je to samo marketinški trik koji ne donosi ništa novo na sto jednostavno ne vide šumu od drveca (ali samo kad su duge staze u pitanju)

32bit / 64bit – Zašto je to bitno?

Kao što sam rekao gore, jedna od najvecih prednosti 64-bitne arhitekture je kolicina memorije koju procesor može da alocira.
Kod desktop mašina (Intel x86 arhitektura), 32-bitni procesori mogu da koriste 4Gb memorije (bez PAE ekstenzije), dok 64-bitni procesori mogu da koriste 16EiB.

Što se mobilnih telefona tice, 32-bitni ARMv8 procesor može da adresira maksimalno 4Gb, gde jedna aplikacija može maksimalno da iskoristi 2-3Gb.

Naravno, ovo ne znaci da ce Apple krenuti da stavlja 4/8/16Gb rama u telefone. Ne zbog toga što ne može, vec zato jer RAM memoriji treba mnogo „struje“ za inicijalizaciju i rad.
S obzirom da je utrošak energije jako bitan u mobilnim uredajima, re-inženjering se radi da bi se smanjila potrošnja baterije, a ne da bi telefon imao 4Gb više memorije koja u realnom radu nikad nece biti iskorišcena.

a7-apple[1]

Zašto arhitektura iPhone 5S a7 cipa nije bitna za krajnjeg korisnika?

Da se ne lažemo, ništa od ovih 64-bitnih prednosti nije važno za krajnjeg korisnika.
Jednostavno receno, nece biti nekog omgWOW dobitka u performansama. 32-bitni Instagram nece znati kako da koristi 64-bitne instrukcije procesora i tu se svaka prica završava.
Glavni razlozi za prelazak na 64-bitnu arhitekturu jednostavno ne postoje na mobilnim platformama. Niti ce postojati u narednih nekoliko godina.
Mešavina 32-bitnog i 64-bitnog softvera može donese mnogo usporenja kod nekih aplikacija (što je jako loše), a može i omoguciti Appleu odlicne performanse u obe kategorije (što je dobro, jelte); ali realne razlike u performansama nece biti dok i telefon i sve aplikacije za njega nisu 64-bitne.
To se nece desiti sigurno još nekoliko godina s obzirom na to da iOS7 podržava sve telefone unazad do iPhonea 4.

Dakle, za sve prakticne primene, prelazak na 64-bitnu arhitekturu je samo marketinški trik, fluff, mahanje novom shiny stvari koja realno ništa bitno ne donosi na sto (barem kad su krajnji korisnici u pitanju).

Šta se može ocekivati na duže staze

Kao što sam rekao više nego jednom u tekstu, na kratke staze ovo ne donosi ništa. Aplikacije koje su sada na App Storeu, i one koje dolaze, ce i dalje biti kompajlirane kao 32-bitne, kako bi mogle da rade na svim ostalim iOS uredjima. Pošto ce iPhone 5S biti brži od svih ostalih iOS uredaja, optimizovati aplikaciju za iphone 5S nema smisla. Sve što radi dobro na iPhoneu 4s, 5, 5C, ce raditi dobro i kad je iPhone 5S u pitanju.
Optimizacije se rade za low-end, high-end je dovoljno jak da može da izgura bez optimizovanja.

Na srednje staze, dolazi momenat kada ce svi iOS uredaji biti 64-bitni, a 32-bitni nece biti podržani. U tom momentu iPhone 5S postaje najstariji podržani iOS uredaj, a iPhone 5C pada u vodu. Ovo, naravno, znaci da ce iPhone 5S imati duži period upotrevljivosti od 5C. S obzirom da je razlika u „broju bitova“ kvalitativna, a ne kvantitativna, postoji verovatnoca da ce iPhone 5S imati godinu-dve duži period upotrebljivosti od 5C.
Tako da ako želite da imate telefon koji cete moci da koristite duži period, trebalo bi da uzmete iPhone 5S bez obzira na sve ostale razlike.

Summa summarum

64-bitni procesor u iPhoneu 5S je odlicna stvar za developere. Bez obzira na to što razvoj iskljucivo 64-bitnih aplikacija nece biti isplativ još jedan duži vremenski period, nikad nije dovoljno radno da se bude siguran da kod radi na 64-bitnoj platformi i prolazi sve testove, kao i da ima dobre performanse.
Ako se posmatra jedan malo duži period, nemoguce je iskljuciti opciju gde ce Apple jednostavno izbaciti podršku za 32-bitne aplikacije i forsirati 64-bitne.
To je sigurno lakše raditi kroz kontinuirani proces nego uz jednu veliku 64-bitnu uzbunu.

Addendum #1: Tekst posvecujem Darku vidicu, najvecem Apple fanboju koga znam.

Leave a Comment

1 Comment