程序的访存特性 ·时间局部性temporal locality 一最近的访问项(指令数据)很可能在不 久的将来再次被访问 Address n loop iterations 往往会引起对最近使用区域的集中访问Instruction -策略:保留data,复用 fetches ·内存地址不一定集中! subroutine subroutine 空间局部性spatial locality Stack call 。return accesses 一个进程访问的访问项其地址彼此很近 argument access 往往会访问在存储器空间的同一区域 。 策略:保留data及其相邻者,预取 Data vector access ·内存地址连续! accesses 。scalar accesses 。。。。。。 例 Time for i:=0to 10000 do Typical Access Address Pattern A0=0; ·局部性实现:内存分块程序的访存特性 • 时间局部性temporal locality – 最近的访问项(指令/数据)很可能在不 久的将来再次被访问 – 往往会引起对最近使用区域的集中访问 – 策略:保留data,复用 • 内存地址不一定集中! • 空间局部性spatial locality – 一个进程访问的访问项其地址彼此很近 – 往往会访问在存储器空间的同一区域 – 策略:保留data及其相邻者,预取 • 内存地址连续! • 例 – for i := 0 to 10000 do A[i] := 0; • 局部性实现:内存分块 Typical Access Address Pattern