Saw a blog post titled "How many registers does an x86-64 CPU have?" and my immediate thought was "it's impossible to know and a sin to ask".
If you think the answer is 16, by the way, no it is not.
Saw a blog post titled "How many registers does an x86-64 CPU have?" and my immediate thought was "it's impossible to know and a sin to ask".
If you think the answer is 16, by the way, no it is not.
@ryanc Oh, that's easy!
x86-64
x86 = 64
x = 64⁄86
x = 32⁄43
So it has at least 1.344 registers!
@gsuberland yup
@ryanc based on the reverse engineered microcode from Intel platforms we have RED unlock on I'd guess there are probably a hundred named internal microarchitectural registers at least (if we count unnamed we'll be here all week)
@ryanc yeah uhhh off the top of my head
rax, rbx, rcx, rdx, r8-r15, rdi, rsi, rsp, rbp, rip and all the components thereof, and rflags
zmm0-zmm??? (can't remember how many we have now) plus the ymm/xmm components.
6 ye olde segment registers.
gdtr, ldtr, idtr, and another I forgot the name of.
maybe 5 control registers? they're numbered to 15 but most are reserved
8 debug registers
x87 FPU and MMX weirdness
hundreds of MSRs, hundreds more if you count CPUID leaves
plus internal regs
@catsalad your logic is flawless
@ryanc It depends a lot on what you mean by registers and which execution domain you're talking about.
@dalias yes
African or European Registers? 🤔🤷♂️
@ryanc Architectural registers, or are you counting rename registers as well?
If it’s the former, the answer is: too many.
If it’s the latter, the answer is: not enough.
@david_chisnall we're counting whatever causes the .ost sanity damage
@david_chisnall we're counting whatever causes the most sanity damage
@ryanc Yes, you already said x86-64 in the initial post.
@mcc I can't imagine it is, for sufficiently literal and pedantic meanings of "general".
@ryanc Now, the mindmelting version of this question is: You are a virtual machine or something similar and you need to preserve the state of the currently executing thread for future resumption. Is this, in general, possible?
Bits in quick access,
Moving through the pipeline fast,
Logic starts right here.
🙂🖖
@vanderZwan @gsuberland it is a sin to ask
@gsuberland @ryanc so the correct answer is "yes"?
@ryanc and that's if you only count the internal registers for the main x86-64 cores and the surrounding cache/memory architecture.
if we include internal registers for UPI, PCIe, integrated graphics, TPM, IOMMU, VT-d/VT-x, and features like AMT and VROC, there's thousands of them.
GNU social JP is a social network, courtesy of GNU social JP管理人. It runs on GNU social, version 2.0.2-dev, available under the GNU Affero General Public License.
All GNU social JP content and data are available under the Creative Commons Attribution 3.0 license.