具有高速缓存一致性的设备间处理系统

文档序号:1963669 发布日期:2021-12-14 浏览:4次 >En<

阅读说明:本技术 具有高速缓存一致性的设备间处理系统 (Inter-device processing system with cache coherency ) 是由 段立德 陈彦光 刘宏宇 郑宏忠 于 2021-08-13 设计创作,主要内容包括:当在设备间处理系统内的设备之间共享数据的高速缓存行时,所述设备通过利用所述设备中的一个中的目录来维持所述系统的最后级别高速缓存中的数据一致性,所述目录跟踪所述系统的最后级别高速缓存中的存储器地址的一致性协议状态。(When sharing a cache line of data between devices within an inter-device processing system, the devices maintain data coherency in a last level cache of the system by utilizing a directory in one of the devices that tracks a coherency protocol state of a memory address in the last level cache of the system.)

具有高速缓存一致性的设备间处理系统

技术领域

本发明涉及一种设备间处理系统,并且更具体地,涉及一种具有高速缓存一致性的设备间处理系统。

背景技术

设备间处理系统是包括主机处理器和许多专用设备的系统,所述许多专用设备诸如图形处理器单元(GPU)、现场可编程门阵列(FPGA)和固态设备(SSD),所述主机处理器和许多专用设备通过诸如外围组件互连快速(PCIe)总线的外部总线耦合在一起。

另外,主机处理器和专用设备各自具有存储器,其一起形成系统的总存储器空间。例如,从A扩展到E的存储器空间能包括在主机处理器情况下的存储器范围A至B、在GPU情况下的存储器范围B至C、在FPGA情况下的存储器范围C至D以及在SSD情况下的存储器范围D至E。许多专用设备包括一级(L1)高速缓存、二级(L2)高速缓存和主存储器。

进一步地,主机处理器和专用设备在彼此之间共享和修改数据。例如,主机处理器能访问并使用或修改存储在GPU、FPGA和SSD的存储器空间中的数据,同时GPU能访问并使用或修改存储在主机处理器、FPGA和SSD的存储器空间中的数据。

当在许多设备之间共享数据时,重要的是维持数据一致性,即,确保数据的不同副本是相同的。PCIe协议包括用于将数据从例如GPU转移到主机处理器或者从主机处理器转移到GPU的语义(操作数-指令名称)。

为了用PCIe协议维持一致性,程序员必须在编写代码时跟踪有效数据和无效数据被存储在哪里以确保数据的任何副本是相同的。因此,PCIe方法的一个缺点是部分地由于需要时间来监视有效数据的位置,所以编写代码如多线程程序是劳动密集的。

进一步地,当将数据从一个设备的L2高速缓存转移到另一设备的L2高速缓存时,能够被转移的最小数据量是一页数据,其通常等于64个高速缓存行(4KB)。因此,另一缺点是在当需要转移仅几个高速缓存行时必须转移64个高速缓存行(一页)的情况下总线业务过量。

计算快速链路(CXL)是在主机处理器与具有可共享的L2高速缓存存储器的许多专用设备之间相互通信的基于PCIe的方法。然而,开发在各种设备当中维持L2高速缓存一致性的方法取决于程序员。

因此,需要在主机处理器的L2高速缓存与专用设备之间维持高速缓存一致性的方法。

发明内容

本发明简化编程并且减少在设备间处理系统中的设备之间转移高速缓存行所需要的总线业务。本发明的处理系统包括第一设备,具有第一高速缓存。在所述第一设备的第一高速缓存不具有请求数据的有效版本时,所述第一设备输出第一请求以读取所述请求数据。处理系统也包括耦合到所述第一设备的第二设备。所述第二设备具有一致性目录。所述第二设备响应于所述第一请求而检查一致性目录,并且在一致性目录指示任何设备都不具有存放所述请求数据的有效副本的高速缓存行时,输出第一取出指令以取出数据。所述第一请求由第一设备输出到仅第二设备。处理系统还包括耦合到所述第一设备和第二设备的第三设备。所述第三设备具有第三高速缓存和非高速缓存存储器。所述第三设备响应于第一取出指令而将请求数据从非高速缓存存储器输出到仅所述第二设备。所述第二设备将请求数据转发到所述第一设备,并且将一致性目录中的存储器地址的一致性状态从无效状态更新为共享状态,以指示第一设备共享请求数据的副本。

