3 ms·
Apple has indeed some great chip designs available. But one should not forget that the switch to Intel not only gave Apple nicer CPUs but also made Apple compat
by _ph_ 10y ago
Apple has indeed some great chip designs available. But one should not forget that the switch to Intel not only gave Apple nicer CPUs but also made Apple compatible to the rest of the PC world. You can run any x86 application on a Mac via VMware or Parallels. Moving away from Intel would kill this.
- sigjuice 10y agoApple could make the equivalent of https://en.wikipedia.org/wiki/Rosetta_(software) https://en.wikipedia.org/wiki/Rosetta_(software) to run x86 apps on non-Intel Macs. But the thing is, Apple has no good reason to make a different type of computer, considering computers are not that important, at least to Apple.
- _ph_ 10y agoRosetta worked, because the Intel chips were a lot faster than the Power PC processors they replaced, and it ran on single applications, not whole virtual machines. Considering how much Apple wants to optimize power usage for the laptop lines, emulating Intel seems to be counter productive to that.
- eknkc 10y agoI've been wondering, is it practically possible to have a dual arch hardware + OS? The kernel would run on an ARM processor, along with all the supported software. Any x86 binary would be offloaded to the intel cpu. Sharing RAM and even the remaining hardware would be nearly impossible I guess. Not sure though. This way it can be like the integrated / discrete gpu design and switch can be done a lot less painfully.
- gaius 10y agoI've been wondering, is it practically possible to have a dual arch hardware + OS? Yes of course, we were doing it back in the 1980s with hybrid 6502/Z80 systems, the Z80 side running CP/M.
- rogerbinns 10y agoNote that many operating systems today are already multiple architecture. It may not seem like it, but for example x86 and AMD64 are different architectures, just as 32 bit ARM and 64 bit ARM are different. The operating system has to define system call interfaces for them, have copies of libraries for each architecture, ensure the processor(s) are in appropriate modes when running the applications, provide inter-process interoperability even when different architectures etc.