this post was submitted on 28 Oct 2023
306 points (98.4% liked)
Technology
58303 readers
6 users here now
This is a most excellent place for technology news and articles.
Our Rules
- Follow the lemmy.world rules.
- Only tech related content.
- Be excellent to each another!
- Mod approved content bots can post up to 10 articles per day.
- Threads asking for personal tech support may be deleted.
- Politics threads may be removed.
- No memes allowed as posts, OK to post as comments.
- Only approved bots from the list below, to ask if your bot can be added please contact us.
- Check for duplicates before posting, duplicates may be removed
Approved Bots
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
There's already CPUs with extra instructions specifically designed for efficient emulation of other instruction sets. This includes ARM CPUs with x86 emulation at near native speed.
Wouldn't adding a bunch of extra features to an ARM CPU make it become less power efficient and more like x86?
I've heard that ARM isn't inherently more power efficient in some special way over x86, x86 has just been around so long and has had so many extra instructions added to it over the years, but that's what allows it to do so much / be so performant. If you took an ARM CPU and did the same you'd have roughly the same performance/watt.
Yes and no, it's not about the instruction set size but about general overhead.
The x86 architecture makes a lot of assumptions that require a bunch of circuitry to be powered on continously unless you spend a ton if effort on power management and making sure anything not currently needed can go into idle - for mobile CPUs there's a lot of talk about "race to idle" as a way to minimize power consumption for this exact reason, you try to run everything in batches and then cut power.
The more you try to make ARM cover the same usecases and emulate x86 the more overhead you add, but you can keep all that extra stuff powered off when not in use. So you wouldn't increase baseline power usage much, but once you turn everything on at once then efficiency ends up being very similar.