cache一致性问题和解决方法

合集下载

zynq cache问题的解决方法 linux

zynq cache问题的解决方法 linux

zynq cache问题的解决方法linuxZynq是Xilinx公司推出的一款全可编程SoC,它集成了FPGA和处理器核心,广泛应用于嵌入式系统开发。

在使用Zynq平台时,开发者可能会遇到Cache相关问题,影响系统的性能。

本文将针对Zynq Cache问题的解决方法进行探讨,主要基于Linux操作系统。

一、Zynq Cache简介Zynq SoC包含ARM Cortex-A9处理器核心,这些核心具有独立的L1 Cache(指令和数据),以及共享的L2 Cache。

Cache的主要作用是临时存储处理器频繁访问的数据和指令,以提高访问速度。

二、Zynq Cache问题及解决方法1.Cache一致性问题问题描述:当多个处理器核心或者处理器与FPGA之间访问同一内存地址时,可能会出现Cache一致性问题。

解决方法:(1)关闭处理器核心的L2 Cache:在Linux内核启动参数中添加“l2cache_disable=1”,以关闭L2 Cache。

(2)使用Cache一致性协议:如MOESI协议,确保多个Cache之间的一致性。

2.Cache性能问题问题描述:Cache命中率和带宽较低,导致系统性能下降。

解决方法:(1)优化程序代码:避免频繁访问大块内存,增加数据局部性。

(2)调整Cache策略:根据应用场景,调整Cache的替换策略和写入策略。

(3)增加Cache容量:在硬件设计阶段,可以考虑增加Cache容量以提高性能。

3.Cache错误问题问题描述:Cache出现错误,可能导致数据丢失或系统崩溃。

解决方法:(1)使用ECC(Error Correction Code)技术:对Cache进行错误检测和纠正。

(2)定期刷新Cache:定期将Cache中的数据写入内存,防止数据丢失。

(3)监控Cache错误计数器:通过查看Cache错误计数器,定位错误原因。

三、总结Zynq Cache问题在嵌入式系统开发中较为常见,了解其解决方法有助于提高系统性能和稳定性。

cache 的mesi协议

cache 的mesi协议

cache 的mesi协议摘要:1.什么是Cache?2.Cache 的一致性问题和解决方案3.MESI 协议的提出4.MESI 协议的工作原理5.MESI 协议的优点和局限性6.总结正文:1.什么是Cache?Cache 是一种存储器,用于存储最近访问的数据。

在计算机系统中,Cache 位于处理器和主存储器之间,其作用是缓存主存储器中的数据,以便处理器能够更快地访问数据。

2.Cache 的一致性问题和解决方案当多个处理器同时访问Cache 时,可能会出现一致性问题。

为了解决这个问题,人们提出了多种一致性协议,其中最常用的是MESI 协议。

3.MESI 协议的提出MESI 协议是由加州大学伯克利分校的计算机科学家们提出的。

它是一种基于监听的总线协议,旨在解决Cache 一致性问题。

4.MESI 协议的工作原理MESI 协议根据数据的修改情况将Cache 分为四种状态:M(Modified)、E(Exclusive)、S(Shared)和I(Invalid)。

当处理器修改Cache 中的数据时,它将数据的状态设置为M。

当其他处理器请求访问该数据时,它将检查数据的状态,如果数据的状态为M,则处理器会拒绝访问;如果数据的状态为E,则处理器会允许访问;如果数据的状态为S,则处理器会共享数据;如果数据的状态为I,则处理器会重新加载数据。

5.MESI 协议的优点和局限性MESI 协议的优点是简单、高效,能够解决Cache 一致性问题。

然而,MESI 协议也有一些局限性,例如,它要求处理器能够区分不同状态的数据,这可能会增加处理器的复杂性。

6.总结MESI 协议是一种基于监听的总线协议,用于解决Cache 一致性问题。

它根据数据的修改情况将Cache 分为四种状态,并规定了不同状态下的处理器行为。

l2 cache在使用过程中可能遇到的问题

l2 cache在使用过程中可能遇到的问题

l2 cache在使用过程中可能遇到的问题在计算机科学和工程领域,L2缓存是指位于处理器和主内存之间的第二层缓存。

它的作用是存储处理器频繁访问的数据,以提高数据访问速度和系统性能。

然而,在实际使用过程中,L2缓存也可能会遇到一些问题,影响系统的稳定性和性能。

在本文中,我将从多个角度探讨L2缓存可能遇到的问题,并提供解决方案和个人观点。

1. L2缓存的故障在长时间使用过程中,L2缓存硬件可能会发生故障,导致数据丢失或错误。

这可能是由于电子元件老化、电压不稳定或温度过高等原因造成的。

当L2缓存发生故障时,处理器将无法正常读取和写入数据,从而影响系统的运行。

为了解决这一问题,对L2缓存进行定期检查和维护非常重要。

及时更换老化的硬件或者增加散热设备也能有效减少故障的发生。

2. L2缓存的性能瓶颈在一些高性能计算和数据处理场景下,L2缓存可能会成为系统性能的瓶颈。

由于数据量大、访问频繁,L2缓存的读取和写入速度可能无法满足处理器的需求,从而导致数据延迟和性能下降。

在这种情况下,可以考虑采用更大容量、更高速度的L2缓存,或者优化程序算法和数据访问方式,以减少对L2缓存的依赖,从而提高系统性能。

3. L2缓存的一致性问题在多核处理器或分布式系统中,L2缓存的一致性成为一个关键问题。

由于多个处理器核心共享L2缓存,当一个核心对缓存中的数据进行修改时,需要及时通知其他核心,以保证数据一致性。

否则会出现数据冲突和错误。

为了解决L2缓存一致性问题,可以采用缓存一致性协议、锁定机制或者消息传递等方式,确保数据在多个核心之间的一致性和可靠性。

在我看来,L2缓存在计算机系统中扮演着至关重要的角色,它不仅影响着处理器的性能和功耗,也直接关系到系统的稳定性和可靠性。

在设计和使用L2缓存时,需要综合考虑硬件、软件和应用场景,以充分发挥其性能优势和避免可能遇到的问题。

通过定期维护、优化算法和采用合理的一致性机制,可以有效解决L2缓存可能遇到的问题,提高系统的整体性能和可靠性。

cache一致性协议实现的基本方法

cache一致性协议实现的基本方法

面已经谈到,随着处理机数目N 的增大、存储器容量的增加,所 需要目录的容量以N2 的数量级增加。在目录本身就很庞大的情 况下,还需要增加一位C/D 位,以指示该复本是否允许写。所以 这种目录结构所需要的空间较为庞大。针对这个问题,提出了 有限目录的方法。 2)有限目录 有限目录的基本思想是要解决全映射目录空间过大的问题。 其采用的手段就是对任意一个数据块在高速缓存中同时存在的 复本的数目加以一定的限制,这是基于处理机使用的局部性, 即多机系统解决问题时,短时间内可能只集中使用其中几台机 器,所以某一个数据块的复本只有部分处理机需要,因此只需 要记录这几台机器,而不需要记录所有处理机,目录所需空间 大大减少:记录处理机号码的所需空间呈Log2N 增长,总的空间 需求为O(N XLog2N)。 3)链式目录 链式目录是采用目录指针链来跟踪共享可写数据的复本;链 表既可以采用单链表,又可以采用双链表。对于共享数据块的 复本数没有限制。所占用的空间和可扩展性与有限目录近似。
(3)Write- inv:远程高速缓存在写命中时在总线上广播一个无 效命令 (4)Read-inv:远程高速缓存在写缺失时在总线上广播一个无 效命令 (5)Read-blk:从另外一个高速缓存中读出一份有效复本。 这两条属于一致性命令 3)写操作可能遇到的几种情况 (1)如果C1 为VALID,写C1 时,则写命中(Write hit) a. 如果内存单元所在的块在高速缓存中,则可以写高速缓存 命中。 b. 如果内存单元所在的块不在高速缓存中,则写缺失,将内 存单元所在块读入高速缓存,再进行写操作发P-Write 修改C1 内 容,修改内存,发Write-Inv 给所有高速缓存,使它们的状态变 为无效。同时使本地的高速缓存中数据块的状态变Reserved。 (2)如果C1 为Reserved,对C1 进行写操作时,则写命中。发PWrite 命令修改C1内容,不修改内存中的复本,C1 状态变为 Dirty (3)如果C1 为Dirty,写C1 时则写命中。发出P-Write 命令修

cache工作原理

