Apple M1 vs x86

1

Jakiś czas temu miała miejsce premiera komputerów Apple zbudowanych w oparciu o SoC na bazie ARM (M1) zamiast klasycznego intela w architekturze x86.

Chciałbym zasięgnąć opinii osób nieco mocniej zorientowanych na kwestiach stricte powiązanych z hardware'em (RISC vs CICS) w kontekście wydajności.
https://www.purepc.pl/apple-m1-przetestowany-w-geekbench-arm-mocniejsze-od-core-i9

Jak to jest, że mamy 2020r, układy ARM są w powszechnym użytku (czyt. w kieszeni każdego z nas) od lat aż tu nagle okazuje się, że załadowanie pierwszej wersji chipu przeznaczonego do komputerów z miejsca oferuje więcej mocy niż najmocniejsza/jedna z najmocniejszych jednostek intela?
Jak to możliwe, że mądre głowy z intela/AMD/nvidii (wydajność gpu podobno też ma być niesamowita) przez tyle lat same nie zaoferowały takich układów? Przecież w tych firmach pracuje sztab ludzi głowiący się jak zarobić więcej kasy a Apple nie ma technologii z kosmosu.

Inna kwestia która mnie nurtuje to czy te architektury (chociażby za pośrednictwem benchmarków) można od tak porównywać 1:1? Kwestia innego podejścia do instrukcji procesora nie jest tu przypadkiem czynnikiem przez który np. intel nie zdecydował się na produkcję desktopowych chipów na bazie ARM a Apple jest tym kto ma jakieś tam doświadczenie w projektowaniu tego typu układów do smartfonów, wrzuca to do komputera, pokazuje wykresy które nie mają żądnej skali/legendy i wmawia wszem i wobec że są najlepsi?

A może to jednak faktycznie przełom i architektura ARM góruje nad x86 w niemal każdym aspekcie i jest to po prostu droga ewolucji naszych komputerów a firmy pokroju intela za mało wydały na ludzi z wizją i zwyczajnie nie zauważyły, że ich czas się kończy?

9

Mnie raczej nurtuje pytanie - jakim cudem kupowata architektura Intela przetrwała tyle lat.
Zaczęło się od porażki:
https://en.wikipedia.org/wiki/Intel_8008 (w zasadzie był to pierwszy "mikroprocesor 8-mio bitowy")
a potem drogą małych kroków ciągle coś dostawiano. Obecny intel core niby nie ma prawie nic wspólnego z 8008, 8080 czy późniejszym 8086, ale na każdym kroku ewolucji ciągnął trochę (przez kompatybilność) problemy przodków. Były punkty przełomowe (IA-32,Pentium, Intel Core, x64), ale nie było radykalnego "restartu".
ARM też już ma długą historię, ale powstał w czasach (lata 80te) kiedy już troszkę procesorów było na rynku i można było jakieś wnioski wyciągnąć.

Z punktu widzenia programisty asm taki intel to totalny rzyg - ciężko na ten kod patrzeć. Mieszanka rozkazów pochodzących z różnych epok, dziwaczne nazwy rejestrów, totalny brak symetrii itd. (Instrukcja MUL 🤦‍♂️).
ARM to od początku elegancja i symetria (nie wiem czy wszędzie zachowana, ale podstawowe instrukcje takie są). Upraszcza to pisanie kodu... ale i prostsza powinna być konstrukcja procesora.

Ważnym elementem jest np. mniej restrykcyjny model pamięci ARM.. powodujący, że w programach niejawnie pisanych pod x86 mogą objawiać teraz różnego rodzaju race conditions. Nie wiem na ile kompilatory C/C++ to łapią... ale w takiej javie można obserwować inny wynik operacji wielowątkowych pod ARM i Intel (!!!). (Oczywiście - o ile program w javie jest niepoprawnie napisany).
Mniej restrykcji oznacza też więcej potencjalnej mocy z punktu widzenia procesora (mniej "synchronizowania cache", więcej możliwości przestawiania kolejności instrukcji na poziomie procesora)

Niespecjalnie tłumaczy to dlaczego ARMM1 osiąga dobre wyniki na jednym wątku (strzelam, że dzięki symetrii -> prostsza logika -> mniej tranzystorów -> mniej mocy wydzielanej -> można wyższe taktowania osiągnać bez palenia procka).

Piszę to jako laik amator - o procesorach i low level raczej czytam niż naprawdę wiem.
Więc dobrze by było jakby ktoś ogarnięty skorygował błędy.
Btw. miłośnikiem apple to nie jestem... ale w tym przypadku mocno kibicuje, żeby coś z tego wyszło.
Z drugiej strony - już wiele razy wydawało mi się... że Intel doszedł do ściany, nic już z tego nie będzie i zaraz go wygryzą :-). Tak pierwszy raz przy okazji PowerPC (apple też był w to zaangażowany(!)), możliwe, że oddech konkurencji przyczyni się do kolejnego przełomu wydajnościowego u intela (za to bugi w security będą jeszcze bardziej powalające).

0

Intel od dawna nie pokazał nic konkretnego. Jedyne co go utrzymuje przy życiu to kontrakty. Montowane odgórnie w komputerach np dla "e-sportowców" tzw pc master race. Chociaż ostatnio gdy się okazało że AMD 5xxx nawet na poletku single core czytaj CS:GO robią intela jak chcą to może się nawet i to zmienić.
Co do procesorów ARM ja bym pierw poczekał na testy. Mnie ciekawią temperatury macbooka air (posiada tylko pasywne chłodzenie, żadnego wiatraka) i pro pod obciążeniem .
Sam chciałem wziąć nowego macbooka pro 13", z tym że mnie interesowała ulepszona wersja. Tutaj tylko zrobili upgrade podstawowego modelu.

0

Apple już raz zmieniał architekturę, i ma w tym doświadczenie, programów też mniej niż na x86. Intel / AMD jeszcze nie, bo kwestia kompatybilności wstecznej "ubiła" by taki projekt, nie zapominajmy że trzeba by albo emulować x86 (co nie było by takie znowu wydajne) albo też porzucić całe dotychczasowe oprogramowanie na PC i zacząć zupełnie odnowa (co mocno nie spodoba się klientom biznesowym, graczom zresztą też). Zresztą Nvidia kupuje / ła ARM, zapewne nie z troski o rozwój platformy czyli czas raczej przesiadać się nie tylko z X86 ale też i z ARMa na coś innego, najlepiej nie chronionego patentami tak na wszelki wypadek. Windows na ARM zresztą powstał, ale jakoś nikt go nie chce (brak softu).

ps coś mi się obiło kiedyś o oczy że rdzenie x86 mają wbudowanego "tłumacza" na zupełnie inną architekturę, bo bez tego nie dało by się dalej zwiększać wydajności. tak więc może się okazać że tam "pod spodem" coś na kształt ARM-a jest.

7

Wydaje mi się, że sporo robi to, że wszystko jest tam zintegrowane w procesorze (CPU, GPU, pamięć operacyjna, jakieś inne cuda niewidy) - nie trzeba tego jakąś zewnętrzną szyną puszczać, tylko wszystko dzieje się na jednym podwórku. Litografia pewnie też nie jest bez znaczenia (14nm+++++++++ intela kontra jakieś tam naciągane 5nm, ale 5). W kwestii architektury, posiadania odpowiednich instrukcji - to nie wiem jak tu sprawa wygląda (w porównaniu do inteli np) - za cienki w uszach na to jestem, by zabierać głos.

Wiem, że procesory ARM w iPadach Pro (M1 to chyba ich ulepszona wersja) rzeczywiście potrafią, za przeproszeniem, spuścić w kiblu niektóre desktopowce co mają TDP 60 czy 95W w niektórych zastosowaniach, że aż żal na to patrzeć (np. rendering filmów). W pozostałych zastosowaniach - nie wiem. Podobna sytuacja jest np. w przypadku niektórych blockchainów - bitminer to jakieś chińskie grzejniki do liczenia haszy, czyli kopania krypto i w zasadzie tylko i wyłącznie do tego - one z kolei spuszczają w kiblu najmocniejsze GPU (które w to też są niezłe) w tym zastosowaniu. Więc wiele zależy od specjalizacji pod konkretne zadanie.

Geekbench z kolei to największy kłam wśród benchmarków (według mnie, choć nie tylko) - sprawdza "ability" procesorach do jakichś pojedynczych tasków. W geekbenchu, zwyciężyłby np. procesor, który wystarczy, by dał radę pracować max 1 minutę na jakichś mocarnych częstotliwościach typu 5 GHz i tyle. To, że później, spowolniłby do 100 MHz, celem ochłodzenia się, to w GB nie ma żadnego znaczenia, bo nie to jest tam sprawdzane. Innymi słowy Geekbench to jest jak "szacowanie" w ile czasu zawodnik przebiegnie maraton 10 km, na podstawie tego, jak szybko przebiegnął pierwsze 50 m.

Proponuję poczekać na prawdziwe benchmarki i problemy, które wynikną z wprowadzenia tej architektury. Na razie na stole mamy marketing, jakieś przecieki itp - dopóki cały świat się na to nie rzuci, włącznie z badaczami bezpieczeństwa, będzie to owiane tajemnicą.

Disclaimer: też wypowiadam się z racji usera, co głównie czyta/używa, aniżeli projektuje procesory.

5

@sig:

Apple już raz zmieniał architekturę,

To już 4ta architektura w Macintoszach.

  1. Zaczęło się od 68k, który też był eleganckim procesorem i wydawało się, że intel 86 to nawet nie jest w tej samej lidze. 68000 był w zasadzie 32 bitowym procesorem o 16to bitowej szynie danych(odpowiednik poźniejszego 386sx u Intela). Obie linie procesorów miały kolejne generacje (zaskakują podobieństwa). Mimo że motorola startowała z dużo lepszej pozycji to już na etapie
    68040 vs 486 Intel zaczął doganiać wydajnościowo
    Na etapie Pentium vs Motorola 68060 Intel totalnie odjechał i motorola wypadła z gry.
  2. Potem było PowerPC, na które apple się przeniosło ... i które w końcu też odpadło z wyścigu.
  3. A dopiero potem Intel
  4. ... no i teraz ARM
0

Czyli to wygląda na kolejny etap ewolucji tylko musiał znaleźć się ktoś, kto ma jaja żeby wywrócić swój ekosystem do góry nogami (licząc na większe zyski/możliwości w przyszłości) zamiast odgrzewać kotleta/pudrować trupa licząc worki $$ bo przecież cały świat stoi na tej architekturze.

1
sig napisał(a):

nie zapominajmy że trzeba by albo emulować x86 (co nie było by takie znowu wydajne) albo też porzucić całe dotychczasowe oprogramowanie na PC i zacząć zupełnie odnowa (co mocno nie spodoba się klientom biznesowym, graczom zresztą też).

A ile tego kodu faktycznie jest platform-dependent? Teoretycznie wystarczy przeportowac kompilatory. (zdaje sobie sprawe, ze to tez nie takie hop-siup ale to i tak sie dzieje)

EDIT: Gry to akurat bardzo prawdopodobne, ze korzystaja z hakow pod dana platforme zeby optymalizacje wycisnac.

0

ja bym nie ruszal tego co jest dobre Intel Core i Win 10 ;-)

to nie znaczy ze nie kibicuje firma ktore chca robic laptopy na ARM i Linux to tez fajna propozycja

chodzi o to ze od personal computer wymaga sie wiecej niz od smartphone

mam na mysli np programy biurowe czy CAD

tu jest szansa

0

Co masz na myśli pisząc "programy biurowe czy CAD"?
Na chwilę obecną ich nie ma (teoretycznie bo pewnie są jakieś namiastki office na ipada) ale to kwestia upowszechnienia się nowej architektury tzn. nie są one zdaje się (na pewno office) uzależnione od specyficznych własności x86.

3

@stivens:

A ile tego kodu faktycznie jest platform-dependent?

Prawdopodobnie większość. To nie jest tak, że OS to taki poziom abstrakcji separujący przerwania od funkcji w C. Np. Linux miał całkowicie odmienny model uprawnień od Windowsa więc trzeba było inaczej o to samo się zatroszczyć.

RequiredNickname napisał(a):

Co masz na myśli pisząc "programy biurowe czy CAD"?

Na chwilę obecną ich nie ma (teoretycznie bo pewnie są jakieś namiastki office na ipada) ale to kwestia upowszechnienia się nowej architektury tzn. nie są one zdaje się (na pewno office) uzależnione od specyficznych własności x86.

