在电子系统的管线中改变管线层级数目的方法及电子系统的制作方法

文档序号:6467365阅读:210来源:国知局
专利名称:在电子系统的管线中改变管线层级数目的方法及电子系统的制作方法
技术领域
本发明涉及改变一电子系统的一管线结构,尤其涉及在一电子系统的管线结构中改变管线层级的一数目。
背景技术
随着在不断攀升成长率的现今电子系统应用中,对于更有效率的微处理器效能的需求从未停止过。 一用来增进一处理器效能的设计例如指令管
线(instruction pipeline)的利用遂应运而生。图9显示依据相关技术用于一 中央处理单元(central processing unit, CPU)的典型指令管线。管线化的处理器内部^L组织成多个层级(stage),其中每一层级#1连续地组织与连接成串以便于在一个时钟周期中,每一层级的逻辑在下一个时钟信号中被估算且准备可供移到下一个管线层级。例如, 一个一般的4层级管线如图9所示的管线卯0包含四层级读取(fetch)、解码(decode)、执行(execute)、及写回(write-back)。现今被制造的每一微处理器几乎都利用到至少两层的管线,且许多设计包含如7、 10、甚至31层的多的管线。该处理器的此结构允许整体处理时间显着#1减短,如此能有效率地增加一处理器的效能。
一处理器的效能通过其在单位时间中处理计算机指令的能力来量测。对任一处理器,执行一任务的给定指令集所需的时间(以及如此一可量测效能指标)可被分析如下
icount 1
时间(秒)=---..........------------s ........画.......
频率* icount/ccount 频率* IPC
其中icount是该任务的总指令计数(对目前的任务而言是固定的),ccount是该任务的总时钟周期计数(对该处理器而言是固定的),而IPC代表每时钟周期的指令数(instructions per cycle),为该给定处理器每时钟可执行的指令平均数。对一管线处理器来说, 一较短的管线因管线泡泡(pipelinebubbling)与管线分支(pipeline branching)的反效应会造成一较高IPC。当在同一频率执行同一任务时,有高IPC值的一处理器有较高效能。换句话说,
有高IPC值的一处理器可在较低频率执行而仍然能保持相同效能。
依据相关技术,现今制造的处理器被设计为适合于该处理器预期目的的一般"最佳情形"的固定的管线结构。 一旦一管线层级数被实施进该管线的管线结构设计,在需要时该被制造的处理器仅可通过改变频率与电压来减低功率消耗。该处理器因此易于遭受功率和效能之间难以权衡取舍的窘
境功率消耗直接与处理器的时钟速度成比例,因此假如该时钟速度被减低,该效能依比例降低。目前处理器的问题是在于这些参数(改变该频率或该电压)不能达到基于应用需求的高效能与低功率消耗间的最佳平衡。

发明内容
因此本发明的目的之一在于提供一种可修正管线结构来增进处理效率及减低功率需求的方法与电子系统。
本发明的一示范实施例公开一种用来修正一电子系统中的一管线的方法,该方法包含提供具有一第一数量的串联管线层级的管线;在一第一模式中通过利用具有该第 一数量的管线层级的该管线来进行该电子系统的操作;改变该第一数量的管线层级成为一第二数量的串联管线层级,其中该第二数量不同于该第一数量;以及在一第二模式中通过利用具有第二凄丈量的管线层级的该管线来进行该电子系统的操作;其中该管线中的每一管线层级用来在一时钟信号的每一时钟周期输出数据至一下一管线层级。
依据本发明的另一示范实施例, 一电子系统包含 一管线,具有一第一数量的串联管线层级; 一管线控制单元,用来改变该管线中该第一数量的管线层级成为一第二数量的串联管线层级,该第二数量不同于该第一数量;以及一逻辑引擎(logic engine),用来在一第一模式中通过利用具有该第一数量的管线层级的管线来进行该电子系统的操作,以及用来在一第二模式中通过利用具有该第二数量的管线层级的管线来进行该电子系统的操
作;其中该管线中的每一管线层级用来在一时钟信号的每一时钟周期输出数据至一下一管线层级。


图1显示依据本发明的效能、管线层级、与频率间的关系的一例。图2为依据本发明的一示范实施例的一电子系统的示意图。 图3绘示依据本发明的一示范实施例的一种管线变形(morphing)的方 法的流程图。
图4绘示依据图3所示的方法的融合(fUsing)与分裂(splitting)管线层级。 图5绘示图2所示的管线层级,其中这些管线层级通过分别旁通或不
旁通这些层级的输入触发器(input flip flop)而被融合或分裂。
图6绘示利用时钟定相(clock phasing)来融合或分裂图2所示的这些管
线层级。
图7绘示利用锁存器(latch)来融合或分裂图2所示的这些管线层级。 图8显示被用来控制图7中的这些管线层级的输入的锁存器电路。 图9显示依据相关技术用于一中央处理单元的一典型指令管线。 图IO显示图5的这些管线层级,其中该被旁通的输入触发器可被馈入
一门间式时钟(gated clock)信号。主要元件符号说明
200、 290电子系统
201输入
202输出
210逻辑引擎
220管线
221-229管线层级
230变形控制单元
240管线控制单元
250频率控制单元
260操作频率
270电压控制单元
280操作电压
500逻辑
510输入触发器
520、 841、 842多工器
1000AND门CLK输入时钟信号
CLK'较低的时钟频率
D管线层级输出信号
BYPASS EN选择信号
Q管线层级的一输出
S1至S8、 P1至P3管线层级
CIJC一S1 、 CIJC—S2 、 CLK一S3 、CLK一S4 、 CLK一S5、CLK_S6 、 CUC一S7、 CLK—S8时钟信号
S1—HPL、 S2—HPL至 S8—HPL、 811高通锁存器
S1—LPL、 S2一LPL至 S8—LPL、 812低通锁存器
Vdd高电压
Gnd接地电压
SEL控制信号
具体实施例方式
依据相关技术,现今可得到的处理器在降低功率消耗时不足以维持处 理效能,当为那些任务增加效能时也无法维持(亦即,不增加)功率消耗。这 是因为,在任一特定的频率中,由于在一较长管线会有管线泡沫与分支的
反效应, 一较短管线相较之下会致使一较高IPC。照样地, 一较长管线会 致使一较低IPC,且因此该管线的操作频率必须被增加以维持相同的效能。
然而,使用较长管线有一好处在于一较长管线的操作频率一般而言可被提 升至比必须进行相同操作的 一较短管线来的高。所以可能需要很高效能的 系统一般而言需要一较长管线。
请参考图1,图l显示效能、管线层数、与频率之间的关系的一例。图
1中的虚线显示对于特定的时钟周期变化的速度(例如时钟频率)且以MHz 为单位的条件下,在一7层管线、一5层管线与一3层管线的等效效能层
级。假设一 7层管线达到一平均IPC值0.5, 一 5层管线达到一平均IPC值0.6,而一 3层管线达到一平均IPC值0.8。如上所述,先前所定义的一处 理器的效能会与该操作频率及该平均IPC的乘积成比例。从图l可看出, 操作在360MHz的7层管线的效能层级107与操作在300MHz的5层管线 的效能层级105同等。相仿地,效能层级115与113分別在5层与3层管 线中相同,以及效能层级120与130也显出在层级的管线设计中每一个各 自的同等。在效能层级107,通过从一 7层处理器移至一 5层处理器可达成 提高该处理器的IPC值,且在此过程中,达到等效效能层级所需要的时钟 频率从360MHz被降低至300MHz。当保持效能层级115与其等效层级113 时,该相同改变可通过从一 5层处理器移至一 3层处理器以及将时钟频率 从200MHz降低至150MHz来完成。换句话说,当仍维持该相同效能时, 在一较高IPC操作该处理器可有效降低该电子系统的功率消耗。该电子系 统的功率消耗被降低的原因为,当维持该相同效能107(或105)时该系统的 操作频率可被降低。
另一方面,随着管线层级数目的增加,该处理器可相较于较低的管线 层级数目的情况下增加该逻辑引擎的时钟频率与内部管线层级来提高该处 理器效能。然而,需要权衡的是,更多管线层级与较高频率不但会导致降 低每单位时钟周期的指令数(肇因于管线设计问题如泡沫或分支),也会导致 较高功率消耗(归因于被增加的电压切换与相关的损失)。
先前技术的处理器不足以将其管线结构调整成适于处理应用的需求。 不同处理任务会改变效能需求简单应用(例如音频播放或文件编辑)可在一 短管线结构中最有效率,而较严苛的任务(例如视频压缩或视频播放)则在一 较长管线中较有利。另一方面,对于较不严苛的任务,最好是在较低频率 运作来减轻功率消耗,但对先前技术的处理器这么做会于进行较严苛的任 务时导致较低且难以令人接受的效能。
本发明的一处理器在执行大量不同任务时可变形(也就是修正或适应) 其管线层级数目及其时钟速度(频率)来使该处理器的这些特性对于立即要 处理的应用或任务而言即时调整成最为适合的配置。还需要注意的是,虽 然接下来被提出的例子中描述一处理器例如一被用在计算装置者及其管线 结构,此一处理器的应用并非对本发明的范围的限制。也就是说,本发明 描述的管线变形可被应用至任一逻辑引擎或利用 一管线结构的处理元件, 而此等应用与实施例均符合本发明的精神且应属本发明的范围。例如,其它形式的处理器如中央处理单元(CPU)、绘图处理器(graphicsprocessor)、数 字信号处理器(DSP)、整合处理器(integrated processor)以及嵌入式处理器 (embedded processor)皆可应用于本发明的实施 此外,其它逻辑引擎如专 用集成电路(ASIC)或内部具有管线结构的可编程逻辑门阵列(FPGA)也可从 本发明获益与利用本发明。
图2为依据本发明的一示范实施例的一电子系统200的示意图。电子 系统200具有一输入201与一输出202,其中输入201用来接收数据以供处 理,而输出202用来传送最终处理后的数据。另外,电子系统200包含一 逻辑引擎210、 一具有管线层级221-229的管线220、 一变形控制单元230、 一管线控制单元240、 一频率控制单元250以及可选择性地实施的一电压控 制单元270。可选4奪性地实施的另 一系统290被连接至电子系统200。
逻辑引擎210将管线220包含于其中,管线220具有某一数量以串联 方式耦接的管线层级221-229。逻辑引擎210通过利用管线220进行电子系 统200的操作,且被耦接至输入201与输出202。管线220中的每一"基本 的,,管线层级(即管线层级221至管线层级229中的每一个)用来在一时钟信 号的每一时钟周期中输出数据至下一管线层级,其中该时钟信号运作于一 操作频率260。例如,在每一时钟周期中,管线层级221可输出数据至管线 层级222,且依次地,管线层级222可输出数据至管线层级223,依此类推。 另外,在每一时钟周期中,每一管线层级可输出数据至一些较早的管线层 级或它本身。请注意,虽然在本实施例中以九个基本的管线层级(221-229) 为例来说明,此数量仅为用于说明目的的随意的选择,并非对本发明的限 制;管线层级数量可随着逻辑引擎210及/或电子系统200的预期的应用的 要求或需要而减少至一,或增加至比上述数量更多。
变形控制单元230控制管线控制单元240来变形(例如改变)该管线层级 数,且被耦接至管线控制单元240与频率控制单元250。管线控制单元240 被耦接至逻辑引擎210与管线220,且用来改变(即变形)管线220中的管线 层级数至一不同管线层级数。如后续将详细描述,管线层级的变形可为增 加或减少管线层级221-229的数目。频率控制单元250被耦接至变形控制 单元230以及逻辑引擎210与管线220,且控制管线220与逻辑引擎210 的时钟频率。无论多少管线层级^^皮包括,在每一时钟周期于管线220中的 每一层级可输出数据下一层级。一伴随而来的方法另被提出以供用来变形(修正)一电子系统200(例如 一计算装置)中的一管线。图3绘示依据本发明的一示范实施例的一种管线 变形的方法的流程图,且其包含下列的步骤
步骤301: 逻辑引擎210利用具有该第一数量的管线层级(例如如 图2所示的利用九个管线层级221-229)的管线220进行操作。
步骤302: 在系统200或在另 一系统290的逻辑引擎210决定管线层 级数量的改变及/或该逻辑引擎所需的频率。如后续将解释,由于被系统200 进行或执行的应用的效能需求,此决定可能会发生。(例如视频操作可能 需较音频应用更高的效能。)在电子系统200或另 一 系统2卯中的逻辑? 1擎 210发出(issue)由一连串控制操作所组成的序列(其可简称为控制序列)给变 形控制单元230。
步骤303: 在接收来自逻辑引擎210或另 一系统290且载有(carry)— 改变管线层级数目与频率的指示信号后,变形控制单元230送出控制信号 至管线控制单元240与频率控制单元250来开始分别改变管线层级数与操 作频率260。
步骤304: 管线控制单元240依据该控制序列来调整管线220中的管 线层级数。在一第一实施例中,该管线层级数被增加,以及在一第二实施 例中,该管线层级数被减少。
步骤305:频率控制单元250依据该控制序列来调整时钟频率260。 尤其是,如果管线220中的层级数被减少,则如图l所示,可通过降低该 系统的操:作频率260来维持相同效能。如此一来,系统200的功率消耜3皮 减低。另一方面,如果所需要更高效能无法通过一较短管线来达成,则该 层级数与该操作频率均可被同时地增加。
步骤306: 在上述管线变形被完成之后(通过自我计数或交握),该处 理器(例如逻辑引擎210)可继续其执行。该电子系统的操作接下来利用有该 第二数量(新数量)的管线层级N1-N3与对应的操作频率260来进行。
进一步解释如下。首先,步骤301中,电子系统200正常地操作且逻 辑引擎210利用有该笫一数量管线层级(例如,九个管线层级221-229)的管 线220来进行操作。例如在一计算装置,该处理器可能正播放一视频/电 影文件,与该视频文件已播放完成。接下来,在步骤302中的系统200(或 另一系统290)决定管线220中管线层级数量的改变及/或逻辑引擎220所需要的频率,上述决定例如基于被变形控制单元230所决定的一个或更多个 因素。此决定可利用硬件、软件或一些相关组合来完成,以及用在其分析 的因素可通过被分配予计算装置200的任务类型、特定的效能需求、或其
操作环境的改变...等而被触发。在目前的例子中,该视频文件的结束为祐:
分配的任务(例如视频处理或解码已不再需要)与效能需求的一组合。从步 骤302的决定,电子系统200(或在另一系统290)发出一连串控制操作所组 成的序列,其可为一指令序列、控制寄存器更新等形式,以及可实施于一 硬件状态机或其某些相关组合。选择性地,当管线变形进行中,变形控制 单元230可对逻辑引擎210指出在执行中的一暂停或延迟需发生;或才奪一 地,该处理器(例如逻辑引擎210)可在暂停前完成其目前的指令。此处理中, 变形控制单元230在步骤303送出控制信号给管线控制单元240及/或频率 控制单元250,指示后两个元件开始该管线变形处理。此外,变形控制单元 230也可送出控制信号给电压控制单元270,其细节将解释如下。管线控制 单元240在步骤304中调整管线220的管线层级数,而频率控制单元250 在步骤305中依据该控制序列来调整时钟频率260。请注意,变形控制单元 230可唤起步骤304或305中的一个或两者全部,取决于目前操作需要的效 能调整需求。另需注意的是,步骤304与305可同时进行或一先一后地进 行。当该新管线层级N1-N3及/或逻辑引擎210的该新时钟频率已稳定时, 管线控制单元240与频率控制单元250可送出反馈给变形控制单元230。择 一地,变形控制单元230可简单地等待一预定的时间量。在上述步骤完成 之后,该处理器(例如逻辑引擎210)可在步骤306中继续其执行,利用具有 该第二数量(新数量)的管线层级N1-N3的管线220来进行电子系统200的 操作。例如该第二数量的管线层级可包含三层级Nl-N3,其中该第一层 级N1包含被融合(fUse)在一起的旧层级221、 222与223;该第二新层级 N2包含被融合在一起的旧层级224、 225与226;以及该第三层级N3包含 被融合在一起的旧层级227、 228与229。请注意,在该操作频率260的每 一时钟周期中,N1转移数据给N2,且照样地,该操作频率260的每一时 钟周期中,N2转移数据给N3。这样一来,在该管线被变形成包含三个层 级N1-N3之后,原本通过九个层级221-229在一较高操作频率260的九个 时钟周期中所进行的全部相同的功能,遂由这三个层级N1-N3在一较4氐操 作频率260的三个时钟周期中来进行。请注意到上述方法中,电子系统200不需要为了利用管线220的新层 级结构而关机或重新启动。另外,在步骤302中,该逻辑引擎可能不会^皮 要求延迟其操作;这会视本发明的特定的实施而定。更一般地,逻辑引擎 210或处理器被用在此流程图与描述为了说明的便而已;逻辑引擎210可为 一中央处理单元, 一数字信号处理器(DSP),或利用一管线结构的任一逻辑 系统。本发明的该管线变形方法影响一逻辑系统的全部操作或指令的执行, 且视每一特定操作或指令而不改变该管线结构。也就是说,本发明可用来 改变一管线中管线层级数目,以供用于具有不同效能需要或功率消耗模式 的系统200的不同应用。
在已结束播放一视频文件的例子中,变形控制单元230决定在目前给 定操作条件与信号下较低效能将会相应地被管线控制单元240与频率控制 单元250接受。变形控制单元230命令管线控制单元240来减少管线220 中的管线层级数目来达到较好的功率经济效应(例如较低功率消耗)如以上 依图1所说明。 一旦一较低层级管线(例如具有三层级N1-N3的管线220) 被达成且该管线的效能因此有效地被增加,时钟频率260可被减慢来降低 功率消耗而同时维持原本的效能。此外,随着一额外的功率节省步骤,当
在目前的条件中仍维持一可接受的效能层级,给逻辑引擎210与管线结构 220的供给电压可被减低。如此一来,管线控制单元240控制管线220来减 低个别的层级数,频率控制单元250降低驱动管线220的时钟信号的操作 频率260,且电压控制单元270降低管线220的供给电压的电压摆幅。此一 经由动态地切换至一较低层级管线来节省功率的方法无法从在先前技术中 得到,亦无法在不使用依据本发明的管线变形下被得到。
本发明中的管线变形对逻辑引擎210的管线结构220中的管线层级 221-229的数目进行改变。如图4所示的改变可为管线层级数目的增加或减 少。为了达到此改变,本发明的一实施例的管线变形包含分裂一管线层级 Pl至多个邻接管线层级S1-S4,或相反地融合多个邻接管线层级S4-S7成 为一单一被融合的管线层级P2。图4显示包含管线层级Sl至S8的一 8层 管线被变形成为包含管线层级P1至P3的一个3层管线层级。择一地,反 过来说,该包含管线层级P1至P3的3层管线可被变形成为包含管线层级 S1至S8的一8层管线。在图4所示的例子中,邻接管线层级S1至S4被 融合成为一被融合管线Pl;假如图4中反而是该3层管线被变形成为一 8层管线,管线层级P2必须被分裂成为邻接管线层级S5至S8。需要注意的 是,图4中的管线层级数目仅为用于说明目的之一随意地选择,并非对本 发明的限制。也需要注意的是,在管线变形过程中,它有可能依据该从该 变形控制单元的控制信号,使用管线层级的融合与分裂两者的组合来重组 该管线。然而,也该注意的是,基本的管线层级数为可存在于一设计的一 特定实行方式中的管线层级数的最大值;也就是说,管线变形不能将管线 层级分裂成为超过设计中的基本的管线层级数目的管线层级。图2的例子 中,基本的管线层级数目为8,且如此,管线层级P1至P3不能被分裂成 为超过8个管线层级。此外,当图4的例子显示在第一模式中的一管线层 级的特定安排融合成为第二模式中的一管线层级的特定安排,此等安排为 任意的,上述仅为用于举例说明的目的的随意选择,不应视为对本发明范 围的限制。举例来说,该第一^t式或第二模式也可能并非一全部管线层级 完全地被分裂的模式(例如图4中管线层级Sl-S8所示);该第一与第二^^莫式 皆可为管线层级Sl-S8不同的被融合安排且该管线变形操作从一安排变形 成为另一个,视适合电子系统200与变形控制单元230的安排而定。
关于管线层级真正的融合与分裂,本发明的一第一实施例被提出如下 且绘示如图5,其中管线层级可通过分别旁通或不旁通这些层级的一输入触 发器而被融合或分裂。
在本实施例中,管线层级Sl-S8的每一个包含一组逻辑500,如图5 所示。逻辑500包括一输入触发器510,输入触发器510具有两输入,分别 来自该管线层级输出信号D与一输入时钟信号CLK。另外,管线层级Sl-S8 的每一个包含一多工器(multiplexer, MUX)520,多工器520具有被直才妄连 接至前面的管线层级输出信号D的一第一输入、被连接至输入触发器510 的输出的一第二输入、被耦接至管线控制单元230所提供的信号 BYPASS_EN的一选择信号、与连接至该管线层级的一输出Q。依据该 BYPASS一EN信号线,多工器520会从该输入触发器正反运作后的输出、或 直接旁通输入触发器510的该前级管线层级输出信号D中选择其一。
当管线层级被融合,例如融合管线层级Sl-S4成为图4中被融合的管 线层级P1,管线控制单元240对预计被融合的邻接管线层级当中除了第一 层级以外的其余全部邻接管线层级的BYPASS—EN信号线予以活化 (activate)。也就是说,本例子中在层级S2、 S3与S4,该活化的BYPASS_EN信号线触发在那些层级(S2-S4)中的多工器520来选择旁通输入触发器510 的输入,将管线层级输出信号D的结果直接传递至其输出Q。在功效上, 该选择性地活化的BYPASS_EN信号形成一串被融合在一起的管线层级 一被融合管线层级。在该串已旁通输入触发器的邻接管线层级S2-S4之间 的这些数据信号如今直接被连接且不需等待时钟信号CLK。对这些邻接管 线层级中的第一个而言,其通往逻辑500的BYPASS一EN信号应永远为零, 以使得时钟信号CLK中下个时钟周期从前一个管线层级触发目前(融合的) 管线层级的输入。
选择性地,如图10所示,通过依据该BYPASS一EN信号来门控 (gating)(例如禁用)通往该层级S2-S4中的被旁通输入触发器510的时钟信 号CLK,功率消耗可再被减少,其中上述的门控可选择性地在每一输入触 发器510前设置一逻辑门加以门控,或是可选择性地设置一共用的逻辑门 对一群输入触发器510—起门控。如图IO所示,一AND门1000用来为了 被旁通的触发器510来门控该CLK信号,此举将会进一步通过不要时控 (clocking)不祐:使用的触发器510来减低功率消耗。既然该时钟门控或禁用 概念已为同业所知,在此省略其详细的描述。
另一方面,当融合管线层级要被分裂,该管线控制单元240抑止 (de-activate)通往先前已被旁通的这些被融合管线层级的该BYPASS—EN信 号线。该抑止的BYPASS一EN信号线触发这些多工器520来选择通过输入 触发器510的输入,而不将管线层级输出信号D的结果直接通往其输出Q。 在功效上,通过活化输入触发器510,之前被融合的管线层级被再度分离。 选择性地,假如通往全部邻接管线层级中的输入触发器510的时钟信号 CLK先前被门控或禁用,则信号CLK被恢复,以按照正常操作来触发。
在抬4见过本发明的此第 一 实施例,其它相关应用与实施会更清晰易懂, 且应被包含在本发明的范围内。
依据本发明的一第二示范实施例,管线变形通过管线层级融合和管线 层级分裂来达成,藉此,每一管线层级通过与逻辑引擎210有一相当关系 的专用的时钟来控制。本发明的该第二示范实施例融合多个邻接管线层级, 其中此融合是通过时控要被该时钟信号融合的邻接管线层级中的第一个且 通过时控这些邻接管线层级中除了每一邻接管线层级的第一层级以外的所 有基本的管线层级,且采用该时钟信号的相位延迟版本而非其原始相位版本。
请回想图4,其绘示一8层管线变形成为一3层管线;同时一并参考图 6,其显示本发明中利用时钟相控(clock phasing)的一第二实施例。在图4 的例子中,第一模式中的管线层级Sl-S4在第二模式中被融合进管线层级 Pl,照样地,管线层级S5-S7融合进管线层级P2,且S8变成管线层级P3。 依据本发明的第二实施例,管线控制单元240将该时钟信号应用于Sl、 S5 与S8,这是因为这些管线层级为每一组要被融合的邻接管线层级中的第一 个;这些时钟信号被分别标示为图6中的CLK—Sl、 CLK—S5与CLK—S8。 管线层级S2-S4与S6-S7然后被该时钟信号的相同地相位延迟的版本所时 控。针对第二模式中的管线层级Pl而言,分别被提供至管线层级S2、 S3 与S4的时钟信号CLK—S2、CLK—S3与CLK—S4将相对于时钟信号CLK—Sl 被相位延迟卯。、180。与270。。同样地,针对第二才莫式中的管线层级P2而 言,分别被提供至管线层级S6与S7的时钟信号CLK—S6与CLK一S7将相 对于时钟信号CLK_S5 #:相位延迟120°与240°。本发明的第二实施例的结 果为, 一新的、较低的时钟频率CLK,可被得到,且在图6的例子中与 CLK—Sl、 CLK—S5与CLK—S8相同。在此例子中,该衍生的时钟周期实质 上(substantially)与第二模式中最长的被融合的管线层级的时钟周期相同;本 例中,该衍生的时钟周期为该包含来自该第一模式的管线层级Sl-S4的时 钟周期。这样一来,在该非相位延迟的时钟信号(图6中的CLK—S1、CLK—S5 与CLK—S8)的每一时钟周期,从每一被混合的管线层级P1、 P2与P3的数 据被通往一下一管线层级。请注意,虽然目前例子已经显示通往这些邻接 层管线层级的时钟信号为该时钟信号的相位延迟版本,此仅是为了阐明解 释,且并非对本发明的限制。
当融合的管线层级被分裂成为邻接管线层级时, 一相似但反向的过程 就发生了。也就是说,被用来构成一被融合的管线层级的相位延迟时钟信 号被恢复成为与该管线时钟信号(例如该非相位延迟时钟信号)相同。这样 一来,该时钟信号的每一时钟周期会造成来自这些邻接管线层级中的每一 个的数据被通往一下一邻接管线层级。还需要注意的是,如果这些邻接管 线层级中的任何一个为一被融合的管线层级(也就是,包含超过一个基本的 管线层级),除了每一邻接管线层级的第一层级,这些基本的管线层级会通 过该时钟信号的相位延迟版本来被时控。从本例子以及在了解本发明及其诸实施例之后,其它对该时钟信号及 其时钟频率所为的变化对本领域技术人员来说应变得清晰易懂,且这些方 法也应属本发明的范围。
本发明的一第三实施例进一步被提出,其中管线中的每一管线层级通
过利用锁存器来实施。请参考图7,其为依据本发明的该第三实施例的一例。 图7中,管线层级S1至S8以锁存器来实施,每一管线层级包含两个锁存 器 一高通锁存器(全体地被标示为S1—HPL, S2—HPL,..., S8—HPL), 与一低通锁存器(全体地被标示为S1—LPL, S2—LPL,..., S8—LPL)。
图8的电路显示本发明的第三实施例的一实施方式。图8中,管线控 制单元240的功能实质上与图2中相对应的标号的管线控制单元的功能相 同,其中逻辑引擎210也实质上与图2中的逻辑引擎210为相同单元。本 实施方式中,每一锁存器(或管线化的锁存器的每一群)被耦接至一多工器 (MUX)841,该多工器具有分别耦接至该时钟信号CLK与一反向时钟信号 CLK—INV的输入,且另具有一第三输入,耦接至一"高,,电压Vdd或一接地 电压Gnd两者之一。每一多工器841也具有耦接至管线控制单元240的一 选择信号SEL,且另具有一输出,通往逻辑引擎210中的一高通锁存器811 或一低通锁存器812两者之一。通过上述的该电路,管线控制单元240通 过利用该控制信号SEL来控制多工器841、 842,以控制每一锁存器811、 812的行为成 一 高通锁存器或 一 低通锁存器或透明锁存器(transparent latch)。请注意图8中,针对各个配置的各种一高通锁存器与一低通锁存器 组合中的一组合,在此被绘示为一示范实施方式来说明。
在此一实施方式,回想图7的例子,在第二模式中管线控制单元240 通过配置(configuring)管线层级Sl-S4中的第一个锁存器成为一高通锁存 器,通过配置管线层级Sl-S4中的另一锁存器成为一低通锁存器,且通过 配置这些邻接管线层级中的全部其它锁存器成为透明锁存器,来融合第一 模式中邻接管线层级S1-S4成为第二模式中的管线层级P1。此例中, 一"中 点"锁存器被选为该低通锁存器,该低通锁存器在之前与之后皆有三个透明 锁存器,但这不是对本发明的第三实施例的一要求。同样的处理同样被继 续应用于第一模式中的管线层级S5-S7来产生在该第二模式中被融合的管 线层级P2,其中本例子中该高通锁存器与低通锁存器皆跟随着两个透明的 锁存器。通过重新配置管线层级S1-S7的锁存器,被融合的管线层级P1与P2每一个都包含一单一高通锁存器及一单一低通锁存器与零个或更多个透 明锁存器。请注意,如第一模式中S8的例子与第二模式中的管线层级P3 所示,可能没有其它锁存器可供配置成为透明锁存器;这也落在本发明的 范畴中。
假如该管线变形顺序需要一被融合的管线层级被分裂,如前面所述的 相同程序发生如下要分裂的这些邻接管线层级中的锁存器被配置,以便 于每一分裂的邻接管线层级包含一单一高通锁存器及一单一低通锁存器与 任一其它被配置成为透明的锁存器。在检视上述公开内容之后,此分裂过 程对本领域技术人员来说应变得清晰易懂,故为了简洁起见,分裂管线层 级的过程的进一步描述遂予以省略。
本发明的好处之一是, 一电子系统可依据不同应用或其它系统需要来 变形其自身的管线结构以包含一不同数目的管线层级。 一管线时钟信号与 一管线供应电压也可依据管线中有多少层级来改变,以减低功率消耗需求 或增加所需的效能。
以上所述仅为本发明的优选实施例,凡依本发明权利要求书所做的均 等变化与修饰,皆应属本发明的涵盖范围。
权利要求
1.一种用来在一电子系统中修正管线的方法,该方法包含有提供具有一第一数量的串联管线层级的该管线,在一第一模式中通过利用具有第一数量的管线层级的该管线来进行该电子系统的操作;改变管线中该第一数量的管线层级成为一第二数量的串联管线层级,该第二数量不同于该第一数量;以及在一第二模式中通过利用具有该第二数量的管线层级的该管线来进行该电子系统的操作;其中该管线中的每一管线层级用来在一时钟信号的每一时钟周期中输出数据至一下一管线层级。
2. 如权利要求1所述的方法,其中该管线是一处理单元的一指令管线, 以及该电子系统的操作是该处理单元的多个指令。
3. 如权利要求1所述的方法,还包含在该电子系统操作时动态地改变 该第 一数量的管线层级成为该第二数量的管线层级。
4. 如权利要求1所述的方法,其中改变该第一数量的管线层级成为该 第二数量的管线层级的步骤还包含减少该第 一数量的管线层级成为该第二 数量的管线层级。
5. 如权利要求4所述的方法,还包含减少该第一数量的管线层级成为 该第二数量的管线层级,以供用于该具有较低效能需求的电子系统的应用。
6. 如权利要求4所述的方法,还包含融合该第一数量的管线层级的多 个邻接的管线层级来因此构成第二模式下的一被融合的管线层级;以及该 被融合的管线层级用来进行这些邻接的管线层级的所有任务,且用来在该 时钟信号的每一时钟周期输出数据至一接着的管线层级。
7. 如权利要求6所述的方法,其中这些邻接的管线层级的每一个包含 一输入触发器,以及融合这些邻接的管线层级的步骤还包含不旁通这些邻 接管线层级的一第一层级的该输入触发器,以及旁通这些邻接管线层级中 除了第一层级之外所有邻接管线层级的输入触发器。
8. 如权利要求7所述的方法,其中这些邻接管线层级中的每一个还包 含一用来旁通该输入触发器的多工器,以及不旁通这些邻接管线层级的一第一层级的该输入触发器以及旁通这些邻接管线层级中除了第一层级之外 所有邻接管线层级的输入触发器的步骤包含选择性地设定该多工器的 一输 入信号。
9. 如权利要求7所述的方法,还包含有禁用往这些邻接管线层级中除 了第一层级以外的所有邻接管线层级的输入触发器的该时钟信号。
10. 如权利要求6所述的方法,其中融合这些邻接管线层级的步骤还 包含以该时钟信号时控这些邻接管线层级的一第一层级,以及以该时钟信 号的多个相位延迟版本来时控这些邻接管线层级中除了该第 一层级以外的 所有邻接管线层级。
11. 如权利要求10所述的方法,其中针对这些邻接管线层级中除了 第一层级以外的所有邻接管线层级,该时钟信号的这些相位延迟版本分别 具有相继地增加的相位延迟。
12. 如权利要求6所述的方法,其中每一邻接的管线层级包含多个锁 存器,以及融合这些管线层级的步骤包含将这些邻接的管线层级中的一锁存器配置成为一高通锁存器; 将这些邻接的管线层级中的另一锁存器配置成为一低通锁存器;以及将这些邻接的管线层级中的任何其它锁存器配置成为透明锁存器。
13. 如权利要求4所述的方法,还包含在该第二模式中降低该时钟信 号的一频率。
14. 如权利要求13所述的方法,还包含在该第二模式中降低该管线 的一供给电压。
15. 如权利要求1所述的方法,其中改变该第一数量的管线层级成为 该第二数量的管线层级的步骤还包含增加该第一数量的管线层级成为第二数量的管线层级。
16. 如权利要求15所述的方法,还包含增加该第一数量的管线层级 成为该第二数量的管线层级,以供用于该具有较高效能需求的电子系统的应用。
17. 如权利要求15所述的方法,还包含分裂该第一数量的管线层级 之一融合的管线层级来因此构成第二模式下的多个邻接管线层级;以及这 些邻接的管线层级用来进行该被融合的管线层级的全部任务,以及这些邻 接管线层级中的每一个用来在该时钟信号的每一时钟周期输出数据至一接着的管线层级。
18. 如权利要求17所述的方法,其中在第二模式中的这些邻接的管 线层级中的每一个包含一输入触发器,以及分裂该融合的管线层级还包含 不旁通这些邻接管线层级的一第一层级的该输入触发器,以及旁通这些邻 接管线层级中除了第一层级之外所有邻接管线层级的输入触发器。
19. 如权利要求18所述的方法,其中这些邻接管线层级中的每一个 还包含一用来不旁通该输入触发器的多工器,以及不旁通这些邻接管线层 级的一第一层级的该输入触发器以及旁通这些邻接管线层级中除了第一层 级之外所有邻接管线层级的输入触发器的步骤包含选择性地设定该多工器 的一输入信号。
20. 如权利要求17所述的方法,还包含有使能通往这些邻接管线层 级中的每一个的 一第 一输入触发器的该时钟信号。
21. 如权利要求17所述的方法,其中分裂该被融合的管线层级的步 骤还包含以该时钟信号时控这些邻接管线层级的一第一层级,以及以该时 钟信号的多个相位延迟版本来时控这些邻接管线层级中除了该第一层级以 外的所有邻接管线层级。
22. 如权利要求21所述的方法,其中针对这些邻接管线层级中除了 第一层级以外的所有邻接管线层级,该时钟信号的这些相位延迟版本分别 具有相继地增加的相位延迟。
23. 如权利要求17所述的方法,其中每一邻接的管线层级包含多个 锁存器,以及分裂这些管线层级的步骤包含将这些邻接的管线层级中的一锁存器配置成为一高通锁存器; 将这些邻接的管线层级中的另一锁存器配置成为一低通锁存器;以及 将这些邻接的管线层级中的任何其它锁存器配置成为透明锁存器。
24. 如权利要求15所述的方法,还包含在该第二模式中增加该时钟 信号的一频率。
25. 如权利要求24所述的方法,还包含在该第二模式中增加该管线 的一供给电压。
26. —电子系统包含有一管线,具有一第一数量的串联管线层级,一管线控制单元,用来改变管线中该第一数量的管线层级成为一第二数量的串联管线层级,该第二数量不同于该第一数量;以及一逻辑引擎用来在一第一模式中通过利用具有该第一数量的管线层级的该管线来进行该电子系统的操作,以及用来在一第二模式中通过利用具有该第二数量的管线层级的该管线来进行该电子系统的操作;其中该管线中的每一管线层级用来在一时钟信号的每一时钟周期输出数据至一下一管线层级。
27. 如权利要求26所述的电子系统,其中该管线是一处理单元的指令管线,以及该电子系统的操作是该处理单元的多个指令。
28. 如权利要求26所述的电子系统,其中该管线控制单元还用来于该电子系操作时动态地改变该第一数量的管线层级成为该第二数量的管线层级。
29. 如权利要求26所述的电子系统,其中该第一数量的管线层级大于该第二数量的管线层级。
30. 如权利要求29所述的电子系统,还包含一管线变形控制单元,用来控制该管线控制单元来减少该第一数量的管线层级成为该第二数量的管线层级,以供用于该具有较低效能需求的电子系统的应用。
31. 如权利要求29所述的电子系统,其中该管线控制单元是用来融合该第一数量的管线层级的多个邻接的管线层级来因此构成第二模式下的一被融合的管线层级;以及该被融合的管线层级用来进行这些邻接管线层级的全部任务,以及用来在该时钟信号的每一时钟周期输出数据至一接着的管线层级。
32. 如权利要求31所述的电子系统,其中每一邻接的管线层级包含一输入触发器,以及该管线控制单元通过旁通这些邻接管线层级中除了第一层级的所有邻接管线层级的输入触发器来融合这些邻接管线层级。
33. 如权利要求31所述的电子系统,其中每一邻接管线层级还包含一用来旁通该输入触发器的多工器;以及该多工器具有一被连接至一管线层级输出信号的一第一输入,被连接至该输入触发器的输出的一第二输入,以及被耦接至管线控制单元的 一选择信号。
34. 如权利要求32所述的电子系统,还包含一时钟禁用器,用来禁用通往这些邻接管线层级中除了该第一层级以外的所有邻接管线层级的输入触发器的该时钟信号。
35. 如权利要求31所述的电子系统,其中该管线控制单元还用来以该时钟信号时控这些邻接管线层级的一第一层级,以及以该时钟信号的多个相位延迟版本来时控这些邻接管线层级中除了该第一层级以外的所有邻接管线层级。
36. 如权利要求35所述的电子系统,其中耦接至这些邻接管线层级中除了第一层级以外的所有邻接管线层级的该时钟信号的这些相位延迟版本分别具有相继地增加的相位延迟。
37. 如权利要求31所述的电子系统,其中每一邻接的管线层级包含多个锁存器,以及该融合的管线层级包含在这些邻接的管线层级中的一锁存器,配置成为一高通锁存器;在这些邻接的管线层级中的另一锁存器,配置成为一低通锁存器;以及在这些邻接的管线层级中的任何其它锁存器,配置成为透明锁存器。
38. 如权利要求29所述的电子系统,还包含一频率控制单元,耦接至该管线以及该逻辑引擎,用来在该第二模式中降低被这些管线层级利用的时钟信号的一频率。
39. 如权利要求38所述的电子系统,还包含一电压控制单元,耦接至该管线以及该逻辑引擎,用来在该第二模式中降低该管线的 一供给电压。
40. 如权利要求26所述的电子系统,其中该第一数量的管线层级少于该第二数量的管线层级。
41. 如权利要求40所述的电子系统,还包含一变形控制单元,用来控制该管线控制单元来增加该第一数量的管线层级成为该第二数量的管线层级,以供用于该具有较高效能需求的电子系统的应用。
42. 如权利要求40所述的电子系统,其中该管线控制单元是用来分裂该一被融合的管线层级来因此构成第二模式下的多个邻接的管线层级;以及这些邻接的管线用来进行该被融合的管线层级的全部任务,以及每一邻接的管线层级用来在该时钟信号的每一时钟周期输出数据至一接着的管线层级。
43. 如权利要求42所述的电子系统,其中在该第二模式中每一邻接的管线层级包含一输入触发器,以及该管线控制单元通过不旁通这些邻接管线层级的第一层级的输入触发器以及旁通这些邻接管线层级中除了第一层级的所有邻接管线层级的输入触发器来分裂该被融合的管线层级。
44. 如权利要求43所述的电子系统,其中这些邻接管线层级中的每一个还包含一用来不旁通该输入触发器之一多工器;以及该多工器具有被连接至一管线层级输出信号的一第一输入,被连接至该输入触发器的输出的一第二输入,以及被耦接至该管线控制单元之一选择信号。
45. 如权利要求43所述的电子系统,还包含一时钟使能器,用来使能通往这些邻接管线层级中的每一个的一第一输入触发器的该时钟信号。
46. 如权利要求42所述的电子系统,其中该管线控制单元还用来以该时钟信号时控这些邻接管线层级的一第一层级,以及用来以该时钟信号的多个相位延迟版本来时控这些邻接管线层级中除了第一层级以外的所有邻接管线层级。
47. 如权利要求46所述的电子系统,其中耦接至这些邻接管线层级中除了第一层级以外的所有邻接管线层级的该时钟信号的这些相位延迟版本分别具有相继地增加的相位延迟。
48. 如权利要求42所述的电子系统,其中每一邻接的管线层级包含多个锁存器以及包含在这些邻接的管线层级中的一锁存器,配置成为一高通锁存器;在这些邻接的管线层级中的另一锁存器,配置成为一低通锁存器;以及在这些邻接的管线层级中的任何其它锁存器,配置成为透明锁存器。
49. 如权利要求40所述的电子系统,还包含一频率控制单元,耦接至该管线以及该逻辑引擎,用来在第二模式中增加被这些管线层级利用的时钟信号的一频率。
50. 如权利要求49所述的电子系统,还包含一电压控制单元,耦接至该管线以及该逻辑引擎,用来在第二模式中增加这些管线层级的一供给电压。
全文摘要
在电子系统的管线中改变管线层级数目的方法及电子系统。一种用来在一电子系统中修正管线的方法,其包含具有一第一数量的串联管线层级的该管线;在一第一模式中通过利用具有第一数量的管线层级的该管线来进行该电子系统的操作;改变第一数量的管线层级成为第二数量的串联管线层级,其中第二数量不同于第一数量;以及在一第二模式中通过利用具有第二数量的管线层级的该管线来进行该电子系统的操作。该管线中的每一管线层级用来在一时钟信号的每一周期输出数据至一下一管线层级。
文档编号G06F9/38GK101685390SQ20081016878
公开日2010年3月31日 申请日期2008年9月28日 优先权日2008年9月28日
发明者张李鸿, 苏泓萌 申请人:晶心科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1