• Guest, The rules for the P & N subforum have been updated to prohibit "ad hominem" or personal attacks against other posters. See the full details in the post "Politics and News Rules & Guidelines."

Nvidia has approached Softbank and is considering buying ARM Holdings

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

NTMBK

Diamond Member
Nov 14, 2011
9,397
2,865
136
Apple cannot and will not sustain their own instruction set - because they would instantly lose the huge benefits of being in the ARM ecosystem.
Who benefits more? Is Apple successful because of the ARM ecosystem, or is the consumer ARM ecosystem successful because of ARM?

How many software libraries added ARM support so that they can run on iOS? How many Apple engineers are contributing to ARMv8 optimisations and support in Clang? How much better was ARMv8 because Apple helped develop it?

Is Apple actually contributing a whole bunch of work that is benefiting their rivals?
 

ThatBuzzkiller

Golden Member
Nov 14, 2014
1,078
205
106
The FDIV bug was an error in implementation, not a bug in the ISA! ARM is not giving Apple VHDL for the various instructions and requiring them to place that in their design. The ISA definition is more akin to "FDIV is opcode xxxx, and has modifiers to tell which registers are the sources and destinations, produces this output conformant to IEEE754 sets the following flags depending on if there is carry, overflow, etc. and traps in the following circumstances. Yes there is more detail than that, but they do NOT tell Apple or others how to do the logic design to implement the various instructions. That's totally up to Apple to figure out on their own.

It is perfectly possible for ARM designed cores to have an FDIV like bug, and Apple's to not, or vice versa. Indeed, it would be almost impossible for both implementations to have the same bug. If what you claim were true then AMD would have had the same FDIV bug since they implemented Intel's ISA - they are essentially an "architectural licensee" of x86 (though it goes both ways since AMD designed the x86-64 ISA)

So no can't "bug" an ISA, but you certainly can produce a buggy implementation of that ISA.
What difference does that distinction make to your initial argument ? At the end of the day you have non-compliant behaviour between different implementations of these instructions therefore rendering them effectively unusable. What is stopping Apple from applying divergence to the common ARM ISA subset ?

What makes you believe that the other ARM vendors won't break away from the common ARM ISA without having a failsafe in place to prevent that ? What is stopping them from just making those instructions not work at all which is effectively *removing* them in practice ? These buggy implementations have the potential to to effectively cause the ISA to be non-portable/interoperable. What is stopping the industry from sliding back to the dark ages of different compilers/binaries once more despite them proclaiming to implement the same ISA ?

Apple already has their own fork of Clang and they obviously don't want programmers doing any low level optimizations since it's not in their business model to maintain compatibility like Microsoft ...
 

moinmoin

Platinum Member
Jun 1, 2017
2,743
3,615
136
The ARM ISA is little more than an interface between separate parts of hardware and software Apple already has full control over. If Apple really wanted to move away from ARM today they could just randomly generate a new ISA to replace the ARM ISA. The only part preventing that from happening overnight is backward compatibility to closed source ARM applications Apple can't rebuild without user intervention (but with the Xcode Cloud offering even that is in progress of being covered). And potentially patents, though for that Apple would likely just pay up in the end like it did with Imagination.
 

Doug S

Senior member
Feb 8, 2020
763
1,082
96
Apple cannot and will not sustain their own instruction set - because they would instantly lose the huge benefits of being in the ARM ecosystem.
I don't think Apple will switch from ARM, but I don't agree that Apple derives "huge benefits" from the ARM ecosystem. They sure did when they built the first iPhones, because they were a lot smaller and there was no guarantee the iPhone would be successful so using an ISA with an existing ecosystem was the only feasible alternative. They were able to use an existing SoC, and leverage open source code for the compiler, libraries, and low level stuff like u-boot.

Today though I think the benefits of being in the ARM ecosystem are mostly in the past for Apple. If everyone else in the world moved to RISC-V and Apple was the only one left using ARM, they'd hardly notice or care. What would they lose? Most of the non-Apple development in for example compiler toolchains takes place in GCC, which Apple doesn't use. The only work in ARM ecosystems that benefits Apple is that which takes place in the open source tools they do use, like LLVM.