cache工作原理

cache工作原理概述:Cache是计算机系统中的一种高速缓存技术,用于存储最常用的数据,以提高计算机系统的性能。

本文将详细介绍Cache的工作原理,包括Cache的层次结构、Cache的读取和写入操作、Cache的替换策略以及Cache的一致性问题。

一、Cache的层次结构:计算机系统中的Cache通常分为多级,如L1 Cache、L2 Cache、L3 Cache等。

这些Cache按照层次结构排列,速度逐级递减,容量逐级递增。

L1 Cache位于CPU内部,速度最快,容量较小;L2 Cache位于CPU和主内存之间,速度次于L1 Cache,容量较大;L3 Cache位于CPU和主内存之间,速度最慢,容量最大。

Cache的层次结构能够充分利用局部性原理,提高数据的访问效率。

二、Cache的读取和写入操作:1. 读取操作:当CPU需要读取数据时,首先会从L1 Cache开始查找,如果在L1 Cache中找到了需要的数据,则称为命中(Cache Hit),CPU可以直接使用该数据。

如果在L1 Cache中没有找到需要的数据,则会依次向下一级Cache查找,直到找到或者到达主内存。

如果在所有的Cache中都没有找到需要的数据,则称为未命中(Cache Miss),CPU需要从主内存中读取数据,并将数据存入Cache中,以供下一次访问使用。

2. 写入操作:当CPU需要写入数据时,同样会首先在L1 Cache中查找是否存在需要写入的数据。

如果存在,则直接在L1 Cache中进行写入操作。

如果不存在,则需要根据Cache的写策略进行处理。

常见的写策略有写回(Write Back)和写直达(WriteThrough)。

写回策略是将数据先写入Cache中,然后在某个时刻再将数据写入主内存;写直达策略是将数据同时写入Cache和主内存。

写回策略可以减少对主内存的访问次数,提高性能,但可能会引发一致性问题。

三、Cache的替换策略:当Cache已满时,需要替换一些数据以腾出空间存放新的数据。

数据的一致性问题

数据的一致性问题

数据的⼀致性问题1.Cache引起的数据⼀致性问题 主要原因是位于数据IO路径上的各种Cache和Buffer(包括数据块Cache,⽂件系统的Cache,存储控制器的Cache,磁盘Cache等),由于不同系统模块操作处理数据IO的速度有差异,所以就需要添加Cache来缓存IO操作,适配不同模块的处理速度。

这些Cache在提⾼系统处理性能的同时,也可能会‘滞留’IO操作,带来⼀些负⾯影响。

如果在系统发⽣故障时,仍有部分IO‘滞留’在IO操作中,真正写到磁盘中的数据就会少于应⽤程序实际写出的数据,造成的数据不⼀致。

当系统恢复时,直接从硬盘中读出的数据可能存在逻辑错误,导致应⽤⽆法启动。

尽管⼀些数据库(Oracle,DB2)可以根据redo⽇志重新⽣成数据,修复逻辑错误,单着过程是⾮常耗时的,⽽且也不⼀定每次都能成功。

对于⼀些相对功能较弱的数据库(SQL Server),这个问题就更加严重了。

解决办法 关闭Cache或者创建快照。

尽管关闭Cache会导致系统系统性能下降,但在有些应⽤中,这却是必要的选择。

⽐如⼀些⾼等级的容灾⽅案中(RPO为0),都是利⽤同步镜像技术在⽣产中⼼和灾备中⼼之间实时同步复制数据。

由于数据是实时复制的,所以就必须要关闭Cache。

快照的⽬的是为数据卷创建⼀个在特定时间点的状态视图,通过这个视图只可以看到数据卷在创建时刻的数据,在此时间点之后元数据卷的更新(有新的数据写⼊),不会反映在快照视图中。

利⽤这个快照视图,就可以做数据的备份或者复制,那么快照视图的数据⼀致性如何保证? 这涉及到多个实体(存储控制器和安装在主机上的快照代理)和⼀系列的动作。

典型的操作流程是:存储控制器要为某个数据卷创建快照时,通知快照代理;快照代理收到通知后,通知应⽤程序暂停IO操作(进⼊backup模式),并flush数据库和⽂件系统中的Cache(强制将缓存中的数据写⼊到⽂件或者数据库,写满了在发),之后给存储控制器返回消息,指⽰已可以创建快照;存储控制器收到快照代理返回的指⽰消息后,⽴即创建快照视图,并通知快照代理快照创建完毕;快照代理通知应⽤程序正常运⾏。

cache一致性问题和解决方法

cache一致性问题和解决方法

cache一致性问题和解决方法作者辽宁工程技术大学摘要高速缓冲存储器一致性问题是指高速缓冲存储器中的数据必须与内存中的数据保持同步(一致) 。

多核处理器将一个以上的计算内核集成在一个处理器中,通过多个核心的并行计算技术,增强处理器计算性能。

单片多处理器结构(CMP—ChipMultiprocessor)又是该领域中备受关注的问题。

本文简要论述了CMP的多级Cache存储结构,多级结构引起了Cache一致性问题,一致性协议的选取对CMP系统的性能有重要影响。

使用何种Cache一致性模型以及它的设计方案是本文重点研究的内容。

关键词:CMP;Cache一致性;存储器;协议;替换策略Cache consistency problem and solving methodAbstract Cache consistency refers to the data in the cache memory must be synchronized with the data in memory (the same).Multi·core processor was the integration of multiple computing cores on a single processoL which improved processor computing ability through the parallelcomputing Technology of multi-coreprocessors.Single chip multi-processorarchitecture(CMP-ChipMulfiprocessor)was hot spots in this area.The CMPmulti-level Cache storage structure was briefly discussed in this paper,which led to Cache coherence problem,the selection of consistency protocol had a major impact on the performance of the CMP system.The selection of model of theCache Coherence and methods of its design will have a significant impact ofoverall design and development of CMPKey words:CMP Cache; consistency; memory; protocol; replacement strategy1引言在过去的二十年中,计算机处理器设计工艺和处理器体系结构发展迅速,计算机也能够完成所赋予它的大部分任务。

多核Cache一致性

多核Cache一致性
x’ ……
x’
core1
x’
core2
……
x’
core3
I表示无效
4.写无效的问题 主要开销在两个方面: (1)作废各Cache副本的开销; (2)由作废引起缺失造成的开销,即处理 机需要访问已经作废的数据时将引起Cache的 缺失。
后果: 如果一个Core经常对某个块连续写,且Core 间对共享块的竞争较小,这时写无效策略维护 一致性的开销是很小的。如发生严重竞争,即 Core之间对某个地址的共享数据竞争,将产生 较多的作废,引起更多的作废缺失。结果是共 享数据在各Cache间倒来倒去,产生颠簸现象, 当缓存块比较大时,这种颠簸现象更为严重。
5. Write-Once一致性协议状态转移表
current command state P-Read P-Write 有效 有效 next state status action
P-Write
保留
必是局部进行, 有效 Read-hit 不影响有效状态 第一次写命中,用 保留 Write-hit 写通过法。同时修 改本地和主存副本 并广播Write-inv 使所有副本失效 第二次写命中,用 重写 Write-hit 写回法。但不修改 主存的副本
5. 写更新的问题 由于更新时,所有的副本均需要更新,开 销很大。
1.1 Cache Coherence问题 1.2 监听总线协议
1.2.1 写一次协议
1.3 基于目录的Cache一致性协议 1.4 三种Cache一致性策略
1.2 监听总线协议(Snoopy protocol)
通过总线监听机制实现Cache和共享存储 器之间的一致性。 适用性分析: 适用于具有广播能力的总线结构多Core系 统,允许每个Core监听其它Core的存储器访 问情况。 只适用于小规模的多Core系统。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

cache一致性问题和解决方法作者工程技术大学摘要高速缓冲存储器一致性问题是指高速缓冲存储器中的数据必须与存中的数据保持同步(一致) 。

多核处理器将一个以上的计算核集成在一个处理器中,通过多个核心的并行计算技术,增强处理器计算性能。

单片多处理器结构(CMP—ChipMultiprocessor)又是该领域中备受关注的问题。

本文简要论述了CMP的多级Cache存储结构,多级结构引起了Cache一致性问题,一致性协议的选取对CMP系统的性能有重要影响。

使用何种Cache一致性模型以及它的设计方案是本文重点研究的容。

