具有群集id和群集内id的逻辑apicid的创建的制作方法

文档序号:6397860阅读:319来源:国知局
专利名称:具有群集id和群集内id的逻辑apic id的创建的制作方法
技术领域
本发明的实施例一般涉及处理器的中断。
背景技术
高级可编程中断控制器(APIC)是根据可编程过程或优先级接收中断请求并提供中断输出的可编程中断控制器(PIC)。本地APIC用在处理器(诸如微处理器)中。I/OAPIC用在芯片组装置(诸如输入/输出(I/O)控制集线器(ICH))和外围装置中。外围装置的示例包括耦合到ICH的装置,其与外围部件互连(PCI)标准之一或PCI Express(PCIe)标准之一、诸如由PC1-SIG 2006年12月20日提供的PCI Express 基本规范版本2. O兼容。xAPIC是扩展APIC,其类似于早期的APIC,但具有一些附加特征,并且在xAPIC架构中,本地和I/O APIC通过系统总线而不是通过APIC总线通信。另外的扩展xAPIC包含附加扩展和特征。处理器封装可包含多于I个核,每一个核可包含多于I个处理器。物理模式中断是中断装置通过物理标识号指定处理器或者广播到所有处理器的中断。逻辑模式中断是中断装置通过逻辑标识号指定处理器的中断。APIC中断传递包含定向中断(单个处理器目标)、多播(多个处理器目标)和广播(所有处理器)。在最低优先级中断中,使用过程来选择处于最低处理器优先级的处理器以响应该中断。最低优先级可以在芯片组中判定一经常以专门的方式,或使用处理器优先级的过期数据。因为优先级信息经常不可靠,所以一些芯片组仅选择特定处理器(诸如通过循环技术(round robin technique)),并以广播方式向该处理器提供中断,其中其它处理器也接收中断,但不响应它们。逻辑模式在定向中断中提供了明显更大的灵活性,并且是微软Windows和一些Linux压缩包装操作系统所用的模式。xAPIC架构的逻辑模式给操作系统软件提供了在初始化逻辑APIC标识号(ID)方面的灵活性,该ID是系统中每个处理器的独特标识符。(处理器还具有物理APIC ID。)其它处理器以及装置或IOxAPIC使用这个ID向这个处理器发送中断。给定在初始化逻辑xAPIC ID方面的灵活性,在平台的实际物理拓扑与如何分配ID之间没有关系。虽然操作系统初始化允许操作系统在给处理器分组方面具有更大的灵活性,但是在平台级,这使定向逻辑模式中断路由变得复杂。通过广播中断并在中断匹配本地处理器逻辑的本地APIC ID时使本地处理器逻辑接受该中断来进行逻辑模式中断的路由。让每个处理器检查每个中断导致了性能和功率低效。例如,在广播方法下,每个处理器尽管在该处理器处于低功率状态时也检查看看中断是否被定向到该处理器。由于中断发生得相当经常,使得处理器难以停留在深低功率状态。另外,性能降低了,原因在于,在向中断未定向的封装发送中断时,在互连上存在业务量。在一种方法下,操作系统已经试图使处理器的逻辑群集用于同一封装中的处理器,其方式是通过按处理器启动的顺序分配逻辑ID。如果依赖这种方法,那么它仅提供了部分解决方案,并且仍使用广播。从而,存在用于创建可以有效的方式路由到处理器的逻辑APIC的需要。

发明内容
本申请提供一种用于创建逻辑处理器标识号的方法,包括
在处理器封装的创建逻辑中接收物理处理器标识号;以及
使用所述物理处理器标识号来创建逻辑处理器标识号,其中所述逻辑处理器标识号中的每个对应于所述物理处理器标识号之一,以及其中所述逻辑处理器标识号各包括处理器群集标识号和群集内标识号。本申请还提供一种处理器封装,包括
多个处理器,各包括物理高级可编程中断控制器(APIC);以及 逻辑APIC ID创建逻辑,用于
接收物理处理器标识号;以及
使用所述物理处理器标识号来创建逻辑处理器标识号,其中所述逻辑处理器标识号中的每个对应于所述物理处理器标识号之一,以及其中所述逻辑处理器标识号各包括处理器群集标识号和群集内标识号。


根据下面给出的具体实施方式
和本发明实施例的附图将更全面理解本发明,然而,这不应认为是将本发明局限于所描述的具体实施例,而只是用于说明和理解。图1是根据本发明的一些实施例包含多核处理器封装、输入/输出集线器和装置的系统的框图表示。图2是根据本发明的一些实施例包含多核处理器封装、输入/输出集线器和装置的系统的框图表示。图3是供本发明一些实施例之用的电路板上插座(socket)的框图表示。图4是供本发明一些实施例之用的物理APIC ID寄存器的框图表示。图5是供本发明一些实施例之用的逻辑APIC ID寄存器的框图表示。图6是逻辑APIC ID创建逻辑的框图表示。图7例示了供本发明一些实施例之用的根据物理APIC ID生成逻辑APIC ID。图8例示了根据本发明一些实施例的每个封装具有四个核且每个核具有两个逻辑处理器的两插座系统的物理和逻辑APIC ID。图9是供本发明一些实施例之用的具有多个条目的APIC重定向表的框图表示。图10是供本发明一些实施例之用的APIC重定向表条目的框图表示。
具体实施例方式在一些实施例中,系统根据处理器物理ID创建每个处理器的逻辑APIC ID。逻辑APIC ID包含处理器群集ID和群集内的处理器号(群集内ID)。逻辑APIC ID创建成使得群集内的所有处理器都包含在同一处理器封装中。这帮助减少了互连上的业务量,原因在于,中断可只定向到一个处理器封装,而不是广播到所有处理器封装。另外,这降低了功耗,原因在于,其它处理器封装中的处理器(或者在一些情况下同一处理器封装内的其它群集)不接收中断,并且因此不必确定中断是否定向到它们。在一些情况下,这防止处理器必须从休眠状态出来。在一些实施例中,逻辑目的标识号可包含可用来响应于中断的处理器。处理器选择逻辑选择其中一个可用处理器接收中断。在以下论述中,物理APIC ID是物理处理器标识号的示例,而逻辑APIC ID是逻辑处理器标识号的示例。逻辑APIC ID创建逻辑是逻辑标识号创建逻辑的示例。1.系统概述
图1例示了可用在本发明一些实施例中的系统,但是其它实施例可包含包括不同细节的系统。参考图1,系统包含多处理器封装,该封装至少包含耦合到输入/输出集线器(IOH)12的处理器封装O和处理器封装I。IOH 12包含IOH I/O APIC 14、重定向逻辑18和处理器选择逻辑20。包含PCIe I/O AP IC 28的PCIe装置26通过中断接口电路30耦合到IOH
12。装置36(诸如键盘和鼠标)通过IOH I/O APIC 14提供中断。IOH I/O APIC 14、I/
OPCIe APIC 28和本地APIC 72-1...72-4和78-1...78-4可以是各种类型的APIC,诸如xAPIC或扩展xAPIC。备选地,可以使用APIC之外的其它中断控制器。封装O包含核O和I以及在本文称为非核42的附加电路。核O包含处理器70_1和70-2,这些处理器分别包含本地APIC 72-1和72_2,而核I包含处理器70_3和70_4,这些处理器分别包含本地APIC 72-3和72-4。封装I包含核2和3以及称为非核52的附加电路。核I包含处理器76-1和76-2,这些处理器分别包含本地APIC 78-1和78_2,而核3包含处理器76-3和76-4,这些处理器分别包含本地APIC 78-3和78_4。封装O和I将包含未具体例示的各种部件。存储器64 (诸如主存储器DRAM)耦合到非核42,而存储器66耦合到非核52。存储器60 (包含保存操作系统(OS)的硬盘驱动器)耦合到IOH 12。在存储器60与IOH 12之间可存在中间部件。BIOS存储器62耦合到IOH 12。处理器70-1、70-2、70-3和70-4分别具有物理APIC ID P0、P1、P2和P3。处理器70-1、70-2、70-3和70-4分别具有物理APIC ID P0、P1、P2和P3。逻辑APIC ID创建逻辑(图6中)分别基于物理ID 041、?2和?3以及P16、P17、P18和P19提供逻辑APIC IDL0、L1、L2 和 L3 以及 L16、L17、L18 和 L19。(当然,P0...P4 和 P16...P19 以及 L0...L3 和L16...L19表示ID位,并不是字母“P”或“L”和数字。)在一些实施例中,封装O和I包含多于2个核(例如见图8),并且一个核可包含多于2个处理器。在所例不的实施例中,在P3与P16之间的物理ID中以及在L3与L16之间的对应逻辑ID中存在间隙。这个的原因是,在这些实施例中,群集包含16个处理器的ID,而无论是否存在16个实际处理器。处理器封装可包含I个芯片(管芯)或多于I个芯片。处理器封装可包含O个、I个或多于I个存储器芯片。重定向逻辑18从装置26接收值(例如16位值),并向封装O或封装I提供中断。可以在各种地方判定哪个处理器用于响应于中断。例如,根据该实施例,可以在IOH 12中的处理器选择逻辑20中,和/或在非核中的处理器选择子逻辑(诸如非核42中的处理器选择子逻辑46或非核52中的处理器选择子逻辑56)中进行判定。子逻辑48中的过滤器48和子逻辑56中的过滤器58可用于例如基于功率状态(c状态)和/或处理器优先级滤出不考虑的处理器。在处理器选择逻辑20中可使用类似过滤器。在一些实施例中,没有处理器选择逻辑20,而是只有处理器选择子逻辑。图2类似于图1,并且例示了具有IOH APIC 114、重定向逻辑118、处理器选择逻辑120和中断接口电路130的IOH 112,它们可类似于或等同于图1中的IOH APIC 14、重定向逻辑18、处理器选择逻辑20和中断接口电路30。图2还例示了包含处理器群集O和处理器群集I的处理器封装O、包含处理器群集2和处理器群集3的处理器封装1、包含处理器群集2(N-1)和处理器群集2 (N-1)+1的处理器封装N-1。处理器封装O、L...N-1通过互连142-0,142-1...142-N-1耦合到IOH 112。在一些实施例中,存在分开的互连以将处理器分开,而在其它实施例中,只有一组互连用于每个处理器封装,或一组中断用于每个群集。中断的群集ID指示哪个群集要接收中断。例如,假设群集ID是0000000000000010b (其中b指示二进制)。那将指示群集2
要接收中断。相比中断被广播到所有处理器的方法,这涉及较少功率并涉及互连上的较少业务量。不在互连142-0和142-N-1上发送中断,因此在这些互连上有较少业务量,这有助于带宽和功率降低。再者,群集0、1、3、2(N-1)和2(N-1)+1中的处理器不必检查中断是否定向到它们,这降低了功率(特别是在处理器必须从深低功率状态出来以确定中断是否定向到它的情况下)。不同群集中的处理器之间因为地点可能也存在较少的高速缓存线业务量。其它实施例在处理器封装中可包含甚至更多的处理器群集。其它部件(诸如非核,如果包含的话)在图2中未示出。可存在附加部件,诸如IOH与处理器封装之间的桥。另外,系统中可存在多于I个Ι0Η。图3例示了包含插座的电路板190 (诸如印刷电路板),插座包含插座O以容纳处理器封装0,插座N-1以容纳处理器封装N-1,以及插座194以容纳IOH芯片。在一些实现中,电路板190包含用于处理器封装和用于各种其它芯片的附加插座,但是在其它实现中,电路板190只包含2个插座。本文所用的术语“插座”涵盖了用于将芯片耦合到电路板的各种技术。2.APIC ID 初始化
在一些实施例中,物理APIC ID例如在从复位状态出来时通过硬件和/或微代码静态地初始化/锁存,并保持到下一加电循环(power cycle)为止。图4例示了保存32位物理APIC ID的寄存器110,在一些实施例中APIC ID包含在对应的本地APIC中。在逻辑模式中所用的逻辑APIC ID在处理器群集内被划分成两个字段——16位宽群集ID和16位宽逻辑ID。逻辑ID的16个最高有效位含有目的群集的地址或标识号,而较低16位标识群集内的各个本地APIC单元。逻辑ID部分可以是群集中每个处理器I位的位屏蔽——例如,位O将设置用于处理器群集中的处理器0,位I用于处理器群集中的处理器1,等等。图5例示了保存32位逻辑APIC ID的寄存器112,其中位16到31保存群集ID,而位O到15保存群集内逻辑ID。作为实际问题,许多系统将具有少量的处理器群集,使得例如只需要I位或2位来标识群集ID。在不同的实施例中,其余位可以进行不同地处理。例如,其中一些位在一些系统中省略了,而在其它系统中使用了。通过初始化算法,可基于平台拓扑在逻辑APIC ID与物理APIC ID之间建立永久关系。这给路由结构提供了特定处理器封装(插座)的知识,以与进行广播相反的方式路由中断。在处理器群集可装有限制为16个处理器的情况下,如果在处理器封装中存在多于16个处理器,那么每个封装将存在多个群集。如果在群集中存在少于16个处理器,那么可使用APIC ID的填充。逻辑APIC ID创建逻辑216根据物理APIC ID创建逻辑APIC ID。逻辑APIC ID创建逻辑216可以用硬件、软件或微代码或者它们的组合来实现。硬件可以在非核或本地APIC中,或者其它地方。在一些实施例中,得出逻辑APIC ID,使得对物理APIC ID的较低4位(即1〈〈物理APIC ID [3:0])“解码”,以在群集内提供16位逻辑ID。物理APIC ID的其余16位然后形成逻辑xAPIC ID的群集ID部分。由此使用如下公式,根据本地xAPIC ID导出逻辑xAPIC ID:
逻辑 APIC ID=[(物理 APIC ID[19:4]〈〈16) I I (1〈〈物理 APIC ID[3:0])]
在该公式中,符号I I意思是“或”,但可以用加代替,并且将获得相同的结果。这个公式可以类似如下的方式重新阐述:
逻辑ID= (1〈〈本地xAPIC ID[3:0]) //群集内逻辑ID
I(本地 xAPIC ID [19:4]〈〈16) //群集 ID图7例示了在得出逻辑APIC的过程示例中将寄存器210中的物理APIC ID转换成寄存器212中的逻辑APIC ID。位20-31可以省略,或者用于各种目的。图8示出了通过处理器封装O和I中的物理APIC ID获得逻辑APIC ID的示例,每个处理器封装包含各有2个处理器的4个核。由于每个封装存在少于16个处理器,因此每个封装只有I个群集。参考封装0,处理器PO的物理APIC ID显示为OOOOOb0 “b”用于二进制。第一个O来自群集ID,并指示该群集是封装O中的群集。为了在图中节省空间,在图8中未例示来自群集ID的其它位。四个加下划线的O在群集内ID中,并指示物理APICID是O (没有列出所有O)。 在以上论述的过程之后,通过在群集内逻辑ID中的最低有效位(LSB)中以“I”开始,其它的包含0,然后将“I”移位物理ID的前4位中发现的量,来创建逻辑APIC ID。由于处理器PO的物理ID的前4位是0000,所以“I”不移位,并且因此逻辑ID是OOOlh(其中“h”是指十六进制)。十六进制用于允许在图8中例示大数。群集ID(O)保持与物理ID的位4-19中的相同。在处理器Pl的情况下,物理ID的4个LSB是0001,因此“ I”被移位I位,使得群集ID对于群集O是0,而逻辑ID是0002h,这是通过将I移位I位引起的。例如,在处理器P5的情况下,将“I”向左移位5位,这用十进制表示是32,或者用十六进制表示是20。对封装I遵循相同原则,只是群集ID在物理和逻辑APIC ID中都是
1例如根据实现的方便,初始化可发生在多个时间点。什么时候可发生初始化的示例包括:当从复位状态出来时,当初始化物理APIC ID时,或者在操作系统第一次读取逻辑APIC ID的时候。填充APIC ID的以上算法如果需要的话可以确保每个APIC群集都限制于单个处理器封装。3.处理器选择逻辑和重定向
处理器选择逻辑从可用的选项中选择处理器接收中断。让本地APIC接收中断是处理器接收中断的一个示例。在现有技术中,已经通过最低优先级方案为中断选择了处理器。然而,如下面所说明的,在判定哪个处理器要接收中断时,可以考虑不同于或者除了处理器优先级之外还有的因素。操作系统可选择群集和群集内可用于中断的至少一个处理器。这个信息可直接或间接包含在由诸如图1中装置26的装置所提供的中断中。例如,在直接实现中,中断可包含16位字段,以位映像方式一位用于群集中的每个处理器(但是在可能不使用某些位的情况下,可能存在少于16个处理器)。当“I”在与处理器相关联的位置时,该处理器是可用的,这种位置在以上论述的公式中和图8中用于根据物理APIC ID提供逻辑APIC ID。这可称为逻辑目的ID。作为一个示例,逻辑目的ID位屏蔽可以是00101101,其指示处理器P0、P2、P3和P5可用于中断。这假定在群集中存在8个处理器,因此未示出左边的最高8位。当然,可以颠倒“O”和“ I ”的角色,因此O表示可用的处理器,而I表示不可用的处理器。上面论述的处理器选择逻辑可以选择哪个可用处理器要接收中断。注意,虽然通常只有一个处理器接收中断,但在某些情况下,中断可定向到多于I个处理器。作为备选,来自装置36的中断可以包含索引(诸如16位索引),其提供到重定向表中的索引,这可包含在图1的重定向逻辑19中。参考图9,重定向表230例如包含用于不同索引值的64位条目。条目234是一个示例。图10示出了根据一些实施例的示例条目234的细节,但是在其它实施例中,它可以不同。参考图10,位48-63指示群集ID,其在图10的示例中指示群集2要接收中断。结合图2看示例。仍参考图10,逻辑目的ID列出了可用处理器供处理器选择逻辑(或子逻辑)考虑。目的ID位屏蔽Ollb指示处理器PO和Pl可用,而其它处理器不可用。为了便于例示,在图10中只示出了 16位中的3位。作为另一个示例,目的位屏蔽可以是00101101b,其指示处理器P0、P2、P3和P5可用,而P1、P4、P6和P7不可用。在这个示例中没有处理器P8-P15。可能只有一个处理器可用。位0-31可以给出各种类型的路由信息,诸如是否涉及定向中断(direct interrupts)。图10中示出了“最低优先级”,但是可以考虑所提到的其它因素,诸如功率状态,使得严格来说,它可能不被认为是最低优先级选择。存在可用于基于处理器功率状态和优先级的知识在群集内路由中断的几种可能实现。“非核”中的一个可能实现将使用处理器功率状态知识和优先级来提供中断路由,以实现将性能结论(performance implication)考虑进去的两种功率已知中断路由(power aware interrupt routing)。非核将具有处理器C状态(功率节省状态)的知识-这些
例如称为C0、C1、C2…C6——其中CO是处理器(或核)正在运行代码的状态,而CL...C6是处理器停止的空闲状态:C1是最低功率节省状态,而C6是较高功率节省状态。再者,进入Cl的等待时间(以及微架构边界效应)可以是最低的,而对于C6,那些是最高的。为了从较深C状态(诸如C6)提供最高值,可以期望考虑已经进入C6状态的处理器停留在那个状态的时间为最长可能的间隔。在这个可能实现中,非核将通过(I)标识最低标号的C状态的处理器,并(2)在这些处理器当中找到具有最低优先级的处理器作为中断的目标,来标识目标。有多种可实现这些方法的方式。一种实现可保持封装中处理器在各种C状态的位映射(bitmap),将这些位映射对照进来的目标位映射进行比较,并拾取该位映射中最高或最低 APIC ID 作为目标(An implementation can retain a bitmap of the processorsin a package in various C-states, AND these against the incoming target bit mapand pick the highest or lowest APIC ID in that bitmap as the target)。可以使用其它实现细节。附加信息和实施例
本文提到的“逻辑”可以用电路、软件或微代码或者它们的组合实现。
实施例是本发明的实现或示例。说明书中提到“实施例”、“一个实施例”、“一些实施例”或“其它实施例”是指结合这些实施例所描述的特定特征、结构或特性包含在至少一些实施例中,但不一定包含在所有实施例中。“实施例”、“一个实施例”或“一些实施例”的各种出现不一定都指相同实施例。当说元件“A”耦合到元件“B”时,元件A可以直接耦合到元件B,或者例如通过元件C间接耦合。当说明书或权利要求书提到部件、特征、结构、过程或特性A “引起”部件、特征、结构、过程或特性B,是指“A”是“B”的至少部分原因,但是可能还有至少一个其它部件、特征、结构、过程或特性帮助引起“B”。同样,A响应B,不是指它就不响应C。如果说明书提到“可以”、“可能”或者“能够”包含部件、特征、结构、过程或特性,则该特定部件、特征、结构、过程或特性不是必须被包含。如果说明书或权利要求书提到“一个”元件,则并不意味着只有一个元件。本发明不限于本文描述的具体细节。实际上,在本发明的范围内可以进行以上说明书和附图的许多其它改变。由此,是包含对其任何修改的如下权利要求书来限定本发明的范围。
权利要求
1.一种用于创建逻辑处理器标识号的方法,包括: 在处理器封装的创建逻辑中接收物理处理器标识号;以及 使用所述物理处理器标识号来创建逻辑处理器标识号,其中所述逻辑处理器标识号中的每个对应于所述物理处理器标识号之一,以及其中所述逻辑处理器标识号各包括处理器群集标识号和群集内标识号。
2.如权利要求1所述的方法,还包括形成包括来自在适当位置移位的对应物理处理器标识号的一组位的所述处理器群集标识号。
3.如权利要求2所述的方法,还包括响应于对应物理处理器标识号的位中的其它位的值而形成所述群集内标识号。
4.如权利要求3所述的方法,其中,所述群集内标识号各通过将值移位对应物理处理器标识号的一些位中包括的量来形成。
5.如权利要求3所述的方法,其中,所述逻辑处理器标识号(逻辑ID)中的每个按照涉及对应物理处理器标识号(物理ID)的下列公式来形成:逻辑 ID=[(物理 ID[19:4]〈〈16) | | (1〈〈物理 ID[3:0])]。
6.如权利要求3所述的方法,其中,将所述逻辑处理器标识号和所述物理处理器标识号中的相应标识号定向到所述处理器封装中的处理器。
7.如权利要求6所述的方法,其中,所述处理器各包括本地高级可编程中断控制器(APIC)。
8.如权利要求3所述的方法,其中,所述逻辑处理器标识号是逻辑高级可编程中断控制器(APIC)标识号(ID),以及所述物理处理器标识号是物理APIC ID。
9.如权利要求8所 述的方法,其中,所述逻辑高级可编程中断控制器标识号和所述物理APIC ID 是 xAPIC ID。
10.如权利要求8所述的方法,其中,所述逻辑高级可编程中断控制器标识号和所述物理APIC ID是扩展xAPIC ID。
11.一种处理器封装,包括: 多个处理器,各包括物理高级可编程中断控制器(APIC);以及 逻辑APIC ID创建逻辑,用于: 接收物理处理器标识号;以及 使用所述物理处理器标识号来创建逻辑处理器标识号,其中所述逻辑处理器标识号中的每个对应于所述物理处理器标识号之一,以及其中所述逻辑处理器标识号各包括处理器群集标识号和群集内标识号。
12.如权利要求11所述的处理器封装,其中,所述逻辑APICID创建逻辑用于形成包括来自在适当位置移位的对应物理处理器标识号的一组位的所述处理器群集标识号。
13.如权利要求12所述的处理器封装,其中,所述逻辑APICID创建逻辑用于响应于对应物理处理器标识号的位中的其它位的值而形成所述群集内标识号。
14.如权利要求11所述的处理器封装,其中,所述处理器封装还包括非核。
15.如权利要求14所述的处理器封装,其中,所述非核包括用于解码要使用哪个处理器来响应于中断的处理器选择逻辑。
16.如权利要求15所述的处理器封装,其中,所述非核包括用于过滤不考虑的处理器的过滤器。
17.如权利要求16所述的处理器封装,其中,所述过滤器用于基于功率状态来过滤第一处理器。
18.如权利要求17所述的处理器封装,其中,所述过滤器用于基于功率状态来过滤第二处 理器。
全文摘要
本申请涉及具有群集ID和群集内ID的逻辑APICID的创建。在一些实施例中,设备包含逻辑中断标识号创建逻辑以接收物理处理器标识号,并通过使用物理处理器标识号创建逻辑处理器标识号。每一个逻辑处理器标识号对应于其中一个物理处理器标识号,并且逻辑处理器标识号各包含处理器群集标识号和群集内标识号。处理器群集标识号各形成为包含来自在适当位置移位的对应物理处理器标识号的一组位,并且群集内标识号各响应于对应物理处理器标识号位中其它位的值形成。描述了其它实施例。
文档编号G06F13/24GK103077138SQ20131001367
公开日2013年5月1日 申请日期2008年8月28日 优先权日2007年9月6日
发明者S.D.考什基, K.K.蒂鲁瓦卢尔, J.B.克罗斯兰, S.穆思拉萨纳卢尔, R.S.帕塔萨拉蒂, L.P.霍德 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1