活锁解析方法、设备和系统的制作方法

文档序号:6611528阅读:125来源:国知局
专利名称:活锁解析方法、设备和系统的制作方法
活锁解析方法、设备和系统技术领域本申请一般涉及一种改进的数据处理系统和方法。更具体地,本申请针对用于在数据处理系统中解开(resolve)活锁(livelock)的方法和设备。
技术背景死锁(deadlock)是在数据处理系统中的两个或更多处理由于每个都在等 待其它几个中的一个做事情而因此不能前进的情况。 一个普通的例子是,与 服务器通信的程序在将更多的东西发送到服务器之前,可能处于等待来自服 务器的输出的状态,而类似地,服务器在进行任何输出之前等待来自控制程 序的更多输入。虽然术语"饥饿,,用于仅仅由于程序从未得到足够高的优先权 所以其从不能运行的情况更合适,但有时将此特殊类型的死锁称为"饥饿死 锁"。死锁类似。如真实世界的例子,当两个人在狭窄的走廊中相遇,而每个都试 图礼貌的移动到一侧以让另 一个通过,但是因为他们总是同时移动相同的路 线,所以他们最终就是从一侧到另一侧摆动而没有做出任何进步时,发生活 锁。例如,因为每个处理元件重复地到达在回路中它必须告诉其它元件重试 特殊命令的点,所以两个或更多处理元件可能被陷入在回路中。例如,当调用另一处理的处理是通过该处理调用的其自身时,可发生活锁。活锁可由恶 意代码、或软件或硬件设计缺陷引起。现有技术中的许多方案是关于防止多处理器系统中的活锁。尽管这些努 力,但是软件序列的组合和硬件执行它的方法还是可能共同促成产生活锁。多处理器系统一般对每个处理元件配备看守(watchdog)定时器。如果 命令开始并且看守时间期满而未对于该命令做出任何处理,则处理元件可发 信号通知"暂停(hang)"已经发生。暂停是处理器不能继续执行的冻结状态。 在现有技术中,在暂停情形时,服务处理器或控制处理器可向处理器发信号 通知斗全查1亭止(checkstop), /人而停止时钟。 发明内容说明性实施例认识到现有技术的缺点,并提供了在多处理器数据处理系 统中解开活锁情形的机制。当总线单元检测到超时情形或潜在的超时情形时,总线单元激活活锁解析(resolution)请求信号。活锁解析单元从总线单元接 收活锁解析请求,并向控制处理器发注意信号。控制处理器执行动作以尝试 解开活锁情形。例如,控制处理器可热节流一个或多个处理元件、静止一个 或多个处理元件、或发信号通知总线使总线命令连续。在一个说明性实施例中,提供了用于数据处理系统中的活锁解析的方法。 处理系统包括总线、至少一个主要处理元件、以及多个支持处理元件。所述 方法包括响应于在多个总线单元的至少一个中的超时情形,生成活锁解析 请求信号,并且响应于该活锁解析请求信号,向控制处理器发注意信号。响 应于该注意,控制处理器设置状态信息,以执行用于尝试校正潜在活锁情形 的一个或多个动作。状态信息包括活锁解析信号。该方法还包括响应于控 制处理器设置活锁解析信号,静止至少主要处理元件和多个支持处理元件的 子集。在一个示例性实施例中,状态信息包括总线模式信息。所述方法还包括 响应于控制处理器将总线模式信号设置为连续模式,使总线进入连续模式。在另一个示例性实施例中,静止至少主要处理元件和多个支持处理元件 的子集包括节流至少一个主要处理元件。在另一个示例性实施例中,多个总线单元包括至少一个主要处理元件、 多个支持处理元件、和总线。在另一个示例性实施例中,多个总线单元包括 存储器控制单元或外设控制单元。在另一个实施例中,多个总线单元中的每 个总线单元具有看守定时器,其中当所述看守定时器期满时存在超时情形。 在另一个示例性实施例中,多个总线单元中的每个总线单元具有看守定时器。 当所述看守定时器为远离过期的预定百分数时,存在超时情形。在另一个示例性实施例中,生成活锁解析信号包括从多个总线单元接 收活锁解析请求信号,并且组合来自多个总线单元的活锁解析请求信号,以 形成组合活锁解析请求信号。在另一个示例性实施例中,生成活锁解析信号 还包括确定是否激活了所述组合活锁解析请求信号一预定时间量。在另 一说明性实施例中,提供了用于在数据处理系统中的活锁解析的设至少一个主要处理元件、以及多个支持处理元件。 所述设备包括检测活锁情形的检测逻辑。响应于活锁情形的出现,所述检测 逻辑向控制处理器发注意信号。响应于该注意,控制处理器设置状态信息, 以执行用于尝试校正潜在活锁情形的一个或多个动作。状态信息包括活锁解 析信号。所述设备还包括激活逻辑,其响应于来自控制处理器的活锁解析信 号或来自控制处理器的节流信号,静止至少主要处理元件和多个支持处理元 件的子集。在一个示例实施例中,状态信息包括总线模式信息。所述设备还包括总 线模式逻辑,其响应于控制处理器将总线模式信号设置为连续模式,而在总 线进行连续总线模式。在另 一个示例实施例中,静止至少主要处理元件和多个支持处理元件的子集包括节流至少一个主要处理元件。在另一个示例实施例中,所述设备执行以上列出的、关于在说明性实施 例中的方法的操作中的各种操作。在另一个说明性实施例中,数据处理系统包括总线、连接到所述总线的 至少一个主要处理元件、连接到所述总线的多个次要处理元件、连接到所述 总线的活锁解析单元、以及连接到所述活锁解析单元的控制处理器。响应于 在多个总线单元的至少一个中的活锁情形,所述活锁解析单元向控制处理器 发注意信号。响应于从所述活锁解析单元发的注意信号,控制处理器生成活 锁解析信号和连续总线模式信号。响应于来自所述控制处理器的活锁解析信 号,活锁解析单元节流至少一个主要处理元件,并静止多个支持处理元件。在一个示例性实施例中,响应于从活锁解析单元发的注意信号,控制处 理器生成连续总线模式信号。响应于所述连续总线模式信号,活锁解析单元 使总线进入连续总线模式。在另一个示例性实施例中,静止至少主要处理元件和多个支持处理元件 的子集包括节流至少一个主要处理元件。在另一个示例性实施例中,多个总线单元包括至少一个主要处理元件、 多个支持处理元件、和总线。鉴于下面本发明的示例性实施例的详细描述,将在此描述本发明的这些 和其它特征和优点,或者本发明的这些和其它特征和优点将对于本领域的普 通技术人员变得清楚。


