How Apple’s rivals plan to catch up with the M1 chip
wired.co.uk
wired.co.uk
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 for people to compare ARM laptops with. However, the biggest bit might be that they were already making their own chips. Apple was already making chips with double the single-core performance for mobile devices. When Apple launched the M1 Macs, they offered a huge improvement over Intel while lowering power consumption and heat production (and fan noise) by incredible levels. By contrast, when Microsoft puts a Snapdragon into one of their machines, they're usually looking at a slightly slower processor and it gets worse from there without a great Rosetta 2, without app developers on board with porting their apps, etc. Apple's M1 Macs have so many advantages: they're clearly a lot faster, they're clearly a lot cooler temperature-wise, they can run iOS apps (even if that's flawed in some ways), Rosetta 2 offers ahead-of-time translation for a lot of things offering closer-to-native performance even for non-ported things, and app developers are all rushing to get on board.
For a customer, an M1 Mac is so exciting - they're amazing devices with huge advantages and a guaranteed commitment from the ecosystem. By contrast, Windows on ARM basically only comes with disadvantages, no compelling reason to try one, and no buy-in from the greater ecosystem.
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.
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.
(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.
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.
> 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
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).
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.
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.
https://erik-engheim.medium.com/the-genius-of-risc-v-microprocessors-b19d735abaa6
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.
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’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.
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...
No 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.
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.