阻止指令提取调节的方法、处理器和装置的制作方法

文档序号:6468342阅读:189来源:国知局
专利名称:阻止指令提取调节的方法、处理器和装置的制作方法
技术领域
本公开一般涉及流水线处理器,更具体地,涉及在信息处理系统 中使用节能方法的流水线处理器。
背景技术
现代信息处理系统采用往往会产生大量热量的处理器。存在感测处 理器的温度的热能调节技术。当处理器的温度超过预定阈值温度时, 系统调节或降低处理器的时钟频率,从而相应地降低处理器的温度。 这样,系统可以避免不希望的过热。作为选择,系统可以采用时钟 选通,亦即,在某段时间内停止该处理器的至少一部分逻辑电路的 处理器时钟,以降低处理器的温度。
功耗是影响新型处理器的最高运行频率的主要因素。可以使用感测 处理器所消耗的功率的功率调节技术。当消耗的功率超过预定阈值功率 标准时,功率调节系统会降低处理器的运行频率,使得处理器的功耗降 低。
因此,需要能够进一步降低信息处理系统中的处理器的功耗的装置 和方法。

发明内容
因此,在一个实施例中,公开了一种用于操作处理器的方法。该
方法包括利用提取器从指令源中提取指令,以提供包含有提取的 分支指令的指令流。该方法还包括利用分支预测器预测每个提取 的分支指令的结果,进而为提取的分支指令提供相应的分支预测。 该方法进一步包括通过发布单元向分支执行单元发布提取的分支指令 用于执行。更进一步,该方法还包括如果作为一组的分支指令队列中
5的提取的分支指令表现出低于第 一预定分支预测信任度阈值,则通过提
取调节控制器调节该提取器对于指令的提取。该方法还包括如果该发 布单元当前发布的特定的提取的分支指令表现出低于第二预定分支 预测信任度阈值,则通过该提取调节控制器推测性地阻止对于指令 提取的调节。
在另 一个实施例中,公开了 一种包含有用于存储指令的指令源的处 理器。该处理器还包括与该指令源相耦合的提取器,用于从该指令源 中提取指令,以提供包含有提取的分支指令的指令流。该处理器还包括 用于预测每个提取的分支指令的结果的分支预测器,进而为提取的分支 指令提供相应的分支预测。更进一步,该处理器还包括与该提取器和 分支执行单元相耦合的发布单元,用于向该分支执行单元发布提取的分 支指令用以执行。该处理器还包括与该提取器和该发布单元相耦合的
提取调节控制器,如果作为一组的分支指令队列中的提取的分支指令表 现出低于第一预定分支预测信任度阚值,则该提取调节控制器调节该提 取器对于指令的提取。如果该发布单元当前发布的特定的提取的分支 指令表现出低于第二预定分支预测信任度阈值,则该提取调节控制 器推测性地阻止对于指令提取的调节。


