Jak „ujednolicona pamięć” przyspiesza komputery Mac M1 ARM firmy Apple

Apple rozważa, w jaki sposób powinny być zaprojektowane i działać komponenty wewnętrzne laptopów. Dzięki procesorom M1 w nowych modelach Mac, firma wprowadziła nową „Ujednoliconą architekturę pamięci” (UMA), która znacząco poprawia wydajność pamięci. Poniżej opisano, jak pamięć działa w urządzeniach Apple Silicon.

Zarządzanie pamięcią RAM w Apple Silicon

Jeśli jeszcze nie słyszałeś, Apple ogłosiło wprowadzenie nowych komputerów Mac w listopadzie 2020 roku. Modele takie jak MacBook Air, MacBook Pro i Mac Mini wykorzystują dedykowany procesor ARM o nazwie M1, zaprojektowany przez Apple. Ta zmiana była długo oczekiwana i jest wynikiem dziesięcioletnich prac firmy nad projektowaniem procesorów ARM dla iPhone’ów i iPadów.

M1 to system na chipie (SoC), co oznacza, że wewnątrz procesora znajdują się nie tylko rdzenie CPU, ale również inne kluczowe komponenty, takie jak GPU, kontrolery I/O, Neural Engine do zadań sztucznej inteligencji oraz fizyczna pamięć RAM, która jest częścią tego samego pakietu. Należy jednak zauważyć, że pamięć RAM nie jest umieszczona na tym samym chipie, co główne elementy SoC, lecz znajduje się obok niego.

Umieszczanie pamięci RAM w SoC nie jest nową koncepcją. W przypadku procesorów w smartfonach pamięć RAM często jest integrowana z chipem. Decyzja Apple, aby umieścić moduły pamięci RAM obok procesora, nie jest zaskoczeniem, biorąc pod uwagę, że podobne podejście było stosowane od co najmniej 2018 roku. Na przykład, w analizie iFixit dotyczącej iPada Pro 11 można zobaczyć, jak pamięć RAM jest umieszczona obok procesora A12X.

Różnicą jest jednak to, że to podejście teraz występuje także w komputerach, które są zaprojektowane do obsługi większych obciążeń.

Podstawowe informacje: Co to jest pamięć RAM?

Pamięć RAM, czyli Random Access Memory, to kluczowy składnik pamięci systemowej, pełniący rolę tymczasowego miejsca przechowywania danych aktualnie używanych przez komputer. Może obejmować wszystko, od plików niezbędnych do uruchomienia systemu operacyjnego, przez dokumenty, które edytujesz, aż po zawartość otwartych kart w przeglądarkach internetowych.

Kiedy otwierasz plik tekstowy, procesor otrzymuje odpowiednie instrukcje oraz uruchamiany program. Następnie pobiera wszystkie niezbędne dane i ładuje je do pamięci, co pozwala na zarządzanie zmianami, które wprowadzasz w pliku.

Pamięć RAM zwykle występuje w postaci długich, cienkich modułów, które wpinane są w odpowiednie gniazda na płycie głównej laptopa lub komputera stacjonarnego, jak pokazano powyżej. Może też przybierać formę prostokątnych modułów, które są przylutowane do płyty głównej. Tak czy inaczej, pamięć RAM dla komputerów PC i Mac była zazwyczaj oddzielnym komponentem umiejscowionym w dedykowanej przestrzeni na płycie głównej.

M1 RAM: Współdzielona przestrzeń

Moduły RAM są fizycznie oddzielnymi jednostkami, ale znajdują się na tym samym obszarze płytki drukowanej co procesor. Możesz się zastanawiać, dlaczego to takie istotne. Przede wszystkim umożliwia to szybszy dostęp do pamięci, co przekłada się na lepszą wydajność. Dodatkowo Apple modyfikuje sposób zarządzania pamięcią w swoim systemie.

