处理器之间的管理数据传输的制作方法

文档序号:6352139阅读:160来源:国知局
专利名称:处理器之间的管理数据传输的制作方法
处理器之间的管理数据传输
背景技术
随着对更快处理能力的需求增加,许多系统开发人员正利用多处理器系统。多处理器系统是包括不止一个中央处理单元的系统。也称为处理器的处理单元负责执行计算机编程并因此执行计算机系统的主要功能。在系统中具有不止一个处理器可以允许系统以更快的速率处理任务。典型的多处理器系统包括管理处理器和多个被管理主处理器(managed hostprocessor).,管理处理器可以从被管理主处理器接收关于其配置、操作以及性能的信息。此类信息对诸如中央管理系统之类的管理实体可能非常有帮助。可以将中央管理系统配置成与若干不同的计算和联网系统的操作系统对接并对其进行管理。具有与系统内的许多处理器有关的管理信息,管理实体可以更有效地利用可用的各种处理资源。
管理处理器与被管理主处理器之间的数据传输通常是通过单线串行通信总线完成的。管理处理器通常包括用于对被管理主处理器上的从总线站进行轮询的主总线站。在被轮询时,被管理主处理器发送适当的管理数据。然而,此过程与许多处理器能够执行指令的速度相比是相对慢的。因此,到响应于轮询来自被管理处理器的管理数据到达管理处理器时,其可能是过时的或几乎没有用了。