本发明也包括一种用于操作设备间处理系统的方法。该方法包括当本地设备的高速缓存不具有所请求数据的有效版本时,接收带有一存储地址的第一请求,以读取所述请求数据。该方法也包括响应于第一请求而向主机设备检查一致性目录,并且在一致性目录指示任何设备都不具有存放请求数据的有效副本的高速缓存行时:根据一致性目录确定与存储器地址相关联的归属设备,并且向归属设备输出取出指令以从非高速缓存存储器取出请求数据。第一请求仅被寻址到第二设备。所述取出指令仅被寻址到归属设备。该方法还包括:从归属设备接收请求数据;将一致性目录中的存储器地址的一致性状态从无效状态更新为共享状态;以及将请求数据转发到本地设备。

本发明还包括一种非暂时性计算机可读存储介质,该非暂时性计算机可读存储介质在其中嵌入有程序指令,这些程序指令当由设备的一个或多个处理器执行时,使该设备执行操作设备间处理系统的方法。该方法包括当本地设备的高速缓存不具有所请求数据的有效版本时,接收带有一存储地址的第一请求,以读取所述请求数据。该方法也包括响应于第一请求而向主机设备检查一致性目录,并且在一致性目录指示任何设备都不具有带有请求数据的有效副本的高速缓存行时:根据一致性目录确定与存储器地址相关联的归属设备,并且向归属设备输出取出指令以从非高速缓存存储器取出请求数据。第一请求仅被寻址到第二设备。取出指令仅被寻址到归属设备。该方法还包括:从归属设备接收请求数据;将一致性目录中的存储器地址的一致性状态从无效状态更新为共享状态;以及将请求数据转发到本地设备。

通过参考以下详细描述和附图,将获得对本发明的特征和优点的更好理解,以下详细描述和附图阐述了在其中利用本发明的原理的说明性实施例。

附图说明

本文描述的附图被用于提供对本申请的进一步理解并且构成本申请的一部分。本申请的示例性实施例及其描述被用于说明本申请,而不构成对本申请的限制。

图1是图示依照本发明的设备间处理系统100的示例的框图。

图2是图示依照本发明的对处理系统100的一致性更新的示例的流程图。

图3是进一步图示依照本发明的处理系统100的操作的示例的定时图。

图4是图示依照本发明的对处理系统100的一致性更新的示例的框图。

图5是进一步图示依照本发明的处理系统100的操作的示例的定时图。

图6是图示依照本发明的对处理系统100的更新的示例的框图。

图7是进一步图示依照本发明的处理系统100的操作的示例的定时图。

图8是图示依照本发明的对处理系统100的更新的示例的框图。

图9是进一步图示依照本发明的处理系统100的操作的示例的定时图。

图10是图示依照本发明的操作设备间处理系统的方法1000的示例的流程图。

具体实施方式

图1示出了图示依照本发明的设备间处理系统100的示例的框图。如图1所示,处理系统100包括主机处理器110、诸如图形处理器单元(GPU)的第一专用设备112、诸如现场可编程门阵列(FPGA)的第二专用设备114以及诸如固态设备(SSD)的第三专用设备116。

另外,处理系统100也包括外部总线118,诸如外围组件互连快速(PCIe)总线,其将主机处理器110、第一专用设备112、第二专用设备114和第三专用设备116耦合在一起。总线118能够使用任何合适的电、光或无线技术来实现。

