程序局部性原理的例子 什么是程序访问的局部性,存储系统中哪一级采用了程序访问的局部性原理?
什么是程序访问的局部性,存储系统中哪一级采用了程序访问的局部性原理?
程序运行的局部性原则是指:在短时间内,最近被访问的程序和数据有可能再次被访问;在空间上,这些被访问的程序和数据往往集中在一小块存储区域;在访问顺序上,指令序列执行的概率大于转移执行(约5:1)。在存储系统中,缓存主存层和主存辅助存储层采用程序访问局部性原则。
什么是程序局部性原理?
程序局部性原则:指程序执行的局部规律,即在一段时间内,整个程序的执行仅限于程序的某一部分。
因此,执行访问的内存空间也被限制在特定的内存区域。局部性原则表现为时间局部性和空间局部性。时间局部性是指如果程序中的一条指令被执行,它可能很快再次被执行;如果一个数据被访问,它可能很快再次被访问。空间局部性意味着程序一旦访问存储单元,不久就会访问。附近的存储单元也将被访问。
Cache的工作原理是什么?
CPU工作速度很高,但内存访问速度相对较低,导致CPU等待,降低了处理速度,浪费了CPU的能力。Cache用于缓存CPU和内存。cache的工作原理是基于程序访问的局部性。对大量典型程序的分析结果表明,在较短的时间间隔内,程序生成的地址往往集中在内存逻辑地址空间的一小部分。指令地址的分布是连续的,循环程序段和子程序段需要重复执行。因此,对这些地址的访问自然倾向于在时间上集中。数据分布的集中化趋势不如指令的集中化趋势明显,但阵列的存储和存取以及工作单元的选择可以使存储地址相对集中。这种频繁访问本地范围内的内存地址而很少访问本地范围外的地址的现象称为程序访问的局部性。根据程序局部性原理,可以在主存储器和CPU的通用寄存器之间设置一个容量相对较小的高速存储器,将主存储器中执行的指令地址附近的一些指令或数据传送到存储器中,供CPU使用一段时间。这对提高程序的运行速度有很大的作用。这种在主存和CPU之间的高速小容量内存称为高速缓存。基于这一原理,系统不断地将与当前指令集相关联的一个小指令集从内存中读取到高速缓存中,然后高速传输到CPU,从而实现速度匹配。当CPU从内存中请求数据时,它通常首先访问缓存。由于局部性原则不能保证请求的数据在缓存中是100%,因此存在命中率。也就是说,CPU能够在任何时候从高速缓存可靠地获取数据的概率。命中率越高,正确获取数据就越可靠。一般来说,cache的存储容量要比主存小得多,但不能太小。太小会导致太低的命中率,没有必要太大。过大不仅会增加成本,而且当容量超过一定值时,命中率也不会随着容量的增加而显著增加。只要缓存空间和主存空间在一定范围内保持适当比例的映射关系,缓存命中率还是相当高的。一般来说,缓存与内存的空间比是4:1000,即128kbcache可以映射32MB内存;256kbcache可以映射64MB内存。在这种情况下,命中率超过90%。至于丢失的数据,CPU必须直接从内存中获取。同时,它也被复制到缓存中,以便下次访问。
程序局部性原理的例子 计算机局部性原理 程序的局部性原理包括
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。