关键词:CMP;Cache一致性;存储器;协议;替换策略Cache consistency problem and solving method Abstract Cache consistency refers to the data in the cache memory must be synchronized with the data in memory (the same).Multi·core processor was the integration of multiple computing cores on a single processoL which improved processor computing ability through the parallelcomputing Technology of multi-coreprocessors.Single chip multi-processorarchitecture(CMP-ChipMulfiprocessor)was hot spots in this area.The CMPmulti-level Cache storage structure was briefly discussed in this paper,which led to Cache coherence problem,the selection of consistency protocol had a major impact on the performance of the CMP system.The selection of model of theCache Coherence and methods of its design will have a significant impact ofoverall design and development of CMPKey words:CMP Cache; consistency; memory; protocol; replacement strategy1引言在过去的二十年中,计算机处理器设计工艺和处理器体系结构发展迅速,计算机也能够完成所赋予它的大部分任务。

因此,在各种领域得到迅速和广泛的应用。

同时,广泛的应用也带来了对高性能和低功耗处理器的强劲需求。

而以往通过在单核处理器中集成更多的晶体管,提升处理器频率的方法,随着摩尔定律和处理器功耗的畸形不对称,使得高频处理器将会带来以往无法预计的功耗问题。

多核处理器技术的出现解决了上述问题。

2 国外发展现状2.1 CMP体系结构研究现状近年来,很多大学以及研究机构在从事CMP的研究,一些著名大学及研究机构已经有相当深入的工作,其中比较有影响的有国外的Standford大学、MIT等,国的清华大学、国防科技大学在CMP研究方面也取得了一定的研究成果。

Standford大学研究的Hydra片上多处理器集成了4个MIPSR 3000处理器核心,每个微处理器核心具有私有的指令Cache和一级数据Cache,所有的处理器核心共享一个片上二级Cache进行通信和共享数据。

Hydra CMP还支持线程级猜测执行,可以将程序段并行化,让多个线程来执行这段程序。

Hydra综合了共享Cache多处理器系统结构、革新性的同步机制、高级集成电路技术和并行编译技术,即使在执行顺序应用程序时,Hydra CMP能够获得比宽发射超标量微处理器更好的性能。

MIT的M.Machine片上集成了三个微处理器核心,它们通过交叉开关进行快速的寄存器级间的通信。

程序在M.Machine上通过寄存器间的快速通信以及同步机制来确保程序的细粒度并行,并且以一种极细粒度的机制来实现线程的并行性。

清华大学微处理器和SoC研究中心从2003年开始着手进行CMP的调研工作,于2005年年初基本完成了Thump CMP模拟器的设计工作。

ThumpCMP采用了清华大学自主研制的支持MIPS指令集的32位微处理器Thumpl07作为处理器核心,目前的Thump CMP模拟器集成了两个Thumpl07核,每个核具有独立的一级Cache,两个核共享一个二级Cache。

国防科技大学提出一种单芯片多处理器体系结构模型——珙享多端口数据Cache结构模型,片上集成P个处理器核,每个处理器核有私有的指令Cache,所有的处理器核通过交叉开关共享一个具有q个访问端口的一级数据。

除了上述一些大学和研究机构,商业应用中各大厂商都在陆续推出各自的片多处理器产品。

2006年,IBM公司公布了Power 6处理器的部分结构设计与性能参数。

Power 6处理器包含两个处理器核,每个处理器核支持两个线程。

Power6处理器的每个核有一个私有的8路组相联,64KB的一级数据Cache,一个4MB的二级Cache。

Power 6中的私有二级缓存之间可通过高速链路进行数据交换,而无需通过速度相对较慢的三级缓存交换。

Power 6采用65nm的SOl工艺,10层金属板,芯片面积为344砌《。

SUN公司在2005年推出的UltraSPARC T1(开发代号“Niagara”)处理器,主要定位于大规模网络应用服务器市场。

Niagara包含8个处理器核,每个处理器核支持4个线程。

2007年Sun公司推出了二代CMP处理器UltraSPARC T2(开发代号“Niagara 2”1,Niagara 2由8个UltraSPARC 核构成,每个UltraSPARC核可支持8路多线程,UltraSPARC核在每个线程的一级指令Cache后设立了指令缓冲区,还增加了一个新的流水级,专门用来选择就绪执行线程。

并且,Niagara 2还包含一个浮点运算单元,一级Cache采用8路组相联结构。

’Niagara 2中所有的处理器核共享4MB的二级Cache,二级Cache行长度为64字节,采用16路组相联结构、写回和写分配策略设计。

由于UltraSPARC T1的4存储体结构在64线程下将会带来15%的性能损失,所以二级Cache分为8个分叉存取模块嘲。

2.2 Cache一致性协议相关研究在~个允许缓冲共享数据的系统中,同一主存单元的数据可能在多个Cache 中都有备份。

Cache一致性研究的主要容就是怎样才能更加有效的维护同一主存单元的多个数据备份的一致性。

即如何让多个数据备份保持最新的数据,从而避免由多个Cache带来的数据不同步问题。

常见的Cache 一致性协议分为总线监听协议和目录协议两种。

总线监听协议使系统中所有处理器都能检测到存储器J下在进行的事务活动。

所有处理器监视总线上的活动后,根据总线上广播的命令做出相应的操作。

如果总线事务操作破坏了本地Cache中数据的一致性状态,那么Cache控制器就应采取相应的动作无效或更新本地Cache中的拷贝。

在总线监听协议设计中,主要有两种策略可供选择:1.是写通过法(WriteThrough),还是写回法(Write Back);2.是写无效(Write Invalidate),还是写更新(Write Update)。

目前,广泛使用的写无效协议有MSI、MESI 等;广泛使用的写更新有Dragon掣71。

在总线监听协议中,虽然总线本身是一种廉价而有效的广播工具,但它是一种独占性资源,可伸缩性有限,而且总线延迟随处理器数目的增加而增加,与总线长度仲裁和总线阻抗等因素有密切关系。

当处理器个数增加时,一般不用总线结构,而采用多级互连网络。

可扩展的CMP系统用多级网络实现处理器互连或用点对点的短线直接地实现处理器互连。

与采用总线连接的情况不同,这些网络的频宽随系统中处理器数目的增加而增加,这类系统常采用目录协议。

1976年,Tang提出采用集中式目录方式,用一个中心目录存放所有Cache目录的副本,它能提供为保证一致性所需要的所有信息。

它的不足之处是容量非常大,必须采用联想方法来检查,冲突多,检索时间偏长。

1978年,Censier和Feautrier提出采用分布式目录的协议,与集中式目录不同的是,由每个存储模块维护各自的目录,目录用来记录每个存储块的当前信息。

当前信息指明哪些Cache有该存储块的副本。

与总线监听方式相比,目录实现方法中采取“以空间换取时间”的策略,虽然减少了访问次数,但增加了目录存储器,占用了大量的存储空间。

3 Cache存储器3.1 Cache存储器的结构与原理3.1.1基本结构Cache由Cache存储体、地址映象变换机构、Cache替换机构几大模块组成。

在Cache中把Cache和主存机械地等分成相同大小的块(或行)。

每一块由若干个字(或字节)组成。

每当给出一个主存地址进行访存时,都必须通过主存—Cache地址映象机构判定该访问字所在的块是否己在Cache中。

如果在Cache中(Cache命中),则经地址映象变换机构将主存地址变换成Cache地址去访Cache,这时Cache与CPU之间进行单字宽信息的交往;如果不在Cache中(Cache未命中),则产生Cache失效,这时就需要从访主存的通路中把包含该字的一块信息通过多字宽通路调入Cache,同时将被访问字直接从单字宽通路送往CPU。

如果Cache中已装不进了,即发生块冲突,就需要按所选择的替换算法将该块替换进Cache,并修改地址映象表中有关的地址映象关系和修改Cache各块使用状态标志等信息3.1.2工作原理Cache的工作原理是基于程序访问的局部性原理。

在分析大量典型程序运行情况后,得到这样的结论:在一个较短的时间工程大学硕+学位论文间隔,由程序产生的地址常集中在存储器逻辑地址空间的小部分围。

指令地址的分布本来就是连续的,再加上循环程序段和子程序段要反复执行多次,因此,对这些地址的访问就自然地具有时间上集中分布的倾向。

在指令分布中这种集中倾向并不明显,但对数组的存储和访问以及工作单元的选择都可以使存储器地址相对集中。

这种对局部围的存储器地址访问频繁,而对此围以外的地址则很少访问的现象,就称为程序访问的局部性。

相关文档
最新文档