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

The funny part is all modern CPUs use register renaming (with a 100s deep register file) so they're effectively SSA machines if you squint.



What's an SSA machine? Is it this, from Wikipedia? https://en.wikipedia.org/wiki/Static_single-assignment_form


Having so many registers but only a few register names helps because you don’t have to save/restore them all in context switches.


The 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.




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

Search: