Discussion Apple Silicon SoC thread

Page 61 - Seeking answers? Join the AnandTech community: where nearly half-a-million members share solutions and discuss the latest tech.

Eug

Lifer
Mar 11, 2000
23,583
996
126
M1
5 nm
Unified memory architecture - LP-DDR4
16 billion transistors

8-core CPU

4 high-performance cores
192 KB instruction cache
128 KB data cache
Shared 12 MB L2 cache

4 high-efficiency cores
128 KB instruction cache
64 KB data cache
Shared 4 MB L2 cache
(Apple claims the 4 high-effiency cores alone perform like a dual-core Intel MacBook Air)

8-core iGPU (but there is a 7-core variant, likely with one inactive core)
128 execution units
Up to 24576 concurrent threads
2.6 Teraflops
82 Gigatexels/s
41 gigapixels/s

16-core neural engine
Secure Enclave
USB 4

Products:
$999 ($899 edu) 13" MacBook Air (fanless) - 18 hour video playback battery life
$699 Mac mini (with fan)
$1299 ($1199 edu) 13" MacBook Pro (with fan) - 20 hour video playback battery life

Memory options 8 GB and 16 GB. No 32 GB option (unless you go Intel).

It should be noted that the M1 chip in these three Macs is the same (aside from GPU core number). Basically, Apple is taking the same approach which these chips as they do the iPhones and iPads. Just one SKU (excluding the X variants), which is the same across all iDevices (aside from maybe slight clock speed differences occasionally).

EDIT:

Screen-Shot-2021-10-18-at-1.20.47-PM.jpg

M1 Pro 8-core CPU (6+2), 14-core GPU
M1 Pro 10-core CPU (8+2), 14-core GPU
M1 Pro 10-core CPU (8+2), 16-core GPU
M1 Max 10-core CPU (8+2), 24-core GPU
M1 Max 10-core CPU (8+2), 32-core GPU

M1 Pro and M1 Max discussion here:


M1 Ultra discussion here:


M2 discussion here:


Second Generation 5 nm
Unified memory architecture - LPDDR5, up to 24 GB and 100 GB/s
20 billion transistors

8-core CPU

4 high-performance cores
192 KB instruction cache
128 KB data cache
Shared 16 MB L2 cache

4 high-efficiency cores
128 KB instruction cache
64 KB data cache
Shared 4 MB L2 cache

10-core iGPU (but there is an 8-core variant)
3.6 Teraflops

16-core neural engine
Secure Enclave
USB 4

Hardware acceleration for 8K h.264, h.264, ProRes

M3 Family discussion here:

 
Last edited:

Heartbreaker

Diamond Member
Apr 3, 2006
4,222
5,224
136
Im curious on that too, Apple said it was up to Microsoft if they wanted to port windows to M1. This to me sounds as if Apple isnt open to providing support and documentation for Microsoft to port Windows to M1, but I may be reading too much into it.
The question becomes: does windows on Mac benefit Microsoft, or does it benefit Apple? If it only benefits Apple, they wont do it. If it benefits them, they might. Do you think it benefits microsoft to do so?

It's not about porting. Apple isn't supporting other OS's on the metal of M1 Macs, and without GPU drivers, Windows isn't going to boot on M1 Macs.

It's about licensing. Licensing was even in the original statement. It's up to Microsoft whether they want to Licence Windows for usage in a VM on M1 Macs.

It's already been demonstrated running in a VM on the new Macs, by complete outsiders, so it's obvious the technical hurdles are very low.
 
  • Like
Reactions: nxre

moinmoin

Diamond Member
Jun 1, 2017
4,933
7,619
136
Apple said it was up to Microsoft if they wanted to port windows to M1. This to me sounds as if Apple isnt open to providing support and documentation for Microsoft to port Windows to M1, but I may be reading too much into it.
Is there a source of Apple saying that? The way you worded the sentence actually sounds like computers with M1 would have an open bootloader that Microsoft (or some Linux distribution etc.) could take advantage of to install a different OS (in contrary to all iOS devices so far being completely locked down). Otherwise Apple would be saying Microsoft is free to hack M1 which would make little professional sense.

