首页 / 专利库 / 专利权 / 专利合作条约 / 第I章 / 国际申请 / 修改 / 在具有混合体系结构的系统中使用原子操作来修改信息单元的方法和装置

在具有混合体系结构的系统中使用原子操作来修改信息单元的方法和装置

阅读:530发布:2020-12-05

专利汇可以提供在具有混合体系结构的系统中使用原子操作来修改信息单元的方法和装置专利检索,专利查询,专利分析的服务。并且一种用于 修改 信息单元的系统和方法,所述方法包括以下阶段:(i)通过第一总线接收启动与位于存储模 块 的第一地址的至少一个信息单元关联的监听型 原子 操作的 请求 ;(ii)通过第一总线提供该信息单元;(iii)尝试完成对已更新的信息单元的监听型原子操作;以及(iv)如果在接收、提供和尝试中的至少一个阶段期间,该第一地址由于 锁 定型原子操作而被锁定,则将该原子操作定义为失败的原子操作。,下面是在具有混合体系结构的系统中使用原子操作来修改信息单元的方法和装置专利的具体信息内容。

1.一种用于使用原子操作修改信息单元的方法,所述方法包括以下阶段:
通过第一总线从第一请求部件接收启动与位于存储模的第一地址处的信息单元相关联的监听型原子操作的请求;
通过所述第一总线提供所述信息单元到所述第一请求部件;
读取所述信息单元并且确定是否应当修改所述信息单元来提供已修改的信息单元,其中如果答案是肯定的,则所述第一请求部件尝试更新所述信息单元以将已修改的信息单元提供为已更新的信息单元;
尝试完成与已更新的信息单元相关联的监听型原子操作;以及
如果在所述接收、提供和尝试阶段期间,所述第一地址由于定型原子操作而被锁定,则将所述监听型原子操作定义为失败的原子操作。
2.根据权利要求1的所述方法,其中所述接收阶段包括:接收执行监听型原子读操作的请求。
3.根据权利要求1的所述方法,其中所述尝试完成阶段包括:尝试对已更新的信息单元执行监听型原子写操作。
4.根据权利要求1的所述方法,其中通过第二总线提供启动所述锁定型原子操作的请求。
5.根据权利要求1的所述方法,其中所述信息单元包括信号量。
6.根据权利要求1的所述方法,其中所述尝试阶段包括:通过所述第一总线提供已更新的信息单元。
7.根据权利要求1的所述方法,其进一步包括:重复所述接收、提供和尝试阶段,直到完成成功的监听型原子操作。
8.根据权利要求1的所述方法,其中所述锁定型原子操作是锁定型原子读操作。
9.根据权利要求1的所述方法,其中所述锁定型原子操作是锁定型原子写操作。
10.根据权利要求1的所述方法,其进一步包括如下阶段:接收启动对位于所述第一地址处的信息单元的监听型原子操作的另一请求,以及在所述监听型原子操作之间进行仲裁。
11.一种用于修改信息单元的方法,所述方法包括以下阶段:
通过第一总线从第一请求部件接收对位于存储模块的第一地址处的信息单元执行原子读操作的请求;
通过所述第一总线提供所述信息单元;
读取所述信息单元并且确定是否应当修改所述信息单元来提供已修改的信息单元,其中如果答案是肯定的,则所述第一请求部件尝试更新所述信息单元以将已修改的信息单元提供为已更新的信息单元;
如果在所述接收和提供阶段中的至少一个阶段期间,所述第一地址并未由于锁定型原子操作而被锁定,则由所述第一请求部件尝试对已更新的信息单元执行监听型原子写操作。
12.根据权利要求11的所述方法,其中通过第二总线提供启动所述锁定型原子操作的请求。
13.根据权利要求11的所述方法,其中所述信息单元包括信号量。
14.根据权利要求11的所述方法,其中所述尝试阶段包括:通过所述第一总线提供已更新的信息单元。
15.根据权利要求11的所述方法,其进一步包括:重复所述接收、提供和尝试阶段,直到完成成功的监听型原子操作。
16.根据权利要求11的所述方法,其中所述锁定型原子操作是锁定型原子读操作。
17.根据权利要求11的所述方法,其进一步包括如下阶段:接收对位于所述第一地址处的信息单元执行监听型原子读操作的另一请求,以及在所述监听型原子读操作之间进行仲裁。
18.一种用于使用原子操作修改信息单元的装置,所述装置包括:
用于通过第一总线从第一请求部件接收启动与位于存储模块的第一地址处的信息单元相关联的监听型原子操作的请求的装置;
用于通过所述第一总线提供所述信息单元到所述第一请求部件的装置;
用于读取所述信息单元并且确定是否应当修改所述信息单元来提供已修改的信息单元,其中如果答案是肯定的,则所述第一请求部件尝试更新所述信息单元以将已修改的信息单元提供为已更新的信息单元的装置;
用于尝试完成与已更新的信息单元相关联的监听型原子操作的装置;以及用于如果在所述接收、提供和尝试阶段期间,所述第一地址由于锁定型原子操作而被锁定,则将所述监听型原子操作定义为失败的原子操作的装置。
19.根据权利要求18的所述装置,其中通过第二总线提供启动所述锁定型原子操作的请求。
20.根据权利要求18的所述装置,其中所述信息单元包括信号量。
21.根据权利要求18的所述装置,其中所述锁定型原子操作是锁定型原子读操作。
22.一种用于修改信息单元的装置,所述装置包括:
用于通过第一总线从第一请求部件接收对位于存储模块的第一地址处的信息单元执行原子读操作的请求的装置;
用于通过所述第一总线提供所述信息单元的装置;
用于读取所述信息单元并且确定是否应当修改所述信息单元来提供已修改的信息单元,其中如果答案是肯定的,则所述第一请求部件尝试更新所述信息单元以将已修改的信息单元提供为已更新的信息单元的装置;
用于如果在所述接收和提供阶段中的至少一个阶段期间,所述第一地址并未由于锁定型原子操作而被锁定,则由所述第一请求部件尝试对已更新的信息单元执行监听型原子写操作的装置。
23.根据权利要求22的所述装置,其中所述锁定型原子操作是锁定型原子读操作。
24.根据权利要求22的所述装置,其中通过第二总线提供启动所述锁定型原子操作的请求。

