# Apple M1

Apple M1 è il primo System on a chip progettato da Apple Inc. in architettura RISC su base ARM (Aarch64) per ambiente Mac e iPad.
Il chip M1 è realizzato con processo produttivo a 5 nm ed è composto da CPU, GPU, NPU, ISP, I/O, Secure Enclave e una memoria unificata (UMA).
Presentato all'evento "One more thing." del 10 novembre 2020, Apple M1 viene montato su MacBook Air 13", MacBook Pro 13", Mac mini 2020, iMac 24”, iPad Pro 2021 e iPad Air 2022.

## Caratteristiche
### CPU

L'Apple M1 è dotato di una unità di elaborazione centrale (CPU) a 8 core, di cui 4 "Firestorm", ad alte prestazioni, e 4 core "Icestorm", ad alta efficienza.
I 4 core ad alte prestazioni (P cluster) operano tra i 0,6 ed i 2,064 GHz, con un consumo massimo di 13,8 W e hanno:
* cache istruzioni L1 da 192 KB
* cache dati L1 da 128 KB
* cache condivisa L2 da 16 MB
I core ad alta efficienza operano invece tra i 0,6 ed i 3,204 GHz, con un consumo massimo di 1,3 W e hanno:
* cache istruzioni L1 da 128 KB
* cache dati L1 da 64 KB
* cache condivisa L2 da 4 MB

### GPU

Il chip Apple M1 integra una unità di elaborazione grafica (GPU) da 8 core (1 disattivato sul modello "entry level" del MacBook Air2020) che operano tra i 450 MHz e i 1,278 GHz, con una richiesta energetica massima di circa 10 W e contiene 128 EU (Execution Unit). In totale l'M1 contiene 256 unità di esecuzione (EU), 32 per core, in grado di eseguire quasi 25.000 thread simultaneamente, garantendo un throughput (FP32) fino a 2,6 TFLOPS.
Anche la GPU è prodotta col processo di fabbricazione TSMC a 5 nm.

### NPU

L'M1 è dato di una unità di elaborazione neurale (NPU) denominata "Apple Neural Engine", composta da 16 core in grado di garantire prestazioni fino a 11 TOPS.

### Memoria

Il chip M1 è dotato di una memoria unificata UMA (Unified Memory Architecture) di tipo LPDDR4X-4266 128-bit condivisa tra tutti i componenti del chip. Sia il chip che la memoria sono montati nello stesso System-On-Chip (SoC) ed è disponibile nelle configurazioni da 8 GB o 16 GB.

### Pro Video Encode / Decode

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 | ✓ | ✓ |
| MPEG VCEG | HEVC H.265 (8 bit) | ✓ | ✓ |
| MPEG VCEG | HEVC H.265 (10 bit) | ✓ | ✓ |
| MPEG VCEG | VVC H.266 | ✘ | ✘ |
| Google | VP8 | ✓ | ✓ |
| Google | VP9 | ✓ | ✓ |
| Google | AV1 | ✘ | ✓ |
| | VC-1 | ✘ | ✓ |
| | JPEG | ✓ | ✓ |

### Altri componenti

È presente un image signal processor (ISP), un controller PCIe, un Secure Enclave, e un controller USB4 che include il supporto alla tecnologia Thunderbolt 3.
La componentistica di Apple M1 è la seguente:
| CPU $^{Firestorm}$ $^{(3,20GHz)}$ | CPU $^{Firestorm}$ $^{(3,20GHz)}$ | CPU $^{Icestorm}$ $^{(2,00GHz)}$ | CPU $^{Icestorm}$ $^{(2,00GHz)}$ | UMA $^{(4/8GB)}$ |
| 192+128 KB | 192+128 KB | 128+64 KB | 128+64 KB | UMA $^{(4/8GB)}$ |
| CPU $^{Firestorm}$ $^{(3,20GHz)}$ | CPU $^{Firestorm}$ $^{(3,20GHz)}$ | CPU $^{Icestorm}$ $^{(2,00GHz)}$ | CPU $^{Icestorm}$ $^{(2,00GHz)}$ | UMA $^{(4/8GB)}$ |
| 192+128 KB | 192+128 KB | 128+64 KB | 128+64 KB | UMA $^{(4/8GB)}$ |
| Cache 12 MB | Cache 12 MB | Cache 4 MB | Cache 4 MB |
| GPU | GPU | GPU | GPU | UMA $^{(4/8GB)}$ |
| GPU | GPU | GPU | GPU | UMA $^{(4/8GB)}$ |
| NPU | NPU | NPU | NPU | UMA $^{(4/8GB)}$ |
| NPU | NPU | NPU | NPU | UMA $^{(4/8GB)}$ |
| NPU | NPU | NPU | NPU | UMA $^{(4/8GB)}$ |
| NPU | NPU | NPU | NPU | UMA $^{(4/8GB)}$ |

## Configurazioni

Il chip Apple M1 è disponibile nelle seguenti configurazioni:
* CPU 8-core (4 Performance core e 4 Efficiency core), GPU 7-core, Neural Engine 16‑core
* CPU 8-core (4 Performance core e 4 Efficiency core), GPU 8-core, Neural Engine 16‑core
Memoria: 8/16 GB.

## Prestazioni e benchmark

Le migliori prestazioni registrate da Apple M1 sono le seguenti:
Benchmark da GeekBench :
| Apple M1 (Single-Core) | Apple M1 (Single-Core) | 1762 | 1762 |
| Apple M1 (Multi-Core) | Apple M1 (Multi-Core) | 7718 | 7718 |

## Applicazioni predisposte

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:
* Affinity Suite (Designer, Photo, Publisher)
* Cinema 4D
* Clip Studio Paint
* Compressor
* Darkroom
* DaVinci Resolve
* djay Pro AI
* EasyDraw
* Final Cut Pro
* Gaveira
* 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

* (2020): MacBook Air
* (2020): MacBook Pro 13"
* (2020): Mac mini
* (2021): iMac 24”
* (2021): iPad Pro
* (2022): iPad Air