At 2022-12-13T12:58:11-0500, Noel Chiappa wrote:
... registers used to have two aspects - one now gone
(and maybe
the second too). The first was that the _technology_ used to implement
them (latches built out of tubes, then transistors) was faster than
main memory - a distinction now mostly gone, especially since caches
blur the speed distinction between today's main memory and registers.
The second was that registers, being smaller in numbers, could be
named with a few bits, allowing them to be named with a small share of
the bits in an instruction. (This one still remains, although
instructions are now so long it's probably less important.)
Maybe less important on x86, but the amount of space in the instruction
for encoding registers seems to me to have played a major role in the
design of the RV32I/E and C (compressed) extension instruction formats
of RISC-V.
https://riscv.org/wp-content/uploads/2017/05/riscv-spec-v2.2.pdf
Regards,
Branden