Having to shoulder 100% of the cost of maintaining the ARM specific pieces of the open source software base that Apple relies on would mean a bit more work for them and losing a few improvements that are coming from outside that Apple may not have thought of or didn't choose to focus on. But as far as the customers and developers were concerned, they wouldn't even know that Apple was the only one left using ARM.
 

Thala

Golden Member
Nov 12, 2014
1,264
575
136
Who benefits more? Is Apple successful because of the ARM ecosystem, or is the consumer ARM ecosystem successful because of ARM?

How many software libraries added ARM support so that they can run on iOS? How many Apple engineers are contributing to ARMv8 optimisations and support in Clang? How much better was ARMv8 because Apple helped develop it?

Is Apple actually contributing a whole bunch of work that is benefiting their rivals?
Apple does not contribute much back into the ecosystem. For instance they just branch off clang/llvm with a few internal modification but leave the heavy work of bringing the compiler forward to others. Similar for other SW frameworks. For OpenJDK they completely relied on the work Microsoft and others have done before when porting OpenJDK to Windows ARM from the Linux ARM versions. The same applies to .Net Core, Mono, Electron, NodeJS etc. Apple got almost everything served for free on a silver plate because being Aarch64 compliant.
It is totally impossible the Apple has a chance when forced to starting from scratch here - they do not have remotely the capacity to develop and maintain all the SW frameworks from scratch. In fact look at where RISC-V stands in this regard when compared to ARM after like 10 years - and this is despite industry-wide enthusiasm for RISC-V.

Similarly for other system level standardization activities, like UEFI and ACPI. Without these standards you would not be able to boot a generic OS on a generic HW platform. Over the last 5 years the ARM ecosystem progressed immensely here - you can for instance boot a generic Windows image on any ARMv8 machine with a proper UEFI/ACPI implementation - including VMs running on M1 Macs.
 
Last edited:

Doug S

Senior member
Feb 8, 2020
763
1,082
96
OpenJDK? .Net?? How much is Java and .Net actually used in the Apple world these days? Was .Net ever used much? Regardless, other than stuff like that doing JIT, most frameworks have little in the way of ISA dependency. The difficulty is anything generating native code like a JIT or is hardware dependent like UEFI (though Apple would likely not care about using any "standards" for system startup if they used their own ISA)

Claiming that Apple "doesn't remotely have the capacity" to develop and maintain branches of all these pre-existing codebases is laughable when you consider they are the most valuable company in the world, and have the biggest cash reserves of any company in the world. They don't have that capacity today, because they don't need it. If they needed it, they'd have it. Either via a few targeted PA Semi like acquisitions, or they could hire it in over time (since they couldn't develop a new ISA and ship hardware containing it overnight)

Again I think the idea that Apple will abandon ARM is laughable, so this is all mental masturbation. But you can't seriously claim Apple would be unable to do it. IBM is able to do it with z/Arch and POWER (which while more widely used in the past is pretty much IBM only at this point) so why can they do it and not Apple?
 

Thala

Golden Member
Nov 12, 2014
1,264
575
136
Claiming that Apple "doesn't remotely have the capacity" to develop and maintain branches of all these pre-existing codebases is laughable when you consider they are the most valuable company in the world, and have the biggest cash reserves of any company in the world. They don't have that capacity today, because they don't need it. If they needed it, they'd have it. Either via a few targeted PA Semi like acquisitions, or they could hire it in over time (since they couldn't develop a new ISA and ship hardware containing it overnight)
Sure, they would have to do a significant investment into manpower - for something they get for free within the ARM ecosystem. At the current state they do not have remotely the manpower. And even if they hire, the development would not happen over night and would take years.
Also Apple is the most valuable company, because they did not do such stupid things like placing bets on their own private ISA in the past.

OpenJDK? .Net?? How much is Java and .Net actually used in the Apple world these days? Was .Net ever used much? Regardless, other than stuff like that doing JIT, most frameworks have little in the way of ISA dependency.
They are used quite a bit implicitly or explicitly. With implicitly i mean that other popular frameworks or engines might sit on top of .Net or Mono like for instance Unity. Electron is used in quite a few apps and is based on Node.JS, which is based on V8 - which again uses JIT.
In addition a Mac is popular as a developer machine, because you have all these frameworks and tools available.

Again I think the idea that Apple will abandon ARM is laughable, so this is all mental masturbation. But you can't seriously claim Apple would be unable to do it.
I did not claim, that Apple is abandoning ARM at all. In fact i did explicitly say, that doing so would be like shooting themselves into the foot as they would lose all the benefit from the ARM ecosystem.
 

jpiniero

Lifer
Oct 1, 2010
10,053
2,327
136
Similarly for other system level standardization activities, like UEFI and ACPI. Without these standards you would not be able to boot a generic OS on a generic HW platform. Over the last 5 years the ARM ecosystem progressed immensely here - you can for instance boot a generic Windows image on any ARMv8 machine with a proper UEFI/ACPI implementation - including VMs running on M1 Macs.
I doubt very much Apple cares about that. JDK (or any dev platform that isn't theirs) maybe a little bit at most but it's not necessary. Either way it's not going to get in the way of the need to get away from nVidia.
 
  • Like
Reactions: Tlh97 and moinmoin

Doug S

Senior member
Feb 8, 2020
763
1,082
96
Sure, they would have to do a significant investment into manpower - for something they get for free within the ARM ecosystem.
"Significant" is in the eye of the beholder. It would cost less than it costs them to design their own ARM cores, which no one is claiming Apple should not do due to cost.

There are good reasons for Apple to stick with ARM, and I think Nvidia's potential ownership is completely irrelevant for Apple, but the cost of doing their own ISA is not one of them. The cost of migration from ARM to something else would utterly dwarf the cost of managing their own ecosystem, so if they were leaving ARM the cost of having to fully support their own ISA versus leveraging one where outsiders do part of the work for them like RISC-V would be lost in the noise.
 

Doug S

Senior member
Feb 8, 2020
763
1,082
96
In short, a lot. Java and .NET are cross platform frameworks that will run on nearly every OS and CPU on the market.
"Will run" does not mean it is actually used by the Mac userbase. Got any examples of any widely used (on the Mac!) applications that require .NET or Java?
 

gdansk

Senior member
Feb 8, 2011
695
387
136
Minecraft. IntelliJ. I'm sure there are others. But of the ones I have installed on my Mac.
Regardless, Apple will always have the option to emulate other instruction sets to maintain some compatibility. I don't see backward compatibility and software as a considerable impediment to Apple.
 
Last edited:

Stuka87

Diamond Member
Dec 10, 2010
5,488
1,277
136
"Will run" does not mean it is actually used by the Mac userbase. Got any examples of any widely used (on the Mac!) applications that require .NET or Java?
Spotify is a big one that uses Java (and some Python) and is cross platform.

I have worked on projects built in Java and .NET (Sorry, I cant list which ones) that are cross platform.

The point is, the framework an app is built on should not be apparent to the end user. Its not like app develops advertise what framework they use when you install something. And as mentioned above, Apple can emulate other ISA's, as they have proven they are very good at it. But they most definitely benefit from having a wide array of frameworks that just work because of shared architectures.
 

Ajay

Diamond Member
Jan 8, 2001
9,410
3,904
136
Java and .Net are just bytecodes run on an executable that translates those to machine code and Mac OS API calls. Python is an interpreter, same kind of thing.
 

Stuka87

Diamond Member
Dec 10, 2010
5,488
1,277
136
Java and .Net are just bytecodes run on an executable that translates those to machine code and Mac OS API calls. Python is an interpreter, same kind of thing.
Correct. And if Apple switched to something other than x86 or ARM, frameworks like Java or .NET would not cross compile to whatever Apple switched to (RISC-V or whatever) without Oracle or MS putting in the work to support it. Apple is probably big enough for them to do that. But no guarantees.
 
  • Like
Reactions: Ajay

NeoLuxembourg

Senior member
Oct 10, 2013
763
228
116
Correct. And if Apple switched to something other than x86 or ARM, frameworks like Java or .NET would not cross compile to whatever Apple switched to (RISC-V or whatever) without Oracle or MS putting in the work to support it. Apple is probably big enough for them to do that. But no guarantees.
Rosetta? It worked great for the M1, why should it not work for something else in the future?
 

ASK THE COMMUNITY