CN101460929A - 仲裁器诊断装置和方法 - Google Patents

仲裁器诊断装置和方法 Download PDF

Info

Publication number
CN101460929A
CN101460929A CNA2007800202548A CN200780020254A CN101460929A CN 101460929 A CN101460929 A CN 101460929A CN A2007800202548 A CNA2007800202548 A CN A2007800202548A CN 200780020254 A CN200780020254 A CN 200780020254A CN 101460929 A CN101460929 A CN 101460929A
Authority
CN
China
Prior art keywords
arbitration
event
resource
delay
diagnostic circuit
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.)
Pending
Application number
CNA2007800202548A
Other languages
English (en)
Inventor
约翰·斯图尔特·佩蒂
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson AB
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Publication of CN101460929A publication Critical patent/CN101460929A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/368Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
    • G06F13/372Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control using a time-dependent priority, e.g. individually loaded time counters or time slot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3433Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment for load management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/368Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
    • G06F13/37Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control using a physical-position-dependent priority, e.g. daisy chain, round robin or token passing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/368Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
    • G06F13/376Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control using a contention resolving method, e.g. collision detection, collision avoidance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/805Real-time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/86Event-based monitoring

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)
  • Bus Control (AREA)

Abstract

一种仲裁诊断电路和方法,其提供了基于仲裁的系统中的诊断信息和/或提供对过度仲裁延迟的检测和响应。例如,在一个实施方式中,仲裁诊断电路维持被仲裁能够访问共享资源的两个或更多个实体的、包括资源请求事件和对应的资源授予事件在内的仲裁事件的时序存储痕迹。可被视为运行的有序列表的痕迹可以包括带有时间戳的事件标识符,其有助于分析与仲裁有关的错误或故障。实际上,在一个或更多个实施方式中,仲裁诊断电路被构造成跟踪资源请求经过的时间并检测资源授予延迟违规。延迟违规可以与其他仲裁状态信息一起被记录下来,并且该仲裁诊断电路可以被构造成响应于检测到延迟违规而冻结系统或子系统,和/或被构造成捕获各种状态信息。

Description

