Apple M1

Da Wikipedia, l'enciclopedia libera.
Jump to navigation Jump to search

1leftarrow blue.svgVoce principale: Apple Silicon.

Apple M1
Central processing unit
Mac Mini M1 chip.jpg
Progettato daApple Inc.
ProduttoreTSMC
ApplicazioniPC (Mac)
Nome in codiceAPL1102
Specifiche tecniche
Processo
(l. canale MOSFET)
nm
Set di istruzioniAArch64 (ARM64)
N° di core (CPU)Octa-Core (8)
  • 4 High (3,20 GHz)
  • 4 Low (2,00 GHz)
Cache L1per Core (CPU):
  • 192+128 KB (x4 High)
  • 128+64 KB (x4 Low)
Cache L2per Cluster (CPU):
  • 12 MB (x4 High)
  • 4 MB (x4 Low)
GPUApple (Octa-Core)
  • 128 Executions units
  • 2,6 TFLOPS
  • 82 Texels/sec
  • 41 GPixels/sec
NPUApple (Hexadeca-Core)
  • 1,1 TFLOPS

Apple M1 è il primo System on a chip progettato da Apple Inc. per ambiente Mac e per iPad Pro 2021, in architettura RISC su base completamente customizzata e proprietaria, con licenza di utilizzare le istruzioni ARM64 (Aarch64) In modalità "clean room" quindi progettando cores completamente differenti dai cortex.

Grazie anche al primato di primo SoC con processo produttivo a 5 nm per ambiente desktop, Apple M1 racchiude in ben 16 miliardi di transistor un ecosistema di componenti, tra cui CPU, GPU, NPU, ISP, I/O, Secure Enclave e la memoria unificata (UMA).

Presentato nel keynote del 10 novembre 2020, Apple M1 viene montato su MacBook Air 13", MacBook Pro 13", Mac mini 2020 e iMac 24”, iPad Pro 2021

Caratteristiche[modifica | modifica wikitesto]

Ciò che contraddistingue il SoC Apple M1 dagli ultimi processori Intel Core è il seguente:

Intel Core Apple Silicon
Tipo CISC
(x86)
RISC
(ARM)
Prod 14 nm 5 nm
CPU
GPU
NPU
ISP
SEP
UMA

La componentistica di Apple M1 è la seguente:

CPU
Firestorm
(3,20 GHz)
CPU
Firestorm
(3,20 GHz)
'CPU
Icestorm
(2,00 GHz)
CPU
Icestorm
(2,00 GHz)
UMA
(4/8 GB)
192+128 KB 192+128 KB 128+64 KB 128+64 KB
CPU
Firestorm
(3,20 GHz)
CPU
Firestorm
(3,20 GHz)
CPU
Icestorm
(2,00 GHz)
CPU
Icestorm
(2,00 GHz)
192+128 KB 192+128 KB 128+64 KB 128+64 KB
Cache 12 MB Cache 4 MB
GPU GPU GPU GPU UMA
(4/8 GB)
GPU GPU GPU GPU
NPU NPU NPU NPU
NPU NPU NPU NPU
NPU NPU NPU NPU
NPU NPU NPU NPU

CPU[modifica | modifica wikitesto]

La CPU (Central Processing Unit) è suddivisa in due cluster da 4 core ciascuno:

  • 4 Efficiency Core / E cluster (Icestorm) operativi tra i 0,6 ed i 2,064 GHz, con un consumo massimo di 1,3 W, dispongono di una cache di istruzioni da 128k e 4 MB di cache L2 condivisa:
    • Sempre attivi per compiti leggeri quali consultazione e-mail o navigazione sul web.
    • Grazie al loro basso consumo energetico, preservano l'autonomia della batteria.
  • 4 Performance Core / P cluster (Firestorm) operativi tra i 0,6 ed i 3,204 GHz, con un consumo massimo di 13,8 W, dispongono di una cache di istruzioni da 192k e 12 MB di cache L2 condivisa:
    • Si attivano nei compiti più impegnativi quali editing fotografici o compilazioni di programmi;
    • Possono lavorare assieme ai core efficienti, così da ottenere un ulteriore incremento prestazionale.

GPU[modifica | modifica wikitesto]

La GPU (Graphics Processing Unit) è composta da:

  • 8 Graphics Core (7 Core nella versione base di MacBook Air):
    Operativi su 8 pipelines ad una frequenza di 1,278 GHz, con una richiesta energetica massima di circa 10 W e adottando un processo di fabbricazione TSMC a 5 nm, riescono a garantire un throughput (FP32) fino a 2,6 TFLOPS.
    • La GPU octa-core contiene 128 EU (Unità di Esecuzione) capaci di oltre 25.000 threads simultanei, con un bus a 128bit, 1024 ALU (Arithmetic Logic Unit), 64 Texture Units e 32 ROP (Raster Operation Pipeline). Alcuni test GFXBench5.0 indipendenti[1] fanno segnare 71,149 MTextels/s in texturing.

NPU[modifica | modifica wikitesto]

