Wikipedia:Reference desk/Archives/Computing/2023 March 9

Computing desk
< March 8 << Feb | March | Apr >> Current desk >
Welcome to the Wikipedia Computing Reference Desk Archives
The page you are currently viewing is a transcluded archive page. While you can leave answers for any questions shown below, please ask new questions on one of the current reference desk pages.


March 9

edit

How many physical registers are on an Intel 13900KS?

edit

How big is this level compared to the next one (the L1 caches)? Sagittarian Milky Way (talk) 16:58, 9 March 2023 (UTC)[reply]

It took a while to find out, but I suspect the answer you seek will be in "Volume 4: Model-Specific Registers" (MSR), starting on p. 4501 of Intel® 64 and IA-32 Architectures Software Developer Manuals, probably section 2.17.5, pp. 4838–4845. Read the introductory sections as well. You'll need to do some counting as the registers are listed by name. Note that some registers only feature on the P-Core (Performance) cores (8 cores on the 13900KS) and not on the E-core (Efficiency) (16 cores on the 13900KS), as per Table 2-47. I get the impression that that there are 32 x 512-bit SSD registers per each core (see also SIMD) with support for AVX-512, but this may not feature on all models.
L1 Cache: 80K (per core), L2 Cache: 2MB (per core), L3 Cache: 36MB (shared): E-Core L1: 96K (per core) E-Core L2: 4MB (per module).[1]
Intel's own basic spec sheet for the 13900KS is here:[2] Best of luck, MinorProphet (talk) 13:29, 13 March 2023 (UTC)[reply]
Thanks. Since ~2012 I've wanted to learn as much about Intel 8008 as I can stand (probably not bothering to learn most assembly mnemonics) then read the latest Intel CPU/assembly manual ~8hrs a day in c. decreasing order of interestingness till I can't stand anymore but I never got around to it. If I wait till the flagship GHz is ~10 instead of 6 then I could quickly convert clock cycle counts to nanoseconds in my head. Sagittarian Milky Way (talk) 15:56, 13 March 2023 (UTC)[reply]
See also p. 70 of the Intel Developer Manual, Figure 3-2, "64-Bit Mode Execution Environment" which lists the standard registers of all 64-bit processor cores - the Model-Specific Registers in Vol. 4 would seem to be in addition to these. The Intel instruction sets start on p. 113... I once wrote a program in x86 assembler which allowed a text file on a CP/M machine (Zilog Z80) to be PIP'd via the serial port (8250 UART) and written to a floppy on my Amstrad 8086. Happy days, although the world has moved on a bit. MinorProphet (talk) 23:01, 13 March 2023 (UTC)[reply]
Note that the as mentioned in the AVX-512 article, current E cores definitely do not have AVX-512. I suspect, but don't know, this may affect the number of registers available. Also this means AVX-512 is disabled even on the P cores if the E cores are enabled. If the E cores are disabled, it is possible on certain systems and with older CPUs to enable AVX-512 but this isn't possible with newer CPUs where AVX-512 has been physically disabled. My understanding of CPU architectures at that level is too limited to know if disabling AVX-512 affects what registers are available on the P cores. Nil Einne (talk) 12:17, 14 March 2023 (UTC)[reply]
Also there is a difference between physical and logical registers. Since modern cores have superscalar architectures and employ the out of order execution the actual number of physical registers may be many more than the number of standard logical registers. Ruslik_Zero 08:58, 15 March 2023 (UTC)[reply]
That's why I said physical, I was wondering what's the relative size of "all the registers on all cores put together" vs the next memory hierarchy level (all the level 1 caches put together). Sagittarian Milky Way (talk) 17:57, 15 March 2023 (UTC)[reply]
At least the Development Manual does not have answer to this question. Ruslik_Zero 10:58, 16 March 2023 (UTC)[reply]