概要
随着CPU速度越来越快且核数越来越多,现在,乃至将来一段时间内容,大部分程序的限制因素将是存储访问。硬件设计人员已经想出了更复杂的存储处理和加速技术—比如CPU缓存,但这些工作在没有程序员的帮助下无法最优化地工作。不幸的是,大部分程序员既不能很好的理解计算机中的存储或CPU的缓存结构,也不能很好地理解使用存储子系统的代价。本文解释当前正在使用的商用硬件中存储子系统的结构,说明为什么开发出CPU缓存,它们如何工作以及程序员为了使用它们达到最优性能需要做什么。
随着CPU速度越来越快且核数越来越多,现在,乃至将来一段时间内容,大部分程序的限制因素将是存储访问。硬件设计人员已经想出了更复杂的存储处理和加速技术—比如CPU缓存,但这些工作在没有程序员的帮助下无法最优化地工作。不幸的是,大部分程序员既不能很好的理解计算机中的存储或CPU的缓存结构,也不能很好地理解使用存储子系统的代价。本文解释当前正在使用的商用硬件中存储子系统的结构,说明为什么开发出CPU缓存,它们如何工作以及程序员为了使用它们达到最优性能需要做什么。