Английская Википедия:Apple M1
Шаблон:Short description Шаблон:Redirect Шаблон:Infobox CPU Шаблон:AppleARM
Apple M1 is a series of ARM-based system-on-a-chip (SoC) designed by Apple Inc. as a central processing unit (CPU) and graphics processing unit (GPU) for its Mac desktops and notebooks, and the iPad Pro and iPad Air tablets.[1] The M1 chip initiated Apple's third change to the instruction set architecture used by Macintosh computers, switching from Intel to Apple silicon 14 years after they were switched from PowerPC to Intel, and 26 years after the transition from the original Motorola 68000 series to PowerPC. At the time of introduction in 2020, Apple said that the M1 had the world's fastest CPU core "in low power silicon" and the world's best CPU performance per watt.[1][2] Its successor, Apple M2, was announced on June 6, 2022, at WWDC.
The original M1 chip was introduced in November 2020, and was followed by the professional-focused M1 Pro and M1 Max chips in October 2021. The M1 Max is a higher-powered version of the M1 Pro, with more GPU cores and memory bandwidth, a larger die size, and a large used interconnect. Apple introduced the version with the interconnect enabled as the M1 Ultra in 2022 containing two M1 Max units. These chips differ largely in size and the number of functional units: for example, while the original M1 has about 16 billion transistors, the M1 Ultra has 114 billion.
Apple's macOS and iPadOS operating systems both run on the M1. Initial support for the M1 SoC in the Linux kernel was released in version 5.13 on June 27, 2021.[3]
The initial versions of the M1 chips contain an architectural defect that permits sandboxed applications to exchange data, violating the security model, an issue that has been described as "mostly harmless".[4]
Design
CPU
The M1 has four high-performance "Firestorm" and four energy-efficient "Icestorm" cores, first seen on the A14 Bionic. It has a hybrid configuration similar to ARM DynamIQ and Intel's Lakefield, Alder Lake and Raptor Lake processors.[5] This combination allows power-use optimizations not possible with previous Apple–Intel architecture devices. Apple claims the energy-efficient cores use one-tenth the power of the high-performance ones.[6] The high-performance cores have an unusually large[7] 192 KB of L1 instruction cache and 128 KB of L1 data cache and share a 12 MB L2 cache; the energy-efficient cores have a 128 KB L1 instruction cache, 64 KB L1 data cache, and a shared 4 MB L2 cache. The SoC also has a 8MB System Level Cache shared by the GPU.
M1 Pro and M1 Max
The M1 Pro and M1 Max use the same ARM big.LITTLE design as the M1, with eight high-performance "Firestorm" (six in the lower-binned variants of the M1 Pro) and two energy-efficient "Icestorm" cores, providing a total of ten cores (eight in the lower-binned variants of the M1 Pro).[8] The high-performance cores are clocked at 3228 MHz, and the high-efficiency cores are clocked at 2064 MHz. The eight high-performance cores are split into two clusters. Each high-performance cluster shares 12 MB of L2 cache. The two high-efficiency cores share 4 MB of L2 cache. The M1 Pro and M1 Max have 24 MB and 48 MB respectively of system level cache (SLC).[9]
M1 Ultra
The M1 Ultra consists of two M1 Max units with a total of 20 CPU cores and 96 MB system level cache (SLC).
GPU
The M1 integrates an Apple designed[10] eight-core (seven in some base models) graphics processing unit (GPU). Each GPU core is split into 16 Execution Units, which each contain eight Arithmetic Logic Units (ALUs). In total, the M1 GPU contains up to 128 Execution units or 1024 ALUs,[11] which Apple says can execute up to 24,576 threads simultaneously and which have a maximum floating point (FP32) performance of 2.6 TFLOPs.[5][12]
The M1 Pro integrates a 16-core (14 in some base models) graphics processing unit (GPU), while the M1 Max integrates a 32-core (24 in some base models) GPU. In total, the M1 Max GPU contains up to 512 execution units or 4096 ALUs, which have a maximum floating point (FP32) performance of 10.4 TFLOPs.
The M1 Ultra features a 48- or 64-core GPU with up to 8192 ALUs and 21 TFLOPs of FP32 performance.
Memory
Apple | RAM (-MT/s) | Width | Data rate | TB Controller |
---|---|---|---|---|
M1 | LPDDR4X-4266 | Шаблон:0128 bit | Шаблон:068.3 GByte/s | 2xTB3 |
M1 Pro | LPDDR5-6400 | Шаблон:0256 bit | 204.8 GByte/s | 2xTB4 |
M1 Max | LPDDR5-6400 | Шаблон:0512 bit | 409.6 GByte/s | 4xTB4 |
M1 Ultra | LPDDR5-6400 | 1024 bit | 819.2 GByte/s | 8xTB4 |
The M1 uses a 128-bit LPDDR4X SDRAM[13] in a unified memory configuration shared by all the components of the processor. The SoC and RAM chips are mounted together in a system-in-a-package design. 8 GB and 16 GB configurations are available.
The M1 Pro has 256-bit LPDDR5 SDRAM memory, and the M1 Max has 512-bit LPDDR5 SDRAM memory. While the M1 SoC has 66.67GB/s memory bandwidth, the M1 Pro has 200GB/s bandwidth and the M1 Max has a 400GB/s bandwidth.[5] The M1 Pro comes in memory configurations of 16 GB and 32 GB, and the M1 Max comes in configurations of 32 GB and 64 GB.[14]
The M1 Ultra doubles the specs of the M1 Max for a 1024-bit or 1-kilobit memory bus with 800GB/s bandwidth in a 64 GB or 128 GB configuration.
Other features
The M1 contains dedicated neural network hardware in a 16-core Neural Engine, capable of executing 11 trillion operations per second.[5] Other components include an image signal processor, a PCIe storage controller, a USB4 controller that includes Thunderbolt 3 support, and a Secure Enclave. The M1 Pro, Max and Ultra support Thunderbolt 4.
The M1 has video codec encoding support for HEVC and H.264. It has decoding support for HEVC, H.264, and ProRes.[15] The M1 Pro, M1 Max, and M1 Ultra have a media engine which has hardware-accelerated H.264, HEVC, ProRes, and ProRes RAW. This media engine includes a video decode engine (the M1 Ultra has two), a video encode engine (the M1 Max has two and the M1 Ultra has four), and a ProRes encode and decode engine (again the M1 Max has two and the M1 Ultra has four).[16][17]
The M1 Max supports High Power Mode on the 16-inch MacBook Pro for intensive tasks.[18] The M1 Pro supports two 6K displays at 60 Hz over Thunderbolt, while the M1 Max supports a third 6K display over Thunderbolt and a 4K monitor over HDMI 2.0.[14] All parameters of the M1 Max processors are doubled in M1 Ultra processors, as they are essentially two M1 Max processors operating in parallel; they are in a single package (in size being bigger than Socket AM4 AMD Ryzen processor)[19] and seen as one processor in macOS.
Performance and efficiency
The M1 recorded competitive performance in popular benchmarks (Geekbench 5, Cinebench R23).[20]
The 2020 M1-equipped Mac Mini draws 7 watts when idle and 39 watts at maximum load,[21] compared with 20 watts idle and 122 watts maximum load for the 2018 6-core Intel i7 Mac mini.[22] The energy efficiency of the M1 increases battery life of M1-based MacBooks by 50% compared to previous Intel-based MacBooks.[23]
At release, the MacBook Air (M1, 2020) and MacBook Pro (M1, 2020) were praised by critics for their CPU performance and battery life, particularly compared to previous MacBooks.[24][25]
Products that use the Apple M1 series
M1
- MacBook Air (M1, 2020) – base model has 7-core GPU[26]
- Mac Mini (M1, 2020)[27]
- MacBook Pro (13-inch, M1, 2020)[28]
- iMac (24-inch, M1, 2021) – base model has 7-core GPU[29]
- iPad Pro (11-inch, 3rd generation)[30] (2021)
- iPad Pro (12.9-inch, 5th generation)[30] (2021)
- iPad Air (5th generation) (2022)
M1 Pro
M1 Max
- MacBook Pro (14-inch and 16-inch, 2021)
- Mac Studio (2022)
M1 Ultra
- Mac Studio (2022)
Problems
USB power delivery bricking
After its release, some users who charged M1 devices through USB-C hubs reported bricking their device.[31] The devices that are reported to cause this issue were third-party USB-C hubs and non-Thunderbolt docks (excluding Apple's own dongle).[31] Apple handled this issue by replacing the logic board and by telling its customers not to charge through those hubs.[31] macOS Big Sur 11.2.2 includes a fix to prevent 2019 or later MacBook Pro models and 2020 or later MacBook Air models from being damaged by certain third-party USB-C hubs and docks.[32][33]
Security vulnerabilities
M1racles
A flaw in M1 processors, given the name "M1racles", was announced in May 2021. Two sandboxed applications can exchange data without the system's knowledge by using an unintentionally writable processor register as a covert channel, violating the security model and constituting a minor vulnerability. It was discovered by Hector Martin, founder of the Asahi Linux project for Linux on Apple Silicon.[34]
Augury
In May 2022 a flaw termed "Augury" was announced involving the Data-Memory Dependent Prefetcher (DMP) in M1 chips, discovered by researchers at Tel Aviv University, the University of Illinois Urbana-Champaign, and the University of Washington. It was not considered a substantial security risk at the time.[35]
Pacman
Шаблон:Main In June 2022, MIT researchers announced they had found a speculative execution vulnerability in M1 chips which they called "Pacman" after pointer authentication codes (PAC).[36] Apple said they did not believe this posed a serious threat to users.[37]
Security Vulnerability (CVE-2022-32947)
In 2022, an exploit regarding the M1's page table translations was found by Asahi Lina, a YouTuber and one of the developers involved in Asahi Linux for the GPU: the exploit was discovered by accident during initial reverse engineering efforts of the GPU in the middle of a live-stream. The exploit involved the use of the user having firmware read-write permissions, Apple's Page Translation Lookup Table, registers, and the uPPL. Using return-oriented programming, the exploit took the form of a shader that would have several components be integrated into the micro sequence in the hardware, generate a fake page table, changing registers to point towards the new page table, and invoking the Lookup Table to perform a uPPL call. As the uPPL had the ability to modify the page table contents, and the lookup table had the unrestricted ability to perform a uPPL call, an attacker can use this exploit to gain root privileges with the fake page table being referenced by the registers, after the fake page table is mapped over the original from the uPPL-Lookup Table vulnerability, and the registers are reset, the attacker then can modify variables to be run as root.
The exploit was considered unique as it involved the use of a shader instead of more traditional means, but the exploit would be categorized under the “Device Attack via user-installed app” category, and was worth $150,000.
A full video was posted in September 2023 that demonstrated the full exploit,[38] along with a website that included information on how the exploit worked. The site also had a JavaScript emulated micro sequence that demonstrated each step of the process.[39]
Variants
The table below shows the various SoCs based on the "Firestorm" and "Icestorm" microarchitectures.[40][41]
Variant | CPU cores (P+E)* |
GPU cores |
GPU EU |
Graphics ALU |
Neural Engine cores |
Memory (GB) | Memory Bandwidth (GB/s) | Transistor count |
---|---|---|---|---|---|---|---|---|
A14 | 6 (2+4) | 4 | 64 | 512 | 16 | 4–6 | 34.1 | 11.8 billion |
M1 | 8 (4+4) | 7 | 112 | 896 | 8–16 | 68.3 | 16 billion | |
8 | 128 | 1024 | ||||||
M1 Pro | 8 (6+2) | 14 | 224 | 1792 | 16–32 | 204.8 | 33.7 billion | |
10 (8+2) | ||||||||
16 | 256 | 2048 | ||||||
M1 Max | 10 (8+2) | 24 | 384 | 3072 | 32–64 | 409.6 | 57 billion | |
32 | 512 | 4096 | ||||||
M1 Ultra | 20 (16+4) | 48 | 768 | 6144 | 32 | 64–128 | 819.2 | 114 billion |
64 | 1024 | 8192 |
Gallery
See also
References
External links
Шаблон:Apple Inc. Шаблон:Apple silicon Шаблон:Apple hardware Шаблон:Application ARM-based chips
- ↑ 1,0 1,1 Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ 5,0 5,1 5,2 5,3 Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite news
- ↑ Шаблон:Cite web
- ↑ 14,0 14,1 Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite news
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite press release
- ↑ 30,0 30,1 Шаблон:Cite web
- ↑ 31,0 31,1 31,2 Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite magazine
- ↑ Шаблон:Cite news
- ↑ Шаблон:Cite conference
- ↑ Шаблон:Cite news
- ↑ Шаблон:Citation
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web