Hacker News new | past | comments | ask | show | jobs | submit login

How would x86-64 be as efficient with the same transistor & power budget when they have to run an extra decoder and ring within that budget? Seems physically impossible.



I found this to be a pretty expansive answer to this question: https://chipsandcheese.com/2021/07/13/arm-or-x86-isa-doesnt-...


Thank you for the detailed article!


All else being equal, they can't. But the difference isn't as big as some people like to think. For a current high end core, probably low single digit %. And x86-64 has had a lot more effort going into software optimization.


As I understand it, the actual processing part of most chips nowadays is fairly bespoke, with a decoder sitting on top. I doubt decode can make up that large a portion of a chips power consumption (probably negligible next to the rest of the chip?), so other improvements can make up for the difference.


How can AArch64 be as efficient when it implements all of the old 32-bit extensions?

Some don't, but a phone does.


The latest ARM Cortex CPUs (models X2, A715 and A510) drop 32-bit support. Qualcomm actually includes two older Cortex-A710 cores in the Snapdragon 8 gen 2 for 32-bit support. Don't know much about Apple Silicon but didn't they drop 32-bit a couple of years back?

Google has purged 32-bit apps from the official Android app store, but as I understand it the Chinese OEMs that ship un-Googled AOSP ROMs with their own app stores haven't been as aggressive about moving to 64-bit.


Apple also entirely drops 32-bit from their arm systems


The decoder has negligible power consumption and die area on a modern CPU.


Not if you have a complex ISA like x86 and want a very wide decode.


yes if you want to keep the transistor count low

M1 has 16 billion of them

AMD is below 10 billion


Because the more complex decoder is traded in this case for a denser instruction set, which means they can trade it for less instruction cache (which is more power hungry).


> when they have to run an extra decoder

it's not that expensive

it's a tradeoff, you lose something there, you gain somewhere else.

x86 has a more complex decoder exactly because it was less powerful and had to save on computing power and energy consumption, not being a mainframe.


My guess is it's related to the higher transistor count. The M1 for example has 16B transistors compared to the 5800U with 10.7B.




Consider applying for YC's Summer 2025 batch! Applications are open till May 13

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: