4 ms·
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 In
by bogomipz 8y ago
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?
- ClassyJacket 8y agoI'm not an expert on this topic, but are there additional registers for the extended instructions like MMX and AVX?
- Nyan 8y agoYou'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).
- pkaye 8y agoThose 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#Architectural_versus_physical_registers https://en.wikipedia.org/wiki/Register_renaming#Architectura...
- bogomipz 8y agoThanks, right I was confusing ISA level registers with those at the implementation/micro arch level. Cheers.