附图仅用于说明本发明的示例性的实施例,由于具有创造性的概 念适用于其它等效实施例,所以附图并不限制本发明的范围。
图1表示采用了带有阻止功能的提取调节处理的所公开的处理器的 框图2表示图1所示处理器所包括的提取调节控制器的框图; 图3表示所公开的处理器的简化框图4是一个流程图,表示图3所示的处理器执行提取调节操作的处 理流程;以及
图5是采用图1所示处理器或图3所示处理器的信息处理系统(IHS)
的框图。
具体实施例方式
现代处理器通常使用推观'j执行技术,该技术使用分支预观']以提高 处理器的指令处理效率。处理器中的提取单元或指令提取器提取包 含有分支指令的指令流。响应于分支预测,处理器可以推测性地执 行分支指令之后的指令。更详细地,在指令译码器对指令流中的提 取的分支指令进行译码之后,分支预测电路预测是否处理分支指令 提供的分支。或者"处理"或者"不处理"该分支。分支预测电路 通过使用分支历史信息,即,处理器先前遇到该特定分支指令时的 分支结果,预测是否处理该分支。如果分支预测电路正确地预测了 分支,则处理器保存在该分支之后的指令的结果。然而,如果分支 预测是错误的,则处理器抛弃或清除在该分支之后的指令的结果。 于是,处理器开始执行与该分支指令的正确目标地址相对应的重定 向地址上的指令。
处理器推测性地执行指令会消耗大量电能。因此,希望在不会严重 影响处理器性能的情况下,将推测性执行活动所耗费的电能降到最小。 降低功耗的一种方法是,当处理器遇到一组分支指令时,如果处理器 确定相对于分支预测(该组分支指令)累积地表现出低信任度,则
调节指令的提取。处理器包括一个分支指令队列(BIQ)其存储有来 自指令流的一组分支指令以及每个存储的分支指令的信任度信息。BIQ 存储处于正待处理中(in-flight)的那些指令流分支,正待处理中的指 令即处理器尚未解析的那些指令。如果BIQ中的低信任度分支的数目大 于预定信任度阈值,则该处理器执行指令提取的调节,以降低处于上述 低分支预测信任度条件下的功耗。申请日期为2007年10月04日,名 称为 "Method and Apparatus for Conserving Power by Throttling Instruction Fetching When a Processor Encounters Low Confidence Branches in an Information Handling System",发明人为Bose等的共同举争 让美国专利申请11/733,589公开了这样一种提取调节的节能方法,这里 全文引用该公开作为参考。尽管可以节能,但是该方法的确对处理器的性能存在某些负面影响。因此,需要在尽量减少对处理器性能的负面影 响的同时实现节能。
图l表示处理器100的一个实施例,该处理器ioo对一组低信任
度分支进行提取调节,以减少处理器的耗能。处理器100包括诸如 本地高速緩沖存储器的存储器105,高速緩沖存储器包括处理器100 执行的指令流。因此,存储器105作为指令源。实际上,存储器105 与更大的外部系统存储器(未示出)相连,外部系统存储器提供处 理器执行的指令流或程序。提取器IIO与存储器105相连,用于从 存储器105中提取指令用以执行。提取器110包括指令地址输入IIOA。 译码器电路115与提取器IIO相耦合,以便对接收自提取器110的提取 的指令进行译码。提取的指令流包括带有操作码和操作数的指令。指令 流的某些指令是分支指令。发布单元/排序器电路117经寄存器重命名 级116与译码器115相耦合。发布单元117确定合适的执行单元,后者 应接收特定的经译码的指令用以执行。发布单元117与以下执行单元相 耦合定点执行单元(FXU) 120、浮点执行单元(FPU) 125、加载 存储单元(LSU) 130以及分支执行单元(BRU) 135。定点执行单 元(FXU) 120包括寄存器文件120A。浮点执行单元125包括寄存器 文件125A。
执行单元推测性地执行经过译码的分支指令之后的指令流中的指 令。分支预测器140耦合在提取器110的指令地址输入IIOA和分支 执行单元(BRU) 135之间。分支预测器140包括一个分支历史表 (BHT) 142,后者跟踪先前执行的分支指令的历史结果。通过与分 支单元(BRU) 135合作,分支预测器140使用该历史分支执行信息 对BRU 135当前接收的分支指令做分支预测。完成单元145与各执行 单元相耦合,即,与FXU120、 FPU 125、 LSU 130和BRU 135相耦合。 更具体地,完成单元145与FXU寄存器文件120A和FPU寄存器文件 125A相耦合。完成单元145确定以推测方式执行的指令是否应完成。 如果分支预测器140正确地预测了分支,则该分支之后的指令应完成。 例如,如果分支预测器140正确地预测了分支,则该分支之后的定点或整数指令应完成。在这种情况中,完成单元145控制^^该分支的定点结 果写回到定点寄存器文件120A中。如果在正确预测的分支之后的指令 为浮点指令,则完成单元145控制把该浮点指令的结果写回到浮点寄 存器文件125A中。当指令完成时,它们将不再是推测性的。分支执行 单元(BRU) 135与完成单元145和分支预测器140协作,以便解析是 否处理特定的分支指令。
更详细地,分支历史表(BHT) 142包括先前执行的分支指令的 历史。BHT142中的每个条目包括一个方向位和一个信任度位。对于特 定的分支指令,其在BHT中的条目包括一个用于指示"处理分支" 或"不处理分支"的方向位。在一实施例中,如果上一次没有处理 分支,则方向位为0,如果上一次处理了分支,则方向位为1。在一 实施例中,对于特定的分支指令,方向位指示处理器下次遇到该分支指 令时处理器是否处理该分支。方向位未必表示处理器上次遇到的分支指 令的分支的方向。然而,在大部分时间内,方向位的确指示处理器上 次遇到的分支指令的分支的方向。对于特定的分支指令,如果预测 为处理或者不处理的分支具有低信任度,则信任度位为1。如果预测 为处理或者不处理的分支具有高信任度,则信任度位为0。特定分支 预测表现出低信任度的 一个原因是,在前两次由处理器执行该特定 分支指令时,在一种情况中该处理器处理该分支,而在另一种情况 中没有处理该分支。特定分支预测表现出高信任度的原因包括,在 前两次由处理器执行该特定分支指令时,处理器两次都处理该分支 或两次均未处理该分支。
处理器100包括一个调节控制电路或是调节控制器200,其带有分支 指令队列(BIQ) 205。在该特定实施例中,分支指令队列(BIQ) 205 包括16个条目,亦即,由提取器提取的但处理器尚未完成的指令流 中至多有16个分支指令。取决于特定应用,BIQ 205可以包括比16 个条目更多或更少的条目。调节控制器200还包括一个信任度跟踪 队列或信任度队列(CQ)210,后者和BIQ 205有关。CQ210作为存 储信任度信息的信任度信息存储存储器。对于BIQ 205中的每个分支指令条目,CQ210包括相应的信任度位。在该特定实施例中,CQ包 括16个条目,即低信任度位。对于BIQ 205中的特定分支指令条目, 如果CQ 210中相应的CQ信任度位条目为逻辑1,则表示用于该特 定分支指令的分支预测具有低信任度。然而,对于BIQ 205中的特定 分支指令条目,如果CQ 210中相应的CQ信任度位条目为逻辑0, 则表示用于该特定分支指令的分支预测具有高信任度。调节控制器 200访问分支历史表142,以协助信任度位在CQ 210中的填充。例如, 在一个实施例中,对于BIQ 205存储的特定分支指令,为了利用相 对应的信任度位填充CQ210,如果分支预测器140和BRU135错误 预测了处理器上 一 次执行分支指令时的分支指令,则调节控制器2 0 0 在CQ条目中的信任度位上存储1 。然而,如果分支预测器140和BRU 135正确预测了处理器上一次执行分支指令时的分支指令,则调节控制 器200用O填充CQ中该分支的相应条目的信任度位。在一个实施例 中,BHT142保存或存储相应分支指令的信任度位或信任度值,并且在 分支指令执行时,BHT 142进行自我更新。当提取器IIO提取特定分支 指令时,CQ 210访问BHT 142,读取或存储与特定分支指令相对应 的信任度位。
备选方法也可以导出一位或多位分支信任度信息。例如, 一种方 法可以从分支指令中存在的静态分支预测提示中导出信任度信息。 该方法可以使用这些静态分支预测提示来直接设置分支指令包含的 信任度位的信任度信息。作为选择,借助于逻辑等式,该方法可以 使用这些静态分支预测提示来导出信任度位。例如,这种方法可以 确定静态分支提示是否和分支预测器140的预测一致,其中静态分 支提示指示着分支是否预测为处理或者不处理。
一种备选方法可以使用分支类型来推导分支预测信任度。例如, 一个或多个无条件分支,从子例程返回的分支(Power Architecture 中 的blr)以及带有负偏移的条件相对分支,通常指示封闭循环分支,封闭 循环分支可以用来推导表现出高信任度的分支。相反, 一个或多个常见 的间接分支(例如,Power ArchitectureTM中分支到计数寄存器)以及条件相对正向分支,通常指示条件语句的赋值运算,可以利用条件 语句的赋值运算来推导表现出低信任度的分支。另一个方法是当多 个分支预测器分量一致时("一致条件")可以使用锦标赛预测器 来推导高分支信任度。锦标赛选择器可以导出低信任度,当多个分 量不一致时("不一致条件")或者在选择特定锦标赛预测器分量 时锦标赛选择器具有弱信任度时。
在图1的实施例中,分支指令队列(BIQ) 205是一个循环队列。 BIQ 205包括概念上表示为头指针215的头指针和概念上表示为尾指 针220的尾指针。头指针215指向BIQ 205中最新的分支指令,而 尾指针220指向BIQ 205中最老的分支指令。由于BIQ 205从提取 器IIO那里接收分支指令,所以头指针和尾指针每次移动一个分支指令 条目,以致头指针215总是指向进入BIQ 205中的最新的分支指令, 尾指针总是指向BIQ 205中最老的分支指令。
调节控制器200还包括控制逻辑225,后者与头指针215、尾指针 220和信任度队列(CQ)210相耦合。因此,控制逻辑225接收当前的 头指针,当前的尾指针以及CQ210的所有信任度位。每当另一个分支 指令进入BIQ205时,头指针改变。每当某一分支指令完成时,尾指针 改变。信任度队列(CQ) 210存储BIQ 205中的每个分支指令条目的 对应信任度位。换句话说,BIQ 205中的每个分支指令条目在CQ 210 中都有一个相关联的对应信任度位。控制逻辑225计算或累加CQ 210 中的所有信任度位的总和,以获得信任度位总和。在该特定实施例中, 由于CQ 210存储低信任度位,所以控制逻辑225确定低信任度位总 和。控制逻辑225执行第一测试,以确定当前的低信任度位总和是否大 于预定阈值低信任度。如果控制逻辑225确定当前的低信任度位总和 大于预定阈值低信任度或信任度不足,则调节控制器200通知提取器 IIO开始提取调节,以降低处理器功耗。在推测执行的指令不太可能 是正确的分支预测期间,通过按上述方式进行提取调节,处理器100 可以降低功耗。然而,如果当前的低信任度位总和不大于预定阈值信 任度级,则分支预测可能是正确的,控制逻辑225允许在不进行调节的情况下全速提取指令并推测性地执行指令。因此,第一测试确定
BIQ 205中的一组分支指令是否是累积地表现出低信任度的一组指令。另 一种替代的方法可以使用不止一位来表示特定分支指令的多个分支预测 信任度,例如,"很高"、"高"、"低"和"很低"信任度。另外, 本领域的熟练技术人员懂得,可以用多种方式把上面的多个信任度值组 合成能够概括与多个分支关联的多个信任度的一个信任度值。
发布单元117与带有阻止功能的提取调节状态机(FTSMWIF) 230相耦合,以便向提取调节状态机230提供指令发布信息。这样, 提取调节状态机230知道BIQ 230中的每个特定分支指令何时发布到执 行单元。调节控制器200使用该发布信息以提高处理器效率和/或性 能。如上所述,调节控制器200对作为一组的BIQ 205中的分支指 令进行第一测试。实际上,第一测试确定BIQ 205中的一组分支指 令累积起来就分支预测而言是否小于预定信任度值。换句话说,第一 测试确定就其分支预测而言,该组指令累积起来较之预定信任度阈值更 为缺乏信任度。
当发布单元117发布分支指令时,调节控制器200还要对BIQ 205 中的每个分支指令执行第二测试。第二测试确定每 一 个当前发布的 分支指令就其各自的分支预测而言是否小于预定信任度。FTSMWIF 230对每一个分支指令执行第二测试,相反,调节控制器200对BIQ 205 中有效分支指令组成的组执行第一测试。如果FTSMWIF 230确定当前 发布的BIQ 205中的特定分支指令表现出低于分支预测信任度的预 定量(亦即,表现出低信任度),则分支重定向是可能的,作为响 应,FTSMWIF 230阻止对于提取的调节。如果重定向是可能的,则 需要全速执行提取。因此,在上述情况下阻止对于提取的调节(即, 重新启用全速提取)可以提高处理器的效率。然而,如果FTSMWIF 230 确定BIQ 205中的特定分支指令没有表现出低于分支预测信任度的第一 预定量,以致重定向是不太可能的,则FTSMWIF 230不会阻止对于提 取的调节。换句话说,当BIQ 205中的分支指令作为一组指令累积起 来表现出低信任度时,除非当前发布的特定分支指令表现出低于分
12支预测信任度的第二预定量,否则继续提取的调节。
由于高扇出数和设置次数,所公开的流水线处理器可能需要判定 调节指令提取,并且在实际提取周期前的几个周期对存储器结构和
提取逻辑执行时钟选通。因此,在一个实施例中,基于预测性技术 来保证不对提取逻辑进行时钟选通,从而确保在特定分支引起到达 正确的新提取地址的重定向时提取周期的可用性,所述的预测性技 术如涉及可能需要进行重定向的此类分支的信任度的技术。
为阻止对于提取的调节,所公开的处理器的不同实施例可以使用不 同设置。 一个实施例阻止在一个周期内执行提取调节,该周期恰好对 应于已经禁用调节的当前分支可能引起与重定向相对应的第一提取 的周期。所公开的处理器的另 一个实施例在包括第 一重定向周期的 几个周期内阻止对于提取的调节,即,第一个提取响应于与阻止分 支相对应的重定向,而第二个周期相当于与第 一个提取周期后的提 取相对应的下一个提取周期。
更进一步,在所公开的处理器的其它实施例中,设计师可以在设计 时设置多个信任度阈值。作为选择,诸如管理程序、操作系统或应用 程序的软件可以在处理器工作期间设置信任度阈值。第二阈值的一 个可行选择是一个阈值设置,该阚值设置确保在任何对应于处理器 响应于分支指令的执行而执行的可能的重定向的提取周期阻止对于 提取的调节。
图2是图1的调节控制器200的更详细的框图。图2示出已参照 图1进行了描述的分支指令队列(BIQ)205、信任度队列(CQ) 210、 控制逻辑225以及带有阻止功能的提取调节状态机(FTSMWIF )230。 正如图2所示,BIQ205包括16个分支指令条目BI-0, BI-1,…BI-15。 信任度队列(CQ)包括用0-15标示的16个信任度位条目。但是在 图2中,头指针215和尾指针220指向分支指令BI-0和BI-2,当新的 分支指令从提取的指令流中进入BIQ 205时,头指针和尾指针移动。在 处理器提取、执行和完成指令流中的分支指令时,BIQ205存储的特 定分支指令不断地变动。BIQ 205存储所提取的指令流中的16个最近提取的分支指令。因此,在某一时刻,与BIQ 205中的各分支指令关联 的信任度位表示,调节控制器220对作为一组的这些分支指令的预 测的正确性具有低信任度。既然是那样,调节控制器200开始提取 调节,以降低功^1。然而,在另一时刻,BIQ 205中填充了另一组分 支指令。此时,与BIQ205中的各分支指令关联的信任度位表示,调节 控制器200对作为一组的分支指令的预测的正确性具有高信任度。因此, 调节控制器200不会为了降低功耗而进行提取调节,相反,它指示提取 器110执行全速提取。然而,如果FTSMWIF 230确定当前发布的特 定分支指令表现出比预定的低信任度阈值更低的分支预测信任度, 以致分支重定向是可能的,则FTSMWIF 230阻止对于提取的调节, 允许提取以全处理器速度继续进行。
控制逻辑225包括一个AND (与)电路235,后者具有16行输入 235A和16行输入235B。 AND电路输入235A与CQ 210中的16个存 储槽或存储位置相连,以便AND电路235接收来自CQ 210的16个信 任度位。头指针215和尾指针220与有效向量生成电路240相连。有效 向量生成电路240使用头指针和尾指针信息来生成一个16位向量,其 中该向量的每一位对应于BIQ205的一个不同条目。16位向量的每一 位指示BIQ 205中的对应分支指令条目是否有效。如果16位向量的特 定位为逻辑l,则BIQ 205中的对应分支指令条件是有效的,即,该分 支指令仍然在处理中。然而,如果16位向量的特定位为逻辑0,则
BIQ 205中的对应分支指令条目是无效的。BIQ 205中的有效条目从尾 指针开始,向下扩展到头指针。例如,如果头指针位于条目BI-3而尾 指针位于条目BI-7,则16位有效向量为0001111100000000。这意味 着条目BI-3、 BI-4、 BI-5、 BI-6和BI-7是有效的,而剩余条目是无效的。 如果头指针在尾指针的上面,则有效向量回绕并且是不连续的。例如, 如果头指针位于条目BI-14而尾指针位于条目BI-2,则有效向量为 1110000000000011。这意味着条目BI-O、 BI-1、 BI-2、 BI-14和BI-15 是有效的,而剩余条目是无效的。在图2中,有效向量寄存器245 表示有效向量245的16位。因此,在输入235A, AND电路235接收来自CQ 210的16个低 信任度位,而在输入235B, AND电^各235接收有效向量的全部16 位。当AND电路235对16个低信任度位和16个有效向量位进行逻辑 与运算时,有效向量充当掩码,该掩码将去除AND电路235的输出端 的16位结果中的所有低信任度位。因此,在该特定实施例中,与门235 的输出端的16位结果仅包含有效的低信任度位。换句话说,AND电 路235的输出端的16个低信任度位对应于BIQ 205中的各有效分支 指令的低信任度位。
加法器250与AND电路235的输出端相耦合。加法器250计算 从AND电路235那里接收的有效的低信任度位之和,以便在加法器 250的输出端提供低信任度分支总和,即,个数总和(POPCOUNT)。 因此,POPCOUNT表示特定时刻的BIQ 205中的有效低信任度分支的 总数。比较器255包括一个输入,后者与加法器250相耦合,以接收 来自加法器的低信任度分支总和POPCOUNT。比较器255的剩余输入 与可编程阈值电路260相耦合,可编程阈值电路260向比较器255提 供可编程信任度阈值。设计师或其它实体选择信任度阈值,以致信任度 阈值表示低信任度,超过该信任度表示BIQ中的分支预测的信任度太低, 所以开始提取的调节,从而开始节能。
比较器255的输出与带有阻止功能的提取调节状态机(FTSMWIF ) 230相耦合。如果低信任度分支的总数POPCOUNT超过预定的可编 程阈值,则比较器255向提取调节状态机230输出一个逻辑1。作为响 应,FTSMWIF 230向4是取器输入IIOB发送一个THROTTLE信号, 通知提取器110降低指令提取的速率。通过降低或调节指令提取的速 率,降低处理器100执行不太可能处理的分支(亦即,低信任度分支) 时消耗的电能。然而,如果低信任度分支的总数POPCOUNT没有超 过预定的可编程阈值,则比较器255向FTSMWIF 230输出 一个逻辑0。 作为响应,提取调节状态机230向提取器输入110B发送一个 THROTTLE信号,通知提取器110全速提取指令。既然是那样,处 理器对于BIQ205中的分支指令的预测表现出高信任度。因此,在不进行提取器调节和功率降低的情况下,全速进行分支指令的推测执行。然
而,当FTSMWIF 230在调节模式下运行时,当前发布的特定分支指令 表现出低于预定的低信任度阈值级别的分支预测信任度,以致分支重定 向是可能的,FTSMWIF 230将阻止对于提取的调节,并且允许提取 以全处理器速度继续进行。
图3用处理器300表示所公开的处理器的简化表示。处理器300 包括与处理器100中的部件相似的许多部件。如上所述,通过在处理 低信任度分支指令组期间执行提取调节,所公开的节能方法可实现节 能。尽管提取调节操作方法本身的确可以节能,但是就增加的提取等待 时间而言,它会对处理器性能造成相当大的负面影响。正如上面说明的 那样,希望在执行提取调节时降低对处理器性能的负面影响,同时仍然 可以实现节能。
在某些状态下,可以阻止对于提取的调节以提高处理器的性能, 而不会对节能造成过度影响。例如,如果当前发布的来自所提取的 指令流的特定分支指令表现出低预测信任度,处理器300可以在先前 打开提取调节之后关闭提取调节,原因在于BIQ 205中的这组分支指令 表现出低预测信任度。
在一实施例中,处理器300是一个同步多线程(SMT)处理器, 包括多个流水线级。处理器300包括提取器305,后者经由指令高速 緩沖(ICACHE)存储器310与外部系统存储器(未示出)相耦合。 指令高速緩沖310与译码器315相耦合,后者对从指令高速緩沖310 中提取的指令进行译码。译码器315经由寄存器重命名电路320与发 布级(即排序器)325相耦合。实际上,寄存器重命名电路325提供 附加寄存器,以增强提取的指令的执行。发布级(即排序器)325向合 适的功能单元发送经过译码的指令用以执行。处理器300包括以下功 能单元整数或者定点执行单元(FXU) 330、浮点执行单元(FPU) 335、加载/存储执行单元(LSU) 340、向量介质扩展执行单元(VMX) 345以及分支执行单元(BRU) 350。 FXU 330和FPU 335分别包括寄存 器文件330A和335A,用于存储计算结果。分支执行单元(BRU) 350与发布级(即排序器)325相耦合, 以便执行从排序器325那里接收的分支指令。BRU350与分支预测器 355和提取器305相耦合。执行单元FXU 330、 LSU340、 FPU 335、 VMX 345和BRU 350推测性地执行位于经过译码的分支指令之后的指令 流中的指令。分支预测器355包括一个分支历史表(BHT) 357并且与 提取器305相耦合。分支历史表(BHT) 357跟踪先前执行的分支指令 的历史结果。分支单元(BRU) 550使用该历史分支执行信息对当前接 收的分支指令做出分支预测。
完成单元365与每个执行单元(即,FXU330、 FPU 335、 LSU340、 VMX 345和BRU 350 )相耦合。更具体地,完成单元365与FXU寄 存器文件330A和FPU寄存器文件335A相连。完成单元365确定推测 执行的指令是否应该完成。如果分支预测器355正确预测了分支,则 该分支之后的指令应完成。例如,如果分支预测器355正确预测了分 支,则该分支之后的定点或者整数指令应完成。如果正确预测的分 支之后的指令为定点指令,则完成单元365控制把该分支的定点结 果写回到定点寄存器文件330A中。如果正确预测的分支之后的指令为 浮点指令,则完成单元365控制把该浮点指令的结果写回到浮点寄存 器文件335A中。当指令完成时,它们将不再是推测性的。分支执行单 元(BRU ) 350与完成单元365和BHT 357协作,以l更解析是否处理 特定的分支指令。
图3的处理器300包括一个提取调节控制器370,在一个实施例中, 提取调节控制器370的运行方式类似于图1所示的提取调节控制器200。 更具体地,在一个典型实施例中,提取调节控制器370包括分支指 令队列(BIQ) 372和信任度队列(CONF Q) 374。提取调节控制器 370还包括带有阻止功能的提取调节状态机(FTSMWIF) 376,后者对 提取器305的指令提取进行调节。分支指令队列(BIQ) 372存储从提 取器305那里接收的分支指令。对于BIQ 375中的每个分支指令,信任 度队列374存储相应的信任度信息,该信任度信息指示分支预测器 355提供的分支预测的信任度。BIQ 372可能同时包括有效和无效分支指令。无效分支指令是完成单元365先前解析过的但仍然留在BIQ 372 中的那些以推测方式执行的分支指令。BIQ 372中的剩余的有效分支 指令是仍然处于待处理状态的那些分支指令,亦即,完成单元365尚 未进行解析的那些以推测方式执行的分支指令。
提取调节控制器370包括带有阻止功能的提取调节状态机 (FTSMWIF) 376,在某些预定状态下,FTSMWIF 376通知提取器 305对从指令高速缓冲存储器310中提取指令的操作进行调节,从而 节能。如果BIQ 372中的有效分支指令累积起来表现出低于各分支预测 的第一预定信任度,则FTSMWIF 376通知可以开始提取调节,从而节 能。然而,调节操作一旦开始,如果当前发布的BIQ372中的特定分 支指令表现出低于第二预定信任度,FTSM 375就在预定的相对短的时 间窗口内阻止对于提取的调节。
在一个实施例中,FTSMWIF 376进行第一和第二测试,以完成 上述信任度确定。更具体地,FTSMWIF 376进行第一测试,以确定 BIQ 372中的有效分支指令累积起来是否表现出低于第一预定信任度阈 值。如果BIQ 372中的有效分支指令累积起来的信任度表现出低于第 一预定信任度,则FTSMWIF 376通知可以开始提取调节。在 FTSMWIF 376开始提取调节之后,FTSMWIF 376对当前发布的BIQ 372中的特定分支指令进行第二测试,以确定当前发布的特定分支指令 是否表现出低于第二预定信任度。如果第二项测试证实当前发布的特定 分支指令的确表现出低于第二预定信任度,则FTSMWIF 376通知可以 阻止对于提取的调节,以便在可能出现分支重定向时提高性能。
在一个实施例中,设计师利用在分支指令预测时导出的与信任度 队列374为该分支存储的值相对应的信任度值,作为第二测试使用的分 支预测的信任度的基础。在另一个实施例中,FTSMWIF 376依据诸如 特定分支之属性的其它指令特性,获得该信任度信息。例如,间接分支 或PC相对条件正向分支可推测出低信任度。相反,无条件分支语句, 从子例程返回的分支指令(例如,Power ArchitectureTM中分支到连接寄 存器的(blr)指令),以及PC相对反向条件分支指令,可推测出高信任度。
在一个实施例中,处理器300在分支指令队列(BIQ) 372或信任 度队列(CONFQ) 374中的至少一个中存储第二信任度测试的信任 度信息。在另一个实施例中,处理器300直接在分支指令队列(BIQ) 中与该分支一起存储该信任度信息,以减少在BIQ或CONF Q中执行 读操作时的附加等待时间。
关于所公开的处理器300阻止对于提取的调节的期限,处理器的不 同实施例可以使用不同的时间值或预定时间窗口设置。在一个实施例 中,处理器300阻止在一个周期内执行提取调节,该周期对应于处理 器禁用其提取调节的当前分支指令引起与重定向相对应的第一提取 的周期。在另一个实施例中,处理器300可以使用多个周期的提取 调节操作,多个周期包括第一重定向周期,亦即,响应于与阻止分 支相对应的重定向的第一提取,还包括第二周期,对应于与第一个 提取重定向周期后的提取相对应的下 一 个提取周期。处理器的 一 个 实施例在进行硬件设计时确定用于第二测试的具体时间窗口设置。 在另一个实施例中,电源管理工具、固件、管理程序、操作系统或 应用程序可以对该时间窗口进行编程。
当分支指令队列(BIQ) 370中的有效分支的预测的累积信任度 低于第一预定信任度时,图3的提:f又调节控制器370调节才是」取器305 提取指令的操作。换句话说,当与BIQ 372中的有效分支指令关联的 CONF Q 374中的信任度位累积起来表示的累积信任度低于第一预 定信任度时,提取调节控制器370开始提取调节。因此,第一项信任 度测试是一个"累积信任度测试,,,原因在于BIQ372中的多个有效分 支指令是作为一个组来考虑其总计信任度的。所公开的处理器可以使用 其结构和机制不同于分支指令队列和信任度队列的提取调节控制器,以 确定第 一项累积信任度测试中的累积信任度。
提取控制器375还要进行第二信任度测试,亦即,对发布级(即排 序器)325当前选择发布的每个分支指令进行信任度测试。这是一个 "个体信任度测试",原因在于提取调节控制器370在发布级(即单元)325选择发布的每一个分支指令上进行该项测试。该项测试确定 特定分支指令是否表现出低于第二预定信任度。如果特定分支指令表现 出低于第二预定信任度,则提取调节控制器370在预定期限内阻止、抑 制或废弃提取调节操作。换句话说,在上述状态下,提取调节控制器 370在预定期限内重新启用指令提取操作而不管在第 一项累积信任 度测试中导出的提取调节指示,以提高处理器性能。在一个实施例中, 为了阻止对于提取的调节,提取控制器370通知提取器305再次开始 全速提取指令。这样,通过在发布时刻重新启用提取操作,分支单 元(BRU) 350及时生成供提取器305使用的重定向地址。从而可以 显著提高处理器的性能。在该预定期限(即时间窗口 )期满后,提 取调节控制器370可以再次开始提取调节操作,前提是第一项累积 信任度测试表示BIQ 370中的有效分支指令作为一组指令表现出的 累积信任度低于第 一预定信任度。阻止对于提取的调节包括废弃、 终止和暂停提取调节。在一个备选实施例中,当第一累积信任度测试
指示使用提取调节,并且第二个体信任度测试表示处理器应阻止或抑制 指令提取时,该处理器按照低于处理器的正常提取速度的降级提取速度 执行指令提取。在一个实施例中,当特定分支指令的信任度低于第二 预定信任度时,预想到有可能出现分支重定向,提取调节控制器370 会阻止对于提取的调节,就此意义而言,阻止对于提取的调节是推 测性的。
图4是一个流程图,表示处理器300用来提高处理器性能的提取调 节阻止方法。带有阻止功能的提取调节状态机(FTSMWIF) 376生成 一个调节信号(THROTTLE),该信号用于控制从指令高速緩冲存 储器310提取指令的调节以及控制对从指令高速緩沖存储器310中 提取指令的调节的阻止。根据初始化处理器框405,当处理器300初 始化时处理流程开始。根据框410,通过向FTSMWIF 376提供合适 的输入选择,处理器设计师、用户或其它实体启用或禁用FTSMWIF 376。根据判定框415, FTSMWIF 376执行测试以确定FTSMWIF 376 是否处于启用状态。根据框420,如果FTSMWIF 376不处于启用状态,
20则提取器305继续全速提取指令,亦即,不需要进行提取调节。然而, 如果FTSMWIF 376处于启用状态,则在某些合适状态下提取调节开始。
根据框425,如果FTSMWIF 376处于启用状态,则提取器305 提取指令并且提取调节控制器370读取分支预测器355的分支历史 表(BHT) 357,以便观测所提取的指令流中的提取的分支指令的分 支预测。提取器305向BIQ 372提供所提取的指令流的分支指令。根 据框430, BIQ 372写入这些提取的分支指令,作为BIQ的条目。因 此,BIQ 372存储一组分支指令,包括当前处于正待处理中的或尚未 进行解析的指令流中的那些分支指令。处于正待处理中的分支指令 为有效分支指令。BIQ 372还包括被提取调节控制器370视为无效分支 指令的一些旧的经过解析的分支指令。同时,根据框430,信任度队列 374存储信任度信息,如BIQ 372中的每个分支指令条目的信任度位。 信任度位为1表示分支预测器355为相应分支指令做出的分支预测高 信任度。信任度位为O表示分支预测器355为相应分支指令做出的分 支预测低信任度。
根据框435,在一个实施例中,通过对信任度位和相应的有效位 进行与运算,调节控制器370审核信任度队列374中的信任度位。根 据框440,提取调节状态机(FTSMWIF ) 376确定BIQ 372中的有效分 支指令的累积分支指令组(CBIG )信任度。在一个实施例中,FTSMWIF 376计算BIQ 372中的有效分支指令的信任度队列374中的信任度位 或信任度信息的总和,由此形成累积分支指令组(CBIG)信任度级。 CBIG信任度表示BIQ 372中当前存储的有效分支指令的分支预测的信 任度量。在处理器执行指令流中的指令时,该信任度随着BIQ 372中存 储的分支指令的变化而变化。本领域的熟练技术人员可以调整或修 改图4中公开的提取调节的阻止方法,通过修改和/或替换图4所示 步骤430、 435和440中的一个或多个步骤,可以和用于确定第一累 积分支指令组(CBIG)信任度的其它方法一起工作。
根据判定框445, FTSMWIF 376进行第一项测试,以确定当前的 累积分支指令组(CBIG)信任度是否小于第一预定信任度阈值。假如这样的话,表示分支指令队列(BIQ) 372中的有效分支指令的分支预测 的总信任度低。在一个实施例中,设计师或其它实体选择第一预定信任 度阈值,如果当前的CBIG信任度小于第一预定信任阈值,则较之不 是BIQ 372中的分支而言出现分支误预测的可能性大。根据框450,如 果判定框445中的测试确定CBIG信任度不小于第一预定信任度阈 值,则提取调节控制器370不会开始提取调节。FTSMWIF 376生成 一个THROTTLE信号,通知提取器305继续全速从ICACHE 310中提 取指令。处理流程返回到框425,并且继续以全速进行指令提取。
然而,根据框455,如果判定框445中的测试确定当前的CBIG 信任度小于第一预定信任度阈值,则提取调节控制器370开始提取 调节操作,以降低处理器功耗。更具体地,FTSMWIF 376通过生成一 个THROTTLE信号启动提取调节,该信号通知提取器305降低提取器 305从ICACHE 310中提取指令的速率或速度。因此,当BIQ 372中的 有效分支指令组的总的分支预测信任度较低时,提取调节操作开始, 从而节能。几种不同的提取调节模式都是可行的,以获得不同的提 取调节量。在一个实施例中,处理器可以基于具体的信任度值自适应地 选择提取调节模式,以便对比较低的CBIG信任度值进行更激进的调 节,同时对低于第 一 阈值的比较高的C BIG信任度值进行不太激进的 调节。
根据框460,在一个实施例中, 一旦提取调节开始,FTSMWIF 376 就接收来自发布单元325的发布信息,以通知FTSMWIF 376发布单 元325何时发布BIQ 372中的每条分支指令。发布信息包括分支发 布信息,用于通知FTSMWIF 376发布单元325把当前发布的分支指令 发送到BRU 350用以执行。根据框462,当发布单元325发布分支指令 时,FTSMWIF 376检查当前发布的分支指令的信任度队列374中的各 信任度。根据判定框465, FTSMWIF 376进行第二测试,以确定当前 发布的BIQ 372中的特定分支指令的分支预测的信任度是否小于第二预 定信任度阈值。
在一个实施例中,处理器300利用调节控制器370在分支指令预测时导出的与信任度队列存储的信任度值相对应的信任度值,作为 在第二测试中分析的分支预测的信任度的基础。处理器也可以根据 诸如具体分支指令之属性的其它指令特性导出该信任度信息。例如,
处理器推测间接分支指令或PC相对条件正向分支指令具有低信任 度,反过来,处理器推测无条件分支指令、从子例程返回的分支指
令(Power Architecture 中的分支到连接寄存器blr指令)、以及PC 相对反向条件分支指令具有高信任度。处理器的一实施例在至少一个 信任度队列中存储用于第二测试的信任度信息。例如,为了使用信任度 信息,提取调节控制器370从信任度队列374中取回信任度信息。在另 一个实施例中,处理器直接在分支指令队列(BIQ)中与有关分支指令 一起存储用于第二测试的信任度信息,以减少在BIQ或CQ中执行读操 作的附加等待时间。
如果当前发布的特定分支指令的预测信任度不小于第二预定阈值, 则FTSMWIF 376通知提取器305继续进行提取调节。此时,处理流 程返回到提取框425。然而,根据框470,如果当前发布的特定分支指 令的预测的信任度小于第二预定阈值,则FTSMWIF 376在预定持续 时间的时间窗口内阻止对于提耳又的调节。在一个实施例中,该调节 阻止时间窗口具有比较短的持续时间。处理器的不同实施例可以使 用具有不同持续时间的时间窗口 ,提取调节控制器370在该时间窗口 内阻止指令提取调节。在一个实施例中,提取调节控制器370在一个周 期内阻止对于提取的调节,该周期对应于已经阻止调节的当前分支 可能引起与重定向相对应的第一提取的周期。在另一个实施例中, 处理器在多个周期内阻止对于提取的调节,包括第一重定向周期, 亦即,响应于与阻止分支相对应的重定向的第一个提取操作,还包 括第二周期,该第二周期相对于与第一个提取周期后的提取相对应 的下一个提取周期。
根据框475,在该调节阻止时间窗口期满后,FTSMWIF 376停 止阻止或废弃提取调节,以致提取调节再次开始。处理流程回到提 取框425。在判定框445中,当累积分支指令组(CBIG)信任度大于等于第一预定阈值时,提取调节停止,开始全速提取。
在上述实施例中,FTSMWIF 376监控一组分支指令的累积分支 指令组(CBIG)信任度,以确定该信任度是否低到值得进行提取调 节。在等效实施例中,FTSMWIF376也可以监控一组分支指令预测中的 累积分支信任度缺失,以确定信任度的缺失是否高到值得进行提取调 节。FTSMWIF 376可以使用上述两个等效条件中的任何一个来触发 提取调节。
在一个实施例中,响应于用于查明当前发布的特定分支指令的分 支预测信任度低于第二预定信任度阈值的第二测试,在特定分支指令 指示提取器305从内存中的某个新位置提取指令时,也可能在此后的一 个或多个周期内,调节控制器370再次开始进行调节。换句话说,每 当发布单元325选^^低信任度分支指令进行发布时,FTSMWIF 376总是 推测性地禁用提取调节。此时,通过及时地重新启用提取操作,分支单 元350及时生成供提取器305使用的重定向地址。禁用提取调节等效于 重新启用全速提取。
现在;f既括用于以下实施例的提iF又调节阻止,在该实施例中, FTSMWIF 376监控一组分支指令的累积分支指令组(CBIG)的信任度, 以确定该信任度是否低到值得进行提取调节,即,是否小于第一预定阈 值。根据图4所示流程图中的框465,在上面的实施例中,在当前发 布的特定分支指令的信任度低于第二预定阈值时,FTSMWIF 376阻止 对于提取的调节。
现在概括用于以下实施例的提取调节阻止,在该实施例中, FTSMWIF 376监控一组分支指令的累积分支指令组(CBIG )信任度 的缺失,以确定信任度的缺失是否高到值得进行提取调节,即,是 否大于第一预定缺失信任度阈值。在上面的实施例中,在当前发布 的特定分支指令的信任度的缺失高于第二预定缺失信任度时, FTSMWIF 376阻止对于提取的调节。换句话说,FTSMWIF 376利用 一项测试来替换图4所示流程图中的判定框465,该项测试确定当前 发布的特定分支指令的分支预测的缺失信任度何时超过第二预定缺失信任度阈值。
图5表示使用处理器100或300的信息处理系统(IHS )500。 IHS 可以是采用数字方式、模拟方式或其它方式来处理、传送、传播、 修改、存储或用别的方法处理信息的系统。IHS 500包括一条总线505, 后者经由存储控制器520和存储总线522,把处理器100、 300耦合到系 统存储器510。视频图形控制器525耦合显示器530到总线505。非易 失存储器535,如硬盘驱动器、CD驱动器、DVD驱动器或其它非易失 存储器和总线505相耦合,目的是为IHS 500配备永久信息存储器。 操作系统540被加载到内存510中,以管理IHS 500的操作。诸如键 盘和鼠标定点设备的I/O设备545经由I/O控制器550和I/O总线555 耦合到总线505。诸如USB、 IEEE 1394总线、ATA、 SATA、 PCI、 PCIE和其它总线的一条或多条扩展总线560与总线505相耦合,以 便把外设或设备耦合到IHS 500。网络适配器565与总线505相耦合, 以便采用有线方式或采用无线方式把IHS 500耦合到网络和其它信息处 理器系统。尽管图5表示了使用处理器100或300的一个IHS,但是IHS 可以采取多种形状。例如,IHS 500的形状可以是台式机、服务器、 手提电脑、膝上型电脑、笔记本电脑、或其它形式的计算机或数据 处理系统。IHS 500可以采取其它形式,如游戏才几、个人lt字助理 (PDA)、便携电话设备、通信设备或包含有处理器和存储器的其 它设备。
考虑到本发明的上述描述,本发明的修改和备选实施例对本领 域的熟练技术人员是显然的。因此,本描述向本领域的熟练技术人 员讲授执行本发明的方式,并且应该被解释为仅为说明性的。以上 所示和描述的本发明的形式构成各实施例。本领域的熟练技术人员 可以对部件的形状、尺寸和排列做出各种修改。例如,本领域的熟 练技术人员可以用等效部件替换本文所示和描述的部件。此外,得 益于本发明的描述,本领域的熟练技术人员可以在不使用其它功能 部件的情况下使用本发明的某些功能部件,而并不背离本发明的范 围。
权利要求
1. 一种操作处理器的方法,该方法包括通过提取器从指令源中提取指令,以提供包含有提取的分支指令的指令流;通过分支预测器预测该提取的分支指令的结果,进而为该提取的分支指令提供相应的分支预测;通过发布单元向分支执行单元发布该提取的分支指令用以执行;如果作为一组的分支指令队列中的提取的分支指令表现出低于第一预定分支预测信任度阈值,则通过提取调节控制器调节该提取器对于指令的提取;以及如果该发布单元当前发布的特定的提取的分支指令表现出低于第二预定分支预测信任度阈值,则通过该提取调节控制器阻止对于指令提取的调节。
2. 根据权利要求l的方法,其中调节步骤包括,通过该提取调 节控制器执行第 一 测试,以确定作为该分支指令队列中 一 组的提取 的分支指令累积起来是否小于该第 一 预定分支预测信任度阈值。
3. 根据权利要求1的方法,其中推测性阻止步骤包括,通过该 提取调节控制器执行第二测试,以确定该发布单元当前发布的特定 的提取的分支指令是否小于该第二预定分支预测信任度阈值。
4. 根据权利要求2的方法,其中该提取调节控制器对该分支发 布队列内正待处理中的分支指令进行第 一 测试。
5. 根据权利要求1的方法,其中推测性阻止步骤包括,该提取 调节控制器在预定持续时间的窗口内暂停对指令的提取进行调节。
6. 根据权利要求5的方法,还包括提取器在预定持续时间的窗口期 满之后返回到提取调节。
7. 根据权利要求1的方法,还包括通过信任度存储存储器为该分支 指令队列中的每一个提取的分支指令存储相应的分支预测信任度值。
8. —种处理器,包括存储指令的指令源;与该指令源相耦合的提取器,用于从该指令源中提取指令,以提供包含有提取的分支指令的指令流;用于预测该提取的分支指令的结果的分支预测器,从而为提取的分 支指令提供相应的分支预测;与该提取器和分支执行单元相耦合的发布单元,用于向该分支执行 单元发布提取的分支指令用以执行;以及与该提取器和该发布单元相耦合的提取调节控制器,如果作为一组 的分支指令队列中的提取的分支指令表现出低于第一预定分支预测信任 度阈值,则该提取调节控制器调节该提取器对于指令的提取,如果该发 布单元当前发布的特定的提取的分支指令表现出低于第二预定分支预 测信任度阈值,则该提取调节控制器阻止对于指令提取的调节。
9. 根据权利要求8的处理器,其中该提取调节控制器执行第一测试, 以确定作为该分支指令队列中一组的提取的分支指令累积起来是否小于 该第 一预定分支预测信任度阈值。
10. 根据权利要求9的处理器,其中在推测性地阻止对于提取指令 调节之前,该提取调节控制器执行第二测试,以确定该发布单元当前发布的特定的提取的分支指令是否小于该第二预定分支预测信任度阈值。
11. 根据权利要求9的处理器,其中该提取调节控制器对该分支发 布队列内正待处理中的分支指令进行第一测试。
12. 根据权利要求8的处理器,其中通过在预定持续时间的窗口内 暂停对于指令提取的调节,该提取调节控制器推测性地阻止对于指令提 取的调节。
13. 根据权利要求12的处理器,其中在预定持续时间的窗口期满之 后,该提取调节控制器返回到提取的调节。
14. 根据权利要求8的处理器,其中该提取调节控制器包括该分支 指令队列,该提取调节控制器还包括一个信任度存储存储器,后者为该 分支指令队列中的每一个提取的分支指令存储相应的分支预测信任度 值。
15. —种信息处理系统(IHS),包括 存储器;与该存储器相耦合的处理器,该处理器包括 存储指令的指令源;与该指令源相耦合的提取器,用于从该指令源中提取指令,以提供 包含有提取的分支指令的指令流;用于预测该提取的分支指令的结果的分支预测器,如此为提取的分 支指令提供相应的分支预测;与该提取器和分支执行单元相耦合的发布单元,用于向该分支执行 单元发布提取的分支指令用以执行;以及与该提取器和该发布单元相耦合的提取调节控制器,如果作为一组 的分支指令队列中的提取的分支指令表现出低于第一预定分支预测信任 度阈值,则调节该提取器对于指令的调节,如果该发布单元当前发布的 特定的提取的分支指令表现出低于第二预定分支预测信任度阈值,则该 提取调节控制器阻止对于指令提取的调节。
16. 根据权利要求15的IHS,其中该提取调节控制器执行第一测 试,以确定作为该分支指令队列中一组的提取的分支指令累积起来是否 小于该第 一预定分支预测信任度阈值。
17. 根据权利要求16的IHS,其中在推测性地阻止对于指令提取的 调节之前,该提取调节控制器执行第二测试,以确定该发布单元当前发布的特定的提取的分支指令是否小于该第二预定分支预测信任度阈值。
18. 根据权利要求16的IHS,其中该提取调节控制器对该分支发布 队列内正待处理中的分支指令进行第一测试。
19. 根据权利要求15的IHS,其中通过在预定持续时间的窗口内暂 停对于指令提取的调节,该提取调节控制器推测性地阻止对于指令提取的调节。
20. 根据权利要求19的IHS,其中在预定持续时间的窗口期满之后, 该提取调节控制器返回到提取调节。
全文摘要
信息处理系统包括一个处理器,每当该分支指令队列内的一组指令累积起来表现出的有关分支指令的分支预测的准确度的信任度低于第一预定阈值信任度阈值时,该处理器就对指令提取器进行调节。在一个实施例中,该处理器包括一个提取调节控制器,在当前发布的特定分支指令的有关分支预测的准确度的信任度小于第二预定阈值信任度阈值时,阻止对指令提取器进行提取调节。
文档编号G06F9/38GK101452378SQ20081018134
公开日2009年6月10日 申请日期2008年11月19日 优先权日2007年12月5日
发明者M·K·格施温德, R·A·菲尔豪尔, R·C·耶昂 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1