主机处理器110具有包括主存储器122和高速缓存存储器124的存储器120。高速缓存存储器124进而包括许多级别,包括一个或多个较低级别(LL)124-1和最后级别124-2。类似地,第一专用设备112、第二专用设备114和第三专用设备116分别具有存储器130、140和150。

存储器130包括主存储器132和高速缓存存储器134。高速缓存存储器134包括许多级别,包括一个或多个较低级别134-1和最后级别134-2。存储器140包括主存储器142和高速缓存存储器144。高速缓存存储器144包括许多级别,包括一个或多个较低级别144-1和最后级别144-2。存储器150包括主存储器152和高速缓存存储器154。高速缓存存储器154包括许多级别,包括一个或多个较低级别154-1和最后级别154-2。

在具有两个高速缓存级别的存储器中,较低级别具有L1高速缓存,然而最后级别具有以常规方式耦合到L1高速缓存和主存储器的L2高速缓存。在具有三个高速缓存级别的存储器中,较低级别具有以常规方式耦合在一起的L1高速缓存和L2高速缓存,然而最后级别具有以常规方式耦合到L2高速缓存和主存储器的L3高速缓存。

在具有四个高速缓存级别的存储器中,较低级别具有以常规方式耦合在一起的L1高速缓存、L2高速缓存和L3高速缓存,然而最后级别具有以常规方式耦合到L3高速缓存和主存储器的L4高速缓存。作为示例,L1高速缓存通常存储50KB的数据,然而L2高速缓存通常存储500KB的数据并且主存储器通常存储10GB的数据。也能够使用其他高速缓存和主存储器大小。

如图1进一步所示,最后级别高速缓存124-2、134-2、144-2、154-2中的每一个具有许多高速缓存行,其中每个高速缓存行包括存储器地址、修改-共享-无效(MSI)高速缓存一致性指示符和数据。每个高速缓存行能够按需包括附加项。在MSI协议中,用三种不同的一致性状态中的一种标记每个高速缓存行,“M”代表修改,“S”代表共享,并且“I”代表无效。

当用“M”标记高速缓存行时,高速缓存行中的数据已被修改并且高速缓存行具有唯一有效副本。当用“S”标记高速缓存行时,高速缓存行中的数据是许多未修改副本中的一个。另外,不能在处于S状态下时修改高速缓存行中的数据。当用“I”标记高速缓存行时,高速缓存行中的数据无效。能够交替地使用MSI协议的各种扩展,诸如MESI和MOSI以及其他协议。

如图1另外所示,主机处理器110附加地包括耦合到对应的较低级别高速缓存124-1的许多CPU核心128。仅出于图示的目的示出了四个核心。能够交替地使用其他数量的核心。类似地,第一专用设备112、第二专用设备114和第三专用设备116具有分别耦合到较低级别高速缓存134-1、144-1和154-1的处理器138、148和158。

如图1附加地所示,主机处理器110也包括具有专用处理的归属代理160和维持一致性目录162的存储器。目录162包括存储器地址的列表,并且对于每个存储器地址,包括存储器-地址-归属指示符、MSI高速缓存一致性指示符和指针。一致性目录162中的每个存储器地址能够按需包括附加项,但是不存储关联的请求数据。

存储空间被划分为使得例如,第一地址范围被存储在主机主存储器122中,第二地址范围被存储在专用设备112的主存储器132中,第三地址范围被存储在专用设备114的存储器142中,并且第四地址范围被存储在专用设备116的主存储器152中。

存储器-地址-归属指示符进而标识包括存储器地址的主存储器。例如,位于专用设备114的地址范围内的存储器地址的存储器地址归属是专用设备114。任选地,为了节省存储器空间,能够省略存储器-地址-归属指示符,并且归属代理160能够根据给定存储器地址计算存储器地址归属。另外,当最后级别高速缓存的高速缓存行存储数据的有效副本时,一致性目录162中的指针标识具有有效副本的高速缓存。