Apple określa to podejście jako „Unified Memory Architecture” (UMA). Głównym założeniem jest to, że pamięć RAM M1 stanowi jedną wspólną pulę, do której mają dostęp wszystkie elementy procesora. Oznacza to, że jeśli GPU potrzebuje więcej pamięci, może zwiększyć swoje wykorzystanie, podczas gdy inne elementy SoC mogą zwolnić część zasobów. Co więcej, nie ma konieczności dzielenia pamięci na fragmenty dla różnych części SoC, co eliminuje konieczność przesyłania danych pomiędzy nimi. Zamiast tego GPU, CPU i inne elementy SoC mogą uzyskiwać dostęp do tych samych danych w tym samym miejscu pamięci.

Aby zrozumieć, dlaczego jest to istotne, warto wyobrazić sobie, jak funkcjonuje gra komputerowa. Procesor odbiera wszystkie instrukcje dotyczące rozgrywki i przesyła potrzebne dane do GPU. Karta graficzna przetwarza te informacje we własnym procesorze i pamięci RAM.

Nawet w przypadku zintegrowanej grafiki, GPU zazwyczaj posiada swoją własną pamięć, oddzielnie od procesora. Obie jednostki pracują niezależnie na tych samych danych, co prowadzi do przesyłania wyników między ich pamięciami. Eliminując tę potrzebę przesyłu danych, można dostrzec, jak trzymanie wszystkiego w jednej wirtualnej przestrzeni może poprawić wydajność.

Jak Apple przedstawia swoją zunifikowaną architekturę pamięci na oficjalnej stronie M1:

„M1 zawiera naszą zunifikowaną architekturę pamięci, czyli UMA. M1 łączy swoją pamięć o wysokiej przepustowości i niskich opóźnieniach w jedną pulę w ramach dedykowanego pakietu. W rezultacie wszystkie komponenty SoC mogą uzyskać dostęp do tych samych danych bez konieczności ich kopiowania między różnymi obszarami pamięci. To znacząco poprawia wydajność oraz efektywność energetyczną. Aplikacje wideo działają szybciej. Gry są bardziej złożone i szczegółowe. Przetwarzanie obrazów jest błyskawiczne. Cały system działa sprawniej.”

Nie chodzi tylko o to, że każdy komponent ma dostęp do tej samej pamięci w jednym miejscu. Jak podkreśla Chris Mellor w The Register, Apple korzysta z pamięci o dużej przepustowości. Jest ona znacznie bliżej procesora i innych komponentów, co sprawia, że dostęp do niej jest szybszy niż w przypadku tradycyjnego RAM-u podłączonego do płyty głównej przez interfejs gniazda.

Inne firmy również eksperymentowały z zunifikowaną pamięcią

Diagram Nvidii z początków funkcji Unified Memory.

Apple nie jest pierwszą firmą, która podjęła próbę realizacji tego rozwiązania. Na przykład, NVIDIA zaproponowała programistom swoje własne rozwiązanie sprzętowe i programowe o nazwie Zunifikowana pamięć około sześć lat temu.

W rozwiązaniu Nvidii zunifikowana pamięć zapewnia jedną lokalizację w pamięci, która jest „dostępna z dowolnego procesora w systemie”. W kontekście Nvidii, zarówno procesor, jak i karta graficzna korzystają z tej samej przestrzeni dla tych samych danych. Niemniej jednak system w tle przesyła wymagane dane pomiędzy oddzielnymi pamięciami procesora i karty graficznej.

W przeciwieństwie do tego, Apple nie korzysta z takich technik w tle. W systemie Apple każda część SoC ma dostęp do tej samej lokalizacji danych w pamięci.

Kluczowym elementem UMA Apple jest poprawa wydajności dzięki szybszemu dostępowi do pamięci RAM oraz współdzielonej puli pamięci, co eliminuje straty wydajności związane z przenoszeniem danych między różnymi adresami.

Jak dużo pamięci RAM jest potrzebne?

Rozwiązanie Apple nie jest wolne od wad. Z powodu głębokiej integracji modułów RAM w M1, nie ma możliwości ich późniejszej aktualizacji po zakupie. Jeśli zdecydujesz się na model MacBook Air z 8 GB pamięci, nie będziesz w stanie zwiększyć tej pamięci w przyszłości. Warto zauważyć, że możliwość aktualizacji pamięci RAM nie była dostępna w MacBookach od dłuższego czasu. Choć starsze modele Mac Mini pozwalały na takie zmiany, nowe wersje M1 już tego nie umożliwiają.

Modele komputerów M1 Mac oferują 16 GB pamięci RAM – można wybierać między 8 GB a 16 GB, ale nie ma opcji na większe pojemności. Nie jest to już kwestia po prostu dodania modułu pamięci do gniazda.

Jak więc określić, ile pamięci RAM jest potrzebne? W przypadku komputerów działających na systemie Windows ogólna zasada mówi, że 8 GB jest wystarczające do podstawowych zadań obliczeniowych. Gracze powinni rozważyć 16 GB, a osoby zajmujące się bardziej zaawansowanymi zadaniami, takimi jak edycja dużych plików wideo, mogą potrzebować nawet 32 GB.

Kluczowe jest to, jak dobrze M1 radzi sobie z utrzymywaniem wielu aplikacji i dużej liczby otwartych kart w przeglądarkach. Warto pamiętać, że testy sprzętowe nie są jedynym czynnikiem, ponieważ optymalizacje oprogramowania mogą znacząco poprawić wydajność w tym zakresie. Z tego powodu tak dużo uwagi poświęca się testom, które mają na celu maksymalne obciążenie sprzętu. Ostatecznie jednak większość użytkowników chce zobaczyć, jak nowe komputery Mac sprawdzają się w codziennym użytkowaniu.

Stephen Hall na stronie 9to5 Mac uzyskał imponujące wyniki z M1 MacBook Air z 8 GB pamięci RAM. Aby laptop zaczął mieć problemy, musiał mieć otwarte jedno okno Safari z 24 zakładkami, kolejne sześć okien Safari odtwarzających wideo 2160p oraz Spotify działające w tle. „Dopiero wtedy komputer w końcu się zatrzymał” – stwierdził Hall.

Matthew Panazarino z TechCrunch poszedł jeszcze dalej, testując M1 MacBook Pro z 16 GB pamięci RAM. Otworzył 400 zakładek w Safari (plus kilka innych programów) i wszystko działało płynnie. Co ciekawe, podczas próby tego samego w Chrome, przeglądarka sprawiała problemy, ale reszta systemu funkcjonowała bez zarzutu. Zauważył nawet, że laptop korzystał z wymiany pamięci w pewnym momencie, bez widocznego spadku wydajności.

Gdy komputerowi zaczyna brakować pamięci RAM, wykorzystuje dostępny dysk SSD lub HDD jako tymczasową przestrzeń. Może to prowadzić do zauważalnego spowolnienia, chociaż w przypadku M1 Mac wydaje się, że nie występuje to w praktyce.

Te przypadki są reprezentatywne dla codziennego użytkowania, a nie formalnych testów, ale mogą dawać wyobrażenie o tym, czego można się spodziewać w intensywnym użytkowaniu. Biorąc pod uwagę zmodyfikowane podejście do pamięci, 8 GB RAM w większości przypadków powinno być wystarczające dla użytkowników, którzy nie otwierają setek zakładek w przeglądarkach.

Jeśli jednak zajmujesz się edytowaniem dużych plików graficznych lub wideo, jednocześnie przeglądając wiele kart i przesyłając strumieniowo film na zewnętrznym monitorze, model z 16 GB RAM będzie lepszym wyborem.

To nie pierwszy raz, kiedy Apple przemyślało swoje podejście do systemów Mac, wprowadzając nową architekturę.