CN108694094B - 用于处理存储器访问操作的装置和方法 - Google Patents
用于处理存储器访问操作的装置和方法 Download PDFInfo
- Publication number
- CN108694094B CN108694094B CN201711349052.XA CN201711349052A CN108694094B CN 108694094 B CN108694094 B CN 108694094B CN 201711349052 A CN201711349052 A CN 201711349052A CN 108694094 B CN108694094 B CN 108694094B
- Authority
- CN
- China
- Prior art keywords
- fault handling
- mode
- handling mode
- memory access
- synchronous
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/079—Root cause analysis, i.e. error or fault diagnosis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/073—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0793—Remedial or corrective actions
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Hardware Redundancy (AREA)
- Retry When Errors Occur (AREA)
Abstract
本公开涉及用于处理存储器访问操作的装置和方法。本描述了用于处理存储器访问操作,且特别是用于处理在处理这种存储器访问操作期间发生的故障的装置和方法。所述装置具有用于执行包括存储器访问指令的程序指令的处理电路以及用于将所述处理电路联接至存储器系统的存储器接口。所述处理电路可在同步故障处理模式和异步故障处理模式之间切换。当处于所述同步故障处理模式中时,所述处理电路对所述程序指令的执行施加约束。所述装置能够选择性地利用与故障的异步报告相关联的更高性能以及与故障的同步报告相关联的改进的故障处理的优点。
Description
技术领域
本技术涉及一种用于处理存储器访问操作的装置和方法。特别地,所描述的技术涉及管理由执行这样的存储器访问操作而导致的故障。
背景技术
诸如中央处理单元(CPU)之类的处理电路通常被构建成以两种方式之一处理故障。首先,其可以构造成使得同步报告由在CPU外部发生的存储器访问操作引起的故障,即,处理程序不会使指令的执行超出其相关联的存储器访问操作引起该故障的存储器访问指令。其结果是,处理电路能够更容易地从故障恢复,这是因为其在执行相关联的存储器访问指令时仍访问相关的状态信息。然而,使CPU在这种同步故障处理模式中运行能够影响性能,这是因为其对能够执行指令的速率产生了不良影响。
一种替代方式是执行CPU,以使得异步报告由在CPU外部发生的存储器访问操作引起的故障,即,在执行相关联的存储器访问指令之后的任意数量的指令。当以这种异步方式报告故障时,用于从故障恢复的过程通常将明显更加繁重,这是因为CPU可以不再访问在执行相应的存储器访问指令时存在的相关状态,且因此可能需要重新启动整个系统。然而,假定这种故障发生的频率很低,那么故障的异步处理往往会受到大家喜欢,这是因为其实施起来更加简单和更加便宜,且由于其通常导致更高的指令吞吐量,因此具有更高的性能。
发明内容
在一个示例布置中,提供了一种装置,其包括:用于执行包括存储器访问指令的程序指令的处理电路;以及用于将处理电路联接至存储器系统的存储器接口;处理电路可在同步故障处理模式和异步故障处理模式之间切换,当处于同步故障处理模式中时,处理电路对程序指令的执行施加约束,以使得在处理电路已允许程序执行继续进行超过用于与存储器访问操作相关联的存储器访问指令的恢复点之前由存储器接口接收由存储器系统处理的该存储器访问操作导致的故障,且当在异步故障处理模式中时,处理电路去除该约束;处理电路被布置为根据处理电路的当前背景在程序指令的执行期间在同步故障处理模式和异步故障处理模式之间切换。
在另一示例布置中,提供了一种在装置中处理存储器访问操作的方法,该装置具有用于执行包括存储器访问指令的程序指令的处理电路;以及用于将处理电路联接至存储器系统的存储器接口;该方法包括:向处理电路提供同步故障处理模式和异步故障处理模式;当处于同步故障处理模式中时,处理电路对程序指令的执行施加约束,以使得在处理电路已允许程序执行继续进行超过用于与存储器访问操作相关联的存储器访问指令的恢复点之前由存储器接口接收由存储器系统处理的该存储器访问操作导致的故障,当在异步故障处理模式中时,处理电路去除该约束;根据处理电路的当前背景在程序指令的执行期间在同步故障处理模式和异步故障处理模式之间切换。
在另一示例布置中,提供了一种装置,其包括:用于执行包括存储器访问指令的程序指令的处理装置;以及用于将处理装置联接至存储器系统的存储器接口装置;处理装置可在同步故障处理模式和异步故障处理模式之间切换,当处于同步故障处理模式中时,处理装置对程序指令的执行施加约束,以使得在处理装置已允许程序执行继续进行超过用于与存储器访问操作相关联的存储器访问指令的恢复点之前由存储器接口装置接收由存储器系统处理的该存储器访问操作导致的故障,且当在异步故障处理模式中时,处理装置去除该约束;处理装置用于根据处理装置的当前背景在程序指令的执行期间在同步故障处理模式和异步故障处理模式之间切换。
附图说明
仅通过示例方式,将参考其中示出其实施例的附图来进一步地描述本技术,其中:
图1为示出在异步故障处理和同步故障处理之间的区别的图;
图2为根据一个实施例的装置的方框图;
图3为示出在一个实施例中的装置的操作的流程图;
图4示意性地示出可以用于识别在一个实施例的装置中的当前操作的故障处理代码的多个机制,该装置能够执行应用和多个不同的异常处理程序;
图5为示出根据一个实施例的如何处理异常处理的流程图;
图6为示出根据一个具体实施例的如何处理异常处理的流程图;以及
图7为示出根据图6的实施例的当从异常返回时可以采取的步骤的流程图。
具体实施方式
在参考附图讨论实施例之前,提供了下列对实施例的描述。
虽然由于性能和实施的原因通常可能需要操作处理电路,以使得异步报告在处理电路外部发生的存储器访问操作导致的故障,但在这种故障的异步报告导致产生显著的问题的情况下可能会发生这种情况。例如,在可以执行多个不同的应用和/或异常处理例程的系统中,在一些情况下,可能不可能或至少是非常有问题的来识别故障的“所有者”,即,当由存储器系统处理相关联的存储器访问操作时哪个特定的应用代码或异常处理代码执行了引起该故障的存储器访问指令。
根据本文所述的技术,处理电路被布置为使得其能够在同步故障处理模式或异步故障处理模式中进行操作,且能够被布置为根据处理电路的当前背景在程序指令的执行期间在同步故障处理模式和异步故障处理模式之间进行切换。当处于同步故障处理模式中时,处理电路对程序指令的执行施加约束,以使得在处理电路已允许程序执行继续进行超过用于与存储器访问操作相关联的存储器访问指令的恢复点之前由被联接至处理电路的存储器接口接收由存储器系统处理的存储器访问操作导致的故障。相反地,当在异步故障处理模式中时,处理电路去除该约束。
这样的方式具有显著的优点,这是因为其允许处理电路在其感到适于访问能够去除关于故障的所有者的歧义的信息的情况下在特定的时间段内切换同步故障处理模式。然而,在其他情况下,处理电路能够在异步故障处理模式中进行操作,从而允许实现相关联的性能改进。
存在有能够对当前背景进行分类以指示何时应将处理电路在两种不同的故障处理模式之间进行切换的多种方式。然而,在一个实施例中,处理电路被布置为当执行被识别为在关键代码部分内的程序指令时切换至同步故障处理模式,否则其则在异步故障处理模式中进行操作。因此,处理电路通常将在异步故障处理模式中进行操作,从而实现可由异步处理故障报告获得的更高的性能,但对于某些关键代码部分而言,将切换至同步故障处理模式,其中牺牲了性能,以使得处理电路能够访问必要的状态信息以清楚地识别哪一段代码执行了导致故障发生的存储器访问指令。
关键代码部分能够采取各种形式。在一个实施例中,处理电路被布置为执行应用代码和异常处理代码,且处理电路被布置为当执行至少一种类型的异常处理代码时切换至同步故障处理模式。因此,关键代码部分能够被认为是一种或多种类型的异常处理代码。例如,某些异常处理代码能够被认为是关键异常处理程序,例如,HardFault异常处理程序或不可屏蔽中断(NMI)异常处理程序。在执行这样的异常处理代码的同时,处理电路将在同步故障处理模式中进行操作,否则其则在异步故障处理模式中进行操作。
存在有能够检测用于在同步故障处理模式和异步故障处理模式之间切换的触发点的多种方式。在一个实施例中,处理电路访问多个异常处理例程,每个异常处理例程具有相关联的优先级别,且该装置还包括控制存储装置,其被设置用于识别模式切换优先级别指示。处理电路被布置在当执行异常处理例程时,将相关联的优先级别与模式切换优先级别指示相比较,从而确定是在同步故障处理模式中还是在异步故障处理模式中进行操作,且同时执行异常处理例程。因此,在这样的实施例中,异常处理例程的优先级别将与存储在控制存储装置内的模式切换优先级别指示进行比较,从而决定在执行该异常处理例程的同时应使用哪个故障处理模式。例如,如果异常处理例程的相关联的优先级别大于或等于模式切换优先级别指示,则可以使得异常处理例程在同步故障处理模式中执行,否则其则可以在异步故障处理模式中执行。
在一个实施例中,处理电路在执行应用代码时在异步故障处理模式中进行操作,从而在执行这种应用代码时能够实现潜在的性能益处。
在一个实施例中,处理电路可以被配置成在多个异常级别中进行操作,且处理电路是在同步故障处理模式中还是在异步故障处理模式中进行操作取决于处理电路正在多个异常级别中的哪一个中进行操作。
在一个实施例中,关于要为每个异常级别使用哪个故障处理模式的决定能够有效地进行硬连线,以使得为每个异常级别预定故障处理模式。
然而,在一个替代实施例中,该装置还可以包括控制存储装置,其提供被设置成为每个异常级别识别应使用同步故障处理模式和异步故障处理模式中的哪一个的模式配置信息。因此,这将允许通过更新在控制存储装置内的配置信息来随时间改变在异常级别和故障处理模式之间的映射,从而就如何使用不同的故障处理模式提供增强的灵活性。
在一个替代的实施例中,该装置还可以包括控制存储装置,其用于识别指示处理电路要在同步故障处理模式和异步故障处理模式中的哪一个中进行操作的模式控制值。处理电路随后响应于预定事件来更新在控制存储装置中的模式控制值。因此,在这样的实施例中,处理电路是在同步故障处理模式中还是在异步故障处理模式中进行操作完全是通过参考模式控制值来确定的,且能够根据需要和在需要时更新模式控制值,从而引起处理电路的故障处理模式的改变。
使得模式控制值进行更新的预定事件能够采取各种形式。例如,其可以包括执行专用模式切换指令,当由处理电路执行时,其使得在控制存储装置内的模式控制值进行更新。在更新之后,处理电路随后将在如更新的模式控制值所指示的相关故障处理模式中进行操作。
替代地或另外地,预定事件可以包括进入至少一个异常处理例程或退出至少一个异常处理例程。因此,模式控制值的更新能够与进入和退出一个或多个异常处理例程相关联。例如,这将允许处理电路在执行某些关键的异常处理例程时切换至同步故障处理模式中,否则其则在异步故障处理模式中进行操作。
在一个实施例中,模式控制值形成在进入异常处理例程时保存的状态信息,以使得模式控制值能够稍后在退出异常处理例程时恢复。因此,当关于在发生异常的点执行的当前代码保存状态信息时,该状态信息还包括用于该当前代码的模式控制值。这表示当在适当的时候进行处理时,从异常处理例程返回从而再一次执行该代码,作为恢复已保存的状态信息的一部分,将自动地恢复与该代码相关联的模式控制值。
当处理电路处于同步故障处理模式时,程序执行不能继续进行超过的恢复点能够采取多种形式。然而,在一个实施例中,程序执行被认为是当存储器访问指令的执行点的程序员可见状态不可从由处理电路保持的状态信息恢复时已继续进行超过了用于存储器访问指令的恢复点。因此,当处于同步故障处理模式中时,确保由处理电路保持的状态信息足以允许识别在执行存储器访问指令的点出现的程序员可见状态。程序员可见状态可以被认为是由用于处理电路的架构所限定的寄存器状态和执行行为,且被呈现给用于执行每个指令的该处理电路的程序员。任何给定的实施方案不需要按暗示的确切方式来表示或组织这个状态,且可以在任何时间点具有表示过去或推测的未来版本的这个状态的多个版本。
因此,当处于同步故障处理模式时,仍然能够支持推测性执行,但是要求在执行存储器访问指令的点的程序员可见状态能够从由处理电路保持的状态信息的至少一个版本进行恢复,直到诸如能够确定当执行相关联的存储器访问操作时未产生故障的时间为止。因此,尽管在同步故障处理模式中进行操作的同时可能仍会发生一定程度的推测性执行,但执行通常将不会超出存储器访问指令直到明确是否已经因存储器系统进行的相关联的存储器访问操作的处理发生故障为止。
在一些实施例中,装置可以包括允许一个或多个未决的存储器访问操作进行识别的结构,该未决的存储器访问操作正等待由存储器系统进行处理。例如,存储缓冲器可以用于将未决的存储操作的细节保存至存储器系统。典型地,一旦已将未决的存储操作输入至存储缓冲器中,则能够将确认发送回处理电路以允许处理电路继续执行超出相关联的存储指令。在一个实施例中,当从异步故障处理模式切换至同步故障处理模式时,处理电路被布置为执行同步障碍操作以确保在处理电路切换至同步故障处理模式之前由存储器系统处理任何未决的存储器访问操作。因此,这有效地刷新了源于该装置的任何未决的存储器访问操作,以确保在切换至同步故障处理模式之前识别与那些存储器访问操作相关联的任何故障。
因此,当处理电路包括用于未决的存储器访问操作的至少一个缓冲器时,同步障碍操作可以使得任何这种缓冲器的内容被排空至存储器系统。
在处理电路访问多个异常处理例程的实施例中,处理电路可以被布置为在进入那些异常处理例程中的至少一个时执行同步障碍操作,而不管处理电路是否被切换至同步故障处理模式。因此,如果需要的话,即使处理仍然保持在异步处理模式内,也能够为某些故障处理例程触发同步障碍操作。通过这样的方式,由于在进入异常处理例程之前刷新未决的存储器访问操作,因此能够减少在执行该异常处理例程的同时报告故障的机会。
将理解的是,处理电路可以具有多个其他相关联的组件,且那些组件中的一些能够被布置为根据处理电路是在同步故障处理模式中还是在异步故障处理模式中而不同地进行操作。例如,处理电路可以具有相关联的缓存,且当处理电路在同步故障处理模式中时,缓存可以被布置为在直写模式中进行操作。通过在直写模式中而不是在回写模式中操作缓存,这能够强制将在缓存内容中进行的任何数据值更新同时提交至存储器,而不是等待随后将缓存行从缓存逐出。
现在将参考附图描述特定的实施例。
图1为示出在一个实施例的装置内的异步故障处理操作和同步故障处理操作之间的区别的图。该装置包括处理电路,其在本示例中采用中央处理单元(CPU)10的形式,CPU10被联接至存储器接口15,经由该存储器接口15,CPU 10通过总线网络17与存储器系统20进行通信。存储器系统20可以包括一个或多个层级的存储器,且因此,例如,可能包括一个或多个级别的缓存(例如,与其他CPU共享的缓存)和主存储器。CPU 10被布置为执行一系列的指令,且该序列可以包括一个或多个存储器访问指令,其要求相关于存储器系统20执行存储器访问操作。例如,这样的存储器访问指令可以是加载指令,当被执行时,其使得执行加载操作,从而从存储器系统20加载数据以存储在CPU 10的一个或多个内部寄存器内。替代地,存储器访问指令可以是存储指令,当被执行时,其使得执行存储操作,从而从CPU的一个或多个工作寄存器将数据存储至存储器系统20内的位置。
当在存储器系统20内执行这样的加载或存储操作时,可能发生故障。可能由于各种情况发生故障,但一个示例可以是错误校正代码(ECC)的错误。然后,将该故障作为总线故障报告给存储器接口15,该故障能够从存储器接口15引起CPU内的异常,从而导致调用异常处理例程。然而,有效处理这些故障的能力可能取决于CPU是在同步故障处理模式中还是异步故障处理模式中进行操作的。当在异步故障处理模式中执行时,在CPU 10能够保证是否已检测到了用于相关联的加载或存储操作的总线故障之前,允许CPU 10使指令的执行超出加载或存储指令的执行。相应地,如在图1的左侧示例中所示的,如果在相关于较早的加载或存储指令的点25处检测到了总线故障,但处理电路已使执行超过该加载或存储指令,那么在异常进入的时间上,所存储的状态可能涉及被执行的当前指令,其在图1中被表示为Iy。因此,该状态保存将包括用于指令Iy的程序计数器的值和其他信息。当异常处理程序随后启动时,其将不访问引起错误的加载/存储操作的用于加载或存储指令的程序计数器的值,且通常也将不访问有关在存储器中所访问的存储器地址的信息。这可能意味着随后有必要重新启动整个系统,从而处理可能具有显著的性能影响的该故障。然而,假定这种故障的发生率相对较低,由于能够实现的通用指令的吞吐量改进,能够通过在异步模式中操作处理电路来实现显著的性能益处。
相反地,当在操作的同步故障处理模式中操作处理电路时,防止CPU使指令的执行超过加载/存储操作直到其能够确认没有检测到总线故障为止。相应地,如图1的右手侧中所示,如果在点30检测到了总线故障,处理电路则仍具有所有与加载/存储指令的执行相关的所有相关状态信息,且相应地在异常进入时能够保存该状态。这将包括加载/存储指令的程序计数器的值且还可以包括由该加载/存储指令访问的存储器地址。然后,当异常处理程序启动时,能够识别故障的来源,并基于该信息执行适当的恢复操作。这通常能够避免重新启动整个系统的需要,且因此使得能够更方便地处理该故障。然而,当在操作的同步故障处理模式中运行处理电路时,不可能利用由在异步故障处理模式中进行操作而引起的潜在的指令吞吐量益处,且因此当出现故障时能够更好地处理故障,且可能显著地影响总体性能。
应注意的是,图1中的示意图是简化的示意图,且在许多现实世界的应用中,该装置也许能够在多个不同的异常级别上进行操作,这允许在处理另一个异常的过程中发生异常。这可能会导致多个嵌套的异常。当在操作的异步模式中进行操作中,这可能意味着在特定异常级别的异常处理程序可能无法计算出代码的哪个部分包括引起故障的加载/存储指令,即,该代码是应用代码还是异常处理代码的较低级别中的一个。通常,在这种情况下,当检测到这样的故障时,除了重新启动整个系统外别无选择。
根据本文所述的实施例,提供了一种机制,以允许处理电路在异步故障处理模式中操作和在同步故障处理模式中操作之间切换。能够以各种方式配置用于切换的触发点,但在一个实施例中,设想处理电路通常将在异步故障处理模式中进行操作,从而获得可通过在操作的该模式中进行操作而实现的性能益处,但当执行某些关键代码部分时,处理电路将切换至同步故障处理模式,从而受益于当在同步故障处理模式中进行操作时可实现的改进的故障处理能力。例如,那些关键代码部分可以是一个或多个异常处理例程。
图2为示出根据一个实施例的装置的方框图。CPU 10包括处理器内核25,其被布置为执行从存储器系统20获取的程序指令流。内核25可以已与用于存储从存储器获取的指令和/或用于存储在那些指令的执行期间由内核操纵的数据值的一个或多个本地缓存40相关联。
CPU 10还包括一些控制寄存器30,其提供了用于控制处理器内核25的操作的控制信息。在一个实施例中,控制寄存器30中的信息被用于向内核25指定其应在哪个故障处理模式中进行操作,或提供信息以使得内核25能够确定要在任何特定时间点使用哪种故障处理模式。稍后将参考图4讨论可以指定信息以使得内核能够确定要在其中进行操作的故障处理模式的各种不同方式。
CPU 10经存储器接口15被联接至总线17和存储器系统20。在一个实施例中,该装置包括一个或多个缓冲器35,其中能够在通过总线17将信息输出至存储器系统20之前存储关于未决的访问操作的信息。例如,可以提供一个或多个存储缓冲器以用于存储关于存储操作的信息,以使得由存储器系统20进行的对那些存储操作的处理能够与内核25的活动相分离。特别地,一旦内核已向缓冲器35发出存储操作的细节,缓冲器则能够向内核发回确认,那时,内核能够继续处理超过存储指令,但条件是与该存储指令相关联的存储操作将在适当的时候由存储器系统执行。这能够增加处理内核25的指令的处理吞吐量。
如本领域的技术人员将理解的,一些CPU能够被布置为执行指令的有序执行,而其他CPU设计可以允许进行指令的乱序处理以寻求获得进一步的性能改进。前面提到的存储缓冲器的机制通常用于有序处理器和乱序处理器。此外,乱序处理器通常还将包括加载队列,其也被认为是设于在图2中所示的缓冲器35内,这还允许对加载操作进行缓冲。尽管使用这种加载队列在有序处理器中是不太常见的,但在存储器系统内已执行相关联的加载操作之前,且因此在已将数据加载至所需的寄存器之前有序处理器的内核25执行了加载指令的情况下仍有可能导致这种情形。例如,一旦内核已经评估了关于所指定的加载地址的任何对齐标准,且已通过任何所需的存储器保护检查(通常由具有CPU 10的存储器保护单元或存储器管理单元执行),其则能够执行加载指令,且有效地从其内部保持状态去除相关联的该加载指令的状态。相应地,如果发生了关于该加载操作的后续总线故障,则如果允许CPU在异步故障处理模式中进行操作的话仍可以将其异步地报告为故障。
因此,总而言之,当在异步故障处理模式中进行操作时,无论处理器内核是在执行指令的有序执行还是乱序执行,都能够异步地报告存储故障和加载故障。
在一个实施例中,缓冲器35能够被认为是形成存储器接口15的一部分,但是在其他实施例中,其可以被认为是CPU的一部分,且其本身则被联接至存储器接口15。
图3是示出在指令的执行期间由处理器内核25执行的步骤的流程图。在步骤50,将确定是否存在要执行的指令。由于随后执行每个指令,该过程将继续进行至步骤55,其中处理器内核将参考当前背景确定其应在其中进行操作的故障处理模式。如稍后将参照图4更详细讨论的,当前背景能够以各种方式进行确定,且可以调用在控制寄存器30内的参考信息以确定当前背景。
然后将在步骤60确定当前背景是否使得应使用操作的异步故障处理模式。如果是,则在步骤65,处理器内核允许相关于该指令的执行进行故障的异步处理。相反地,如果在步骤60确定当前背景未指示应使用异步模式,则该过程继续进行至步骤70,其中指令执行受到约束以确保对故障的同步处理。特别地,当处于同步故障处理模式中时,由内核25进行的程序指令的执行将受到约束,以使得在内核25已允许程序执行继续进行超过用于与存储器访问操作相关联的存储器访问指令的恢复点之前将由存储器接口15接收由存储器系统20处理的存储器访问操作所导致的任何故障。因此,在同步故障处理模式中,内核则保持足够的状态信息,以使得如果由存储器接口15接收到总线故障,则能够恢复在存储器访问指令的执行点的程序员可见状态。将理解的是,这并不阻止内核执行指令的一定程度的推测性执行,但其将被布置为不使执行超过存储器访问指令的执行点,以使得如果且当总线故障发生时,仍可恢复与该指令相关联的所需程序员可见状态。一旦已发生存储器访问操作且未检测到总线故障,内核则能够允许执行继续进行超过恢复点,这是因为那时已知将不再需要该程序员可见状态。
在一个实施例中,处理器内核25被布置为不仅执行应用代码,而且执行异常处理程序代码,且应用和异常处理程序中的每一个能够具有相关联的异常级别或相关联的优先级信息。在图4中示意性地示出了这种情况,其中应用100被假定为处于比异常处理程序110更低的异常级别或优先级别。此外,可能有某些关键异常处理程序120,其处于比其他异常处理程序110更高的异常级别或更高的优先级别上。关键异常处理程序能够采取各种形式,例如,HardFault异常处理程序或不可屏蔽中断(NMI)异常处理程序。
在一个实施例中,背景信息能够使用根据该背景确定的异步故障处理模式或同步故障处理模式来捕获异常级别或优先级信息。
图4示出了在图3的步骤55确定故障处理模式时可以使用的各种选项。根据第一个选项,故障处理模式的确定直接取决于所执行的代码的异常级别。对于每个异常级别而言,这能够有效地进行硬连线,以指示应为该异常级别使用异步故障处理模式还是同步故障处理模式。
作为替代方案且如图4中的第二示例所示的,故障处理模式的确定可以不仅取决于异常级别,而且取决于与异常级别中的每一个相关的在控制寄存器30内能够设置的某种配置信息。这通过允许控制寄存器的信息进行设置以识别用于每个异常级别的适当的故障处理模式来提供了一些额外的灵活性。例如,如果确定当前指令正由在异常级别2的代码所执行且设置在控制寄存器30内的相关配置位,这则可以识别出该处理应在同步故障处理模式中执行,而如果将相关的配置位清零,这则将指示该处理应在异步故障处理模式中执行。虽然在这个示例中假定“设置的”状态指示使用同步故障处理模式,但将理解的是在替代的实施例中,“设置的”状态可以指示使用异步故障处理模式。
在另外的替代布置中,当前执行的代码可以具有相关联的优先级,且可以在控制寄存器30内提供配置字段以识别阈值优先级别,在该阈值优先级别之上,要使用同步故障处理模式。在步骤55,随后可以根据当前优先级与在配置字段中的优先级信息的比较确定是否适于在同步故障处理模式或异步故障处理模式中进行操作。例如,如果代码当前在优先级别7进行操作且配置字段识别出优先级别6,处理电路则可以决定在操作的同步故障处理模式中进行操作。将理解的是,在配置字段中设置的实际值可以指示应发生切换到同步模式所在的级别(即,每在当前优先级大于或等于在配置字段中指示的优先级时进行切换)或可以识别出在其之上应发生切换的优先级别(即,仅在如果当前优先级大于在配置字段中指定的值的情况下切换到同步故障处理模式)。
在另一个示例实施例中,控制寄存器30可以包括模式状态位,其能够在CPU 10的操作期间在发生预定事件时进行更新。这些预定事件能够采取各种形式。例如,指令序列可以被布置为包括为了更新在控制寄存器内的模式状态位的值而执行的显式切换指令。在执行这种模式切换指令之后,随后将根据更新的模式状态位的值确定适于随后执行指令的故障处理模式。替代地或另外地,可以在特定异常处理例程的进入和退出程序内对这种模式状态位的更新进行编码,以使得在进入特定的关键异常处理例程时,该装置能够切换至同步故障处理模式。
图5为示出能够用于一个实施例中的通用异常处理机制的流程图,其独立于是使用图4中所示选项中的哪一个来确定应使用同步故障处理模式还是异步故障处理模式的。在步骤150,确定是否已发生异常,且当发生异常时,在步骤155保存用于从异常返回所需的状态。之后,在步骤160,确定是否应在同步故障处理模式中处理在异常进入时执行的异常处理程序。如果否的话,该过程则继续进行至步骤170,其中执行了异常处理程序代码。然而,在一个实施例中,如果确定要发生至同步故障处理模式的转换,则在步骤165,为所有未完成的存储器事务执行同步障碍操作。作为执行同步障碍操作的结果,缓冲器35将被排空,以使得在进入异常级别之前由存储器系统处理所有未决的加载或存储操作,在该异常级别中,将在步骤170执行异常处理程序代码。这确保了如果由于未决事务将发生任何异步故障,将在进入异常处理程序代码之前检测到那些异步故障。这意味着当异常处理程序代码启动时,其知道任何这种异步故障不是由于执行其自身的指令而导致的。这可能是有用的,这是因为在一些情况下,这可以允许在不需要重新启动整个系统的情况下实施过程以从这种异步报告的故障进行恢复。例如,可能仅需要按比在步骤170进入的异常处理程序更低的异常级别重新启动代码的特定部分。
一旦已执行图5的过程且随后在步骤170执行异常处理程序代码,将理解的是在由异常处理程序代码执行加载或存储操作期间产生的任何后续故障将同步地进行报告,这允许从那些故障进行更容易的恢复。
虽然图5的步骤160和165已在需要同步故障处理的异常级别进入异常处理程序的背景中示出,但将理解的是每当决定将CPU从异步故障处理模式转换至同步故障处理模式时原则上能够应用那些步骤,而无论其是否是由于进入特定异常处理例程而导致的。特别地,这能够有益于在进入同步故障处理模式之前刷新所有未决的事务,从而将在进入操作的同步故障处理模式之前识别任何异步报告的故障。
图6为示出当处理异常时执行的步骤的流程图,其用于其中使用模式状态位来识别该操作应在同步故障处理模式中还是在异步故障处理模式中进行的实施例。在步骤200,确定是否已发生异常,且当发生异常时,在步骤205保存异常返回所需的状态。这将包括与异常发生之前运行的代码相关联的当前模式状态位的值。在步骤210,随后将确定同步模式是否要用于将在异常进入时执行的异常处理程序。如果是的话,则在步骤215确定同步模式是否已用于在异常之前运行的代码。如果否的话,则在继续进行至将模式状态位设置为识别操作的同步模式的步骤225之前在步骤220为所有未完成的事务执行同步障碍。此后,在步骤230执行异常处理程序代码。
如果在步骤215确定同步模式已用于在异常之前运行的代码,那么在一个实施例中则确定不需要重新执行同步障碍,而是该过程直接继续进行至如在图6中所示的步骤225。
如果在步骤210确定了同步模式未用于异常处理程序,那么在一个实施例中,该过程能够直接继续进行至步骤245,其中将模式状态位清零以识别操作的同步模式,在这之后,则在步骤230执行异常处理程序代码。然而,在替代实施例中,即使未进入同步模式,可能仍存在需要执行同步障碍的情况。特别地,在步骤235,能够确定是否需要刷新写缓冲器。例如,能够指定某些控制信息来识别即使不进入操作的同步故障处理模式,在进入特定的异常级别时,是否应需要进行写缓冲器刷新。如果在步骤235确定需要进行写缓冲器刷新,则在继续进行至步骤245之前在步骤240执行同步障碍,否则该过程则直接从步骤235继续进行至步骤245。
在图6中所示的示例中,假定所提供的缓冲器仅用于存储操作且不用于加载操作,且因此仅需要刷新存储缓冲器(在图6中其也被称为写缓冲器)。
图7为示出当前面提到的模式状态位被用作识别CPU应在同步故障处理模式中还是在异步故障处理模式中进行操作的机制时异常返回处理的流程图。在步骤250,确定该过程是否从异常返回。当确定要发生源于异常的返回时,则在步骤255恢复在步骤205中异常进入期间所保存的状态。这将包括用于识别所返回至的代码的故障处理模式的模式状态位。相应地,这将确保更新相关的控制寄存器以识别用于所返回至的代码的正确的模式状态位,以使得当内核25继续该代码的执行时,其将正确地确定要使用的操作的适当的故障处理模式。
从上述实施例将可以看出,这种实施例提供了用于在存储器访问操作的执行期间处理故障的改进机制。特别地,在一个实施例中,对处理器是在同步故障处理模式中还是在异步故障处理模式中进行操作的选择能够基于各种因素,诸如CPU当前在其中运行的异常级别/处理程序在运行时发生动态变化。此外,在进入操作的同步故障处理模式之前,能够可选地执行同步障碍,以使得在操作的同步故障处理中开始执行异常处理程序代码之前刷新任何未决的事务并识别任何相关联的异步报告的故障。
在一个特定的实施方案中,CPU可以设有辅助控制位以使得其相关联的写缓冲器能够被禁用,这能够带来使所有存储操作报告同步错误,而不是经过写缓冲器能够产生异步错误的那些的效果。在一个实施例中,这种辅助控制位能够在进入或退出某些异常处理例程,诸如关键异常处理程序,例如HardFault异常处理程序或NMI异常处理程序时进行动态设置和清零。额外地,进入特定的异常处理程序可以在进入某些异常处理程序,例如SecureFault异常处理程序之前强制写缓冲器进行刷新且识别出任何故障,以使得不存在关于故障的“所有者”的歧义。
在本申请中,词语“被配置成......”用于表示装置的元件具有能够进行限定的操作的配置。在这种上下文中,“配置”表示硬件或软件的布置或互连方式。例如,装置可以具有提供限定的操作的专用硬件或可以进行编程以执行功能的处理程序或其他处理设备。“被配置成”并不意味着装置元件需要以任何方式进行改变以提供限定的操作。
虽然本文已参考附图详细描述了本发明的说明性实施例,但要理解的是本发明不限于那些精确的实施例,且本领域的技术人员能够在不脱离如所附权利要求限定的本发明的范围和精神的情况下在本文中实现各种改变、添加和修改。例如,在不脱离本发明的范围的情况下,从属权利要求的特性可以与独立权利要求的特性进行各种组合。
Claims (16)
1.一种处理存储器访问操作的装置,包括:
处理电路,用于执行包括存储器访问指令的程序指令;以及
存储器接口,用于将所述处理电路联接至存储器系统;
所述处理电路可在同步故障处理模式和异步故障处理模式之间切换,当处于所述同步故障处理模式中时,所述处理电路对所述程序指令的执行施加约束,以使得在所述处理电路允许程序执行进行到超过针对与存储器访问操作相关联的所述存储器访问指令的恢复点之前,由所述存储器接口接收由所述存储器系统处理的所述存储器访问操作导致的故障,且当在所述异步故障处理模式中时,所述处理电路去除所述约束;
所述处理电路被布置为根据所述处理电路的当前背景在所述程序指令的执行期间在所述同步故障处理模式和所述异步故障处理模式之间切换;
其中,所述处理电路被布置为当执行被识别为在关键代码部分内的程序指令时切换至所述同步故障处理模式,否则其则在所述异步故障处理模式中进行操作。
2.如权利要求1所述的装置,其中所述处理电路被布置为执行应用代码和异常处理代码,且所述处理电路被布置为当执行至少一种类型的异常处理代码时切换至所述同步故障处理模式。
3.如权利要求2所述的装置,其中:
所述处理电路访问多个异常处理例程,每个异常处理例程具有相关联的优先级别;
所述装置还包括控制存储装置,其被设置用于识别模式切换优先级别指示;以及
所述处理电路被布置在当执行异常处理例程时,将所述相关联的优先级别与所述模式切换优先级别指示相比较,从而确定是在所述同步故障处理模式中还是在所述异步故障处理模式中进行操作,且同时执行所述异常处理例程。
4.如权利要求2所述的装置,其中所述处理电路在执行所述应用代码时在所述异步故障处理模式中进行操作。
5.如权利要求1所述的装置,其中所述处理电路被配置成在多个异常级别中进行操作,且所述处理电路是在所述同步故障处理模式中还是在所述异步故障处理模式中进行操作取决于所述处理电路正在所述多个异常级别中的哪一个中进行操作。
6.如权利要求5所述的装置,其还包括控制存储装置,其提供被设置成为每个异常级别识别应使用所述同步故障处理模式和所述异步故障处理模式中的哪一个的模式配置信息。
7.如权利要求1所述的装置,其还包括:
用于识别指示所述处理电路要在所述同步故障处理模式和所述异步故障处理模式中的哪一个中进行操作的模式控制值的控制存储装置;以及
所述处理电路响应于预定事件来更新在所述控制存储装置中的所述模式控制值。
8.如权利要求7所述的装置,其中所述预定事件包括下列中的至少一个:
模式切换指令的执行;
进入至少一个异常处理例程或退出至少一个异常处理例程。
9.如权利要求7所述的装置,其中所述模式控制值形成在进入异常处理例程时保存的状态信息,以使得所述模式控制值能够稍后在退出所述异常处理例程时恢复。
10.如权利要求1所述的装置,其中当所述存储器访问指令的执行点的程序员可见状态不可从由所述处理电路保持的状态信息恢复时,所述程序执行被认为是进行到超过了针对所述存储器访问指令的所述恢复点。
11.如权利要求1所述的装置,其中:
当从所述异步故障处理模式切换至所述同步故障处理模式时,所述处理电路被布置为执行同步障碍操作以确保在所述处理电路切换至所述同步故障处理模式之前由所述存储器系统处理任何未决的存储器访问操作。
12.如权利要求11所述的装置,其中所述处理电路包括用于未决的存储器访问操作的至少一个缓冲器,且所述同步障碍操作使得所述至少一个缓冲器的内容被排空至所述存储器系统。
13.如权利要求11所述的装置,其中:
所述处理电路访问多个异常处理例程,且所述处理电路被布置为在进入那些异常处理例程中的至少一个时执行所述同步障碍操作,而不管所述处理电路是否被切换至所述同步故障处理模式。
14.如权利要求1所述的装置,其中所述处理电路具有相关联的缓存,且当所述处理电路在所述同步故障处理模式中时,所述缓存被布置为在直写模式中进行操作。
15.一种在装置中处理存储器访问操作的方法,所述装置具有用于执行包括存储器访问指令的程序指令的处理电路,以及用于将所述处理电路联接至存储器系统的存储器接口,所述方法包括:
向所述处理电路提供同步故障处理模式和异步故障处理模式;
当处于所述同步故障处理模式中时,所述处理电路对所述程序指令的执行施加约束,以使得在所述处理电路允许程序执行进行到超过针对与存储器访问操作相关联的所述存储器访问指令的恢复点之前,由所述存储器接口接收由所述存储器系统处理的所述存储器访问操作导致的故障;
当在所述异步故障处理模式中时,所述处理电路去除该约束;
根据所述处理电路的当前背景在所述程序指令的执行期间在所述同步故障处理模式和所述异步故障处理模式之间切换;以及
当执行被识别为在关键代码部分内的程序指令时切换至所述同步故障处理模式,否则在所述异步故障处理模式中进行操作。
16.一种处理存储器访问操作的装置,其包括:
用于执行包括存储器访问指令的程序指令的处理装置;以及
用于将所述处理装置联接至存储器系统的存储器接口装置;
所述处理装置可在同步故障处理模式和异步故障处理模式之间切换,当处于所述同步故障处理模式中时,所述处理装置对所述程序指令的执行施加约束,以使得在所述处理装置允许程序执行进行到超过针对与存储器访问操作相关联的所述存储器访问指令的恢复点之前,由所述存储器接口接装置收由所述存储器系统处理的所述存储器访问操作导致的故障,且当在所述异步故障处理模式中时,所述处理装置去除该约束;
所述处理装置用于根据所述处理装置的当前背景在所述程序指令的执行期间在所述同步故障处理模式和所述异步故障处理模式之间切换;
所述处理装置被布置为当执行被识别为在关键代码部分内的程序指令时切换至所述同步故障处理模式,否则其则在所述异步故障处理模式中进行操作。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/483,155 | 2017-04-10 | ||
US15/483,155 US10394641B2 (en) | 2017-04-10 | 2017-04-10 | Apparatus and method for handling memory access operations |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108694094A CN108694094A (zh) | 2018-10-23 |
CN108694094B true CN108694094B (zh) | 2023-07-11 |
Family
ID=63709924
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711349052.XA Active CN108694094B (zh) | 2017-04-10 | 2017-12-15 | 用于处理存储器访问操作的装置和方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10394641B2 (zh) |
CN (1) | CN108694094B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6726136B2 (ja) * | 2017-06-22 | 2020-07-22 | ルネサスエレクトロニクス株式会社 | データアクセス装置及びアクセスエラーの通知方法 |
US10521588B1 (en) * | 2017-08-30 | 2019-12-31 | Trend Micro Incorporated | Dynamic analysis of malware that has evasion code |
US10922203B1 (en) * | 2018-09-21 | 2021-02-16 | Nvidia Corporation | Fault injection architecture for resilient GPU computing |
GB2579617B (en) * | 2018-12-06 | 2021-01-27 | Advanced Risc Mach Ltd | An apparatus and method for handling exception causing events |
JP2021039658A (ja) * | 2019-09-05 | 2021-03-11 | 富士通株式会社 | Ac並列化回路、ac並列化方法及び並列情報処理装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5197138A (en) * | 1989-12-26 | 1993-03-23 | Digital Equipment Corporation | Reporting delayed coprocessor exceptions to code threads having caused the exceptions by saving and restoring exception state during code thread switching |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5961629A (en) * | 1991-07-08 | 1999-10-05 | Seiko Epson Corporation | High performance, superscalar-based computer system with out-of-order instruction execution |
JP2916420B2 (ja) * | 1996-09-04 | 1999-07-05 | 株式会社東芝 | チェックポイント処理加速装置およびデータ処理方法 |
US6230282B1 (en) * | 1998-07-03 | 2001-05-08 | Hewlett-Packard Company | Checkpoint computer system utilizing a FIFO buffer to re-synchronize the memory systems on the detection of an error |
ATE557343T1 (de) * | 1998-08-24 | 2012-05-15 | Microunity Systems Eng | Prozessor und verfahren zur durchführung eines breitschaltungsbefehls mit breitem operand |
JP4531966B2 (ja) * | 2000-12-06 | 2010-08-25 | 東芝テック株式会社 | 画像形成装置 |
US7103586B2 (en) * | 2001-03-16 | 2006-09-05 | Gravic, Inc. | Collision avoidance in database replication systems |
US8626957B2 (en) * | 2003-08-22 | 2014-01-07 | International Business Machines Corporation | Collective network for computer structures |
JP2005222581A (ja) * | 2004-02-03 | 2005-08-18 | Renesas Technology Corp | 半導体記憶装置 |
JP4892812B2 (ja) * | 2004-04-28 | 2012-03-07 | 株式会社日立製作所 | キャッシュ制御およびデータ処理システム並びにその処理プログラム |
US20050268073A1 (en) * | 2004-05-25 | 2005-12-01 | Hewlett-Packard Development Company, L.P. | Critical section availability |
US20080086516A1 (en) * | 2006-10-04 | 2008-04-10 | Oracle International | Automatically changing a database system's redo transport mode to dynamically adapt to changing workload and network conditions |
JP2009003499A (ja) * | 2007-06-19 | 2009-01-08 | Hitachi Ltd | ファイル共有システム及びファイル共有システムを用いて単一の論理的ディレクトリ構成を生成する方法 |
US8301593B2 (en) * | 2008-06-12 | 2012-10-30 | Gravic, Inc. | Mixed mode synchronous and asynchronous replication system |
EP2144163A1 (en) * | 2008-07-09 | 2010-01-13 | Software AG | Method and system for synchronizing the execution of a critical code section |
US8862955B2 (en) * | 2010-12-29 | 2014-10-14 | Stmicroelectronics S.R.L. | Apparatus for at-speed testing, in inter-domain mode, of a multi-clock-domain digital integrated circuit according to BIST or SCAN techniques |
GB2487575B (en) * | 2011-01-28 | 2017-04-12 | Advanced Risc Mach Ltd | Controlling generation of debug exceptions |
US9448803B2 (en) * | 2013-03-11 | 2016-09-20 | Nvidia Corporation | System and method for hardware scheduling of conditional barriers and impatient barriers |
US9792346B2 (en) * | 2014-06-26 | 2017-10-17 | Sybase, Inc. | Automatic mode switching in a synchronous replication environment |
US10133643B2 (en) * | 2015-05-05 | 2018-11-20 | International Business Machines Corporation | Resynchronizing to a first storage system after a failover to a second storage system mirroring the first storage system |
US9852295B2 (en) * | 2015-07-14 | 2017-12-26 | Bitdefender IPR Management Ltd. | Computer security systems and methods using asynchronous introspection exceptions |
US20180046536A1 (en) * | 2016-08-09 | 2018-02-15 | Microsoft Technology Licensing, Llc | Guest Enlightened Virtual Faults |
TWI592796B (zh) * | 2016-09-19 | 2017-07-21 | Univ Nat Central | 運用於雲端服務之虛擬機之封包察覺式容錯方法及系統、電腦可讀取之記錄媒體及電腦程式產品 |
US10719244B2 (en) * | 2016-11-18 | 2020-07-21 | International Business Machines Corporation | Multi-mode data replication for data loss risk reduction |
-
2017
- 2017-04-10 US US15/483,155 patent/US10394641B2/en active Active
- 2017-12-15 CN CN201711349052.XA patent/CN108694094B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5197138A (en) * | 1989-12-26 | 1993-03-23 | Digital Equipment Corporation | Reporting delayed coprocessor exceptions to code threads having caused the exceptions by saving and restoring exception state during code thread switching |
Also Published As
Publication number | Publication date |
---|---|
US20180293122A1 (en) | 2018-10-11 |
CN108694094A (zh) | 2018-10-23 |
US10394641B2 (en) | 2019-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108694094B (zh) | 用于处理存储器访问操作的装置和方法 | |
CN109891393B (zh) | 使用检查器处理器的主处理器错误检测 | |
CN100593154C (zh) | 用于预测执行无竞争的锁定指令的方法和装置 | |
US7870369B1 (en) | Abort prioritization in a trace-based processor | |
US7178062B1 (en) | Methods and apparatus for executing code while avoiding interference | |
JP4603185B2 (ja) | 計算機及びその誤り回復方法 | |
JPH05303492A (ja) | データ処理装置 | |
JP2006164277A (ja) | プロセッサにおけるエラー除去装置および方法,プロセッサ | |
US10817369B2 (en) | Apparatus and method for increasing resilience to faults | |
KR20030019451A (ko) | 추측실행의 비순차적 프로세서에서 정확한 예외를전송하는 메카니즘 | |
CN111133418B (zh) | 在例外屏蔽更新指令之后允许未中止的事务处理 | |
US9594648B2 (en) | Controlling non-redundant execution in a redundant multithreading (RMT) processor | |
EP3588280B1 (en) | Handling load-exclusive instructions in apparatus having support for transactional memory | |
CN1099631C (zh) | 双执行部件处理器的反回逻辑线路 | |
US20020023202A1 (en) | Load value queue input replication in a simultaneous and redundantly threaded processor | |
US6799285B2 (en) | Self-checking multi-threaded processor | |
JP4376787B2 (ja) | イベント通知方法、デバイス及びプロセッサシステム | |
JP3800533B2 (ja) | プログラムカウンタ制御方法及びプロセッサ | |
US10289332B2 (en) | Apparatus and method for increasing resilience to faults | |
US6880069B1 (en) | Replay instruction morphing | |
US11663014B2 (en) | Speculatively executing instructions that follow a status updating instruction | |
JPH1196006A (ja) | 情報処理装置 | |
JP2009230479A (ja) | マイクロプロセッサ | |
EP2717156A1 (en) | Speculative privilege elevation | |
TWI798339B (zh) | 使用送交視窗移動元件的方法、模組、設備、分析器、電腦程式和儲存媒體 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |