Értesítés, hogy le ne maradj semmiről! Iratkozz fel és értesülj azonnal a legfrisebb tartalmakról! Nálunk te döntöd el, miről kérsz értesítést! Feliratkozok Többet szeretnék megtudni
blog wallpaper
Technapló

M1 - az Apple bemutatta a jövőt?

Néhány hete az Apple bemutatta az első saját tervezésű processzorát, az M1-et, mellyel valószínűleg új trendet indított el a számítógépes piacon, és nagyon úgy tűnik, hogy a saját platformján a cég tényleg néhány éven belül leszámol az Inteles chipek hagyatékával - már csak az a kérdés, hogy többiek tudják-e majd követni az Apple lépéseit, vagy sem.
Az Apple által közölt számok már első ránézésre elképesztőek: sokkal kisebb fogyasztás, melyhez sokkal halkabb - akár teljesen passzív - hűtési megoldás is társul. Ráadásul a jobb energia hatékonyság sokkal hosszabb üzemidőt is jelent a hordozható eszközök esetében.
Pedig a technológia alapjaiban semmi új nincsen: a processzor ARM alapú, olyan ami minden mobiltelefonban már lassan egy évtizede megtalálható - így jogosan merül fel a kérdés, hogy miért pont az Apple használja először ezt a technológiát számítógépekben, miért nem jutott másnak eszébe, hogy így növelje meg jelentősen az egy feltöltéssel elérhető üzemidőt?

A válasz az, hogy nem az Apple az első: A Microsoft már a Windows 8-ból kiadott RT verziót, mely ARM alapú rendszereken is tudott futni, és azóta is rendszeresen kísérletezik ilyen megoldásokkal - ezek a kísérletek viszont rendszeresen kudarcba futnak, a miértre a válasz pedig nem más, mint a szoftver - illetve azok hiánya.

A Microsoftnak a Windows 8 megjelenésekor az volt a terve, hogy a fejlesztők majd elkészítik az alkalmazásaikat az újonnan bemutatott Universal Windows App nevet kapó, UWP-nek rövidített rendszerében, mely alkalmazások nemcsak hogy a legkülönfélébb architektúrákon fognak majd tudni futni, de igazodnak az architektúrához tartozó eszköz jellegzetességeihez is, így a kijelző mérethez, és a beviteli eszközök elérhetőségéhez is. Ennek megfelelően az UWP alkalmazások képesek futni egy ARM alapú telefonon, egy x86-64-es PC-n vagy egy ARM-es laptopon, vagy akár Xboxokon is.

Az elképzelésből csak egyetlen dolgot felejtettek ki: a fejlesztőket, akik a régóta elérhető Windowsos alkalmazásaik fejlesztését nem akarták teljesen új alapról elölről kezdeni. Így az ARM-es Windowsos eszközök hiába bírták jelentősen tovább egyetlen feltöltéssel, az alkalmazások elérhetőségének korlátossága miatt sosem lettek ezek az eszközök népszerűek a felhasználók között.
Fontos még megemlíteni azt is, hogy első próbálkozásokkor az ARM-es chipek teljesítményben még jócskán elmaradtak a csúcs Inteles és AMD-s társaiktól, de ez tűnik a kisebb problémának, ugyanis a Microsoft, és a különböző hardver-gyártók sosem az aktuális csúcs-eszközöket célozták meg az ARM-es variánsokkal, hanem az alsó és közép kategóriás piacra próbáltak meg betörni, ahol teljesítményben már akkoriban is megállták a helyüket.

Hasonlóan régóta elérhetőek ARM-es verzióban a különböző Linuxok is. Itt alapvetően egy teljesen más koncepciót láthatunk, mint amit a Microsoft képviselt: Itt az egyes disztribúciók jellemzően nem korlátozták le a fejlesztők lehetőségeit egyetlen, új platform alá. Ennek megfelelően az egyes fejlesztői eszközök, könyvtárak és programnyelvek fordítóprogramjai egy idő után elérhetővé váltak ARM alá is, így a régi alkalmazások, melyek egyetlen kattintással lefordultak Intel 32-es vagy AMD64-es architektúra alá, azok jellemzően hasonló egyszerűséggel fordultak ARM-es kóddá is. Így rengeteg csomagnak érhetjük el az ARM-es verzióját is. Ennek ellenére a Linux számítógépeken sosem örvendett nagy népszerűségnek, így a számítógép-hardver tervezése során sem volt sosem hangsúlyos a csak Linuxok számára előnyös architektúrájú gépek tervezése, így az ARM Linuxos körökben - megfelelő teljesítményű, olcsón és könnyen megvásárolható hardver (vagy azok Linuxos drivereinek) híján - sem terjedt el a PC-k és notebookok esetében, az ARM-es Linuxok otthoni felhasználása megmaradt a Raspberry PI-k és NAS-ok vonalán.

Teljesen más, mégis ide kívánkozik a Google esete a számítógép-piaccal, hiszen ott nincs szó egy régi architektúra lecseréléséről, a ChromeOS, és a ChromeBook-ok már alapból úgy készültek, hogy ARM és x86-64 architektúrán is tudnak működni, így az erre írt alkalmazások is futnak minden gépen, processzortól függetlenül. Mégis ez esetben is az alkalmazások tűntek a szűk keresztmetszetnek: mivel egy vadonatúj operációs rendszerről volt szó, így az alkalmazásoknak csak egy szűk köre volt elérhető az eszközökön. Bár ezen később változtatni kezdett a Google az Androidos alkalmazások elérhetővé tételével, de ezek a jellemzően mobilra és tabletre tervezett alkalmazások lényegében nem pótolják a PC-re írt alkalmazások hiányát, így sok felhasználási mód esetén a Chromebook-ok még mindig hátrányból indulnak a másik 2 nagy rivális platformhoz képest.

