计算机中 空间局限性(Spatial Locality)与时间局限性(Temporal Locality)

空间和时间局部性描述了程序如何访问数据(或指令)的两个不同特征。

定义:

  • 如果在时间上被引用的事物在空间上也接近(相邻的存储器地址,磁盘上的邻近扇区等),则引用序列被认为具有空间局部性(Spatial Locality)
  • 如果对同一事物的访问在时间上聚集在一起,则该序列被称为具有时间局部性(Temporal Locality)。

通俗而言:

  • 时间局部性就是被引用过一次的存储器位置在未来会被多次引用(通常在循环中)
  • 空间局部性就是如果一个存储器的位置被引用,那么将来他附近的位置也会被引用。

举例

Example of computing the sum of an array:
在这里插入图片描述
在上述代码中,

  1. sum为时间局限性Temporal Locality,因为sum被引用了多次。
  2. 数组元素为空间局限性spatial Locality,因为如果a[i]被使用,则a[i+1],a[i-1]…很可能被引用。

练习

时间局限性和空间局部性的意义分别为( )。

A.最近被访问的单元,很可能在不久的将来还要被访问
B.最近被访问的单元,很可能它附近的单元也即将被访问
C.结构化程序设计,很少出现转移语句
D.程序中循环语句的执行一般时间很长

答案
A是时间局域性,B是空间局域性。C、D有可能正确,但并不是时空局域性的根本定义,或者说,C和D是造成时空局域性的原因,而不是时空局域性的意义。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值