Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

Colstan

macrumors 6502
Original poster
Jul 30, 2020
330
711
Much like Grendel in the Anglo-Saxon epic Beowulf, the much talked about but rarely seen version 9 of the Arm instruction set has been officially announced. Simon Segars, Arm's CEO, did so on the company's website:

Armv9 officially announced.

For a third-party analysis, take a look at Andrei Frumusanu's quick take at Anandtech:

Anandtech article on Armv9.

I admit that, at best, I have a passing familiarity with the topic discussed. Other than being a long-time Mac enthusiast, and interested in the latest extensions to AArch64 for obvious reasons, my primary reason for posting this here is to learn from others on the Macrumors forum. I'm not averse to admitting when I am mostly unfamiliar with a new technology, which would be the case here. Many regular posters here, such as @leman and @cmaier to name a few, are quite helpful on such matters. I welcome all feedback, of course.

While I am not qualified to pinpoint exactly what impact this will have on the future of Mac silicon development and how software developers will take advantage of those features, from my understanding, SVE2 will be of the most impactful. Apple already seems to have a great deal invested in security and machine learning, so perhaps they will benefit the most from the SVE2 enhancements. That doesn't even include the more esoteric aspects of Armv9 that the articles don't focus on. Also, if Apple's release history with the A-series is any indication, Apple has been working with Armv9 for quite some time now and has likely had CPU designs in the works that integrate these capabilities for much longer than is obvious to those outside of Apple and their most trusted partners.

From my own personal experiences, I was an early adopter during the Intel transition, using the first Intel Core Solo 1.5Ghz that I eventually upgraded to a 2.33Ghz Core 2 Duo because the CPU was socketed and easily switched. I'm currently typing this on my fourth Mac mini over the past 16 years, a base model 2018 3.6Ghz i3 Mac mini which I have upgraded with 64GB of RAM and a BlackMagic RX 580 eGPU. Even before the first Intel model, I started with the 1.5Ghz G4, so it's been quite the journey.

The first Intel minis came with 32-bit Core CPUs and were quickly supplanted with the more robust 64-bit Core 2 Duos. While the AArch64 v9 instruction set isn't likely to be nearly as impactful, I believe that this is another example of Apple moving the Mac platform forward while dispensing with the cruft of the past decades.

To explain the transition away from Intel to a non-technical friend of mine, I co-opted Apple's Rosetta analogy, and compared it to Intel CPUs using hieroglyphics to process information. Apple Silicon drops all of the old barnacles that still lurk inside the x86 platform, while Apple has worked to exorcise those revenants of the past from their hardware and software.

Apple is an old hand at doing these transitions. I'm sure that the current M1 Macs will receive decent support for some time to come, but history has demonstrated that a version 1.0 (or even 2.0) Apple product is usually refined and replaced quickly, compared to successive generations. Plus, the industry as a whole is doing a surprisingly large cluster of simultaneous transitions at this point in time, including the move to DDR5, Ray Tracing, chiplet designs, Armv9, among many other technologies. My point being is that, while tech is constantly changing, this period in time stands out as being an unusually active transition period.

Anyway, I'm curious about what other Macrumors forum members are thinking about Arm v9, along with the general direction of the industry. I'm personally going to wait it out until a few iterations of Apple Silicon are released and then make a decision. I'm okay with what I am using for now, but that Intel i3-8100 is showing its age. I'm hoping to wait until a theoretical M3 CPU along with the rumored Apple GPU implementation, in whatever form that takes.

With Apple's increasing reliance on their own bespoke vertical engineering designs for the Mac, many of the already limited upgrade paths are going away as a tradeoff for the performance gains to be had. That will make it more difficult for those of us who like to upgrade our Macs, but that's a different discussion entirely. For folks like me, that means that waiting until the transition is complete is beneficial in order to have a more complete understanding of Apple's entire Mac lineup. So, while I've only had interest in the Mac mini previously, as a desktop user, it would be beneficial to see where the Mac mini, iMac, and Mac Pro stand after the transition is complete.

Okay then, thanks for reading and I'm curious what you nice folks have to say about the situation and what your opinions are about what Arm has (or has not) announced with their roadmap and what impact it will have on Apple Silicon and the Mac moving forward.
 
This is a big jump to GPUs. I'm very excited about ARM v9 it's a big big jump especially when we take in consideration that many upcoming laptops will feature ARM within the next 5 years.
 
