Su Questo Apple M1, veramente cattivo!

Aggiornato Sembra che nelle ultime due settimane la blog-sfera di Internet sia stata scossa dal chip Apple M1, un System on a Chip (SoC) in grado di mettere in seria difficoltà i chip Intel & AMD, oltre che di aizzare gli zeloti Apple in ogni direzione.

 

M1 Macs embarrass all other PCs — all Intel-based Macs, including automobile-priced Mac Pros, and every single machine running Windows or Linux. Those machines are just standing around in their underwear now because the M1 stole all their pants. Well, that just doesn’t happen, your instincts tell you. One company, even a company like Apple, doesn’t just embarrass the entire rest of a highly-competitive longstanding industry. But just because something hasn’t happened — or hasn’t happened in a very long while — doesn’t mean it can’t happen. And in this case, it just happened.

da https://daringfireball.net/2020/12/m1_macs_truth_and_truthiness, grassetto nostro

Questo ottimo articolo su Medium cerca di spiegare perché l'M1 riesce a stracciare su diversi tavoli i concorrenti. Difficile dire se questa "magia" continuerà anche nel 2021, quando magari Intel avrà la possibilità di rispondere in modo strutturato, magari con un chip SoC.

Inizialmente ero molto scettico, pensavo ad un po' di stampa prezzolata messa tatticamente qui e lì da Apple, ma i riscontri sono così vasti che le voci che si rincorrono devono essere vere: l'M1 sembra veramente fenomenale, anche nella sua incarnazione più modesta e cioé il MacMini.

Il trucco sta nel fatto che Apple ha messo l'intero computer dentro l'M1 (questo vuol dire "SoC"), riprogettando il modo in cui il microprocessore funziona, e inondandolo di chip specializzati per ogni cosa: dalla decompressione video, a quella audio, passando anche per il machine learning (ma lì era facile, già NVIDIA produce sistemi custom).

Questo approccio beneficia del fatto che Apple controlla l'API di basso livello che va verso l'hardware, e quindi ha sempre potuto cambiare l'hardware sottostante senza troppi problemi (da 6502, a Motorola, a PowerPc, a Intel, e ora a M1) perché tanto gli sviluppatori non possono andare sotto i "toolkit" di libreria che si interfacciano con l'hardware.

Il rovescio della medaglia è che l'M1 è un intero computer pressofuso, ad espandibilità limitata: la RAM pare di capire non si può espandere post-vendita, per cui niente espansioni tranne forse l'hard disk; difatti circa la RAM, leggiamo

The M1 is apparently a multi-die package that contains both the actual processor die and the DRAM. As such, it has a very high-speed interface between the DRAM and the processors. da https://blog.metaobject.com/2020/11/m1-memory-and-performance.html
e ancora
Another reason is the iOS team's steadfast refusal to adopt tracing garbage collection as most of the rest of the industry did, and macOS's later abandonment of that technology in favor of the reference counting (RC) they've been using since NeXTStep 4.0. With increased automation of those reference counting operations and the addition of weak references, the convenience level for developers is essentially indistinguishable from a tracing GC now.

The benefit of sticking to RC is much-reduced memory consumption. It turns out that for a tracing GC to achieve performance comparable with manual allocation, it needs several times the memory (different studies find different overheads, but at least 4x is a conservative lower bound).

Per cui i punti di forza di M1 sono anche quelli di debolezza, e rischiano di renderlo ancora un prodotto di "nicchia", difficilmente vendibile in ambito server (ma d'altronde Apple ai server non sembra crederci granché).

La lezione impartita da Apple

Ci sembra sensato affermare che le tecnologie messe in campo dai produttori di cellulari in questi tredici anni  (il primo iPhone fu presentato il 9 gennaio 2007) hanno creato il paradosso per cui i chip dei cellulari, inizialmente pensati per il basso consumo, siano poi diventati sempre più potenti: per es iPhone 4S del 2011 è il primo modello con due core e accesso concorrente alla memoria.

Ora siamo al paradosso che la tecnologia dei chip "mobile" è abbastanza matura da poter essere messa "dentro un PC" e offrire in un solo colpo alte prestazioni & basi consumi, un terreno sul quale Intel e AMD hanno sempre giocato con qualche difficoltà anche se senza mai smettere di innovare.

Il re è nudo? Vedremo!

 

Riferimenti (da Hacker News)