每个程序员都应该了解的内存知识
本文翻译自 Ulrich Drepper 于 2007 年撰写的论文〈What Every Programmer Should Know About Memory〉(版本: 1.0),原文共 114 页。
随着 CPU 核心的速度和数量的增长,内存访问成为限制当今大多数程序效率的因素,并且在未来一段时间内仍将如此。 尽管硬件设计者提供越来越复杂的内存处理和加速机制,例如 CPU 缓存,但如果程序开发者无法善加利用,这些硬件机制仍无法发挥有效作用。 不幸的是,大多数程序开发者对于计算机的内存子系统或 CPU 缓存,无论是其内部结构还是访问成本,仍然相当陌生。 本文旨在解释现代计算机硬件中内存子系统的结构,阐述 CPU 缓存的发展考量,及其运作方式。 同时,本文也提供针对内存操作进行调整、达到最佳性能的建议。
翻译信息
[info] 关于繁体中文翻译内容的修正、改进建议,和贡献,请访问 sysprog21/cpumemory-zhtw