Takich programów nie ma na iPada bo - uwaga - zostały one zaprojektowane pod laptopa. Cały UI został zaprojektowany pod laptopa, poziom skomplikowania interfejsu wymaga myszki i klawiatury. Naprawdę nie potrafię sobie wyobrazić człowieka pracującego na AutoCADzie na iPadzie. Tak samo nie jestem w stanie sobie wyobrazić człowieka, który pracowałby przy profesjonalnej obróbce zdjęć na telefonie.

0

Nie chodzi mi o system operacyjny a o ISA. Wiekszosc softu to pod maszyna wirtualna siedzi. A juz zdecydowana wiekszosc to co najmniej ponad abstrakcjami OS operuje.
Wiec problem to port kompilatorow, biblioteki standardowej i OS a nie calego softu.

0

@stivens:

Wiekszosc softu to pod maszyna wirtualna siedzi.

Idąc dalej - czy od niedawna windows nie siedzi pod vm?

screenshot-20201116011829.png

0

@TurkucPodjadek: Co do renderowania filmów, to akurat dlatego, że na iPadzie istnieje specjalny sprzętowy enkoder/dekoder. Na prockach intela też istnieje, ale preferowany zazwyczaj jest enkoder w oprogramowaniu, gdyż taki sprzętowy nie optymalizuje zbyt dobrze treści, co jest sensowne gdy większość zastosowań to dekodowanie real-time, ale nie jest zbyt przydatne, gdy mamy trochę czasu i chcemy zakodować strumień tak, żeby osiągnąć np. lepszą kompresję. Jeśli zastosować sprzętowy enkoder to nagle te różnice wcale nie są rzędu 10x.

1
sig napisał(a):

Windows na ARM zresztą- powstał, ale jakoś nikt go nie chce (brak softu).

Bo gdyby to była kwestia przekompilowania windowsowego softu pod nową platformę, plus jakaś tam nawet nienajszybsza emulacja x86/x64 to mogłoby to się sprawdzić. Zamiast tego MS wydał Windowsa na ARM owszem, ale tabletowo-kafelkowego z zupełnie innym API (które próbuje forsować również pod x86) i zablokowanym WinAPI tylko dla kodu podpisanego przez Microsoft. "Brak softu" na ich własne życzenie.

1

Bo gdyby to była kwestia przekompilowania windowsowego softu pod nową platformę, plus jakaś tam nawet nienajszybsza emulacja x86/x64 to mogłoby to się sprawdzić. Zamiast tego MS wydał Windowsa na ARM owszem, ale tabletowo-kafelkowego z zupełnie innym API (które próbuje forsować również pod x86) i zablokowanym WinAPI tylko dla kodu podpisanego przez Microsoft. "Brak softu" na ich własne życzenie.

Żeby nie było, to to "naprawili" - obecnie Windows on ARM to absolutnie zwyczajny Windows 10 z dorzuconą warstwą emulacji x86 (a chyba teraz już również x86-64). Niestety, wygląda na to, że translacja od Apple jest znacznie bardziej wydajna (albo i M1 jest o niebo wydajniejszy od SQ1). Więc teraz, bez tych idiotycznych ograniczeń, to brak softu kompilowanego dla ARM64 to znany już problem - skoro tego sprzętu jest mało (pięć laptopów na krzyż i Surface Pro X) i nikt nie kupuje, to po co soft, a nikt nie kupuje, bo mało jest softu.

0

Nawet jak by jakiś sposób konwersji powstał, to jak zmusić producentów softu żeby z niego skorzystali? Zmuszenie ich do działania z prawami użytkownika a nie admina zajęło kilka lat. Nie wiem czy nie najlepszym wyjściem były by procesory "przejściowe" część rdzeni x-86 a część ARM czy coś innego. Były by możliwe coś takiego "technicznie" do zrobienia? Z generacji na generację rosła by ilość "nowych" rdzeni, a spadała ilość x86.

0

Za bardzo się podniecacie tym ARM. Myślę, że zysk jest głównie dzięki technologii 5 nm TSMC. AMD będzie na niej robił CPU i GPU prawdopodobnie za jakieś pół roku do roku i skończy się "rewolucja". ;)
W uruchamianiu programów z x86 na M1 (Rosetta 2) też pokazują dobre wyniki, ale to ciągle tylko Geekbench, a nie jakieś praktyczne zastosowania.
https://www.macrumors.com/2020/11/15/m1-chip-emulating-x86-benchmark/

1
sig napisał(a):

Nie wiem czy nie najlepszym wyjściem były by procesory "przejściowe" część rdzeni x-86 a część ARM czy coś innego. Były by możliwe coś takiego "technicznie" do zrobienia?
Z generacji na generację rosła by ilość "nowych" rdzeni, a spadała ilość x86.

Technicznie byłoby to do zrobienia - tylko musiałaby być taka wola "odchodzimy od x86, przechodzimy stopniowo na ARM", a żeby była taka wola, ARM musiałoby mieć jednoznaczną przewagę (być szybsze, tańsze, politycznie poprawniejsze, ...)

0

A ja Wam powiem, że..... nie jestem do końca przekonana do Apple na ARM........ bo nikt nie podał jeszcze argumentu, któryby mnie do końca przekonał
Tak, wiem, są różne marketingowe infografiki, ale łączy je wszystkie jedna rzecz wspólna: z nich nic sensownego nie wynika.

====

Chinka ( @WeiXiao ) parę postów wyżej odleciała zupełnie twierdząc, że

Idąc dalej - czy od niedawna windows nie siedzi pod vm

a jednoczerśnie wklelając infografikę w której jest obramowana część o Linuxie.
Niby coś o Windowsie, Linuxie, a w temacie Apple......
@WeiXiao mogłabyś wytłumaczyć?

1

@Anna Lisik: x86 należy wymienić ponieważ konieczność sprzętowego tłumaczenia go na wewnętrzny kod procesora zajmuj czas i opóźnia rozwój. Takich procesorów zwyczajnie nie robi się od lat, ale ze względu na kompatybilność wsteczną powstały wspomniane sprzętowe tłumacze Aczkolwiek Apple robi to z trochę innych powodów, a mianowicie przy x86 musiał czekać ze swoimi premierami aż intel będzie gotowy, do ARM sam robi czipy więc może wprowadzać na rynek nowe kompy kiedy uzna że już czas,

0

win10&intel to zawsze bedzie mercedes ale mozna probowac jezdzic fiatem ARM/Linux

zwlaszcza ze roczna licencja AutoCAD to 10 tys zl na tego mercedesa

to ze pod linux jest juz office open/libre a nawet corel czyli inkscape to juz duzo :) czekamy na dobrego CAD pod Linux

0

You can install macOS Big Sur on any of these Mac models
https://support.apple.com/en-us/HT211238

Wszystko w rękach Apple, sprzęt 100% apple, system 100% Apple, lista przetestowanych przez Apple kompatybilnych urządzeń znana od dość dawna.

Efekt? System przygotowany pod obsługę nowego procesora ucegla niektóre starsze macbooki. Te z listy przetestowanych i kompatybilnych.

Komu ucegliło, może oddać maka do autoryzowanego serwisu.
Apple z czasem zapewne problem rozwiąże albo zmniejszy listę kompatybilnych maków.

Szybkie wnioski? Takiej wtopy nie ustrzegł się Apple, to inni producenci softu też będą mieli mniejsze lub większe problemy.

BTW, jak wygląda testowanie sztandarowego produktu w firmie o kapitalizacji ponad 1000 miliardów dolarów, kiedy nie da się systemu nawet zainstalować a po nieudanej instalacji laptop może iść tylko do serwisu? :-o

4

Zamierzam naklepać dużego posta za jakiś czas, ale na razie zarzucę linkami:

AnandTech wysmarował już dwa artykuły ostatnio o chipach Apple'a.

