"Register accesses are not only faster, but they also consume significantly less dynamic power than complex load and store operations."
Dle Intelu registry mají výrazně nižší spotřebu než LD/ST operace. Desítky procent sis vycucal z prstu ty sám, protože nemáš ponětí jak CPU pracuje, ale když vezmu v potaz že kompilátoru dojde počet registrů, tak musí použít Load - Store / push -pop na zásobníku, což znamená vypočítat adresu v paměti, a přes TLB vypočítat adresu fyzické paměti, zatíží to cache subsystém pokud to spadne do L1. Ono to zůstane v nejspíš ve fyzických registrech a OoO engine tyto LD/ST páry eliminuje v Rename v rámci ROB okna, ale pointa je ta, že když máš dost registrů, tak odpadne spousta toho zbytečného LD/ST eliminování v první řadě, protože CPU umí eliminovat v každém taktu jen určitý počet párů instrukcí.
Jako není to sranda za běhu programu na 6 GHz provádět analýzu instrukcí a zjišťovat které jsou zbytečné a které ne. To musí žrát hromadu energie. Dostatek registrů v podstatě tuto eliminaci z CPU přesouvá na kompilátor a samotný CPU pak má mnohem méně práce (stačí mu menší eliminační obvody) a tedy má menší spotřebu při stejném výkonu.