现在的内存技术具有不同的访问速度和访问延迟,访闯速度越快,价格也越高,支持的容量也会越少。同时考虑到空间和时间的局部性,要访问的数据和指令一般是连续的,因此可以把那些最近可能要访问的数据一次加载到访问速度更快的缓存中,这样原来要直接访问比较慢的主存现在只需要访问速度较快的缓存,从而可以大大提高内存的访问性能。现在的处理器一般支持两级缓存,少数处理器支持三级缓存。图6.7给出了内存访问的层次结构,程序使用的内存数量受限于处理器的最大地址空间。比如,对于P4处理器而言,最大地址空间为4GB,不过一般机器的内存可能没有4GB,这个时候就通过虚拟内存和物理存储来实现。当要访问的内存空间不在主存时,把在主存中的某些页存储到物理存储中。然后从物理存储中把对应的页面加载进来,虚拟内存就是通过页面的存储和加载来实现的。寄存器有的时候又称为LO缓存,因为它的访问速度最快,从寄存器、u缓存、L2缓存、主存直到虚拟内存,访问速度变得越来越慢,支持的容量也变得越来越大,但是价格也会越来越便宜。
展开