Apple: No Macintosh Forks. But the iPad...
mondaynote.com
mondaynote.com
His background may help or hurt his viewpoint, depending on how you see things.
I will say that I disagree with his points. And I'll also point out that the Mac ARM transition is happening right before our eyes with the T2 chip, which replaces a bunch of system components (memory, i/o, disk controllers, etc) with an ARM-based platform.
Practically, the only thing that hasn't been replaced are the main CPU and the GPU, but it's only a matter of time.
The T2 is not involved with memory access AFAIK though. As for I/O, it does handle the audio and camera access.
The OP is the first I’ve heard make a big deal about this and the follow up comment is basically saying that he’s overstating the relevance to some ARM migration. I wouldn’t take random Internet comments too seriously.
Except it locks out any OS not Windows or MacOS from using it.
Southbridge didn’t have hardware mechanisms in place to intentionally lock Linux out from using the machine’s (rather expensive) internal storage.
https://github.com/Dunedan/mbp-2016-linux/issues/71
It's not a lockout by any means, and your next version of linux kernel will support it just fine(assuming the NVMe patches are merged).
Absolutely. Today, it's not about performance, but about performance/watt. Simply using a web browser is a huge power drain.
Even if that wasn't the case, getting rid of the "Intel dependency" and the "x86 premium" would make sense from a business standpoint.
Nobody. Besides quantum processors are not general purpose, and as thus, they're of no real consequence for the kind of computing 99% of people do...
On the other hand, do all these things matter to users and developers as long as external components are hidden behind buses and abstractions?
Is this really already an industry trend? It feels more like some parties experimenting with the platform, not necessarily with intentions to move to it wholesale at any point in the future. But I'm probably missing stuff, since I'm not following that space well.
Reference? I can find one reference to Samsung using Risc v for an IoT thing, and nothing for seagate.
Probably not, or not yet.
> It feels more like some parties experimenting with the platform, not necessarily with intentions to move to it wholesale at any point in the future.
Some big players are moving / have moved to it already. Western Digital is already replacing its ARM HDD controllers with RISC-V chips, nvidia is replacing some chips in their GPUs with RISC-V chips, etc. These are all shipping products.
If you need a chip to do something relatively simple and low cost, you are probably already better off with RISC-V today than you are with ARM mainly because its cheaper and has no licensing issues.
I don't know of any big player doing anything complex with RISC-V yet. There is no bit manipulation ISA, no vector ISA, no encryption ISA, ... and many other things that you would need for a general purpose SoC that's not only cheap but also competitive in performance and TDP with ARM.
But this is only a feeling. If you look at it rationally, you would have to point out at least one way in which Apple is suffering from third party repairs. Then you would have to make the case how said point is a cost heavy enough to justify these deep architectural changes. Go ahead.
When a third party messes up their repairs, it'going to give Apple bad PR because people just see broken Macs.
This is not a problem for Windows PCs because enough vendors are involved and they can blame each other when something breaks. With a Mac, it's Apple all the way down, from software to hardware, and 99% of the blame will hit them, no matter how justified that assignment is.
Not very cynical: Apple is against "third party repairs" period, and wants to sell you the whole thing as a black box.
They also believe that's their whole value proposition: that software and hardware comes as much as possible as a black box, and works well together (not perfect, but better than if it wasn't a black box for the aspects that they focus on - simplicity, integration, security, sandboxing, etc).
That's their stance, and they got to where they are from near bankruptcy, sales wise, in pursuit of that.
>It also goes against a wider industrial trend of moving from ARM to RISCV and other architectures.
What "wider industrial trend"?
I don’t know if Apple will ever actually do this, but it seems odd to suggest it’s not feasible given past performance and their current technology holdings.
But it’ll be long term, at least five years. Standard iMacs and MacBooks will be moved over to ARM quickly, higher-end iMacs and possibly some MBP SKUs a few years later, pro devices will stay Intel indefinitely.
The transition only needs to end if and when Apple can beat Intel/AMD for uncompromising high performance. Maybe that will happen, but until then, fat binaries are a perfect solution.
— The vast majority of programs will probably recompile with no changes.
— Many developers who will need to make ARM-specific optimisations will have already done that work for iOS releases. Ditto for graphics optimisations for Apple's custom graphics cores.
— For the remaining developers, the skill of optimising for Apple's ARM CPU and GPU is already mature in the marketplace.
— Most apps which don't fall under the aforementioned categories are probably high performance apps that won't be important for buyers of the smaller iMac and MacBook Air.
For a platform with a history of smooth transitions, this would be the easiest "transition" in Apple's history.
See also Lattner jumping into this thread referring to the tweet above:
https://twitter.com/clattner_llvm/status/1129528261254377474
Apple's toolchain uses a modified version of bitcode, making it more portable.
There is a session on WWDC 2019 on how using bitcode made the 64bit transition of watchOS apps relatively easy.
In that world, I wouldn’t be surprised to see a Mac Pro running a (few?) very high core-count cpus(s) underneath an Apple/ARM based software stack, even if the cpu comes from Intel or AMD. That would let a putative Mac Pro run the same software as the battery-friendly laptops.
Laptop Pro is arguably different, but I suspect content creators still outnumber developers by a significant ratio.
Bear in mind that both previous transitions were due to the processor line Apple was using being effectively EOLed (explicitly in the case of 68k, more implicitly in PPC - nobody was interested in making CPUs that had the appropriate performance/power ratio for consumer machines). Apple is doing great things with ARM, but they're not /that/ far ahead of the rest of the industry that they can pull off a seamless transition in the near future.
Huh? There is more productivity software available for iPad's than for a PC in 1995.
If I had to do a lot of development on the go, I would have invest in a portable USB monitor or use my iPad as a second display.
This is not the history that I remember, at least with contemporary hardware. In my recollection, PPC emulation was generally slower, but it didn't necessarily really matter.
> There's no ARM that's fast enough to emulate an x86 in the same power envelope, so right now any transition would either require all performance sensitive apps to be ported or would result in machines that were slower for many tasks.
I don't think that's true, at least at the lower end.
Whether it is running x86 emulation or native, the Snapdragon 835 comes pretty close to the Celeron N3450, at least in terms of single-core performance. Both chips have a comparable power envelope.
https://www.techspot.com/review/1599-windows-on-arm-performa...
Emulation adds overhead of course, but it's worth noting that most ISAs are effectively emulated through micro-operations:
That's not even remotely the same thing because that micro-code is optimized to the ISA of the processor and it's obviously specific to the microarchitecture of the processor which is again optimized for a specific ISA. It's like translating a Wikipedia article from normal English to simple English. You didn't cross a complicated language barrier.
If I may add my own comment: It's not worth noting at all because your ARM CPU still only implements ARM optimizations and your x86 CPU only implements x86 optimizations.
If you had proposed adding hardware acceleration to make emulation of a specific architecture faster then maybe one could have squinted and said it's emulation instead of secretly implementing a x86 CPU in your ARM CPU.
Of course you have trade offs regarding optimizations, but that's true at multiple levels. For example, many exotic x86 instructions (like BCD) aren't as optimized as they could be.
> If you had proposed adding hardware acceleration to make emulation of a specific architecture faster then maybe one could have squinted and said it's emulation instead of secretly implementing a x86 CPU in your ARM CPU.
Of course I'm talking about hardware-level support. I'm talking about the things that already exist.
https://barefeats.com/quad06.html
Yes, the Mac Pro was way faster on its own turf, but Rosetta's overhead wasn't overcome by that. Not until the wide availability of Universal apps was the speed advantage apparent.
There is just no way on earth they could ever be economically viable. The economies of scale are just dire. Intel can only do it because they sell many hundreds of thousands, or even millions of these high end CPUs, not just a few tens of thousands.
So the real point of contention is, does it make sense to only transition part of the Mac lineup to ARM if this is correct?
Why hold back the entire Mac line for a model that might sell a few 10K units? Especially since Apple doesn’t know if the new Pro is really viable at all.
So an iOS/iPadOS laptop with full KVM support always seemed like a no-brainer in my mind. Or at least a much more obvious move than MacOS/ARM (which would split a small ecosystem behind the only logic that "they did it before and it worked out".) Plus 'the future' is obviously iOS.
When I was given my iPad I didn't want to buy a keyboard case. But sometimes I need a keyboard. I happened to have an extra Apple Wireless Keyboard, and it works fantastically. Wireless. Full-sized. And it's only slightly larger than the 9" iPad. I just throw them both in my bag.
My point is the only way iPadOS can displace laptops is to be a laptop. Not this tablet-stand bullshit.
One of my favorite apps when it comes to the keyboard is Blink. It’s an SSH/Mosh client with a limited local shell. I use it to build a Jekyll site on an EC2 instance. Blink supports multi-monitor, so I can have different shells on different screens.
Multi-window in iOS 13 is going to be another game changer. This is the best device I’ve owned and I’m excited about what’s to come.
Is there something especially difficult about making a high-core-count CPU? The A-series is already crushing single-threaded performance and they're competitive with Intel desktop CPUs for some applications. Once you have a high-performance CPU with multi-core capabilities, is there any reason you can't just copy/paste cores?
The big question wouldn't be whether Apple could make a high-performance ARM, but if the financials play out for it. The Mac Pro numbers certainly wouldn't pay for such a CPU development. This could change of course, if they would bring back the Xserve in a modern incarnation or find some other uses for a high-performance ARM cpu.
Again, though, what exactly does "development" mean here? Apple is already fabless. TSMC makes 32-core chips for AMD, so that scale is not new to them.
For Mac you are looking at 25M unit per year, with TDP going from 15W to 250W. Apple could follow the same path as AMD and make one die to fit all. But in reality it is waste of engineering recourse and focus for little benefits.
The iPhone CPUs are already competitive with Intel chips. They've got incredible single-core performance, great memory bandwidth, and solid 64-bit and SIMD support. What specific feature of a "high performance" node would they require that they aren't using for iPhones now? They've been pushing the limits on allegedly "mobile"-oriented architectures for years.
Every time this comes up, I hear from the naysayers "Yes, Apple is great at mobile, but desktop is a different game", but then also "Apple's mobile chips are faster than many Intel desktop chips". The skeptics sound awfully similar to those who said "Apple is great at iPods but smartphones are a completely different game".
> The cost of designing and testing a 5nm chips is roughly a billion.
AFAICT, nobody in the world has a production 5nm chip yet. How can you put a price on something that nobody has successfully produced yet?
If I were Apple and I were confident that just throwing $1B at it would solve all the engineering problems, I would absolutely do it. $40 per Mac for the best CPU (and independence from Intel) sounds like a steal.
In selected benchmarks. That is like saying the Qualcomm ARM Sever Chips are already competitive with Intel Chips. But it is pretty close, at least to the point for most consumer usage it doesn't matter.
>The iPhone CPUs are already competitive with Intel chips. >What specific feature of a "high performance" node
At sub 10W ( The TDP for iPhone and iPad Pro ), not at 15W+ or 250W on the Mac Pro. You will require different tools, nodes, design guidelines operating at those TDP. No one is saying Apple cant do it, the question is if it make any financial sense doing it.
>AFAICT, nobody in the world has a production 5nm chip yet. How can you put a price on something that nobody has successfully produced yet?
https://semiengineering.com/5nm-vs-3nm/
The lead time for designing a chip / SoC with new node is roughly 2-3 years. Apple are already working ( finalising ) on 5nm SoC for next year, and they already knew the basic costing, ( excluding yield issues ). 3nm Costing Projection are also already known and are being worked on as we speak.
>If I were Apple and I were confident that just throwing $1B at it would solve all the engineering problems, I would absolutely do it. $40 per Mac for the best CPU (and independence from Intel) sounds like a steal.
Quoting myself excluding the actual cost of wafer. and yield. Apple would have made the jump if it really only cost them $40.
We use our Macs for Design (Sketch, Zepplin, Adobe), Web (via Java) and native iOS/macOS development, I am yet to hear anyone caring about docker beyond conference talks.
I am one developer using a MacBook Pro at work, but depend on the ability to run x86-Linux VMs. I could not use an ARM-Based Laptop for work.
That is what I did with my Asus travel netbook (1215 B), which was sold with Ubuntu LTS pre-installed.
And in any case, if the developers are happy with a non-Mac machine, Apple shouldn't be :). Unless they really want to continue their course of driving anyone who does not depend on a Mac for living and who doesn't have limitless funds away.
For private usage, I am about to switch to native Linux for my next laptop, unless Apple comes out with laptops with a reliable keyboard and realistic upgrade pricing again. Ironically, I would love an ARM-based laptop for private usage, if I can get one, I might just get the new Pinebook Pro.
I'm not sure what you mean about "realistic upgrade pricing"...it's not like you've ever been able to "trade in" an old computer to any manufacturer for a steep discount on a newer model (analogous to upgrade pricing of software)...
I find it particularly interesting that at both companies these are the products that have a license to kill sacred cows[2]. The Surface R/T was "Windows on NOT Intel", the iPad has "stylus improved UI". Both of these were antithetic to Gates and Jobs way of thinking.
Both products (and I've got several different generations of both) feel to me like the "post PC" product. An application focused, battery operated, network aware device. I am a bit surprised that Surface hasn't embraced cellular connectivity as strongly as the iPad has, that is a key feature of "on the go" computing.[3]
[1] And chuckled when the new ones had the pen attach with magnets.
[2] The colloquialism, "that is a sacred cow." meaning a feature or rule that cannot be broken.
[3] Yeah, I know the 'tether it to your phone' mantra, I get that a lot, but it simpler (lower friction) to have it built in.
It’s convenient not to have to burn battery on your primary device and while T-mobile offers unlimited 512kbps tethering, for $20 a month getting unlimited high speed tethering for us (my wife has a cellular iPad also) even though rarely used, is worth it.
Also, the iPad is an excellent hot spot. They’ve done benchmarks showing the iPad can work as a hotspot for up to 36 hours.
He made fun of the idea of putting a color screen on the iPod and a year or so later presented the iPod color.
Of course apple was gonna put a stylus on the iPad, with or without Jobs.
Apple might be content with asking users to buy third party hardware to draw on Mac, but they aren’t stupid enough to say you need to buy a Citrix to draw on your iPad.
I’m a bit happy we’re movinf back to just letting people do stuff and let the developers figure out how to make it work.
Apple didn't withhold copy/paste out of spite. They were shipping a completely new platform, and you can't do everything in 1.0.
For comparison, with the first version of the Macintosh system software, copy/paste crashed 50% of the time: https://www.folklore.org/StoryView.py?project=Macintosh&stor...
Imagine a future generation T-series chip with the neural cores that the A-series chips have. Accessible using the existing frameworks that you are already using. Or adding GPU cores to the MacBook Pro lineup as a replacement for the AMD GPUs that they have now.
And while they are doing that, they can release a Smart Keyboard for a future iPad Pro that has a trackpad. That's got to be one of the least risky ways to try out the iPad as a laptop replacement. If it's a flop, you're out the $150 or whatever it would cost but still have a perfectly good iPad that you keep using as an iPad.
Apple is in the position to take a "lets see where this takes us" approach. As long as they keep the OS and Frameworks from drifting apart, there are a lot of nice things that could happen.
- Qualcomm settlement bridges the 5G modem gap
- Intel modem acquihire rekindles dream of radio autonomy
- Did Intel modem deal delay "x86-Arm" mobile Mac transition?
- Can 16" Macbook + 2015 keyboard buy time for new designs?I used to work with the old MacOS, long before OSX, and it was just the way they wanted it: a closed platform with a nice (for the time) user interface and giving Apple full control over what is being developed on it and how.
Dropping this platform for NeXTSTEP-based OS X was the right choice at the time it was made, when they needed a more advanced platform, and they needed it immediately. But the side effect was that it opened the Mac as a development platform, and Apple has since been trying to close it back, without affecting the existing users too hard.
The success of mobile/tablet market allowed them to build a new, closed platform, with precisely the features described above. After MacBook Air was first released I expected them to soon release an OSX-based tablet, but I have soon realised that it is not going to happen: instead of pushing Mac to the tablets, they will more and more push iOS to the Mac, until they have one uniform platform that will make it nearly impossible to develop on except if sanctioned by Apple.
What “control” did Apple have on what was developed on classic MacOS? Famously, the only decent compiler during the early PPC years was made by a third party.
NeXTSTEP application development in Objective-C, or for that matter Mac OS X in Objective-C/Swift, has anything to do with its UNIX based foundation.
The fact that many have bought Apple devices just as convenience to not have to bother setting up X properly or dealing with power configuration on Linux laptops is no longer relevant for Apple sales department.
They care about the developers that buy Apple devices to actually target Apple devices with their software, none of which uses frameworks that depend on the OS being UNIX.
Apple might very will be able to bring out a arm stack for consumer market but there is no indication that they can compete with x86 pro or server market.
If they moved from AMD64 to ARM, they would be doing the opposite. AMD64 is not going anywhere on the desktop and is by far the undisputed performance king. Not to mention how many shops and pro end-users they would instantly lose. The number of developers that run macOS and depend on AMD64 virtual machines must be enormous. Given how much Microsoft is embracing Linux, it would be commercial suicide for Apple to abandon the AMD64 platform since they would be driving all these devs to their competition.
- Apple is about to ship a new mac os that comes with improved support for running ios/ipados applications as well as using an ipad as an extension of your screen.
- The reason for the Mac Pro and the Mac Book Pro to exist is to enable professional artists, developers, and other people that need this kind of hardware to do their thing. Mostly they use tools not developed by Apple. E.g. Adobe is king for anything related to graphics. There are a bunch of third party 3D tools out there. Same for video. Same for Audio. Porting all of that to a new processor architecture will take a lot of time. It also has a severe risk of alienating developers and users during the transition. E.g. Adobe took their sweet time launching optimized versions of their tools for Intel ten years ago and meanwhile some users moved to Windows.
- Mac developers targeting intel macs (i.e. all existing macs), would probably want to develop and test on the machines they are actually targeting. Building cpu/gpu intensive x86 software on an ARM architecture with an X86 emulator makes no sense. You'd want the real thing. Xcode on arm would be a hard sell (except for IOS developers).
- A key money maker on IOS/IpadOS is the app store and the whole point of an ipad is that all the software comes from there. The whole point of Mac OS is that pro users get a lot of their software outside the app store.
- VR/AR is slowly starting to happen and Apple has mostly ignored this on mac os and only done a little bit on IOS (AR mostly). Any hardware that Apple is going to launch here is extremely unlikely to involve Intel or AMD hardware. In fact I suspect this is the primary reason Apple has not pushed hard on this on mac OS: they are looking to disrupt this space with an Apple product that consists 100% of Apple hardware and software and are not interested in filling the gap short term by depending on third party hardware.
So, a processor architecture change on mac os would be short term disruptive and risky. They have a coherent strategy for getting mac users to buy an ipad and double dip in revenue and it seems they are pushing a lot of users toward that platform. Also the pro market is comparatively small but extremely lucrative in its current form.
Why the hell do we need the iPad to take over the PCs? Why the hell do we need ARM CPUs in Macs? Nobody is solving any real problems with those things - it's only purpose is to make Apple's margins and control even greater. And we as consumers are supposed to pay attention to the news outlets droning on about it for no benefit!
I think Apple will do well going back to the basics - simplifying the product lines, selling what matters and focusing on increasing the reach of its products to price conscious buyers. I don't think the market has a big enough appetite for more BS however well marketed it may be.
But I don't think making the iPad's operating system usable is an attempt to somehow position the devices as "PC killers." For use cases where a tablet is sufficient to produce a particular work product, a more usable OS only enhances its effectiveness. This has no bearing on the huge number of use cases where a tablet is insufficient.
I agree with the author that Apple would be barking up the wrong tree trying to switch the Macs to ARM processors. Macs are already comparatively a low-volume market and segmenting that market would not do them any favors in the face of increasing competition from Microsoft and Linux implementations.
I agree with that one - meaningful improvements to make the iPad a better choice for the users that can get away with using only the iPad as their primary device is a good thing. There's also a significant number of those users. But in practice, deciding what those capabilities are and how best to implement those are far more complicated questions - adding a mouse pointer is maybe a perfect illustration of the conundrum - should we, how should it look, what about the click targets, what about touch first, pencil etc.
> Even if native apps compiled and written for the Axx architecture have better energy and thermal performance, what about all the x86 apps that have to be emulated? There'll be a tax for that.
Initially, probably. Think of the long game. This is something they have already done, twice. They have the experience and expertise to make this less impactful.
> Even if native apps compiled and written for the Axx architecture have better energy and thermal performance, what about all the x86 apps that have to be emulated? There'll be a tax for that.
Longer battery life is always preferable in portable devices, no? Alternatively, what about the reduction in the need for the materials, therefore the environmental impact, used in making batteries for laptops? Apple want to be the greenest manufacturer.
Emulation is non-optional if one wants to avoid splitting the ecosystem.
That said, at least one apple researcher has probably looked at RISC-V at some point, given their size and budget.
Apple has also already invested so much effort in its own ARM chips that I believe it wouldn't make much sense for them to throw that away in favor of RISC-V, just for saving a few million dollars per year in royalties.
The other beauty is that you can extend the ISA with whatever proprietary instructions you want. Others develop 99% of the ISA for you, and you focus on the 1% that differentiates your product.
I'm not sure if the ARM licenses allows them to extend the ISA with "Apple-only" instructions, but RISC-V does and it allows Apple for more vendor lock-in. E.g. you can't use a Hackintosh anymore without buying a CPU directly from Apple.
AMD had the cancelled ARM version of Zen. There aren't any public plans to bring it back as far as I'm aware.
But if Apple transitions past x86, it's going to provide critical mass for desktop ARM and the Zen chip will be back.
AMD would be sitting on the highest performance single socket ARM chip, and Apple would just use that.
One of the main reasons for Apple to move to ARM is to control more of their technology stack. It's the direction they've been moving in for a while now and this would be part of that strategy.
Apple would definitely prefer to only use its own chips, but if they're unable to, using ARM Zen from AMD makes a million times more sense than x86 Intel.
I think you may be underestimating Apple's willingness to let the Mac Pro be an ugly duckling. This is a platform that they left stagnant for years after all.
How do you figure? Transitioning from x86 to ARM would be a major, expensive undertaking. If it's justified at all it would mainly be by Apple gaining control over that part of their stack. I doubt they would make such an effort and investment only to switch from the current third party, Intel, to a different third party, AMD.
But otherwise yes they're really not likely to make the transition at all. Given how small a proportion of their overall sales Mac sales are, they're most likely to just leave it on x86 indefinitely.
They're not going to build a chip that competes with high end Xeons just to field the new Mac Pro.
Given that, in a world where MacBook Pros are powered by A15s, Apple can either cut the Mac Pro, keep it as their only x86 product or put an ARM Zen in it.
I'm saying keeping it as x86 will straight up never happen. ARM Zen or cancellation are the plausible options.
With OS support for Numa and a broker to schedule tasks on Big/Little cores all the pieces are there.
My guess is the halo effect around the cloud that put these devices back into the drawers; when you can sync files across two conventional independent devices, risk aversion wins.
But people might become aware and weary of routing everything through Facebook/Google so the value of cloudless mobility might tip the scale.
Plus, if AR/VR ever takes off, the hardware for high bandwidth wired or not PAN will become available
I imagine that the distance and all the connectivity required between the CPU and RAM sitting in an external docking station would destroy performance.
Hot plug CPU has been around forever, as well as Apple's GCD.
Access to the pluggable CPU/RAM complex doesn't have to be transparent and irrecoverable on error.
No wonder Be Inc went belly up. Apple had switched before from architecture.
This would be an undertaking beyond any past one, because in the past computers were much simpler and Apple controlled a bigger part of the picture. Now they're shipping elaborate GPUs and hardware stacks that mash together chips from various vendors and there's a ton of third party hardware and software all working on top of it. If they don't keep most of that working users won't stand for it. Something like "we need to get AMD or NVIDIA to provide us a top-tier video driver for the Axx instruction set and convince them not to demand a king's ransom for it" would not have been an obstacle in the PPC days but it's unavoidable now unless they want to ship their own GPU too (which they could do, but again, compatibility)