On 8/17/2013 1:19 PM, Mouse wrote:
Can we finally wean the world off x86 [...]
Care to elaborate how the x86 ISA is "holding us down?" What can you
do with ARM or PPC instructions that you can't with x86?
I didn't write
that about weaning the world off x86. But, as someone
who might have written it, I can perhaps answer as if I had.
It's not a question of what can or can't be done. It's a question of
how easy it is and how resources are invested.
The x86 emulation layer (modern x86 CPUs are all RISC cores running an
x86 emulation layer) is draining off resources that could otherwise be
put into improving the hardware. It's impairing performance (as good
as it is, it's still an emulation layer and thus can't perform any
better than the underlying CPU could when used directly).
Somewhat agreed, although I somehow doubt Intel is spending most of its
time on the emulation layer. ARM's performance/watt is still very
compelling.
It is
contributing to, albeit not compelling, the walking-wounded support for
legacy x86, such as they way some PCI cards simply don't work if the
host can't/won't run x86 code (machines like Alphas and PPCs not
infrequently contain x86 emulators in their ROM code to cater to cards
whose designers were firmly locked into a "the whole world is an x86
with a peecee BIOS" mindset).
How is this any different than the historical "all the world's a VAX"
(or more modern "all the world's a 32-bit Linux machine") attitude that
often plauges/plagued *nix software compatibility across architectures?
I don't hear anyone suggesting that VAXen or Linux machines are to blame
here, or that eliminating them would somehow eliminate this problem...
I guess my argument here is "if it wasn't x86 causing this problem, it'd
be something else."
It's also ugly, full of warts mostly driven off compatability with
properties of the past (I almost wrote "mistakes of the past", but I'm
not convinced they _were_ mistakes when they were made; the mistake in
those cases lies in keeping it around past its time).
Agreed, but I'd argue that 99.9999% of the time no one will ever have to
see the ugliness or deal with it directly, so its ability to "hold us
down" is very limited. Unless you're a compiler developer or you have
to write directly in assembly for these CPUs (in which case you have my
sympathies), it's not something that you ever have to care about.
And don't discount compatibility as a major advantage. Sure, you and I
can recompile our code to whatever platform we want to run it on, but
there are people who can't (for various reasons, valid and invalid).
- Josh
/~\ The ASCII Mouse
\ / Ribbon Campaign
X Against HTML mouse at
rodents-montreal.org
/ \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B