No. In your second example, if your access only generates 50 GB/s from the 2 GB chips you still have 510 GB/s to play with (assuming no CPU contention issues which would happen with a symmetrical memory configuration as well).
392 GB/s + 50 GB/s =/= 560 GB/s.
The only way that happens is if AMD is incredibly incompetent WRT their SOC design. And this would affect the PS5 SOC in exactly the same way.
No... You do not need to use all the bandwidth available, In a one pool system, even though you mays have 100 GB/s, you can only use 50 GB/s.
If you are constantly acessing the 6 GB RAM, using all the 3.5 GB of RAM, but only using 50 GB/s from a possible 160, you are indeed loosing 110 GB/s.
What your claim boils down to is...
- There are 10 memory chips.
- You access 6 of those memory chips (the "slow" pool) and somehow restrict it to only 50 GB/s
- You somehow use 392 GB/s on the remaining 4 chips which theoretically should only have 224 GB/s of bandwidth.
- Alternatively your math doesn't add up.
I don´t use 392 GB/s on 4 chips... There is no such thing as a 4 GB pool, so for me to acess those 4 chips, I´m acessing a 10 GB pool, and that means I use 392 GB/s on 10 chips (besides each chip can only supply 56 GB, so 4 of them would never give me 392 GB/s). I´m talking simultaneous acess to both pools, meaning a 224 bits channel to the 10 GB and a 95 bits channel to the 6 GB. 392 GB/s and 168 GB/s.
Both add up to 560. Question is if you only use 50 GB/s on the 6 GB pool, you are loosing 118 GB/S of Bandwidth!
On PS5 you'd have the exact same situation using your example.
- There are 8 memory chips.
- You access say 4 of those memory chips and somehow restrict it to only 50 GB/s
- You only have 224 GB/s of bandwidth remaining to use.
None of what you are saying is making sense in either situation.
There is no such thing as a bandwidth restriction to 50 GB/s when more memory is available on the chips. Besides data is stored equally amongst all chips. On a standard memory pool, if one CPU uses X bandwith, the remaining is total-X.
This is just not true if you use all memory, and not all bandwidth! That would create a case of wated bandwidth!
In this Xbox case here, since you used all the 3.5 GB memory, but did not use all bandwidth, you are in the above case. with 50 GB/s you wold have wasted 110 GB/s bandwidth.
What would happen in reality ignoring potential CPU-GPU contention for memory
- There are 10 memory chips.
- You access some portion of 6 memory chips at 50 GB/s.
- The SOC can still use the remaining 286 GB/s on those 6 chips for other requests.
- The remaining 4 chips can still provide up to 224 GB/s for other requests.
Bandwith depends only on channel. A 16 bit channel will carry 28 GB/s on a 14 Gbps GDDR6, module.
If this channel is acessing one pool, at the same given time that bandwith is not acessible on the other pool.
Best you can do is average acesses. If in global you do not spend as much cycles on the Slow RAM pool, you are giving more bandwidth to the fast pool. But CPU requires as many memory acess cycles as the GPU. This means a 392 GB/s on the fast RAM and 169 GB/s on the slow RAM to acess both memories at once.
There is no slow and fast pool of memory. Those are just constructs to try to allow people to understand in a very general way how things are happening.
- There are 10 chips of memory with 560 GB/s total bandwidth.
- Any combination of reads from memory can generate 560 GB/s of total bandwidth.
- It doesn't matter if reads are from the lower or upper memory addresses on the 2 GB chips. The total bandwidth regardless of what portion you access will come out to 560 GB/s.
Regards,
SB
I know that
Question is, you will only have 560 GB/s if you only use one pool (the 10 GB one).
If you acess both, to get the same 560 GB/s you have to read from both. But this will divide bandwidth. Although a non equal usage of both pools can average this to higher values, at any given moment you will either have 392 GB/s, 168 GB/s or 244 GB/s and 366 GB/s. And with regular simultaneous acess, 392, 168 is what you get...
A total of 560 GB/s, assuming the usage you give to the 3.5 GB/s will pull 168 GB/s. But a CPU can use all that memory, leaving the GPU with only the 392 GB/s pool.
And if the CPU uses all memory but doesn´t produce more than 50 GB/s traffic, GPU is limited to 392 GB/s just because of the way the memory is set up.
PS: From now on, I will just read your replies. I think I made my point, and that further explanations would just be repeating myself. So, feel free to correct me. I will be reading, and taking notes from what you say,