仲裁器诊断装置和方法
技术领域
本发明总体上涉及对诸如总线或存储器之类的共享系统资源的仲裁(arbitration),具体地说,涉及仲裁诊断。
背景技术
现代电子装置包含有日益复杂的处理系统以处理各种操作功能。例如,移动通信手机、手持式游戏系统、便携式数字助理等提供了由图形、音频、通信以及显示处理子系统支持的日益丰富的多媒体功能。不同子系统通常包括专用硬件和软件处理单元,但它们通常共享所选择的系统资源,诸如存储器、总线等。在这种系统中,“仲裁器”基于授予、拒绝,以及推迟由多个竞争实体中的各个实体进行的访问请求,来协调这些竞争实体的共享资源访问。例如,总线仲裁器管理两个或更多个处理子系统(每一个子系统都需要单独地对共享系统总线进行访问)对共享系统总线的访问。在这种情况下,仲裁器暂时向一个子系统授予总线访问,同时阻止其他子系统的总线访问。
因此,资源仲裁提供了用于协调资源共享的机制,但它也使得系统诊断复杂化。例如,在使用资源仲裁的分布式处理系统中,仲裁处理阻止给定子系统对共享资源访问的时长可能比可容忍的时长更长,从而导致整个系统发生故障。由于涉及各种子系统的复杂处理状态、这些子系统状态的“互相关联性”并且通常无法提供在故障点及故障时刻的全面的仲裁状态信息,所以对由仲裁引起的故障进行诊断提出了重大的挑战。
发明内容
在一个实施方式中,资源仲裁诊断处理方法包括以下步骤:检测被仲裁能够访问共享资源的两个或更多个实体的仲裁事件;并且维持所述仲裁事件的时序(chronological)存储痕迹。例如,仲裁诊断电路可以被构造成与仲裁控制器接口连接,以检测由该控制器管理的资源请求和授予事件。可选的是,事件跟踪包括资源释放事件,这表示了与资源请求和授予操作相关联的资源释放时间。
在一个或更多个实施方式中,仲裁事件的时序存储痕迹包括带有时间戳的仲裁事件的运行列表。时间戳信息可以通过相关联的仲裁电路、通过仲裁诊断电路而在本地生成,或者可以在系统中的其他地方生成并且作为基准信号提供给仲裁诊断电路。在任何情况下,时间戳提供了用于确定资源授予延迟(即,各个资源请求与对应的资源授予之间的延迟)的一个基础。例如在过度的资源授予延迟可能造成提出请求的实体发生故障、停止(stall)或者发生错误操作的系统中,这些时间可能是重要的。因此,在一个或更多个实施方式中,该仲裁诊断方法进一步包括以下步骤:检测过度的资源授予延迟。这种检测可以基于给定资源请求事件的资源授予延迟与对应的延迟限度之间的比较。可以针对对其激活了仲裁事件跟踪的不同实体而分别地限定该延迟限度,其中该延迟限度可以存储在可由仲裁诊断电路访问的一个或更多个存储器中。
随后,有效的是,仲裁诊断电路可以被构造成:通过对检测到资源请求事件之后经过的时间进行跟踪,并且将该经过的时间与针对两个或更多个实体而限定的最大授予延迟限度进行比较,来计算资源授予延迟。对经过的时间进行跟踪例如使用针对资源请求事件而捕获的时间戳信息以及例如可以由系统时钟而驱动的一个或更多个硬件或软件定时功能。在一个或更多个实施方式中,该仲裁诊断方法包括以下步骤:响应于检测到过度的资源授予延迟而执行一种或更多种动作。这种动作包括以下动作中的一种或更多种:将资源授予延迟违规(violation)信息存储在运行列表中、冻结运行列表、设置(assert)系统停机(halt)信号、设置延迟违规报警信号、捕获仲裁状态信息、以及捕获被仲裁能够访问共享资源的两个或更多个实体中的一个或更多个实体的实体状态信息。
因而,在至少一个实施方式中提供了一种仲裁诊断方法,该方法包括以下步骤:对被仲裁能够访问共享资源的两个或更多个实体中的各个实体的资源请求与对应的资源授予之间的延迟时间进行跟踪;以及通过将该延迟时间与一个或更多个限定的延迟限度进行比较,来检测资源授予延迟违规。该方法进一步包括以下步骤:响应于检测到资源授予延迟违规而设置资源授予延迟违规信号;并且该方法可以包括以下步骤:响应于检测到资源授予延迟违规而捕获仲裁状态信息。当然,这种处理可以包括以下步骤:维持两个或更多个实体的仲裁事件的时序存储痕迹,该仲裁事件包括资源请求事件和对应的资源授予事件。
当然,本发明并不限于上述特征和优点。实际上,通过阅读下面详细描述,并且通过察看附图,本领域技术人员将认识到其他的特征和优点。
附图说明
图1是在被仲裁能够访问共享资源的一个或更多个实体的上下文中所例示的仲裁诊断电路的一个实施方式的框图。
图2是仲裁诊断电路的一个实施方式的框图。
图3是仲裁诊断处理的一个实施方式的逻辑流程图。
图4是例示包含仲裁诊断信息的时序存储痕迹的一个实施方式的表格。
图5是仲裁诊断处理的另一实施方式的逻辑流程图。
图6是仲裁诊断电路的另一实施方式的框图。
图7是例示包含仲裁诊断信息的时序存储痕迹的另一实施方式的表格。
图8是针对图6的仲裁诊断电路的一个实施方式的电路细节的框图。
图9是仲裁诊断处理逻辑的一个实施方式的逻辑流程图。
具体实施方式
图1例示了包括仲裁诊断电路12的一个实施方式的系统10,其被构造成检测被仲裁能够访问共享资源的两个或更多个实体的仲裁事件,以维持仲裁事件的时序存储痕迹。例如,例示的系统10包括:仲裁电路(仲裁器14)、公共存储器总线16,以及多个处理实体18-1至18-4,这些处理实体通过多个总线接口单元20-1至20-4中的对应总线接口单元而单独地与仲裁器14和公共存储器总线16耦合。此外,处理实体18-1至18-4中的对应处理实体具有本地存储器总线22-1至22-4,这些本地存储器总线将这些处理实体耦合至RAM 24-1至24-4和ROM 26-1至26-4。
在上述上下文中,处理器18-1至18-4被仲裁能够访问公共存储器总线16,公共存储器总线表示此处所考虑的一种类型的共享资源。共享资源的其他非限制性示例包括:直接存储器访问(DMA)控制器、图形和数值协处理器、信号处理硬件以及可以由一个以上的系统实体共同使用的其他硬件或软件子系统。在操作中,多个处理器18中的各个处理器经由多个总线接口单元中的对应总线接口单元向仲裁器14提交资源请求。仲裁器14经由总线接口单元20中的对应总线接口单元来对这些请求中的每个请求做出响应:如果公共存储器总线16可用于分配,则仲裁器14授予对该公共存储器总线16的访问,或者如果公共存储器总线16不可用,则仲裁器14拒绝/推迟所请求的访问。
出于维持时序存储痕迹(其提供了进行中的仲裁事件的运行列表)的目的,仲裁诊断电路12“监测”上述仲裁事件中的至少一些仲裁事件。例如,图2例示了仲裁诊断电路12的一个实施方式,该仲裁诊断电路12包括控制电路30和接口电路32,并且可以进一步包括或至少关联有一个或更多个(痕迹)存储器电路34以及时钟电路36,时钟电路36可以是全局或本地定时信号源。
本领域技术人员将会理解,控制电路30和接口电路32可以包括物理电路或功能电路,并且可以用硬件、软件或它们的任何组合来实现。因此,仲裁诊断电路12可以包括专用硬件,诸如ASIC中的专用微处理器电路或专用程序逻辑、FPGA、以及其他可编程逻辑器件,或者例如可以包括仲裁器14中所包含的处理资源的一部分。
图3例示了仲裁诊断处理方法的一个实施方式,而与仲裁诊断电路12在功能上或者在物理上被实现为独立电路还是实现在另一电路之内无关。所例示的方法例如可以被实现为计算机产品或实现为逻辑处理硬件。不管怎样,所例示的处理都假设仲裁正在进行中,因此处理是从检测被仲裁能够访问共享资源的两个或更多个实体的仲裁事件而开始(步骤100)。例如,接口电路32以可通信的方式耦合至仲裁器14,使得仲裁诊断电路12基于接收到至少一些类型的仲裁事件(诸如资源请求事件、资源授予事件,以及资源释放事件)的仲裁事件信息而检测仲裁事件。
仲裁诊断电路12维持(至少一些)仲裁事件的时序存储痕迹,从而处理继续进行。例如在一个或更多个实施方式中,接口电路32从仲裁器14接收资源请求和资源授予的通知,并将这种通知提供给控制电路30。进而,控制电路30使用仲裁事件通知来维持时序存储痕迹40,如图4所示的实施方式。运行列表中维持的事件的数量和针对列出的事件而维持的列表条目数据的丰富程度(richness)限定了时序存储痕迹40的“大小”。通常,列表越大就越有利于诊断与仲裁有关的系统错误,但可以对条目数量和/或针对每一个条目存储的事件信息的格式和数量进行修改以适应于特定设计的需要或期望。
利用作为非限制性实施例的图4,可以看出仲裁诊断电路12可以被构造成将时序存储痕迹维持为带有时间戳的仲裁事件的有序列表。例如,实体“A”在时间戳“123456”请求了共享资源,而仲裁器14在时间戳“123457”授予该请求。然后,实体“C”在时间戳“123465”请求了共享资源,而实体C在时间戳“123465”被拒绝。该实施例列表中的其他条目是不言而喻的。
广泛地说,仲裁诊断电路12被构造成检测资源请求和对应的资源授予作为仲裁事件,并且可选的是,仲裁诊断电路12进一步被构造成检测资源释放作为仲裁事件。无论由仲裁诊断电路12检测到并记录的特定仲裁事件是何种类型,接口电路32的一个或更多个实施方式都包括以可通信的方式耦合至仲裁器14(或被包括在仲裁器14之内)的信号通知接口,其中,接口电路32被构造成从仲裁器14接收仲裁事件信号。
经由接口电路32向控制电路30传送事件信息使得仲裁诊断电路12能够维持仲裁事件的时序存储痕迹40,作为带有时间戳的仲裁事件的运行列表。例如,在图4中可以看出,运行列表的维持包括对资源请求事件的带有时间戳的事件标识符和资源释放事件的带有时间戳的事件标识符进行存储。还可以由仲裁诊断电路12对带有时间戳的资源释放事件进行跟踪和记录。在任何情况下,仲裁诊断电路12都将仲裁事件记录为带有时间戳的事件标识符,以使得时序存储痕迹40描绘了进行中的仲裁活动的运动“图像”。可以保存时序存储痕迹40以供人工分析或自动分析。在一个实施方式中,存储器34包括一个或更多个非易失性存储器电路,如EEPROM、FLASH、电池备份(battery-backed)的SDRM等。在这点上,应注意的是,根据系统实现细节,存储器电路34可以包括分布式或集中式存储器电路,并且应当进一步理解的是,存储器34的一个或更多个实施方式可以基于易失性存储器。
标识出过度的资源授予延迟代表了通过将带有时间戳的资源请求和资源授予事件存储在时序存储痕迹40中而支持的许多有用诊断分析中的一种。亦即,给定实体的能够继续名义上的、正在进行中的操作的能力通常取决于该实体能够及时获得对共享资源的访问的能力,这意味着仲裁器14对实体的资源请求的过长时间的延期(deferral)会导致错误或故障的操作。
因此,在仲裁诊断电路12的一个实施方式中,控制电路30被构造成基于给定资源请求事件的资源授予延迟与对应的延迟限度之间的比较来检测过度的资源授予延迟。在一个或更多个实施方式中,这种操作包括以下步骤:通过跟踪在检测到资源请求事件之后经过的时间,并且将该经过的时间与针对被仲裁能够访问共享资源的两个或更多个实体而限定的最大授予延迟限度进行比较,来计算资源授予延迟。
图5例示了用于对过度的资源授予延迟进行检测及响应的处理逻辑的一个实施方式,该处理逻辑可以由仲裁诊断电路12以硬件或软件来实现。所例示的处理假设共享资源仲裁正在进行中,并且该处理是从控制电路30对过度的授予延迟的监测而开始(步骤110)。例如,在一个实施方式中,控制电路30通过将给定资源请求事件的资源授予延迟与对应的延迟限度进行比较,来检测过度的资源授予延迟。被仲裁能够访问共享资源的多个实体中的给定实体(例如,图1中所示的处理器18中的给定处理器)可以容忍的允许最大授予延迟可以存储在存储器34中,或存储在系统10中其他位置的存储器中。无论存储在何处,控制电路30在确定授予延迟违规时都可以使用这种延迟限度信息。
如果出现授予延迟违规(步骤112),则控制电路30执行一个或更多个动作从而处理继续进行(步骤114)。仲裁诊断电路12采取的动作可以根据系统10的需要或期望来设置,并且可以基于违反了哪个实体的授予延迟限度而改变。亦即,对于处理器18中的一个处理器来说,授予延迟违规可能并不是关键的但仍是系统级的,但是对于处理器18中的另一处理器来说,任何授予延迟违规可能都是关键的。因此,控制电路30可以响应于检测到授予延迟违规而执行以下动作中的任何一种或更多种动作:将资源授予延迟违规信息存储在运行列表(仲裁事件的运行列表)中、冻结运行列表、设置系统停机信号、设置延迟违规报警信号、捕获仲裁状态信息以及捕获被仲裁能够访问共享资源的两个或更多个实体中的一个或更多个实体的实体状态信息。
同样地,仲裁诊断电路12响应于检测到资源授予延迟违规而采取的特定动作可以是统一的,而不管哪一个实体遭受该违规,或者采取的该特定动作可以根据固定逻辑或可编程逻辑而改变,以使得控制电路30根据哪个实体遭受违规而提供不同的响应。在一个或更多个实施方式中,痕迹存储器34或者仲裁诊断电路12可访问的其他存储器存储有延迟限度信息和任何延迟响应配置信息。
考虑延迟违规操作,图6例示了控制电路30的一个实施方式,其中,该控制电路30包括:一个或更多个硬件或软件定时器电路50、一个或更多个比较器电路52以及一个或更多个信号通知电路54。以图7的对应的时序存储痕迹为例,定时器电路50被构造成:利用与用于标记时间戳的时钟源相同的时钟源或利用任何本地的或全局的时钟源,来跟踪相对于检测到新的资源请求事件而经过的时间。经过的定时器时钟源应当具有与用于标记时间戳的分辨率有关的适当的分辨率。因此,控制电路30检测新的资源请求事件,将对应的带有时间戳的事件标识符记录在包括时序存储痕迹40的运行列表中,并且通过在定时器电路50中分配对应的定时硬件或软件而启动延迟定时器。在控制电路30的软件或硬件资源的限制内,控制电路30可以根据需要而重复该处理,以跟踪多个并发的资源请求事件的经过时间。
不管怎样,对于给定的资源请求事件来说,可以将经过的时间值作为一个输入提供给包括在比较器电路52中的软件或硬件比较器电路,而另一输入是针对发出请求的实体而限定的对应的延迟限度。如果经过时间达到或超过所限定的延迟限度,则比较器电路52指示出所涉及的实体存在延迟违规。响应于此,信号通知电路54采取一种或更多种期望的动作。
例如,信号通知电路54可以用信号通知分布式捕获存储器60-1至60-N来捕获系统状态信息。这种状态信息例如可以针对单独实体进行收集,和/或在系统级进行收集。这样,捕获存储器可以与各种实体以及与其他系统单元(未示出)共存(co-locate)或集成为一体。当然,时序存储痕迹40代表了相对详细的一组有序仲裁状态,并且与捕获到其他系统状态信息还是实体状态信息无关,仲裁诊断电路12可以捕获其当前仲裁状态信息。同样应注意的是,在其中仲裁诊断电路12被构造成冻结时序存储痕迹40和/或冻结系统操作的实施方式中,最后两个带有时间戳的事件将不会发生,即,一旦检测到实体“C”的最大资源授予延迟违规,就会冻结运行列表。
考虑上述处理逻辑,图8例示了针对图6中所示仲裁诊断电路12的一个实施方式的功能电路的细节。所例示的定时电路50包括:寄存器70、72以及74、加法器电路76、延迟电路78、以及门电路80和82,以上电路一起提供资源授予延迟跟踪以驱动比较器52和信号通知电路54,用于发出授予延迟错误信号。
图9例示了由图8的功能电路实现的处理逻辑的一个实施方式,并且应当理解的是,这种处理可以经由硬件、软件或它们的任何组合而由仲裁诊断电路12来实现。此外,应当理解的是,这种处理可以针对正在进行竞争以访问共享资源16的每一个实体18来实现,以使得可以针对多个实体同时执行授予延迟处理。
为了支持这种情况,可以在仲裁诊断电路12内至少复制图8所示定时电路50。例如,可以针对期望对其进行请求授予延迟跟踪的每一个实体18来复制图8所示一些或全部电路。具体地说,在至少一个实施方式中,针对被监测的每个实体18具体例示(instantiate)了一个寄存器70,而寄存器72和74可以被实现为用于每个这种实体18的循环缓存器。通过将寄存器72和74实现为循环缓存器,可以在它们之中维持时间戳跟踪信息,其中,最旧的条目被最新的条目重写(overwrite)。
考虑上述几点,并且假设系统操作正在进行中,所例示的处理“开始于”将最大允许授予延迟值加载到寄存器70中(步骤120)。例如,假设图9涉及对多个实体18中的特定实体的授予延迟跟踪,存储器34(其可以是非易失性存储器)存储最大延迟值,该最大延迟值可以在复位(reset)时或系统启动时被传送到寄存器70中。
利用加载到寄存器70中的、可以被表达为时间戳(TS)计数的最大延迟值,通过监测正在被监测的实体18的请求事件而使处理继续进行(步骤122)。响应于检测到请求事件,将时间戳总线84上的当前时间戳值(TSV)通过门电路80锁存到寄存器72中(步骤124)。同时,或几乎与此同时,使能加法器76,将结果锁存到寄存器74中,并且利用延迟形式的请求事件信号来使能比较器52(步骤126和128)。因此,加法器76将寄存器72中捕获的请求事件TSV与存储在寄存器70中的最大授予延迟值相加,并将该和传送至寄存器74,以供比较器52使用。
延迟元件78可以用于生成延迟形式的请求事件信号,即REQ’,其中,非延迟形式的请求事件信号被标识为REQ。通常,所需的延迟时间量取决于实现细节,并且依据时间进行设定。延迟足够长时间以符合加法器76相对于REQ信号的实际设置的数据设置和保持定时的要求,这就足够了。
在任何情况下,监测对应的请求授予事件从而处理继续进行(步骤130)。如果没有检测到请求授予事件,则比较器52将时间戳总线84上的当前(动态)更新TSV与寄存器74的内容进行比较,从而处理继续进行(步骤132),该内容是寄存器70与72的和。如果当前TSV比寄存器74中保持的和(即,来自加法器76的值)更大,则比较器52检测该条件作为授予延迟违规并且设置错误信号,该错误信号可以根据需要由信号通知电路54来传送(步骤134和136)。应当注意的是,作为这种处理的一部分,寄存器72和74的内容可以被冻结,以供诊断使用。
另一方面,如果当前TSV没有超过保持在寄存器74中的和,则尚未违反最大授予延迟,并且处理返回以监测请求授予事件(步骤130)。因此,如果请求授予事件在授予延迟违规发生之前发生,则将请求授予事件时出现的时间戳总线84上的TSV捕获到寄存器74中,从而处理继续进行,由此,重写来自加法器76的该和值(步骤138),并且保存实际请求授予时间戳信息,用于诊断记录。该请求授予信号还被用于禁用比较器,由此防止虚假的错误设置(步骤140)。
本领域技术人员将会理解,针对后续的请求事件检测而重复上述处理。此外,如上所述,可以针对多个请求实体18同时执行所有的这种处理。
因而,即使没有捕获仲裁事件的运行列表,仲裁诊断电路12也可以被构造成提供资源授予违规检测和响应功能。一般来说,在一个或更多个实施方式中,仲裁诊断电路12实现了对被仲裁能够访问共享资源的两个或更多个实体中的各个实体的资源请求与对应的资源授予之间的延迟时间进行跟踪的方法。在这种实施方式中,仲裁诊断电路12通过将延迟时间与一个或更多个所限定的延迟限度进行比较来检测资源授予延迟违规。
当然,本发明既不由前述讨论来限定,也不由附图来限定。实际上,本发明仅由所附权利要求及其法律上的等同物来限定。

Claims (26)

1、一种资源仲裁诊断处理方法,该方法包括以下步骤:
检测被仲裁能够访问共享资源的两个或更多个实体的仲裁事件;以及
维持所述仲裁事件的时序存储痕迹。
2、根据权利要求1所述的方法,其中,检测仲裁事件的步骤包括以下步骤:检测资源请求和对应的资源授予。
3、根据权利要求2所述的方法,其中,检测仲裁事件的步骤进一步包括以下步骤:检测资源释放。
4、根据权利要求1所述的方法,其中,维持所述仲裁事件的时序存储痕迹的步骤包括以下步骤:维持带有时间戳的仲裁事件的运行列表。
5、根据权利要求4所述的方法,其中,维持带有时间戳的仲裁事件的运行列表的步骤包括以下步骤:存储资源请求事件的带有时间戳的事件标识符和资源授予事件的带有时间戳的事件标识符。
6、根据权利要求5所述的方法,该方法进一步包括以下步骤:存储资源释放事件的带有时间戳的事件标识符。
7、根据权利要求5所述的方法,该方法进一步包括以下步骤:基于给定资源请求事件的资源授予延迟与对应的延迟限度之间的比较,来检测过度的资源授予延迟。
8、根据权利要求7所述的方法,该方法进一步包括以下步骤:通过对检测到资源请求事件之后经过的时间进行跟踪,并且将所述经过的时间与针对所述两个或更多个实体而限定的最大授予延迟限度进行比较,来计算所述资源授予延迟。
9、根据权利要求7所述的方法,该方法进一步包括响应于检测到过度的资源授予延迟而执行以下动作中的一种或更多种动作的步骤:将资源授予延迟违规信息存储在所述运行列表中、冻结所述运行列表、设置系统停机信号、设置延迟违规报警信号、捕获仲裁状态信息、以及捕获被仲裁能够访问所述共享资源的所述两个或更多个实体中的一个或更多个实体的实体状态信息。
10、一种仲裁诊断电路,该仲裁诊断电路包括:
接口电路,该接口电路被构造成检测被仲裁能够访问共享资源的两个或更多个实体的仲裁事件;以及
控制电路,该控制电路被构造成维持所述仲裁事件的时序存储痕迹。
11、根据权利要求10所述的仲裁诊断电路,其中,所述仲裁诊断电路被构造成检测资源请求和对应的资源授予作为仲裁事件。
12、根据权利要求11所述的仲裁诊断电路,其中,所述仲裁诊断电路进一步被构造成检测资源释放作为仲裁事件。
13、根据权利要求12所述的仲裁诊断电路,其中,所述接口电路包括以可通信的方式耦合至仲裁电路的信号通知接口,并且其中,所述接口电路被构造成从所述仲裁电路接收仲裁事件信号。
14、根据权利要求10所述的仲裁诊断电路,其中,所述控制电路被构造成通过维持带有时间戳的仲裁事件的运行列表,来维持所述仲裁事件的时序存储痕迹。
15、根据权利要求14所述的仲裁诊断电路,其中,所述控制电路被构造成通过存储资源请求事件的带有时间戳的事件标识符和资源释放事件的带有时间戳的事件标识符,来维持带有时间戳的仲裁事件的运行列表。
16、根据权利要求15所述的仲裁诊断电路,其中,所述控制电路进一步被构造成存储资源释放事件的带有时间戳的事件标识符。
17、根据权利要求15所述的仲裁诊断电路,其中,所述控制电路进一步被构造成基于给定资源请求事件的资源授予延迟与对应的延迟限度之间的比较,来检测过度的资源授予延迟。
18、根据权利要求17所述的仲裁诊断电路,其中,所述控制电路进一步被构造成通过对检测到资源请求事件之后经过的时间进行跟踪,并且将所述经过的时间与针对所述两个或更多个实体而限定的最大授予延迟限度进行比较,来计算所述资源授予延迟。
19、根据权利要求17所述的仲裁诊断电路,其中,所述控制电路进一步被构造成响应于检测到过度的资源授予延迟而执行以下动作中的一种或更多种动作:将资源授予延迟违规信息存储在所述运行列表中、冻结所述运行列表、设置系统停机信号、设置延迟违规报警信号、捕获仲裁状态信息、以及捕获被仲裁能够访问所述共享资源的所述两个或更多个实体中的一个或更多个实体的实体状态信息。
20、根据权利要求10所述的仲裁诊断电路,其中,所述控制电路进一步包括痕迹存储器,该痕迹存储器被构造成存储仲裁事件的所述时序存储痕迹。
21、根据权利要求20所述的仲裁诊断电路,其中,所述痕迹存储器的至少一部分包括非易失性存储器。
22、一种仲裁诊断方法,该方法包括以下步骤:
对被仲裁能够访问共享资源的两个或更多个实体中的各个实体的资源请求与对应的资源授予之间的延迟时间进行跟踪;以及
通过将所述延迟时间与一个或更多个限定的延迟限度进行比较,来检测资源授予延迟违规。
23、根据权利要求22所述的方法,该方法进一步包括以下步骤:响应于检测到请求延迟违规而设置资源授予延迟违规信号。
24、根据权利要求22所述的方法,该方法进一步包括以下步骤:响应于检测到资源授予延迟违规而捕获仲裁状态信息。
25、根据权利要求22所述的方法,该方法进一步包括以下步骤:维持所述两个或更多个实体的仲裁事件的时序存储痕迹,所述仲裁事件包括资源请求事件和对应的资源授予事件。
26、根据权利要求25所述的方法,该方法进一步包括以下步骤:响应于检测到资源授予延迟违规而冻结仲裁事件的所述时序存储痕迹。
CNA2007800202548A 2006-06-01 2007-05-31 仲裁器诊断装置和方法 Pending CN101460929A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/445,064 US8468283B2 (en) 2006-06-01 2006-06-01 Arbiter diagnostic apparatus and method
US11/445,064 2006-06-01

Publications (1)

Publication Number Publication Date
CN101460929A true CN101460929A (zh) 2009-06-17

Family

ID=37453010

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2007800202548A Pending CN101460929A (zh) 2006-06-01 2007-05-31 仲裁器诊断装置和方法

Country Status (9)

Country Link
US (1) US8468283B2 (zh)
EP (1) EP2021925B1 (zh)
JP (1) JP2009539159A (zh)
KR (1) KR20090028575A (zh)
CN (1) CN101460929A (zh)
AT (1) ATE516544T1 (zh)
BR (1) BRPI0712521A2 (zh)
TW (1) TW200807247A (zh)
WO (1) WO2008052812A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102110120A (zh) * 2009-12-23 2011-06-29 Sap股份公司 冻结数据的系统和方法
CN102549510A (zh) * 2010-07-20 2012-07-04 西门子公司 用于检查操作系统的实时特性的方法
CN107273248A (zh) * 2016-04-05 2017-10-20 瑞萨电子株式会社 半导体设备以及访问管理方法
CN111381535A (zh) * 2018-12-25 2020-07-07 佳能株式会社 信息处理装置及信息处理装置的控制方法

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7545165B2 (en) * 2007-01-09 2009-06-09 International Business Machines Corporation System architectures for and methods of scheduling on-chip and across-chip noise events in an integrated circuit
US7949978B2 (en) * 2007-11-05 2011-05-24 International Business Machines Corporation Structure for system architectures for and methods of scheduling on-chip and across-chip noise events in an integrated circuit
US8505438B2 (en) 2008-12-29 2013-08-13 Yoosung Enterprise Co., Ltd. Cylinder liner and method of manufacturing the same
DE102010003530A1 (de) * 2010-03-31 2011-10-06 Robert Bosch Gmbh Hardware-Datenverarbeitungseinheit und Verfahren zur Überwachung einer Rundendauer einer Routingeinheit
JP2013191162A (ja) * 2012-03-15 2013-09-26 Ricoh Co Ltd 動作解析装置、画像形成装置、動作解析方法およびプログラム

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01233643A (ja) 1988-03-15 1989-09-19 Nec Corp データ転送制御装置
JPH0223445A (ja) 1988-07-13 1990-01-25 Pfu Ltd バス監視制御方式
JPH0258149A (ja) 1988-08-24 1990-02-27 Mitsubishi Electric Corp アクセス許可制御装置
JP2993694B2 (ja) 1990-02-16 1999-12-20 株式会社日立製作所 情報処理装置
JPH08305641A (ja) 1995-05-08 1996-11-22 Hitachi Ltd バス制御装置
US5754803A (en) 1996-06-27 1998-05-19 Interdigital Technology Corporation Parallel packetized intermodule arbitrated high speed control and data bus
US5781449A (en) 1995-08-10 1998-07-14 Advanced System Technologies, Inc. Response time measurement apparatus and method
US5778200A (en) * 1995-11-21 1998-07-07 Advanced Micro Devices, Inc. Bus arbiter including aging factor counters to dynamically vary arbitration priority
US5956493A (en) * 1996-03-08 1999-09-21 Advanced Micro Devices, Inc. Bus arbiter including programmable request latency counters for varying arbitration priority
US5961623A (en) * 1996-08-29 1999-10-05 Apple Computer, Inc. Method and system for avoiding starvation and deadlocks in a split-response interconnect of a computer system
KR100213187B1 (ko) 1997-03-20 1999-08-02 윤종용 에러 마스터 검출장치
JPH11250005A (ja) 1998-03-05 1999-09-17 Nec Corp バス制御方法、バス制御装置及びバス制御プログラムを記憶した記憶媒体
JPH11296412A (ja) 1998-04-08 1999-10-29 Nec Corp バストレース装置及びバストレース方法並びにその方法のプログラムを記録した記録媒体
US6304923B1 (en) * 1998-10-14 2001-10-16 Micron Technology, Inc. Method for prioritizing data transfer request by comparing a latency identifier value received from an I/O device with a predetermined range of values
JP3202700B2 (ja) 1998-10-20 2001-08-27 松下電器産業株式会社 信号処理装置
JP2992284B1 (ja) 1998-10-20 1999-12-20 松下電器産業株式会社 信号処理装置
JP3545642B2 (ja) 1999-05-17 2004-07-21 松下電器産業株式会社 監視システム及び方法
US6513082B1 (en) 1999-09-29 2003-01-28 Agere Systems Inc. Adaptive bus arbitration using history buffer
US20020007422A1 (en) 2000-07-06 2002-01-17 Bennett Keith E. Providing equipment access to supply chain members
US7039916B2 (en) * 2001-09-24 2006-05-02 Intel Corporation Data delivery system for adjusting assignment of connection requests to nodes based upon the tracked duration
US6848015B2 (en) 2001-11-30 2005-01-25 Hewlett-Packard Development Company, L.P. Arbitration technique based on processor task priority
JP2004078508A (ja) 2002-08-16 2004-03-11 Nec Micro Systems Ltd バス調停回路、バス調停方法およびそのプログラム
US7093256B2 (en) * 2002-12-13 2006-08-15 Equator Technologies, Inc. Method and apparatus for scheduling real-time and non-real-time access to a shared resource
US7516209B2 (en) * 2003-06-27 2009-04-07 Microsoft Corporation Method and framework for tracking/logging completion of requests in a computer system
JP2005018640A (ja) 2003-06-27 2005-01-20 Seiko Epson Corp 文書閲覧端末、動作モード制御方法及び動作モード制御プログラム
US20050091554A1 (en) 2003-08-07 2005-04-28 Dmitrii Loukianov Event time-stamping
JP4661066B2 (ja) 2004-03-22 2011-03-30 富士ゼロックス株式会社 情報処理装置
JP2005032267A (ja) 2004-08-04 2005-02-03 Mitsubishi Electric Corp 計算機および計算機システム
US7263566B2 (en) * 2004-12-30 2007-08-28 Qualcomm Incorporated Method and apparatus of reducing transfer latency in an SOC interconnect
JP4303209B2 (ja) * 2005-02-04 2009-07-29 富士通株式会社 強誘電体素子及び強誘電体素子の製造方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102110120A (zh) * 2009-12-23 2011-06-29 Sap股份公司 冻结数据的系统和方法
CN102110120B (zh) * 2009-12-23 2015-01-14 Sap欧洲公司 冻结数据的系统和方法
CN102549510A (zh) * 2010-07-20 2012-07-04 西门子公司 用于检查操作系统的实时特性的方法
CN102549510B (zh) * 2010-07-20 2014-09-03 西门子公司 用于检查操作系统的实时特性的方法
US9335754B2 (en) 2010-07-20 2016-05-10 Siemens Aktiengesellschaft Method for testing the real-time capability of an operating system
CN107273248A (zh) * 2016-04-05 2017-10-20 瑞萨电子株式会社 半导体设备以及访问管理方法
CN111381535A (zh) * 2018-12-25 2020-07-07 佳能株式会社 信息处理装置及信息处理装置的控制方法

