使用共享内存施行虚拟记忆的多元处理系统以及维持分页记忆整合性的记忆页更换方法

文档序号:6356626阅读:110来源:国知局

专利名称::使用共享内存施行虚拟记忆的多元处理系统以及维持分页记忆整合性的记忆页更换方法
技术领域
:本发明是有关计算机系统,尤其是有关多个处理器实施虚拟内存并存取一共享式内存的多处理器系统。
背景技术
:典型的计算机系统包含内存阶层,以便在较低的成本下得到较高层级的效能。通常将数个不同软件程序的指令储存在一个容量较大但较慢的非挥发性储存单元(例如磁盘驱动器单元)。当使用者选择其中一个程序来执行时,即将所选择程序的指令复制到主存储器,且处理器(例如中央处理单元(CentralProcessingUnit;简称CPU))自该主存储器取得所选择程序的指令。公知的虚拟内存管理技术可让该处理器存取容量大于该主存储器容量的各数据结构,其方式是在任何特定的时间上只将该等数据结构的一部分储存在该主存储器内。该等数据结构的其余部分系储存在该容量较大但较慢的非挥发性储存单元,而且只有在需要时,才将其余部分复制到该主存储器。通常将该处理器的一地址空间分成多个被称为页框(Pageframe)或″记忆页″(″page″)的区段,而实施虚拟记忆。在任何特定时间上,只将对应于记忆页的一部分的资料储存在主存储器内。当处理器产生特定记忆页内的地址,且该记忆页的一份拷贝并未存在于主存储器时,即将所需记忆页的资料自该容量较大但较慢的非挥发性储存单元复制到该主存储器。在该程序中,可将另一记忆页的资料自该主存储器复制到该非挥发性储存单元,以便将空间让给所需的记忆页。常见的处理器架构(例如80x86或″x86″处理器架构)通常包含专用的硬件组件,用以支持虚拟内存的实施。例如,该x86处理器架构包含用来支持保护虚拟地址模式(亦即保护模式)的专用硬件组件。此类处理器产生虚拟地址,并采用虚拟至实体地址转换机构,以便将虚拟地址″对映到″(map)该主存储器中各记忆位置的实体地址。该地址转换机构通常包含被配置而形成一阶层的一个或多个数据结构(即″记忆页表″(″pagetable″)。通常将该等记忆页表储存在主存储器中,且由操作系统软件(亦即一操作系统)维护记忆页表。最高顺序的记忆页表(即x86记忆页目录)必然是被放在主存储器内。可自该储存单元取得任何额外的记忆页表,并视需要而将该等额外的记忆页表储存在主存储器中。通常将其中包含最高顺序的记忆页表(例如该x86记忆页目录)的一记忆页的基址储存在一缓存器中。该最高顺序的记忆页表包含多个资料项。资料项可能是其它记忆页表的基址,或者是其中包含对应于虚拟地址的实体地址的各记忆页的基址。当利用多个记忆页表来执行虚拟至实体地址转换时,该最高顺序的记忆页表的各资料项是其它记忆页表的基址。将该处理器产生的一虚拟地址分成多个部分,且将部分用来作为记忆页表的索引。最低顺序的记忆页表包含一个资料项,该资料项用来储存其中包括对应于虚拟地址的实体地址的记忆页的基址。将虚拟地址的最低顺序的部分或″偏移量″(offset)部分加到该最低顺序的记忆页表的所选择资料项中的基址,而形成实体地址。前文所述的虚拟至实体地址转换机构需要存取主存储器中的一个或多个记忆页表(即,记忆页表″查询lookups″或″索寻walks″)。此种记忆页表存取需要相当长的时间,且对处理器的效能有不好的影响。因此,各处理器通常包含转换后援缓冲区(TranslationLook-asideBuffer;简称TLB),用以储存最近使用的记忆页表资料项。通常由操作系统维护TLB资料项。设有该TLB时,大幅提升了处理器的效能。最好是能将虚拟内存(virtualmemory)的效益延伸到包含多个处理器的多处理器系统。此种多处理器系统最好是具有由所有处理器共享的主存储器。由于所有处理器能够存取该共享式主存储器中储存的指令及资料(亦即″程序代码″),所以无须将程序代码自某一处理器所唯一存取的内存复制到另一处理器所唯一存取的另一内存。此外,可将该共享式主存储器的一部分用于程序间通讯。实施虚拟内存且具有共享式主存储器的多处理器系统出现了许多问题。问题是如何产生并维护虚拟内存数据结构(例如记忆页表)、以及如何协调主存储器(mainmemory)与一个或多个储存单元间的记忆页转移。当多个处理器中的每一处理器预期会有其本身的效能增强TLB时,将会发生在本文中被称为″TLB一致性问题″的另一项问题。如前文所述,每一记忆页表资料项对应于该共享式主存储器中的不同记忆页。当其中一个处理器以来自储存单元的记忆页取代该共享式主存储器中的记忆页时,对应于其它处理器中被取代的该记忆页的各TLB资料项会变成无效。一个或多个其它处理器可能将其TLB中此种无效的记忆页表数据项用来执行虚拟至实体地址转换,因而存取了内存中错误的记忆页,并且可能在系统作业中产生不正确的结果及(或)其它的错误。此外,为了进一步阻止对主存储器进行的记忆页表存取,可将对主存储器中各记忆页执行的写入记录在该等TLB中储存的″更动″位(″dirty″bit不纯的,已修改更动的位),而无须存取该共享式主存储器中对应的记忆页表资料项的更动位。由于并未检视其它处理器的TLB,所以取代共享式主存储器中的记忆页的处理器可能并不知道某一其它的处理器先前已写入被取代的该记忆页,因而可能不会将被取代的该记忆页写回到储存单元。因此,被取代的该记忆页中的资料可能不是正确的,因而可能在系统作业中产生不正确的结果及(或)其它错误。本发明有关一种实施中可解决或至少减轻全部或部分的上述问题的方法系统。
发明内容本发明所揭示的计算机系统包含第一处理器、与该第一处理器通讯的第二处理器、耦合到该第一及第二处理器,且包含多个记忆位置的内存(memory)(即共享式内存)、以及耦合到该第一处理器的储存装置。该第一及第二处理器利用该内存实施虚拟内存。该第一处理器在该内存中维护第一组记忆页表及第二组记忆页表,并将该第一组记忆页表用来存取该内存内的记忆位置。该第二处理器将该第一处理器所维护的第二组记忆页表用来存取该内存内的记忆位置。该第一组及第二组记忆页表可包含至少一个记忆页表。该第一处理器可使用该第一组记忆页表,以便将该第一处理器内产生的一虚拟地址转换为该内存内的记忆位置的一对应实体地址。同样地,该第二处理器可使用该第二组记忆页表,以便将该第二处理器内产生的虚拟地址转换为该内存内的记忆位置的对应实体地址,且可将该记忆位置的该实体地址用来存取该记忆位置。该第二组记忆页表可包含多个记忆页表资料项。当该内存中存在有对应的记忆页时,可将每一该等记忆页表资料项用来储存该对应的记忆页的基址。该第二处理器可包含缓冲器,该缓冲器包含多个资料项,用以储存最近使用的各记忆页表资料项,并记录该第二处理器写入该对应的记忆页的存取情形。在以该储存装置中储存的记忆页取代该内存中存在的记忆页之前,该第一处理器可先将需要移除该缓冲器中对应于要被取代的该记忆页的实体地址范围的任何资料项的信息通知该第二处理器。本发明说明了一种用于包含第一及第二处理器的计算机系统的虚拟记忆页取代方法,其中该虚拟记忆页取代方法被设计成协助维护该多处理器计算机系统内的分页式内存一致性。在一实施例中,该方法包含下列步骤存取该第二处理器的一组记忆页表资料项的每一记忆页表资料项。该组记忆页表资料项的每一记忆页表资料项对应于该第二处理器的一组记忆页的不同记忆页(亦即页)。该第二处理器的该组记忆页的每一记忆页被储存在内存中,且对应于该第一处理器中将要自该内存移除的第一记忆页。该第二处理器的每一记忆页表资料项包含更动(D)位,用以指示是否需要将该第二处理器的该对应记忆页写入储存装置。标示该组记忆页表资料项的每一记忆页表资料项,以便指示该内存中并未存在有该第二处理器的该对应记忆页。例如,可改变该组记忆页表资料项的每一记忆页表资料项之一存在(P)位(例如,″清除″该位,或将该位设定为逻辑″0″),以便指示该内存中并未存在有该第二处理器的该对应记忆页。将需要移除该第二处理器的缓冲器中对应于该组记忆页的记忆页的任何资料项的信息通知该第二处理器,其中该缓冲器包含多个资料项,用以储存最近使用的各记忆页表资料项。该缓冲器的每一资料项可包含一更动(D)位,用以指示是否需要将该第二处理器的对应记忆页写入该储存装置。在前文所述的通知该第二处理器之后,执行读取该组记忆页表资料项的每一记忆页表资料项。执行读取对应于该第一处理器的该第一记忆页的记忆页表资料项,其中该记忆页表资料项包含更动(D)位,用以指示是否需要将第一位写入该储存装置。如果(i)在读取该组记忆页表资料项的每一记忆页表资料项期间所得到的至少一个记忆页表资料项的更动(D)位指示需要将该第二处理器的该对应记忆页写入该储存装置,或(ii)在读取该第一处理器的该记忆页表资料项期间所得到的该记忆页表资料项的该更动(D)位指示需要将该第一处理器的该第一记忆页写入该储存装置,则将该第一处理器的该第一记忆页自该内存写入该储存装置。在其它的实施例中,在前文所述的标示期间,可清除该组记忆页表资料项的每一记忆页表资料项的该存在(P)位及该更动(D)位。在这些实施例中,对该组记忆页表资料项的每一记忆页表资料项的存取可包括第一读取作业,且前文所述在该通知之后执行的对该组记忆页表资料项的每一记忆页表资料项的读取可构成第二读取作业。如果(i)在该第一读取作业期间所得到的至少一个记忆页表资料项的更动(D)位指示需要将该第二处理器的该对应记忆页写入该储存装置,或(ii)在该第二读取作业期间所得到的至少一个记忆页表资料项的更动(D)位指示需要将该第二处理器的该对应记忆页写入该储存装置,或(iii)在读取该第一处理器的该记忆页表资料项期间所得到的该记忆页表资料项的该更动(D)位指示需要将该第一处理器的该第一记忆页写入该储存装置,则可将该第一处理器的该第一记忆页自该内存写入该储存装置。该虚拟记忆页取代方法可包含以下列步骤响应前文所述的通知该第二处理器,这些步骤包括(i)找出该缓冲器中对应于该组记忆页的记忆页的资料项;(ii)如果对应于该组记忆页的记忆页的资料项的更动(D)位指示需要将组记忆页的记忆页写入该储存装置,则更新第二处理器中对应于该组记忆页的记忆页的记忆页表资料项的更动(D)位,以便指示需要将该组记忆页的记忆页写入储存装置;以及(iii)清除对应于该组记忆页的记忆页的资料项。前文所述的通知该第二处理器的该步骤可包含下列步骤将信息传送到该第二处理器,以便指示需要清除该第二处理器的该缓冲器中对应于该组记忆页的一记忆页的任何资料项。该虚拟记忆页取代方法亦可包含下列步骤(i)接收该第二处理器中记忆页错误状况的指示;以及(ii)决定必须以该储存装置中储存的该第一处理器的第二记忆页取代该内存中储存的该第一处理器的第一记忆页,以便清除该第二处理器中的记忆页错误状况。前文所述的接收指示的该步骤可包含下列步骤自该第二处理器接收指示该第二处理器中的记忆页错误状况的信息。该虚拟记忆页取代方法亦可包含下列步骤当已消除第二处理器中记忆页错误状况时,即将指示记忆页错误状况消除的信息传送到该第二处理器。本发明说明了一种承载媒体,该承载媒体包含用来执行该虚拟记忆页取代方法的程序指令。该承载媒体可以是诸如计算机可读取的储存媒体(例如软盘或一只读光盘(CD-ROM))。参照下文中的说明,并配合各附图,将可了解本发明,在这些附图中,相同的代号识别类似的组件,这些附图中图1表示包含主处理器、协同处理器、及共享式内存的一多处理器计算机系统之一实施例;图2表示图1所示共享式内存之一实施例,其中该共享式内存包含若干主处理器记忆页表、若干协同处理器记忆页表、程序部分、及主处理器操作系统;图3表示图2所示该等主处理器记忆页表及该程序部分之一实施例,其中该程序部分包含该主处理器的多个记忆页,且其中该等主处理器记忆页表的记忆页表的多个记忆页表资料项(PageTableEntry;简称PTE)的每一PTE对应于该主处理器的该等多个记忆页的不同记忆页,且包含该对应记忆页的基址;图4表示图2所示该等协同处理器记忆页表及该程序部分之一实施例,其中该程序部分包含该协同处理器的多个记忆页,且其中协同处理器记忆页表的记忆页表的多个记忆页表资料项(PTE)的每一PTE对应于该协同处理器的该等多个记忆页的不同记忆页,且包含该对应记忆页的基址;图5表示图3至4所示每一记忆页表资料项(PTE)的格式之一实施例,其中每一记忆页表资料项包含记忆页基址字段、更动(D)位、及存在(P)位;图6表示图2所示该等主处理器记忆页表、协同处理器记忆页表、及该程序部分之一实施例,其中该主处理器的每一记忆页的容量为该协同处理器的每一记忆页的容量的两倍;以及图7A及7B组合而形成用于多处理器计算机系统的虚拟记忆页取代方法实施例的流程图。虽然本发明易于做出各种修改及替代形式,但是已以图标举例的方式示出且详细说明了本发明的一些特定实施例。然而,我们当了解,本文中对这些特定实施例的说明的用意并非在使本发明限于所揭示的特定形式,相反地,其用意在涵盖在最后的权利要求所界定的本发明精神及范围内的所有修改、等效物、及替代方式。具体实施例方式下文中将说明本发明的一些实施例。为了顾及表达的清晰,本说明书中并未说明一实际实施例的所有特征。当然,我们当了解,在开发任何此类实际的实施例时,必须做出与实施方式有关的许多决策,以便达到开发者的特定目标,例如符合与系统有关的及与商业有关的限制条件,而这些特定的目标在每一个实施例中都将有所不同。此外,我们当了解,此种开发工作可能是复杂且耗时的,但仍然是对此项技艺具有一般知识者在了解本发明的揭示事项之后可进行的例行工作。第1图表示多处理器计算机系统100的一实施例,该多处理器计算机系统100包含主处理器102、协同处理器104、共享式内存106、第一装置110、及第二装置112,所有该等组件皆系耦合到总线108。主处理器102及协同处理器104的组态都被设定成执行指令。主处理器102及协同处理器104经由总线108而自共享式内存106读取资料并将资料写入共享式内存106(即存取)。主处理器102经由总线108及(或)共享式内存106而与协同处理器104通讯。主处理器102及(或)协同处理器104经由总线108而与装置110及112通讯。装置110可以是诸如储存装置(例如硬盘机)。装置112可以是诸如通讯装置(例如调制解调器、网络适配卡等)、输入/输出装置(例如键盘、指向装置、打印机、扫描仪等)、或另一储存装置(例如另一硬盘机)。总线108可以是任何适用的总线结构。在图1所示的实施例中,主处理器102指示协同处理器104的活动,因而协同处理器104可说是协助主处理器102。主处理器102及协同处理器104可以是相同类型的处理器,或者是大致相同类型的处理器,且可具有类似的架构及功能性能力。在替代实施例中,主处理器102及协同处理器104可以是不同类型的处理器,且可具有不同的架构及(或)功能性能力。主处理器102及协同处理器104可执行来自相同指令集的指令、或来自不同指令集的指令。如将于下文中说明的,主处理器102于作业时执行共享式内存106中储存的操作系统软件的指令。该操作系统软件利用共享式内存106实施虚拟内存,且装置110及(或)装置112设有虚拟至实体地址转换机构。该操作系统软件在共享式内存106中产生并维护一组主处理器记忆页表,且利用该组主处理器记忆页表来执行主处理器102内的虚拟至实体地址转换。共享式内存106中储存的主处理器102的最低顺序的记忆页表包含多个记忆页表资料项。为了减少自主处理器102的该最低顺序的记忆页表取得记忆页表资料项所需的内存存取次数,并因而增加主处理器102的效能,主处理器102最好是包含供选用的转换后援缓冲区(TLB)114,用以储存最近使用的各记忆页表资料项。在图1所示的实施例中,协同处理器104包含核心116及TLB118。核心116包含可让协同处理器104执行主处理器102发出到协同处理器104的程序的指令及资料(即程序代码)。于作业期间,协同处理器104执行核心116的指令,并执行主处理器102发出到协同处理器104的程序。发出到协同处理器104的每一程序存在于共享式内存106内,且通常包含程序代码。如将于下文中说明的,核心116设有一虚拟至实体地址转换机构,并利用一组协同处理器记忆页表,而存取共享式内存106内的实体地址。在主处理器102上执行的操作系统软件产生并维护该组协同处理器记忆页表。共享式内存106中储存的协同处理器104的最低顺序的记忆页表包含多个记忆页表资料项。TLB118是用来储存最近使用的各记忆页表资料项,且包含在协同处理器104中,以便减少自协同处理器104的最低顺序的记忆页表取得记忆页表资料项所需的内存存取次数,并因而增加协同处理器104的效能。图2是图1所示共享式内存106的一实施例。在图2所示的实施例中,共享式内存106包含若干主处理器记忆页表200、若干协同处理器记忆页表202、程序部分204、及主处理器操作系统206。如前文所述,主处理器102(图1)于作业期间执行主处理器操作系统206的指令。如将于下文中详细说明的,主处理器操作系统206利用共享式内存106以及装置110及(或)装置112(图1),而在主处理器102及协同处理器104(图1)内实施虚拟内存。程序部分204包含主处理器102及协同处理器104可存取的若干记忆页,且用来储存程序码。在作业期间,协同处理器104根据来自主处理器102的指令而存取并执行程序部分204内储存的程序码。主处理器操作系统206产生并维护该等主处理器记忆页表200及该等协同处理器记忆页表202,并设有主处理器102及协同处理器104的虚拟至实体地址转换机构。主处理器102使用主处理器记忆页表200,以便将主处理器102内产生的虚拟地址转换为共享式内存106内的实体地址。协同处理器104使用该等协同处理器记忆页表202,以便将协同处理器104内产生的虚拟地址转换为共享式内存106内的实体地址。主处理器102及协同处理器104共享共享式内存106内的共同的实体地址空间。为了作业的简化,主处理器102及协同处理器104亦可共享一共同的虚拟地址空间。图2中的承载媒体208可用来将主处理器操作系统206载送到共享式内存106。例如,装置112(图1)可以是用来容纳抽取式磁盘的磁盘驱动器(例如软盘机、只读光驱(CD-ROM)等),且承载媒体208可以是存有主处理器操作系统206的磁盘(例如软盘、只读光盘等)。主处理器102(图1)可经由装置112而自承载媒体208读取主处理器操作系统206的程序代码。在替代实施例中,承载媒体208可以是用来载送主处理器操作系统206的信号(例如载波信号)。例如,装置112可以是网络适配卡,承载媒体208可以是经由耦合到装置112的传输媒体而载送的信号(例如电信号或光信号)。主处理器102可经由装置112及承载媒体208而接收主处理器操作系统206的程序代码,并将该程序代码储存在共享式内存106中。主处理器记忆页表200及(或)协同处理器记忆页表202可包含被配置而形成记忆页表阶层的多个记忆页表。图3标出图2所示主处理器记忆页表200及程序部分204的一实施例。在图3所示的实施例中,主处理器记忆页表200包含记忆页表300。记忆页表300可以是诸如主处理器记忆页表阶层中的最低顺序的记忆页表。记忆页表300包含多个记忆页表资料项(PTE)302,且程序部分204包含主处理器102(图1)的多个记忆页(即页)。每一记忆页表资料项302对应于主处理器102的记忆页304中的不同记忆页,并包含对应记忆页304的基址。图4标出图2所示协同处理器记忆页表202及程序部分204的一实施例。在图4所示的实施例中,协同处理器记忆页表202包含记忆页表400。记忆页表400可以是诸如协同处理器记忆页表阶层中的最低顺序的记忆页表。记忆页表400包含多个记忆页表资料项(PTE)402,且程序部分204包含协同处理器104(图1)的多个记忆页404。每一记忆页表资料项402对应于协同处理器104的记忆页404中的不同记忆页,并包含该对应记忆页404的基址。图5标出每一记忆页表数据项(PTE)302(图3)及402(图4)的一格式之一实施例。在图5所示的实施例中,每一记忆页表资料项302/402包含记忆页基址字段、更动(D)位、及存在(P)位。该存在(P)位指示对应记忆页304/404是否存在于程序部分204内。当对应记忆页304/404存在于程序部分204内时,该记忆页基址字段指定该对应记忆页304/404的基址。更动(D)位指示在将对应记忆页304/404自装置110及(或)装置112(图1)复制到共享式内存106之后该对应记忆页是否已被修改(即写入),并指示当来自装置110及(或)装置112的另一记忆页取代对应记忆页304/404时是否因而需要将该对应记忆页写回到装置110及(或)装置112。图6标出图2所示主处理器记忆页表200、协同处理器记忆页表202、及程序部分204的一实施例,其中主处理器102(图1)的每一记忆页的容量是协同处理器104(图1)的每一记忆页的容量的两倍。在图6所示的实施例中,主处理器记忆页表200的记忆页表300包含一记忆页表资料项302A,且协同处理器记忆页表202的记忆页表400包含两个记忆页表资料项402A及402B。记忆页表资料项302A包含(即″指向″)位于程序部分204中的主处理器记忆页的基址。如图6所示,协同处理器104的两个相邻的记忆页占用与该主处理器记忆页相同的物理内存空间。协同处理器记忆页表202的记忆页表资料项402A及402B包含(即″指向″)对应于该主处理器记忆页的协同处理器104的两相邻记忆页的基址。记忆页表资料项402A及402B可以是图6所示的协同处理器记忆页表202的相邻记忆页表资料项。在图1-6所示的实施例中,我们当了解,虽然图中只示出程序部分204(图2-4及图6)内的记忆页304(图3)及404(图4)、以及对应的记忆页表资料项302(图3)及402(图4),但是主处理器102(图1)及协同处理器104(图1)可经由虚拟内存及相关联的虚拟至实体地址转换机构而存取共享式内存106的整个实体地址空间。一般而言,协同处理器104(图1)及主处理器102(图1)的记忆页容量通常是彼此的整数倍。换言之,主处理器102的记忆页容量可以是协同处理器104的记忆页容量的i倍,其中i是一整数,且i≥1。相反地,协同处理器104的记忆页容量可以是主处理器102的记忆页容量的i倍,其中i是一整数,且i≥1。当i=1时,主处理器102的记忆页容量与协同处理器104的记忆页容量相同。然而,本发明所述的方法及系统尤其适用于主处理器102的记忆页容量与协同处理器104的记忆页容量不同的情形,且主处理器102的记忆页容量是协同处理器104的记忆页容量的i或1/i倍,其中i是一整数,且i≥2。当主处理器102的记忆页容量是协同处理器104的记忆页容量的i倍时,主处理器102的每一记忆页与协同处理器104的i个记忆页可占用前文所述的程序部分204(图24)的相同实体地址区域。另一方面,当主处理器102的记忆页容量是协同处理器104的记忆页容量的1/i倍时,协同处理器104的每一记忆页与主处理器102的i个记忆页可占用程序部分204的相同实体地址区域。请注意,通常系由位数决定记忆页容量,记忆页容量因而通常是二的乘幂。因此,主处理器102的记忆页容量可以是协同处理器104的记忆页容量的2i或1/2i,其中i是一整数,且i≥0。如前文所述,协同处理器104(图1)可能具有主处理器102(图1)所无的功能性能力。在此种情形中,装置110及(或)装置112(图1)中储存的指令及数据(即程序代码)可具有一标记,用以指示该程序码的执行需要协同处理器104的功能性能力。当主处理器操作系统206的一加载例程将该程序码加载共享式内存106的程序部分204时,该加载例程可将该程序码的执行需要协同处理器104的功能性能力的信息通知主处理器操作系统206。当该加载例程将加载程序部分204的该程序码需要协同处理器104的功能性能力的信息通知主处理器操作系统206时,主处理器操作系统206可决定该程序码中需要协同处理器104的功能性能力的一个或多个部分,并可同时(即以平行的方式)更新主处理器记忆页表200及协同处理器记忆页表202。在下文中,该程序码中需要协同处理器104的功能性能力的一个或多个部分本身将被视为独立的程序。主处理器102可(诸如经由任何适用的程序间通讯方法)将一个或多个程序代码执行信息传送到协同处理器104。每一程序代码执行信息可包含诸如与将要执行的一程序相关联的该等协同处理器记忆页表202中的最高顺序的记忆页表的基址、以及该程序的第一指令的虚拟地址。协同处理器104可响应特定的程序代码执行信息,而安排该相关联的程序的执行时程。协同处理器104可包含记忆页表缓存器,用以储存该等协同处理器记忆页表202中的最高顺序的记忆页表的基址。当协同处理器104开始执行特定程序时,协同处理器104可先将对应的程序代码执行信息中包含的该等协同处理器记忆页表202中的该最高顺序的记忆页表的该地址加载该记忆页表缓存器。在某些实施例中,主处理器操作系统206可以只将协同处理器记忆页表202中的该最高顺序的记忆页表加载共享式内存106的一个″锁定(locked)″部分,且可等候到协同处理器104通知记忆页错误信息而要将协同处理器记忆页表202中的任何额外记忆页表加载共享式内存106为止。请注意,不需要在″锁定的″内存中维护该等协同处理器记忆页表202中的任何额外记忆页表。如果自共享式内存106中移除其中包含该等协同处理器记忆页表202中的记忆页表的任何记忆页(即″移出记忆页″),则必须在该协同处理器记忆页表阶层的次一最高层级中反映该移除动作。除了前文所述的主处理器操作系统206所的且包含在协同处理器104(图1)将要执行的每一程序的协同处理器记忆页表202中的″应用程序″虚拟地址空间对映,主处理器操作系统206(图2)亦为每一程序产生″监管模式″虚拟地址空间对映。协同处理器104的核心116(图1)于执行该相关联的程序时,可使用该监管模式虚拟地址空间对映。当协同处理器104在执行该相关联的程序期间接收到一错误或中断信号时,核心116经由该监管模式虚拟地址空间对映而存取共享式内存106的程序部分204中储存的程序代码,以便服务该错误或中断。该监管模式虚拟地址空间对映在所有的程序中可能是相同的,因而可将相同的监管模式虚拟地址空间对映包含在主处理器操作系统206为每一程序所产生的协同处理器记忆页表202中。于执行一程序时,协同处理器104可尝试存取并未存在于共享式内存106的记忆页内的程序代码。在此种情形中,协同处理器记忆页表202的对应记忆页表资料项402(图4)的存在(P)位指示该对应记忆页并未存在于共享式内存106中。协同处理器104的核心116(图1)中止造成该记忆页错误的程序,并(诸如经由中断,或经由程序间通讯而传送的信息)将该记忆页错误的信息通知主处理器操作系统206。主处理器操作系统206响应协同处理器104中的记忆页错误状况,而将协同处理器104所需的记忆页″对映″(maps)到主处理器102的对应记忆页,并将该对应记忆页置入共享式内存106。主处理器操作系统206将该对应记忆页自装置110及(或)装置112(图1)复制到共享式内存106,并更新主处理器记忆页表200及协同处理器记忆页表(202)。主处理器操作系统206然后(诸如经由透过程序间通讯而传送的一信息)将所需的记忆页现在已存在于共享式内存106的信息通知协同处理器104。当协同处理器104的核心116接收到该信息时,核心116使被中止的该程序备妥,并重新开始该程序。如前文所述,协同处理器104包含TLB118(图1),用以储存最近使用的各记忆页表资料项402(图4)。TLB(118)减少为了自协同处理器记忆页表202的记忆页表400取得记忆页表资料项402所需的对共享式内存(106)的存取次数,因而增加了协同处理器(104)的效能。如前文所述,为了进一步阻止对内存中储存的记忆页表的存取,各TLB通常包含更动(D)位,用以记录对内存中储存的各记忆页的写入情形。在TLB的外通常无法检视该等更动(D)位的内容。在图1-6所示的实施例中,协同处理器104的核心116(图1)控制协同处理器104内的TLB118的作业。TLB118具有多个资料项,用以储存协同处理器104的各最近使用的记忆页表资料项。TLB118的每一资料项可具有一更动(D)位,用以指示对应记忆页在共享式内存106时是否被(协同处理器104)修改。例如,当核心116移除(或指示移除)TLB118的资料项(以便让出空间给一最近使用的记忆页表资料项402)时,核心116可检查该资料项的更动(D)位。如果该更动(D)位指示对应记忆页在共享式内存106时已被(协同处理器104)修改过,则核心116可在记忆页表400中更新对应记忆页表资料项402的更动(D)位,以便反映该对应记忆页在共享式内存106中时已被修改过,且于自共享式内存106移除该对应记忆页时需要将该对应记忆页写入储存装置(即图1所示的装置110及(或)装置112)。由于TLB118存在于协同处理器104中,所以纵使主处理器操作系统206自协同处理器记忆页表202的记忆页表400中移除了该对应记忆页之后,协同处理器104仍可继续使用TLB118中储存的该等记忆页表资料项402中的记忆页表资料项。因此,当主处理器操作系统206将要自共享式内存106移除记忆页时,主处理器操作系统206必须先将应自TLB118移除对应于将要自共享式内存106移除的该记忆页的TLB118的任何资料项的信息通知核心116。请注意,对应于将要自共享式内存106移除的该记忆页的TLB118的各资料项对应于将要自共享式内存106移除的该记忆页的实体地址范围。如前文所述,当核心116自TLB118移除对应的资料项时,如果该对应资料项的更动(D)位值指示将要自共享式内存106移除的该记忆页在共享式内存106中时已被(协同处理器104)修改过,则核心116在协同处理器记忆页表202的记忆页表400中更新该对应记忆页表资料项402的该更动(D)位,以便反映将要自共享式内存106移除的该记忆页在共享式内存106中时已被修改过,且于自共享式内存106移除该记忆页时,需要将该记忆页写入储存装置(即图1所示的装置110及(或)装置112)。主处理器操作系统206然后可继续自共享式内存106移除该记忆页。主处理器操作系统206检查(i)对应于主处理器记忆页表200的记忆页表300中将要移除的记忆页的一个或多个记忆页表资料项302的更动(D)位值、以及(ii)对应于协同处理器记忆页表202的记忆页表400中将要移除的记忆页的一个或多个记忆页表资料项402的更动(D)位值。如果任一更动(D)位指示将要自共享式内存106移除的该记忆页在共享式内存106中时已被修改过,则主处理器操作系统206把将要自共享式内存106移除的该记忆页″写回″到储存装置(例如,写回到图1所示的装置110及(或)装置112)。请注意,一旦自TLB118一除了该对应的资料项之后,协同处理器104任一次尝试存取将要自共享式内存106移除的该记忆页时,将需要存取记忆页表400,以便自共享式内存106得到对应于将要被移除的该记忆页的记忆页表资料项402。一旦已自共享式内存106移除了将要自共享式内存106移除的该记忆页之后,协同处理器104尝试存取被移除的该记忆页时,将(最好是)得到记忆页错误信息。当协同处理器104自执行第一程序切换到执行第二程序时,协同处理器104将与该第二程序相关联的新记忆页表基址加载该记忆页表缓存器,并自TLB118移除与该第一程序相关联的TLB118的所有资料项。因此,作为一种效能上的特征,除非协同处理器104目前正在执行与将要自共享式内存106移除的该记忆页有对映关系的程序,否则主处理器操作系统206无须将记忆页将要被自共享式内存106移除的信息通知协同处理器104。图7A至7B合而形成用于多处理器计算机系统的虚拟记忆页取代方法700实施例的流程图。该虚拟记忆页取代方法700被设计成协助维护该多处理器系统内的分页式内存一致性。虽然本文中将以与图1所示多处理器计算机系统100相关的方式说明方法700,但是亦可在任何多处理器计算机系统中实施该方法700。就图1所示的多处理器计算机系统100而论,可在主处理器操作系统206(图2)内实施该方法700。在方法700的一步骤702中,存取目前储存在共享式内存106中且将要被取代的对应于主处理器102的一记忆页的协同处理器104的每一记忆页表资料项402(图4)。在一步骤704中,标示将要被取代的对应于主处理器102的该记忆页的协同处理器104的每一记忆页表资料项402,以便指示协同处理器104的该对应记忆页并未存在于共享式内存106中。例如,该在步骤702中(例如于第一读取作业时),可自共享式内存106读取将要被取代的对应于主处理器102的该记忆页的协同处理器104的每一记忆页表资料项402。在(诸如步骤702中)读取了特定的记忆页表资料项402之后,可改变该特定记忆页表资料项402的存在(P)位值(例如,″清除″该位,或将该位值设定为逻辑″0″),以便指示协同处理器104的该对应记忆页并未存在于共享式内存106中。然后可(在步骤704中)将该特定的记忆页表资料项402写回到共享式内存106。由于协同处理器104可能存取该特定的记忆页表资料项402,所以可以一种″不可分割的″(″atomic″)交易方式完成将对特定记忆页表资料项402的读取及写入。在步骤706中,将需要移除对应于与将要被移除的主处理器102的该记忆页对应的协同处理器104的每一记忆页表资料项402的TLB118的各资料项的信息通知协同处理器104。例如,主处理器102可将信息(例如″PageRemoval″信息)传送到协同处理器104,该信息指示需要移除对应于与将要被移除的主处理器102的该记忆页对应的协同处理器104的记忆页表的TLB118的任何资料项。在移除TLB118的任何此种资料项之后,协同处理器104可将指示已完成该移除的信息传送到主处理器102。在步骤708中,然后执行读取对应于将要被移除的主处理器102的该记忆页的协同处理器104的该等记忆页表资料项402。在步骤710中,执行读取对应于将要被移除的主处理器102的该记忆页的记忆页表资料项302(图3)。在步骤712中,如果(i)在步骤708的读取作业期间取得的其中一个记忆页表资料项402的更动位指示需要将协同处理器104的该对应记忆页写入储存装置,或(ii)在步骤710的读取作业期间取得的对应于将要被取代的主处理器102的该记忆页的其中一个记忆页表资料项302的更动位指示需要把将要被取代的主处理器102的该记忆页写入该储存装置,则把将要被取代的主处理器102的该记忆页自共享式内存106写入该储存装置(即图1所示的装置110及(或)装置112)。如前文所述,在步骤70)中(例如在第一读取作业期间),可自共享式内存106读取对应于将要被取代的主处理器102的该记忆页的协同处理器104的每一记忆页表资料项402。在读取特定记忆页表资料项402之后(例如在步骤702中),可改变该特定记忆页表资料项402的存在(P)位值(例如,清除该位,或将该位值设定为逻辑″0″),以便指示协同处理器104的该对应记忆页并未存在于共享式内存106。然后可将该特定记忆页表资料项402写回到共享式内存106(例如在步骤704中)。虽然改变该存在(P)位时最好是不要改变该特定记忆页表资料项402的更动(D)位值,但是不一定要如此。在某些实施例中,可在将该特定记忆页表资料项402写回到共享式内存106之前,先清除该特定记忆页表资料项402的该存在(P)位及该更动(D)位。在这些实施例中,在步骤702的第一读取作业期间,可读取对应于将要被取代的主处理器102的该记忆页的协同处理器104的每一记忆页表资料项402,且步骤708的该读取作业可构成第二读取作业。在上述步骤712中,如果(i)在该第一读取作业期间(例如在步骤702中)取得的其中一个记忆页表资料项402的更动位指示需要将协同处理器104的该对应记忆页写入该储存装置,或(ii)在该第二读取作业期间(例如在步骤708中)取得的其中一个记忆页表资料项402的更动位指示需要将协同处理器104的该对应记忆页写入该储存装置,或(iii)在步骤710的读取作业期间取得的对应于将要被取代的主处理器102的该记忆页的其中一个记忆页表资料项302的该更动位指示需要把将要被取代的主处理器102的该记忆页写入该储存装置,则可把将要被取代的主处理器102的该记忆页自共享式内存106写入该储存装置(即图1所示的装置110及(或)装置112)。如前文所述,在步骤706中,将需要移除对应于与将要被移除的主处理器102的该记忆页对应的协同处理器104的每一记忆页表资料项402的TLB118各资料项的信息通知协同处理器104。执行核心116的程序代码的协同处理器104于响应时,可找出对应于与将要被移除的主处理器102的该记忆页对应的协同处理器104的其中一个记忆页表资料项402的TLB118的其中一个资料项。如果TLB118的该其中一个资料项的该更动位指示需要将协同处理器104的该对应记忆页写入该储存装置,则协同处理器104可在共享式内存106中更新该对应的其中一个记忆页表资料项402的该更动位,以便指示需要将协同处理器104的该对应记忆页写入该储存装置。协同处理器104然后可清除TLB118的该其中一个资料项。协同处理器104可为对应于与将要被移除的主处理器102的该记忆页对应的协同处理器104的每一记忆页表资料项402的TLB118的所有资料项重复上述这些动作。在决定需要被移除的主处理器102的该记忆页(例如主处理器102的第一记忆页)时,主处理器102可接收协同处理器104中的记忆页错误状况的指示(例如指示协同处理器104的一记忆页错误的来自协同处理器104的信息)。主处理器102可决定必须以该储存装置(即图1所示的装置110及(或)装置112)中储存的主处理器102的第二记忆页取代共享式内存106中储存的主处理器102的第一记忆页,以便清除协同处理器104的记忆页错误状况。请再参阅图1,多处理器计算机网络100的主处理器102(诸如经由前文所述的总线10)及(或)共享式内存106)与协同处理器104通讯。主处理器102及协同处理器104可诸如经由信息而通讯。在主处理器102与协同处理器104之间交换的信息可包括诸如″CreateProcess″信息。主处理器102可将″CreateProcess″信息传送到协同处理器104,以便指示程序要安排时程以供执行。该″CreateProcess″信息可包括用来指示该程序″程序识别码″、以及由主处理器操作系统206(图2)所产生且与该程序相关联的最高顺序的记忆页表的基址。当该程序要被执行时(即要变成现用程序时),协同处理器104的核心116可将该最高顺序的记忆页表的该基址储存在前文所述的协同处理器104的记忆页表基址缓存器。主处理器102亦可将″PageAdded″信息传送到协同处理器104,以便指示已将协同处理器104的特定记忆页储存在(即加入)共享式内存106中。该″PageAdded″信息可包含用来识别可能需要存取该加入的记忆页的程序的″程序识别码″、以及该加入的记忆页的基址。当执行具有该″程序识别码″的程序时,协同处理器104的核心116可移除(或指示移除)TLB118中对应于该加入的记忆页的该基址的任何资料项。如果是由于执行程序时的记忆页错误状况而加入该加入的记忆页,则核心116可恢复该程序的执行。主处理器102亦可将″PageRemoved″信息传送到协同处理器104,以便指示已自共享式内存106协同处理器104的特定记忆页。该″PageRemoved″信息可包含用来识别可能具有与被移除记忆页的一对映关系的程序的″程序识别码″、以及该被移除记忆页的基址。当执行具有该″程序识别码″的程序时,协同处理器104的核心116可移除(或指示移除)TLB118中对应于该被移除记忆页的该基址的任何资料项。协同处理器104可将″ProcessStoppedDueToPageFault″信息传送到主处理器102,以便指示由于记忆页错误状况而已经中止某一程序的执行。该″ProcessStoppedDueToPageFault″信息可包含用来识别由于该记忆页错误而停止的程序的″程序识别码″、造成该记忆页错误状况的虚拟地址、以及指示为了清除该记忆页错误状况而对加入的记忆页的存取必须是只读或读取-写入的写入旗标。主处理器操作系统206可响应来自协同处理器104的该″ProcessStoppedDueToPageFault″信息,而将主处理器102的记忆页置入共享式内存106中包含一对应于造成该记忆页错误的该虚拟地址的实体地址的实体地址范围。主处理器操作系统206可标示该所需存取的记忆页,并可更新主处理器记忆页表200及协同处理器记忆页表202。如前文所述,主处理器102的该加入的记忆页可对应于协同处理器104的一个或多个″加入的″记忆页。主处理器102可将一个或多个″PageAdded″信息传送到协同处理器104,以便识别对应于主处理器102的该加入的记忆页的协同处理器104的该等一个或多个加入的记忆页。请注意,协同处理器104的TLB118图1的该等资料项无须包含更动(D)位,即可使用第7A至B图所示的方法700。此外,可以硬件(例如一数字逻辑电路)来执行协同处理器104的核心116(图1)的作业。前文所揭示的特定的实施例只是举例说明,这是因为本领域普通技术人员在参阅本发明的揭示事项之后,可易于以不同但等同的方式来修改并实施本发明。此外,除了下文的权利要求所述之外,并非将本发明限于本文所示出的结构或设计的细节。因而,显然可改变或修改前文所揭示的特定的实施例,且将所有此类变化视为在本发明的范围及精神之内。因此,本发明所寻求的保护是述于下文的权利要求之中。权利要求1.一种计算机系统(100),包含第一处理器(102);与该第一处理器(102)通讯的第二处理器(104);可作业而耦合到该第一处理器(102)及第二处理器(104)且包含多个记忆位置的内存;以及可作业而耦合到该第一处理器(102)之一储存装置(110或112);其中该第一处理器(102)及第二处理器(104)被设定成利用该内存(106)实施虚拟内存;其中该第一处理器(102)被设定成在该内存(106)中产生并维护第一组记忆页表及第二组记忆页表,并将该第一组记忆页表用来存取该内存(106)内的记忆位置;以及其中该第二处理器(104)被设定成将该第二组记忆页表用来存取该内存(106)内的记忆位置。2.根据权利要求1所述的计算机系统(100),其中,该第一处理器(102)被设计成利用该第一组记忆页表将该第一处理器(102)中生成的虚拟地址翻译相应的位于内存(106)中的实体地址,并利用该内存位置的实体地址访问该内存位置。3.根据权利要求1所述的计算机系统(100),其中,该第二处理器(104)被设计成利用该第二组记忆页表将该第二处理器(104)中生成的虚拟地址翻译相应的位于内存(106)中的实体地址,并利用该内存位置的实体地址访问该内存位置。4.根据权利要求1所述的计算机系统(100),其中,该第二组记忆页表包括许多记忆页表资料项,而且当相应记忆页在内存(106)中时,每一个记忆页表资料项用于存储相应记忆页的基本地址。5.根据权利要求4所述的计算机系统(100),其中,该第二处理器(104)包含缓冲器,且其中该缓冲器包含多个资料项,用以储存最近使用的各记忆页表资料项,并记录该第二处理器(104)对该对应的记忆页的写入作业。6.根据权利要求5所述的计算机系统(100),其中,在以该储存装置(110或112)中储存的记忆页取代该内存中存在的记忆页之前,该第一处理器(102)被设定成先将需要移除该缓冲器中对应于将要被取代的该记忆页的实体地址范围的任何资料项的信息通知该第二处理器(104)。7.一种用于包含第一处理器(102)及第二处理器(104)的多处理器系统的虚拟记忆页取代方法,该方法包括存取该第二处理器(104)的一组记忆页表资料项,其中该组记忆页表资料项的每一记忆页表资料项对应于该第二处理器(104)的一组记忆页的不同记忆页,且其中该第二处理器(104)的该组记忆页的每一记忆页被储存在内存(106)中,且对应于该第一处理器(102)中将要自该内存(106)移除的第一记忆页,且其中该第二处理器(104)的每一记忆页表资料项包含存在位及更动位,且其中该存在位具有用来指示该第二处理器(104)的该对应记忆页是否存在于该内存(106)中,且其中该更动位具有用来指示是否需要将该第二处理器(104)的该对应记忆页写入储存装置;改变该组记忆页表资料项的每一记忆页表资料项的该存在位的值,以便指示该内存(106)中并未存在有该第二处理器(104)的该对应记忆页,其中执行该改变,因而并不改变该组记忆页表资料项的每一记忆页表资料项的更动位值;将需要移除该第二处理器(104)的一缓冲器中对应于该组记忆页的记忆页的任何资料项的信息通知该第二处理器(104),其中该缓冲器包含多个资料项;读取该组记忆页表资料项的每记忆页表资料项;其中是在该通知之后才执行该读取的;读取对应于该第一处理器(102)的该第一记忆页的记忆页表资料项,其中该记忆页表资料项包含更动位,用以示是否需要将第一位写入该储存装置;以及如果(i)在读取该组记忆页表资料项的每一记忆页表资料项期间所得到的该组记忆页表资料项中的至少一个记忆页表资料项的更动位指示需要将该第二处理器(104)的该对应记忆页写入该储存装置,或(ii)在读取该第一处理器(102)的该记忆页表资料项期间所得到的该记忆页表资料项的该更动位指示需要将该第一处理器(102)的第一记忆页写入该储存装置,则将该第一处理器(102)的第一记忆页自内存(106)写入该储存装置。8.根据权利要求7所述的虚拟记忆页取代方法,其中,该通知步骤包含下列步骤将需要移除该第二处理器(104)的缓冲器中对应于该组记忆页的记忆页的任何资料项的信息通知该第二处理器(104),其中该缓冲器包含多个资料项,且其中该缓冲器的每一资料项包含更动位,用以指示是否需要将该第二处理器(104)的对应记忆页写入该储存装置;且其中该虚拟记忆页取代方法进一步包含下列步骤以下列步骤响应该通知步骤找出该缓冲器中对应于该组记忆页的记忆页的资料项;如果对应于该组记忆页的记忆页的该资料项的该更动位指示需要将该组记忆页的该记忆页写入该储存装置,则更新该第二处理器(104)中对应于该组记忆页的该记忆页的记忆页表资料项的该更动位,以便指示需要将该组记忆页的记忆页写入该储存装置;以及清除对应于该组记忆页的记忆页的该资料项。9.根据权利要求7所述的虚拟记忆页取代方法,其中,该通知包括将信息传送到该第二处理器(104),以便指示需要清除该第二处理器(104)的该缓冲器中对应于该组记忆页的记忆页的任何资料项。10.根据权利要求7所述的虚拟记忆页取代方法,其中,接收该第二处理器(104)中记忆页错误状况的指示;以及决定必须以该储存装置中储存的该第一处理器(102)的第二记忆页取代该内存(106)中储存的该第一处理器(102)的第一记忆页,以便清除该第二处理器(104)中的该记忆页错误状况。11.一种系统,包含第一处理器(102);与该第一处理器(102)通讯的第二处理器(104);可作业而耦合到该第一处理器(102)及第二处理器(104)的内存(106);可作业而耦合到该第一处理器(102)的储存装置(110或112);存取装置,用以存取该第二处理器(104)的一组记忆页表资料项,其中该组记忆页表资料项的每一记忆页表资料项对应于该第二处理器(104)的一组记忆页的不同记忆页,且其中该第二处理器(104)的该组记忆页的每一记忆页被储存在内存(106)中,且对应于该第一处理器(102)中将要自该内存(106)移除的第一记忆页,且其中该第二处理器(104)的每一记忆页表资料项包含存在位及更动位,且其中该存在位具有用来指示该第二处理器(104)的该对应记忆页是否存在于该内存(106)中的值,且其中该更动位具有用来指示是否需要将该第二处理器(104)的该对应记忆页写入该储存装置(110或112)的值;存在位值改变装置,用以改变该组记忆页表资料项的每一记忆页表资料项的该存在位的值,以便指示该内存并未存在有该第二处理器(104)的该对应记忆页,其中执行该改变,因而并不改变该组记忆页表资料项的每一记忆页表资料项的该更动位值;通知对应该组记忆页的每一记忆页的用以需要移除该第二处理器(104)的缓冲器的任何资料项的第二处理器(104);读取该组记忆页表资料项的每记忆页表资料项的装置,其中在该通知之后才执行该读取;读取对应于该第一处理器(102)的该第一记忆页的一记忆页表资料项的装置,其中该记忆页表资料项包含更动位,用以指示是否需要将第一位写入该储存装置(110或112);以及写入装置,用以在发生下列的情形时将该第一处理器(102)的该第一记忆页自该内存(106)写入该储存装置,这些情形包括(i)在读取该组记忆页表资料项的每一记忆页表资料项期间所得到的该组记忆页表资料项中的至少一个记忆页表资料项的更动位指示需要将该第二处理器(104)的该对应记忆页写入该储存装置(110或112),或(ii)在读取该第一处理器(102)的该记忆页表资料项期间所得到的该记忆页表资料项的该更动位指示需要将该第一处理器(102)的该第一记忆页写入该储存装置(110或112)。全文摘要本发明计算机系统(100)包含第一处理器(102)、与第一处理器通讯的第二处理器(104)、耦合到第一(102)及第二处理器(104)且包含多个记忆位置的内存(106)(即共享式内存)、以及耦合到第一处理器(102)的储存装置(110或者112)。第一(102)及第二处理器(104)利用该内存(106)实施虚拟内存。第一处理器(102)在内存(106)中维护第一组记忆页表及第二组记忆页表。第一处理器(102)将第一组记忆页表用来存取该内存(106)内的记忆位置。第二处理器(104)将第一处理器(102)所维护的第二组记忆页表用来存取内存内的记忆位置。本发明说明了一种用于计算机系统(100)的虚拟记忆页取代方法。文档编号G06F12/12GK1524228SQ02808821公开日2004年8月25日申请日期2002年2月1日优先权日2001年4月24日发明者T·M·德尼奥,TM德尼奥申请人:先进微装置公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1