Il componente ANE (Apple Neural Engine) è un tipo di processore NPU (Neural Processing Unit) composto da:

  • 16 Core dedicati al Neural Engine:
    Svolgono lavori particolari quali apprendimento automatico e Machine learning (ML) alla velocità di 11 trilioni (11.000 miliardi) di operazioni al secondo; sono degli AI Accelerator chip multicore che "imitano" il calcolo parallelo tipico delle reti neurali biologiche, operazioni nelle quali non è richiesta una particolare istruzione ma una velocità e precisione nell'eseguire calcoli matematici matrici convoluzioni, o compiti ripetitivi, come coprocessori complementari progettati per eseguire algoritmi legati all'intelligenza artificiale.
    • Nelle soluzioni precedenti all' M1 queste operazioni erano compiute sfruttando GPU (con la tecnica del General Purpose GPU, calcolo a scopo generale su unità di elaborazione grafica) oppure gli FPGA (Field-programmable Gate Arrays); l'utilizzo di processori NPU, invece, permette di ottenere risultati migliori grazie ad una frazione del consumo energetico ed una velocità molto maggiore, se i processi sono ottimizzati per sfruttare le capacità CoreML ovvero di Machine Learning dell'NPU Apple.

Pro Video Encode / Decode[modifica | modifica wikitesto]

Apple M1 predispone fisicamente al suo interno anche di video codificatori / decodificatori di tipo hardware che hanno il compito di codificare e/o decodificare flussi video in modo accelerato.

Encode Decode
MPEG
VCEG
AVC1
H.264
HEVC
H.265 (8 bit)
HEVC
H.265 (10 bit)
VVC
H.266
Google VP8
VP9
AV1
VC-1
JPEG

UMA[modifica | modifica wikitesto]

La memoria UMA (Unified Memory Architecture , anche riferita alla sua tecnologia Uniform Memory Access) è un'architettura “unificata" (nettamente superiore alla classica memoria RAM e più simile ad un ulteriore layer di memoria cache delle CPU).

L'idea alla base che permette un drammatico miglioramento di prestazioni rispetto alle soluzioni precedenti, sta nel fatto di incentrare la computazione dei vari elementi del sistema sulla memoria, incentrata a sua volta in un unico pool, permettendo quindi ai componenti (quali CPU, GPU, NPU, ISP e altri) di accedere agli stessi medesimi dati in memoria in processi contemporanei, utilizzando la stessa memoria fisica e gli stessi indirizzi, senza più spostarli tra raggruppamenti di memoria o dividerli in zone di lavoro, migliorando sia in prestazione che in efficienza. In questa versione di M1, viene sfruttata una memoria con caratteristiche Low Power a 4266 MT/s pressoché identica alla LPDDR4X ma con una tensione I/O abbassata a 0,6v (anziché 1,1v) per un ulteriore aumento d'efficienza, più altre migliorie tecniche riguardanti i canali e le velocità di funzionamento.

Racchiusa anch'essa nel SoC, la UMA permette di combinare memoria ad elevata larghezza di banda e bassa latenza, raggiungendo una performance di 68GB/sec , il doppio della massima bandwidth teorica raggiungibile da PCIe 4.0 (2GB per Lane, con un massimo di 16 Lanes si potrebbero raggiungere i 32GB/sec), e comunque senza la necessità di dover copiare aree di memoria ad esempio dalla scheda grafica alla classica RAM, come viene eseguito normalmente con gli altri sistemi contemporanei ad M1. La Unified Memory Architecture è stato un vecchio brevetto mondiale di Apple risalente al 1996[2].

Prestazioni e benchmark[modifica | modifica wikitesto]

Le migliori prestazioni registrate da Apple M1 sono le seguenti:[3]

Benchmark da GeekBench
Apple M1
(Single-Core)
  
1762

  
Apple M1
(Multi-Core)
  
7718


Applicazioni predisposte[modifica | modifica wikitesto]

Sin dal lancio di Apple M1 (che ha aperto la strada alle istruzioni ARM anche nei Mac), molti sviluppatori hanno contribuito alla ricompilazione delle proprie app, al fine di poter girare con istruzioni ARM in modo nativo nella piattaforma Silicon senza quindi necessità di essere gestite da Rosetta 2 che si occupa di tradurre codice x86 proveniente da app non native (al fine di poter essere comunque supportate da queste piattaforme).

Di seguito, alcune delle app più conosciute già native:[4]

  • Affinity Suite (Designer, Photo, Publisher)
  • Cinema 4D
  • Clip Studio Paint
  • Compressor
  • Darkroom
  • DaVinci Resolve
  • djay Pro AI
  • EasyDraw
  • Final Cut Pro
  • HandBrake
  • Pages, Numbers, Keynote
  • Logic Pro
  • Luna Display
  • Office 2019
  • Suite Omni (Focus, Graffle, Outline, Planner)
  • Motion
  • Pixelmator 2
  • Ulysses
  • Unity
  • Xcode

Inoltre, anche applicativi minori quali per prestazioni e monitoraggio di sistema come Sense, iStat Menu e GeeckBench 5 o di messaggistica come Telegram e Twitter sono già predisposte a girare in modo nativo nel sistema ARM.

Dispositivi predisposti[modifica | modifica wikitesto]

Note[modifica | modifica wikitesto]

Voci correlate[modifica | modifica wikitesto]

Altri progetti[modifica | modifica wikitesto]

Collegamenti esterni[modifica | modifica wikitesto]