3 ms·
Modern memory is layered. You have registers, you have three layers of CPU cache, etc, etc. At higher levels of abstraction we pretend like it's all flat but w
by ChrisSD 8y ago
Modern memory is layered. You have registers, you have three layers of CPU cache, etc, etc.
At higher levels of abstraction we pretend like it's all flat but we do need to allow for optimizations to occur.
- wruza 8y agoSo what that does with linear addressing and optimization? How the presence of registers and caches depend on [non-]linearity?
- twtw 8y agoThanks for responding. I would however argue that the existence of hierarchy in physical memory is orthogonal to the existence of a linear address space. Caches work really hard to maintain the ability of programs to use a single linear address space.
- fulafel 8y agoWays in which memory is not linear: many asymmeyric multiprocessing setups (eg gpu/cpu), distributed processing (eg openmp), multiprocess systems w several virtual spaces, harvard architecture systems, segmented architectures, disk vs ram. Many of these may be considered performance motivated departures from linear address space, especially if performance includes reliability in addition to execution speed. (Otoh virtual memory can be used to create the appearance of single address space for any of the above, and sometimes has been - eg as/400)