Re: 64-bit addressing really necessary?
Posted: Sat Oct 24, 2020 2:03 am
Well, most of the working set in a 3D game goes into textures. Hi-res textures. They really do need them in RAM, though, so the transfer into (the far more scarce) VRAM is as fast as possible.eekee wrote:That makes sense. Seeing how binary size bloated up over a decade ago made me wonder how far the bloat had gone, and initial discussion in this thread seemed to be about code size.
True, we could use bank switching like in the "good old days", to continue with 32-bit addressing way beyond its use-by date. Nonetheless, 32-bit addressing with more than circa 768MB of RAM is already a bit of a problem on the OS side (because now the OS needs to switch out its mappings of RAM because its virtual space is a lot smaller than available RAM, if you include the necessity to access IO space). A problem entirely solved by 64-bit addressing for the next decade or two (by making virtual space more than four times as large as physical space, thus making it possible to not only map all RAM to kernel space, but also map a logical view of the kernel image and its own addresses on their side). And when that space inevitably runs out? At the moment I think I shall survive being only capable of handling up to 64 TB of RAM. And by the time that kind of memory actually does roll around, we will probably have 5-level paging, allowing my scheme to extend naturally another 9 address bits to 32 EB of RAM. And by the time that memory is no longer enough for serious work, I expect to no longer be doing any kind of recreational OS work.StudlyCaps wrote:Obviously you don't need 64-bit addresses, but you very much need a >4GB working set these days. I think 64bit addressing is simply the most efficient way to do that with todays technology.