Az Apple tehát nem találta fel az ARM-es számítógépet, viszont amit csinált, az mégis elismerésre méltó. Ahelyett, hogy a Microsoft hibájába esett volna, alapjaiban inkább a Linux módszerét követte: az eddig fejlesztett alkalmazások közül nagyon sok minimális munkával, a megszokott programozási környezetben működhet tovább úgy, hogy immár ARM-es architektúrán is fognak tudni futni. Emellett azokra a helyzetekre is gondolt az Apple, amelyekben valamiért mégis nehezebb az alkalmazás ARM-es verziójának elkészítése (vagy ha szimplán egy olyan alkalmazásról van szó, aminek a fejlesztésével már senki nem foglalkozik), hiszen ezekben a helyzetekben a Rosetta 2 siet a felhasználók segítségére, mely emulált x86-64-es környezetet biztosít ezen alkalmazások számára.

Ezek mellett természetesen a jövőbe mutató, kötelező köröket is megtette a vállalat, így Universal Apps néven kidobott egy olyan platformot, melyben az elkészített alkalmazások x86-64 és ARM-es binárisok formájában is elérhetővé válnak, emellett pedig iOS-en és Mac-eken is futnak, alkalmazkodva a rendszerek jellemzőihez, így a kijelző méretéhez és a beviteli módokhoz is.
Így tehát az Apple jövőbeli terve az eszközök közötti átjárhatóságot illetően nagyon hasonlít ahhoz, amit a Microsoft már egyszer elkezdett, vagy amit a Google tett akkor, amikor az Androidos alkalmazásokat elérhetővé tette ChromeOS-on, viszont mégsem erőltette rá azt egyből a fejlesztőkre, és a felhasználóknak is megadta a lehetőséget, hogy fokozatos lehessen a régi és az új közötti átállás. És az első hetek tapasztalatai alapján úgy tűnik az Apple megoldása működik: bár vannak hibák a Rosetta 2 működésében, de úgy tűnik, hogy az egyszerű portolhatóság miatt gyorsan elérhetővé válnak az eddigi alkalmazások ARM alá is, így tehát az Apple-nak nem kell várnia a Universal Apps sikerére ahhoz, hogy néhány év alatt teljesen ARM alapokra álljon át.

Viszont ha a Microsoftnak nem sikerül követnie ezeket a lépéseket, akkor hordozható eszközök piacán az a furcsa helyzet alakulhat ki, hogy egy Apple notebook 2-4x jobb üzemidőt fog tudni kínálni a Windowsos társaikhoz viszonyítva - ami érhetően jelentős hátrányt jelentene a Microsoft számára, főleg azokban az országokban, ahol a Windows népszerűsége nem annyira magától értetődő, mint hazánkban.

Szerencsére a Windows 8 megjelenésekor alkalmazott, minden alkalmazást tereljünk át egy új fejlesztői platformra elvet azóta már elvetette a Microsoft is, és szeptemberben bejelentették, hogy az ARM-es Windowson is, az Apple Rosetta 2-jéhez hasonló módon támogatni fogja a x86-64 architektúrájú alkalmazások futtatását is. Az első, ezzel a képességgel érkező Windows várhatóan 2021 nyarán érkezhet meg. Emellett megjelent a C++ programnyelv ARM-es fordítója Windowsra is, illetve Java-hoz az OpenJDK is elérhető ARM-re, így már UWP-n kívüli alkalmazások is elérhetőek lehetnek Windows 10-re ARM-es verzióban, így felgyorsulhat az ARM-re is elérhető Windowsos alkalmazások elterjedése.

Az M1 ráadásul túlmutat azon, hogy az ARM alkalmazásával csökkentsük a fogyasztást, és növeljük az üzemidőt, mivel a teljesítmény növelése céljából olyan elemeket integráltak szorosan egymáshoz, amilyen rendszert - az Apple szavaival élve - eddig még nem láthattunk: Így nem csak a processzor és a videokártya került egyetlen chip-re integrálva, de a megtalálható itt egy mesterséges intelligenciát támogató Neural Engine, illetve a memóriakezelési mód is újszerű, az Unified memory-nak elnevezett memóriakezelési architektúra lévén az előbbi komponensek ugyan azt a memóriát használhatják, közös címzési módot használva, így a CPU, GPU és Neural Engine közötti adat-megosztás sem jár a rendszerben adatok másolásával. Az ARM processzorok fejlődése mellett ezek a lehetőségek teszik lehetővé azt is, hogy az M1-nek nem az alsó-közép szegmenst kell a termékekben céloznia, hanem az olcsóbb felső kategóriás hordozható eszközök teljesítményével egyenértékű számítógépet sikerül az Apple-nak bemutatnia. 

Így tehát a jövő nem csak a belépő és közép szintű hordozható eszközök jelentősen hosszabb üzemidejéről szól, hanem várhatóan teljesítményben is beérheti az ARM a mostani csúcs-gépek szintjét.

vmarci21 profilképe
Veszter Márton @vmarci21 Weblap fejlesztő, az IntoMedia tagja. PHP, JavaScript és MySql témák mellett érdekli a Windows, Linux disztribúciók, Android fejlődése, az IT biztonság, és az újdonságokat felmutató IT termékek.
Hozzászólások -
Vendég profilképe Vendég
{{comment.dateWrite}} Válasz
Válasz {{answer.dateWrite}}