Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

The author states:

>"A Skylake CPU has 348 physical registers per core, split over two different register files."

Just looking at some literature on recent Intel I can only see a fraction of this 348 number. I see the following:

16 general purpose registers 6 segment registers 1 flags register 8 x87 registers 16 SSE registers

Could someone explain where this 348 registers figure in the post comes from exactly?



You're confusing instruction-set architecture with micro-architecture.

The x86-64 ISA defines 16 integer ("logical") registers, for example, however, Skylake has (don't quote me on the figure) 168 physical integer registers. For register renaming to work, you need more physical registers than logical registers because the logical registers need to be mapped to some physical registers, possibly multiple times (e.g. for speculation).


Those are the architectural registers. Physical registers also include those extra ones needed to implement register renaming to eliminate data dependencies. https://en.wikipedia.org/wiki/Register_renaming#Architectura...


Thanks, right I was confusing ISA level registers with those at the implementation/micro arch level. Cheers.


I'm not an expert on this topic, but are there additional registers for the extended instructions like MMX and AVX?




Consider applying for YC's Winter 2027 batch! Applications are open till November 2.

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

Search: