CN106155937B - 缓存访问方法、设备和处理器 - Google Patents
缓存访问方法、设备和处理器 Download PDFInfo
- Publication number
- CN106155937B CN106155937B CN201510161109.8A CN201510161109A CN106155937B CN 106155937 B CN106155937 B CN 106155937B CN 201510161109 A CN201510161109 A CN 201510161109A CN 106155937 B CN106155937 B CN 106155937B
- Authority
- CN
- China
- Prior art keywords
- memory device
- buffer memory
- physical address
- data
- index
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Abstract
本发明实施例提供一种缓存访问方法、设备和处理器,此方法包括:通过当第一缓存设备根据第一虚拟地址确定缓存失效时,第一缓存设备获取第一虚拟地址的索引中与第二虚拟地址的索引不相同的比特位为第一页着色位;向第二缓存设备发送缓存失效请求,所述缓存失效请求包括所述第一物理地址和第一页着色位,然后接收第二缓存设备根据该缓存失效请求发送的第一数据,并对该第一虚拟地址的索引对应的数据和标识进行更新,从而保证了根据第一虚拟地址可以访问到该第一物理地址对应的最新数据,提高了数据访问成功率。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种缓存访问方法、设备和处理器。
背景技术
在多个进程之间利用内存进行共享数据或通信时,会存在多个虚拟地址映射到同一个物理地址的映射关系,在这种情况下,多个虚拟地址可能映射到缓存(英文:cache)的多个索引(英文:index)上,从而可以根据虚拟地址从缓存中获取相应的索引所对应存储的数据,由于该缓存中多个索引所对应存储的数据为同一数据,因此通过该多个虚拟地址可以获取相同的数据,从而可以实现多个进程间的数据共享。
但是,当通过其中一个虚拟地址修改数据时,修改后的数据存储在该虚拟地址的索引所对应的缓存行中,而通过其它虚拟地址将获取不到该修改后的数据,从而造成数据访问失败。
发明内容
本发明实施例提供一种缓存访问方法、设备和处理器,用于保证根据虚拟地址访问到的数据为最新数据。
第一方面,本发明实施例提供一种缓存访问方法,包括:
当第一缓存设备根据第一虚拟地址的索引对应的第一标识,查询不到第一物理地址时,所述第一缓存设备获取所述第一虚拟地址的索引中与第二虚拟地址的索引不相同的比特位为第一页着色位,所述第一物理地址为所述第一虚拟地址映射的物理地址,所述第二虚拟地址为所述第一物理地址映射的除所述第一虚拟地址之外的任一虚拟地址;
所述第一缓存设备向第二缓存设备发送缓存失效请求,所述缓存失效请求包括所述第一物理地址和所述第一页着色位,所述第二缓存设备中存储的数据包括所述第一缓存设备中存储的数据;
所述第一缓存设备接收所述第二缓存设备根据所述缓存失效请求发送的第一数据,所述第一数据的物理地址为所述第一物理地址;
所述第一缓存设备更新所述第一虚拟地址的索引对应的数据为所述第一数据,以及更新所述第一标识为第二标识,所述第二标识包括所述第一物理地址和第一有效位,所述第一有效位指示所述第一物理地址有效。
第二方面,本发明实施例提供一种缓存访问方法,包括:
第二缓存设备接收第一缓存设备发送的缓存失效请求,所述缓存失效请求包括第一物理地址和第一页着色位;所述第一页着色位为第一虚拟地址的索引中与第二虚拟地址的索引不相同的比特位;所述第一虚拟地址为所述第一物理地址映射的任一虚拟地址,所述第二虚拟地址为所述第一物理地址映射的除所述第一虚拟地址之外的任一虚拟地址;所述第二缓存设备中存储的数据包括所述第一缓存设备中存储的数据;
所述第二缓存设备根据所述缓存失效请求,向所述第一缓存设备发送所述第一物理地址的索引对应的第一数据,其中,所述第一物理地址的索引对应第三标识,所述第三标识包括所述第一物理地址和所述第一页着色位。
第三方面,本发明实施例提供一种缓存设备,作为第一缓存设备,包括:
处理单元,用于当根据第一虚拟地址的索引对应的第一标识,查询不到第一物理地址时,获取所述第一虚拟地址的索引中与第二虚拟地址的索引不相同的比特位为第一页着色位,所述第一物理地址为所述第一虚拟地址映射的物理地址,所述第二虚拟地址为所述第一物理地址映射的除所述第一虚拟地址之外的任一虚拟地址;
发送单元,用于向第二缓存设备发送缓存失效请求,所述缓存失效请求包括所述第一物理地址和所述第一页着色位,所述第二缓存设备中存储的数据包括所述第一缓存设备中存储的数据;
接收单元,用于接收所述第二缓存设备根据所述缓存失效请求发送的第一数据,所述第一数据的物理地址为所述第一物理地址;
更新单元,用于更新所述第一虚拟地址的索引对应的数据为所述第一数据,以及更新所述第一标识为第二标识,所述第二标识包括所述第一物理地址和第一有效位,所述第一有效位指示所述第一物理地址有效。
第四方面,本发明实施例提供一种缓存设备,作为第二缓存设备,包括:
接收单元,用于接收第一缓存设备发送的缓存失效请求,所述缓存失效请求包括第一物理地址和第一页着色位;所述第一页着色位为第一虚拟地址的索引中与第二虚拟地址的索引不相同的比特位;所述第一虚拟地址为所述第一物理地址映射的任一虚拟地址,所述第二虚拟地址为所述第一物理地址映射的除所述第一虚拟地址之外的任一虚拟地址;所述第二缓存设备中存储的数据包括所述第一缓存设备中存储的数据;
发送单元,用于根据所述缓存失效请求,向所述第一缓存设备发送所述第一物理地址的索引对应的第一数据,其中,所述第一物理地址的索引对应第三标识,所述第三标识包括所述第一物理地址和所述第一页着色位。
第五方面,本发明实施例提供一种处理器,包括:本发明第三方面提供的缓存设备和本发明第四方面提供所述的缓存设备。
本发明实施例提供一种缓存访问方法、设备和处理器,通过当第一缓存设备根据第一虚拟地址确定缓存失效时,第一缓存设备获取第一虚拟地址的索引中与第二虚拟地址的索引不相同的比特位为第一页着色位;向第二缓存设备发送缓存失效请求,所述缓存失效请求包括所述第一物理地址和第一页着色位,然后接收第二缓存设备根据该缓存失效请求发送的第一数据,并对该第一虚拟地址的索引对应的数据和标识进行更新,从而保证了根据第一虚拟地址可以访问到该第一物理地址对应的最新数据,保证了数据的正确访问,提高了数据访问成功率。
附图说明
图1为本发明缓存访问方法实施例一的流程图;
图2为本发明缓存访问方法实施例二的流程图;
图3为本发明缓存访问方法实施例三的流程图;
图4为本发明缓存访问方法实施例四的流程图;
图5为本发明缓存访问方法实施例五的流程图;
图6为本发明缓存访问方法实施例六的流程图;
图7为本发明缓存设备实施例一的结构示意图;
图8为本发明缓存设备实施例二的结构示意图;
图9为本发明处理器实施例一的结构示意图。
具体实施方式
需要说明的是,本发明各实施例基于缓存一致性维护机制,先对该机制进行简要的介绍。缓存一致性维护机制是一种维护缓存一致性(英文:cache coherence)的机制,在多核处理器中尤为常见。即使在单核处理器中,也用于保证下一级缓存对上一级缓存的包含关系。举例而言,龙芯3号多核处理器及龙芯2G、2H等单核处理器中都有缓存一致性维护机制。该机制的工作原理是:一级cache失效时会访问二级缓存,二级缓存对一级缓存发出一致性请求,举例而言,包括无效、无效并写回、仅写回等请求。这些请求会对一级缓存进行修改,并达到维护缓存一致性的目的。举例而言,当二级缓存发生替换时,为了保证二级缓存对一级缓存的包含关系,需要将一级缓存中的这个数据的备份也去掉,因此,在二级缓存进行替换操作之前,必须向一级缓存发出针对被替换掉的物理地址的无效并写回的一致性请求,待一级缓存将可能为脏(英文:dirty)的数据写回后,二级缓存才能去做替换操作。
本发明各实施例中,物理地址在缓存设备中的一个索引对应的标识上有备份。
图1为本发明缓存访问方法实施例一的流程图,如图1所示,本实施例的方法可以包括:
S101、当第一缓存设备根据第一虚拟地址的索引对应的第一标识,查询不到第一物理地址时,该第一缓存设备获取第一虚拟地址的索引中与第二虚拟地址的索引不相同的比特位为第一页着色位。
本实施例中,第一虚拟地址可以是第一缓存设备接收的访存指令中的一个虚拟地址。该第一缓存设备可以根据第一虚拟地址,确定第一虚拟地址的索引(英文:index),例如:第一虚拟地址为64位,第一索引为该第一虚拟地址的低13位。然后第一缓存设备可以根据第一虚拟地址的索引获取该第一虚拟地址的索引对应的标识(英文:tag),该标识称为第一标识,该第一标识包括一物理地址和该物理地址的有效位,该有效位可以用于指示该物理地址有效或无效。
本实施例中,该第一缓存设备可以通过现有技术获取第一虚拟地址映射的物理地址,称为第一物理地址,然后在第一标识中查询第一物理地址。由于第一虚拟地址映射第一物理地址,还会存在其它的虚拟地址也映射至该第一物理地址,此处以第一物理地址映射的多个虚拟地址中除该第一虚拟地址之外的任一虚拟地址为例,称为第二虚拟地址。当该第一缓存设备在第一标识中查询不到第一物理地址时,该第一缓存设备可以将第一虚拟地址的索引与第二虚拟地址的索引进行比较,根据第一虚拟地址的索引和第二虚拟地址的索引,确定第一虚拟地址的索引中与第二虚拟地址的索引中不相同的比特位,将该不相同的比特位作为第一虚拟地址的页着色位,称为第一页着色。相应地,第二虚拟地址的索引中与第一索引地址的索引不相同的比特位可以作为第二虚拟地址的页着色位;例如:若第一虚拟地址的索引中第13和12位,与,第二虚拟地址的索引中第13和12位不同,则将第一虚拟地址的索引中第13和12位作为第一页着色位。
S102、该第一缓存设备向第二缓存设备发送缓存失效请求;该缓存失效请求包括该第一物理地址和该第一页着色位。
本实施例中,第一缓存设备获取第一页着色位之后,再将第一物理地址和第一页着色位携带在缓存失效请求中发送给第二缓存设备,其中,第二缓存设备包含第一缓存设备,即第二缓存设备中存储的数据包括第一缓存设备中存储的数据。
S103、该第一缓存设备接收该第二缓存设备根据该缓存失效请求发送的第一数据,该第一数据的物理地址为该第一物理地址。
本实施例中,该二缓存设备接收到第一缓存设备发送的缓存失效请求之后,根据缓存失效请求向第一缓存设备发送第一数据,其中,该第二缓存设备中第一数据的物理地址为第一物理地址,该第一物理地址的索引对应的标识包括第一数据的物理地址(即第一物理地址)和第一页着色位;相应地,该第一缓存设备接收该第二缓存设备发送的该第一数据。
S104、该第一缓存设备更新第一虚拟地址的索引对应的数据为该第一数据,以及更新该第一标识为第二标识。
本实施例中,该第一缓存设备接收到第一缓存设备发送的第一数据后,将第一缓存设备中的第一虚拟地址的索引对应的数据更新为第一数据,使得第一虚拟地址的索引对应的数据为第一数据,第一缓存设备还将第一缓存行中的第一标识更新为第二标识,第二标识包括第一物理地址和第一有效位,在本实施例中,该第一有效位指示该第一物理地址有效。从而实现了在根据第一虚拟地址确定第一缓存设备缓存失效时,可以从第二缓存设备中获取数据,保证了数据的正确访问。
本实施例提供的缓存访问方法,通过当第一缓存设备根据第一虚拟地址确定缓存失效时,第一缓存设备获取第一虚拟地址的索引中与第二虚拟地址的索引不相同的比特位为第一页着色位;向第二缓存设备发送缓存失效请求,所述缓存失效请求包括所述第一物理地址和第一页着色位,然后接收第二缓存设备根据该缓存失效请求发送的第一数据,并对该第一虚拟地址的索引对应的数据和标识进行更新,从而保证了根据第一虚拟地址可以访问到该第一物理地址对应的最新数据,保证了数据的正确访问,提高了数据访问成功率。
可选地,该第一标识包括第二物理地址和第二有效位;该第一缓存设备在该第一标识中查询不到该第一物理地址的一种可行的实现方案中,该第一缓存设备确定该第二物理地址与该第一物理地址不相同。该第一缓存设备在该第一标识中查询不到该第一物理地址的另一种可行的实现方案中,该第一缓存设备确定该第二有效位指示该第二物理地址无效。
图2为本发明缓存访问方法实施例二的流程图,如图2所示,本实施例的方法可以包括:
S201、第二缓存设备接收第一缓存设备发送的缓存失效请求,该缓存失效请求包括第一物理地址和第一页着色位。
本实施例中,第一页着色位为第一虚拟地址的索引与第二虚拟地址的索引中不同的比特位;第一虚拟地址为第一物理地址映射的任一虚拟地址,第二虚拟地址为第一物理地址映射的多个虚拟地址中除第一虚拟地址之外的任一虚拟地址;第二缓存设备中存储的数据包括第一缓存设备中存储的数据。
本实施例中,第一缓存设备向第二缓存设备发送缓存失效请求可以参见本发明方法实施例一中的相关记载。
S202、该第二缓存设备根据该缓存失效请求,向该第一缓存设备发送该第一物理地址的索引对应的第一数据。
本实施例中,该第二缓存设备可以将第一物理地址的索引对应的数据(即第一数据)发送给第一缓存设备,在本实施例中,该第一物理地址的索引对应包括第一物理地址和第一页着色位的标识,该包括第一物理地址和第一页着色位的标识称为第三标识。相应地,第一缓存设备接收到第二缓存设备发送的第一数据之后,根据第一数据对第一虚拟地址的索引对应的数据进行更新,从而使得第一缓存设备在根据第一虚拟地址确定第一缓存设备缓存失效时,可以从第二缓存设备中获取该第一物理地址对应的最新数据,保证了数据的正确访问。
本实施例提供的缓存访问方法,通过第二缓存设备接收第一缓存设备发送的缓存失效请求,该缓存失效请求包括第一物理地址和第一页着色位,根据该缓存失效请求,向该第一缓存设备发送第一数据,从而使得第一缓存设备在根据第一虚拟地址确定第一缓存设备缓存失效时,可以从第二缓存设备中获取数据,保证了数据的正确访问,提高了数据访问成功率。
图3为本发明缓存访问方法实施例三的流程图,如图3所示,本实施例的方法可以包括:
S301、当第一缓存设备根据第一虚拟地址的索引对应的第一标识,查询不到第一物理地址时,该第一缓存设备获取该第一虚拟地址的索引中与第二虚拟地址的索引不相同的比特位为第一页着色位。
S302、该第一缓存设备向第二缓存设备发送缓存失效请求。
所述缓存失效请求包括第一物理地址和第一页着色位。
本实施例中,S301和S302的具体实现过程可以参见本发明方法实施例一或二中的相关记载,此处不再赘述。
S303、该第二缓存设备根据该第一物理地址,获取第一物理地址的索引对应的第四标识。
本实施例中,该第二缓存设备接收第一缓存设备发送的缓存失效请求之后,根据缓存失效请求中的第一物理地址,确定第一物理地址的索引。然后第二缓存设备可以根据第一物理地址的索引获取该第一物理地址的索引对应的标识,该标识称为第四标识,该第四标识包括第四物理地址。
S304、当该第四物理地址与该第一物理地址不相同时,该第二缓存设备根据该第一物理地址从存储设备中获取第一数据。
本实施例中,该第二缓存设备获取第四标识之后,确定该第四标识中包括的该第四物理地址与该第一物理地址是否相同,当确定该第四标识中包括的该第四物理地址与该第一物理地址不相同时(即表示缓存失效),该第二缓存设备根据该第一物理地址从存储设备中获取该第一物理地址对应的数据(即第一数据),该存储设备中存储的数据包括该第二缓存设备中存储的数据,该存储设备可以是该第二缓存设备的下一级缓存设备,也可以是内存,本发明实施例对此不做限定。当第二缓存设备确定该第四标识中包括的该第四物理地址与该第一物理地址相同时,可以参见本发明下述各方法实施例中的记载,此处不再赘述。
S305、该第二缓存设备更新该第一物理地址的索引对应的数据为该第一数据,以及更新该第四标识为该第三标识。
本实施例中,该第二缓存设备根据第一物理地址获取第一数据之后,该第二缓存设备更新该第一物理地址的索引对应的数据为该第一数据,使得该第一物理地址的索引对应的数据为第一数据,该第二缓存设备还将第一物理地址的索引对应的第四标识更新为第三标识,第三标识包括第一物理地址和第一页着色位。
S306、该第二缓存设备根据该缓存失效请求,向该第一缓存设备发送更新后的该第一物理地址的索引对应的该第一数据。
本实施例中,在该第二缓存设备中也存储了该第一物理地址对应的第一数据时,而且该第一物理地址的索引对应第三标识时,该第二缓存设备向该第一缓存设备发送更新后的该第一物理地址的索引对应的数据(即第一数据)。
S307、该第一缓存设备更新该第一虚拟地址的索引对应的数据为该第一数据,以及更新该第一标识为第二标识。
本实施例中,S307的具体实现过程可以参见本发明方法实施例一中的相关记载,此处不再赘述。
本实施例提供的缓存访问方法,通过第一缓存设备根据第一虚拟地址确定第一缓存设备缓存失效时,向第二缓存设备发送包括第一物理地址和第一页着色位的缓存失效请求;当第二缓存设备根据第一物理地址确定第二缓存设备缓存失效时,该第二缓存设备根据第一物理地址从存储设备中获取第一数据,并更新第一物理地址的索引对应的数据为第一数据,并更新第一物理地址的索引对应的标识包括第一物理地址和第一页着色位,然后将该第一数据发送给第一缓存设备;第一缓存设备更新第一虚拟地址的索引对应的数据为第一数据,并更新第一虚拟地址的索引对应的标识包括该第一物理地址和用于指示该第一物理地址有效的第一有效位;从而实现了第一缓存设备在根据第一虚拟地址确定第一缓存设备缓存失效时,可以从第二缓存设备中获取第一物理地址对应的最新数据,保证了数据的正确访问,提高了数据访问成功率。
图4为本发明缓存访问方法实施例四的流程图,如图4所示,本实施例的方法可以包括:
S401、当第一缓存设备根据第一虚拟地址的索引对应的第一标识,查询不到第一物理地址时,该第一缓存设备获取该第一虚拟地址的索引中与第二虚拟地址的索引不相同的比特位为第一页着色位。
S402、该第一缓存设备向第二缓存设备发送缓存失效请求。
所述缓存失效请求包括第一物理地址和第一页着色位。
本实施例中,S401和S402的具体实现过程可以参见本发明方法实施例一或二中的相关记载,此处不再赘述。
S403、该第二缓存设备根据该第一物理地址,获取第一物理地址的索引对应的第四标识。
本实施例中,该第二缓存设备接收第一缓存设备发送的缓存失效请求之后,根据缓存失效请求中的第一物理地址,确定第一物理地址的索引。然后第二缓存设备可以根据第一物理地址的索引获取该第一物理地址的索引对应的标识,该标识称为第四标识,该第四标识包括第四物理地址和第二页着色位。
S404、当该第四物理地址与该第一物理地址相同,以及该第二页着色位与该第一页着色位相同时,该第二缓存设备确定该第一物理地址的索引对应的数据为第一数据。
本实施例中,该第二缓存设备获取第四标识之后,确定该第四标识中包括的该第四物理地址与该第一物理地址是否相同,当确定该第四标识中包括的该第四物理地址与该第一物理地址不相同时,参见本发明方法实施例三中的相关记载,此处不再赘述。当第二缓存设备确定该第四标识中包括的该第四物理地址与该第一物理地址相同时,第二缓存设备进一步确定该第四标识中包括的第二页着色位与第一页着色位是否相同,当该第二页着色位与该第一页着色位相同时,该第二缓存设备可以确定当前该第一物理地址的索引对应数据为该第一物理地址对应的最新数据,即为要发送给第一缓存设备的第一数据;当第二缓存设备确定第四标识中包括的第二页着色位与该第一页着色位不相同时,可以参见本发明下述各方法实施例中的记载,此处不再赘述。
S405、该第二缓存设备根据该缓存失效请求,向该第一缓存设备发送该第一数据。
本实施例中,在该第二缓存设备确定当前第一物理地址的索引对应的数据为第一物理地址对应的数据(即第一数据)后,该第二缓存设备根据该缓存失效请求,向该第一缓存设备发送当前该第一物理地址的索引对应的第一数据。
S406、该第一缓存设备更新该第一虚拟地址的索引对应的数据为该第一数据,以及更新该第一标识为第二标识。
本实施例中,S406的具体实现过程可以参见本发明方法实施例一中的相关记载,此处不再赘述。
本实施例提供的缓存访问方法,通过第一缓存设备根据第一虚拟地址确定第一缓存设备缓存失效时,向第二缓存设备发送包括第一物理地址和第一页着色位的缓存失效请求;当第二缓存设备根据第一物理地址和第一页着色位确定第二缓存设备缓存命中时,该第二缓存设备将缓存命中的第一数据发送给第一缓存设备;第一缓存设备更新第一虚拟地址的索引对应的数据为第一数据,并更新第一虚拟地址的索引对应的标识包括该第一物理地址和用于指示该第一物理地址有效的第一有效位;从而实现了第一缓存设备在根据第一虚拟地址确定第一缓存设备缓存失效时,可以从第二缓存设备中获取第一物理地址对应的最新数据,保证了数据的正确访问,提高了数据访问成功率。
图5为本发明缓存访问方法实施例五的流程图,如图5所示,本实施例的方法可以包括:
S501、当第一缓存设备根据第一虚拟地址的索引对应的第一标识,查询不到第一物理地址时,该第一缓存设备获取该第一虚拟地址的索引中与第二虚拟地址的索引不相同的比特位为第一页着色位。
S502、该第一缓存设备向第二缓存设备发送缓存失效请求。
所述缓存失效请求包括第一物理地址和第一页着色位。
本实施例中,S501和S502的具体实现过程可以参见本发明方法实施例一或二中的相关记载,此处不再赘述。
S503、该第二缓存设备根据该第一物理地址,获取第一物理地址的索引对应的第四标识。
本实施例中,S503的具体实现过程可以参见本发明方法实施例四中的相关记载,此处不再赘述。
S504、当该第四物理地址与该第一物理地址相同,以及该第二页着色位与该第一页着色位不相同时,该第二缓存设备向该第一缓存设备发送缓存一致性请求。
本实施例中,该第二缓存设备获取第四标识之后,确定该第四标识中包括的该第四物理地址与该第一物理地址是否相同,当确定该第四标识中包括的该第四物理地址与该第一物理地址不相同时,参见本发明方法实施例三中的相关记载,此处不再赘述。当第二缓存设备确定该第四标识中包括的该第四物理地址与该第一物理地址相同时,第二缓存设备进一步确定该第四标识中包括的第二页着色位与第一页着色位是否相同,当该第二页着色位与该第一页着色位相同时,参见本发明方法实施例四中的相关记载,此处不再赘述;当第二缓存设备确定第四标识中包括的第二页着色位与该第一页着色位不相同时,该第二缓存设备可以确定第一物理地址对应的数据为根据该第二页着色位所对应的虚拟地址访存的数据,因此,该第二缓存设备向第一缓存设备发送缓存一致性请求,该缓存一致性请求包括该第一物理地址和第二页着色位。
S505、该第一缓存设备根据该第一物理地址和第二页着色位,获取第二虚拟地址的索引对应的标识。
本实施例中,第一缓存设备可以根据该第一物理地址确定该第一物理地址映射的多个虚拟地址,进而可以获取该多个虚拟地址的索引;该第二页着色位可以为其中任一个虚拟地址的索引中与第一虚拟地址的索引不相同的比特位,从而可以确定该第二页着色位对应的虚拟地址的索引,该虚拟地址称为第二虚拟地址。然后第一缓存设备可以获取该第二虚拟地址的索引对应的标识,该第二虚拟地址的索引对应的标识包括第三物理地址和第三有效位。
S506、当该第三物理地址与该第一物理地址相同,并且该第三有效位指示该第三物理地址有效时,该第一缓存设备向该第二缓存设备发送第二数据。
本实施例中,该第一缓存设备根据第二页着色位,获取第二虚拟地址的索引对应的标识之后,确定第二虚拟地址的索引对应的标识中的该第三有效位是否指示该第三物理地址有效。当确定第三有效位指示该第三物理地址无效时,参见本发明下述方法实施例中的相关记载,此处不再赘述。当确定该第三有效位指示该第三物理地址有效时,再确定该第三物理地址与该第一物理地址是否相同,当确定该第三物理地址与该第一物理地址相同时,则说明第二虚拟地址的索引对应的数据(称为第二数据)为第一物理地址对应的最新数据,该第一缓存设备向该第二缓存设备发送该第二数据。当确定该第三物理地址与该第一物理地址不相同时,参见本发明下述方法实施例中的相关记载,此处不再赘述。
可选地,该第一缓存设备向第二缓存设备发送该第二数据之前还包括:该第一缓存设备向该第二缓存设备发送第一响应消息,该第一响应消息用于指示该第二缓存设备接收该第一缓存设备根据缓存一致性请求发送的第二数据,因此第二缓存设备接收到第一缓存设备发送的第一响应消息之后,等待接收第二数据。
S507、该第一缓存设备将该第三有效位设置为指示该第三物理地址无效。
本实施例中,该第一缓存设备在向第二缓存设备发送第二数据之后,将第三有效位用于指示第三物理地址有效更改为指示第三物理地址无效。
S508、该第二缓存设备更新第一物理地址的索引对应的数据为该第二数据,以及更新该第四标识为第三标识。
本实施例中,该第二缓存设备接收到该第一缓存设备根据缓存一致性请求发送的第二数据之后,该第二缓存设备将第一缓存设备中的第一物理地址的索引对应的数据更新为第二数据,使得第一物理地址的索引对应的数据为第二数据,第二缓存设备还将第一物理地址的索引对应的第四标识更新为第三标识,第三标识包括第一物理地址和第一页着色位,即将第四标识中的第二页着色更改为第一页着色。
S509、该第二缓存设备根据该缓存失效请求,向该第一缓存设备发送该第二数据。
本实施例中,在该第二缓存设备更新第一物理地址的索引对应的数据和标识后,该第二缓存设备根据该缓存失效请求,向该第一缓存设备发送第一物理地址的索引对应的数据(即第二数据),本实施例中的第二数据也是第一物理地址对应的数据,与第一数据相同。
S510、该第一缓存设备更新该第一虚拟地址的索引对应的数据为该第二数据,以及更新该第一标识为第二标识。
本实施例中,S510的具体实现过程可以参见本发明方法实施例一中的相关记载,此处不再赘述。
本实施例提供的缓存访问方法,通过第一缓存设备根据第一虚拟地址确定第一缓存设备缓存失效时,向第二缓存设备发送包括第一物理地址和第一页着色位的缓存失效请求;当第二缓存设备根据第一物理地址对应的标识中的第二页着色位与第一页着色位不相同时,该第二缓存设备根据第一物理地址和第二页着色位从第一缓存设备中获取第一物理地址对应的最新数据(即第二数据),再将该第二数据发送给第一缓存设备;第一缓存设备更新第一虚拟地址的索引对应的数据为第二数据,并更新第一虚拟地址的索引对应的标识包括该第一物理地址和用于指示该第一物理地址有效的第一有效位;从而实现了第一缓存设备在根据第一虚拟地址确定第一缓存设备缓存失效时,可以从第二缓存设备中获取第一物理地址对应的最新数据,保证了数据的正确访问,提高了数据访问成功率。
图6为本发明缓存访问方法实施例六的流程图,如图6所示,本实施例的方法可以包括:
S601、当第一缓存设备根据第一虚拟地址的索引对应的第一标识,查询不到第一物理地址时,该第一缓存设备获取该第一虚拟地址的索引中与第二虚拟地址的索引不相同的比特位为第一页着色位。
S602、该第一缓存设备向第二缓存设备发送缓存失效请求。
所述缓存失效请求包括第一物理地址和第一页着色位。
本实施例中,S601和S602的具体实现过程可以参见本发明方法实施例一或二中的相关记载,此处不再赘述。
S603、该第二缓存设备根据该第一物理地址,获取第一物理地址的索引对应的第四标识。
本实施例中,S603的具体实现过程可以参见本发明方法实施例四中的相关记载,此处不再赘述。
S604、当该第四物理地址与该第一物理地址相同,以及该第二页着色位与该第一页着色位不相同时,该第二缓存设备向该第一缓存设备发送缓存一致性请求。
S605、该第一缓存设备根据该第一物理地址和第二页着色位,获取第二虚拟地址的索引对应的标识。
本实施例中,S604和S605的具体实现过程可以参见本发明方法实施例五中的相关记载,此处不再赘述。
S606、当该第三物理地址与该第一物理地址不相同,或者该第三有效位指示该第三物理地址无效时,该第一缓存设备向该第二缓存设备发送响应信息。
本实施例中,该响应信息用于指示该第一物理地址对应的数据存储在该第二缓存设备中,即指示该第一缓存设备不向该第二缓存设备发送第一物理地址对应的数据,第二缓存设备根据该响应信息无需等待接收第一缓存设备发送的数据,执行S607。
S607、该第二缓存设备更新该第四标识为第三标识。
本实施例中,该第二缓存设备将第一物理地址的索引对应的第四标识更新为第三标识,第三标识包括第一物理地址和第一页着色位,即将第四标识中的第二页着色更改为第一页着色。
S608、该第二缓存设备根据该缓存失效请求,向该第一缓存设备发送第一数据。
本实施例中,在该第二缓存设备更新第一物理地址的索引对应的标识后,该第二缓存设备根据该缓存失效请求,向该第一缓存设备发送第一物理地址的索引对应的数据(即第一数据)。
S609、该第一缓存设备更新该第一虚拟地址的索引对应的数据为该第一数据,以及更新该第一标识为第二标识。
本实施例中,S609的具体实现过程可以参见本发明方法实施例一中的相关记载,此处不再赘述。
本实施例提供的缓存访问方法,通过第一缓存设备根据第一虚拟地址确定第一缓存设备缓存失效时,向第二缓存设备发送包括第一物理地址和第一页着色位的缓存失效请求;当第二缓存设备根据第一物理地址对应的标识中的第二页着色位与第一页着色位不相同时,该第二缓存设备通过向第一缓存设备发送缓存一致性请求确定第一物理地址对应的最新数据(即第一数据)存储在第二缓存设备中,再将该第一数据发送给第一缓存设备;第一缓存设备更新第一虚拟地址的索引对应的数据为第一数据,并更新第一虚拟地址的索引对应的标识包括该第一物理地址和用于指示该第一物理地址有效的第一有效位;从而实现了第一缓存设备在根据第一虚拟地址确定第一缓存设备缓存失效时,可以从第二缓存设备中获取第一物理地址对应的最新数据,保证了数据的正确访问,提高了数据访问成功率。
需要说明的是,物理地址的索引对应的标识中包括页着色位,表示该标识与现有技术相比,增加了页染色域,该页染色域中包括该页着色位。
图7为本发明缓存设备实施例一的结构示意图,如图7所示,本实施例的缓存设备作为第一缓存设备,可以包括:处理单元11、发送单元12、接收单元13、更新单元14;其中,处理单元11,用于当根据第一虚拟地址的索引对应的第一标识,查询不到第一物理地址时,获取所述第一虚拟地址的索引中与第二虚拟地址的索引不相同的比特位为第一页着色位,所述第一物理地址为所述第一虚拟地址映射的物理地址,所述第二虚拟地址为所述第一物理地址映射的除所述第一虚拟地址之外的任一虚拟地址;发送单元12,用于向第二缓存设备发送缓存失效请求,所述缓存失效请求包括所述第一物理地址和所述第一页着色位,所述第二缓存设备中存储的数据包括所述第一缓存设备中存储的数据;接收单元13,用于接收所述第二缓存设备根据所述缓存失效请求发送的第一数据,所述第一数据的物理地址为所述第一物理地址;更新单元14,用于更新所述第一虚拟地址的索引对应的数据为所述第一数据,以及更新所述第一标识为第二标识,所述第二标识包括所述第一物理地址和第一有效位,所述第一有效位指示所述第一物理地址有效。
可选地,所述第一标识包括第二物理地址和第二有效位;处理单元11在所述第一标识中查询不到所述第一物理地址时,具体用于:确定所述第二物理地址与所述第一物理地址不相同;或者,确定所述第二有效位指示所述第二物理地址无效。
可选地,接收单元13,还用于接收所述第二缓存设备发送的缓存一致性请求,所述缓存一致性请求包括所述第一物理地址和第二页着色位;处理单元11,还用于根据所述第一物理地址和所述第二页着色位,获取所述第二虚拟地址的索引对应的标识;所述第二页着色位为所述第二虚拟地址的索引中与所述第一虚拟地址的索引不相同的比特位;所述第二虚拟地址的索引对应的标识包括第三物理地址和第三有效位;发送单元12,还用于当所述第三物理地址与所述第一物理地址相同,并且所述第三有效位指示所述第三物理地址有效时,向所述第二缓存设备发送第二数据;所述第二数据为所述第二虚拟地址的索引对应的数据;处理单元11,还用于将所述第三有效位设置为指示所述第三物理地址无效;接收单元13在接收所述第二缓存设备根据所述缓存失效请求发送的第一数据时,具体用于:接收所述第二缓存设备根据所述缓存失效请求发送的所述第二数据。
可选地,接收单元13,还用于接收所述第二缓存设备发送的缓存一致性请求,所述缓存一致性请求包括所述第一物理地址和第二页着色位;处理单元11,还用于根据所述第一物理地址和所述第二页着色位,获取所述第二虚拟地址的索引对应的标识;所述第二页着色位为所述第二虚拟地址的索引中与所述第一虚拟地址的索引不相同的比特位,所述第二虚拟地址的索引对应的标识包括第三物理地址和第三有效位;发送单元12,还用于当所述第三物理地址与所述第一物理地址不相同,或者,所述第三有效位指示所述第三物理地址无效时,向所述第二缓存设备发送响应信息;所述响应信息用于指示所述第一物理地址对应的数据存储在所述第二缓存设备。
本实施例的缓存设备,可以用于执行本发明上述各方法实施例中第一缓存设备执行的技术方案,其实现原理和技术效果类似,此处不再赘述。
图8为本发明缓存设备实施例二的结构示意图,如图8所示,本实施例的缓存设备作为第二缓存设备,可以包括:接收单元21和发送单元22;其中,接收单元21,用于接收第一缓存设备发送的缓存失效请求,所述缓存失效请求包括第一物理地址和第一页着色位;所述第一页着色位为第一虚拟地址的索引中与第二虚拟地址的索引不相同的比特位;所述第一虚拟地址为所述第一物理地址映射的任一虚拟地址,所述第二虚拟地址为所述第一物理地址映射的除所述第一虚拟地址之外的任一虚拟地址;所述第二缓存设备中存储的数据包括所述第一缓存设备中存储的数据;发送单元22,用于根据所述缓存失效请求,向所述第一缓存设备发送所述第一物理地址的索引对应的第一数据,其中,所述第一物理地址的索引对应第三标识,所述第三标识包括所述第一物理地址和所述第一页着色位。
可选地,本实施例的缓存设备还可以包括处理单元23。
在第一种可选的实现方式中,处理单元23,用于在发送单元22根据所述缓存失效请求,向所述第一缓存设备发送第一数据之前,根据所述第一物理地址,获取所述第一物理地址的索引对应的第四标识;所述第四标识包括第四物理地址;当所述第四物理地址与所述第一物理地址不相同时,根据所述第一物理地址从存储设备中获取所述第一数据;所述存储设备中存储的数据包括所述第二缓存设备中存储的数据;以及更新所述第一物理地址的索引对应的数据为所述第一数据,以及更新所述第四标识为所述第三标识;发送单元22,在根据所述缓存失效请求,向所述第一缓存设备发送第一数据时,具体用于:根据所述缓存失效请求,向所述第一缓存设备发送更新后的所述第一物理地址的索引对应的所述第一数据。
在第二种可选的实现方式中,处理单元23,用于在发送单元22根据所述缓存失效请求,向所述第一缓存设备发送第一数据之前,根据第一物理地址,获取所述第一物理地址的索引对应的第四标识;所述第四标识包括第四物理地址和第二页着色位;当所述第四物理地址与所述第一物理地址相同,以及所述第二页着色位与所述第一页着色位相同时,确定所述第一物理地址的索引对应的数据为所述第一数据。
在第三种可选的实现方式中,处理单元23,用于在发送单元22根据所述缓存失效请求,向所述第一缓存设备发送第一数据之前,根据第一物理地址,获取所述第一物理地址的索引对应的第四标识;所述第四标识包括第四物理地址和第二页着色位;发送单元22,还用于当所述第四物理地址与所述第一物理地址相同,以及所述第二页着色位与所述第一页着色位不相同时;向所述第一缓存设备发送缓存一致性请求,所述缓存一致性请求包括所述第一物理地址和所述第二页着色位;接收单元21,还用于接收所述第一缓存设备根据所述缓存一致性请求发送的第二数据;处理单元23,还用于更新所述第一物理地址的索引对应的数据为所述第二数据,以及更新所述第四标识为所述第三标识;发送单元22在根据所述缓存失效请求,向所述第一缓存设备发送第一数据时,具体用于:根据所述缓存失效请求,向所述第一缓存设备发送所述第二数据。
在第四种可选的实现方式中,处理单元23,用于在发送单元22根据所述缓存失效请求,向所述第一缓存设备发送第一数据之前,根据第一物理地址,获取所述第一物理地址的索引对应的第四标识;所述第四标识包括第四物理地址和第二页着色位;发送单元22,还用于当所述第四物理地址与所述第一物理地址相同,以及所述第二页着色位与所述第一页着色位不相同时,向所述第一缓存设备发送缓存一致性请求,所述缓存一致性请求包括所述第一物理地址和所述第二页着色位;接收单元21,还用于接收所述第一缓存设备发送的响应信息,所述响应信息用于指示所述第一物理地址对应的数据存储在所述第二缓存设备;处理单元23,还用于更新所述第四标识为所述第三标识;发送单元22在根据所述缓存失效请求,向所述第一缓存设备发送第一数据时,具体用于:根据所述缓存失效请求,向所述第一缓存设备发送所述第一物理地址的索引对应的数据。
本实施例的缓存设备,可以用于执行本发明上述各方法实施例中第二缓存设备执行的技术方案,其实现原理和技术效果类似,此处不再赘述。
图9为本发明处理器实施例一的结构示意图,如图9所示,本实施例的处理器可以包括第一缓存设备10和第二缓存设备20;其中,第一缓存设备可以采用图7所示装置实施例的结构,其对应地,可以执行本发明上述各方法实施例中第一缓存设备执行的技术方案,其实现原理和技术效果类似,此处不再赘述。第二缓存设备可以采用图8所示装置实施例的结构,其对应地,可以执行本发明上述各方法实施例中第二缓存设备执行的技术方案,其实现原理和技术效果类似,此处不再赘述。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:只读内存(英文:Read-Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (19)
1.一种缓存访问方法,其特征在于,包括:
当第一缓存设备根据第一虚拟地址的索引对应的第一标识,查询不到第一物理地址时,所述第一缓存设备获取所述第一虚拟地址的索引中与第二虚拟地址的索引不相同的比特位为第一页着色位,所述第一物理地址为所述第一虚拟地址映射的物理地址,所述第二虚拟地址为所述第一物理地址映射的除所述第一虚拟地址之外的任一虚拟地址;
所述第一缓存设备向第二缓存设备发送缓存失效请求,所述缓存失效请求包括所述第一物理地址和所述第一页着色位,所述第二缓存设备中存储的数据包括所述第一缓存设备中存储的数据;
所述第一缓存设备接收所述第二缓存设备根据所述缓存失效请求发送的第一数据,所述第一数据的物理地址为所述第一物理地址;
所述第一缓存设备更新所述第一虚拟地址的索引对应的数据为所述第一数据,以及更新所述第一标识为第二标识,所述第二标识包括所述第一物理地址和第一有效位,所述第一有效位指示所述第一物理地址有效;
所述第一缓存设备接收所述第二缓存设备发送的缓存一致性请求,所述缓存一致性请求包括所述第一物理地址和第二页着色位;
所述第一缓存设备根据所述第一物理地址和所述第二页着色位,获取所述第二虚拟地址的索引对应的标识;所述第二页着色位为所述第二虚拟地址的索引中与所述第一虚拟地址的索引不相同的比特位;所述第二虚拟地址的索引对应的标识包括第三物理地址和第三有效位。
2.根据权利要求1所述的方法,其特征在于,所述第一标识包括第二物理地址和第二有效位;所述第一缓存设备在所述第一标识中查询不到所述第一物理地址,包括:
所述第一缓存设备确定所述第二物理地址与所述第一物理地址不相同;或者,
所述第一缓存设备确定所述第二有效位指示所述第二物理地址无效。
3.根据权利要求1或2所述的方法,其特征在于,还包括:
当所述第三物理地址与所述第一物理地址相同,并且所述第三有效位指示所述第三物理地址有效时,所述第一缓存设备向所述第二缓存设备发送第二数据;所述第二数据为所述第二虚拟地址的索引对应的数据;
所述第一缓存设备将所述第三有效位设置为指示所述第三物理地址无效;
所述第一缓存设备接收所述第二缓存设备根据所述缓存失效请求发送的第一数据,包括:
所述第一缓存设备接收所述第二缓存设备根据所述缓存失效请求发送的所述第二数据。
4.根据权利要求1或2所述的方法,其特征在于,还包括:
当所述第三物理地址与所述第一物理地址不相同,或者,所述第三有效位指示所述第三物理地址无效时,所述第一缓存设备向所述第二缓存设备发送响应信息;所述响应信息用于指示所述第一物理地址对应的数据存储在所述第二缓存设备。
5.一种缓存访问方法,其特征在于,包括:
第二缓存设备接收第一缓存设备发送的缓存失效请求,所述缓存失效请求包括第一物理地址和第一页着色位;所述第一页着色位为第一虚拟地址的索引中与第二虚拟地址的索引不相同的比特位;所述第一虚拟地址为所述第一物理地址映射的任一虚拟地址,所述第二虚拟地址为所述第一物理地址映射的除所述第一虚拟地址之外的任一虚拟地址;所述第二缓存设备中存储的数据包括所述第一缓存设备中存储的数据;
所述第二缓存设备根据所述缓存失效请求,向所述第一缓存设备发送所述第一物理地址的索引对应的第一数据,其中,所述第一物理地址的索引对应第三标识,所述第三标识包括所述第一物理地址和所述第一页着色位;
所述第二缓存设备根据所述缓存失效请求,向所述第一缓存设备发送第一数据之前,还包括:
所述第二缓存设备根据所述第一物理地址,获取所述第一物理地址的索引对应的第四标识;所述第四标识包括第四物理地址和第二页着色位;
当所述第四物理地址与所述第一物理地址相同,以及所述第二页着色位与所述第一页着色位不相同时;所述第二缓存设备向所述第一缓存设备发送缓存一致性请求,所述缓存一致性请求包括所述第一物理地址和所述第二页着色位。
6.根据权利要求5所述的方法,其特征在于,所述第二缓存设备根据所述缓存失效请求,向所述第一缓存设备发送第一数据之前,还包括:
所述第二缓存设备根据所述第一物理地址,获取所述第一物理地址的索引对应的第四标识;所述第四标识包括第四物理地址;
当所述第四物理地址与所述第一物理地址不相同时,所述第二缓存设备根据所述第一物理地址从存储设备中获取所述第一数据;所述存储设备中存储的数据包括所述第二缓存设备中存储的数据;
所述第二缓存设备更新所述第一物理地址的索引对应的数据为所述第一数据,以及更新所述第四标识为所述第三标识;
所述第二缓存设备根据所述缓存失效请求,向所述第一缓存设备发送第一数据,包括:
所述第二缓存设备根据所述缓存失效请求,向所述第一缓存设备发送更新后的所述第一物理地址的索引对应的所述第一数据。
7.根据权利要求5所述的方法,其特征在于,所述第二缓存设备根据所述缓存失效请求,向所述第一缓存设备发送第一数据之前,还包括:
所述第二缓存设备根据所述第一物理地址,获取所述第一物理地址的索引对应的第四标识;所述第四标识包括第四物理地址和第二页着色位;
当所述第四物理地址与所述第一物理地址相同,以及所述第二页着色位与所述第一页着色位相同时,所述第二缓存设备确定所述第一物理地址的索引对应的数据为所述第一数据。
8.根据权利要求5所述的方法,其特征在于,所述第二缓存设备根据所述缓存失效请求,向所述第一缓存设备发送第一数据之前,还包括:
所述第二缓存设备接收所述第一缓存设备根据所述缓存一致性请求发送的第二数据;
所述第二缓存设备更新所述第一物理地址的索引对应的数据为所述第二数据,以及更新所述第四标识为所述第三标识;
所述第二缓存设备根据所述缓存失效请求,向所述第一缓存设备发送第一数据,包括:
所述第二缓存设备根据所述缓存失效请求,向所述第一缓存设备发送所述第二数据。
9.根据权利要求5所述的方法,其特征在于,所述第二缓存设备根据所述缓存失效请求,向所述第一缓存设备发送第一数据之前,还包括:
所述第二缓存设备接收所述第一缓存设备发送的响应信息,所述响应信息用于指示所述第一物理地址对应的数据存储在所述第二缓存设备;
所述第二缓存设备更新所述第四标识为所述第三标识;
所述第二缓存设备根据所述缓存失效请求,向所述第一缓存设备发送第一数据,包括:
所述第二缓存设备根据所述缓存失效请求,向所述第一缓存设备发送所述第一物理地址的索引对应的数据。
10.一种缓存设备,作为第一缓存设备,其特征在于,包括:
处理单元,用于当根据第一虚拟地址的索引对应的第一标识,查询不到第一物理地址时,获取所述第一虚拟地址的索引中与第二虚拟地址的索引不相同的比特位为第一页着色位,所述第一物理地址为所述第一虚拟地址映射的物理地址,所述第二虚拟地址为所述第一物理地址映射的除所述第一虚拟地址之外的任一虚拟地址;
发送单元,用于向第二缓存设备发送缓存失效请求,所述缓存失效请求包括所述第一物理地址和所述第一页着色位,所述第二缓存设备中存储的数据包括所述第一缓存设备中存储的数据;
接收单元,用于接收所述第二缓存设备根据所述缓存失效请求发送的第一数据,所述第一数据的物理地址为所述第一物理地址;
更新单元,用于更新所述第一虚拟地址的索引对应的数据为所述第一数据,以及更新所述第一标识为第二标识,所述第二标识包括所述第一物理地址和第一有效位,所述第一有效位指示所述第一物理地址有效;
所述接收单元,还用于接收所述第二缓存设备发送的缓存一致性请求,所述缓存一致性请求包括所述第一物理地址和第二页着色位;
所述处理单元,还用于根据所述第一物理地址和所述第二页着色位,获取所述第二虚拟地址的索引对应的标识;所述第二页着色位为所述第二虚拟地址的索引中与所述第一虚拟地址的索引不相同的比特位;所述第二虚拟地址的索引对应的标识包括第三物理地址和第三有效位。
11.根据权利要求10所述的缓存设备,其特征在于,所述第一标识包括第二物理地址和第二有效位;所述处理单元在所述第一标识中查询不到所述第一物理地址时,具体用于:确定所述第二物理地址与所述第一物理地址不相同;或者,确定所述第二有效位指示所述第二物理地址无效。
12.根据权利要求10或11所述的缓存设备,其特征在于,所述发送单元,还用于当所述第三物理地址与所述第一物理地址相同,并且所述第三有效位指示所述第三物理地址有效时,向所述第二缓存设备发送第二数据;所述第二数据为所述第二虚拟地址的索引对应的数据;
所述处理单元,还用于将所述第三有效位设置为指示所述第三物理地址无效;
所述接收单元在接收所述第二缓存设备根据所述缓存失效请求发送的第一数据时,具体用于:接收所述第二缓存设备根据所述缓存失效请求发送的所述第二数据。
13.根据权利要求10或11所述的缓存设备,其特征在于,所述发送单元,还用于当所述第三物理地址与所述第一物理地址不相同,或者,所述第三有效位指示所述第三物理地址无效时,向所述第二缓存设备发送响应信息;所述响应信息用于指示所述第一物理地址对应的数据存储在所述第二缓存设备。
14.一种缓存设备,作为第二缓存设备,其特征在于,包括:
接收单元,用于接收第一缓存设备发送的缓存失效请求,所述缓存失效请求包括第一物理地址和第一页着色位;所述第一页着色位为第一虚拟地址的索引中与第二虚拟地址的索引不相同的比特位;所述第一虚拟地址为所述第一物理地址映射的任一虚拟地址,所述第二虚拟地址为所述第一物理地址映射的除所述第一虚拟地址之外的任一虚拟地址;所述第二缓存设备中存储的数据包括所述第一缓存设备中存储的数据;
发送单元,用于根据所述缓存失效请求,向所述第一缓存设备发送所述第一物理地址的索引对应的第一数据,其中,所述第一物理地址的索引对应第三标识,所述第三标识包括所述第一物理地址和所述第一页着色位;
处理单元,用于在所述发送单元根据所述缓存失效请求,向所述第一缓存设备发送第一数据之前,根据所述第一物理地址,获取所述第一物理地址的索引对应的第四标识;所述第四标识包括第四物理地址和第二页着色位;
所述发送单元,还用于当所述第四物理地址与所述第一物理地址相同,以及所述第二页着色位与所述第一页着色位不相同时;向所述第一缓存设备发送缓存一致性请求,所述缓存一致性请求包括所述第一物理地址和所述第二页着色位。
15.根据权利要求14所述的缓存设备,其特征在于,还包括:
处理单元,用于在所述发送单元根据所述缓存失效请求,向所述第一缓存设备发送第一数据之前,根据所述第一物理地址,获取所述第一物理地址的索引对应的第四标识;所述第四标识包括第四物理地址;当所述第四物理地址与所述第一物理地址不相同时,根据所述第一物理地址从存储设备中获取所述第一数据;所述存储设备中存储的数据包括所述第二缓存设备中存储的数据;以及更新所述第一物理地址的索引对应的数据为所述第一数据,以及更新所述第四标识为所述第三标识;
所述发送单元,在根据所述缓存失效请求,向所述第一缓存设备发送第一数据时,具体用于:根据所述缓存失效请求,向所述第一缓存设备发送更新后的所述第一物理地址的索引对应的所述第一数据。
16.根据权利要求14所述的缓存设备,其特征在于,还包括:
处理单元,用于在所述发送单元根据所述缓存失效请求,向所述第一缓存设备发送第一数据之前,根据所述第一物理地址,获取所述第一物理地址的索引对应的第四标识;所述第四标识包括第四物理地址和第二页着色位;当所述第四物理地址与所述第一物理地址相同,以及所述第二页着色位与所述第一页着色位相同时,确定所述第一物理地址的索引对应的数据为所述第一数据。
17.根据权利要求14所述的缓存设备,其特征在于,还包括:
所述接收单元,还用于接收所述第一缓存设备根据所述缓存一致性请求发送的第二数据;
所述处理单元,还用于更新所述第一物理地址的索引对应的数据为所述第二数据,以及更新所述第四标识为所述第三标识;
所述发送单元在根据所述缓存失效请求,向所述第一缓存设备发送第一数据时,具体用于:根据所述缓存失效请求,向所述第一缓存设备发送所述第二数据。
18.根据权利要求14所述的缓存设备,其特征在于,还包括:
所述接收单元,还用于接收所述第一缓存设备发送的响应信息,所述响应信息用于指示所述第一物理地址对应的数据存储在所述第二缓存设备;
所述处理单元,还用于更新所述第四标识为所述第三标识;
所述发送单元在根据所述缓存失效请求,向所述第一缓存设备发送第一数据时,具体用于:根据所述缓存失效请求,向所述第一缓存设备发送所述第一物理地址的索引对应的数据。
19.一种处理器,其特征在于,包括:如权利要求10-13任意一项所述的缓存设备和如权利要求14-18任意一项所述的缓存设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510161109.8A CN106155937B (zh) | 2015-04-07 | 2015-04-07 | 缓存访问方法、设备和处理器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510161109.8A CN106155937B (zh) | 2015-04-07 | 2015-04-07 | 缓存访问方法、设备和处理器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106155937A CN106155937A (zh) | 2016-11-23 |
CN106155937B true CN106155937B (zh) | 2019-03-05 |
Family
ID=57338835
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510161109.8A Active CN106155937B (zh) | 2015-04-07 | 2015-04-07 | 缓存访问方法、设备和处理器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106155937B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111666043A (zh) * | 2017-11-03 | 2020-09-15 | 华为技术有限公司 | 一种数据存储方法及设备 |
CN113742132B (zh) * | 2021-07-28 | 2023-08-11 | 苏州浪潮智能科技有限公司 | 一种存储系统故障修复方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103885890A (zh) * | 2012-12-21 | 2014-06-25 | 华为技术有限公司 | 高速缓冲存储器cache中cache块的替换处理方法和装置 |
CN104040509A (zh) * | 2012-01-18 | 2014-09-10 | 高通股份有限公司 | 在有虚拟标识的高速缓冲存储器中确定别名地址的高速缓存命中/未中及相关系统及方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7085890B2 (en) * | 2004-02-19 | 2006-08-01 | International Business Machines Corporation | Memory mapping to reduce cache conflicts in multiprocessor systems |
WO2012015766A2 (en) * | 2010-07-28 | 2012-02-02 | Rambus Inc. | Cache memory that supports tagless addressing |
-
2015
- 2015-04-07 CN CN201510161109.8A patent/CN106155937B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104040509A (zh) * | 2012-01-18 | 2014-09-10 | 高通股份有限公司 | 在有虚拟标识的高速缓冲存储器中确定别名地址的高速缓存命中/未中及相关系统及方法 |
CN103885890A (zh) * | 2012-12-21 | 2014-06-25 | 华为技术有限公司 | 高速缓冲存储器cache中cache块的替换处理方法和装置 |
Non-Patent Citations (3)
Title |
---|
一种多核系统上基于页着色的内存管理方法;张轶 等;《东北大学学报(自然科学版)》;20140331;第35卷(第3期);第351-355页 |
龙芯2号处理器系统优化关键技术;伍鸣 等;《计算机研究与发展》;20060630(第2006年第06期);第980-986页 |
龙芯处理器上的TLB性能优化技术;张晓辉 等;《计算机研究与发展》;20110215(第2011年第S1期);第322-327页 |
Also Published As
Publication number | Publication date |
---|---|
CN106155937A (zh) | 2016-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20170192886A1 (en) | Cache management for nonvolatile main memory | |
CN105740164B (zh) | 支持缓存一致性的多核处理器、读写方法、装置及设备 | |
CN103154909B (zh) | 分布式高速缓冲存储器一致性协议 | |
KR100978156B1 (ko) | 스누프 필터에서의 실효를 감소시키기 위한 라인 스와핑 스킴을 위한 방법, 장치, 시스템 및 컴퓨터 판독 가능 기록 매체 | |
US7814279B2 (en) | Low-cost cache coherency for accelerators | |
CN104991868B (zh) | 一种多核处理器系统和缓存一致性处理方法 | |
CN107038123A (zh) | 用于数据处理系统中的缓存一致性的探听过滤器 | |
CN110362504A (zh) | 对一致性链路和多级存储器的管理 | |
JP2019519028A (ja) | 異なるキャッシュレベルのキャッシュラインの状態をモニタリングするシャドウタグメモリ | |
CN107784121A (zh) | 一种基于非易失内存的日志文件系统的小写优化方法 | |
US7962694B2 (en) | Partial way hint line replacement algorithm for a snoop filter | |
WO2019062747A1 (zh) | 数据访问方法以及计算机系统 | |
CN107229593A (zh) | 多片多核处理器的缓存一致性操作方法及多片多核处理器 | |
CN109117416A (zh) | 插槽间的数据迁移或交换的方法和装置以及多处理器系统 | |
CN106155937B (zh) | 缓存访问方法、设备和处理器 | |
CN110377531A (zh) | 基于日志结构的持久性内存存储引擎装置及控制方法 | |
CN110032543A (zh) | 一种存储文件系统的管理方法 | |
CN104461932B (zh) | 一种面向大数据应用的目录缓存管理方法 | |
US20120124297A1 (en) | Coherence domain support for multi-tenant environment | |
CN104364776B (zh) | 使用缓存缺失请求提供缓存替换通知 | |
JPWO2017010004A1 (ja) | メモリコントローラ、情報処理装置および処理装置 | |
CN108415861A (zh) | 缓存内容管理 | |
US9760490B2 (en) | Private memory table for reduced memory coherence traffic | |
US20090198925A1 (en) | Apparatus and method for memory migration in a distributed memory multiprocessor system | |
CN104133785B (zh) | 采用混合目录的双控存储服务器的缓存一致性实现方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder |
Address after: 100095 Building 2, Longxin Industrial Park, Zhongguancun environmental protection technology demonstration park, Haidian District, Beijing Patentee after: Loongson Zhongke Technology Co.,Ltd. Address before: 100095 Building 2, Longxin Industrial Park, Zhongguancun environmental protection technology demonstration park, Haidian District, Beijing Patentee before: LOONGSON TECHNOLOGY Corp.,Ltd. |
|
CP01 | Change in the name or title of a patent holder |