My hope, no... dream, is that we get both ARM and x86 compatible chips on the same motherboard one day. Off course the operating system needs to support dual architectures. Then they could run ARM binaries directly without any major compatibility or performance hit, without the need for recompilation.
A man can only hope. Is this something that could happen? Technically it should be possible, but realistically, probably not.
But then you end up with the downsides of having both and none of the upsides? Wouldn't that incur an enormous effort on the software side to make it all possible, so you could run a less efficient chip in the end (practically two instead of one)
Having compatibility to legacy software is a pretty upside. Either you use an application that runs power efficient, maybe the entire operating system uses the power efficient ARM at default and then for compatibility or for faster calculation (games?) the x86 cores could be used. Intel already does two different kind of cores, performance and efficiency cores. And smartphones have something similar too. I imagine this would be expensive and it is not for everyone. And who knows what other cutbacks and drawbacks it would require.
This is not just every invention. It is compatibility with the most common and important architectures ever. And it's not like that ARM is a successor to x86, these are two different architectures who could or would coexist. Like Windows and Linux and then using compatibility with to make use of the other. Why do we have emulation of older tech? Why do people try to emulate x86 on ARM?
We even have programmable CPUs called FPGA, so other CPU instructions can run. I think it's a very motivating approach to have compatibility, alongside other upsides.
This isn't all that different from having a coprocessor. I don't think it's very useful to have an ARM or x86 coprocessor though because the major benefit to ARM is lower power consumption... Adding in a whole coprocessor is just going to increase power consumption.
Things like Rosetta are probably the better way.
Or maybe we see Java/the JVM make a comeback. This is the exact sort of world Java was built for. It just turned out that right around the time Java was taking off, everyone basically went for Windows and x86 chips... Which became the defacto standard.
Granted, at this point, folks would probably be going for more WASM (in browser or not) than JVM.
But Java and WASM doesn't solve the compatibility issue on ARM. Games and other programs for x86 are still something people want to execute on ARM machines. That's why compatibility layers and emulators are build for. And having a dedicated CPU would help with that. And if you do not use the x86 "extension", then you won't pay for power consumption. And if you aren't interested into x86, then you simply don't buy a dual architecture motherboard.
I'm not looking this from the perspective of laptops or handhelds BTW, but from the perspective of desktop PC. Overall I think its not practical to have them both on a single motherboard. But you know, the industry is full of non practical ideas. So it's not unimaginable this could be reality someday. Maybe just for a small audience.
I'm not looking this from the perspective of laptops or handhelds BTW, but from the perspective of desktop PC.
I guess, I don't see ARM taking off on the desktop anytime soon. Everything is still going to be released with x86 binaries for the foreseeable future.
And having a dedicated CPU would help with that. And if you do not use the x86 "extension", then you won't pay for power consumption. And if you aren't interested into x86, then you simply don't buy a dual architecture motherboard.
You'd still have power draw, just not as much. Maybe for desktop it could be worth it, but I'd say a good emulator/translator would be a better option for most people.
Rosetta from what I understand can do ahead of time translation which should get you pretty close to a usable piece of software for the vast vast vast majority of software. The exception would be things like games of course