It's not about porting. Apple isn't supporting other OS's on the metal of M1 Macs, and without GPU drivers, Windows isn't going to boot on M1 Macs.

It's about licensing. Licensing was even in the original statement. It's up to Microsoft whether they want to Licence Windows for usage in a VM on M1 Macs.

It's already been demonstrated running in a VM on the new Macs, by complete outsiders, so it's obvious the technical hurdles are very low.
Ah ok, meh...
 

Heartbreaker

Diamond Member
Apr 3, 2006
4,222
5,224
136
Is there a source of Apple saying that?

This interview comment is the source of the excitement/confusion:

As for Windows running natively on the machine, "that's really up to Microsoft," he said. "We have the core technologies for them to do that, to run their ARM version of Windows, which in turn of course supports x86 user mode applications. But that's a decision Microsoft has to make, to bring to license that technology for users to run on these Macs. But the Macs are certainly very capable of it."

The wording is awkward, as it's not a prepared statement and he is speaking off the cuff. I think wishful thinking has people reading into this that Apple will support them running directly on the HW.

My take:

"We have the core technologies for them to do that"

Translation: They have Virtualization technology they put in place to make VMs run smoothly. This has been Apples's consistent message hammered home multiple times since Apple Silicon was first revealed. Virtualization for alternate OS on the M1 Macs, since bootcamp is gone.

"But that's a decision Microsoft has to make, to bring to license that technology for users to run on these Macs. But the Macs are certainly very capable of it"

Translation: Microsoft has to license ARM Windows for Mac M1s. Currently it's only licensed to OEMs for Snapdragon 8CX HW. Macs are of course Capable of hosting ARM Windows in a VM...

Interpreting this as Apple will essentially bring back boot camp, and write Windows Drivers for all the unique Apple Silicon HW, is heavy duty wishful thinking IMO.
 

Doug S

Platinum Member
Feb 8, 2020
2,201
3,405
136
It will be interesting to see how Microsoft reacts to the M1. Will they license ARM-Windows for the virtualization on the M1, or will they refuse, hoping no one notices how Windows on M1 embarrasses their custom Qualcomm HW.

Why should Microsoft even care about the M1? They are interested in selling Microsoft software, the hardware they sell is a tiny little niche of their overall business. They will want to keep selling Windows licenses to Mac users, so I'm sure they will offer a way to install Windows/ARM. Most likely by selling licenses to Parallels who will offer a Windows license and preinstalled Windows/ARM image as an option if you buy Parallels for an ARM Mac.

Hence the comments about "that's a decision Microsoft has to make" because Apple can't make this happen, only Microsoft can. The M1 Macs will help make ARM Windows more viable, so it is in their best interest to help those Macs run Windows.

While in theory it would be nice if Microsoft could license Rosetta2's static translation technology to run x86 Windows binaries faster, I suspect a lot of the reason Apple is the first company to make static translation work is because of Apple's developer monoculture (i.e. almost everyone uses Xcode to build) and how they don't have to emulate 32 bit x86 code or decades of old APIs.
 

Doug S

Platinum Member
Feb 8, 2020
2,201
3,405
136
Is there a source of Apple saying that? The way you worded the sentence actually sounds like computers with M1 would have an open bootloader that Microsoft (or some Linux distribution etc.) could take advantage of to install a different OS (in contrary to all iOS devices so far being completely locked down). Otherwise Apple would be saying Microsoft is free to hack M1 which would make little professional sense.

From what I hear the M1 Mac's bootloader can be unlocked, but as I've said before that's not the blocker for running Windows (or Linux) on them. The lack of drivers is. Apple would have to release drivers for their proprietary hardware (the GPU being the biggest issue, but also the SSD and perhaps other stuff) which they are highly unlikely to do, or release enough information on them that someone else could do so (which is even more unlikely)

If Microsoft asked them for the info to write drivers for Windows, maybe Apple would go along with it, but I doubt Microsoft cares about the difference between a native boot and running in a VM - they make the same money from the license either way.
 

Heartbreaker

