16*(192+128)+4*(128+64) = 5888 KiB of L1 cache on the M1 ultra.
That doesn't quite match up with what we know about the two M1 Max chips that make up the Ultra.
Here are the resources per M1 Max, so multiply by two.
>On the core and L2 side of things, there haven’t been any changes and we consequently don’t see much alterations in terms of the results – it’s still a 3.2GHz peak core with 128KB of L1D at 3 cycles load-load latencies, [192k L1 instruction cache], and a 12MB L2 cache.
Where things are quite different is when we enter the system cache, instead of 8MB, on the M1 Max it’s now 48MB large
https://www.anandtech.com/show/17024/apple-m1-max-performanc...
The flip side is that you're limited to 128GB combined memory for the CPU and GPU on the M1 Ultra, whereas a comparable Threadripper Pro system will take up to 16 times as much (2TB) and you can upgrade it whenever you feel like.
It will be interesting to see how much RAM Apple offers on the upcoming M1 Mac Pro parts.
Wiring out 32 channels of DDR5 to 16 slots might not be feasible, but latency-wise Anandtech's measurements suggest the M1 Max actually has a bit higher latency to memory than e.g. Icelake-SP
This is to cache or the main memory?
I remember x86 based PCs taking 100ns for RAM access. Is it faster in ARM?
> They use the same memory for the CPU and GPU, so the memory interface was optimized more like a GPU and the CPU benefits in a few memory-constrained benchmarks (machine learning, AES-XT streaming)
This would mean each core having some dedicated RAM section better connected. Wouldn't this be more like L3 section in x86 but bigger? Maybe this is the advantage of having everything on the same die.
Beyond a certain size gains should also flat out, no?
Not in the general case, but specifically with how Apple has brought the ram chips so physically close to the cpu cores
Writing this would make no sense, knowing how many (more) transistors M1 has. In very simple terms one bit of SRAM is 6 transistors (+some extra for addressing).
Also comparing M1 Ultra to consumer grade chips is quite pointless, x86-64 consumer grade ones have just 2 memory channels.
AMD Zen 3 has 32kb D-cache and 32kb I-cache per core.
Here's the real chart
M1 Ultra AMD 5950X AMD 5995WX
L1-D 1.13mb 512kb 2mb
L1-I 1.78mb 512kb 2mb
L1-total 2.91mb 1mb 4mb
L2-total 56mb 8mb 32mb
L3/SLC-total 96mb 64mb 256mb
Total L2+L3 152mb 72mb 288mb
Total Cache 155mb 73mb 292mb
L1: 512 KB, L2: 8 MB, L3: 64 MB
compared to M1 Ultra's from the Geekbench data
L1: 128 KB instruction, 64 KB data, L2: 4 MB
I have mostly forgotten my microprocessor architecture lectures but it seems interesting that even after being able to cache more data near a core, AMD is not gaining much. Maybe packing too much cache increases latency of access or the gains simply go away beyond a certain size.
Edit: Maybe even it is coming down to the cache layout. Does anyone know if the cache fetch times for the named levels are roughly the same across architectures?
For x86, I remember L1 being a single cycle fetch and L2 being 10-20x slower than L1