说明书全文

在具有混合体系结构的系统中使用原子操作来修改信息单

元的方法和装置

技术领域

[0001] 本发明涉及用于修改信息单元的方法和装置,其使用原子操作,具体是在便于不同类型的原子操作(atomic operation)的环境中。

背景技术

[0002] 成功的原子操作包括不间断的操作序列。如果未完成该序列,则把原子操作看作是失败的原子操作。典型的原子操作包括“读取-修改-写入”操作。
[0003] 很多现代设备包括多个半导体部件,例如微处理器、直接存储访问单元、微控制器等。为了降低这些日趋复杂的设备的成本,多个部件共享相同的系统资源。共享资源典型地是存储体、总线、外围设备等。
[0004] 为了避免冲突,共享资源在此时仅可以由一个主要部件来控制。典型的控制方案包括在尝试控制从属部件之前确定共享资源的可用性。Moriarty等人的题为“Self-modifying synchronization memory address space and protocol for communication between multiple bus masters of a computer system”的美国专利6,446,149描述了一种用于管理共享资源的方法,在此通过引用将其包括在本文中。
[0005] 共享资源的可用性通常由信号量(semaphore)表示。信号量是可以被各个部件访问的标志或状态指示符。它通常驻留于预定的存储地址处,并且其值反映了共享资源是否可用。
[0006] 使用“读取-修改-写入”原子操作来更新信号量是一般惯例。存在两种用于更新信号量的普通方法。第一种方法涉及定存储信号量的存储模直到完成信号量更新过程。在一些现有技术系统中,存储模块以及可选择的一个或多个总线在信号量更新过程期间是被锁定的。锁定型信号量更新过程通常包括:(i)锁定存储模块以及可选择的一个或多个总线;(ii)由请求部件读取信号量;(iii)响应于信号量的值,确定共享资源是否可用;(iv)如果信号量值指示共享资源可用,则改变该信号量以指示共享资源被预定由请求部件来使用,否则确定共享实体不可用,以及(v)解锁先前锁定的存储器以及一个或多个总线。该方法导致总线和存储性能的显著降低。
[0007] 第二种方法包括地址监听(address snooping)。在该方法中,存储模块以及任选的一个或多个总线在整个过程期间并未锁定。请求部件并不阻止其它部件访问存储模块,但却监控该存储模块以确定是否在读取和期望的修改阶段之间修改了信号量。如果发生了这样的修改,则将原子操作标记为失败的原子操作,并且请求部件可以判定是否重复该原子操作。
[0008] 监听型原子操作比锁定型原子操作更为带宽有效,但却更为复杂。Eiffert等人的题为“Method and apparatus for performing atomic accesses in a data processing system”的美国专利5727172描述了一种地址监听方法,在此通过引用将其包括在本文中。其要求监听逻辑来支持多个总线主控器。
[0009] 由于很多现代半导体部件的以及尤其是微处理器的复杂性,大多数半导体器件的设计基于以前开发的部件。在一些情况下,共享资源的各种半导体组件应用不同类型的原子操作。
[0010] Krein的题为“Method for semaphore communication between incompatible bus locking architectures”的美国专利5548780描述了一种多总线体系结构,其包括用于在不同总线之间传播原子操作的多个总线桥,本专利在此通过引用包括入本文中。该方法要求信号量具有将指示共享资源的可用性的某个预定值。
[0011] Morrison等人的题为“Mechanism for implementing bus locking with a mixed architecture”的美国专利6381663描述了一种用于在支持原子操作的总线与不支持原子操作的另一总线之间桥接的装置和方法,在此通过引用将其包括在本文中。该解决方案就性能来说代价非常的高。
[0012] 需要提供一种能够有效处理不同类型的原子事务的装置和方法。

