they can plan as much as they want and not much will come out of it. to vertically integrate you need both softwaree and hardware arm as company. efficient cross comapny vertical integration is impossibl. microsoft is probably in best position but they will
focus on delivering “secuire platform” or something nonsensical like that since they wont be able
to compete on power/efficiency.
The argument is an economic one - if all you are doing is selling a chip, and competing with others selling chips, you only can capture the margin on the chip. A vertically integrated vendor can capture margins across the whole product bundle and do things like charge $200 for 8gb of ram. That extra margin makes it possible to sustain low to no margins on the actual cpu, and you can afford to make much bigger chips at a more advanced process node.
It also makes it easy to add specialized accelerators and processor instructions that you can then build support for in the operating system you ship.
And yet Intel (and at various times AMD) has been extremely profitable, and not hesitant to spend billions on R&D. If you have a performance advantage you've moved out of the commodity space. I've no doubt Apple could sell billions of M1 chips if it wanted, with considerable profit (huge margins even after design costs), but it won't because it can use them to differentiate (and not just to sell overpriced RAM). (And because for decades Apple has suffered from press about its chips being slower than competitors'.)
There is no processor feature of a modern CPU that doesn't give advantage to all the operating systems that use it. VT-x virtualisation, AVX, AES-NI, ARM Neon: all are used by MacOS, Linux and Windows.
TEEs (SGX+MEE/TrustZone/SEV, Google Titan, Apple T2) serve similar purposes and have similar flaws (like permanent exploits) and trade-offs (same CPU -> side channels, uarch complexity problems, different CPU -> cost; separate chip -> heterogeneity, cost). It seems like the Titan/T2 approach leads to higher security, but I'm not sure that is settled yet. A new arch like RISC-V could do better (though it doesn't look like RISC-V will do that). I would love to see hardware support for micro/nano kernels, but that seems as far away as ever.
Obviously it is good to have a guaranteed client for your chips, but I can't see it stopping Intel if shoestring outfits can build something like RISC-V.
The M1 chip is a good example of where vertical integration is helpful. My understanding is that apple spent considerable effort on baking into silicon the ability to do some common memory-management related OSX/iOS low-level operations. For a chip vendor that sells to a broader market, this is probably not worth the effort. That said, there are, of course, also downsides to stronger vertical integration.
> My understanding is that apple spent considerable effort on baking into silicon the ability to do some common memory-management related OSX/iOS low-level operations.
I think they profiled these operations easily and made sure that they were cheap to execute on their CPU but I'm not certain there's dedicated silicon for that.
What made PC big in the first place was compatibility between vendors. I don't think any of those companies will be sacrificing the compatibility anytime soon. Even if Microsoft was to release a vertically integrated product it would be more like Intel's NUC and Ultrabook branding, a guideline for OEMs on how to build good systems. Similarly Microsoft hasn't gone into war with Lenovo, Dell, HP and Asus by selling Surface laptops.
This article doesn't seem to have a lot to it other than "Apple's CPU efforts will motivate Intel, Qualcomm, and AMD to do better." And, you know, sure. I don't think we expected any of them to say "Welp, guess we better just close up shop now," did we.
(I suspect of those three, AMD's the one to watch. Not to discount Qualcomm and Intel completely, but they've definitely had a feeling of coasting for years.)
Welch school is notorious for overwork and fast firing. It's ironic to see coldtea portray Swan's potential firing as a hit to morale. Swan's a bean counter and a bozo, and Intel needs big changes at the top.
rearranging deck chairs didn't help save the Titanic. that said I've seen turnaround CEOs do their thing before and this is a huge setup for someone if I ever saw it
They need an engineering focused and driven CEO and not a bean counter. They need someone that will say to wall street “Hey, I am going to focus on doing something new and revolutionary that will pay off in the long term, but might hurt profits for a few years. If you do not like it then sell the stock.” That CEO will need a board of the same mind to make it work. There is not a quick fix here, however there is a company of very talented people that if given the right leadership can drive new outcomes. Remember, Dr. Su at AMD did exactly this.
well they won't have to put too much effort into if Apple doesn't get more developers to write for the new chip; they weren't doing a bang up job even getting software for their Intel based systems. They are going to have to get all areas of applications which means an increased focus on bringing AAA game titles to M1
If your primary measure of success is "how many AAA game titles do you have," Apple has always been and probably always will be lacking. Fortunately for Apple (and for that matter, every company or organization that relies on Linux), this is not the only measure of success.
Apple doesn't give a damn about gaming. They may show off some game as a way of demonstrating Rosetta 2's performance, but what was the last AAA game that was released for macOS even close to it's Wintel release?
QCOM doesn't care about performance. They are a licensing company that makes chips. Even if someone else was to make a faster chip they would still need to get a radio from qcom which would make it more expensive. With apple's margins they can afford to put qcom radio + their processor.
Actually I think the companies that should be most worried are HP/Lenovo/Dell. They have been reliant on Microsoft and Intel for decades and have become complacent.
I never understood why HP in particular ceded so much to Microsoft.
There's an interesting alternative world in which 10 or 15 years ago, HP and other vendors committed to making sure that Linux was and is a first-class OS on every single machine they sell. That means Linux works with the touchpad, sleep works, wifi works, and so on. Every single machine has a prompt that says "Windows pre-installed only" "Windows + Linux installed" or "Linux-only."
Today a lot of Lenovo machines work well with Linux but don't ship with those options. Dell has its XPS line. Everyone else is still predominantly Windows, especially on laptops.
With all the efforts to isolate China, they are being forced to develop their own fabs and their own architectures. Their obvious choice is to use RISC-V as a base.
With the world's largest economy behind it, RISC-V will probably become quite relevant soon.
I think that's missing the point of the parent comment. Being the largest doesn't really matter but if they were to put their money somewhere it wouldn't be x86.
Nominal GDP is not the best measure for comparing industrial products, especially ones that go into products sold to and used by consumers. In PPP GDP terms, the Chinese economy is larger and PPP GDP is a better measure of how consumers and industrial customers will influence technology development.
The question of nominal versus PPP GDP is a bit complicated, but a basic rule of thumb is that nominal GDP is better if you're measuring trade (since the nominal rate is the actual value you'll get during international exchange transactions), whereas PPP works better for individual cost-of-living or quality-of-life metrics.
For measuring gross economy size, I would go with nominal GDP.
Looking at the composition of the GDP China "accounted for 28 percent of global manufacturing output in 2018. That puts the country more than 10 percentage points ahead of the United States, which used to have the world's largest manufacturing sector until China overtook it in 2010."
Which is a serious bind on future growth.
There are also geopolitical issues that could radically change the equilibrium in the future.
Hon Hai is the largest manufacturer of components in the World and it's Chinese (they make, for example, Apple components with the name of Foxconn)
TSMC is Chinese as well
They are in what we call Taiwan, but the status of Taiwan it's unclear and it's not officially a sovereign state, what would happen if the two China reunite under the same government?
China has also gained a big influence in Africa which is the fastest urbanizing region of the World and the second fastest region of the World for growth and it's on its way to become a 5 trillion economy
“Right now you could say that any big project in African cities that is higher than three floors or roads that are longer than three kilometers are most likely being built and engineered by the Chinese. It is ubiquitous” (source: Forbes)
America will not recover until it re-introduces tariffs. This was the original mechanism by which America first industrialized (see Jeffersonianism)
It would also benefit the Chinese people by forcing China to prioritize raising the welfare levels of their own consumers who are 2nd class citizens alongside manufacturer/exporters.
Why would they pick RISC-V. It is not as if China would let IP rights stop them from developing the CPU they think is best. Does RISC-V actually have an advantage other than the fact that is is open source? With the ton of existing software that is either x86 or ARM it would be easier from a backwards compatibility point of view to go with one of those. Would Europe or the US really get into an all out trade war with China over CPU instruction sets?
They're going to want to be able to export it. Also, the primary advantage of x86 is that it runs all the legacy Windows software, but China wouldn't want to use something that the US controls the updates for, nor would they want to use something that isn't getting updates, nor would they want to maintain their own Windows fork. And if they're going to use Linux then the architecture doesn't really matter and they might as well use one that they can export if they feel like it.
I’ve seen quite a few articles and people lamenting about how RISC-V is a badly designed ISA and requires a lot of instructions to do the same amount of work as other architectures. It would be interesting if someone knowledgeable on this could summarise whether that’s really a problem, or if there’s anything that would make RISC-V a strong or weak proposition?
Do, please, look at The RISC-V Reader: An Open Architecture Atlas (book). There, ARM and x86 are directly compared with RISC-V. It would appear calling ARM 'well-designed' is an error. Calling it 'market success' is accurate.
I've been on the RV bandwagon for five years now, and yet...as is usual in the corners of any non-trivial subsystem (arch; compiler; web environment; you name it), sticky unpleasant (even ugly) details emerge. For example, in RISC-V, the bits are 'jumbled up' when encoding constants; the argument is it, ultimately, makes the processing faster (due to the way sign-extension works). And, yes, this sort of detail is swept away into a debugger or other tools, so practically, no big deal. And yet... classic archs like pdp-11 don't have this problem. (it has other performance problems).
And recently, RV supports big endian. Why? I don't know. What is happening is what happens when you get too many cooks: exploding complexity for minimal system gain.
I'm afraid that RISC-V's time has come and gone. It is a 20th century instruction set attempting to serve us well into the 21st century.
In my opinion, I think it's time for a do-over. RISC-VI anyone?
> For example, in RISC-V, the bits are 'jumbled up' when encoding constants; the argument is it, ultimately, makes the processing faster (due to the way sign-extension works).
It's not just sign-extension. You can naïvely gather several immediate bits without knowing what the opcode is, and the source/destination register IDs are also always in the same place. It does help to simplify the digital design, because your decoding logic can pluck out a few fields with no state dependencies.
I had the same response to the odd instruction format at first, but it's grown on me over time.
>And recently, RV supports big endian. Why?
Probably to support networking equipment. They still strongly recommend using little-endian.
The traditional 32-bit ARM instruction set is obsolete and it does not matter for any new designs. I was not referring to it.
The two modern ARM instruction sets, the 16-bit-encoded ARMv7-M / ARMv8-M (for microcontrollers) and the 64-bit (32-bit-encoded) ARMv8-A, are very different from the traditional ARM ISA and they both are very well designed, incomparably better than RISC-V.
RISC-V is primitive even compared to the instructions sets used 50 years ago. It includes a few good ideas and the RISC-V team has the merit of popularizing the fact that the older vector ISAs of the seventies were better than the more recent SIMD ISAs of the nineties, which lead to modern vector ISAs, e.g. the RISC-V vector extension and ARM SVE.
However the base RISC-V ISA is extremely weak and its only merit is that it is simple enough to be easy to implement in student projects.
We'll see in practice as more powerful RISC V cores are developed and used. For a new architecture like this it's normal to start with deeply embedded (and relatively low power) cores, and then move up the food chain. It takes time to build an ecosystem.
Currently the ISA is minimalist but I assume that at the high end some extensions still in development will eventually become expected, like bit operations or the vector extension.
I don't think anyone can tell anymore whether an instruction set is superior just with theoretical high-level arguments. The only way the pros know for sure is to model the pipeline, run benchmarks and measure the resulting performance for each variation.
That movement started with Computer Architecture: A Quantitative Approach, which is from late 80s/early 90s?
They use small RISC-V cores with the vector extension to do high performance machine learning. Basically they make minimalist small cores supporting this extension so they can put over 1000 of these cores on one SoC.
TL:DR: vaporware without any concrete details of how they will catch up with the M1, let alone the faster Apple Silicon chips expected in 2021 and 2022.
Intel realized they can't sell the same processor for another 10 years by combining more words with "lake." A power-hungry chip that meant most consumers replaced their laptop every few years for no performance benefit, shameful.
I personally want to see this end up being something of a consortium effort, one where operating systems won’t need to target specific chips to work, but rather a shared instruction set. I know the M1 decidedly isn’t this but that is the one thing I don’t like from an industry point of view.
I like that I can build an Intel or AMD machine and install a wide variety of operating systems as I choose to. That is a key advantage as a consumer of the x86 platform
I also think they could catch up faster if they work together on some common industry standard.
>I like that I can build an Intel or AMD machine and install a wide variety of operating systems as I choose to. That is a key advantage as a consumer of the x86 platform
A key disadvantage on the other hand is companies coasting for a decade now at the speed/battery/etc front, plus a monoculture with no innovation...
The disadvantage is a consequence of Intel having a de facto monopoly for a decade. But that isn't necessary to have industry standards, as exemplified by what came before it -- there was plenty of competition and advancement in the 90s and early 2000s. For that matter, it's what's happening now. The current Zen line has world-class performance but they're still in systems using ACPI and ATX and PCIe.
Basically, no one has any new plans. Chip makers simply have plans to keep making better chips. There wasn't even discussion of Intel working on better processes or how 5nm helped Apple (and AMD) produce better chips.
I think the problem with ARM on the Windows side is that there's no commitment. Qualcomm isn't going to want to create a new category of processor for Windows machines (ie. a 10-15 watt part) without a huge commitment from Microsoft that ARM will end up as a large portion of Windows future (rather than just a single "look, we made an ARM surface that a few people will buy" project). Without that commitment, Qualcomm will certainly supply Microsoft with mobile phone processors, but those will be very slow by comparison. Qualcomm's mobile processors are half of Apple's single-core performance, nevermind the M1.
Part of the problem is that no one can (or wants to) force the issue. Apple got up on stage and said, "three years from now, we won't be selling Intel-based laptops. If you don't get on the train, you'll be left behind." Microsoft won't do that. Without that commitment, why should a software firm port its applications to ARM? Every software firm should be thinking, "if we don't do any work, Windows on ARM will be miserable and never get traction." Likewise, any chip maker is going to say, "I don't want to invest in ARM laptop/desktop chips until it's clear that ARM is going to be a major part of the Windows ecosystem." Finally customers are going to think, "I'm not going to buy an ARM laptop until it's clear that Microsoft, the chipmakers, and software firms are all behind this." No one is willing to commit to the future because that future won't exist unless they all move in unison.
Apple solves most of that "in-unison" problem. They're the chipmaker, they're the OS maker, and they're the device maker. The only thing Apple doesn't control is third-party devs. However, when you can move three of the four wheels, the other comes along. Apple burned its bridges behind it - or at least is telling the public that. Sure, Apple could abandon its ARM transition and move back to Intel, but realistically they're all-in for Apple Silicon.
The Windows world is going to continue to be stuck in a loop where no one wants to commit. Microsoft introduces a solitary ARM-based machine. The processor is worse than Intel's offerings, apps don't support it, they haven't put the effort into a Rosetta 2 that Apple has (you'll have a compatibility layer, but not as good), and third parties aren't rushing to support it (c'mon, it's one niche device). There's no incentive for any party to work hard on this - even Microsoft. If they put lots of effort into a Rosetta 2 system, that's basically wasted effort if ARM isn't going to be a significant part of the future. Might as well wait and see if the ARM laptop catches on before pouring more effort into it. But that becomes a self-fulfilling failure. Without Microsoft committing its full resources to ARM (or substantial enough resources), it will be a second-class experience which will mean that it will fail and not justify continued investment.
It requires a leap of faith that Microsoft doesn't have right now. It would require Microsoft to put a lot of effort behind software on ARM. It would require Microsoft to commission an ARM-chip worthy of a top-tier device (and probably lose a lot of money on it for a couple generations while people are skeptical of it). It requires Microsoft to get in front of the world and say, "we're going to make ARM a first-class platform for Windows and we'll show that commitment over the next 3-4 years until you finally believe it."
Apple is in an easier position for a few reasons. As I said before, they control more of the stack. There won't be Intel-based laptops a couple years ago f...
It's worth remembering that Microsoft together with various partners have tried to do non-x86 Windows before: Windows NT also ran on the Alpha and MIPS for several years, and Windows XP had an Itanium version. Presumably those efforts failed for the same reasons.
I knew there were IA64 versions of Windows Server 2003/2008/2008R2 and there was an X64 version of XP but I didn’t realize there was also an IA64 version of XP. TIL.
I once had an IA64 workstation that I used for testing a product I was working on with that platform and I can’t recall having anything good to say about it. The workstation itself was big, loud, and ugly. Windows didn’t run all that great and there were constant compat issues. Good riddance.
Exactly. Microsoft and the Windows world is sitting at the top of a very nice, comfortable local maximum, and they’re not willing to make the investment and the commitment to climb down off of that for a while to find a higher maximum.
That reminds me a lot of the situation with electric cars. For 99% of the brands, manufacturers depend on electricity companies to put up charging stations while those electricity companies are very hesitant because they're waiting for more cars to hit the streets. And people are hesitant to buy those cars because there's "nowhere" to charge.
And then there's Tesla who did the cars and the charging network, so every driver can be assured to find somewhere to charge.
I just don't understand. How can you be excited to silo off computing technology? Because you're impressed by benchmarks? Another comment mentions margins - 200 dollar ram upgrades. What's exciting about that?
We need competition and an open play field or I fear the barrier to entry for new hackers will grow too large.
The alternative is worse; continued stagnation of CPU performance. At least Apple is pushing the boundary higher. Now AMD/Intel/Microsoft will have to up their game. Competitive pressure is almost always a good thing in an industry, at least for customers.
I'm okay with 5% yearly increases in performance if it means I don't have to pay Apple $200 for an 8GB RAM upgrade. If I can choose which SSD to buy or which GPU or CPU. Nobody else is capable of doing what Apple has achieved here. That's not a good thing for customers, considering how authoritarian Apple behaves as a company over its customers.
Intel have stagnated, but in their last 3 generations AMD has gone:
* from miles behind to ahead in multi-tasking workloads (ryzen 1000)
* drew "close enough" to Intel but Intel had a immediate counter (ix-8xxx vs ryzen 2000)
* Cut the feet from under Intel's HEDT CPUs and rendered them mostly pointless, and managed to keep a "close enough" position despite Intel releasing a new CPU generation soon after (Ryzen 3000 vs Intel 10xxx)
* Took a convincing lead which Intel has no answer for (Ryzen 5000 vs Intel 10xxx)
Intel have certainly stagnated but are promising any day now they'll be out of their slump and on a new process for mainstream CPUs. Maybe, maybe not, but their failures are no guarantee AMD are also going to hit a wall, especially since unlike when Intel planted themselves firmly on top, there are challengers in sight still for AMD.
Being angry at Apple for this is misplaced, though - the anger should be directed at the PC industry for essentially wasting their time with subpar products.
It is absolutely absurd that one company kicks the rest in the ass.
Yeah, as long as Windows on ARM is planned to be a stepping stone for a more locked down computing future, I'm kind of happy that it continues to flounder.
Apple are delivering performance that beats so many other setups running off a battery. And x86 emulation comes close to the real hardware.
And at this price point who cares about the RAM upgrades anymore? The lowest end system matches systems far more expensive than an extra $200. All of this is great for most end users.
What happens when open computing goes away? When creativity is dictated by one company. Certainly competition with that company will be banned, as it is on iOS. The term 'most users' will slowly shrink until it encompasses no one but consumers.
This is the wrong direction. We should be trending to even more open computers. Not appliances that can also run python scripts.
I use Linux myself at work and currently as my daily driver. But I can’t in good conscience recommend it to regular people. If you want more competition, open source has to be competitive.
I've taken half a step back on advocacy this past year... I've been deploying on Linux servers and using containers a lot more, that's got uptake from work. But Linux desktops have been a no-go and beyond this, WSL2 has been pretty decent.
I am concerned that Apple will close all paths for open software to keep adding life to unsupported older hardware though. I feel the same about Phones and mobile devices as well. Reduce and Reuse come before Recycle for a reason.
I'll be concerned when the Apple goons barge in my house and bust up all non-Apple technology.
Until then I think open computing is perfectly safe. Open computing certainly isn't going away on macOS - despite all your hand wringing about "authoritarian Apple".
The part that perplexes me about this -- about the open source fundamentalists with whom I share quite a few views -- is that they ceded control of the base layer half a century ago and never talk about it.
No matter how open our software, it still runs on hardware which we can't build. No matter how open the HDL of that hardware, it has to be manufactured on a process we can't replicate.
I really want to see more people focus their energy into building an enthusiast-friendly fab. The idea alone gets so readily dismissed because people focus on how extreme top-end fabs are without considering that there might be alternatives if your priorities/requirements were different. But I think it'll still happen, some day. Free the base layer! Make open source eternal!
While it would be cool, such a project is ridiculously far from practical and certainly would not result in anything usable for most purposes. Silicon fabrication is intrinsicly a slow, high-investment process which only pays off if you can get enough volume. There's little room for an open-source approach to this kind of industry (where's our open source HVAC?).
You make a lot of assumptions, maybe without even noticing you've made them. Silicon + CMOS happens to be one really high-performing combination. But it's not the only possible platform for computation. The past has seen us through vacuum tubes, magnetic core memory (and its cousin, magnetic logic), TTL (or resistor/transistor logic if you want to reduce the process steps), and through to modern MOSFET-based technologies. Along with each transition are numerous other computational platforms which didn't catch on -- usually because they didn't optimize for the things which the market demanded (e.g. perf, power, yield, and cost at volume).
Among all the possible platforms for logic, it's hard for me to imagine that there's not at least one which has properties usable for at least some set of applications by enthusiasts.
It goes back to the way we were doing in the older days focusing on platforms, each with its own set of features that made them unique, while triggering discussions on the school's playground which one of them was the best, no big deal.
>I think the problem with ARM on the Windows side is that there's no commitment.
It's not that Microsoft and co don't/didn't care about ARM. A more accurate description of the situation is a lack of BELIEF or conviction about PC-class ARM.
The M1 situation can be likened to smart phones before the iPhone. No one believed it was possible to make a device that could be operated entirely with the fingers - they all needed styluses.
Microsoft and the PC industry has literally spent billions of dollars on ARM. Microsoft alone lost $990 million[1] on Surface RT, their ARM version of Microsoft surface. Microsoft's next ARM device Surface Pro X has meh sales. HP, DELL lost money on their Windows RT devices[2]
In other words, ARM on Microsoft land has failed not for lack of effort, or some grand conspiracy - just lack of example.
Now that the entire industry can SEE a laptop class ARM processor that does not suck, someone will come up with an appropriate response within a few years. I doubt it'll be Qualcomm.
MS fails so much because they don’t commit to anything.
Apple took half a decade to do this transition. First including the T1 chip, then slowly growing it, and finally upgrading that to an M1 as they dropped the Intel chip.
And that’s just what we say, internally, it surely took more than that.
MS does a quick and dirty attempt at thing, while they’re also trying out other directions. Nothings gonna work if you don’t have a clear direction.
Well, see, that's the thing...there's never an example—until someone makes one. Microsoft could have been that someone, but they were too afraid of taking the risk.
Exactly as mdasen said: they wouldn't commit to it.
This is, of course, unsurprising, as Microsoft has a long and storied history of refusing to take real risks and only going into significant new territory when Apple has already paved the way. But that doesn't make it less of a fault in Microsoft.
> Part of the problem is that no one can (or wants to) force the issue. Apple got up on stage and said, "three years from now, we won't be selling Intel-based laptops. If you don't get on the train, you'll be left behind." Microsoft won't do that. Without that commitment, why should a software firm port its applications to ARM? Every software firm should be thinking, "if we don't do any work, Windows on ARM will be miserable and never get traction." Likewise, any chip maker is going to say, "I don't want to invest in ARM laptop/desktop chips until it's clear that ARM is going to be a major part of the Windows ecosystem." Finally customers are going to think, "I'm not going to buy an ARM laptop until it's clear that Microsoft, the chipmakers, and software firms are all behind this." No one is willing to commit to the future because that future won't exist unless they all move in unison.
Honestly how hard is it to port software to ARM?
Electron apps just work, .NET just works and Java does too. So does every language that isn't C/C++. And even on the C/C++ side, unless you are doing some funky things I doubt it's more effort than adding a release configuration that targets ARM in the build pipeline.
Honestly how hard is it to port software to ARM?
Electron apps just work, .NET just works and Java does too. So does every language that isn't C/C++. And even on the C/C++ side, unless you are doing some funky things I doubt it's more effort than adding a release configuration that targets ARM in the build pipeline.
In my C/C++ experience - it’s a big push that a software company would just rather not make. Even if you already have an ARM SKU for a different OS, all sorts of things can cause trouble. If you’re coding in C/C++, you’re probably pretty interested in performance and you’ll have a lot of hand tuned assembly and/or SIMD operations, and that can be a big pain to port, especially with different compilers and intrinsics.
I can only imagine the conversations that go on at Adobe or Autodesk or others when debating new platforms and SKUs. Given that even Microsoft wasn’t committed enough to ARM Windows to make a x64 emulator for it probably worked against this.
We had a chat about this at work. We can’t even get started porting until some third party libraries (in the 3D modelling kernel sphere) that we license get ported - they’re integral to the software, so going without them isn’t an option.
"Electron, .NET, Java" so you're skipping over Win32, which has to be the largest slice of all.
Photoshop falls into this bucket. It's on the C++ side and does "some funky things" in the way of SIMD to eke out more performance. If memory serves, it took them about eighteen months to get an Intel native version out the door after the PPC/Intel transition started.
Any serious audio apps are going to have an equally hard time, they do a lot of hardware tricks in order to lower latency, and since they're not mainstream apps like MS Office or Adobe CS, they have much smaller teams of developers. That whole industry is very slow moving.
Finally you've got CAD and 3D stuff. Obviously that requires good drivers. In fact, that's another way in which Microsoft will have a much harder time with this transition. Apple only has to write a driver for the one audio device that's in every Mac, the one GPU, etc.
> Photoshop falls into this bucket. It's on the C++ side and does "some funky things" in the way of SIMD to eke out more performance.
I wonder how much of that codebase is shared between Windows and macOS though. It's quite possible that Microsoft could take advantage of a lot of porting work that has already been done for Apple's M processors. If you support Windows/x86 and macOS/arm then it's probably not much more work to create a Windows/arm port. Unless there are compatibility issues with the Win32 APIs themselves?
Lots of C/C++ programs do stuff that won’t work on ARM. Be it highly optimized assembly or intrinsics or reliance on memory access being atomic and having total store order.
The problem with Windows RT was the gimped API. If Microsoft had used that opportunity to completely do away with their "backwards compatibility is sacrosanct" ethos and exposed an equally capable API then app developers would have flocked to it.
I remember being at a product design meeting when Windows RT was about to be released and every feature that we wanted to bring over from our flagship x86 software, our tech lead kept repeatedly saying "no we can't do that. The API does not allow it". Finally we said fk it, let's come back to this in a year or two after Microsoft gets their act together. And we never did.
> The only thing Apple doesn't control is third-party devs. However, when you can move three of the four wheels, the other comes along.
Don't the M1 Macs come with some performant-enough emulation system (that most people didn't consider possible) that allows you to run x86 apps? I feel like this is key to avoiding the chicken-and-egg effect.
Now that Apple has proven it to be possible, others may follow. Ultimately, users don't care about their CPU architecture, they care about being able to run their software.
If you make users choose between a new platform that promises to "soon" be able to run 80% of the software (but currently runs at best 50%) or a slower, more expensive version that runs everything, the new platform has no chance.
If the new platform can run the existing software, albeit "only" as fast as their old platform (because the advances in CPU speed make up for the emulation overhead), this huge obstacle simply disappears.
> Don't the M1 Macs come with some performant-enough emulation system (that most people didn't consider possible) that allows you to run x86 apps? I feel like this is key to avoiding the chicken-and-egg effect.
My understanding is a major contributing factor is that Apple added Intel's memory-ordering to their Arm chips, which allows Rosetta 2 to perform so well. Being Apple, they could drop this in 2-3 years if they wanted to drop Rosetta 2 support.
That's something vertical integration (and not caring so much about long-term compatibility) will get you that would be much more difficult otherwise.
This is deeply concerning, as I see a future where Apple has a monopoly on personal computing devices. It's not unfeasible that Apple's custom chips will surpass Nvidia in GPU performance as well in a few years.
> This is deeply concerning, as I see a future where Apple has a monopoly on personal computing devices
I doubt that is going to happen. Apple is a premium brand, for the premium segment of the market. It is never going to have a majority of the marketshare, it isn't interested in going down that path.
Apple Silicon offers great performance, but a massive chunk of the market cares more about price than performance – that chunk isn't really interested in Apple Silicon, and Apple isn't really that interested in them either.
I doubt that is going to happen. Apple is a premium brand, for the premium segment of the market…
I've seen the M1 Mac mini available for $625. There will come a point where the M1 is cheap enough for a broad range of consumers, especially compared to the quality of consumer PCs in that price range.
…but a massive chunk of the market cares more about price than performance
True until the price gap is small enough that it common sense says paying $100 more for a Mac is a no-brainer.
There's also the issue of no crapware preinstalled, ads everywhere and software that's free to use for 60 or 90 days, which is typical on low-cost PCs.
Apple is also playing with a 30-35% margin which gives them room to drop prices as needed.
If college campuses are open in the fall of 2021, many of those freshmen will arrive on campus with an Apple Silicon laptop…
They're also largely in a space that doesn't need the single core performance that a lot of desktop software needs and mostly is used with higher level server languages that mostly just work.
Intel has long been hamstrung by Windows/Microsoft.
Qualcomm, AMD, and Intel need an OS which they can exert substantial control and vertical efficiency and integration, and afford a path from x86 to ARM.
That's really only Linux. Windows has dragged its feet and has practically trailed OSX in design/usability/appearance (despite a VAST difference in available budgets) practically since OSX was released.
So it's Linux, or.... what? the Beos/Haiku? ReactOS? Open Solaris?
They need their own OS at a minimum to push Windows. A huge investment in ReactOS/WINE would also help bridge the gap.
The ability to run iOS apps shouldn't be underestimated. It lowers the bar further; allowing all their iOS developers who have been developing ARM code for decades now even easier access to the Mac space too.
It is indeed a great time to be a Mac user again! I was all set to get a 16GB MacBook Air to replace my 2015 MBA. Then I started seeing videos of games running either natively or under emulation on a 16GB MBA and the performance shown was more than good enough that I think I am now going to hold out for a MacBook Pro or laptop that can at least get to 32GB of RAM and leave my Windows gaming machine behind. 32GB mainly because of my asset subscription addiction in Cities:Skylines. Should have better GPU performance too which never hurts - not that I require top tier GPU for the simulations/strategy games I like. Still like my 1080ti in my Windows box but not expecting that in a laptop - from Apple or anyone else.
To get an idea how long it will take would-be competitors to get from basically a standing start to rivalling Apple, Apple bought PASemi 12 years ago, in 2008. Google has their own chip designers, as do some other tech companies that are not known for chip design, but nobody except Apple, that anyone knows of, has decided to take on the monumental challenge of general purpose CPU design as part of a vertical integration strategy.
The Apple M1 [1] has set the bar for hybrid 4+4 big.LITTLE laptop-class silicon:
> The M1 has four high-performance and four energy-efficient cores, providing a configuration similar to ARM DynamIQ and Intel's hybrid Lakefield and Alder Lake processors.
Apple, like other ARM-based smartphone/tablet-class silicon designers, has selected a System-on-a-Chip (SoC) architecture. Intel and AMD are incrementally modifying their discreet processor architectures to provide competitive hybrid architectures together with some SoC aspects as AnandTech describes in detail [2].
The Wired article also describes Qualcomm as a competitor coming from the ARM big.LITTLE side of the equation while leaving out other competitors like Samsung and (the defunct?) Huawei/HiSilicon. Nvidia, the current leader in discreet GPU silicon and former competitor in the smartphone/tablet-class silicon market, has announced the acquisition of ARM [3], which adds an interesting plot twist to the competitive landscape.
The hybrid core architectures require new schedulers in the OS kernel. Transitioning to new/alternative Instruction Set Architectures, like x64 to ARM64, also requires a translation layer like Apple's Rosetta 2 to help the software transition. Microsoft Windows currently lags being Apple on both of these fronts.
The 4+4 big.LITTLE configuration is not "laptop-class".
It is the right configuration for a CPU with 10 W or 12 W TDP, which is OK only for a fanless ultrabook, like MB Air.
For the laptops intended for more serious work you want a CPU with 15 W to 60 W TDP, in which case the right configuration must have at least 8 big cores.
As Apple did not publish official TDP numbers for the M1, AnandTech tried to estimate the TDP of the M1 in the Mac Mini [1]:
> In multi-threaded scenarios, power highly depends on the workload. In memory-heavy workloads where the CPU utilisation isn’t as high, we’re seeing 18W active power, going up to around 22W in average workloads, and peaking around 27W in compute heavy workloads. These figures are generally what you’d like to compare to “TDPs” of other platforms, although again to get an apples-to-apples comparison you’d need to further subtract some of the overhead as measured on the Mac mini here – my best guess would be a 20 to 24W range.
Lakefield is a 1+4 hybrid architecture with one big Intel Core (the laptop CPU brand name) core and four little Intel Atom cores. I'm not sure what the ideal x+Y combination is for big.LITTLE hybrid silicon for the laptop-class nor the ideal TDP target. From what I've seen, the M1 seems to be the processor to beat along price-per-peformance, performance-per-watt, and all-day-battery dimensions. Independently, the SoC GPU and Universal Memory seem to be in a class of their own.
M1 wins in single core benchmarks, but it loses in multi core.
Also, it beats 9th generation i9 for mobile, not the newer ones (that are still 14nm Vs the 5nm of the M1)
I'm not an Intel fan and I think it lost edge over the years, but M1 doesn't beat the i9 in pure performances, only in controlled benchmarks where the conditions are favourable to M1
Of course the M1 on Apple laptops are faster than every other Apple laptop, but that's only natural.
> Be kind. Don't be snarky. Have curious conversation; don't cross-examine. Please don't fulminate. Please don't sneer, including at the rest of the community.
Unilateral kindness in the face of unkindness, is the key here I think. Read the four paragraphs following the graphs in your AnandTech link and square that interpretation with your own. Yes I did notice that the OP wrote 9i and in the context of the thread I knew exactly what they were referring to. A charitable interpretation is a typo or autocorrect while typing on a mobile device, maybe from someone who has written about Oracle 9i before.
Apple's laptops have always been extremely slow compared to alternatives, so it was very easy for Apple to do better.
In single-thread performance Apple M1 at 3.2 GHz is equal with Intel Tiger Lake @ 4.8 GHz or AMD Zen 3 @ 4.8 GHz (e.g. scores around 1750 in GeekBench 5 ST), but while consuming more than 3 times less per core.
While the higher energy efficiency is impressive, it does not matter much in a laptop, where enough power is available. It will matter only in the future, when Apple will include enough cores in its CPUs, to be able to exploit the higher TDP available in a laptop.
On the other hand, if the power consumption of Tiger Lake / Zen 3 is reduced to be equal with that of Apple M1, their clock frequency is reduced from 4.8 GHz to around 3.5 GHz ... 3.6 GHz, remaining higher than that of M1 (which does more work per clock cycle).
Therefore at equal power per core Apple M1 is faster, but only by around 35%. This advantage is not enough to enable 4+4 Apple cores to match 8 Intel/AMD cores.
In conclusion, the laptops that will be launched in early 2021, with 8-core Tiger Lake H or AMD Cezanne, will have the same single-thread performance as Apple M1, but higher multi-thread performance. The slower laptops with AMD Renoir already have better multi-thread performance.
Moreover, while Apple M1 has an average IPC 1.5 times higher than the average IPC of Intel/AMD, which enables high scores in benchmarks like SPEC or GeekBench, in computational benchmarks with optimized programs that have higher IPC than the average IPC, Apple M1 is disadvantaged and it is slower in single-thread than even an old Ryzen 7 3700X, unlike in single-thread SPEC or GeekBench, where you need a new Ryzen 9 5900X to exceed the Apple M1 performance.
> This advantage is not enough to enable 4+4 Apple cores to match 8 Intel/AMD cores.
The M1 is a hybrid 4+4 big.LITTLE SoC and it is the first of its kind that is competitive with the 8+0 pure big Intel and AMD chips.
The M1 has a .LITTLE side that gives it battery powered efficiencies comparable to tablets. This is a very balanced general purpose hybrid architecture. It will be interesting to see the technical strategies used in response.
In large laptops, i.e. gaming laptops or mobile workstations, the CPUs with 45 W nominal TDP are actually configured with TDPs up to 60 W or 65 W (the steady-state value). The boost power is higher in those cases, e.g. 72 W or even 90 W.
This is true for example in my Dell Precision laptop, where the CPU is configured for 60 W steady-state TDP, because the laptop has good cooling, which can easily cope with that, unlike in thinner laptops.
Your sarcasm is misplaced, because the TDP is the factor that determines the achievable multi-threaded performance of any computer.
Given the domain of application for any computer, e.g. handheld, tablet, thin laptop, thick laptop, desktop and so on, you get certain dimensions, which, together with the available cooling technologies, determine the TDP.
The TDP, together with the characteristics of the CMOS process used for making the CPU, determine the multi-threaded performance of the CPU, if the CPU designers are competent and do not make mistakes leading to lower performance than optimal.
Therefore, while the high single-thread performance of Apple M1 is due mainly to its clever design with high average IPC, its multi-threaded performance is determined mostly by the newer 5-nm CMOS process.
The higher efficiency of the 5-nm process would have allowed a higher performance within a laptop TDP, but Apple has chosen, for now, to reduce their costs by using only 4 big cores, instead of reaching the performance that would have possible for them when using more big cores.
It is likely that next year Apple will introduce models that will be limited by TDP, not by chip size, like this year. Until then, Intel & AMD will be better for multi-threaded tasks and equal in single-threaded (but at much higher power per core).
It's funny that at the same time that Jim Keller was heading up the team that was developing the Zen micro-architecture Keller also had been tasked with managing a second team to develop an ARM ISA Variant and that Project was code named K12.
Now K12 is not the ARM Cores that where used in AMD's Seattle Server Processor as Seattle used Arm Holding's reference design A57 cores and that was released as the Opteron A1100 ARM Server processor. But K12 was not that Seattle core as K12 was an in house custom micro-architecture that was similar to Zen but engineered to execute the ARMv8A ISA. And that project K12 along with Project Sky Bridge(Pin Compatible x86/ARM socketed motherboard design) was mothballed in favor of just Zen/x86.
So AMD very likely still has the Verilog for its K12 custom ARM core and really AMD's already had the A1100 to market albeit with A57 cores and not any K12 custom ARM cores. So AMD's very well capable of packaging and integrating an ARM core into a usable product.
What AMD and Intel are lacking in most is the other non CPU core processing block IP that the M1 has included like the NPU and DSPs and other specialized on SOC IP that are included on the M1. And Apple's in house CPU/SOC teams are really ahead there as is the OS/API and software ecosystems that Apple has developed to make all that happen seamlessly for application developers that are targeting Apple's M1 silicon.
It seems odd that they never mention Nvidia, which has a bunch of experience with Tegra and now stands to own Arm itself. They'll surely have a part to play in this shake-out.
This is one part that's odd for me as well. The other is how everyone seem to act like CPUs like the Ryzens don't matter anymore because they are not ARM. I mean, I get it, this is nice for some usage. I'm in game development and I don't see things like these making me switch anytime soon. 3D animation, game development, gaming, AI, all of this benefit more from really powerful CPU/GPU and don't care much about power consumption. And this is a big user base.
I don't want to sound like I hater (I'm not), and I'm glad something new is happening, but it's not like this going to move suddenly everyone to ARM.
OTOH I've spent more money on Switch games this year than any other platform. Meanwhile, two years ago, I returned a Dell because it ran Civ 6 at less than 1 fps, despite its supposedly games focused integrated Vega GPU. My M1 Air manages a solid 60fps, and it's running Civ under Rosetta. I installed Factorio on it and it surprised me with my savegame having been copied over from my PC - it is indistinguishable. I get that neither of these games are Cyberpunk 2077, but most of the games I've enjoyed this year could year could be happily developed on an Air, and once there's a beefier desktop version, I expect even the most demanding level-layout tools will work fine on Apple Silicon. I can see AAA staying intel/nvidia for a long time simply because of tooling, but everyone else, why waste your money? Now, when Apple releases their console...
I'm really happy for everyone to have the toys they like :) I don't mind/care if people are excited and want to move to the M1 as long as I'm allowed to be happy on my Ryzen/nvidia machine.
I can't help but feel the elephant in the room is just LPDDR and the extra third of memory bandwidth the M1 has over Intel.
...but no one seems to talk or care about that. All the talk seems to focus on much more arcane things like instruction reorder buffers and not simple fundamentals.
I mostly agree, but it's not the only thing. Apple made a bunch of incremental improvements in the basics, this being one of the bigger ones.
Reducing the movement of data, implementing common operations in hardware (there was mention of an object allocation being an extremely common client software operation that they implemented in hardware), bringing RAM physically closer to processors (reducing the die area and power budget needed for interfaces), higher bandwidth and lower latency paths to backing store--there were a lot of conceptually simple improvements.
And perhaps the switch to a more regular instruction set helped somewhat.
Apple could see a lot of performance being left on the table in pieces of varying size.
Hasn't DDR4 been available to ice lake and mobile ryzen for a while now? Also been a couple of laptops to put desktop class intel cpus in over the years.
As a Linux user, it pisses me that the PC industry in general tailors so much to windows.
I’d be happy to see more ARM laptops and desktops in the market, but no manufacturer is making them simply because they only aim for Microsoft. Such an obvious loss.
There are 2 issues here.. 1 its not going to work, unless they get both the OS, and the apps onboard like apple. 2 they are skating to were the puck is, not were its going to be.. the M1 is apples entry level soc... there will be crazy new socs, im sure of it.
I'm terrified of Apple's strategy here. It's a clear message that the strategy of independent manufacturers and vendors is far less effective, at least in a modern context. We're going to see Apple eating up increasing amounts of the market, which is concerning when I particularly care about freedom and Apple is all too eager to lock everything down. We're going to see other companies increasingly look to vertical integration on a scale that we haven't seen in decades. In 50 years, there might not even be any independent manufacturers anymore. Either you buy in to the Apple stack or whoever owns the only other competing stack, if one exists. We'll get to reminisce about the good old days when we could still choose which GPU/CPU/MB/RAM/etc to buy from which manufacturer for the price that we prefer.
Yes, I wonder what it would take for a open platform to be able to match the quality and interconnectivity of Apple. Is there any structure that would make this possible?
Based on the history of “Linux on the desktop”: no
There’s tons of boring work required to make a polished product (documentation, compatibility work, UX design and testing, global design consistency, etc.) that you simply have to pay people to get done.
I'm sorry but the 'rivals' are close to almost too late. Apple works around 3 - 4 years ahead of the competition. By the time the 'rivals' catch up with getting M1 performance on an ARM processor, Apple would already have released an M3 or M4 Mac Mini or Mac Pro.
Microsoft is probably the closest with the SQ processor in the Surface line-up but is certainly not as performant as the M1. As for everyone else, this plan to 'catch up' might as well call it a day.
The M1 chip seems to have dismantled the whole competition for another 3 years, however the development ecosystem is still unoptimised and very early. I'm waiting for an M3 or M4 Mac and when the software is fully optimised for Apple Silicon.
155 comments
[ 3.6 ms ] story [ 124 ms ] threadNo reason Microsoft wouldn't port to a new ARM variant from e.g. nVidia, or some other RISC.
It also makes it easy to add specialized accelerators and processor instructions that you can then build support for in the operating system you ship.
There is no processor feature of a modern CPU that doesn't give advantage to all the operating systems that use it. VT-x virtualisation, AVX, AES-NI, ARM Neon: all are used by MacOS, Linux and Windows.
TEEs (SGX+MEE/TrustZone/SEV, Google Titan, Apple T2) serve similar purposes and have similar flaws (like permanent exploits) and trade-offs (same CPU -> side channels, uarch complexity problems, different CPU -> cost; separate chip -> heterogeneity, cost). It seems like the Titan/T2 approach leads to higher security, but I'm not sure that is settled yet. A new arch like RISC-V could do better (though it doesn't look like RISC-V will do that). I would love to see hardware support for micro/nano kernels, but that seems as far away as ever.
Obviously it is good to have a guaranteed client for your chips, but I can't see it stopping Intel if shoestring outfits can build something like RISC-V.
It's probably easier to achieve that coordination when there's a vertical integrator who can strong-arm everyone to make that migration.
I think they profiled these operations easily and made sure that they were cheap to execute on their CPU but I'm not certain there's dedicated silicon for that.
(I suspect of those three, AMD's the one to watch. Not to discount Qualcomm and Intel completely, but they've definitely had a feeling of coasting for years.)
If so, I'll be curious to see if that affects Intel's technical competitiveness.
Typical: https://www.oregonlive.com/silicon-forest/2017/08/intels_cfo...
I never understood why HP in particular ceded so much to Microsoft.
That's exactly the problem. I called out HP because they did have their own operating system.
Today a lot of Lenovo machines work well with Linux but don't ship with those options. Dell has its XPS line. Everyone else is still predominantly Windows, especially on laptops.
Incompetence. Let's see - the CPUs they screwed up Alpha, StrongARM, and Itanium. Flushed PalmOS down the toilet too. Flipping morons.
Hopefully, RISC-V joins the race.
With the world's largest economy behind it, RISC-V will probably become quite relevant soon.
For measuring gross economy size, I would go with nominal GDP.
Looking at the composition of the GDP China "accounted for 28 percent of global manufacturing output in 2018. That puts the country more than 10 percentage points ahead of the United States, which used to have the world's largest manufacturing sector until China overtook it in 2010."
Which is a serious bind on future growth.
There are also geopolitical issues that could radically change the equilibrium in the future.
For example
https://thediplomat.com/2020/12/would-china-invade-taiwan-fo...
I'm not sure those the US’S comparative advantage shifting to finance and IT over manufacturing is a “serious bind on future growth”.
It a limitation of ability to avoid interdependence, but that's a different issue.
TSMC is Chinese as well
They are in what we call Taiwan, but the status of Taiwan it's unclear and it's not officially a sovereign state, what would happen if the two China reunite under the same government?
China has also gained a big influence in Africa which is the fastest urbanizing region of the World and the second fastest region of the World for growth and it's on its way to become a 5 trillion economy
“Right now you could say that any big project in African cities that is higher than three floors or roads that are longer than three kilometers are most likely being built and engineered by the Chinese. It is ubiquitous” (source: Forbes)
They are playing the long game.
So... they're complaining that it's RISC?
I've been on the RV bandwagon for five years now, and yet...as is usual in the corners of any non-trivial subsystem (arch; compiler; web environment; you name it), sticky unpleasant (even ugly) details emerge. For example, in RISC-V, the bits are 'jumbled up' when encoding constants; the argument is it, ultimately, makes the processing faster (due to the way sign-extension works). And, yes, this sort of detail is swept away into a debugger or other tools, so practically, no big deal. And yet... classic archs like pdp-11 don't have this problem. (it has other performance problems).
And recently, RV supports big endian. Why? I don't know. What is happening is what happens when you get too many cooks: exploding complexity for minimal system gain.
I'm afraid that RISC-V's time has come and gone. It is a 20th century instruction set attempting to serve us well into the 21st century.
In my opinion, I think it's time for a do-over. RISC-VI anyone?
It's not just sign-extension. You can naïvely gather several immediate bits without knowing what the opcode is, and the source/destination register IDs are also always in the same place. It does help to simplify the digital design, because your decoding logic can pluck out a few fields with no state dependencies.
I had the same response to the odd instruction format at first, but it's grown on me over time.
>And recently, RV supports big endian. Why?
Probably to support networking equipment. They still strongly recommend using little-endian.
The traditional 32-bit ARM instruction set is obsolete and it does not matter for any new designs. I was not referring to it.
The two modern ARM instruction sets, the 16-bit-encoded ARMv7-M / ARMv8-M (for microcontrollers) and the 64-bit (32-bit-encoded) ARMv8-A, are very different from the traditional ARM ISA and they both are very well designed, incomparably better than RISC-V.
RISC-V is primitive even compared to the instructions sets used 50 years ago. It includes a few good ideas and the RISC-V team has the merit of popularizing the fact that the older vector ISAs of the seventies were better than the more recent SIMD ISAs of the nineties, which lead to modern vector ISAs, e.g. the RISC-V vector extension and ARM SVE.
However the base RISC-V ISA is extremely weak and its only merit is that it is simple enough to be easy to implement in student projects.
Currently the ISA is minimalist but I assume that at the high end some extensions still in development will eventually become expected, like bit operations or the vector extension.
That movement started with Computer Architecture: A Quantitative Approach, which is from late 80s/early 90s?
https://medium.com/swlh/what-is-innovative-about-risc-v-a821...
They use small RISC-V cores with the vector extension to do high performance machine learning. Basically they make minimalist small cores supporting this extension so they can put over 1000 of these cores on one SoC.
I like that I can build an Intel or AMD machine and install a wide variety of operating systems as I choose to. That is a key advantage as a consumer of the x86 platform
I also think they could catch up faster if they work together on some common industry standard.
I don’t remain hopeful that will happen though
A key disadvantage on the other hand is companies coasting for a decade now at the speed/battery/etc front, plus a monoculture with no innovation...
I think the problem with ARM on the Windows side is that there's no commitment. Qualcomm isn't going to want to create a new category of processor for Windows machines (ie. a 10-15 watt part) without a huge commitment from Microsoft that ARM will end up as a large portion of Windows future (rather than just a single "look, we made an ARM surface that a few people will buy" project). Without that commitment, Qualcomm will certainly supply Microsoft with mobile phone processors, but those will be very slow by comparison. Qualcomm's mobile processors are half of Apple's single-core performance, nevermind the M1.
Part of the problem is that no one can (or wants to) force the issue. Apple got up on stage and said, "three years from now, we won't be selling Intel-based laptops. If you don't get on the train, you'll be left behind." Microsoft won't do that. Without that commitment, why should a software firm port its applications to ARM? Every software firm should be thinking, "if we don't do any work, Windows on ARM will be miserable and never get traction." Likewise, any chip maker is going to say, "I don't want to invest in ARM laptop/desktop chips until it's clear that ARM is going to be a major part of the Windows ecosystem." Finally customers are going to think, "I'm not going to buy an ARM laptop until it's clear that Microsoft, the chipmakers, and software firms are all behind this." No one is willing to commit to the future because that future won't exist unless they all move in unison.
Apple solves most of that "in-unison" problem. They're the chipmaker, they're the OS maker, and they're the device maker. The only thing Apple doesn't control is third-party devs. However, when you can move three of the four wheels, the other comes along. Apple burned its bridges behind it - or at least is telling the public that. Sure, Apple could abandon its ARM transition and move back to Intel, but realistically they're all-in for Apple Silicon.
The Windows world is going to continue to be stuck in a loop where no one wants to commit. Microsoft introduces a solitary ARM-based machine. The processor is worse than Intel's offerings, apps don't support it, they haven't put the effort into a Rosetta 2 that Apple has (you'll have a compatibility layer, but not as good), and third parties aren't rushing to support it (c'mon, it's one niche device). There's no incentive for any party to work hard on this - even Microsoft. If they put lots of effort into a Rosetta 2 system, that's basically wasted effort if ARM isn't going to be a significant part of the future. Might as well wait and see if the ARM laptop catches on before pouring more effort into it. But that becomes a self-fulfilling failure. Without Microsoft committing its full resources to ARM (or substantial enough resources), it will be a second-class experience which will mean that it will fail and not justify continued investment.
It requires a leap of faith that Microsoft doesn't have right now. It would require Microsoft to put a lot of effort behind software on ARM. It would require Microsoft to commission an ARM-chip worthy of a top-tier device (and probably lose a lot of money on it for a couple generations while people are skeptical of it). It requires Microsoft to get in front of the world and say, "we're going to make ARM a first-class platform for Windows and we'll show that commitment over the next 3-4 years until you finally believe it."
Apple is in an easier position for a few reasons. As I said before, they control more of the stack. There won't be Intel-based laptops a couple years ago f...
I once had an IA64 workstation that I used for testing a product I was working on with that platform and I can’t recall having anything good to say about it. The workstation itself was big, loud, and ugly. Windows didn’t run all that great and there were constant compat issues. Good riddance.
:) It may be forgotten now, but all the infrastructure Microsoft added for running 32-bit apps on a 64-bit OS was first added for Itanium's sake!
Wasn't there some news as to Microsoft getting into the silcon game?
And then there's Tesla who did the cars and the charging network, so every driver can be assured to find somewhere to charge.
We need competition and an open play field or I fear the barrier to entry for new hackers will grow too large.
* from miles behind to ahead in multi-tasking workloads (ryzen 1000)
* drew "close enough" to Intel but Intel had a immediate counter (ix-8xxx vs ryzen 2000)
* Cut the feet from under Intel's HEDT CPUs and rendered them mostly pointless, and managed to keep a "close enough" position despite Intel releasing a new CPU generation soon after (Ryzen 3000 vs Intel 10xxx)
* Took a convincing lead which Intel has no answer for (Ryzen 5000 vs Intel 10xxx)
Intel have certainly stagnated but are promising any day now they'll be out of their slump and on a new process for mainstream CPUs. Maybe, maybe not, but their failures are no guarantee AMD are also going to hit a wall, especially since unlike when Intel planted themselves firmly on top, there are challengers in sight still for AMD.
It is absolutely absurd that one company kicks the rest in the ass.
And at this price point who cares about the RAM upgrades anymore? The lowest end system matches systems far more expensive than an extra $200. All of this is great for most end users.
What happens when open computing goes away? When creativity is dictated by one company. Certainly competition with that company will be banned, as it is on iOS. The term 'most users' will slowly shrink until it encompasses no one but consumers.
This is the wrong direction. We should be trending to even more open computers. Not appliances that can also run python scripts.
I am concerned that Apple will close all paths for open software to keep adding life to unsupported older hardware though. I feel the same about Phones and mobile devices as well. Reduce and Reuse come before Recycle for a reason.
I'll be concerned when the Apple goons barge in my house and bust up all non-Apple technology.
Until then I think open computing is perfectly safe. Open computing certainly isn't going away on macOS - despite all your hand wringing about "authoritarian Apple".
No matter how open our software, it still runs on hardware which we can't build. No matter how open the HDL of that hardware, it has to be manufactured on a process we can't replicate.
I really want to see more people focus their energy into building an enthusiast-friendly fab. The idea alone gets so readily dismissed because people focus on how extreme top-end fabs are without considering that there might be alternatives if your priorities/requirements were different. But I think it'll still happen, some day. Free the base layer! Make open source eternal!
Among all the possible platforms for logic, it's hard for me to imagine that there's not at least one which has properties usable for at least some set of applications by enthusiasts.
It's not that Microsoft and co don't/didn't care about ARM. A more accurate description of the situation is a lack of BELIEF or conviction about PC-class ARM.
The M1 situation can be likened to smart phones before the iPhone. No one believed it was possible to make a device that could be operated entirely with the fingers - they all needed styluses.
Microsoft and the PC industry has literally spent billions of dollars on ARM. Microsoft alone lost $990 million[1] on Surface RT, their ARM version of Microsoft surface. Microsoft's next ARM device Surface Pro X has meh sales. HP, DELL lost money on their Windows RT devices[2]
In other words, ARM on Microsoft land has failed not for lack of effort, or some grand conspiracy - just lack of example.
Now that the entire industry can SEE a laptop class ARM processor that does not suck, someone will come up with an appropriate response within a few years. I doubt it'll be Qualcomm.
1. https://en.wikipedia.org/wiki/Surface_(2012_tablet)
2. https://en.wikipedia.org/wiki/Windows_RT
Microsoft failed to have an emulator for legacy software ready to go on day one.
They also failed to produce ARM versions of their own software in a timely manner.
Heck, Microsoft sold Surface RT as a tablet without producing a version of Office that had a touch based UI.
If you can't be bothered to produce software that supports the features of your own OS, why should anyone else?
They didn't "fail", they were waiting for x64 patents to expire.
Apple introducing M1 macs literally the year the relevant x64 patents expired is not a complete coincidence ;)
Apple took half a decade to do this transition. First including the T1 chip, then slowly growing it, and finally upgrading that to an M1 as they dropped the Intel chip.
And that’s just what we say, internally, it surely took more than that.
MS does a quick and dirty attempt at thing, while they’re also trying out other directions. Nothings gonna work if you don’t have a clear direction.
Exactly as mdasen said: they wouldn't commit to it.
This is, of course, unsurprising, as Microsoft has a long and storied history of refusing to take real risks and only going into significant new territory when Apple has already paved the way. But that doesn't make it less of a fault in Microsoft.
Honestly how hard is it to port software to ARM?
Electron apps just work, .NET just works and Java does too. So does every language that isn't C/C++. And even on the C/C++ side, unless you are doing some funky things I doubt it's more effort than adding a release configuration that targets ARM in the build pipeline.
In my C/C++ experience - it’s a big push that a software company would just rather not make. Even if you already have an ARM SKU for a different OS, all sorts of things can cause trouble. If you’re coding in C/C++, you’re probably pretty interested in performance and you’ll have a lot of hand tuned assembly and/or SIMD operations, and that can be a big pain to port, especially with different compilers and intrinsics.
I can only imagine the conversations that go on at Adobe or Autodesk or others when debating new platforms and SKUs. Given that even Microsoft wasn’t committed enough to ARM Windows to make a x64 emulator for it probably worked against this.
Photoshop falls into this bucket. It's on the C++ side and does "some funky things" in the way of SIMD to eke out more performance. If memory serves, it took them about eighteen months to get an Intel native version out the door after the PPC/Intel transition started.
Any serious audio apps are going to have an equally hard time, they do a lot of hardware tricks in order to lower latency, and since they're not mainstream apps like MS Office or Adobe CS, they have much smaller teams of developers. That whole industry is very slow moving.
Finally you've got CAD and 3D stuff. Obviously that requires good drivers. In fact, that's another way in which Microsoft will have a much harder time with this transition. Apple only has to write a driver for the one audio device that's in every Mac, the one GPU, etc.
I wonder how much of that codebase is shared between Windows and macOS though. It's quite possible that Microsoft could take advantage of a lot of porting work that has already been done for Apple's M processors. If you support Windows/x86 and macOS/arm then it's probably not much more work to create a Windows/arm port. Unless there are compatibility issues with the Win32 APIs themselves?
I remember being at a product design meeting when Windows RT was about to be released and every feature that we wanted to bring over from our flagship x86 software, our tech lead kept repeatedly saying "no we can't do that. The API does not allow it". Finally we said fk it, let's come back to this in a year or two after Microsoft gets their act together. And we never did.
Don't the M1 Macs come with some performant-enough emulation system (that most people didn't consider possible) that allows you to run x86 apps? I feel like this is key to avoiding the chicken-and-egg effect.
Now that Apple has proven it to be possible, others may follow. Ultimately, users don't care about their CPU architecture, they care about being able to run their software.
If you make users choose between a new platform that promises to "soon" be able to run 80% of the software (but currently runs at best 50%) or a slower, more expensive version that runs everything, the new platform has no chance.
If the new platform can run the existing software, albeit "only" as fast as their old platform (because the advances in CPU speed make up for the emulation overhead), this huge obstacle simply disappears.
My understanding is a major contributing factor is that Apple added Intel's memory-ordering to their Arm chips, which allows Rosetta 2 to perform so well. Being Apple, they could drop this in 2-3 years if they wanted to drop Rosetta 2 support.
That's something vertical integration (and not caring so much about long-term compatibility) will get you that would be much more difficult otherwise.
I doubt that is going to happen. Apple is a premium brand, for the premium segment of the market. It is never going to have a majority of the marketshare, it isn't interested in going down that path.
Apple Silicon offers great performance, but a massive chunk of the market cares more about price than performance – that chunk isn't really interested in Apple Silicon, and Apple isn't really that interested in them either.
I've seen the M1 Mac mini available for $625. There will come a point where the M1 is cheap enough for a broad range of consumers, especially compared to the quality of consumer PCs in that price range.
…but a massive chunk of the market cares more about price than performance
True until the price gap is small enough that it common sense says paying $100 more for a Mac is a no-brainer.
There's also the issue of no crapware preinstalled, ads everywhere and software that's free to use for 60 or 90 days, which is typical on low-cost PCs.
Apple is also playing with a 30-35% margin which gives them room to drop prices as needed.
If college campuses are open in the fall of 2021, many of those freshmen will arrive on campus with an Apple Silicon laptop…
https://www.engadget.com/microsoft-arm-chips-report-20583411...
They also have their own Linux distribution.
They have also made some very successful consumer devices like the Kindle.
Who knows, Amazon could have Amazon Linux ARM laptops in testing right now.
Qualcomm, AMD, and Intel need an OS which they can exert substantial control and vertical efficiency and integration, and afford a path from x86 to ARM.
That's really only Linux. Windows has dragged its feet and has practically trailed OSX in design/usability/appearance (despite a VAST difference in available budgets) practically since OSX was released.
So it's Linux, or.... what? the Beos/Haiku? ReactOS? Open Solaris?
They need their own OS at a minimum to push Windows. A huge investment in ReactOS/WINE would also help bridge the gap.
It is indeed a great time to be a Mac user again! I was all set to get a 16GB MacBook Air to replace my 2015 MBA. Then I started seeing videos of games running either natively or under emulation on a 16GB MBA and the performance shown was more than good enough that I think I am now going to hold out for a MacBook Pro or laptop that can at least get to 32GB of RAM and leave my Windows gaming machine behind. 32GB mainly because of my asset subscription addiction in Cities:Skylines. Should have better GPU performance too which never hurts - not that I require top tier GPU for the simulations/strategy games I like. Still like my 1080ti in my Windows box but not expecting that in a laptop - from Apple or anyone else.
> The M1 has four high-performance and four energy-efficient cores, providing a configuration similar to ARM DynamIQ and Intel's hybrid Lakefield and Alder Lake processors.
Apple, like other ARM-based smartphone/tablet-class silicon designers, has selected a System-on-a-Chip (SoC) architecture. Intel and AMD are incrementally modifying their discreet processor architectures to provide competitive hybrid architectures together with some SoC aspects as AnandTech describes in detail [2].
The Wired article also describes Qualcomm as a competitor coming from the ARM big.LITTLE side of the equation while leaving out other competitors like Samsung and (the defunct?) Huawei/HiSilicon. Nvidia, the current leader in discreet GPU silicon and former competitor in the smartphone/tablet-class silicon market, has announced the acquisition of ARM [3], which adds an interesting plot twist to the competitive landscape.
The hybrid core architectures require new schedulers in the OS kernel. Transitioning to new/alternative Instruction Set Architectures, like x64 to ARM64, also requires a translation layer like Apple's Rosetta 2 to help the software transition. Microsoft Windows currently lags being Apple on both of these fronts.
[1] https://en.wikipedia.org/wiki/Apple_M1#Architecture
[2] https://www.anandtech.com/show/15877/intel-hybrid-cpu-lakefi...
[3] https://en.wikipedia.org/wiki/Arm_Ltd.#Changes_of_ownership
It is the right configuration for a CPU with 10 W or 12 W TDP, which is OK only for a fanless ultrabook, like MB Air.
For the laptops intended for more serious work you want a CPU with 15 W to 60 W TDP, in which case the right configuration must have at least 8 big cores.
> In multi-threaded scenarios, power highly depends on the workload. In memory-heavy workloads where the CPU utilisation isn’t as high, we’re seeing 18W active power, going up to around 22W in average workloads, and peaking around 27W in compute heavy workloads. These figures are generally what you’d like to compare to “TDPs” of other platforms, although again to get an apples-to-apples comparison you’d need to further subtract some of the overhead as measured on the Mac mini here – my best guess would be a 20 to 24W range.
Lakefield is a 1+4 hybrid architecture with one big Intel Core (the laptop CPU brand name) core and four little Intel Atom cores. I'm not sure what the ideal x+Y combination is for big.LITTLE hybrid silicon for the laptop-class nor the ideal TDP target. From what I've seen, the M1 seems to be the processor to beat along price-per-peformance, performance-per-watt, and all-day-battery dimensions. Independently, the SoC GPU and Universal Memory seem to be in a class of their own.
[1] https://www.anandtech.com/show/16252/mac-mini-apple-m1-teste...
M1 wins in single core benchmarks, but it loses in multi core.
Also, it beats 9th generation i9 for mobile, not the newer ones (that are still 14nm Vs the 5nm of the M1)
I'm not an Intel fan and I think it lost edge over the years, but M1 doesn't beat the i9 in pure performances, only in controlled benchmarks where the conditions are favourable to M1
Of course the M1 on Apple laptops are faster than every other Apple laptop, but that's only natural.
https://www.anandtech.com/show/16252/mac-mini-apple-m1-teste...
EDIT: for the downvoters
An image is worth thousands words
https://images.anandtech.com/graphs/graph16252/119365.png
I wonder why they don't apply as a religion, scientologists are more open minded...
p.s. did anybody notice that he wrote 9i, a CPU that does not exist?
> Be kind. Don't be snarky. Have curious conversation; don't cross-examine. Please don't fulminate. Please don't sneer, including at the rest of the community.
[1] https://news.ycombinator.com/newsguidelines.html
But if I post a graph and Apple zealots downvote me because the graph contradicts their belief, what's the kind way to expose "zealousness"?
Should I ask for forgiveness in front of God Steve?
Or should I be judged and punished by the San Cupertino Tribunal of the Holy Office of the Inquisition?
What I understand is that being a cult is not against HN guidelines.
Which is ok, but at least don't blame me for seeing it...
p.s. did you notice that OP wrote 9i which is a CPU that does not exist?
Can you correct someone else's mistake on HN when it's from a member of the Sparro...ehm Apple cult?
In single-thread performance Apple M1 at 3.2 GHz is equal with Intel Tiger Lake @ 4.8 GHz or AMD Zen 3 @ 4.8 GHz (e.g. scores around 1750 in GeekBench 5 ST), but while consuming more than 3 times less per core.
While the higher energy efficiency is impressive, it does not matter much in a laptop, where enough power is available. It will matter only in the future, when Apple will include enough cores in its CPUs, to be able to exploit the higher TDP available in a laptop.
On the other hand, if the power consumption of Tiger Lake / Zen 3 is reduced to be equal with that of Apple M1, their clock frequency is reduced from 4.8 GHz to around 3.5 GHz ... 3.6 GHz, remaining higher than that of M1 (which does more work per clock cycle).
Therefore at equal power per core Apple M1 is faster, but only by around 35%. This advantage is not enough to enable 4+4 Apple cores to match 8 Intel/AMD cores.
In conclusion, the laptops that will be launched in early 2021, with 8-core Tiger Lake H or AMD Cezanne, will have the same single-thread performance as Apple M1, but higher multi-thread performance. The slower laptops with AMD Renoir already have better multi-thread performance.
Moreover, while Apple M1 has an average IPC 1.5 times higher than the average IPC of Intel/AMD, which enables high scores in benchmarks like SPEC or GeekBench, in computational benchmarks with optimized programs that have higher IPC than the average IPC, Apple M1 is disadvantaged and it is slower in single-thread than even an old Ryzen 7 3700X, unlike in single-thread SPEC or GeekBench, where you need a new Ryzen 9 5900X to exceed the Apple M1 performance.
The M1 is a hybrid 4+4 big.LITTLE SoC and it is the first of its kind that is competitive with the 8+0 pure big Intel and AMD chips.
The M1 has a .LITTLE side that gives it battery powered efficiencies comparable to tablets. This is a very balanced general purpose hybrid architecture. It will be interesting to see the technical strategies used in response.
I didn't know we were measuring performance in TDP. /s
All benchmarks show Apple's 12W chip crushing Intel 45w chips (that boost up to 60w).
This is true for example in my Dell Precision laptop, where the CPU is configured for 60 W steady-state TDP, because the laptop has good cooling, which can easily cope with that, unlike in thinner laptops.
Your sarcasm is misplaced, because the TDP is the factor that determines the achievable multi-threaded performance of any computer.
Given the domain of application for any computer, e.g. handheld, tablet, thin laptop, thick laptop, desktop and so on, you get certain dimensions, which, together with the available cooling technologies, determine the TDP.
The TDP, together with the characteristics of the CMOS process used for making the CPU, determine the multi-threaded performance of the CPU, if the CPU designers are competent and do not make mistakes leading to lower performance than optimal.
Therefore, while the high single-thread performance of Apple M1 is due mainly to its clever design with high average IPC, its multi-threaded performance is determined mostly by the newer 5-nm CMOS process.
The higher efficiency of the 5-nm process would have allowed a higher performance within a laptop TDP, but Apple has chosen, for now, to reduce their costs by using only 4 big cores, instead of reaching the performance that would have possible for them when using more big cores.
It is likely that next year Apple will introduce models that will be limited by TDP, not by chip size, like this year. Until then, Intel & AMD will be better for multi-threaded tasks and equal in single-threaded (but at much higher power per core).
Now K12 is not the ARM Cores that where used in AMD's Seattle Server Processor as Seattle used Arm Holding's reference design A57 cores and that was released as the Opteron A1100 ARM Server processor. But K12 was not that Seattle core as K12 was an in house custom micro-architecture that was similar to Zen but engineered to execute the ARMv8A ISA. And that project K12 along with Project Sky Bridge(Pin Compatible x86/ARM socketed motherboard design) was mothballed in favor of just Zen/x86.
So AMD very likely still has the Verilog for its K12 custom ARM core and really AMD's already had the A1100 to market albeit with A57 cores and not any K12 custom ARM cores. So AMD's very well capable of packaging and integrating an ARM core into a usable product.
What AMD and Intel are lacking in most is the other non CPU core processing block IP that the M1 has included like the NPU and DSPs and other specialized on SOC IP that are included on the M1. And Apple's in house CPU/SOC teams are really ahead there as is the OS/API and software ecosystems that Apple has developed to make all that happen seamlessly for application developers that are targeting Apple's M1 silicon.
...but no one seems to talk or care about that. All the talk seems to focus on much more arcane things like instruction reorder buffers and not simple fundamentals.
Reducing the movement of data, implementing common operations in hardware (there was mention of an object allocation being an extremely common client software operation that they implemented in hardware), bringing RAM physically closer to processors (reducing the die area and power budget needed for interfaces), higher bandwidth and lower latency paths to backing store--there were a lot of conceptually simple improvements.
And perhaps the switch to a more regular instruction set helped somewhat.
Apple could see a lot of performance being left on the table in pieces of varying size.
I’d be happy to see more ARM laptops and desktops in the market, but no manufacturer is making them simply because they only aim for Microsoft. Such an obvious loss.
Lots of hard work and consensus.
Have fun with that.
Apple can scratch all the itches - even the boring ones - because they are paying the bills.
Open Source's achilles heal. Less than 1% do 99% of the work and if they don't....
There’s tons of boring work required to make a polished product (documentation, compatibility work, UX design and testing, global design consistency, etc.) that you simply have to pay people to get done.
Microsoft is probably the closest with the SQ processor in the Surface line-up but is certainly not as performant as the M1. As for everyone else, this plan to 'catch up' might as well call it a day.
The M1 chip seems to have dismantled the whole competition for another 3 years, however the development ecosystem is still unoptimised and very early. I'm waiting for an M3 or M4 Mac and when the software is fully optimised for Apple Silicon.