5 ms·
This. Some CPU architecture even blur the line between hardware registers and stack slots: register windows! Indeed what matters is whether each instruction add
by ithkuil 4y ago
This. Some CPU architecture even blur the line between hardware registers and stack slots: register windows! Indeed what matters is whether each instruction addresses operands explicitly (registers) or implicitly (top of the stack)
- xenadu02 4y agoThe funny part is all modern CPUs use register renaming (with a 100s deep register file) so they're effectively SSA machines if you squint.
- astrange 4y agoHaving so many registers but only a few register names helps because you don’t have to save/restore them all in context switches.
- ithkuil 4y agoThe main advantage is that you can keep the size of each instruction small. The more "architectural" registers, the more bits you need to encode each operand in all instructions. The larger the code, the more time is spent fetching the code from RAM and more i-cache is required. So how does having a larger "microarchitectural" register file help? Regiater renaming is used to eliminate false data dependencies arising from the reuse of registers by successive instructions that do not have any real data dependencies between them. This allows independent instructions to be executed in parallel even if seems that you'd have to wait until a regiater is freed up.
- cjohnson318 4y agoWhat's an SSA machine? Is it this, from Wikipedia? https://en.wikipedia.org/wiki/Static_single-assignment_form https://en.wikipedia.org/wiki/Static_single-assignment_form