在操作中,主机处理器110以及专用设备112、114和116在彼此之间共享和修改数据,同时维持高速缓存一致性。当处理器(核心128、处理器138、处理器148或处理器158)输出要读取与存储器地址“X”相关联的请求数据的请求时,该请求首先转向关联的较低级别高速缓存(分别为124-1、134-1、144-1或154-1),其在存在且有效时提供数据。当在较低级别高速缓存中不存在或无效时,请求转向关联的最后级别高速缓存(分别为124-2、134-2、144-2或154-2),其在存在且有效时提供数据。

当用“I”标记关联的最后级别高速缓存中的MSI状态以指示与存储器地址X相关联的数据无效或不存在时,请求读取请求的处理器的设备将该请求转发到仅(无广播)归属代理160。归属代理160响应于读取请求而检查一致性目录162,并且当用“I”标记归属代理160的一致性目录162中的存储器地址的MSI状态以指示最后级别高速缓存当中谁都不具有保持数据的有效副本的存储器地址X的高速缓存行时,归属代理160通过读取存储器-地址-归属指示符或通过根据存储器地址X计算主存储器的归属来确定与存储器地址X相关联的主存储器的归属。

此后,归属代理160向主存储器的仅(无广播)归属输出取出指令,这将与存储器地址X相关联的请求数据输出回到仅(无广播)归属代理160。归属代理160然后将数据转发到请求了数据的处理器的最后级别高速缓存。

例如,当处理器138输出要读取与存储器地址“X”相关联的数据的请求时,该请求首先转向较低级别高速缓存134-1,其在存在且有效时提供数据。当在较低级别高速缓存134-1中不存在或无效时,请求转向最后级别高速缓存134-2,其在存在且有效时提供数据。

如图1所示,当用“I”标记最后级别高速缓存134-2中的MSI状态以指示与存储器地址X相关联的数据无效时,存储器130通过总线118将请求转发到仅归属代理160。归属代理160检查一致性目录162,并且当用“I”标记归属代理160中的存储器地址的MSI状态以指示最后级别高速缓存当中谁都不具有保持存储器地址X处的数据的有效副本的高速缓存行时,归属代理160确定存储器地址X的归属位于与例如第二专用设备114的主存储器142相关联的存储器范围内。

此后,归属代理160向仅第二专用设备114的主存储器142输出取出指令,这将与存储器地址X相关联的数据输出回到归属代理160。归属代理160然后将数据转发到第一专用设备112以被提供给处理器138。

图2示出了图示依照本发明的对处理系统100的一致性更新的示例的框图。在图2示例中,第一专用设备112输出读取请求,并且主存储器的归属是第二专用设备114的主存储器142。

如图2所示,归属代理160既将一致性目录162中的存储器地址X的MSI状态从无效的I更新为共享的S,又更新指向专用设备112的最后级别(LL)指针字段。另外,第一专用设备112在最后级别高速缓存134-2中将存储器地址X的MSI状态从无效的I更新为共享的S。

图3示出了进一步图示依照本发明的处理系统100的操作的示例的定时图。图3被图示有CXL规范中描述的语义(操作数-指令名称)。如图3所示,请求者1(例如,图2示例中的专用设备112)在“I”状态下开始,并且向仅归属代理160输出CXL.cache和RdShared(读取共享)指令以请求请求数据。

当归属代理160也处于I状态时,归属代理160向存储器地址的归属(图2示例中的专用设备114)发送CXL.mem、MemRd(存储器读取)和SnpData(窥探数据)指令,所述归属进而用CXL.mem和MemData(存储器数据)响应。

归属代理160将状态从I更新为S,并且在一致性目录162中添加到请求者1(专用设备112(共享者={本地设备}))的指针,并且将CXL.cache和H2D数据输出到请求者1(专用设备112),其在最后级别高速缓存134-2中将MSI协议状态从I更新为S。

因此,本发明的优点之一是本发明允许从一个专用设备向另一专用设备转移少至一个高速缓存行,这在与转移一页高速缓存行时相比显著地减少总线业务。另外,不需要编程干预。程序员仅需要插入读取指令,而无需在编码期间手动地跟踪协议状态以确保高速缓存一致性。

再次参考图2并继续以上示例,当第三专用设备116的处理器158输出要读取存储器地址“X”的请求时,该请求首先转向较低级别高速缓存154-1,其在存在且有效时提供数据。当在较低级别高速缓存154-1中不存在或无效时,请求转向最后级别高速缓存154-2,其在存在且有效时提供数据。

如图2所示,当用“I”标记最后级别高速缓存154-2中的存储器地址X的高速缓存行的MSI状态以指示与存储器地址X相关联的数据无效时,存储器150将请求转发到仅归属代理160。响应于所有读取请求,归属代理160检查一致性目录162,并且当用“S”标记归属代理160中的存储器地址的MSI状态以指示最后级别高速缓存中的一个或多个保持与存储器地址X相关联的数据的有效副本时,归属代理160根据指针来确定具有有效副本的设备,例如,在此示例中第一专用设备112具有有效副本。

此后,归属代理160向仅第一专用设备112的最后级别高速缓存134-2输出取出指令,这将与存储器地址X相关联的数据输出回到归属代理160。归属代理160然后将数据转发到第三专用设备116以被提供给处理器158。

图4示出了图示依照本发明的对处理系统100的一致性更新的示例的框图。如图4所示,归属代理160让存储器地址X的MSI状态留在共享的S下,但是更新一致性目录162中的指针以也指向专用设备116。另外,存储器150将最后级别高速缓存154-2中的存储器地址X的MSI状态从无效的I更新为共享的S。

本发明的另一优点是从最后级别高速缓存134-2的高速缓存行获得数据比从主存储器142获得数据快得多。在本示例中,最后级别高速缓存124-2、134-2、144-2和154-2用RAM存储器实现,然而主存储器用诸如硬盘驱动器的慢得多的存储器类型实现。

图5示出了进一步图示依照本发明的处理系统100的操作的示例的定时图。图5也被图示有CXL规范中描述的语义(操作数-指令名称)。如图5所示,诸如专用设备116的请求者2在“I”状态下开始,并且如之前一样,将CXL.cache和RdShared(读取共享)指令输出到归属代理160中的一致性导向器162以请求高速缓存行数据。

当归属代理160处于S状态时,归属代理160将CXL.mem、MemRd(存储器读取)和SnpData(窥探数据)指令发送到通过指针标识为具有请求数据的有效副本的设备(专用设备112),其进而用CXL.mem和MemData(存储器数据)响应。归属代理160维持S的状态,将专用设备116添加到指针(共享者=共享者+{本地设备}),并且将CXL.cache和H2D数据输出到专用设备116,其将MSI状态从I更新为S。

再次参考图4并继续以上示例,当处理器138输出要将数据写入到存储器地址“X”的高速缓存行的请求时,该请求被导向最后级别高速缓存134-2,其确定最后级别高速缓存134-2是否具有写入数据的权限,即,存储器地址X的高速缓存行是否处于M状态。当处于M状态时,最后级别高速缓存134-2接受写入数据。

当用S(或I)标记最后级别高速缓存134-2中的MSI状态以指示与存储器地址X相关联的数据是共享的(或无效的)时,存储器150通过总线118将写入请求转发到仅归属代理160。响应于所有写入请求,归属代理160检查一致性目录162,并且当用“S”标记归属代理160中的存储器地址X的MSI状态以指示最后级别高速缓存正在共享存储器地址X处的数据的有效副本(或者用I标记以指示无高速缓存具有有效副本)时,归属代理160将一致性目录162中的状态改变为修改的“M”。

