Nova arhitektura memorije u Apple računarima
Apple temeljno preispituje tradicionalni pristup dizajnu i funkcionisanju komponenti unutar laptopa. Uvođenjem M1 čipova u nove Mac računare, Apple uvodi i inovativnu „Unified Memory Architecture“ (UMA), koja značajno poboljšava brzinu memorije. U nastavku teksta ćemo detaljnije objasniti kako memorija funkcioniše na Apple Silicon platformi.
Kako Apple Silicon upravlja RAM-om
Ako vam je promakla vest, Apple je novembra 2020. predstavio novu liniju Mac računara. Novi MacBook Air, MacBook Pro i Mac Mini modeli koriste procesor baziran na ARM arhitekturi, koji je Apple samostalno razvio pod nazivom M1. Ova promena je dugo očekivana i predstavlja rezultat decenijskog iskustva Apple-a u dizajniranju ARM procesora za iPhone i iPad uređaje.
M1 je sistem na čipu (SoC), što znači da u njegovom sastavu nije samo centralni procesor (CPU), već i druge važne komponente, kao što su grafički procesor (GPU), I/O kontroleri, Apple-ov Neural Engine za veštačku inteligenciju, i, ključno za našu priču, fizički RAM je deo istog paketa. Važno je napomenuti da RAM nije integrisan direktno na isti silikon kao osnovne komponente SoC-a, već je postavljen bočno, kao što je prikazano na ilustraciji.
Integracija RAM-a u SoC nije revolucionarna. SoC-ovi za pametne telefone često uključuju RAM, a Apple-ova odluka da postavi RAM module sa strane nije nova, jer je takav pristup prisutan još od 2018. godine. Ako pogledate iFixit rastavljanje iPad Pro 11, primetićete RAM memoriju postavljenu pored A12X procesora.
Ono što je novo je činjenica da se ovaj pristup sada primenjuje i na Mac računare, potpuno funkcionalne uređaje namenjene za zahtevnije zadatke.
Osnovno: Šta su RAM i memorija?
RAM je skraćenica za Random Access Memory. To je primarna memorija sistema, koja služi kao privremeno skladište za podatke koje vaš računar trenutno koristi. To mogu biti razni podaci, od neophodnih fajlova za pokretanje operativnog sistema, preko tabele koju trenutno uređujete, do sadržaja otvorenih kartica u pregledaču.
Kada odlučite da otvorite tekstualni fajl, centralni procesor (CPU) prima instrukciju o tome koji program treba da se koristi. CPU zatim preuzima sve neophodne podatke za ove operacije i učitava ih u memoriju. Nakon toga, CPU manipuliše promenama u fajlu pristupom i izmenom podataka u memoriji.
Tradicionalno, RAM se sastoji od dugih, tankih štapića koji se postavljaju u specijalizovane slotove na matičnoj ploči laptopa ili desktop računara. RAM takođe može biti jednostavan kvadratni ili pravougaoni modul koji je zalemljen na matičnu ploču. U svakom slučaju, RAM je tradicionalno bio diskretna komponenta sa sopstvenim prostorom na matičnoj ploči.
M1 RAM: Diskretni sused
Iako su fizički RAM moduli i dalje odvojeni, oni su smešteni na istoj podlozi kao i sam procesor. Možda se pitate: „U čemu je stvar?“. Pre svega, ovakav pristup omogućava brži pristup memoriji, što neizostavno poboljšava performanse. Pored toga, Apple je optimizovao način na koji se memorija koristi u sistemu.
Apple svoj pristup naziva „Unified Memory Architecture“ (UMA). Osnovna ideja je da RAM M1 čipa predstavlja jedinstvenu memorijsku celinu kojoj svi delovi procesora mogu pristupiti. To znači da, na primer, ako grafičkom procesoru (GPU) treba više sistemske memorije, on je može iskoristiti dok se upotreba od strane drugih delova SoC-a smanjuje. Još bolje, nema potrebe za izdvajanjem memorijskih delova za svaki deo SoC-a i prebacivanje podataka između različitih prostora. Umesto toga, GPU, CPU i ostali delovi procesora mogu pristupiti istim podacima na istoj memorijskoj adresi.
Da biste shvatili značaj ovoga, zamislite kako funkcioniše video igra. CPU prvo prima instrukcije za igru, a zatim prebacuje podatke potrebne GPU-u. Grafička kartica zatim obrađuje ove podatke u okviru sopstvenog procesora (GPU) i sopstvene RAM memorije.
Čak i ako imate procesor sa integrisanom grafikom, GPU obično ima svoj memorijski deo, odvojen od procesorske memorije. Oba dela procesora rade nezavisno sa istim podacima, a zatim prebacuju rezultate napred-nazad između svojih memorijskih oblasti. Ako eliminišete potrebu za prebacivanjem podataka, lako je shvatiti kako držanje svega u istom virtuelnom „ormariću“ može poboljšati performanse.
Evo kako Apple opisuje svoju jedinstvenu memorijsku arhitekturu na zvaničnoj stranici M1:
„M1 takođe koristi našu objedinjenu memorijsku arhitekturu (UMA). M1 integriše memoriju visokog propusnog opsega i niskog kašnjenja u jedinstvenu grupu unutar prilagođenog paketa. Kao rezultat toga, sve tehnologije unutar SoC-a mogu pristupiti istim podacima bez kopiranja između različitih memorijskih grupa. Ovo značajno poboljšava performanse i energetsku efikasnost. Video aplikacije rade brže. Igre su bogatije i detaljnije. Obrada slika je munjevita. I ceo sistem je osetljiviji.“
Nije samo stvar u tome da svaka komponenta ima pristup istoj memoriji na istom mestu. Kako Chris Mellor ističe na The Register, Apple ovde koristi memoriju visokog propusnog opsega. Memorija je bliža CPU-u i drugim komponentama, što omogućava brži pristup nego što bi bio slučaj sa tradicionalnim RAM čipom koji je povezan na matičnu ploču preko interfejsa utičnice.
Apple nije prvi koji je isprobao objedinjenu memoriju
NVIDIA dijagram iz ranih dana kompanije Unified Memory.
Apple nije prva kompanija koja je razmatrala ovaj problem. Na primer, NVIDIA je počela da nudi programerima hardversko i softversko rešenje pod nazivom Unified Memory pre otprilike šest godina.
Za NVIDIA, Unified Memory pruža jedinstvenu memorijsku lokaciju koja je „dostupna sa bilo kog procesora u sistemu“. U NVIDIA svetu, CPU i GPU pristupaju istoj lokaciji za iste podatke. Međutim, sistem „iza scene“ prebacuje potrebne podatke između odvojene CPU i GPU memorije.
Prema dostupnim informacijama, Apple ne koristi pristup koji podrazumeva tehnike prebacivanja podataka „iza scene“. Umesto toga, svaki deo SoC-a ima direktan pristup istoj memorijskoj lokaciji.
Suština Apple-ovog UMA-a je bolje performanse zahvaljujući bržem pristupu RAM-u i zajedničkoj memorijskoj zalihi koja eliminiše negativan uticaj prebacivanja podataka na različite memorijske adrese.
Koliko vam RAM-a treba?
Apple-ovo rešenje ima i svoje nedostatke. S obzirom da su RAM moduli duboko integrisani u M1 čip, nemoguće ih je nadograditi nakon kupovine. Ako odaberete MacBook Air sa 8 GB RAM-a, nemoguće je kasnije povećati memoriju tog uređaja. Da budemo pošteni, nadogradnja RAM-a već neko vreme nije moguća na MacBook računarima. Iako je pre nadogradnja bila moguća na prethodnim Mac Mini modelima, to nije slučaj sa novim M1 verzijama.
Prvi M1 Mac računari dolaze sa maksimalno 16 GB RAM-a – možete odabrati M1 Mac sa 8 GB ili 16 GB memorije, ali ne više od toga. Dakle, više nije u pitanju samo dodavanje RAM modula u slot.
Koliko vam onda RAM-a treba? Kada govorimo o Windows računarima, opšti savet je da je 8 GB više nego dovoljno za osnovne zadatke. Gejmerima se preporučuje da povećaju kapacitet na 16 GB, dok će „prosumer“ korisnici verovatno morati da udvostruče taj kapacitet za zadatke poput obrade velikih video fajlova visoke rezolucije.
Slično, kod M1 Mac računara, osnovni model sa 8 GB bi trebalo da bude dovoljan za većinu korisnika. U stvari, trebalo bi da zadovolji čak i svakodnevne potrebe zahtevnijih korisnika. Međutim, teško je dati konkretan odgovor, jer većina testova koje smo videli procenjuje M1 u sintetičkim testovima koji maksimalno opterećuju CPU ili GPU.
Ono što je zaista važno je kako se M1 Mac nosi sa istovremenim otvaranjem više programa i velikog broja kartica u pregledaču. Treba napomenuti da ovo ne testira samo hardver, jer optimizacija softvera može značajno doprineti poboljšanju ovakvih performansi. Zbog toga postoji veliki fokus na merilima koja zaista mogu da testiraju granice hardvera. Ipak, pretpostavljamo da većina korisnika želi da vidi kako se novi Mac računari ponašaju u „stvarnim“ situacijama.
Stephen Hall sa 9to5 Mac video je impresivne rezultate sa M1 MacBook Air-om koji ima 8 GB RAM-a. Da bi laptop počeo da usporava, morao je da otvori jedan prozor Safari-ja sa 24 kartice, još šest Safari prozora koji su reprodukovali 2160p video i Spotify koji je radio u pozadini. Takođe je pravio snimke ekrana. „Tek tada je računar konačno usporio,“ izjavio je Hall.
U TechCrunch-u, Matthew Panzarino je otišao još dalje sa M1 MacBook Pro sa 16 GB RAM-a. Otvorio je 400 kartica u Safariju (pored toga, imao je otvoreno još nekoliko drugih programa) i računar je radio sasvim dobro, bez ikakvih problema. Zanimljivo je da je pokušao isti eksperiment sa Chrome-om, ali je Chrome prestao da radi. Međutim, ostatak sistema je nastavio da radi dobro uprkos problemima sa Google pregledačem. Tokom testiranja, primetio je da je laptop u jednom trenutku koristio i swap memoriju, bez primetnog pada performansi.
Kada vašem računaru ponestane RAM-a, on koristi raspoloživi SSD ili čvrsti disk kao privremenu memoriju. Ovo obično izaziva primetno usporavanje performansi, ali čini se da to nije slučaj sa M1 Mac računarima.
Ovo su samo neformalna, svakodnevna iskustva, a ne formalni testovi. Ipak, ona su verovatno reprezentativna za ono što se može očekivati pri intenzivnoj svakodnevnoj upotrebi. S obzirom na promenjeni pristup memoriji, 8 GB RAM-a bi trebalo da bude dovoljno za većinu korisnika koji ne otvaraju stotine kartica u pregledaču.
Međutim, ako imate potrebu da uređujete velike slike ili video fajlove od više gigabajta, istovremeno pretražujete više desetina kartica i strimujete film u pozadini, dok sve to radite na eksternom monitoru, onda je možda model sa 16 GB RAM-a bolji izbor.
Ovo nije prvi put da je Apple preispitao svoje Mac sisteme i prešao na novu arhitekturu.