|
|
|
|
|
|
|
|
存子系统导致的hard 页错误代价很高,最好避免。但是许多人认为其他内存访问方法没有什么区别。自从80486以后,这一观点就不对了。现代的CPUs比RAM要快得多,RAM至少需要两级内存缓存 ,高速L1 缓存能保存8KB数据和8KB指令,而较慢的L2 缓存能保存几百KB的数据和代码,这些数据和代码混合在一起。L1 缓存中内存区域的一个引用需要一个时钟周期,L2 缓存的引用需要4到7个时钟周期,而主内存的引用需要许多个处理器时钟周期。后一数字不久将会超过100个时钟周期。在许多方面,缓存像一个小型的,高速的,虚拟内存系统。
至于和缓存有关的基本内存单元不是字节而是缓存列。Pentium 缓存列有32个字节宽。Alpha 缓存列有64个字节宽。这意味着在L1 缓存中只有512个slot给代码和数据。如果多个数据一起使用(时间位置)而并不存储在一起(空间位置),性能会很差。数组的空间位置很好,而相互连接的列表和其他基于指针的数据结构的位置往往很差。
页码:[1] [2] [3] [4] [5] [6] 第2页、共6页 |
|
|
|
|
设为首页 | 加入收藏 | 广告服务 | 友情链接 | 版权申明
Copyriht 2007 - 2008 © 科普之友 All right reserved |