The idea is to own up to this reality, and stop designing instruction sets as if they were meant run directly.  x86 in particular has a legacy of simple CPUs that didn&#x27;t have much of a decoding unit.  But now it has gone too far in the other direction: it takes a significant amount of chip surface and energy to decode, making it unsuitable for low power situations.  ARM on the other hand is probably lacking in the SIMD department (I haven&#x27;t checked).<p>We need to go back and overhaul the CPU instruction set like Vulkan, Dx12 and Mantle overhauled the GPU APIs.  We need to reflect on what CPUs can do, what they can do fast, and what they can do with low power.  Then we need an instruction set that would act as an API to these subsystems.  Something orthogonal, that doesn&#x27;t take too much energy to decode, and could be decoded in parallel if need be (for crazy desktop speed ups).<p>While we&#x27;re at it, it might be nice to have explicit support for things like pointer tags, to speed up dynamic stuff like garbage collection and runtime type information.<p>You&#x27;re right, I don&#x27;t really get how CPUs work.  But I did pick up a few things that lead me to trust instruction set design is not over.  We can do better.