当结合附图阅读时,通过参考以下说明性实施例的详细描述,将更好地 理解本发明和其使用的优选模式以及其它目标和优点,其中图1是可实现本发明的各方面的数据处理系统的示例框图; 图2A和图2B是图解了根据示例实施例的活锁解析单元的图; 图3是图解在具有根据示例实施例的活锁解析的多处理器数据处理系统 内的总线单元内的命令监视组件的操作的流程图;以及图4是图解用于根据示例实施例的活锁解析的控制处理器的操作的流程图。
具体实施方式
图1是可实现本发明的各方面的数据处理系统的示例框图。在图1中所 示的示例数据处理系统是小区(cell)宽带引擎(CBE )数据处理系统的例子。 虽然在本发明的优选实施例的描述中使用CBE,但是如在阅读以下描述时, 如本领域的普通技术人员将容易清楚的,本发明不限于此。如图l所示,CBE 100包括具有处理器(PPU) 116和它的L1和L2高 速緩冲存储器112和114的功率处理器元件(PPE) 110,和多个协同处理器 元件(SPE)120-134,每个协同处理器元件具有自己的协同处理器单元 (SPU)140-154,存储器流控制器155 - 162,本地存储器或存储装置(LS ) 163 -170,以及总线接口单元(BIU单元)180- 194,其可为例如组合直接存储 器存取(DMA)、存储器管理单元(MMU)、以及总线接口单元。还提供了 高带宽内部元件互连总线(EIB) 196、总线接口控制器(BIC) 197、以及存 储器接口控制器(MIC) 198。本地存储器或本地存储装置(LS) 163 - 170是物理上可提供为耦接到 SPU 140- 154的小存储器的大存储器映像的非相干(non-coherent)可寻址部 分。可将本地存储装置163 - 170映射到不同的地址空间。这些地址区域在非 混叠(non-aliased)配置中是连续的。通过以下更详细地描述的本地存储装置 163 _ 170的地址位置(例如经由SPU识別寄存器),本地存储装置163 - 170 与它的相应SPU 140-154和SPE 120 - 134相关联。只要本地存储装置不处于 操作的安全模式下,在系统中的任意资源都具有从本地存储装置163 - 170读
取及向本地存储装置163 - 170写入的能力,在安全模式下,只有其相关的 SPU可存取本地存储装置163 _ 170或本地存储装置163 - 170的指定安全部 分。CEB 100可为单片系统,使得可在单一的微处理器芯片上提供在图1中 描述的每个元件。此外,CBE 100是每个SPU可从每个其它在系统中的SPU 接收不同指令的异类处理环境。此外,对于SPU的指令集与PPU的不同,例 如,PPU可执行基于精简指令集计算机(RISC)的指令,而SPU执行向量化 指令。SPE 120-134经由EIB 196相互耦接并且耦接到L2高速緩沖存储器114。 此外,SPE 120-134经由EIB 196耦接到MIC 198和BIC 197。 MIC 198提供 到共享存储器199的通信接口。 BIC 197提供在CBE 100和其它外部总线和 装置之间的通信接口。PPE 110可为双线程处理器。该双线程的PPE 110和8个SPE 120 - 134 的组合使得CBE 100能够处理10个同时线程和超过128个未解决的存储器请 求。PPE 110用作其它8个处理大部分计算工作量的SPE 120-134的控制器。 例如,PPE 110可用于运行传统的操作系统,同时SPE 120-134执行向量化浮 点代码的执行。SPE 120-134包括协同处理单元(SPU)140-154、存储器流控制单元155-162、本地存储器或存储装置163 - 170、以及总线接口单元180- 194。在一 个示例实施例中,本地存储器或存储装置163 - 170包括对于PPE 110可见的 256KB指令和数据存储器,并且可通过软件直接寻址。PPE IIO可利用具有将SPE连在一起以处理在复杂的操作中的每个步骤 的小程序或线程来加载SPE 120-134。例如,合并了 CBE 100的机顶盒可加 载用于读取DVD、视频和音频解码以及显示的程序,而数据从SPE传送(pass off)到SPE,直到其最终到输出显示器上。在4GHz,每个SPE 120-134给出 理论的32 GFLOPS的性能,并且PPE 110具有类似等级的性能。存储器流控制单元(MFC) 155-162用作SPU到系统其它部分和其它元 件的接口 。 MFC 155-162提供在主存储装置和本地存储装置163 - 170之间用 于数据传送、保护和同步的主要机制。在处理器中,逻辑上存在每个SPU的 MFC。某些实现能够在多个SPE之间共享单个MFC的资源。在这种情况下, 为MFC定义的所有的功能(facility)和命令必须对于每个SPU的软件独立
出现。共享MFC的效果限于依赖实现的功能和命令。各种总线单元可在EIB 196上执行命令。在图l描述的例子中,这些总 线单元可包括PPE 110、 SPE 120、 122、 124、 126、 126、 130、 132、 134、 MIC 198和BIC 197。 PPE 110是主要处理元件,而SPE 120-134是支持处理 元件。即使以最佳意图设计CBE100以避免活锁情形,两个或更多的这些总 线单元还是可能进入活锁情形。根据说明性实施例,连接到EIB 196的活锁 解析单元102和控制处理器104尝试解开活锁情形。总线单元包括看守定时 器(未示出),其跟踪命令已经有多长时间保持挂起(pending)而未完成。 当总线单元检测到超时情形或潜在的超时情形时,总线单元设置可恢复错误 状态位,其通过在图l中的EIB 196到中央故障隔离单元(未示出),来指示 超时情形。总线单元还激活活锁解析请求(LRR)信号,以经由通过102的 路径通知控制处理器104。例如,控制处理器104可以是用于服务该系统的芯片外服务处理器。例 如,控制处理器104可执行其它系统任务,如确定冷却风扇运行多快等。控 制处理器104可执行的一个特殊的任务是监视系统和热节流(thermal throttle ) CBE 100的溫度,或更具体的,是PPE110的温度,以控制功耗,并且从而 控制热量产生。控制处理器104可管理控制寄存器106中的特殊状态信息。 例如,控制处理器104可在控制寄存器106中设置位,以指示热节流模式、 总线模式等。在可替换的实施例中,控制处理器104可以是CBE 100中的单 片。在说明性实施例中,活锁解析单元102监视来自总线单元的活锁请求信 息。响应于一个或多个活锁请求信号被激活,控制处理器104执行动作,以 尝试解开活锁情形。例如,控制处理器104可热节流PPE 110、静止SPE 120-134、或用信号通知EIB 196以使总线命令连续。响应于活锁解析请求,活锁解析单元102唤起对控制处理器104的注意, 并将控制处理器104的动作传达到EIB 196和总线单元。活锁解析单元102 可存在于CBE 100中的渗透式(pervasive )逻辑内。节流是在很高的频率下(数百kHz),处理元件在停止(空闲)和全速模 式之间转换的能力。此切换对系统看起来为处理元件的工作频率的减少,并 且导致较低的功耗。在描述的示例中,控制处理器104可热节流主要处理元 件PPE 110。"静止"一般表示暂时变为停止或禁用。在此公开的上下文中,静止表示 通过停止新命令的发布来使系统平静。这防止将新的命令发送到总线,并且 如果可能的话允许当前命令完成。在描述的例子中,控制处理器104可静止支持处理元件SPE 120-134。当总线处于连续模式下或单一指令模式下时,在允许下一总线命令进行 前,通过返回到初始总线单元的组合监听响应,每个总线命令必须完成其从 发布到监听响应的处理。可替换地,连续总线模式可防止后续总线命令开始, 直到完成由当前命令产生的任意数据传送。在描述的示例中,控制处理器104 可以将EIB 196设置为在连续模式下操作。一旦发布活锁解析请求的总线单元已经处理以成功地发布它的命令,该 总线单元使其活锁解析请求无效。如果无效了全部活锁解析请求信号,则控 制处理器104指令EIB 196和全部总线单元继续正常活动。另一方面,如果 控制处理器104确定经过了预定的时间量而未有任何进展,则它确定发生了 暂停情形。图2A和图2B是图解了根据示例实施例的活锁解析单元的图。参考图 2A,总线单元1-N202、204、206检测看守定时器是否已经过期或将要过期。 在一个实施例中,总线单元202、 204、 206可确定它们的EIB操作是否为远 离过期的某些预定的百分数,例如50%。因此,如在此使用的,当看守定时 器完全过期或看守定时器为远离过期的预定百分数时可存在"超时情形"。如上所述,总线单元1 - N202-206可包括图1中的PPEllO、 SPE 120、 122、 124、 126、 128、 130、 132、 134、 MIC 198和BIC 197。但是,总线单 元1 - N 202-206可为处理器、存储器控制单元和外设控制单元(例如,硬 盘驱动控制器、网络接口卡等)的任意组合。当给定的总线单元检测到超时情形时,它在其故障隔离寄存器(FIR)中 设置位,以指示可恢复的错误,然后激活活锁解析请求(LRR)信号。LRR 信号可为通过总线运送的分离信号或可在监听响应信号或其它存在的信号中 编码。或(OR)门208组合来自总线单元1 - N 202 - 206的LRR信号,以 形成组合活锁解析请求(CLRR)信号。转到图2B,活锁解析单元210在;^测逻辑212接收组合活锁解析请求信 号。在一个示例实施例中,检测逻辑212可为简单的锁存器。但是,在可替 换的实施例中,检测逻辑212可执行更高级的检测,例如确定CLRR信号是
否在预定数目的时钟周期内保持激活。如果检测逻辑212检测到活锁情形,则将注意(ATTN)信号发送到控制处理器。通过设置状态信息以执行尝试校正活锁情形的动作,控制处理器响应 ATTN信号。通过服务外设接口(SPI)将此状态信息传达回活锁解析单元210, 其中服务外设接口 (SPI)是用于与小区宽带引擎通信的协议。本领域的普通 技术人员将认识到,说明性实施例的各方面不限于小区宽带引擎架构或服务 外设接口 。控制处理器可使用能够传达尝试活锁解析所需动作的任何协议与 活锁解析单元210通信。在说明的示例中,SPI信息包括活锁解析信号、处理器元件热节流(PX TT) 信号,静止信号和总线模式信号。锁存器214接收并存储活锁解析信号。或 门216组合锁存器214的输出和热节流信号,以生成被发送到PPE的PX热 节流信号。因此,如果控制处理器进行(engage) PX热节流或如果控制处理 器进行活锁解析,则活锁解析单元210将PX热节流信号发送到PPE。或门218组合锁存器214的输出和静止信号,以生成发送到SPE的静止 信号。因此,如果控制处理器明确地静止SPE,或者如果控制处理器进行活 锁解析,则活锁解析单元210将静止信号发送到SPE。锁存器220接收并且存储来自控制处理器的总线模式信号。控制处理器 可将总线信号设置为在活锁解析期间的连续或单一指令模式,或如果没有激 活活锁解析信号,则将总线模式重置为正常活动。通过活锁解析单元210发 送此总线^^莫式信号,并将其存储在锁存器220中,以与总线通信。图3是图解在具有根据示例实施例的活锁解析的多处理器数据处理系统 的总线单元内的命令监视组件的操作的流程图。将理解,可通过计算机程序 指令来实现流程解的每个块和在流程解中的多个块的组合。可将这 些计算机指令提供到处理器或其它可编程数据处理设备,以产生机器,使得在处理器或其它可编程数据处理设备上执行的指令创建在用于实现在一个或 多个流程图块中指定的功能。也可将这些计算机程序指令存储在计算机可读 存储器或存储介质上,所述计算机程序指令可引导处理器或其它可编程数据 处理设备以特殊的方式运行,使得存储在计算机可读存储器或存储介质中的 指令产生包括实现在一个或多个流程图块中指定的功能的指令部件的产品。因此,流程解的块支持用于执行指定功能的部件的组合、用于执行 指定功能的步骤的组合和用于执行指定功能的程序指令部件。还将理解,可
通过基于专用硬件的、执行指定功能或步骤的计算机系统,或通过专用硬件 和计算机指令的组合,来实现流程解的每个块和流程解中多个块的组合。通过详细参考图3,操作开始,并且总线单元开始命令监视(块302 )。然后总线单元确定是否发生超时情形(块304 )。如上所述,例如,如果看守 定时器完全过期或如果看守定时器是远离过期的预定百分数,则可能存在超 时情形。如果在块304中不存在超时情形,则总线单元确定是否完成了命令 (块306 )。如果未完成命令,则操作返回到块304,以确定是否存在超时情 形。如果在块306中完成了命令,则监视结束。返回到块304,如果存在超时情形,则总线单元设置可恢复错误状态位, 以指示超时情形(块308 ),并且激活活锁解析请求信号(块310)。此后,总线单元确定是否完成命令(块312)。如果未完成命令,则操作 返回,并且重复块312直到完成命令。如果在块312中完成了命令,则总线 单元使活锁解析请求无效(块314),并且结束监视。在图3中图解的流程图的操作期间的任意点,控制处理器可检测来自任 意总线单元的活锁请求。因此,在此例子中,因为控制处理器响应于活锁解 析请求信号,将激活静止信号,所以如果总线单元是SPE,则总线单元将不 会尝试开始另一命令。如果总线单元是PPE,则在流程图的操作期间总线单 元可被热节流。在图3中图解的流程图的操作期间的任意点,控制处理器可确定作为来 自任何总线单元的活锁请求的结果而存在暂停情形。在此例子中,控制处理 器可宣称检查停止(checl(stop)。检查停止引起所有的时钟停止。然后,使处 理元件固定不动,以允许状态转储和/或调试。图4是图解用于根据示例实施例的活锁解析的控制处理器的操作的流程 图。操作开始,并且控制处理器确定是否通过总线单元中的一个来激活活锁 解析请求信号(块402 ),如果未激活活锁解析请求信号,则重复块402,直 到激活了活锁解析请求信号。如果在块402中激活活锁解析请求信号,则控制处理器记录活锁(块 404 )。软件可引起大量的活锁,这可能降低软件的效率。但是,因为活锁不 引起软件暂停,所以软件开发者可能未意识到活锁正在发生。控制处理器可 将活锁事件记录在例如非易失随机存取存储器(NVRAM)等的持久存储器 中,以允许更好的调试。接下来,控制处理器向控制寄存器进行写入,以热节流一个或多个处理元件、静止一个或多个处理元件、并发信号通知总线使总线命令连续(块406)。 然后,在预定的时间段后,控制处理器去除热节流(块408 )。去除热节流防 止多处理器数据处理系统保持在活锁解析模式,因为热节流防止分派指令, 其会人工地创建活锁;险测。此后,控制处理器确定是否已经使全部活锁解析请求信号无效(块410 )。 如果已经使全部活锁解析请求信号无效,则控制处理器向控制寄存器进行写 入,以去除静止,并且使EIB返回到正常活动(块412)。此后,操作返回到 块402,以确定是否活锁解析请求随后变为激活。如果在块410中未使全部活锁解析请求信号无效,则控制处理器确定预 定的时间量是否已经过期而未在未解决的命令上有任何进展(块414)。如果 预定的时间量尚未过期但没有任何进展,则操作返回到块410,以确定是否 已经使全部活锁解析请求信号无效。在块414中,如果预定的时间量已经过期而未在未解决的命令上有任何 进展,则控制处理器宣称检查停止,以停止所有时钟(块416)。然后,控制 处理器记录该检查停止(块418),以允许更好的调试。然后,控制处理器执 行如本领域所公知的正常的检查停止处理(块420),并结束操作。因此,通过提供用于在多处理器数据处理系统中解开活锁情形的机制, 说明性实施例的各方面解决了现有技术的缺点。当总线单元检测到超时情形 或潜在的超时情形时,总线单元激活活锁解析请求信号。活锁解析单元从总 线单元接收活锁解析请求,并向控制处理器发注意信号。控制处理器执行动 作,以尝试解开活锁情形。例如,控制处理器可热节流一个或多个处理元件、 静止一个或多个处理元件、或发信号通知总线使总线命令连续。一旦发布活锁解析请求的总线单元已经处理以成功地发布它的命令,该 总线单元就使其活锁解析请求无效。如果无效了全部活锁解析请求信号,则 控制处理器指令总线和全部总线单元继续正常活动。另一方面,如果控制处 理器确定经过了预定的时间量而未有任何进展,则它确定发生了暂停情形。应当理解,说明性实施例可采用全部硬件实施例、全部软件实施例、或 包含硬件和软件元素的实施例的形式。在一个示例实施例中,以软件实现说 明性实施例的机制,其包括但不限于固件、驻留软件、微码等。 此外,说明性实施例可采用可从计算机可用或计算机可读介质访问的计 算机程序产品的形式,所述介质提供由计算机或任意指令执行系统使用、或 结合计算机或任意指令执行系统而使用的程序代码。为了此描述的目的,计 算机可用或计算机可读介质可以是能够包含、存储、传递、传播、或传输由 指令执行系统、设备或装置使用、或结合指令执行系统、设备或装置而使用 的程序的任意设备。该介质可以是电、磁、光、电磁、红外、或半导体系统(或者设备或装 置)、或传播介质。计算机可读介质的例子包括半导体或固态存储器、磁带、可拆卸计算机盘、随机存取存储器(RAM)、只读存储器(ROM)、硬磁盘和 光盘。光盘的当前例子包括致密盘-只读存储器(CD-ROM)、致密盘-读/写 (CD-R/W)、以及DVD。适于存储和/或执行程序代码的数据处理系统将包括直接或通过系统总 线而间接耦接到存储元件的至少 一个处理器。所述存储元件可包括在程序代 码的实际执行期间采用的本地存储器、大容量存储装置、以及提供对于至少一些程序代码的暂时存储以便减'J 、在执行期间必须从大容量存储装置检索代 码的次数的高速緩冲存储器。输入/输出或I/0装置(包括但不限于键盘、显示器、定点装置等)可直 接或通过中间I/O控制器而耦接到该系统。网络适配器也可耦接到该系统,以使该数据处理系统能够通过中间的私有或公共网络而耦接到其它数据处理 系统、或远程打印机或存储装置。调制解调器、电缆调制解调器、以及以太 网卡正是当前可用的网络适配器的类型中的 一些。为了说明和描述,已经呈现了本发明的描述,并且描述不意于穷举或限 于所公开的形式。许多修改和改变对于本领域的普通技术人员是明显的。选 择并描述了实施例,以最好地解释本发明的原理、实际应用,并且使本领域 的其他技术人员能够理解,具有各种修改的各种实施例的本发明适于预期的 特定用途。
权利要求
1.一种方法,用于在数据处理系统中的活锁解析,其中处理系统包括总线、至少一个主要处理元件、以及多个支持处理元件,所述方法包括响应于在多个总线单元的至少一个中的超时情形,生成活锁解析请求信号;响应于所述活锁解析请求信号,向控制处理器发注意信号,其中响应于该注意,控制处理器设置状态信息,以执行用于尝试校正潜在活锁情形的一个或多个动作,并且其中状态信息包括活锁解析信号;以及响应于控制处理器设置活锁解析信号,静止至少主要处理元件和多个支持处理元件的子集。
2. 如权利要求l所述的方法,其中状态信息包括总线模式信息,所述方 法还包括响应于控制处理器将总线模式信号设置为连续模式,使总线进入连续模式。
3. 如权利要求l所述的方法,其中静止至少主要处理元件和多个支持处 理元件的子集包括节流所述至少一个主要处理元件。
4. 如权利要求l所述的方法,其中多个总线单元包括至少一个主要处理 元件、多个支持处理元件、和总线。
5. 如权利要求l所述的方法,其中多个总线单元包括存储器控制单元或 外设控制单元。
6. 如权利要求l所述的方法,其中多个总线单元中的每个总线单元具有 看守定时器,其中当所述看守定时器期满时,存在超时情形。
7. 如权利要求l所述的方法,其中多个总线单元中的每个总线单元具有 看守定时器,并且其中当所述看守定时器为远离过期的预定百分数时,存在 超时情形。
8. 如权利要求l所述的方法,其中生成活锁解析请求信号包括 从多个总线单元接收活锁解析请求信号;组合来自多个总线单元的所述活锁解析请求信号,以形成组合活锁解析 请求信号。
9. 如权利要求8所述的方法,其中生成活锁解析请求信号还包括确定是否将所述组合活锁解析请求信号激活了预定时间量。
10. —种设备,用于在数据处理系统中的活锁解析,其中处理系统包括 总线、至少一个主要处理元件、以及多个支持处理元件,所述设备包括检测逻辑,检测活锁情形,其中响应于活锁情形的出现,所述检测逻辑 向控制处理器发注意信号,其中响应于该注意,控制处理器设置状态信息, 以执行用于尝试校正潜在活锁情形的 一个或多个动作,并且其中状态信息包括活锁解析信号;以及激活逻辑,响应于来自控制处理器的活锁解析信号或来自控制处理器的 节流信号,而静止至少主要处理元件和多个支持处理元件的子集。
11. 如权利要求IO所述的设备,其中状态信息包括总线模式信息,所述 设备还包括总线模式逻辑,其响应于控制处理器将总线模式信号设置为连续模式, 而在总线进行连续总线模式。
12. 如权利要求10所述的设备,其中静止至少主要处理元件和多个支持 处理元件的子集包括节流所述至少一个主要处理元件。
13. 如权利要求IO所述的设备,其中多个总线单元包括至少一个主要处 理元件、多个支持处理元件、和总线。
14. 如权利要求10所述的设备,其中多个总线单元包括存储器控制单元 或外设控制单元。
15. 如权利要求IO所述的设备,其中多个总线单元中的每个总线单元具 有看守定时器,其中当所述看守定时器期满时,存在超时情形。
16. 如权利要求IO所述的设备,其中多个总线单元中的每个总线单元具 有看守定时器,并且其中当所述看守定时器为远离过期的预定百分数时,存 在超时情形。
17. —种数据处理系统,包括总线;连接到所述总线的至少一个主要处理元件; 连接到所述总线的多个次要处理元件; 连接到所述总线的活锁解析单元;以及 连接到所述活锁解析单元的控制处理器,其中响应于在多个总线单元的至少一个中的活锁情形,所述活锁解析单 元向控制处理器发注意信号;其中响应于从所述活锁解析单元发的注意信号,控制处理器生成活锁解析信号和连续总线模式信号;其中响应于来自所述控制处理器的活锁解析信号,活锁解析单元节流至 少一个主要处理元件,并静止多个支持处理元件。
18. 如权利要求17所述的数据处理系统,其中响应于从活锁解析单元发 的注意信号,控制处理器生成连续总线模式信号;以及其中响应于所述连续总线模式信号,活锁解析单元使总线进入连续总线 模式。
19. 如权利要求17所述的数据处理系统,其中静止至少主要处理元件和 多个支持处理元件的子集包括节流至少一个主要处理元件。
20. 如权利要求17所述的数据处理系统,其中多个总线单元包括至少一 个主要处理元件、多个支持处理元件、和总线。
全文摘要
提供了用于在多处理器数据处理系统中解开活锁情形的机制。当总线单元检测到超时情形或潜在的超时情形时,总线单元激活活锁解析请求信号。活锁解析单元从总线单元接收活锁解析请求,并向控制处理器发注意信号。控制处理器执行动作以尝试解开活锁情形。一旦发布活锁解析请求的总线单元已经处理以成功地发布它的命令,该总线单元使其活锁解析请求无效。如果无效了全部活锁解析请求信号,则控制处理器指令总线和全部总线单元继续正常活动。另一方面,如果控制处理器确定经过了预定的时间量而未有任何进展,则它确定发生了暂停情形。
文档编号G06F13/40GK101149723SQ200710141778
公开日2008年3月26日 申请日期2007年8月21日 优先权日2006年9月19日
发明者刘培军, 戴维·J·克罗拉克, 查尔斯·R·约翰斯, 阿尔万·W·恩格 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1