Pierwszy artykuł o Apple A14, czyli czipie smartfonowym: https://www.anandtech.com/show/16226/apple-silicon-m1-a14-deep-dive A14 jest zbudowany w stylu big.LITTLE, tzn ma 2 mocne rdzenie i 4 słabe. Słaby rdzeń jest średnio prawie 4x wolniejszy od dużego, więc klaster 4 małych rdzeni jest tak samo mocny jak jeden duży rdzeń (zakładając idealnie liniowe skalowanie, co rzadko się zdarza). Na stronie https://www.anandtech.com/show/16226/apple-silicon-m1-a14-deep-dive/3 widać porównanie Apple A13 wykonanego w drugiej generacji procesu TSMC 7nm (tzn N7P) z Apple A14 wykonanego w TSMC 5nm (prawdopodobnie N5, a nie N5P). Apple A14 jest 20% - 30% wydajniejszy i pobiera ok 20% mniej prądu. Na pewno nie tłumaczy to gigantycznej przepaści w wydajności na watt z najnowszymi procesorami x86. Dużo wskazuje na to, że Apple M1 oparty jest o te same rdzenie co Apple A14, a różnice sprowadzają się do tego, że np Apple M1 ma 2x więcej dużych rdzeni, nieco wyższe taktowanie turbo (3.2 GHz vs 3 GHz), dużo lepsze chłodzenie (bo smartfony są bardzo słabo chłodzone ogólnie), prawdopodobnie więcej pamięci podręcznej ostatniego poziomu, inny podsystem pamięci (DRAM jest zintegrowany z procesorem w jednym opakowaniu zamiast być wlutowanym w płytę główną), itd.

Drugi artykuł o Mac Mini z chipem Apple M1 i systemem operacyjnym macOS Big Sur: https://www.anandtech.com/show/16252/mac-mini-apple-m1-tested Widać, że wydajność pojedynczego wątku jest kosmiczna jak na takie taktowanie (max turbo = 3.2 GHz), a wydajność wielowątkowa też jest bardzo dobra. Oczywiście na skalowanie ponad 5x względem pojedynczego wątku nie ma co liczyć, bo Apple M1 ma 4 duże rdzenie i 4 małe. Jak już wspomniałem wcześniej te 4 małe rdzenie dodają tyle wydajności do 1 duży, więc w praktyce to nawet sporo mniej niż daje HyperThreading w najnowszych procesorach Intela. Z drugiej strony mały rdzeń pobiera 10x mniej mocy niż duży. Artykuł jest napakowany informacjami. Na https://www.anandtech.com/show/16252/mac-mini-apple-m1-tested/3 widać, że na układzie Apple M1 (bez samodzielnej karty graficznej, tylko integra jest używana) gra Rise of the Tomb Raider (w trybie emulacji / translacji x86) działa 3x szybciej od Intel Ice Lake przy podobnym kontrolerze pamięci! Szkoda, że nie dali Tiger Lake'a czy APU AMD do porównania, ale pewnie i tak Apple M1 by wygrywał w wydajności. Na stronach https://www.anandtech.com/show/16252/mac-mini-apple-m1-tested/4 i https://www.anandtech.com/show/16252/mac-mini-apple-m1-tested/5 mamy wyniki wydajności jednowątkowej i wielowątkowej w benchmarku SPEC. Dla ludzi, którzy twierdzą, że czipy Apple'a mają magiczne akceleratory - w benchmarkach SPEC jest dla przykładu test prędkości kompilacji kodu źródłowego: https://www.spec.org/cpu2017/Docs/benchmarks/502.gcc_r.html Nawet w tym teście czip Apple M1 wygrywa i to z takimi procesorami jak Ryzen 9 5950X (w trybie jednowątkowym) czy Ryzen 9 4900HS (w trybie wielowątkowym). Na końcu są wykresy pokazujące wpływ emulacji / translacji x86 na ARM: https://www.anandtech.com/show/16252/mac-mini-apple-m1-tested/6 Widać, że wskutek tego traci się między 5% a 50% wydajności, więc historie o translacji x86 -> ARM zwiększającej wydajność można włożyć między bajki.

Aktualizacja:
Dodatkowe testy kompilacji kodu: https://wccftech.com/apple-m1-code-compile-results-as-fast-2019-mac-pro/

0


Porównanie do najmocniejszego MBP 13" z intelem oraz DELL XPS z intelem 11'th gen.
Najciekawsze jak dla mnie 7:25. Czegoś takiego właśnie oczekiwałem. Wysokiej kultury pracy. Dla niewtajemniczonych model z intelem ma dwa fany, a z ARM tylko jeden. Mimo to przewaga i tak jest po stronie ARM.

0

4:50 i trochę dalej
Przeglądarki
Natywne Apple Safari wymiata na nowym procesorze
Stary, niezmieniony Chrome jest znacznie szybszy na intelu.