Much like Grendel in the Anglo-Saxon epic Beowulf, the much talked about but rarely seen version 9 of the Arm instruction set has been officially announced. Simon Segars, Arm's CEO, did so on the company's website:

Armv9 officially announced.

For a third-party analysis, take a look at Andrei Frumusanu's quick take at Anandtech:

Anandtech article on Armv9.

I admit that, at best, I have a passing familiarity with the topic discussed. Other than being a long-time Mac enthusiast, and interested in the latest extensions to AArch64 for obvious reasons, my primary reason for posting this here is to learn from others on the Macrumors forum. I'm not averse to admitting when I am mostly unfamiliar with a new technology, which would be the case here. Many regular posters here, such as @leman and @cmaier to name a few, are quite helpful on such matters. I welcome all feedback, of course.

While I am not qualified to pinpoint exactly what impact this will have on the future of Mac silicon development and how software developers will take advantage of those features, from my understanding, SVE2 will be of the most impactful. Apple already seems to have a great deal invested in security and machine learning, so perhaps they will benefit the most from the SVE2 enhancements. That doesn't even include the more esoteric aspects of Armv9 that the articles don't focus on. Also, if Apple's release history with the A-series is any indication, Apple has been working with Armv9 for quite some time now and has likely had CPU designs in the works that integrate these capabilities for much longer than is obvious to those outside of Apple and their most trusted partners.

From my own personal experiences, I was an early adopter during the Intel transition, using the first Intel Core Solo 1.5Ghz that I eventually upgraded to a 2.33Ghz Core 2 Duo because the CPU was socketed and easily switched. I'm currently typing this on my fourth Mac mini over the past 16 years, a base model 2018 3.6Ghz i3 Mac mini which I have upgraded with 64GB of RAM and a BlackMagic RX 580 eGPU. Even before the first Intel model, I started with the 1.5Ghz G4, so it's been quite the journey.

The first Intel minis came with 32-bit Core CPUs and were quickly supplanted with the more robust 64-bit Core 2 Duos. While the AArch64 v9 instruction set isn't likely to be nearly as impactful, I believe that this is another example of Apple moving the Mac platform forward while dispensing with the cruft of the past decades.

To explain the transition away from Intel to a non-technical friend of mine, I co-opted Apple's Rosetta analogy, and compared it to Intel CPUs using hieroglyphics to process information. Apple Silicon drops all of the old barnacles that still lurk inside the x86 platform, while Apple has worked to exorcise those revenants of the past from their hardware and software.

Apple is an old hand at doing these transitions. I'm sure that the current M1 Macs will receive decent support for some time to come, but history has demonstrated that a version 1.0 (or even 2.0) Apple product is usually refined and replaced quickly, compared to successive generations. Plus, the industry as a whole is doing a surprisingly large cluster of simultaneous transitions at this point in time, including the move to DDR5, Ray Tracing, chiplet designs, Armv9, among many other technologies. My point being is that, while tech is constantly changing, this period in time stands out as being an unusually active transition period.

Anyway, I'm curious about what other Macrumors forum members are thinking about Arm v9, along with the general direction of the industry. I'm personally going to wait it out until a few iterations of Apple Silicon are released and then make a decision. I'm okay with what I am using for now, but that Intel i3-8100 is showing its age. I'm hoping to wait until a theoretical M3 CPU along with the rumored Apple GPU implementation, in whatever form that takes.

With Apple's increasing reliance on their own bespoke vertical engineering designs for the Mac, many of the already limited upgrade paths are going away as a tradeoff for the performance gains to be had. That will make it more difficult for those of us who like to upgrade our Macs, but that's a different discussion entirely. For folks like me, that means that waiting until the transition is complete is beneficial in order to have a more complete understanding of Apple's entire Mac lineup. So, while I've only had interest in the Mac mini previously, as a desktop user, it would be beneficial to see where the Mac mini, iMac, and Mac Pro stand after the transition is complete.

Okay then, thanks for reading and I'm curious what you nice folks have to say about the situation and what your opinions are about what Arm has (or has not) announced with their roadmap and what impact it will have on Apple Silicon and the Mac moving forward.

I’m sure Apple not only has designs well underway with the new ISA features, but they also worked with Arm on some of this stuff. In particular, I’m guessing Apple considers the new security features (realms, pointer tagging, etc.) to be extremely important. Some of the details are still a little fuzzy. Looking forward to having the time to read the full spec.
 