Diamond Member
Apr 3, 2006
4,222
5,224
136
Why should Microsoft even care about the M1?

Merely the bad optics of having virtualized Windows on ARM Mac, destroy the performance of Microsoft's own custom ARM windows machine. But I agree, more likely they would prefer to just sell more Windows ARM licenses on good HW that makes it appear more viable than it currently does.

I suspect Parallels and MS are working together behind the scenes.


If Microsoft asked them for the info to write drivers for Windows, maybe Apple would go along with it, but I doubt Microsoft cares about the difference between a native boot and running in a VM - they make the same money from the license either way.


It's a large effort to write drivers from scratch for a different OS.

My take is Microsoft isn't going to ask for drivers, and if they did Apple would say no. They don't want to be in the long term Windows support business. Even less chance Microsoft wan't to write Windows drivers for Apple HW.

Back when Apple used off the shelf third party components for Intel Macs it wasn't really Apples problem, because Apple was mostly packaging up third party driver work for use in Bootcamp.

But now they would be writing Windows drivers for unique HW that has never had Windows drivers. A lot of work for insignificant return, and a long term support drain.

Running Windows directly on the Mac HW is NOT going to happen regardless of Micrsoft's interest. Because Apple is NOT interested in making this happen.

Virtualization will be good enough for >95% (WAG) of users interested in Window on ARM Macs, so getting it running for the fringes, not worth anyone's effort.
 
Last edited:

Heartbreaker

Diamond Member
Apr 3, 2006
4,222
5,224
136
Where did you hear/see that?



Edit:

It is unlockable: More searching and I found a different support page, with "permissive security"


https://support.apple.com/en-gb/guide/mac-help/mchl82829c17/11.0/mac/11.0#mchl9b13cbdc
Choose one of the following security options:
  • Permissive Security: Does not enforce any requirements on the bootable operating system.
    Note: The Permissive Security option appears only when System Integrity Protection (SIP) is disabled. To disable SIP, start up your Mac in macOS Recovery, open Terminal, then run the command csrutil disable.

Though drivers will remain the long term impediment for anything beyond, "Hello world" and "first boot" usage.

Without GPU/sound/etc... drivers, there is nothing but a hacker curiosity. Your user experience will be better in a VM than hacked up OS without HW drivers on the metal.
 
Last edited:
  • Like
Reactions: moinmoin

Mopetar

Diamond Member
Jan 31, 2011
7,797
5,899
136
The question becomes: does windows on Mac benefit Microsoft, or does it benefit Apple? If it only benefits Apple, they wont do it. If it benefits them, they might. Do you think it benefits microsoft to do so?

Apple primarily makes their money through hardware, so they really don't care too much what you do with it after that.

Microsoft primarily makes their money through software (Windows licenses) so they don't really care what you run on it on.

There are probably some ways in which this benefits both since there are no doubt Mac users who would like to be able to run Windows for various reasons, and there are Windows developers that want to have some nice hardware.
 

ZGR

Platinum Member
Oct 26, 2012
2,052
656
136
It is pretty interesting to see that Apple might have the fastest desktop class CPU in a few years. A lot of tough questions to ask one's self of the cost of performance.

I love my old Macbook Pro, but I would never have bought another Apple product. I am against so much of their anti consumer rights behavior. It is kinda weird picturing myself replacing my desktop PC with an iMac if it can run my favorite games faster.

I do hope Apple can succeed here. This kind of performance will light a fire under our 2 favorite x86 competitors.
 
  • Like
Reactions: Tlh97 and lobz

Carfax83

Diamond Member
Nov 1, 2010
6,841
1,536
136
I think we difer in how we are defining parallelism. A parallel application for me would be one that can scale infinitely to run in multiple threads, so if you have a 4thread processor it uses 4 threads, and if you have a 64thread processor it uses 64threads. This is the ideal parallelism, because you always gain performance by adding more cores, and is the sort of parallelism GPUs use.

I'm not a programmer and I'm pretty sure you're not either, but I think there's no such thing as infinite parallelism. There's always going to be a point where you run into diminishing returns.

