Android development

Mac Mini on M1: an inside look

In this article, we'll take a look under the hood of the newest mac based on SoC M1, literally and figuratively.

As you know, guests are greeted by their clothes. Our guest today, the new Mac Mini, is minimally different from its 2018 predecessor. The first difference is the ThunderBolt interfaces provided. The old generation has 4 ports, while the newer has only 2. The second notable difference concerns the color of the Mac Mini. Devices with Intel processors come in Space Gray, while M1s come in Silver.

Apparently, Apple thus shifts the emphasis towards the inner content of the Mac Mini. The minimal differences in appearance across generations prompts more attention to their performance. A bonus is a reduction in risks, terms and costs for the development of new components.

We'll follow the urge to look inside the Mac Mini and take it apart.
Inner world
imageMac Mini 2020
imageMac Mini 2018 (source )

The "keys" to the inner world of Mac Mini are Torx screwdrivers: T5, T6 and T8. As in the previous generation, behind the plastic plug is an aluminum cover, which is screwed on with six screws. It's easy to see that there is a lot of white space in the new Mac Mini. We remove the fan.

imageMac Mini 2020 Fanless

A black strip similar to electrical tape is glued to the motherboard connection. Removal of this sticker voids the warranty. ... There are no upgradeable parts in the new Mac Mini, so there is no reason to remove the main board from the case either.

imageMain board outside the case

imageMotherboard without front panel and speaker

A motherboard without a case, front panel and speaker looks incredibly tiny. In the foreground, two unmarked iron components are visible, which are most likely a storage device. The most interesting thing awaits under the air duct and radiator. Unscrew the remaining 8 bolts and access the heart of the Mac Mini.

Under the heatsink, you can see three chips at once, marked with the Apple logo. However, the famous M1 is immediately recognizable. Next to the main crystal of the processor are two LPDDR4X RAM modules. Many chips are not labeled, however, the following are recognized:

MegaChips MCDP2920A4, DisplayPort 1.4 to HDMI 2.0 converter;
Broadcom BCM57782 Gigabit Ethernet Controller
2x Intel JHL8040R, ретаймер ThunderBolt 4;
Apple 1096 и 1097.

Chips on the back of the motherboard:

2x Texas Instruments CD3217B12;
Renesas 501CR0B;
Fresco Logic FL1100SX, контроллер PCIe-to-USB;

The proximity of all components helps to increase the speed of information exchange, but this is only a theory. Let's test the Mac Mini in practice and draw our own conclusions.
The M1 processor consists of 8 cores on the ARM64 architecture. However, these are not ordinary kernels. Half of them are high-performance FireStorm cores, and the rest are energy-efficient IceStorm cores. There is no official information on the TDP of the processor, but the estimated heat dissipation does not exceed 21 watts.

imageInstalling the Rosetta 2 translator

The first benchmark in our plan is GeekBench5, a quick benchmark of CPU performance. On a Mac with an M1, the benchmark can be run natively and via the x86 translator in arm64. The latter is not present on the system by default, but it can be easily installed using the following command:

softwareupdate --install-rosetta The operating system will also offer to install the translator when starting the old application.

imageGeekBench5 Main Window

If you have Rosetta 2 in GeekBench5, you can choose Intel architecture. This will allow you to measure the performance of your Mac Mini on unadapted "classic" applications.
Application architecture Single-Core Score Multi-Core Score
Apple Silicon 1742 7577
Intel 1297 6012
Intel Core i5-10500 1176 5979
Intel Core i9-9900 1246 7687
The performance of x86_64 applications on M1 is only 20% lower than the native ones. Judging by the Intel architecture, the Apple M1 performs at the level of the 65-watt Intel Core i5-10500, and in the execution of the native code it lags slightly behind the Intel Core i9-9900.
Graphics Accelerator OpenCL Compute Score
Apple M1 19465
GeForce GTX 970M 19743
Graphics Accelerator Metal Compute Score
Apple M1 22022
NVIDIA GeForce GTX 980 21820
GeekBench has a Compute section that measures the performance of the graphics accelerator. This Mac Mini uses the processor cores as the graphics accelerator. We conducted tests on the technologies available for the M1: OpenCL and Metal. The Apple processor performs well, even when compared to external graphics cards.

Apple M1 has 16-core Neural Engine for working with neural networks and machine learning. We wanted to test with AI Benchmark , however, this test does not run due to a processor detection error.

Therefore, we chose a simpler test - training a convolutional neural network (CNN) to classify handwritten digits on the MNIST dataset. We have applied script adapted for use with the macOS Tensorflow fork. There are three key parameters in this test:

average transit time of an epoch;
average time to pass an epoch step;
the accuracy of the resulting model.

We ran tests not only on the experimental Mac Mini, but also on selected video cards and processors for data centers. Here's what we got:
Device Average epoch time, s Average step time, ms Model accuracy
Apple M1 (CPU) 15 33 99.81%
Apple M1 (GPU) 19 40 99.36%
Nvidia GeForce GTX1080 3 6 99.85%
Intel® Xeon® Gold 6240 9 17 99.86%
Nvidia Tesla A100 3 3 99.87%
Nvidia Tesla V100 3 3 99.94%
Nvidia Tesla P40 3 5 99.89%
A desktop computer cannot rip off video cards from the server segment, but when you take into account the low power consumption, the Apple M1 shows itself as a serious competitor.
The new Mac Mini on the M1 suggests that desktops will soon move to the ARM64 architecture. Apple has made a device that presents the user with something new and unusual, but does not take away the old and familiar, allowing them to run applications created for a different architecture.

Do you think ARM architecture can completely supplant x64?
Pirat 22 april 2021, 12:03
Vote for this post
Bring it to the Main Page


Leave a Reply

Avaible tags
  • <b>...</b>highlighting important text on the page in bold
  • <i>..</i>highlighting important text on the page in italic
  • <u>...</u>allocated with tag <u> text shownas underlined
  • <s>...</s>allocated with tag <s> text shown as strikethrough
  • <sup>...</sup>, <sub>...</sub>text in the tag <sup> appears as a superscript, <sub> - subscript
  • <blockquote>...</blockquote>For  highlight citation, use the tag <blockquote>
  • <code lang="lang">...</code>highlighting the program code (supported by bash, cpp, cs, css, xml, html, java, javascript, lisp, lua, php, perl, python, ruby, sql, scala, text)
  • <a href="http://...">...</a>link, specify the desired Internet address in the href attribute
  • <img src="http://..." alt="text" />specify the full path of image in the src attribute