Since Apple design its own CPUs, does this effect Apple chips in any way?
Not unless Apple decides to support the ARM 9 instruction set.
Yes, Apple relies on the "base" of ARM architecture. Despite them designing their own CPUs they are still based off from ARM.
Apple only implements the ARM instruction set architecture (ISA). They design their processors to implement that ISA. Since Apple doesn't sell or share their chips with anyone else, they are under no obligation to adopt the latest ISA. But my guess is that they probably will. I would not even be surprised if they didn't contribute to the design of the new architecture.
 
Better to wait for M4x and PCIe 5.0 in the 2024 models.:rolleyes:

You buy a M2X MBP because it has PCI slots? Really?

The ARM chip inside these M1 Mac's is what it is all about. And considering that the ARM v8 instruction set has even been used in chips from 2013, it is worth waiting for most likely.
 
After a quick glance my completely amateur opinion is that ARMv9 is mostly about servers and ARM's own Neoverse products. I do hope that Apple adopts SVE2 soon (for the sake of having a unified SIMD programming platform more than anything else), but most of the other features seem less relevant to a single-user computer. Maybe the new safety features could be used for better sandboxing, not sure...
 
  • Like
Reactions: BigMcGuire
If Apple plans on following the Aarch64 ISA they probably need to adopt V9. Or they might just freeze on V8.6 and add in SVE2. I'm not sure that Apple is going to want to redesign their kernel to support the new V9 security features. On the other hand, Realms are an interesting concept but until there are more details, it is hard to know.

One thing is that Apple are very active with the LLVM toolchain so they can add any extensions they want on their own schedule and know that developer tools will be ready when they need them. For things like SVE2, developers should probably already be using Apple's SIMD libraries in most cases which would supply backward compatibility for the M1 and any Aarch64 V8 Apple Silicon SoCs.

If Apple is adopting any or all of V9, they are already working on it. It takes years to design a new SoC.

Edit: I should say they can add any extensions to the ISA they want if their license allows it. I don't know if anyone outside of Arm and Apple know what Apple is allowed to do with the Arm ISA.
 
Last edited:
If Apple plans on following the Aarch64 ISA they probably need to adopt V9. Or they might just freeze on V8.6 and add in SVE2. I'm not sure that Apple is going to want to redesign their kernel to support the new V9 security features. On the other hand, Realms are an interesting concept but until there are more details, it is hard to know.

One thing is that Apple are very active with the LLVM toolchain so they can add any extensions they want on their own schedule and know that developer tools will be ready when they need them. For things like SVE2, developers should probably already be using Apple's SIMD libraries in most cases which would supply backward compatibility for the M1 and any Aarch64 V8 Apple Silicon SoCs.

If Apple is adopting any or all of V9, they are already working on it. It takes years to design a new SoC.

Edit: I should say they can add any extensions to the ISA they want if their license allows it. I don't know if anyone outside of Arm and Apple know what Apple is allowed to do with the Arm ISA.

Pretty sure from various past leaks that Apple has the broadest possible license and can do whatever they want.
 
  • Like
Reactions: T'hain Esh Kelch
Came here from the post title, stayed for the verbiage in your post. That was an extremely captivating read, not only the technology but the word choice and the mental imagery. If you don’t write books already you should. Your vocabulary is [insert smart sounding word here].

*goes off to read more books*
 
If Apple plans on following the Aarch64 ISA they probably need to adopt V9. Or they might just freeze on V8.6 and add in SVE2. I'm not sure that Apple is going to want to redesign their kernel to support the new V9 security features. On the other hand, Realms are an interesting concept but until there are more details, it is hard to know.

SVE is one of those things that's either great to have everywhere or nowhere. It is a bit unfortunate that it's not present on M1. SVE2 is designed with compiler auto-vectorization in mind, but it doesn't make much sense to do auto-vectorization of this kind if not all of your target hardware supports it... and it would be strange to say the least if next year software suddenly doesn't run on M1 any because "reasons".

Then again, Apple does have solutions here... universal binaries, binary thinning, bitcode distribution...
 
SVE is one of those things that's either great to have everywhere or nowhere. It is a bit unfortunate that it's not present on M1. SVE2 is designed with compiler auto-vectorization in mind, but it doesn't make much sense to do auto-vectorization of this kind if not all of your target hardware supports it... and it would be strange to say the least if next year software suddenly doesn't run on M1 any because "reasons".

Then again, Apple does have solutions here... universal binaries, binary thinning, bitcode distribution...