发明内容

[0013] 根据本发明第一方面,提供一种用于使用原子操作修改信息单元的方法,所述方法包括以下阶段:通过第一总线从第一请求部件接收启动与位于存储模块的第一地址处的信息单元相关联的监听型原子操作的请求;通过所述第一总线提供所述信息单元到所述第一请求部件;读取所述信息单元并且确定是否应当修改所述信息单元来提供已修改的信息单元,其中如果答案是肯定的,则所述第一请求部件尝试更新所述信息单元以将已修改的信息单元提供为已更新的信息单元;尝试完成与已更新的信息单元相关联的监听型原子操作;以及如果在所述接收、提供和尝试阶段期间,所述第一地址由于锁定型原子操作而被锁定,则将所述监听型原子操作定义为失败的原子操作。
[0014] 在上述方法中,所述接收阶段包括:接收执行监听型原子读操作的请求。
[0015] 在上述方法中,所述尝试完成阶段包括:尝试对已更新的信息单元执行监听型原子写操作。
[0016] 在上述方法中,通过第二总线提供启动所述锁定型原子操作的请求。
[0017] 在上述方法中,所述信息单元包括信号量。
[0018] 在上述方法中,所述尝试阶段包括:通过所述第一总线提供已更新的信息单元。
[0019] 上述方法进一步包括:重复所述接收、提供和尝试阶段,直到完成成功的监听型原子操作。
[0020] 在上述方法中,所述锁定型原子操作是锁定型原子读操作。
[0021] 在上述方法中,所述锁定型原子操作是锁定型原子写操作。
[0022] 上述方法进一步包括如下阶段:接收启动对位于所述第一地址处的信息单元的监听型原子操作的另一请求,以及在所述监听型原子操作之间进行仲裁。
[0023] 根据本发明第二方面,提供一种用于修改信息单元的方法,所述方法包括以下阶段:通过第一总线从第一请求部件接收对位于存储模块的第一地址处的信息单元执行原子读操作的请求;通过所述第一总线提供所述信息单元;读取所述信息单元并且确定是否应当修改所述信息单元来提供已修改的信息单元,其中如果答案是肯定的,则所述第一请求部件尝试更新所述信息单元以将已修改的信息单元提供为已更新的信息单元;如果在所述接收和提供阶段中的至少一个阶段期间,所述第一地址并未由于锁定型原子操作而被锁定,则由所述第一请求部件尝试对已更新的信息单元执行监听型原子写操作。
[0024] 在上述方法中,通过第二总线提供启动所述锁定型原子操作的请求。
[0025] 在上述方法中,所述信息单元包括信号量。
[0026] 在上述方法中,所述尝试阶段包括:通过所述第一总线提供已更新的信息单元。
[0027] 上述方法进一步包括:重复所述接收、提供和尝试阶段,直到完成成功的监听型原子操作。
[0028] 在上述方法中,所述锁定型原子操作是锁定型原子读操作。
[0029] 上述方法进一步包括如下阶段:接收对位于所述第一地址处的信息单元执行监听型原子读操作的另一请求,以及在所述监听型原子读操作之间进行仲裁。
[0030] 根据本发明第三方面,提供一种用于使用原子操作修改信息单元的装置,所述装置包括:存储模块,其适于将信息单元存储在第一地址;控制器,其耦合到第一总线和所述存储模块;所述控制器包括:用于接收启动与位于存储模块的第一地址处的信息单元相关联的监听型原子操作的请求的装置;用于通过所述第一总线提供所述信息单元的装置;用于配置第一请求部件来读取所述信息单元并且确定是否应当修改所述信息单元来提供已修改的信息单元,其中如果答案是肯定的,则所述第一请求部件尝试更新所述信息单元以将已修改的信息单元提供为已更新的信息单元的装置;用于尝试完成对已更新的信息单元的监听型原子操作的装置;以及用于如果在所述用于接收、提供和尝试的装置中的至少一个装置中所述第一地址由于锁定型原子操作而被锁定,则将所述原子操作定义为失败的原子操作的装置。
[0031] 在上述用于使用原子操作修改信息单元的装置中,通过第二总线提供启动所述锁定型原子操作的请求。
[0032] 在上述用于使用原子操作修改信息单元的装置中,所述信息单元包括信号量。
[0033] 在上述用于使用原子操作修改信息单元的装置中,所述控制器进一步包括用于通过所述第一总线发送失败的原子操作的装置。
[0034] 在上述用于使用原子操作修改信息单元的装置中,所述锁定型原子操作是锁定型原子读操作。
[0035] 上述用于使用原子操作修改信息单元的装置进一步包括耦合到所述第一总线的第一处理器以及耦合到所述第二总线的第二处理器。
[0036] 根据本发明第四方面,提供一种用于修改信息单元的装置,所述装置包括:第一请求部件,其适于通过第一总线发送对位于存储模块的第一地址处的信息单元执行原子读操作的请求,以及适于读取所述信息单元并且确定是否应当修改所述信息单元来提供已修改的信息单元,其中如果答案是肯定的,则所述第一请求部件尝试更新所述信息单元以将已修改的信息单元提供为已更新的信息单元;控制器,其被配置以便于通过所述第一总线提供所述信息单元;而所述第一请求部件进一步适于:如果在接收和提供中的至少一个阶段期间,所述第一地址并未由于锁定型原子操作而被锁定,则尝试对已更新的信息单元执行监听型原子写操作。
[0037] 在上述用于修改信息单元的装置中,所述控制器进一步适于通过所述第一总线发送失败的原子操作。
[0038] 在上述用于修改信息单元的装置中,所述锁定型原子操作是锁定型原子读操作。
[0039] 上述用于修改信息单元的装置进一步包括第二请求部件,所述第二请求部件适于启动所述锁定型原子操作。
[0040] 在上述用于修改信息单元的装置中,所述第一请求部件是处理器。附图说明
[0041] 根据以下结合附图所进行的详细描述将更加充分地理解和领会本发明,其中:
[0042] 图1是根据本发明的实施例的对包括两个处理器以及共享存储模块的装置的示意性说明;
[0043] 图2是对包括共享存储模块和第一处理器的子系统的示意性说明;
[0044] 图3是根据本发明的实施例的对在原子操作期间交换的各种信号的示意性说明;
[0045] 图4是根据本发明的实施例的说明了用于修改信息单元的方法的流程图
[0046] 图5是根据本发明实施例的、成功的监听型原子操作的时序图;以及[0047] 图6-7是根据本发明实施例的、由控制器执行的两个过程的流程图。