本文所述的原理的各种实施例,并且是本说明书的一部分。所示的实施例仅仅是示例且不限制权利要求的范围。图I是示出了根据本文所述原理的一个实施例的说明性多处理器系统的图。图2是更详细地示出了根据本文所述原理的一个实施例的说明性多处理器系统的图。图3是根据本文所述原理的一个实施例的说明性输入/输出(I/O)总线设备接口的图。图4A是示出了根据本文所述原理的一个实施例的配置空间内的报警数据的说明性索引编排(indexing)的图。图4B是示出了根据本文所述原理的一个实施例的配置空间内的管理数据的说明性索引编排的图。图5是示出了根据本文所述原理的一个实施例的由管理处理器和被管理主处理器执行的说明性任务的流程图。图6是示出了根据本文所述原理的一个实施例的用于在两个处理器之间传输管理数据的说明性方法的流程图。遍及各图,相同的附图标记指示类似但不一定相同的元件。
具体实施例方式如上所述,管理处理器与被管理主处理器之间的管理数据的传输通常是通过单线串行通信总线完成的。此过程与许多处理器能够执行指令的速度相比是相对慢的。此缓慢过程可能是由于所使用的通信总线和通信协议的信令速度所引起的。因此,到管理数据到达管理处理器时,其可能是过时的。过时的管理数据可能对管理处理器或与管理处理器通信或包含管理处理器的较大管理实体(诸如中央管理系统)没有多大用处。考虑到此问题及其他问题,本说明书涉及用于在两个处理器之间传输管理数据的方法和系统。根据某些说明性实施例,可以将管理处理器和被管理主处理器连接到输入/输出(I/O)总线系统。在此I/O总线系统内,直接通信总线可以从管理处理器行进至被管理主处理器。管理处理器可以使用直接通信总线来将存储器位置发送到被管理主处理器。存储器位置可以是管理处理器的I/o设备接口内的存储器地址空间的一部分。存储器位置可以指示被管理主处理器应将用于管理处理器的管理数据发送到何处。被管理主处理器然后可以通过I/o总线系统将管理数据发送到由管理处理器指示的适当存储器位置。然后可以由管理处理器来处理该管理数据并将其发送到管理实体。
通过使用体现本文所述原理的方法或系统,管理处理器可以以快速速率从被管理主处理器接收管理数据,允许管理处理器具有用于被管理主处理器的最新管理数据。此管理数据可以被传递至诸如中央管理系统的管理实体,其能够有效地使用管理数据来管理多个计算机系统。另外,管理处理器不需要等到预定时间来接收经更新的管理数据。被管理主处理器可以在任何时间响应于状态变化而发送管理数据。在以下说明中,出于解释的目的,阐述许多特定细节以便提供对本系统和方法的透彻理解。然而,对于本领域的技术人员来说将显而易见的是可以在没有这些特定细节的情况下实施本设备、系统和方法。在说明书中对“实施例”、“示例”或类似语言的参考意指结合该实施例或示例所述的特定特征、结构或特性被包括在至少那一个实施例中,但不一定在其它实施例中。在本说明书中的不同位置上的短语“在一个实施例中”或类似短语的各种实例不一定全部指代同一实施例。现在参考附图,图I是示出了说明性多处理器系统的图。根据某些说明性实施例,多处理器系统(100)可以包括管理处理器(102)和多个被管理主处理器(104-1、104-2、104-3)。管理处理器(102)可以通过通信链路(106)与被管理主处理器(104-1、104-2、104-3)通信。在包括多个主处理器(104)的系统中,管理处理器(102)通常用来管理主处理器(104)与较大管理实体之间的数据通信。图2是更详细地示出了说明性多处理器(200)的图。根据某些说明性实施例,可以通过通信总线(224)和电源控制链路(222)将管理处理器(212)通信耦合到被管理主处理器(202)。还可以通过I/O总线系统将管理处理器(212)连接到主处理器(202)。I/O总线系统可以包括多个I/O总线线路(bus line) (232)和I/O总线开关(230)。如上所述,典型的多处理器系统(200)包括管理处理器(212)。管理处理器(212)可以用来管理多个主处理器(例如202)与可能的其他外围部件之间的数据流。根据某些说明性实施例,管理处理器(212)可以包括电源接口(214)、主总线站(216)、I/O总线设备接口 (218)以及通信接口(220)。管理处理器(212)可以具有控制供应给被管理主处理器(202)的功率的能力。电源接口(214)可以允许管理处理器(212)经由电源控制链路(222)将被管理主处理器(例如202)通电或断电。例如,如果特定的被管理主处理单元不在使用,则可以将其断电以节能直至其再次被需要。管理处理器(212)可以在需要主处理单元以用于由管理实体(226)指挥的各种处理任务时将主处理单元通电。如上所述,用于管理处理器(212)从主处理器(例如202)接收管理数据的典型方式是管理处理器(212)的主总线站(216)对被管理主处理器(202)上的从总线站(206)进行轮询。主处理器(202)然后可以通过串行通信总线(224)将所请求的数据发送回到管理处理器(212)。此过程是相对慢的,因为串行通信总线(224)未被设计成用于高带宽数据传输。另外,被管理主处理器(202)可以仅在被轮询时将管理数据发送到管理处理器(212)。因此,被管理主处理器(202)可能没有办法警告管理处理器(212)其状态或配置的变化。为了从主处理器(例如202)为管理处理器(212)和因此的管理实体(226)提供最新管理数据,本说明书公开了一种用于通过更快的连接向管理处理器(212)提供管理数据的方法。如上文所指示的,管理处理器通常包括被配置成使用I/O总线系统(232、230)的 I/O总线设备接口(218)。I/O总线系统(232、230)提供在多个设备之间传输数据的手段。数据可以通过总线线路来传输并基于系统配置从源路由到适当的目的地。此类I/O总线系统的一个示例是外围部件互连(PCI)快速总线系统。出于管理I/O总线系统(232、230)上的数据流的目的,管理处理器(212)可以包括I/O总线设备接口(218)。另外,沿I/O总线系统的其他设备可以包括其自己的I/O总线设备接口或用来与沿I/O总线系统的其他设备相交互的类似部件。可以使用I/O总线来向许多不同类型的外围设备传输数据。可以使用I/O总线开关(230)通过多个I/O总线线路(例如232)来路由数据流。I/O总线线路可以由多个平行导线构成,每个导线每次载送一比特信息。在某些实施例中,I/O总线线路可以包括可以以串行方式每次载送仅一比特的单线。可以将一些串行总线线路设计成以非常高的速率来传输数据。不论总线线路类型如何,可以将I/O开关(230)配置成使用I/O总线(232)在各种部件的I/O总线设备接口(218)之间路由信息流。如上所述,可以将管理数据中继到诸如中央管理系统的管理实体(226)。因此,管理处理器(212)可以包括用以通过网络链路(246)向管理实体(226)传送数据的通信接口
(220)。网络链路(246)可以是用于在管理处理器(212)与管理实体(226)之间传输数据的任何适当通信链路。多处理器系统(200)的被管理主处理器(例如202)可以负责执行系统所需的主处理任务。根据某些说明性实施例,被管理主处理器(例如202)可以包括存储器控制器
(204)、从总线站(206)和根复合体(root complex) (208)。被管理主处理器(202)使用存储器控制器(204)来与系统存储器(210)通信。典型的系统存储器(210)包括多个水平的存储器,包括但不限于每个将在下面描述的处理器寄存器、处理器高速缓存、主存储器和非易失性存储器。例如,在由处理器(202)来处理数据之后,可以将其放置到处理器的寄存器中的一个中。典型的处理器包括其中将保持数据以便由处理器快速访问的多个寄存器。可以将数据从该寄存器移动至处理器高速缓存。某些处理器可以包括多个水平的处理器高速缓存。可以从处理器高速缓存将数据移动至主存储器中。处理器寄存器、处理器高速缓存和主存储器一般由易失性存储器模块构成。易失性存储器模块在被断电时不保持其数据。可以将某些数据从主存储器移动至诸如硬盘驱动器或固态驱动器之类的非易失性存储器存储单元。可以使用根复合体(208)来将主处理器(202)连接至I/O总线系统(230、232)。根复合体(208)可以沿I/O总线系统发起处理器与其他设备之间的数据传输。在某些实施例中,可以将根复合体(208)与处理器(202)集成。在某些情况下,可以将根复合体(208)设计为与处理器(202)分离的设备。图3是说明性输入/输出(I/O)总线设备接口(300)的图。根据某些说明性实施例,I/O总线设备接口(300)可以包括可寻址存储器(304)。可寻址存储器(304)可以包括报警区域(306)和数据区域(308)。可寻址存储器还可以包括配置空间(302),其可以用来配置包括用来访问可寻址存储器(304)的存储器地址的I/O总线设备接口(300)。配置空间(302)还可以包括基本地址寄存器(310)。诸如PCI快速总线系统的某些总线系统设计有允许在被通电时自动地配置总线系统的设备的自动配置机制。这可以用配置空间(302)来完成。配置空间(302)可以存在于被设计成保持与设备的配置有关的信息的可寻址存储 器(304)的一小部分内。配置空间(302)通常由易失性形式的存储器构成。因此,当电源中断时其失去其信息。当系统关闭或重启时,必须对配置空间(302)重新编程。可以在系统启动或重启时用基本输入输出系统(BIOS)、一件固件或操作系统对配置空间(302)进行编程。在系统启动时,可以将系统配置成检测沿I/O总线系统的所有设备。可以相应地映射和配置沿总线系统找到的设备。这可以通过对多个基本地址寄存器(310)进行编程来完成。基本地址寄存器(310)还可以用来设置用来访问可寻址存储器的地址。可以将输入/输出总线设备接口( 300)内的可寻址存储器(304)分配给特定目的。例如,根据本文公开的原理,可以将某些存储器地址空间指定为用于在被管理和管理处理器之间传输的管理数据。同样地,可以将某些存储器地址空间指定为报警区域。图4A是示出了配置空间内的管理数据的说明性索引编排(400)的图。根据某些说明性实施例,可以将输入/输出总线设备接口(300)内的可寻址存储器(304)的特定块指定为管理数据区域(402)。管理数据区域(402)可以用来存储从被管理主处理器接收到的管理数据。可以对被管理主处理器(202,图2)给定其中将放置管理数据的配置空间(302,图2)内的适当存储器位置。被管理主处理器(202,图2)可以使用现有I/O总线系统(230、232 ;图2)来访问管理处理器(212,图2)上的I/O总线设备接口内的可寻址存储器。在某些实施例中,计算系统可以包括多个被管理主处理器。在此类实施例中,可以对每个被管理主处理器给定其中将存储管理数据的管理数据区域(402)内的特定存储器块。例如,如果给定计算系统包括N个被管理主处理器,则可以将管理数据区域(402)划分成N段。可以在0和N-I之间对该N个段进行索引编排。如本领域的技术人员将认识到的,可以存在用以对用于计算系统的多个主处理器的管理数据进行索引编排的其他方式。体现本文所述的原理的方法或系统可以采用任何适当的索引编排方法。图4B是示出了配置空间(302,图2)内的报警数据的说明性索引编排(404)的图。根据某些说明性实施例,可以将配置空间(302,图2)内的特定存储器块指定为报警区域(406)。可以将报警区域(406)指定为其中被管理主处理器(202,图2)放置了预定值以向管理处理器(212,图2)指示新提供的管理数据在相应的管理数据区域(402)中的位置。这样做将允许被管理主处理器将该主处理器的状态或配置的变化立即通知管理处理器。可以将此功能称为“门铃”功能。当值被存储在报警区域(406)中时,管理处理器操作被中断且其然后可以检查相应的管理数据区域(402)。因此,可以在主处理器中的变化发生时将其通知给管理处理器,而不是等到下一次管理处理器就管理数据对被管理主处理器进行轮询。还可以以与上文针对管理数据区域(402)所述的方式类似的方式对报警区域(406)进行索引编排。图5是由管理处理器(502)和被管理主处理器(504)执行的说明性任务(500)的流程图。根据某些说明性实施例,管理处理器(502)和被管理主处理器(504)可以执行一组步骤(506、508、510)以将系统设置成允许通过I/O总线系统传输管理数据。在处理器(502、504)的正常操作期间,被管理主处理器(504)和管理处理器(502)可以反复地执行一组步骤(512、514、516、518)以通过I/O总线系统来传输管理数据。如上所述,被管理主处理器(504)可以处于断电状态直至被需要。当被需要时,管理处理器(502)可以通过电源链路来发送(步骤506)信号以使被管理主处理器(504)通电。 在通电时,与被管理主处理器(504)相关联的BIOS或固件系统可以列举(enumerate)(步骤508)总线系统。列举过程可以涉及检测沿总线系统的所有设备并对某些设备的配置空间进行编程。特别地,列举过程可以涉及如上所述地在管理处理器(504)的I/O总线设备接口的可寻址处理器内指定管理数据区域和报警区域。在已经列举了总线系统且已适当地对管理处理器(202)的配置空间进行编程之后,管理处理器(502 )可以使用直接通信总线(224,图2 )来将管理处理器(502 )的输入/输出总线设备接口(300,图3)的可寻址存储器内的重要存储器位置通知给(步骤510)被管理主处理器(504)。重要存储器位置可以包括其中将存储管理数据的适当存储器位置和已被指定为报警区域的存储器位置。此外,管理处理器(502)可以将程序性信息通知给被管理主处理器(504),诸如应发送什么类型的管理数据和多长时间一次。在系统已被设置成允许从被管理主处理器(504)向管理处理器(502)传输管理数据之后,管理数据的实际传输可以按照所建立程序所确定的那样进行。被管理主处理器(504)可以收集(步骤512)管理数据并通过I/O通信总线将管理数据发送(步骤514)至先前由管理处理器(502)所指示的管理处理器的I/O总线设备接口中的适当存储器地址。被管理主处理器(504)然后可以向如由管理处理器(502)所指示的适当报警区域发送(步骤516)报警数据。遍及不同的实施例,从被管理主处理器(504)向管理处理器(502)传输管理数据的频率可以不同。在某些实施例中,可以将被管理主处理器(504)配置成定期发送管理数据。另外或替换地,被管理主处理器(504)可以响应于状态、配置和性能的变化而发送管理数据。因此,管理处理器(502)可以在变化发生不久之后就接收到数据而不是等到下一个预定间隔。在定期地或如报警通知指示地接收到管理数据时,管理处理器(502)可以处理(步骤518)数据并将其提交给管理实体。该管理实体可以使用管理数据来更有效地管理多个计算系统的处理资源。图6是示出了用于在两个处理器之间传输管理数据的说明性方法的流程图。根据某些说明性实施例,方法(600)可以包括用管理处理器,确定(步骤602)管理处理器的I/O总线设备接口的可寻址存储器内的存储器位置;用管理处理器,使用连接在管理处理器与被管理主处理器之间的直接通信总线将存储器位置通知给(步骤604)被管理主处理器;以及用管理处理器,通过I/O总线从被管理主处理器接收(步骤606)将被存储在存储器位置中的管理数据。该方法还可以包括将管理数据发送(步骤608)到管理实体。总而言之,通过使用体现本文所述原理的方法或系统,管理处理器可以以快速速率从被管理主处理器接收管理数据,允许管理处理器具有最新管理数据。此管理数据可以被传递至诸如中央管理系统的管理实体,其可以能够有效地使用管理数据来管理多个计算机系统。另外,管理处理器不需要等到预定时间来接收经更新的管理数据。被管理主处理器可以在任何时间响应于状态变化而发送数据。前述说明仅仅是为了说明和描述所述原理的实施例和示例而提出的。本说明并不 意图是穷举的或使这些原理局限于公开的任何精确形式。按照以上讲授内容,可以进行许多修改和变更。
权利要求
1.一种用于通过输入/输出(I/o)总线系统(232)在处理器之间传输管理数据的方法,该方法包括 在管理处理器(212)处通过所述I/O总线系统(232)从被管理主处理器(202)接收所述管理数据;以及 将所述管理数据存储在所述管理处理器(212)的I/O总线接ロ设备(216)的可寻址存储器(304)的存储器位置中。
2.权利要求I的方法,还包括沿直接通信总线(224)将所述可寻址存储器(304)的所述存储器位置从所述管理处理器(212)发送到所述被管理主处理器(202 )。
3.权利要求I- 2中的任ー项的方法,还包括将所述管理数据从所述管理处理器(212)发送到管理实体(226)。
4.权利要求I- 3中的任ー项的方法,其中所述在所述管理处理器(212)处从所述被管理主处理器(202)接收所述管理数据根据预定时间表定期地发生。
5.权利要求I- 3中的任ー项的方法,其中所述在所述管理处理器(212)处从所述被管理主处理器(202)接收所述管理数据响应于所述被管理主处理器(202)响应于所述被管理主处理器(202)的状态变化而发送所述管理数据而发生。
6.权利要求I- 5中的任ー项的方法,还包括在所述管理处理器(212)处从多个附加被管理主处理器(202)接收管理数据。
7.权利要求6的方法,还包括在所述可寻址存储器(304)中对来自所述被管理主处理器(202)的管理数据进行索引编排,所述索引编排是基于分配给每个所述被管理主处理器(202)的数字。
8.权利要求I- 7中的任ー项的方法,还包括在从所述被管理主处理器(202)接收到所述管理数据时通过报警机制通知所述管理处理器(212 )。
9.权利要求I- 8中的任ー项的方法,其中所述I/O总线系统(232)包括外围部件互连(PCI)快速总线系统。
10.ー种多处理器系统(200),包括 管理处理器(212);以及 至少ー个被管理主处理器(202),其通过输入/输出(I/O)总线系统(232)被通信耦合到所述管理处理器(212); 其中所述管理处理器(212)被配置成 通过所述输入/输出(I/O)总线系统(232)从所述至少ー个被管理主处理器(202)接收管理数据;以及 将所述管理数据存储在所述管理处理器(212)的I/O总线接ロ设备(218)的可寻址存储器(304)中。
11.权利要求10的方法,其中所述管理处理器(212)还被配置成沿直接通信总线(224)将所述可寻址存储器(304)内的存储器位置发送到所述被管理主处理器(202)。
12.权利要求10- 11中的任ー项的系统,其中所述管理处理器(212)还被配置成将所述管理数据发送到管理实体(226 )。
13.权利要求10- 12中的任ー项的系统,其中为了从所述至少ー个被管理主处理器(202)接收所述管理数据,所述管理处理器(212)还被配置成在所述I/O总线设备接ロ(218)的可寻址存储器(304)中对来自所述至少一个被管理主处理器(202)的管理数据进行索引编排,所述索引编排是基于分配给所述被管理主处理器(202)中的至少一个的数字。
14.权利要求10- 13中的任一项的系统,其中所述I/O总线系统(232)包括外围部件互连(PCI)快速总线系统。
15.一种用于通过输入/输出(I/O)总线系统在被管理主处理器与管理处理器之间传输管理数据的方法,该方法包括 用管理处理器(212),确定所述管理处理器(212)的I/O总线设备接口(218)的可寻址存储器(304)内的存储器位置; 用所述管理处理器(212),使用连接在所述管理处理器(212)与所述被管理主处理器(202 )之间的直接通信总线(224 )将所述存储器位置通知给所述被管理主处理器(202 );以 及 用所述管理处理器(212),通过所述I/O总线系统(232)从所述被管理主处理器(202)接收将被存储在所述存储器位置中的所述管理数据。
全文摘要
一种用于通过输入/输出(I/O)总线系统(232)在处理器之间传输管理数据的方法包括通过I/O总线系统在管理处理器(212)处从被管理主处理器(202)接收管理数据;以及将该管理数据存储在管理处理器(212)的I/O总线接口设备(218)的可寻址存储器(304)中。
文档编号G06F9/46GK102859514SQ201080066518
公开日2013年1月2日 申请日期2010年4月30日 优先权日2010年4月30日
发明者J.M.亨普希尔, T.J.博诺拉 申请人:惠普发展公司,有限责任合伙企业
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1