It’s pretty common for software to check if a particular vector extension is there or not and adjust accordingly. I imagine apple will update its vector SDKs to do so. In the end, software will “work,” but performance may vary quite a bit depending on whether the hardware has support for the new features.
 
It’s pretty common for software to check if a particular vector extension is there or not and adjust accordingly. I imagine apple will update its vector SDKs to do so.

Thing is, thats what you do when implementing a few critical functions manually either via intrinsics or assembly. Then you query the CPU features and setting up function pointers accordingly.
When however setting compiler flags globally in order to let the compiler auto-vectorize wherever it sees an opportunity, you most likely will have issues when running such an executable on architectures not supporting the extension.
 
  • Like
Reactions: RPi-AS and leman
Came here from the post title, stayed for the verbiage in your post. That was an extremely captivating read, not only the technology but the word choice and the mental imagery.

I appreciate the kind words, thank you. I had actually considered that my post may have been too long, so I'm glad I didn't appear to go overboard with my verbosity and general bloviating. I also very much appreciate the feedback from everyone else in this thread. It appears, for the time being, to be another question mark moving forward as to exactly how Apple will continue to use the ARM instruction set.

This is an exciting time to be a Mac enthusiast. Not too long ago it seemed that the Mac was an afterthought and often neglected by Apple management. Much of that may have simply been a result of Intel's lackluster roadmap, but it also could have been Apple having more interest in the iDevices, at the time. Regardless, it's obvious that Apple has put subtantial resources into revitalizing the Mac platform going forward. With the Intel roadmap, it was boring, predictable, and not all that interesting. Once the ARM rumors started, everything changed.

Now, there are technologies both within the industry, as well as unique to Apple, to look forward to, and speculate upon. The PC industry as a whole is moving toward DDR5 memory, PCIe 5.0, ray tracing, chiplet designs, and of course ARM v9, the title of this post. Exactly if or how Apple will implement these features is unclear. Then, of course, there's the actual transition to Apple Silicon. I think it was fairly obvious that Apple was going to replace Intel with their CPU designs; what has been more of a surprise is that Apple is apparently going to replace AMD for their own GPU needs, as well. This is the vertical integration that Steve Jobs could have only dreamed of for the Mac, back in the day.

I think the biggest unknown is exactly how Apple is going to implement their CPU/GPU designs within the high-end of the Mac line. I haven't seen this posted here on the forum, but this article from Tom's Hardware may give us a clue:

Apple Patent May Hint at the Future of Its Chips: A Multi-Level Hybrid Memory Subsystem

Patents don't necessarily become reality, but perhaps that provides some clues to where Apple's engineers plan to take the Mac within the next couple of years, as they complete the transition.
 
Now, there are technologies both within the industry, as well as unique to Apple, to look forward to, and speculate upon. The PC industry as a whole is moving toward DDR5 memory, PCIe 5.0, ray tracing, chiplet designs, and of course ARM v9, the title of this post. Exactly if or how Apple will implement these features is unclear. Then, of course, there's the actual transition to Apple Silicon.

Few thoughts in regards to this:

- DDR5 is great news for Apple Silicon since it is designed with chip stacking in mind (ideal for how Apple likes to package their memory) and comes with a healthy bandwidth boost. I see mid-range Apple SoC using up to 8-channel DDR5 in near future, for some nice memory bandwidth with decent capacities.

