局部性访问
1. 什么是存储访问的局部性原理,它分别成哪两个方面的局部性
程序局部性原理:虚拟存储管理的效率与程序局部性程序有很大关系。根据统计,进程运行时,在-
段时间内,其程序的执行往往呈现岀高度的局限性,包括时间局部性和空间局部性
1、时间局部性:是指若一条指令被执行,则在不久的将来,它可能再被执行
2、空间局部性:是指一旦一个存储单元被访问,那它附近的单元也将很快被访问
2. 什么是程序的局部性原理
程序局部性原理:虚拟存储管理的效率与程序局部性程序有很大关系。根据统计,进程运行时,在一段时间内,其程序的执行往往呈现出高度的局限性,包括时间局部性和空间局部性。
1、时间局部性:是指若一条指令被执行,则在不久的将来,它可能再被执行。
2、空间局部性:是指一旦一个存储单元被访问,那它附近的单元也将很快被访问。
3. 计算机组成原理中的局部性原理是什么
时间局部性就是,最近被访问的存储单元,在之后很有可能会被再次访问到;
空间局部性就是,对于正在被访问的存储单元附近的位置,在之后很有可能会被访问到。
这个很容易理解,以一段常见的代码为例:
for(i = 0; i <= 100; i++) {
sum += array[i];
}
其中i、sum 这些元素现在正被访问,在之后也一定会被重复访问,这就是时间局部性;
而array这个数组,现在访问了array[0]的位置,那之后紧接着就会访问它附近的位置,比如array[1]、array[2]等等,这就是空间局部性。
根据局部性原理,可以做一些相关设计。比如cache就是利用局部性原理设计出来的。
4. 什么是程序访问的局部性,存储系统中哪一级采用了程序访问的局部性原理
程序访问的局部性是指程序执行的局部规律,即在一段时间内,整个复制程序的执行仅限于程序的一部分。
他们倾向于引用与其他最近引用的项相邻的项,或者与最近自引用的项相邻的项。局部性通常有两种形式:时间局部性和空间局部性
在存储系统中,cache-mainmemory层次结构和main-secondarymemory层次结构采用了程序访问的本地原则。
程序局部性包括程序的时间局部性和空间局部性。
1.程序的时间位置:指的是要被raider程序使用的信息可能是当前正在使用的信息。
2.程序的空间定域性:指程序所使用的信息可能是相邻的,也可能是与空间中所使用的信息相邻的。
(4)局部性访问扩展阅读:
丹宁根据程序的局部化理论,提出了工作集理论。工作集是进程运行时频繁访问的页面集合。
显然,我们知道,通过将程序的工作集完全保存在内存中,可以极大地减少进程中丢失的页面数量。否则,进程将在进程频繁的页面中断中运行,从而出现频繁的页面in/out现象100,导致系统性能下降,甚至出现“抖动”。
工作集的划分可以通过固定的时间长度或固定的页面长度来完成。当发生碰撞现象时,说明系统负荷过大。二是控制缺页率,当缺页率达到极限时,再增加内存分配量;当缺页率达到下限时,内存分配就会减少。
5. 谁可以很详细的解释一下局部性啊,分空间的和时间的
进程运行时,在一段时间里,程序的执行往往呈现高度的局部性,包括时间局部性和空间局部性。时间局部性是一旦一个指令被执行了,则在不久的将来,它可能再被执行。空间局部性是一旦一个指令一个存储单元被访问,那么它附近的单元也将很快被访问。程序的局部性原理是虚拟存储技术引入的前提。虚拟存储的实现原理是,当进程要求运行时,不是将它全部装入内存,而是将其一部分装入内存,另一部分暂时不装入内存。
6. 虚拟存储器管理中的基础是()原理
程序的主存储器原理
存储管理策略的基础是局部性原理,即进程往往会不均匀地高度局部化地访问主存。局部性表现在时间局部性和空间局部性两方面。其中,时间局部性是指最近被访问的存储位置,很可能不久将还会被访问;空问局部性是指存储访问有成组的倾向,当访问某位置后,很可能也要访问其附近的位置。虚拟存储器管理中的基础是程序的主存储器原理。
(6)局部性访问扩展阅读:
存储访问局部性最有意义的结果是:只要进程所需要的页面子集驻留在主存中,进程就可以有效地运行。根据局部性访问特性,Denning阐述了程序性能的工作集理论。工作集是进程活跃地访问的页面集合。工作集理论指出,为使进程有效地运行,它的页面工作集应该驻留在内存中,否则由于进程频繁地从辅存请求页面,会出现抖动的页面调度活动。
7. 局部性原理
局部性通常有两种形式:
时间局部性(temporal locality):在一个具有良好时间局部性的程序中,被引用过一次的内存位置很可能在不远的将来再被多次引用。
空间局部性(spatial locality)在一个具有良好空间局部性的程序中,如果一个内存位置被引用了一次,那么程序很可能在不远的将来引用附近的一个内存位置。
程序员应该理解局部性原理,一般而言,有良好局部性的程序比局部性差的程序运行得更快。
现代计算机系统的各个层次,从硬件到操作系统,再到应用程序,它们的设计都利用了局部性。
在硬件层,局部性原理允许计算机设计者通过引入小而快速的高速缓存存储器来保存最近被引用的指令和数据项,从而提高对主存的访问速度。
在操作系统级,局部性原理允许系统使用主存作为虚拟地址空间最近被引用块的高速缓存。类似的,操作系统用主存来缓存磁盘文件系统中最近被使用的磁盘块。
在应用程序的设计中,局部性原理也扮演者重要角色。如Web浏览器将最近被引用的文档放在本地磁盘上,利用的就是时间局部性。大容量的Web服务器将最近被请求的文档放在前端磁盘高速缓存中,这些缓存能满足对这些文档的请求,而不需要服务器的干预。
8. 空间局部性和时间局部性的策略是什么
进程运行时,在一段时间里,程序的执行往往呈现高度的局部性,包括时间局部性和空间局部性。时间局部性是一旦一个指令被执行了,则在不久的将来,它可能再被执行。空间局部性是一旦一个指令一个存储单元被访问,那么它附近的单元也将很快被访问。
程序的局部性原理是虚拟存储技术引入的前提。虚拟存储的实现原理是,当进程要求运行时,不是将它全部装入内存,而是将其一部分装入内存,另一部分暂时不装入内存。
(8)局部性访问扩展阅读:
时间局部性
如果在某一点时访问了存储器的特定位置,则很可能在不久的将来将再次访问相同的位置。在对相同存储器位置的相邻访问之间存在时间接近性。
在这种情况下,通常努力将访问过的数据的副本存储在可以被更快访问的特殊存储器中。时间局部性是空间局部性的特殊情况,即当预期位置与当前位置相同时。
空间局部性
如果特定存储位置在特定时间被访问,则很可能在不久的将来访问附近的存储位置。在这种情况下,通常尝试猜测当前访问周围的区域的大小和形状,对于该区域,值得准备更快的访问。
局部性的原因
局部性有几个原因。这些原因是某些方面要实现的目标或接受的情况。以下原因不是不相交的;事实上,下面的列表从最一般的情况到特殊情况:
可预测性:事实上,局部性只是计算机系统中一种可预测的行为。
程序结构
局部性通常因为创建计算机程序的方式而发生,用于处理可决定的问题。通常,相关数据存储在存储器中的附近位置。计算中常见的一种模式涉及几个项目的处理,一次一个。这意味着如果进行大量处理,则将访问单个项目多次,从而导致时间局部性。
此外,移动到下一项意味着将读取下一项,导致空间局部性,因为存储器位置通常被批量地读取。
线性数据结构
局部性通常因为代码包含循环,倾向于通过索引访问数组或其他数据结构。当相关数据元素被线性地排列和访问时,发生顺序局部性,即空间局部性的特殊情况。例如,从基地址到最高元素的一维数组中的元素的简单遍历将利用存储器中数组的顺序局部性。
当线性遍历在具有相同结构和大小的相邻数据结构的较长区域上,访问每个结构的相互对应的元素而不是整个结构时,发生更一般的等距局部性。这是当矩阵被表示为行的顺序矩阵并且需要访问矩阵的单个列时的情况。
内存层次结构的效率
虽然随机存取存储器使程序员能够在任何时间在任何地方读取或写入,但在实践中,等待时间和吞吐量会受到高速缓存的效率的影响,这通过增加访问局部性来改进。访问局部性差导致缓存抖动和缓存污染,为了避免它,具有弱局部性的数据元素可以从缓存旁路。
参考资料:网络-访问局部性
9. 1.什么是“程序访问的局部性”存储系统中哪一级采用了程序访问的局部性原理
程序的局部性原理,即程序的地址访问流有很强的时序相关性,未来的访问模式与最近已发生的访问模式相似。根据这一局部性原理,把主存储器中访问概率最高的内容存放在Cache中,当CPU需要读取数据时就首先在Cache中查找是否有所需内容,如果有则直接从Cache中读取;若没有再从主存中读取该数据,然后同时送往CPU和Cache。
10. 什么是程序访问的局部性存储系统中哪一级采用了程序访问的局部性原理
程序访问的局部性是指程序在执行时呈现出局部性规律,即在一段时间内,整个程序的执行仅限于程序中的某一部分。它们倾向于引用的数据项邻近于其他最近引用过的数据项,或者邻近于最近自我引用过的数据项。局部性通常有两种形式:时间局部性和空间局部性
存储系统中Cache-主存层次和主存-辅存层次均采用了程序访问的局部性原理。