I mean, look at GPUs since you brought them up. I don't know if you've noticed, but GPU clock speeds have been going up tremendously over the years. For such an embarrassingly parallel workload as 3D graphics, even that can benefit tremendously from higher clock speeds apparently.

Many of the examples you are using are not like this, in fact, almost nothing is like this. What you are describing is situations where a programmer specifically searches for certain instances in a code that can be independent and makes them run in their own thread instead (as in web browsers and games). While this has enabled processors to benefit from multiple cores, it is not perfect parallelism: at a certain point, the code will have no more chances for parallelism, this can either be at 4threads, 8threads, whatever, and after that only by improving the performance of those individual threads you can gain something.

I don't disagree with anything you say here to be honest, and I don't think it contradicts what I have been saying......which is, that the vast majority of performance intensive workloads are now accelerated tremendously through multithreading and or SIMD.

I don't know how old you are, but I brought up the analogy of PhysX several pages back. I remember a time in the P4 days when the fastest desktop CPU couldn't even do a single instance of cloth simulation without the framerate tanking into the unplayable range, so Ageia tried to get gamers to buy their hardware accelerated PPU or physics processing unit which made it possible.

But nowadays, modern CPUs can easily run multiple instances of cloth simulation very easily (faster than GPUs even) due to being multicore/multithreaded and having wide SIMD units, plus having the software to take advantage of those features .

Point being, applications can be optimized to take advantage of multiple threads while not being parallel, and in that case, when they saturate the ammount of threads they can take advantage of, single thread performance is the only way to improve. The limit to this optimization is also not some big number that is far from being a problem: most applications cant even make use of more than 4threads.

I'm just a layman, but there are different types of parallelism. Thread level parallelism, instruction level parallelism and probably some others. The latter correlates with SIMD if I'm not mistaken. That's one thing you haven't mentioned.

SIMD is another huge reason why CPU performance has gone way up in these performance sensitive apps.

As you can see, single threaded performance is always relevant even on apps optimized to take advantage of multiple threads. While I understand you are not saying single thread is irrelevant, I think you perceive it as being a niche benchmark because of the world of applications that take advantage of multithread, when its far from that.

Single threaded performance is extremely important, and is critical to the overall throughput of a CPU. That doesn't refute what I have been saying all along though, which is that performance critical applications have practically all been optimized for multicore/multithreading and SIMD, which had massive impacts.
 

RasCas99

Member
May 18, 2020
34
85
51
Not sure what the discussion is about anymore , Carfax83 - your point is that multithread is important ? and nxre point is that single thread is king ? welp both are important and some are more then other depending on your usecase , this is why we have a market for threadripper and a 5600x (even when ignoring price) , one is better then the other in games for example , but the other one will run your export faster , note if games would run better on threadripper , you will see it in high end no budget gaming machines (and that day might happen someday).

But in the current world of consumer electronics and the usecase they generally employ , single thread performance is the most important metric assuming you dont sell a 2 core machines , as nxre correctly pointed that out , Apple are not selling a 1 core CPU , and there current offering has enough multithread capabilities to do the tasks they deem important very well.
Adding more cores to a MBA will make it run usecases that are so niche for the folks who bought that computer and will hurt the things this machine tries to achieve that it wont be worth it in the overall scheme of things.