具体实施方式

[0048] 以下详细描述包括本发明的各种实施例的非限制性例子。详细描述以及附图中所采用的特定术语和表达以及所公开的特定结构和操作细节仅仅是出于说明的目的,并不打算以任何方式限制如所附权利要求所描述的本发明的范围。
[0049] 该方法和系统解决了与使用预定信号量值相关联的问题。
[0050] 图1说明了根据本发明的实施例的装置10。装置10包括子系统100,而该子系统100依次包括诸如第一处理器110的第一请求部件,并且还包括共享存储模块(图2中标记为370)。装置10进一步包括系统总线60,其连接到:(i)诸如第二处理器20的第二请求实体,(ii)高级存储模块50,(iii)子系统100,(iv)外围设备70,以及(v)外部系统I/F
80。
[0051] 高级存储模块50通常是装置10的主存储模块。它通常为各种处理器存储程序和数据。它还可以是支持芯片外存储器的二级高速缓存模块,但却不是必需这样。
[0052] 系统总线60经由垫圈(也称为接口)380连接到子系统100。接口380连接到包括数据通道(图2中标记为130)和指令通道(图2中标记为340)的子系统100内的各个部件。接口380进行总线协议转换并且具有在数据传送与指令传送之间仲裁的仲裁能
[0053] 装置10还包括DMA系统总线90,其通过DMA接口382连接到DMA控制器30、多个外围设备40以及共享存储模块370。DMA系统总线90可以由诸如处理器20的外部组件使用来访问共享存储模块370。
[0054] 一方面,共享存储模块370连接到适合便于锁定型原子操作的DMA系统总线90。另一方面,共享存储模块370连接到便于监听型原子操作的两个数据总线XA 122和XB 124。
[0055] 图2说明了根据本发明的实施例的装置10的子系统100。子系统100包括处理器110、数据通道130、存储器管理单元(MMU)300、指令通道340、共享存储模块370以及接口单元380。共享存储模块370可以是一级RAM存储模块,但却不是必需如此。
[0056] 处理器110和指令通道340连接到单个程序总线120。
[0057] 处理器110具有第一数据端口116和第二数据端口118。第一数据端口116通过第一数据总线(XA)122连接到数据通道130的第一端口132、连接到MMU 300以及共享存储模块370。第二数据端口118通过第二数据总线(XB)124连接到数据通道130的第二端口134、连接到MMU 300以及共享存储模块370。
[0058] 数据通道130通过数据取总线(data fetch bus)126连接到接口380,而接口380又连接到诸如高级存储模块50的一个或多个附加存储器。
[0059] 将共享存储模块370方便地划分成两组存储体,每组包括多个存储体以及控制器。
[0060] 共享存储模块370接收各种控制信号,其包括状态信息并且特别是有关原子操作的信息。图3对这些信号中的一些进行了说明。
[0061] 处理器110将与第一数据总线XA 122关联的三种控制信号发送给共享存储模块370。这些信号是ATOMIC_A信号500、READ_A信号502和WRITE_A信号504。处理器110从共享存储模块370接收ATOMIC_RESULT_A信号506,其指示由处理器110通过第一数据总线XA 122启动的监听型原子操作是失败的还是成功的。假设处理器110一旦通过第一数据总线XA 122启动原子操作就声明(assert)ATOMIC_A信号500,并且一旦原子操作结束就否定该信号。处理器110在通过第一数据总线XA 122的读操作期间声明READ_A信号502,并且在通过第一数据总线XA 122的写操作期间声明WRITE_A信号504。
[0062] 处理器110将与第二数据总线XB 124关联的三种控制信号发送给共享存储模块370。这些信号是ATOMIC_B信号510、READ_B信号512和WRITE_B信号514。处理器110从共享存储模块370接收ATOMIC_RESULT_B信号516,其指示由处理器110通过第二数据总线XB 124启动的监听型原子操作是失败的还是成功的。假设处理器110一旦通过第二数据总线XB 124启动原子操作就声明ATOMIC_B信号510,并且一旦原子操作结束就否定该信号。
处理器110在通过第二数据总线XB 124的读操作期间声明READ_B信号512,并且在通过第二数据总线XB 124的写操作期间声明WRITE_B信号514。
[0063] 处理器20向共享存储模块370发送LOCK信号520、READ/WRITE信号528和TRANSACTION_REQUEST信号524。其从共享存储模块370接收REQUEST_ACK信号526。处理器20声明TRANSACTION_REQUEST信号524以请求通过DMA总线384的事务(例如读或写操作),以及响应于已声明的REQUEST_ACK信号526而发生的事务。在整个锁定型原子操作期间声明LOCK信号520,并且READ/WRITE信号528被声明以指示读操作以及被否定以指示写操作。
[0064] 共享存储模块370存储信号量371,该信号量371可以指示诸如外围设备40(1)的某个外围设备是否可以由处理器20或处理器110控制。通常,共享存储模块370存储多个信号量,其反映了多个外围设备的可用性,但出于解释的简明性仅说明了单个信号量。
[0065] 图4是说明了根据本发明的实施例用于修改信息单元的方法600的流程图。信息单元可以包括表示数据、地址、状态等的多个信号。方便起见,信息单元是信号量。
[0066] 方法600开始于阶段610,其通过第一总线接收启动与位于存储模块的第一地址处的至少一个信息单元相关联的监听型原子操作的请求。该请求方便地是对开始监听型原子读操作的请求。参照图3中所陈述的例子,并且假设监听型原子操作与第一数据总线XA122关联,那么处理器110声明ATOMIC_A信号500并且声明READ_A信号502。
[0067] 根据本发明的实施例,处理器110还可以启动与第二数据总线XB124关联的监听型原子操作,并且共享存储器370控制器的每个可以在这些请求之间进行仲裁。根据本发明的另一实施例,处理器110能够一次启动一个原子操作(要么通过总线XA 122要么通过总线XB 124)并且不需要这样的仲裁。
[0068] 阶段610之后是阶段620,其通过第一总线提供信息单元。参照图3中所陈述的例子,并且进一步假设信息单元位于第一组存储体内,则第一组控制器允许通过第一数据总线XA 122将所请求的数据单元发送给处理器110。
[0069] 阶段620之后是阶段630,其读取信息单元并且确定是否应当修改信息单元来提供已修改的信息单元。如果答案是肯定的,则阶段630之后是阶段640,以及如果答案是否定的,则阶段630之后是结束原子事务的阶段660。参照图3中所陈述的例子,假设信息单元是反映外围设备40(1)的可用性的信号量371。如果信号量371指示外围设备40(1)不可用,那么处理器110可以判定不更新信号量371并且终止该原子操作。如果信号量371指示外围设备40(1)可用,那么处理器110可以尝试更新信号量371以指示处理器110将要控制外围设备40(1)。
[0070] 阶段640包括尝试完成监听型原子操作。该完成可以包括对先前所修改的信息单元的原子写操作。参照图3中所陈述的例子,如果处理器110判定这样的更新是合适的,则通过第一数据总线XA 122发送已更新的信号量371。
[0071] 阶段650包括:如果在接收、提供和尝试中的至少一个阶段期间,第一地址由于锁定型原子操作而被锁定,则将监听型原子操作定义为失败的原子操作。参照图3中所陈述的例子,如果在阶段620-640中的一个或多个阶段期间,共享存储模块370参与了与信号量371关联的锁定型原子操作,则结束由处理器110所启动的监听型原子操作。
[0072] 处理器110可以尝试执行监听型原子操作直到其成功控制外围设备40(1),但却并不必需如此。例如,处理器110可以重复该会话达到预定量的迭代
[0073] 图5是根据本发明实施例的、成功的监听型原子操作的时序图。该时序图说明了时钟信号CLK 555、与第一数据总线XA 122关联的24位地址总线524、READ_A信号502、WRITE_A信号504、ATOMIC_A信号500以及ATOMIC_RESULT_A信号506。
[0074] 在时钟的第一周期(T1),处理器110通过第一数据总线XA 122发送信号量371的24位地址(SEM_ADD),并且声明READ_A信号502以及ATOMIC_A信号500。在一个时钟周期之后否定READ_A。假设在第二时钟周期(T2)将信号量371通过第一数据总线XA 122发送给处理器110。
[0075] 在下一时钟周期(T3)期间,处理器110更新信号量371并且即将尝试将已更新的信号量写到共享存储模块370。
[0076] 在下一时钟周期(T4),处理器110声明WRITE_A信号504并且还通过第一数据总线XA 122发送信号量371的24位地址。
[0077] 在下一时钟周期(T5),处理器否定WRITE_A信号504以及ATOMIC_A信号500。假设处理器110成功写入已修改的信号量371,那么第一组处理器374声明ATOMIC_RESULT_A信号506。
[0078] 根据本发明的实施例,图6说明了由控制器执行的第一过程700并且图9说明了同样由控制器执行的另一过程800,其中控制器可以是例如但不限于第一组处理器374。
[0079] 第一过程700涉及监控支持总线(例如但不限于DMA总线384)的锁定型原子操作,而另一过程800涉及监控支持总线(例如第一和第二数据总线XA 122和XB 124)的监听型原子操作。出于解释的简明性,仅举例说明了对第一数据总线XA 122的监控。过程800的结果取决于过程700的结果。
[0080] 过程700开始于阶段710,其监控支持锁定型原子操作的第一总线,直到检测到诸如原子读操作的原子操作。该监控可以包括接收并检查各种控制信号,例如LOCK信号520,但却不是必需如此。
[0081] 一旦检测到这样的原子操作,阶段710之后就接着是阶段720,其存储原子操作所访问的存储地址。该地址在锁定型原子操作期间是锁定的。
[0082] 阶段720之后是阶段730,其监控第一总线以检测原子操作结束(例如结束原子操作的原子写操作已经结束)。一旦原子操作结束,阶段730之后就接着是阶段740,阶段740清除先前存储的地址或者用别的方式指示其未被锁定。阶段740之后是阶段710。
[0083] 过程800开始于阶段810,其监控支持监听型原子操作的第二总线,直到检测到诸如原子读操作的原子操作。可以通过监控各个控制信号(例如ATOMIC_A信号500)来检测这样的操作,但却不是必需如此。
[0084] 一旦检测到这样的原子操作,阶段810之后就接着是阶段820,其确定原子操作是否与被锁地址关联。该被锁地址通常是被过程700锁定的地址。
[0085] 如果该地址是锁定的,则在阶段830期间将原子操作标记为失败的。失败的原子操作可以结束,但通常即使原子操作失败,该过程也前进到阶段850。
[0086] 如果地址并未锁定,则在阶段840期间将原子操作标记为成功的原子操作。
[0087] 阶段840之后是阶段850,其监听第二总线以确定该地址是否是在监听型原子操作结束之前被锁定。如果答案是肯定的,那么在阶段860期间将原子操作标记为失败的,否则跟着是阶段870,其将原子操作标记为成功的原子操作。注意到,如果操作在阶段830期间被标记为失败的,则其在阶段870期间不会被标记为成功的原子操作。阶段870和阶段860之后是阶段810。
[0088] 在不偏离如权利要求所述的本发明的精神和范围的情况下,本领域的普通工作人员可以想到文中所描述的内容的变化、修改和其它实现。因此,本发明并不是由前面的说明性描述来限定的,而是由以下权利要求的精神和范围来限定的。
相关专利内容
标题 发布/更新时间 阅读量
一种环保修改液 2020-05-12 731
一种修改纸 2020-05-11 105
修改对象的基层 2020-05-12 525
修改图表 2020-05-11 469
多功能修改器 2020-05-12 619
已修改流同步 2020-05-12 202
一种修改液 2020-05-12 551
修改设备通知 2020-05-13 292
错字修改笔 2020-05-12 761
错字修改笔 2020-05-12 958
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