法律状态公告日
法律状态信息
法律状态
2010-06-23
授权
授权
2007-02-28
实质审查的生效
实质审查的生效
2007-01-03
公开
公开
技术领域
本发明系关于数据处理系统,尤有关多处理器系统。
背景技术
在数字计算机的发展中,具有继续朝向较高性能的倾向。最近在集成电路(IC)制造技术的发展已制造出较小与较快速的IC,而使得现在以微处理器为基础的计算机系统具有较前世代的超级计算机更高的性能。微处理器性能由许多因素决定,包括时脉速度与数据总线宽度。
典型的IC制造商已经能够在特定微处理器的使用寿命期间提供其较高速的改版型式。微处理器速度的持续改进已经让使用者能够以较新、较高速微处理器升级其计算机系统。因此能够将较旧、较慢的微处理器从其插槽(socket)拔除,而将新的、较高速微处理器插入其位置。此种可升级性之一个例子系为一种微处理器,其能够与内存装置于某一速度沟通,但是其内部时脉速度能够提高成较高的频率,如于美国专利No.5,828,869号由Johnson等人所揭示者。
此种型式的升级已允许于单一处理器系统显著增进其性能。然而新近的计算机架构已较单一处理器系统变得更为复杂。例如一些计算机架构现在使用多个处理器和非均匀的内存访问(NUMA)。于此种NUMA系统中,二个或多个微处理器系连接成环形或连接成网络,而各微处理器系具有关联内存和可能之一个或多个关联输入/输出装置。对使用者而言,较希望在一开始使用低成本NUMA系统,而稍后再升级该系统以增进性能。
因此,希望提供一种新手段(means),能够提升多处理器计算机系统中的性能。从后续的详细说明和所附的权利要求书,结合所附图式和前述的技术领域和背景,本发明的此一及其它的期望特征和特性将变得很清础。
发明内容
一种处理器代用品(processor surrogate),系架构成用于多处理器数据处理系统的处理节点(node),该多处理器数据处理系统具有用对应的通信链路(link)耦接在一起并耦接至多个输入/输出装置的多个处理节点。处理器代用品包括第一埠(port)、第二端口、以及互连电路。该第一埠含有第一组集成电路端子(terminal),使该第一组集成电路端子适于耦接至用于耦接至多个处理节点其中之一的第一外部通信链路。该第二埠含有第二组集成电路端子,使该第二组集成电路端子适于耦接至用于耦接至多个输入/输出装置的其中一个的第二外部通信链路。该互连电路系耦接于该第一埠与该第二埠之间。
于另一形式中,多处理器数据处理系统包括第一和第二处理节点和输入/输出装置。该第一处理节点包括实际处理器(actual processor)。该第二处理节点包括处理器代用品。该处理器代用品具有耦接至该第一处理节点的第一埠、第二埠、和耦接于该第一埠和该第二端口之间的互连电路。该输入/输出装置系耦接至该第二处理节点的该第二埠,并可经由该处理器代用品而访问于实际处理器。
附图说明
上文系结合下列图式而详细说明了本发明,其中相同的参考号码系表示相同的组件。
图1显示可助于了解本发明的多处理器计算机系统的方块图;
图2显示图1的多处理器计算机系统之一部分的方块图,包括其中一个处理器和其关联内存;
图3显示依照本发明的使用处理器代用品的多处理器计算机系统的方块图;
图4显示图3的处理器代用品的方块图;
图5显示依照本发明的另一态样使用处理器代用品的多处理器计算机系统的方块图;
图6显示图5的处理器代用品的方块图;
图7显示依照本发明的又一态样使用图6的处理器代用品的多处理器计算机系统的方块图;
图8显示可用于图2的实际处理器与图4和图6的处理器代用品的集成电路封装件的上视图;
图9显示图8的集成电路封装件的侧视图;以及
图10显示图8的集成电路封装件的下视图。
具体实施方式
下列详细说明本质上仅为范例,并不打算用来限制本发明或限制本发明的应用和使用。再者,并不欲受上文的技术领域(technical field)、先前技术(background)、发明内容(brief summary)、或下文的实施方式(detail description)中所出现的任何明示或暗示的理论的限制。
图1显示用来了解本发明的多处理器计算机系统100的方块图。计算机系统100包括二个由圆圈所代表的处理器节点,包括有标记为“P0”的第一处理器节点和标记为“P1”的第二处理器节点,二者经由通信链路116连接在一起。分别使用微处理器110和120而执行节点P0和P1。系统100亦包括标记为“I/O A”的第一输入/输出(I/O)装置130、标记为“I/O B”的第二I/O装置140、标记为“I/O C”的第三I/O装置150、标记为“I/O D”的第四I/O装置160、标记为“DRAM 0”的第一动态随机访问内存(DRAM)170、以及标记为“DRAM 1”的第二DRAM 180。处理器110为单片微机,分别经由通信链路112和114而与I/O装置130和140沟通,并经由链路116而与处理器120沟通。处理器110亦具有用来与区域DRAM 170施行内存访问的专用总线。同样地,处理器120经由对应的链路而与I/O装置150和160沟通,并具有用来与区域DRAM 180连接的专用总线。I/O装置130、140、150、和160可以是包括图形处理器(graphics processor)、以太网控制器(Ethernet controller)、连接至另一总线的桥接器(譬如由个人计算机互连(Personal Computer Interconnect,简称PCI)小组(Special Interest Group)所订定者等任何变化的I/O装置。
处理器110和120使用链路控制器而与他们个别的I/O装置沟通,该链路控制器遵从HyperTransportTM I/O链路规格,第1.05修订版,2003高速传输技术企业联盟(HyperTransport TechnologyConsortium),当使用1600MHz资料率时能够达成3.2GB/秒的通量(throughput)。HyperTransport技术为施行于二个独立单方向线组并以封包为基础的链路。如此例如链路112、114、和116包括输出连接和输入连接。各HyperTransport链路名义上为点对点(point-to-point),并且连接二个装置。HyperTransport链路的链(chain)亦能够用为I/O信道,连接I/O装置与桥接器至主系统(host system)。HyperTransport链路系设计成用来传输中央处理单元(CPU)、内存、和I/O装置之间高性能和可扩充(scalable)的互连。HyperTransport链路利用晶粒上差动端(on-diedifferential)使用低摆幅差动讯号传输(low swing differential signaling),以达成非常高的资料率。HyperTransport链路使用可调整频率和数据宽度以达成可增减频宽。
系统100包括关联于各处理器节点以及分布于该等节点之间的内存。该系统100系采用快取相关非均匀内存访问(cache coherentnon-uniform memory access;CC NUMA)架构。CC NUMA架构为非均匀的,其中于系统中的所有内存系可被各处理器看到,但是访问时间依据处理器与内存之间的实体距离(physical distance)而定。因此处理器110能够快速访问DRAM 170,但是于该处理器110能够访问DRAM180的前,必须等待内存访问请求行经整个链路116处理器110和120之间的链路116使用已知为相关HyperTransport(coherent HyperTransport)的特殊形式的HyperTransport。
图2显示图1的多处理器计算机系统100之一部分200的方块图,包括处理器110和DRAM 170。处理器110为单晶微处理器,并大体上包括中央处理单元(CPU)202、内存控制器206、标记为“XBAR”的纵横开关(crossbar switch)208、和用于HyperTransport而各自标记为“HT”的三个链路控制器212、214、和216。CPU 202为处理器,调适成执行所谓x86指令组的指令。x86指令组系根据由美国加州SantaClara郡的英特尔公司(Intel Corporation)首先制造的8086微处理器的指令组。然而CPU 202包括许多用于x86程序的高性能执行,复杂功能包括管线(pipelining)和超纯量(super scalar)设计。CPU 202包括至少一个缓存204,用来储存频繁使用的资料。例如,CPU 202可包括二个上层(top level)(L1)缓存,一个用来储存指令,另一个用来储存数据,以及一个第二层(L2)缓存,由指令和数据流所共享。
内存控制器206为用于处理器110和DRAM 170之间资料转移的机构。内存控制器206从CPU 202卸载内存访问的起使化和终止化的任务。内存控制器206包括内部队列(queue),允许外部总线至DRAM170的有效使用。于其它实施例中,DRAM 170可由低阶(lower-level)内存系统所取代,该低阶内存包括一个或多个额外的缓存和主存储器,亦可由静态RAM、非挥发性内存等所取代。
XBAR 208为交换/多任务电路,系设计成耦接总线内部至处理器110。
链路控制器212、214、和216分别耦接至外部链路112、114、和116。链路112、114、和116分别包括输出信道220、230、和240,以及分别包括输入信道222、232、和242。各链路控制器212、214、和216遵从HyperTransportTM I/O链路规格,第1.05修订版,但是额外地支持能够链接二个处理器节点的HyperTransport特殊相关形式。
兹同时考虑图1和图2,便能够看出处理器120如何访问DRAM170。对应于内存控制器206的处理器120的自有内存控制器将从其CPU接收内存访问请求。在辨识出该访问为用于存在于另一节点的记忆后,便透过其链路控制器其中一者经由相关链路116送出内存访问请求至处理器110。由链路控制器216接收该请求封包,并经由XBAR208路由(oroute)至内存控制器206。然后内存控制器206会检核其内部目录,以了解请求的内存组件是否存在于缓存204中。若请求的内存组件不存在于缓存204中,则内存控制器206会读取DRAM 170,并提供所请求的资料组件透过XBAR 208和链路控制器216经由相关链路116而回到处理器120。
虽然可能使用插槽兼容(socket-compatible)但是较高速的处理器来升级系统100,但希望能有更具弹性的升级。此种能力显示于图3中,图3系显示使用依照本发明的处理器代用品320的多处理器计算机系统300的方块图。于此处所使用的“多处理器”意味着具有多于一个的处理节点,即或仅有一个处理节点具有实际的CPU亦然。系统300除了节点P1已由标记为“S1”的节点所取代外(该节点S1具有处理器代用品320,而没具本身的CUP),其余系相似于系统100。于此处所使用的“处理器代用品”为一个插入节点S1的插槽以取代实际处理器的装置。藉由使用处理器代用品320取代实际处理器,而可在系统300中使用额外的I/O装置350,而不须花费另一个具有自己的CPU的实际微处理器。系统300本质上为单处理器系统,而可以容易升级为双处理器系统。因此系统300为低成本系统但是具有升级的途径:可稍后将例如关于图2中所示者的实际处理器插入于由处理器代用品320所使用的插槽中,以显著升级计算机系统300的性能。
如于后文中可以了解的,处理器代用品一般可以有二种型式:主动型和被动型。二种型式的处理器代用品均和实际微处理器为插槽可兼容并且可取代操作于实际微处理器的操作,但是它们所使用的互连电路的型式并不相同。图4显示图3的处理器代用品320的方块图。处理器代用品320为被动型代用品,并包括连接HyperTransport链路370的输入讯号至HyperTransport链路380的输出讯号的第一组导线390,以及连接HyperTransport链路380的输入讯号至HyperTransport链路370的输出讯号的第二组导线392。处理器代用品320包括集成电路端子,对应于譬如图2的微处理器的实际处理器的二个链路控制器的端子。
于开机(power-up)后,处理器310侦测HyperTransport链路为相关的或非相关的(non-coherent),并协商链路上的信息传送速度。因此连接到链路370的处理器310中的链路控制器将会经由处理器代用品320从与I/O控制器350间的通信而侦测出链路是非相关的。然而,若处理器代用品稍后用实际的处理器所替代,则于处理器310中的链路控制器将侦测到主动节点的存在,并将其组态成相关的链路。
处理器代用品320具有如图1与图2的处理器110相同的“足迹(footprint)”,也就是说,实际上他可以插入或被插入可容置如处理器110的实际处理器的插槽。因此,处理器代用品320将具有如实际处理器的相同集成电路封装件尺寸。然而该集成电路封装件将仅包含导线390和392。特别是用于处理器110的其中一种型式的封装件系已知为陶瓷微针脚栅格数组(ceramic micro pin grid array)封装件。欲容置于用于微针脚栅格阵列处理机的插槽,处理器代用品320亦将使用相似的微针脚栅格数组封装件。然而,用于大部份讯号的接脚(pin)将不连接,而因此将存在“假(dummy)”接脚。使用接脚372、374、382、和384以提供适当的互连。陶瓷型封装件提供在陶瓷材料内使用多个信号平面形成互连的机会,以减少寄生损失,否则的话若使用导线架(leadframe)型封装件,则透过结合线的使用将会发生寄生损失(parasiticlosses)。可选择连接电源和接地接脚以提供适当的接地平面,用来屏蔽射频(RF)辐射和干扰。值得注意的是,可重新设计处理器代用品320,以匹配用于实际处理器的任何其它封装件型式的足迹。并且,若电气和机械性能足够的话,亦能用较廉价的有机封装件替代陶瓷封装件。
详言的,处理器代用品320可以容装在由31列乘上31行数组所形成、总共具有961个接脚的陶瓷微针脚栅格数组封装件内。使用HyperTransport链路,输入埠372和384各包括38个接脚,包括4个时脉输入接脚、2个控制输入接脚、和32个多任务命令/地址/资料输入接脚,其中系使用一对信号接脚以差动方式传导各信号。输出埠374和384亦包括38个对应接脚,包括4个时脉输出接脚、2个控制输出接脚、和32个多任务命令/地址/资料输出接脚。欲制造处理器代用品320,制造者藉由连接第一链路(链路0)的控制输入接脚和第二链路(链路1)的控制输出接脚,链路0的时脉输入接脚和链路1的对应时脉输出接脚,以及该链路0的多任务命令/地址/资料输入接脚和该链路1的对应多任务命令/地址/资料输出接脚,而在封装件内形成内部互连390。亦制造相似的连接392,用来连接链路1的输入至链路0的输出。值得注意的是,HyperTransport的特征为调整命令/地址/资料输出接脚的数目从2对至32对的能力,于其它实施例中,可以支持除了上述的16对差动接脚外的不同数目的命令/位址/资料接脚。
图5显示依照本发明的另一态样使用处理器代用品的多处理器计算机系统500的方块图。系统500包括于节点P0的实际处理器510和于节点S1的主动形式的处理器代用品520。节点P0和S1系使用相关HyperTransport链路590而连接在一起。系统500包括4个I/O装置,包含标记为“I/O A”的I/O装置530、标记为“I/O B”的I/O装置540、标记为“I/O C”的I/O装置550、和标记为“I/O D”的I/O装置560。使用个别的非相关HyperTransport链路而将I/O装置530和540连接至处理器510,以及使用个别的非相关HyperTransport链路592和594而将I/O装置550和560连接至处理器代用品520。系统500亦包括标记为“DRAM 0”的第一DRAM 570和标记为“DRAM 1”的第二DRAM580,系分别连接至节点P0和S1。
系统500使用主动处理器代用品520,以允许于节点P0有更多的资源,而不需要本身具有CPU和缓存的第二实际处理器。如下文将进一步说明者,处理器代用品520藉由主动电路取代简单的接线而提供互连接,以允许处理器510访问二个I/O装置550和560以及额外的DRAM 580,而不须额外的CPU。因为处理器代用品520缺少CPU和缓存,因此处理器代用品520要较实际处理器廉价,但是郄提供了用于提升未来性能的升级途径。
参照图6将可对主动处理器代用品的构造有更佳的了解,图6显示包含了处理器代用品520和DRAM 580的图5的系统500的部分的方块图。如图6所示,处理器代用品520包括内存控制器606、纵横开关608、和分别连接到链路590、592、和594的HyperTransport链路控制器612、614、和616。如图2的处理器110,HyperTransport链路控制器612、614、和616系分别连接到对应埠,包括输出连接组620、630、和640,以及输入连接组622、632、和634。HyperTransport链路控制器612、614、和616亦连接到纵横开关608。内存控制器606系连接到纵横开关608并连接至外部DRAM 580。
图2的实际处理器110和处理器代用品520的内存控制器、纵横开关、和HyperTransport链路控制器系功能上相同。所显示形式的纵横开关208和608均包括自动侦测CPU是否存在的特征。因此该设计系为模块化的,而能仅简单地从构件表(netlist)删除CUP并输入修正的构件表至自动配置和绕线CAD软件,而实现使用于处理器代用品520的集成电路。因为CUP耗用处理器110的集成电路区域的基本主要区域,因此用于处理器代用品520的集成电路将令有相当少的花费。或者是,可使用具有缺陷CPU的实际处理器,而形成主动处理器代用品。
值得注意的是,为了使用主动处理器代用品,链路590系使用相关形式的HyperTransport。像内存控制器,处理器代用品520中的链路控制器系为模块化的,并与那些使用于实际处理器中的链路控制器相同。然而,于开机后,经由链路590连接至处理器510的处理器代用品520中的链路控制器会侦测于另一端的主动装置,并将该链路组态成相关形式的HyperTransport。因此该协议系适用于本身具有分配内存和内存控制器的代用品。
图7显示依照本发明的又另一态样的使用图6的处理器代用品的多处理器计算机系统700的方块图。系统700系说明于建构具有相当升级能力的复杂系统拓朴(topology)中的主动形式处理器代用品的弹性。系统700包括分别由实际处理器710和处理器代用品720、730、和740所执行的标记为“P0”、“S1”、“S2”、和“S3”的4个处理器节点。系统700使用譬如图2的处理器110的实际处理器用于PO,和使用譬如显示于图6的处理器代用品520的主动形式处理器代用品用于节点S1、S2、和S3。使用相关HyperTransport链路而将处理器节点连接成环形,使得节点P0连接至邻接的节点S1和S3,节点S1连接至邻接的节点P0和S2,节点S2连接至邻接的节点S1和S3,而节点S3连接至邻接的节点S2和P0。
系统700提供对于连接至三个主动形式处理器代用品的DRAM和I/O装置的可访问性,而并不需有额外CPU(该CPU必须为实际处理器)。系统700亦具有显著升级途径的能力,可将系统扩展提升至4个处理器。
于其它的系统中,可使用其它的处理器节点拓朴,而所有的此等多处理器拓朴可具有至少一个实际处理器和一个或多个处理器代用品,以提供弹性升级途径。另外须注意的是,虽然图2的处理器110系透过使用三个对应链路控制器的三个HyperTransport链路来支持通信,但是于其它实施例中,实际处理器可包括不同数目的链路控制器,而使用处理器代用品的可能性亦可有变化。举例而言,若实际处理器110包括4个链路控制器,则在二结点多处理器系统中,被动形式的处理器代用品能允许处理器110与连接到处理器代用品的二个额外的I/O装置进行连接。4个链路控制器,亦允许更复杂的网络拓朴,如于此种所详细说明者。
值得注意的是,于此系按HyperTransport NUMA架构来说明处理器代用品和多处理器系统的实施例。于其它实施例中,亦可使用其它处理器间通信协议(inter-processor communication protocols)。更须注意的是,不须使用相关链路而执行处理器间通信协议。例如,能藉由非相关处理器间通信链路而使用软件相关管理。而且所揭示的微处理器可执行x86指令组外的其它的指令组。
图8显示可用于图2的实际处理器110、图4的处理器代用品320、和图6的处理器代用品520的集成电路封装件的上视图800。例释性集成电路封装件为微针脚栅格数组封装件。针脚栅格数组封装件为特别适合置换的封装件型式,因为它能匹配于对应的插槽,而处理器代用品能容易从插槽抽出,并以实际的处理器取代。从上视图800能够看到微针脚栅格数组封装件具有基部802和由基部802所界定的区域之中心部分内的盖部804。基部802在标记为”A1”角的右上角具有斜部(bevel)806,以下将作更详细的说明。
图9显示图8的集成电路封装件的侧视图900。从侧视图900可看到基部902和盖部904。在基部902下方系为以接脚数组906的形式形成的多个集成电路端子,该接脚数组906系从基部902的底面向下延伸。
图10显示图8的集成电路封装件的下视图1000。从下视图1000可看到A1角1002和向观察者延伸而以实线圆表示的接脚数组。封装件描绘出由列1004和行1006所形成的可能的接脚数组。列1004包括31列而行1006包括31行,可用于可能的961接脚数组。然而,在角落和在数组内的几个区域并未出现有接脚,而使得接脚总数等于940个。列以A、B、C···H、J···M、N、P、R、S···V、W、Y、AA、AB···AH、AJ、AK、AL字母的顺序由上而下指定,而行从右至左以数字1至31指定。
因此于一个特定例子中,标准处理器系具有一种接脚指定,包括如表I所示用于链路控制器212和如表II所示用于链路控制器212的下列适当接脚:
表I
表II
其中接脚L0_CADIN_H[0]表示用于链路控制器0的控制/位址/资料输入接脚0的差动对接脚中高电位或较高正电位的接脚,L1_CLKOUT_L[1]表示用于链路控制器1的时脉输出接脚1的差动对接脚中低电位或较负电位的接脚,其余类似。
为了制造图4中所示的被动形式的处理器代用品,制造者必须将链路控制器0的输入端内部连接至对应的链路控制器1的输出端,以及将链路控制器1的输入端内部连接至对应的链路控制器0的输出端。因此,使用第8至10图的微针脚栅格数组例子以及表I和II,接脚L0_CADIN_L[0](指定至接脚位置G2)将连接至接脚L1_CADOUT_L[0](指定至接脚位置E14),接脚L1_CADIN_H[15](指定至接脚位置E14)将连接至接脚L0_CADOUT_H[15](指定至接脚位置V4),其余类似。
虽然于上述详细说明中已至少呈现了一个实施范例,但是应了解该实施范例存有广泛的变化。亦应了解实施范例或多个实施范例仅用来作为例子,而并不欲以任何方式限制本发明的范围、应用、或组构。反的,上述详细说明对熟悉此项技艺者提供了施行此实施例和或多个实施例的方便指引。应了解到在功能上和组件配置上能作各种的改变而不会偏离所附权利要求书中提出的本发明与其法定等效者的范畴。
机译: 记录多处理器系统,用于多处理器系统的管理装置以及在该用于多处理器系统的管理程序中记录的计算机可读记录介质
机译: 记录多处理器系统,用于多处理器系统的管理装置以及在该用于多处理器系统的管理程序中记录的计算机可读记录介质
机译: 记录多处理器系统,用于多处理器系统的管理装置以及在该用于多处理器系统的管理程序中记录的计算机可读记录介质