"which is that performance critical applications have practically all been optimized for multicore/multithreading and SIMD, which had massive impacts. "
What is the point you are trying to make ? i am so lost in this conversation not sure i can grasp it anymore - what are those critical performance applications you expect a 1000$ fanless laptop to compete in? why would the correct tradeoff for this machine would be to put more cores ? do you think Apple are not capable of putting more cores in their SoC`s ?

Apple couldve designed a 16 big cores CPU and stuff it into a MBA , that machine would have beaten everything in the laptop market and most of the desktop in multithread performance , but the machine would be useless as it would drain too much battery and wont be able to run fanless , gggrrrrr i feel like i am missing the point big time here as i type my reply , sorry about that , there is no way i understood the discussion here , sorry in advance :).

Have a good weekend guys , should drink my coffee before replying i guess , this one is all over the place.
 

Carfax83

Diamond Member
Nov 1, 2010
6,841
1,536
136
Not sure what the discussion is about anymore , Carfax83 - your point is that multithread is important ?

My point essentially, is that while single thread performance is a critical part of the overall throughput of a CPU, single threaded performance has taken a backseat to multithreaded performance over the years because all performance intensive applications are well optimized for multicore CPUs. The stuff that runs on single thread tend to be much lighter.

Case in point, all of the benchmarks that Apple proponents like to extoll like Spec, Geekbench etcetera, they all run much faster in multithreaded mode than in single threaded mode.

I'm not saying this to diminish the importance of single threaded performance however, because I've repeatedly acknowledged that it is critical to the overall performance of a CPU. I'm just saying that it's ironic because Apple proponents use single threaded performance like a hammer to prove that the M1 is superior to any x86-64 core including Zen 3.
 

HurleyBird

Platinum Member
Apr 22, 2003
2,670
1,250
136
I'm not a programmer and I'm pretty sure you're not either, but I think there's no such thing as infinite parallelism.

Sure there is. If a problem can be broken up into tasks that have no shared data or communication between one another, it can scale to infinite threads. If none of those tasks hit main memory or shared caches, you don't even even need to worry about congestion.

In many cases you'll run into problems with Amdal's law, but "embarrassingly parallel" problems do exist (or we would have no need for super computers). Right now, I'm working on a 4X game where the movement is towards executing AI turns in parallel with each other (and players) in a manner where each Empire has its own copy of the game state which is fully encapsulated (this works because, unlike Civilization, there's a distinct phase for orders and a distinct phase for movement). The goal here is for AIs to finish up before the player even hits "turn." Theoretically thbis should scale to an arbitrary number of threads (limited to the number of AI entities) although eventually you'll run into memory bottlenecks since the data is far too big to fit in L2.
 

moinmoin

Diamond Member
Jun 1, 2017
4,933
7,619
136
I don't think it will make much practical difference. Good that we won't have to listen endless tirades about how Apple locked it down. But without drivers, it won't get much beyond Linux Hacker plaything.
Being a Linux user that already satisfies me, for now. ;)
It's obviously not Boot Camp grade support, but it's also not iOS grade lock down.
 

Heartbreaker

Diamond Member
Apr 3, 2006
4,222
5,224
136
Being a Linux user that already satisfies me, for now. ;)
It's obviously not Boot Camp grade support, but it's also not iOS grade lock down.

For Linux hackers, not users. A few people will post a boot screen, getting to "hello world" state in a command line, but it won't ever get to a usable state. Kind of where they are with Android running on iPhone.
 

moinmoin

Diamond Member
Jun 1, 2017
4,933
7,619
136
For Linux hackers, not users. A few people will post a boot screen, getting to "hello world" state in a command line, but it won't ever get to a usable state. Kind of where they are with Android running on iPhone.
Don't you worry about me, I perfectly know what I'm talking about and that we can't expect any support for anything without extensive reverse engineering by people. Of course this also means that support by mainstream Linux distros is far far off if it's even ever possible. But again, that's not what I was talking about.

And no, running Android on iPhone is even farther off.
 

Carfax83

Diamond Member
Nov 1, 2010
6,841
1,536
136
Sure there is. If a problem can be broken up into tasks that have no shared data or communication between one another, it can scale to infinite threads. If none of those tasks hit main memory or shared caches, you don't even even need to worry about congestion.

It's the word "infinite" that is giving me problems. I don't even think humans can fully comprehend a concept like infinity. It's similar to something like "immortality."

Our finite minds can only grasp the outer edges through conceptualization. If you don't run into the problem of diminishing returns, you will run into the problem of running out of computing resources; namely memory.

That said, I have no problem believing in ridiculously massive parallelism because as you noted, it is common in the super computing world.
 

LightningZ71

Golden Member
Mar 10, 2017
1,627
1,898
136
I think that we all realize that the universe, assuming that it has actual bounds, has a finite number of electrons in it, this putting a ceiling on any talk of "infinity" with respect to computing. Thusly, any statement about infinity must be figurative in nature.
 
  • Like
Reactions: Tlh97 and Carfax83