当仅最后级别高速缓存134-2具有有效副本(或者无最后级别高速缓存具有有效副本)时,归属代理160向最后级别高速缓存134-2发送授权,该最后级别高速缓存将MSI协议状态改变为M,然后接受来自处理器138的写入数据。此后,最后级别高速缓存134-2将数据写入到归属代理160,其进而将数据写入到归属设备(本示例中的专用设备114)的主存储器。

当处理器158(而不是处理器138)输出要将数据写入到存储器地址“X”的高速缓存行的请求时,该请求被导向最后级别高速缓存154-2,其确定最后级别高速缓存154-2是否具有写入数据的权限,即,存储器地址X的高速缓存行是否处于M状态。当处于M状态时,最后级别高速缓存154-2接受写入数据。

当用“S”标记最后级别高速缓存154-2中的MSI状态以指示与存储器地址X相关联的数据是共享的时,存储器150通过总线118将请求转发到仅归属代理160。归属代理160检查一致性目录162,并且当用“S”标记归属代理160中的存储器地址X的MSI状态以指示最后级别高速缓存正在共享存储器地址X处的数据的有效副本时,归属代理160将一致性目录162中的状态改变为修改的“M”,并且从指针中删除专用设备112。

另外,归属代理160向专用设备112(共享设备)发送无效消息,这在最后级别高速缓存134-2中将MSI协议状态改变为无效的“I”。进一步地,归属代理160向最后级别高速缓存154-2发送授权,该最后级别高速缓存将MSI协议状态改变为M,然后接受来自处理器158的写入数据。

图6示出了图示依照本发明的对处理系统100的更新的示例的框图。如图6所示,归属代理160将一致性目录162中的存储器地址X的MSI状态从共享的S改变为修改的M,并且更新指针以移除专用设备112。另外,存储器130将最后级别高速缓存134-2中的存储器地址X的MSI状态更新为无效的I。归属代理160也向专用设备116发送批准消息,该专用设备将数据写入到最后级别高速缓存154-2并且将最后级别高速缓存154-2中的MSI协议状态从共享的S更新为修改的M。此后,最后级别高速缓存154-2将数据写入到归属代理160,其进而将数据写入到归属设备的主存储器(本示例中的专用设备114的主存储器142)。

图7示出了进一步图示依照本发明的处理系统100的操作的示例的定时图。图7也被图示有CXL规范中描述的语义(操作数-指令名称)。如图7所示,专用设备116在“S”协议状态下开始并且向归属代理160输出CXL.cache、MemWr(存储器写入)和或ItoMWr指令以请求将新数据写入到存储器地址X的高速缓存行中的权限。

当归属代理160处于S协议状态时,归属代理160向指针中的共享设备(专用设备112)发送CXL.mem、MemInv(存储器无效)和SnpInv(窥探无效)指令),该共享设备进而通过将最后级别高速缓存134-2中的MSI协议状态从共享的S改变为无效的I来响应。

归属代理160也将一致性目录162中的MSI协议状态从共享的S更新为修改的M。另外,归属代理160向专用设备116发送批准消息,该专用设备将数据写入到最后级别高速缓存154-2并且将最后级别高速缓存154-2中的MSI协议状态从共享的S更新为修改的M。

再次参考图6并继续以上示例,当CPU核心128输出要读取与存储器地址“X”相关联的数据的请求时,该请求首先转向关联的较低级别高速缓存124-1,其在存在且有效时提供数据。当在较低级别高速缓存124-1中不存在或无效时,请求转向最后级别高速缓存124-2,其在存在且有效时提供数据。

当用“I”标记最后级别高速缓存124-2中的MSI状态以指示与存储器地址X相关联的数据无效或不存在时,存储器120将请求转发到仅归属代理160。归属代理160检查一致性目录162,并且当用“M”标记归属代理160中的存储器地址的MSI状态以指示仅一个最后级别高速缓存保持与存储器地址X相关联的数据的有效副本时,归属代理160确定专用设备116具有来自指针的有效副本。