Będzie powszechne przystosowanie softu do nowego procesora, to R.I.P. intel.
Nie będzie, to para pójdzie w gwizdek.

0
Wibowit napisał(a):

Apple M1 wygrywa i to z takimi procesorami jak [...] Ryzen 9 4900HS (w trybie wielowątkowym).

Widać tam, że też Ryzen 7 4800U (inna sprawa, że ciężko chyba kupić coś z tym dokładnie procesorem) też za mocno od M1 nie odbiega. Tylko zgaduję, że te procesory Ryzen U i HS (a nie ten desktopowy) miały wzięte wyniki z laptopów, a M1 z Maca Mini. Mac Mini to klocek o grubości 3,6 cm, czyli 1,5 do 2,5 raza grubszy od typowego współczesnego laptopa, w którym na grubość składają się też ekran i w sporej części klawiatura, więc to trochę nierówna walka pod względem chłodzenia.
W wynikach Cinebench R23 Macbooków M1 (czyli laptopów, z wiatraczkiem i bez) już tak różowo wydajność wielowątkowa nie wygląda.

1

W wynikach Cinebench R23 Macbooków M1 (czyli laptopów, z wiatraczkiem i bez) już tak różowo wydajność wielowątkowa nie wygląda.

Apple M1 to procesor w układzie a'la big.LITTLE. Ma 4 mocne rdzenie i 4 słabe rdzenie - w sumie 8 wątków, bo nie ma SMT. Ryzen 7 4800U ma 8 mocnych rdzeni, z których każdy ma włączone SMT (czyli wykonywanie dwóch wątków naraz). Patrz tutaj https://www.anandtech.com/show/16252/mac-mini-apple-m1-tested/5
119365.png
Apple M1 z obciążonymi 4 wątkami jest szybsze (w podanym benchmarku) od Tiger Lake z obciążonymi wszystkimi 8 wątkami. 4 słabe rdzenie (spośród wszystkich ośmiu) z Apple M1 niewiele wpływają na wydajność całego układu.

PS (podałem też wcześniej, ale pewnie niewielu zauważyło):
Dodatkowe testy kompilacji kodu: https://wccftech.com/apple-m1-code-compile-results-as-fast-2019-mac-pro/

PPS:
Intel planuje własną wersję big.LITTLE: https://www.anandtech.com/show/15979/intel-alder-lake-confirmed-x86-hybrid-with-golden-cove-and-gracemont-for-2021 8 dużych rdzeni (z SMT) + 8 małych rdzeni (chyba bez SMT). Będziecie to porównywać do 16-rdzeniowców z samymi dużymi rdzeniami?

0

Ciekawe czy skończy się to z czasem upychaniem w te Applowe ARMy coraz więcej rejestrów i cache oraz dodawaniem rozszerzeń do wszelkiej maści obliczeń wektorowych i innych wynalazków. Czyli będzie to ARM nie tak bardzo już RISC (w sumie i tak już średnio jest z Thumbami, NEON itd) i nie tak już bardzo energooszczędny.

1
Satanistyczny Awatar napisał(a):

Czyli będzie to ARM nie tak bardzo już RISC (w sumie i tak już średnio jest z Thumbami, NEON itd

Ale duża ilość rejestrów to jedna z głównych cech RISC… A SIMD mam wrażenie to również nie przeczy idei RISC, już bardziej AES-NI, ale jakby się uprzeć, to też da się to uzasadnić. RISC jak na moje nie oznacza, że jest mniej instrukcji (wbrew nazwie) a że instrukcje robią mniej i trzeba złożyć ich więcej by uzyskać efekt jaki chcemy.

Dodatkowo trzeba pamiętać, że ARM ma wiele aliasów, przykładowo add w ARM to instrukcja z 4 operandami - add with shift:

ADD <target>, <a>, <b>, <shift>

I ten operand jest aliasowany jako MOV (odpowiednik ADD <target>, <a>, 0, 0), SHL ze stałym argumentem (odpowiednik ADD <target>, <a>, 0, <shift>), etc. Więc w ARMach często jedna instrukcja może być używana przez kilka różnych operacji.

1 użytkowników online, w tym zalogowanych: 0, gości: 1