3 ms·
What? They're CPUs. They're designed to run instructions. Intel's chips spend more energy on the really fancy stuff like huge reorder buffers and extensive spec
by shub 8y ago
What? They're CPUs. They're designed to run instructions. Intel's chips spend more energy on the really fancy stuff like huge reorder buffers and extensive speculation. They get higher IPC at lower MIPS/watt. An i7 isn't going to run iOS more slowly than whatever Apple calls their latest ARM SoC. It _is_ going to blow its lid without a big ole heatsink brick on there and a fan too, which is why smartphones use ARM cores designed for efficiency.
P.S. if anything, ARM is the "general purpose vehicle" in your analogy. x64 is all about high throughput and high power on a chip you buy and plug in. ARM is the one where you can get an architecture license and customize the shit out of it.
- ldh 8y agoNot all instructions (or instruction sets) are equivalent.
- shub 8y agoThey're not that different, either. It's been a long time since high-performance cores were executing the instructions as fetched and not translating into µops. The stuff Intel does on their chips works on ARM too. People are doing it, and it's working[0]. That makes a hell of a lot more difference on throughput than what ISA is implemented. [0] https://fuse.wikichip.org/news/1316/a-look-at-caviums-new-high-performance-arm-microprocessors-and-the-isambard-supercomputer/ https://fuse.wikichip.org/news/1316/a-look-at-caviums-new-hi...
- ebikelaw 8y agoActually the x86 instruction format is key to Intel's performance dominance. It happens to be rather dense in terms of instruction per byte, and it turns out that instruction cache hit rate (and iTLB hit rate) are extremely important to high performance. Rather than the naive view that x86 is somehow saddled with its ancient and ugly instruction set, it's actually all of the RISC-like architectures that turn out to be hampered by their overly beautiful instructions.
- StillBored 8y agoThe other way to think about it is like the v7 thumb modes in comparison to the original 32-bit predicated instruction set. X86 has a lot of less than ideal instructions, but they are uncommonly used. So the core instruction set is quite dense and high performance. Intel is learning (or knows, depending on your perspective, see goldmont) how to build highly efficient cores too, but like ARM haven't quite figured out how to build a super high performance one that is crazy efficient. ARM's continue to be quite efficient but not particularly performant, while intel's continue to be quite peformant but not particularly efficient. Either way, the trend is pretty clear at this point more power dissipation=more performance.
- ant6n 8y agoMost memory is data. Code density is important, but you can just double the icache. Given that icache is often smaller than dcache, it seems that's not the major bottleneck. Also, if code density is so important, why did arm drop Thumb when they switched to 64bit?
- zaarn 8y agoThere is nothing inherently energy efficient about x86 or ARM instructions sets, the silicon merely optimizes for different performance. [ https://ieeexplore.ieee.org/abstract/document/6522302/ https://ieeexplore.ieee.org/abstract/document/6522302/ ]
- lykr0n 8y ago> They're designed to run instructions ARM can do a small subset of what x86_64 can do. Let's say for a minute ARM doesn't have a built in H.264 decoder (they both do, but that's the one feature popped into my head). The x86_64 chip will be able to do execute the decoding of a H.264 file that faster and more efficiently than the ARM chip because the x86_64 has purpose designed instruction to do this or make the job easier. Another Example. x86_64 can multiply and divide while ARM can't. Both chips can do the same work, but x86_64 can multiply 20*4 in one instruction while the ARM chip has to do 20 + 20 + 20 + 20, with each one being an addition instruction. ARM might be able to add faster than x86_64, but x86_64 will still be able to multiply faster. That's extremely simple, but when you get into more complex operations ARM has to spend more time doing what x86_64 can do. > An i7 isn't going to run iOS more slowly than whatever Apple calls their latest ARM SoC. an i7 will run iOS slowly because iOS is build specifically for ARM. Just like how PS3 emulators take a lot of effort to run on x86_64 chips, there is an emulation overhead. > It _is_ going to blow its lid without a big ole heatsink brick on there and a fan too, which is why smartphones use ARM cores designed for efficiency. Yeah, because it's designed to run at a higher thermal envelope. To get ARM anywhere near the Floating Point performance of an i7 you will need to increase the power and throw some active cooling on it. > P.S. if anything, ARM is the "general purpose vehicle" in your analogy. I don't think so, as seen above and below. > x64 is all about high throughput and high power on a chip you buy and plug in. Yes, because OSs have been designed to use as much as the chip can offer it. But I can get a 5 watt Intel CPU will will run circles around a 5 watt ARM chip. > ARM is the one where you can get an architecture license and customize the shit out of it. Yes, so you design it to fit your specific functions. Apple's CPUs only implement what the the engineers need it to, so they can save die space by not implementing unused instructions. You are proving my example here. ARM is the Customized Purpose built USPS Truck, while x86_64 is a general purpose F150. The USPS build their truck to fit their needs just as ARM Chips are built to meet the needs of the consumers.