此后,归属代理160向仅第三专用设备116的最后级别高速缓存154-2输出取出指令,这将与存储器地址X相关联的数据输出回到归属代理160。此后,归属代理160接收请求数据并且然后将其转发到存储器120以被提供给CPU核心128。

图8示出了图示依照本发明的对处理系统100的更新的示例的框图。如图8所示,归属代理160将一致性目录162中的存储器地址X的MSI状态从修改的M更新为共享的S,并且更新指针以也指向主机处理器110。另外,专用设备116将最后级别高速缓存154-2中的存储器地址X的MSI状态从修改的M更新为共享的S,并且主机处理器110将最后级别高速缓存124-2中的MSI状态从无效的I更新为共享的S。

图9示出了进一步图示依照本发明的处理系统100的操作的示例的定时图。图9也被图示有CXL规范中描述的语义(操作数-指令名称)。如图9所示,最后级别高速缓存124-2在“I”状态下开始,并且如之前一样,向归属代理160输出CXL.cache和RdShared(读取共享)指令以请求高速缓存行数据。

当归属代理160的一致性导向器162中的存储器地址处于M状态时,归属代理160将CXL.mem和SnpData(窥探数据)指令发送到通过指针标识的设备(专用设备116),该设备进而用CXL.cache和D2H数据响应。归属代理160将协议状态从M改变为S,将主机设备110添加到指针(共享者=共享者+{本地设备}),并且将CXL.cache和H2D数据输出到最后级别高速缓存124-2,其将MSI状态从I更新为S。专用设备116也将MSI状态从M改变为S。

图10示出了图示依照本发明的操作设备间处理系统的方法1000的示例的流程图。如图10所示,方法1000在步骤1010开始,通过当本地设备(例如,112)的高速缓存不具有所请求数据的有效版本时,接收带有一存储地址的第一请求,以读取所述请求数据;。方法1000接下来移动到1012以响应于第一请求而向主机设备(例如,110)检查一致性目录,并且当一致性目录指示任何设备都不具有带有请求数据的有效副本的高速缓存行时,方法1000移动到1014,以根据一致性目录确定与存储器地址相关联的归属设备(例如,114),并且向归属设备输出取出指令以从非高速缓存存储器取出请求数据。第一请求仅被寻址到主机设备。取出指令仅被寻址到归属设备。

此后,方法1000移动到1016以从归属设备接收请求数据。接下来,方法1000移动到1018以将一致性目录中的存储器地址的一致性状态从无效状态更新为共享状态,然后移动到1020以将请求数据转发到本地设备。

现在已经详细地参考了本公开的各种实施例,其示例被图示在附图中。根据所提供的示例,能够容易地理解数据在主机处理器110与专用设备112、114和116之间的移动以及一致性过程的附加示例。

虽然结合各种实施例来描述,但是应理解,这些各种实施例不旨在限制本公开。相反,本公开旨在涵盖可以被包括在如根据权利要求解释的本公开的范围内的替代方案、修改和等同物。

此外,在本公开的各种实施例的前面的详细描述中,阐述了许多具体细节以便提供对本公开的透彻理解。然而,本领域的普通技术人员将认识到,可以在没有这些具体细节的情况下或用其等同物实践本公开。在其他情况下,尚未详细地描述公知方法、程序、组件和电路,以免不必要地使本公开的各种实施例的各方面混淆。

应注意,尽管为了清楚可以在本文中将方法描述为序列,但是序列不一定规定操作的次序。应该理解,可以跳过、并行执行或在无需维持序列的严格次序的情况下执行操作中的一些。

