The method and device of intelligent storage operation by using conditional ownership request. One aspect includes methods implemented in a multi-core processor, which include: receiving CondRFO from the requestor in response to the execution of instructions to modify the target cache row (CL) with new values, identifying the target CL and new values, determining the local CL corresponding to the target CL from the local cache, determining the local value from the local CL, and matching the local value with the new value from the local CL. New values are compared; when the local values are the same as the new values, the consistency state of the local CL is set to (S) share; when the local values are different from the new values, the consistency state of the local CL is set to (I) invalid; and a replica of the response and the local CL is sent to the requester. Other embodiments include devices configured to perform actions of the method.
【技术实现步骤摘要】
【国外来华专利技术】用于利用条件所有权请求的智能存储操作的方法和装置
本专利技术的实施例涉及计算机架构领域,并且具体地涉及数据传送。
技术介绍
在软件应用中,代码一再地对相同的存储器位置做出重复更新并不罕见。时常,要写到存储器位置中的值与已存储在该位置处的现有值相同。在这些情况下,利用相同值更新存储器位置是冗余且不必要的。通常这不是严重的问题,并且大多数程序员由于方便或缺乏对性能的关注而仅使用以下代码语法来存储或更新存储器中的值:var=val然而,在其中存储器中的空间局部性低且相同或附近数据的线程之间的共享比率高的实例(诸如常常是利用控制块的情况)中,对存储器的不必要更新可导致显著的性能降级,并且因此应当在可能时避免。在具有用于每个核心的单独高速缓冲存储器的共享存储器多核心处理器系统中,同一高速缓存行的许多副本可以同时存在。例如,高速缓存行的一副本可以驻留在主存储器,而另一副本被缓存在核心中的一个或多个的本地高速缓冲存储器中。当改变高速缓存行的一个副本时,还必须改变或无效同一高速缓存行的其他副本,以便维持不同副本之间的一致性。为了防止在多个核心试图对同一高速缓存行做出重叠改变时发生的冲突,期望修改高速缓存行的核心必须首先拥有它想要修改的高速缓存行。通常,为了建立高速缓存行的所有权,第一核心通过其缓存代理向其他核心广播针对所有权的读或针对所有权的请求消息,以使其他核心中的该高速缓存行的所有副本无效。然后,在其本地高速缓存中拥有该高速缓存行副本的第二核心将在接收到消息时使其副本无效。稍后,如果第二核心希望从其本地高速缓存访问该高速缓存行的副本,则将导致高速缓存未命中,因为其副本 ...
【技术保护点】
1.一种在多核心处理器中实现的方法,所述方法包括:响应于用新值修改目标高速缓存行(CL)的指令的执行,从请求者接收针对所有权的条件读(CondRFO),CondRFO标识目标CL和新值;从本地高速缓存确定与目标CL对应的本地CL;从本地CL确定本地值;将本地值与新值进行比较;当本地值与新值相同时,将本地CL的一致性状态设置成(S)共享;当本地值与新值不同时,将本地CL的一致性状态设置成(I)无效;以及向请求者发送响应,其中响应包括本地CL的副本。
【技术特征摘要】
【国外来华专利技术】1.一种在多核心处理器中实现的方法,所述方法包括:响应于用新值修改目标高速缓存行(CL)的指令的执行,从请求者接收针对所有权的条件读(CondRFO),CondRFO标识目标CL和新值;从本地高速缓存确定与目标CL对应的本地CL;从本地CL确定本地值;将本地值与新值进行比较;当本地值与新值相同时,将本地CL的一致性状态设置成(S)共享;当本地值与新值不同时,将本地CL的一致性状态设置成(I)无效;以及向请求者发送响应,其中响应包括本地CL的副本。2.根据权利要求1所述的方法,还包括:当本地值与新值相同时,将发送给请求者的本地CL的副本的一致性状态设置成(S)共享;以及当本地值与新值不同时,将发送给请求者的本地CL的副本的一致性状态设置成(E)独占。3.根据权利要求1所述的方法,其中CondRFO包括用来标识目标CL的存储器地址。4.根据权利要求1所述的方法,其中CondRFO包括要用于确定本地CL中的本地值的CL偏移。5.根据权利要求4所述的方法,其中从本地CL确定本地值包括:基于CL偏移来标识本地CL中的位置;以及从所标识的位置读值。6.一种在多核心处理器中实现的方法,所述方法包括:解码条件存储指令;执行经解码的条件存储指令以用新值修改目标高速缓存行(CL);确定本地高速缓存是否包含与目标CL对应的有效本地CL;以及响应于确定本地高速缓存不包含有效本地CL,将针对所有权的条件读(CondRFO)发送到多核心处理器中的一个或多个远程核心,其中CondRFO标识目标CL和新值。7.根据权利要求6所述的方法,其中有效本地CL包括(M)修改、(E)独占或(S)共享的一致性状态。8.根据权利要求6所述的方法,其中响应于确定本地高速缓存包含与目标CL对应的有效本地CL,还包括:从有效本地CL确定本地值;将本地值与新值进行比较;响应于确定本地值与新值不同,确定有效本地CL的一致性状态;以及当所确定的一致性状态为(S)共享时,将新值写到有效本地CL。9.根据权利要求8所述的方法,其中响应于确定有效本地CL的一致性状态不是(S)共享,还包括:向多核心处理器中的一个或多个核心发送针对所有权的请求。10.根据权利要求6所述的方法,其中CondRFO包括标识目标CL的存储器地址。11.根据权利要求6所述的方法,其中CondRFO包括CL偏移,所述CL偏移用于标识所述一个或多个远程核心中的一个上的远程CL中的远程值,要将远程值与新值进行比较。12.一种装置,包括:通过互连而通信地耦合的多个硬件处理器核心,每个硬件处理器核心要包括相应的本地高速缓存,其中所述多个硬件处理器核心中的第一处理器核心要包括高速缓存代理电路,所述高速缓存代理逻辑电路要:响应于所述多个处理器核心中的第二处理器核心执行用新值修改目标高速缓存行(CL)的指令,从第二处理器核心接收针对所有权的条件读(Co...
【专利技术属性】
技术研发人员:AD冈萨莱斯,FG伯纳特,
申请(专利权)人:英特尔公司,
类型:发明
国别省市:美国,US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。