精华内容
下载资源
问答
  • 时间局部性空间局部性

    千次阅读 2019-05-29 15:56:22
    时间局部性(temporal locality) :被引用过一次的存储器位置在未来会被多次引用(通常在循环中)。 空间局部性(spatial locality):如果一个存储器的位置被引用,那么将来他附近的位置也会被引用。 ...

    在CPU访问寄存器时,无论是存取数据抑或存取指令,都趋于聚集在一片连续的区域中,这就被称为局部性原理。 
    时间局部性(temporal locality) :被引用过一次的存储器位置在未来会被多次引用(通常在循环中)。 
    空间局部性(spatial locality):如果一个存储器的位置被引用,那么将来他附近的位置也会被引用。

    展开全文
  • 文章目录1、局部性分类1)时间局部性2)空间局部性3)局部性原理举例2、对程序数据引用的局部性3、评价局部性提出问题:为什么有良好局部性的程序通常比局部性差的程序运行得更快?参考 1、局部性分类 局部性原理对...

    《CSAPP》 6.2 局部性

    1、局部性分类

    局部性原理对硬件和软件系统的设计性能都有极大的影响。
    局部性通常分为:时间局部性空间局部性

    1)时间局部性

    时间局部性是指被引用过一次的内存位置很可能在不远的将来再被多次引用

    2)空间局部性

    空间局部性是指如果一个内存位置被引用了一次,那么程序很可能在不远的将来引用其附近的一个内存位置

    3)局部性原理举例

    • 硬件层,局部性原理允许计算机设计者通过引入小而快的高速缓存存储器来保存最近被引用的指令和数据项,从而提高对主存的访问速度
    • 操作系统级,局部性原理允许系统使用主存作为虚拟地址空间最近被引用块的高速缓存。
    • 类似的,操作系统用主存来缓存磁盘文件系统中最近被使用的磁盘块
    • 应用程序的设计,如Web浏览器将最近被请求的文档放在本地磁盘上,利用的就是时间局部性。大容量的Web服务器将最近被请求的文档放在前端磁盘高速缓存中,不需要服务器的干预就可满足对这些文档的请求。

    2、对程序数据引用的局部性

    比如,一个多维数组,我们按照行优先遍历的方法即一行完了再下一行的方式就是具有良好的空间局部性,因为计算机存储这些数据时也是按照行优先的方式进行的,所以行优先遍历就是依次访问相邻位置的数据。如果用列优先遍历,空间局部性就很,因为它不是访问相邻单元的数据。

    3、评价局部性

    • 重复引用相同的变量的程序具有良好的时间局部性。
      如下数组求和的程序,for循环每次都要使用sum,这就是一个具有良好的时间局部性的程序,并且对于数组v的数据,是依次顺序访问,和其在计算机中存储的顺序相同,所以空间局部性也好。
    int sumvec(int v[N])
    {
    	int i, sum = 0;
    	for(i = 0; i < N; i++)
    		sum += v[i];
    	return sum;
    }
    
    • 对于步长为k的引用模式的程序,步长越小,空间局部性越好
      就是多维数组的例子,在内存中大步跳来跳去的程序空间局部性会很差。

    提出问题:为什么有良好局部性的程序通常比局部性差的程序运行得更快?

    下一篇进行解答。

    参考

    《深入理解计算机系统》第6章.存储器层次结构

    展开全文
  • 程序时间局部性空间局部性

    千次阅读 2020-06-07 09:34:48
    时间局部性:当前访问的数据,在最近的将来可能还会访问 空间局部性:当前访问数据,在最近的将来可能海湖访问其...所以写程序时要注意提高程序时间局部性空间局部性 写得好的话,代码的运行效率会有几倍的差别 ...

    时间局部性:当前访问的数据,在最近的将来可能还会访问

    空间局部性:当前访问数据,在最近的将来可能还会访问其附近的数据

    因为现在计算机的Cache机制

    所以写程序时要注意提高程序时间局部性和空间局部性

    写得好的话,代码的运行效率会有几倍的差别

    展开全文
  • 局部性原理又分为时间局部性(temporal locality) 和空间局部性 (spatial locality) 。 1. 时间局部性: 如果程序中的某条指令一旦执行,不久以后该指令可能再次执行; 如果某数据被访问过,不久以后该数据可能...
    • 在CPU访问寄存器时,无论是存取数据还是存取指令,都趋于聚集在一片连续的区域中,这就被称为局部性原理

    • 局部性原理又分为时间局部性(temporal locality) 和空间局部性 (spatial locality) 。

    1. 时间局部性:

    • 如果程序中的某条指令一旦执行,不久以后该指令可能再次执行;
    • 如果某数据被访问过,不久以后该数据可能再次被访问。
    • 产生时间局部性的典型原因: 是由于在程序中存在着大量的循环操作。
    • 被引用过一次的存储器位置在未来会被多次引用(通常在循环中)。

    2. 空间局部性:

    • 一旦程序访问了某个存储单元,在不久之后,其附近的存储单元也将被访问,即程序在一段时间内所访问的地址,可能集中在一定的范围之内,这是因为指令通常是顺序存放、顺序执行的,数据也一般是以向量、数组、表等形式簇聚存储的。
    • 如果一个存储器的位置被引用,那么将来他附近的位置也会被引用。
    展开全文
  • 输入法的时间局部性空间局部性

    千次阅读 2008-02-23 18:52:00
    《输入法的时间局部性空间局部性》by 余璜闪念。现在的输入法显得过于智能,也就是我们常说的聪明过了头。比如:某个词组偶尔输入过一次,以后它就永远记住了,导致后来某个时候输入同音或同声母的词组时它立刻...
  • 时间空间局部性原理

    万次阅读 2017-02-21 23:47:55
    今天在工作中听到同事说到了时间,,空间局部性原理,这是一个从来没有听到过的名词,所以自己上网查找学习了一下,在此做个总结。一、定义 在CPU访问寄存器时,无论是存取数据抑或存取指令,都趋于聚集在一片连续...
  • 进程运行时,在一段时间里,程序的执行往往呈现高度的局部性,包括时间局部性空间局部性时间局部性是一旦一个指令被执行了,则在不久的将来,它可能再被执行。空间局部性是一旦一个指令一个存储单元被访问,那么...
  • 断断续续刷完了卡耐基梅隆大学的计算机操作系统的课,感觉获益匪浅,作为非CS科班出身的程序员,工作之余深感自己关于CS知识储备...强烈推荐有空闲时间能够翻墙的朋友去上上这门课,效果真的比自己看书好太多倍了。...
  • 局部性原理

    千次阅读 2018-05-26 17:50:22
    1、什么是局部性原理? 一个编写良好的计算机程序,它们倾向于引用邻近于其他最近引用过的...时间局部性空间局部性。在一个具有良好时间局部性的程序中,被引用过一次的存储器在不远的将来会被再次引用。在一个具...
  • 空间时间局部性原理的具体应用

    千次阅读 2015-02-28 11:40:56
    摘要:该文就数值运算中常见的矩阵乘法运算的实现算法展开讨论,从时间空间不同角度分析矩阵乘法运算中影响性能的主要因素,改良了原有算法,提出了基于存储优先的数据访问方式,并结合当今比较热门的并行运算机制,提高...
  • 代码的局部性

    千次阅读 2015-08-12 13:55:15
    系统会把程序最近用到的数据存储在高速缓存中以便程序下一次使用时直接从高速缓存中读取,这就是代码的时间局部性。系统也会把最近用到的数据的临近地址存储在高速缓存中以便下一次使用,这是空间局部性。 int main...
  • 局部性

    千次阅读 2015-10-16 11:08:16
    一个编写良好的计算机程序倾向于展示出良好的局部性(locality)。也就是,它们倾向于引用的数据项邻近于其他最近引用过的数据项,或者... 局部性通常有两种形式:时间局部性(temporal locality)和空间局部性(spat
  • Cache正是利用了程序、数据访问时的时间局部性空间局部性,为了使Cache的访问效率最高,程序和数据的组织,也应该要符合这两个特性。最典型的例子就是二维数组的访问,下面就是一个二维数组: 二维数组  如果...
  • 存储器管理中的局部性原理

    千次阅读 2019-01-06 19:21:12
    程序在执行时将呈现局部性规律,即在一较短的时间内,程序的执行仅局限于某个部分,它所访问的存储空间也局限于某个区域。 局限性有表现在下述两个方面:时间局部性空间局部性 ...
  • 局部性原理——各类优化的基石

    千次阅读 2019-07-28 16:38:21
    学过计算机底层原理、了解过很多架构设计或者是做过优化的同学,应该很熟悉局部性原理。即便是非计算机行业的人,在做各种调优、提效时也不得不考虑到局部性,只不过他们不常用局部性一词。如果抽象程度再高一些,...
  • 局部性原理的一点理解

    千次阅读 2016-01-23 19:02:59
    一个编写良好的计算机程序常常具有良好...局部性通常有两种不同的形式:时间局部性空间局部性。在一个具有良好时间局部性的程序中,被引用一次的存储器位置很有可能在接下来时间内再被多次引用。在已给具有良好空间局
  • Cache正是利用了程序、数据访问时的时间局部性空间局部性,为了使Cache的访问效率最高,程序和数据的组织,也应该要符合这两个特性。最典型的例子就是二维数组的访问,下面就是一个二维数组: 二维数组  如果...
  • 时间局部性:理解的关键点在于“访问的时间间隔”,比如for循环实现sum求和,sum就是这次访问了,下次还被访问,体现的就是时间局部性空间局部性:理解的关键点“存储的位置”,相邻的数据很可能被一同访问到。...
  • 什么是程序的局部性原理

    千次阅读 2019-12-02 11:38:14
    了解局部性原理,可以有效的帮助我们理解和写出更好的代码,对于局部性原理可能有的小伙伴知道,有的小伙伴不知道,知道的小伙伴就当做复习知识点,不知道的小伙伴也没关系,接着往下看就知道了。 02、什么是局部性...
  • 程序的局部性详解

    2019-07-28 11:59:43
    2.时间局部性空间局部性 2.1时间局部性 在一个具有良好的时间局部性的程序中,被引用过一次的内存位置很可能在不远的将来再多次被引用; 2.2空间局部性 在一个具有良好的空间局部性的程序中,如果一个内存位...
  • 程序的局部性原理

    千次阅读 2019-07-01 20:37:00
    程序的局部性原理(Local principle of program) ... 局部性原理又表现为:时间局部性空间局部性时间局部性是指如果程序中的某条指令一旦执行,则不久之后该指令可能再次被执行;如果某数据被访问,则不...
  • 操作系统的局部性原理

    千次阅读 2019-11-05 18:47:23
    局部性的两种不同的形式:时间局部性空间局部性 时间局部性 时间局部性是指如果程序中的某条指令一旦执行,则不久之后该指令可能再次被执行;如果某数据被访问,则不久之后该数据可能再次被访问。强调数据的重复...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 215,608
精华内容 86,243
关键字:

时间局部性空间局部性