示出依照本公开的各种实施例的附图是半图解的并且未按比例绘制,特别地,一些尺寸是为了呈现的清楚并且被示出为在附图中被放大。类似地,尽管为了便于描述附图中的视图通常示出类似的定向,但是各图中的这种描绘在很大程度上是任意的。通常,能够在任何定向上操作依照本公开的各种实施例。

详细描述的一些部分是按对计算机存储器内的数据位的操作的程序、逻辑块、处理和其他符号表示而呈现的。这些描述和表示由数据处理领域的技术人员使用来将其工作的实质有效地传达给本领域的其他技术人员。

在本公开中,程序、逻辑块、过程等被认为是导致期望结果的操作或指令的自洽序列。操作是利用物理量的物理操纵的操作。通常,尽管不一定,但是这些量采取能够在计算系统中被存储、转移、组合、比较和以其他方式操纵的电信号或磁信号的形式。有时,主要出于常见用法的原因,将这些信号称为事务、位、值、元素、符号、字符、样本、像素等已证明是方便的。

然而,应该记住,所有这些和类似的术语都将与适当的物理量相关联并且仅仅是应用于这些量的方便标签。除非如从以下讨论中显而易见的那样另外具体地陈述,否则应领会,贯穿本公开,利用诸如“生成”、“确定”、“指配”、“聚合”、“利用”、“虚拟化”、“处理”、“访问”、“执行”、“存储”等的讨论是指计算机系统或类似的电子计算设备或处理器的动作和过程。

计算系统或类似的电子计算设备或处理器将表示为计算机系统存储器、寄存器、其他此类信息存储装置和/或其他计算机可读介质内的物理(电子)量的数据操纵并转换成类似地表示为计算机系统存储器或寄存器或其他此类信息存储装置、传输或显示设备内的物理量的其他数据。

已参考本申请的实施例的附图在在先部分中清楚地且完全地描述了本申请的实施例中的技术解决方案。应该注意,在本发明的说明书、权利要求书中并在以上附图中的术语“第一”、“第二”等用于区分类似的对象,而不一定用于描述特定顺序或次序。应该理解,可以酌情互换这些数字,使得能够按除本文图示或描述的次序以外的次序实现本文描述的本发明的实施例。

本实施例的操作和方法中描述的功能能够用逻辑或者用软件和处理单元加以实现。如果被以软件功能单元的形式实现并且作为独立产品出售或使用,则能够被存储在计算设备可读存储介质中。基于这种理解,可以以存储在存储介质中的软件产品的形式体现对现有技术做出贡献的本申请的实施例的一部分或技术方案的一部分,所述软件产品包括用于使计算设备(其可以是个人计算机、服务器、移动计算设备或网络设备等)执行本申请的各种实施例中描述的方法的步骤的全部或部分的多个指令。前面的存储介质包括:USB驱动器、便携式硬盘、只读存储器(ROM)、随机存取存储器(RAM)、磁盘、光盘等,它们能够存储程序代码。

以渐进方式描述本申请的说明书中的各种实施例,并且每个实施例集中于其与其他实施例的差异,以及可以将各种实施例之间相同或类似的部分转介到另一案例。所描述的实施例仅是实施例的一部分,而不是本申请的实施例的全部。由本领域的普通技术人员基于本申请的实施例所获得的所有其他实施例都在本申请的范围内。

所公开的实施例的以上描述使得本领域的技术人员能够做出或使用本申请。对这些实施例的各种修改对本领域的技术人员而言是显然的,并且在不脱离本申请的精神或范围的情况下,可以在其他实施例中实现本文定义的一般原理。因此,本申请不限于本文示出的实施例,而是与本文公开的原理和新颖特征一致的最广泛范围。

应该理解,以上描述是本发明的示例,并且可以在实践本发明时采用本文描述的本发明的各种替代方案。因此,以下权利要求旨在限定本发明的范围,并且由此涵盖在这些权利要求及其等同物的范围内的结构和方法。

23页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:信息显示方法、装置、可穿戴设备和可读存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!