- PCI-e is less relevant to Apple, since most of the components that require high bandwidth are directly interconnected anyway (if I read Anandtech's memory bandwidth tests correctly, the internal chip fabric of M1 can sustain somewhere around 120+GB/s which is already twice as fast as a PCI-e 5.0 16x link). While the internal SSD still seems to be connected via PCI-e, there is some proprietary stuff going on and then of course, SSDs aren't nearly fast enough to require a faster connection. In the end, the only area where Apple Silicon really needs PCI-e is external connectivity — and it will be years before PCI-e 5.0 becomes a requirement for the USB standard...

- Ray tracing: Metal so far is the only API that offers a full raytracing solution as part of the API core, supported on all GPUs. It makes one wonder what are Apple's plans for hardware-accelerated RT. On one hand, it seems like the API is ready for it and just waiting for the hardware. On the other hand, Apple's effort to implement RT via compute shaders might suggest that no hardware RT support is coming any time soon. Apple does have access to Imagination IP who claim to have an efficient hardware RT implementation, but nothing practical has been demonstrated as far as I am aware. At any rate, Metal implementation already offers some healthy performance boost over CPU-only RT, so it's usable for some limited real-time effects and also probably of interest to offline 3D renderers (although those often need more control, no idea whether Metal API is flexible enough for their needs...).


I think it was fairly obvious that Apple was going to replace Intel with their CPU designs; what has been more of a surprise is that Apple is apparently going to replace AMD for their own GPU needs, as well. This is the vertical integration that Steve Jobs could have only dreamed of for the Mac, back in the day.

I don't think it was much of a surprise for someone who watched Apple GPU development closely, and in retrospect, these things could have been foretold quite accurately by looking at the evolution of Metal API. Apple GPUs currently offer the highest performance per watt on the market, aren't nearly as reliable on memory bandwidth as traditional dGPUs, offer some unique benefit in form of low-latency CPU/GPU communication and can implement many rendering approaches much more efficiently than traditional GPUs. Besides, there is an obvious elegance in offering a streamline GPU programming model across all the Apple device ranges. By controlling the hardware stack Apple can directly influence the direction of development and more importantly, they can give you lower-level access to the hardware than it would ever be possible with other APIs such as DX12 or Vulkan that have to abstract over different types of hardware. Metal is not quite there yet, but I expect more low-level stuff to be released this year.

I think the biggest unknown is exactly how Apple is going to implement their CPU/GPU designs within the high-end of the Mac line. I haven't seen this posted here on the forum, but this article from Tom's Hardware may give us a clue:

Apple Patent May Hint at the Future of Its Chips: A Multi-Level Hybrid Memory Subsystem

Patents don't necessarily become reality, but perhaps that provides some clues to where Apple's engineers plan to take the Mac within the next couple of years, as they complete the transition.

That's quite an interesting find, thank's for sharing! I noticed that the figures refer to high-capacity RAM still located on package, so I am not sure how this approach would solve the expandability issues of a new Mac Pro. But one obvious application would be moving the SoC-level cache out of the SoC itself. This cache takes a lot of die space and would probably limit yields on higher-end chips, so introducing a separate, much larger off-die cache would make sense.
 
It’s pretty common for software to check if a particular vector extension is there or not and adjust accordingly. I imagine apple will update its vector SDKs to do so. In the end, software will “work,” but performance may vary quite a bit depending on whether the hardware has support for the new features.

Sorry for late reply, didn't see your post until now. I think @Gerdi sums up what I was trying to say very nicely. Function dispatch based on CPUID as you describe works well if you have expensive functions that benefit from SIMD. These functions can be easily isolated and dispatched at runtime. But there is also code where SIMD can be efficiently intermixed with non-SIMD code. SVE2 auto-vectorization for instance would inject SVE instructions into many of your loops. And you have these things everywhere, isolation becomes tricky and runtime detection might end up bing to costly — at some point it makes more sense to provide two full versions of compiled code and just run the appropriate one.
 
Last edited:
  • Like
Reactions: Captain Trips
Sorry for late reply, didn't see your post until now. I think @Gerdi sums up what I was trying to say very nicely. Function dispatch based on CPUID as you describe works well if you have expensive functions that benefit from SIMD. These functions can be easily isolated and dispatched at runtime. But there is also code where SIMD can be efficiently intermixed with non-SIMD code. SVE2 auto-vectorization for instance would inject SVE instructions into many of your loops. And you have these things everywhere, isolation becomes tricky and runtime detection might end up bing to costly — at some point it makes more sense to provide two full versions of compiled code and just run the appropriate one.
I agree it may have to be done statically, but that’s already the case for major changes in Arm architecture. And Apple already supports multiple binaries in the same package, automatic stripping of unneeded binaries on installation from the App Store, etc. We’re just looking at even slower xcode compiles, so yay for that. On the other hand, I think we’re at the point where we can abandon some of the older variations.
 
  • Like
Reactions: Captain Trips
This has caught my attention. If I want to get a new Mac laptop, it has to last for 10 years at least. I don’t want a situation akin to the Core Duo intel Mac buyers, who are stuck with 32bit and got dropped from support quite early. It seems that we are at the tail end of ARM v8. With ARM v9 focusing a lot on security, I’m afraid it would create some fundamental changes on hardware and software that current M1 Macs might have a shorter support cycle than expected.

Should I be worried?

These things really make me anxious whenever deciding on tech purchases because Macs are not cheap in my country. I’m actually thinking of simply just upgrading my Windows laptop to a newer Windows laptop again, and postponing my Mac purchase until 2023 or so since Apple never reveals their own roadmap to consumers. At least I know Windows will still support x86 for a foreseeable future.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.