|
|
|
|
|
by fulafel
3362 days ago
|
|
It's this way because in the 80s/90s computer architects simulated different kinds of CPU/memory system designs running existing C programs and measured that it's best to focus on caching and compromise on main memory random access. Then CPU vendors made such systems and they outsold/performed cacheless systems. And after that memory module standardization kept the direction, because memory cost per byte was more in demand than random access performance. Yes, there are of course workloads that don't like that. But programs adapt to hardware over time too, so co-evolution has weeded out these access patterns from high-performance programs that can be structured differently. You could make a computer that uses DRAM differently, but it would be expensive because you couldn't use mass market memory modules. (Exception: some CPUs use in-package fast DRAM as last level cache). There have been some custom hardware supercomputer designs (Tera MTA line) that were optimized for cache hostile workloads. |
|