Also Published As

Publication number Publication date
TW200807247A (en) 2008-02-01
JP2009539159A (ja) 2009-11-12
BRPI0712521A2 (pt) 2012-10-16
US8468283B2 (en) 2013-06-18
EP2021925A1 (en) 2009-02-11
EP2021925B1 (en) 2011-07-13
US20070283066A1 (en) 2007-12-06
KR20090028575A (ko) 2009-03-18
ATE516544T1 (de) 2011-07-15
WO2008052812A1 (en) 2008-05-08

Similar Documents

Publication Publication Date Title
CN101460929A (zh) 仲裁器诊断装置和方法
CN105938450B (zh) 自动除错信息收集的方法及系统
CN101118505B (zh) 监视片上系统中的事件的方法及片上系统的监视器
CN107357671A (zh) 一种故障处理方法、相关装置及计算机
CN102822807A (zh) 控制计算机系统、用于控制控制计算机系统的方法及控制计算机系统的使用
CN103210381A (zh) 访问方法以及多核处理器系统
CN111274059A (zh) 一种从设备的软件异常处理方法及装置
CN102915260B (zh) 固态硬盘容错的方法及其固态硬盘
US8621118B1 (en) Use of service processor to retrieve hardware information
CN110943865A (zh) 一种设备故障时间的诊断方法、装置及其相关设备
US11023335B2 (en) Computer and control method thereof for diagnosing abnormality
JP2013522741A (ja) 診断データを収集するためのマルチスレッド化コンピューティング環境における方法、装置、およびコンピュータ・プログラム
CN108647124A (zh) 一种存储跳变信号的方法及其装置
CN114218037A (zh) 一种硬盘管理方法、装置、设备及机器可读存储介质
CN103733181A (zh) 系统中的故障处理
CN104050051B (zh) 一种星载计算机的故障诊断方法
CN113010336A (zh) 应用处理器死机现场调试方法及应用处理器
US11726853B2 (en) Electronic control device
JPH06187256A (ja) バストレース機構
CN117311769B (zh) 服务器日志生成方法和装置、存储介质及电子设备
US9515907B2 (en) Monitoring method of monitoring module
JP7353194B2 (ja) 搬送物又は保管物の状態の常時監視システム
JP2012230533A (ja) Ras機能を備える組み込み機器
CN109815064B (zh) 节点隔离方法、装置、节点设备及计算机可读存储介质
JP2716537B2 (ja) 複合システムにおけるダウン監視処理方式

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20090617