Apple's ARM Transition

Sure you could try to Google this, but if you try to learn what Apple has done beyond the superficial explanations, you will quickly get buried in highly technical jargon such as M1 using very wide instruction decoders, enormous re-order buffer (ROB) etc. Unless you are a CPU hardware geek, a lot of this will simply be gobbledegook.

I… suppose I’m a CPU hardware geek…

However today increasing the clock frequency is next to impossible. That is the whole “End of Moore’s Law” that people have been harping on for over a decade now.

Not at all. Moore’s law is simply about transistor density, and while we’ve slowed progress significantly, there’s still some improvements there. Author probably means Dennard Scaling.

Otherwise, reasonably written. I could pick on a few points, but as a more generally targeted article, it’s decent enough. Certainly more readable than anything I’d write on the topic…

I am hipster. Hear me… uh… well, you know, never mind, you wouldn’t get it. :stuck_out_tongue:

I now have a LG 5k display on my M1 Mac Mini.

This is, by far, the fastest* computer and nicest monitor I’ve ever used.

* Standard disclaimer about single threaded throughput and such apply. But, seriously, it plays KSP quite respectably and it runs Blogger.

1 Like

And it runs VMs! :smiley:

While qemu with hardware virtualization support has been an option, Parallels just released a tech preview of Parallels Desktop 16 for ARM. Which I am currently messing with.

Unfortunately, it’s stuck at 1024x768 in Ubuntu, with no real options to change it, so I may go to qemu after all…

Hrm. Steam for MacOS… arm yet or not?

I didn’t even know Steam ran on OS X…

If you can get ARM native versions, go for it, but x86 emulation covers an awful lot of ground, especially for stuff that’s just a binary. Performance on JIT is far worse.

Sooo… there’s this.

Apple has non-standard matrix operations in their chip that are useful for things.

They’ve got a non-standard memory model to emulate x86 ordering, non-standard coprocessor instructions for matrix work… initially, I thought them insisting “It’s not ARM, it’s Apple Silicon” was just a bit of Apple arrogance (certainly earned in this case). But as more and more trickles out, I have to agree with them. It’s not straight up ARM - so calling it Apple Silicon is increasingly correct-sounding. It’s able to do things that no other ARM chip on the planet can.

While working on a blog post about qemu virtualization, I ran some benchmarks on a couple systems. The results were impressive, to say the least.

An i7-6770HQ (my NUC) scores about 75 on the Speedometer browser benchmark.

One of these is the M1 Mac Mini with Chrome, and the other is a Linux VM with Chrome. And you’re wrong about which is which.

speedometer

The VM is actually faster than the native performance, somehow.

I also decided to run my usual ‘mbw 1024’ benchmark - memory bandwidth using various not-terribly-optimized memcpy routines - the sort of stuff that most applications use to move data around.

blinks

mbw

I’m not comparing against Raspberry Pis here. This is against reasonably modern, flagship processors! It’s an absolute bloody slaughter, in a VM!

Explains a lot…

The M1 is insane - and it’s a first gen chip! Sure they had experience from the iPads and such - but this is a first go!

I’m really really wondering what’s in the pipeline for the replacements for the rest of the hardware; the Mac Pro may be the last to go but it may happen sooner than we think.

How is the total energy consumption of your setup (mini + monitor)? I’m connected to mains in a cold climate also excess waste heat doesn’t bother me much, but reductions in usage are always good.

Fairly low. I don’t have exact measurements, and my monitor is not exactly a power sipper at times (LG 5k I traded some hardware for), but idle power is “noise within my office measurements” and running power isn’t that much higher.

Anandtech has some really good numbers on the Mac Mini’s power consumption, and they conclude 4.2W AC idle, about 31W at full tilt.

I can’t argue with those, they seem reasonable to me from what I’ve seen.

Memory based performance doesn’t surprise me, considering the 8gb of memory is on-chip.

Not sure about the bench - my I7-7700k w/ 64gb of memory, running W10 and latest chrome (in the middle of all the other stuff I’m doing right now, as a multitask) just scored a whopping 97.7.

Native Chrome on the M1 gets me a 179.

Unloaded Pixel Slate gets (i5-8100Y, 2 cores) a 67.5.

So it’s a bench that’s pretty core count independent (on chromeOS and windows, at least) and kinda odd - I’m not sure how my M1 mini (chrome native) is getting 50 higher runs/minute than yours.

Incognito scores (plugin-less)

i7-7700k 126
M1 native chrome 190
Pixel Slate 73.9

Based on the pixel slate score (weakest processor of the bunch) I’m not entirely convinced it’s a CPU bound benchmark, nor is it multithreaded in any way.

That’s not taking anything away from the M1’s performance, of course, just thinking the bench isn’t exactly a test of CPU.

I worked this out, haven’t updated the post. I have extensions that slaughter performance and need to redo benchmarks/update the post.

Without extensions, my M1 is around 213 with native Chrome. The main point was just that the VM was quick enough to use.

Soooo…

Current rumors for the next gen hardware:

MagSafe, no touchbar, and slab sided hardware (similar, theoretically, to the new iPads in terms of design language).

And ports beyond USB-C.

That would be amazing!

Not sure I need magsafe on a mini… :stuck_out_tongue:

No, but, man do I like magsafe in general! I hope they go back to it. It’s saved so many laptops, mine included, from destruction…

My 2015 MBP feels so dated compared to the Mac Mini… :confused: