CN100409147C - 闲置处理器管线的系统、装置及方法 - Google Patents

闲置处理器管线的系统、装置及方法 Download PDF

Info

Publication number
CN100409147C
CN100409147C CNB2005100959423A CN200510095942A CN100409147C CN 100409147 C CN100409147 C CN 100409147C CN B2005100959423 A CNB2005100959423 A CN B2005100959423A CN 200510095942 A CN200510095942 A CN 200510095942A CN 100409147 C CN100409147 C CN 100409147C
Authority
CN
China
Prior art keywords
idle
circuit
signal
input end
processor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CNB2005100959423A
Other languages
English (en)
Other versions
CN1760803A (zh
Inventor
威廉V·米勒
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Via Technologies Inc
Original Assignee
Via Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Via Technologies Inc filed Critical Via Technologies Inc
Publication of CN1760803A publication Critical patent/CN1760803A/zh
Application granted granted Critical
Publication of CN100409147C publication Critical patent/CN100409147C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3237Power saving characterised by the action undertaken by disabling clock generation or distribution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • G06F9/30079Pipeline control instructions, e.g. multicycle NOP
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • G06F9/30083Power or thermal control instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline, look ahead using instruction pipelines
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Abstract

本发明所揭露的处理器,其包含一用以驱动时钟信号的时钟电路,以及一具有多层级电路的处理器管线电路。该处理器包含处理器闲置电路,其位于这些管线层级电路之间,并回应于闲置要求信号idle_request。第一层级电路于收到闲置要求信号之后即抑制进来的指令使其不受进一步的处理。其它层级电路当中,至少有二层级电路包含有闲置旗标逻辑单元(idle_flag logic),其透过该处理器管线电路用以传输一闲置旗标信号(idle_flag)。

Description

闲置处理器管线的系统、装置及方法
【技术领域】
本发明系有关于一种闲置处理器的系统和方法,特别是有关于一种简化处理器的闲置处理电路以达到处理器闲置的一致性。
【先前技术】
关于电子装置,特别是使用处理器的手持电池运作的装置,其在研发设计阶段,电源的消耗问题即是很重要的考量要素。由于处理器的时钟电路运作通常会消耗大量的电池电力,因此这一类的装置在长时间不工作时,通常会让时钟电路停止,以节省电源。然而,在停止时钟电路之前,电源管理逻辑单元(power management logic)通常会要求处理器进入一种不再处理任何动作的闲置状态;当处理器闲置时,电源管理逻辑单元才能安全地停止时钟电路。
关闭时钟电路不仅能节省电池电力,且能让热能有效地从电子装置上驱散。因为处理器通常会执行一些非关键的指令,例如”自我回圈(loop toitself)”的指令,因此亟待设计一种具有处理器闲置电路的装置,用以避免处理器执行一些不需要的指令,以减少热能产生。在某些情况,削减这些不需要的指令执行足以减少热能的产生,因而毋需使用风扇,让整个装置的大小和成本得以减少。或者,如果使用适当的散热装置,则手持装置就不会过热或因太烫而无法触碰。再者,当热能得到有效地控制时,另一种好处就是可以使用较便宜的封装。
图1显示传统电子装置的处理器系统(processing system)10,例如使用电池运作的手持式装置。该处理器系统10包括电源管理逻辑单元(powermanagement logic)12、处理器(processor)14、存储器(memory)16和输入/输出装置(input/output device)18,这些装置或单元通过内部总线(internalbus)20相互连接。处理器(processor)14包含一时钟电路22,用以驱动电子电路;存储器16可以由存储控制器(memory controller)和/或其它硬件或软件的元件组成;输入/输出装置18可包含键盘、数值辅助键盘、显示屏幕等。由于熟悉该技术的人都了解存储器16和输入/输出装置18的操作和功用,因此在本说明书中将不会作进一步的描述。
电源管理逻辑单元12可包含硬件和/或软件单元,用以判定特定电路的状态,以决定什么时候才是节约电源的理想时间。例如,电源管理逻辑单元12监控处理器于长时间内没有执行重要的指令、监控使用者长时间不动作或监控其它特定的电路状态。在这些情况下,电源管理逻辑单元12可以要求处理器14进入闲置状态。当处理器14进入闲置后,电源管理逻辑单元12就会停止处理器的时钟电路22;之后,当唤醒事件(wake-up event)发生时,电源管理逻辑单元12即会重新起动时钟电路22。
图2显示传统处理器14的实施作法,该处理器14包含具有五个层级电路的处理器管线电路(processor pipeline)24,每一层级电路个别进行数据的处理,且在有需要时与存储器16和/或输入/输出装置18互动。管线电路24的层级电路包括读取(fetch)级电路26、解码(decode)级电路28、执行(execute)级电路30、记忆读取(memory access)级电路32和写回(write-back)级电路34。虽然处理器通常具有五个层级电路来表示五种主要的处理器操作,然而这些层级电路亦可以被切割或合并成其它的架构;其它常见的处理器管线电路中可有较多或较少的层级电路。
图2同时显示了处理器的时钟电路(clock)22,其提供时钟信号并馈至管线电路(pipeline)24的各层级电路中。时钟电路22也与电源管理逻辑单元(powermanagement logic)12相连接,以接收起动或抑止的信号。处理器14还包含一与门(AND gate)36,其接收来自各个层级电路的闲置(idle)信号,并输出闲置回应信号(idle_acknowledge)回到电源管理逻辑单元12。在读取级电路26中包含一个与门(AND gate)38,其中的一个输入端接收来自电源管理逻辑单元12的闲置要求信号idle_request,而另一输入端则接收来自内部导线40的一般指令要求(normalinstruction request)。
值得注意的是,每一层级电路都包含有各自独立的闲置侦查电路(未显示出),,用来判断各层级电路何时属于闲置。例如,当没有指令需要读取时,读取级电路26的闲置侦测电路即会侦测出一闲置状态,并传送出一高准位的闲置(idle)信号到与门36的一输入端。同样地,在解码级电路28、执行级电路30、记忆读取级电路32和写回级电路34的闲置侦测电路会侦测出各自的闲置状态,然后个别将闲置信号传回到与门36。当收到所有层级电路的闲置信号时,与门36会传出一逻辑1的闲置回应信号idle_acknowledge;当电源管理逻辑单元12收到此闲置回应信号后,它就会传出一抑止信号把时钟电路22关闭。
在处理器14的一般操作时期,电源管理逻辑单元12会维持闲置要求信号idle_request使其为不动作(逻辑0);与门22的第一输入端会反转该不动作的闲置要求信号idle_request,亦即非闲置,且第二输入端会从导线40收到一般指令要求。当闲置要求信号不动作时,与门38会沿着导线42输出一般指令要求,从存储器16读取指令。针对此指令读取要求,存储器16会传回指令数值,例如软件程式,沿着导线44传回到读取级电路26。此读取数值被传送至解码级电路28,经解码后,再将已解码的指令传到执行级电路30进行指令的执行。然后,存储器存取级电路32和写回级电路34于需要时,从存储器16读取数据或者写入数据至存储器16。
如上所述,为了在不动作的期间得以节省电力,电源管理逻辑单元12于各层级电路不动作或闲置状态时会停止时钟电路22。为了闲置处理器,电源管理逻辑单元12送出一高准位(逻辑1)的闲置要求信号idle_request到处理器14,以抑制读取级电路26处理更多指令读取要求。闲置要求信号会抑制导线40上的指令要求,使其不会从与门38输出。因此,指令的要求被暂时的停止了。在收到闲置要求信号idle_request之前,处理器14可能刚发出指令要求,这些指令要求很可能会来往于存储器16之间。由于这个原因,读取级电路26仍可能于收到闲置要求信号idle_request之后的几个周期的内,继续从存储器16收到额外的指令数值。最后,存储器16才完全停止传送指令数值。于一段时间后,读取级电路26的闲置侦测电路将侦得不再有其它的指令进来,因而送出闲置信号至与门36。其它层级电路的闲置侦测电路最后也会侦得不动作的状态,因而也送出闲置信号。
传统处理器管线电路的闲置作法有一个很大的缺点就是,每一层级电路必须个别决定其闲置状态,导致每个层级电路之间缺乏一致性。此一致性的缺乏很可能造成处理器设计上的错误疏失。例如,执行级电路对于其各个组成,例如乘法器(multiplier)、运算(arithmetic)单元、加/减(add/substrate)单元、移动(shift)单元、逻辑(logic)单元等,必须侦得所有组成都属于闲置状态时,才能确认执行级电路是闲置的。万一设计者因疏失而漏掉了其中一部份的侦测,将很可能造成原本应该为正常的动作被误判为闲置。当处理器的架构变得更复杂时,上述设计的疏失就变得更有可能了。因此,亟待提出一种简化的闲置侦测电路,使得处理器的闲置能够达到一致性。
【发明内容】
本发明系有关于处理器的闲置系统和方法。在一实施例中,处理器包含一时钟电路用以驱动时钟信号,以及具有多层级电路的处理器管线电路。该处理器包含处理器闲置电路,其位于这些管线层级电路之间,并回应于闲置要求信号idle_request。第一层级电路于收到闲置要求信号idle_request之后即抑制进来的指令使其不受进一步的处理。其它层级电路当中,至少有二层级电路包含有闲置标记逻辑单元(idle_flag logic)用以接收闲置要求信号(idle_request),而闲置标记逻辑单元则经由处理器管线电路来传送闲置要求信号idle_request。
于处理器闲置方法的实施例中,该处理器具有多层级电路,其从电源管理逻辑单元接收闲置要求信号(idle_request)。此闲置方法还包括阻挡来自存储器的指令数值,且通过处理器的各层级电路传播一不运算(no-operation)信号。除了传播不运算(no-operation)信号,此方法还通过各层级电路传播闲置标记信号(idle_flag)。
【附图说明】
图1显示传统电子装置的处理器系统。
图2显示传统处理器的实施作法。
图3显示本发明实施例的处理器的功能方块图。
图4显示图3的闲置标记逻辑电路的示意图。
图5显示当处理器被要求闲置时,位于处理器内部的信号时序图。
图6的时序图显示,于提出了闲置的要求后,电源管理逻辑单元在处理器完全进入闲置之前将闲置要求信号予以抑制(disable)。
【具体实施方式】
本发明揭露一种用来闲置(idle)处理器的电路,且相较于传统技术,本发明更加简化了此种闲置过程。由于本发明的处理器闲置电路比传统电路来得简化,因此在电路设计时比较不会出错,而不至于发生不正确的闲置指示。另外,本发明也可以避免发生时钟电路(clock)被闲置后,却无法再重新启动的错误。通常,本发明也可以在一些情况下减少电源的消耗,例如当使用者于一段长时间内都没有提供任何输入,或者当处理器于一段长时间内都没有执行主要的工作(critical task)时。
图3显示本发明实施例的处理器60的功能方块图。此处理器60可以应用于一些电池运作或手持的电子设备中,如笔记型电脑、个人数字助理(PDA)、无线电话、膝上型电脑等等。本实施例包含独特的电路,其根据来自电源管理逻辑单元(power management logic)的闲置要求信号idle_request来闲置处理器60。此处理器60包含一个具有五个层级电路的处理器管线电路(pipeline)-读取(fetch)级电路64、解码(decode)级电路66、执行级电路(execute)68、存储器存取(memory access)级电路70和写回(write-back)级电路72。虽然如图所示的处理器60具有五层级电路,然而熟悉本技术者可以将本发明应用在其它具有不同层级电路数的实施例中。事实上,本发明可以大大地简化处理器的设计,特别是当处理器具有较大的层级电路数时。
图3所示实施例的第一级电路(亦即读取级电路64)包含一个与门(ANDgate)74,其中的一个输入端接收来自电源管理逻辑单元的闲置要求信号idle_request,而另一输入端则接收来自内部导线76的一般指令要求(normalinstruction request)。当闲置要求信号idle_request为低电压时,与门74会通过导线78输出指令要求(instruction request);而当闲置要求信号idle_request变为高准位时,则与门74会将指令要求阻挡住,这些过程和前述图2中的与门38操作类似。然而,本发明提出额外的电路,可以达成简化及一致性的目的,不像传统作法中每一级电路都必须具备各自的闲置侦测电路用以侦测各自的闲置状态。
此外,读取(fetch)级电路64包含一具有第一和第二输入端的多工器(multiplexer)82,其第一输入端接收从存储器沿着导线84所传来的指令数值,其第二输入端接收一“不运算”(NOP)信号,此信号系用来表示当处理器60未执行任何新指令的情形。多工器的选择输入端86连接至闲置要求信号idle_request,用以选择第一或第二输入端。在处理器的一般操作情形下,闲置要求信号idle_request为逻辑低电压(逻辑0),因此多工器82将导线84上的指令数值送到下一级电路。当处理器被要求闲置且闲置要求信号idle_request变为高准位时,选择输入端86使得多工器82输出”不运算”NOP信号。在本实施例中,多工器82不再接收任何新指令,且不需要等待从存储器回来的指令,因而可以使得处理器60快速的达到闲置。本实施例中的多工器82也可以使用其它逻辑元件组合来达到相同的功能。
上述的”不运算”NOP信号被传送到处理器60的其它层级电路里面,以进行解码、执行等,使得每一级电路都能知道处理器是处在一个”不运算”模式中。更进一步来讲,在读取(fetch)级电路64中,NOP信号是代表一个”不运算”指令;当此NOP信号传递至底下的其它层级电路时,将会抑制每一级电路的输出控制信号,因而使得每一级电路不会进行操作(operation)。每一级电路在确认接受NOP信号之前,可能需要经过不定数量的时钟周期;在底下介绍完select_next_instruction信号之后,即可对此有所了解。
再参阅图3,于解码(decode)级电路66、执行级电路(execute)68、存储器存取(memory access)级电路70和写回(write-back)级电路72中,都包含有闲置标记逻辑单元(idle_flag logic)80。至于读取级电路64中,也可以放置一个闲置标记逻辑电路(idle_flag logic),不过,通常是不需要的。每一级电路的闲置标记逻辑电路80会在底下配合图4作进一步描述,此电路主要是用来将闲置标记信号idle_flag在管线电路(pipeline)62中的各个层级电路中传递下去。另外,处理器60也将闲置要求信号idle_request连接至每一级电路中的闲置标记逻辑电路(idle_flag logic)80中。
应注意的是,在本实施例中,第二级电路(亦即,解码级电路66)并非从前一级电路的闲置标记逻辑单元来得到闲置标记信号idle_flag的,因为第一级电路中并没有包括此一逻辑单元。也就是说,第二级电路系直接接收闲置要求信号idle_request,以及从第一级电路接收闲置标记idle_flag;这些在经过底下的详细说明之后,即可对此有所了解。
图4显示图3的闲置标记逻辑单元80的示意图。此闲置标记逻辑单元80包含一多工器90、一与门(AND gate)92和一D型正反器94。多工器90的第一输入端接收来自正反器94输出端延着导线96的回授信号,而第二输入端则接收来自前一级电路的闲置标记idle_flag。多工器90的选择输入端系通过导线98接收一选择信号,用以从第一输入端和第二输入端两者当中选择其一。与门92的第一输入端接收闲置要求信号idle_request,其第二输入端则接收多工器90的输出。正反器94的输入端连接到与门92的输出端,且具有时钟电路(clock)输入端及重设输入端;正反器94的输出端系输出闲置标记信号idle_flag到下一级电路的闲置标记逻辑单元。
下一指令选择信号select_next_instruction连接至多工器90的选择输入端,用以指出何时有新指令可以被处理。当新指令被送到某一级电路时,下一指令选择信号select_next_instruction会变为高位准,藉此,有助于让”不运算”(NOP)信号与闲置标记信号idle_flag达到同步,使得两者可以同时传送至管线电路(pipeline)62的每一级电路。例如,假设某一指令于某一层级电路中需要三个时钟周期;当下一指令选择信号select_next_instruction于第三时钟周期时变为高准位,则下一指令仅可以在第四时钟周期时加以处理。
底下将描述图4的闲置标记逻辑单元80的操作。在一般情形下,处理器60不需进行闲置,输入至与门92的闲置要求信号idle_request为低电压,因此正反器94的闲置标记输出信号idle_flag也是低电压;此低电压标记回授到多工器90,使得此标记一直保持为低电压,因而让处理器60持续操作在一般模式下。
当处理器60被要求进入闲置时,电源管理逻辑单元会送出一高准位(逻辑1)的闲置要求信号idle_request。在解码(decode)级电路66中的闲置标记逻辑单元80,除了与门92接收此闲置要求信号idle_request,且多工器90中标示”1”的输入端也是接收闲置要求信号idle_request。至于其它的层级电路,其多工器90中标示”1”的输入端则是接收来自前一级电路的闲置标记信号idle_flag。当目前的指令执行完毕以后,下一指令选择信号select_next_instruction会从多工器90中标示”1”的输入端,选择高准位的闲置标记信号idle_flag,因此使得原本为低电压输出的与门92变为高准位;并进一步使得正反器94的输出维持在高准位,且传递至底下的其它层级电路。当闲置标记信号到达最后一级(电路亦即写回(write-back)级电路72)时,该闲置标记信号被用来作为闲置回应信号(idle_acknowledge)传回到电源管理逻辑单元;此时,电源管理逻辑单元知道处理器已经完成闲置的准备,因此将时钟电路(clock)予以停止。此时,闲置标记逻辑单元80将闲置标记信号一直保持在高准位,直到闲置要求信号idle_request变为低电压为止。
虽然图4的电路显示本发明用以将标记传递至下一层级电路的最佳实施例,然而,熟悉该技术者都能知道此逻辑电路可以由不同的元件或组合型态来取代。图4仅是本发明用以将闲置标记信号传递于管线电路(pipeline)的一个例子,其它具有相同功能的变化型态也应涵盖在本发明的内。
图5显示当处理器60被要求闲置时,位于处理器60内部的信号时序图。位于最上端的时钟信号(clock)显示出时钟信号具有一预设的频率。当闲置要求信号idle_request变为高准位后,解码(decode)级电路66的闲置标记信号idle_flag在下一个时钟周期时也变为高准位;再经过一时钟周期后,执行级电路(execute)68的闲置标记信号idle_flag也变为高准位;再经过一时钟周期后,存储器存取(memory access)级电路70的闲置标记信号idle_flag也变为高准位;再经过一时钟周期后,写回(write-back)级电路72的闲置回应信号(idle_acknowledge)也变为高准位。当闲置标记信号传递完整个管线电路(pipeline)且闲置回应信号(idle_acknowledge)也变为高准位后,于经过一段时间后(如图式中所示的左侧虚线),电源管理逻辑单元即会关掉时钟电路(clock),如图式中一段处于低电压的时钟信号(clock)。然后,再经过一段时间后(如图式中所示的右侧虚线),电源管理逻辑单元于侦测到其它事件(event)发生(例如使用者提供一输入动作),而需要唤醒处理器60时,这时候,电源管理逻辑单元即会启动时钟电路,并将闲置要求信号idle_request变为低电压。如图所示,于闲置要求信号idle_request变为低电压后的下一个时钟周期,每一层级电路均会将其闲置标记信号idle_flag都变为低电压。
虽然图5显示出每一层级电路落后前一层级电路有一个时钟周期,然而,对于”不运算”(NOP)信号的处理则没有延迟。每一层级电路的闲置标记信号必须等待二或多个时钟周期之后才能变为高准位,这完全要视下一指令选择信号select_next_instruction于什么时候会变为高准位,以使得”不运算”(NOP)信号被确定接受。藉此机制,标记信号idle_flag与”不运算”(NOP)信号可以同步并行的传递于整个管线电路(pipeline)。
图6的时序图显示,虽然提出了闲置的要求idle_request,但是电源管理逻辑单元却在处理器60完全进入闲置之前将闲置要求信号idle_request予以抑制(disable)。虽然此种情形发生的机率极低,但是,一旦发生了,就必须避免其连带产生无法接受的结果,例如发生处理器60或时钟被锁住的的情形。在图式所示的例子中,当闲置要求信号idle_request变为高准位后,于一个时钟周期过后(或者因受到下一指令选择信号select_next_instruction影响而于较多个时钟周期过后),第二级电路的标记信号idle_flag变为高准位;再经过一时钟周期后,执行级电路(execute)68的闲置标记信号idle_flag也变为高准位。然而,在存储器存取(memory access)级电路70接收到前一级电路的闲置标记信号idle_flag并传递其自己的标记信号idle_flag之前,闲置要求信号idle_request却被抑制(disabled)了。此种情况使得与门92的输入端与输出端均为低电压,使得标记信号idle_flag变为低电压;连带使得后面层级电路的闲置标记信号idle_flag都保持为低电压,因此都是持续着一般的操作,而没有进入闲置状态。
以上所述仅为本发明的较佳实施例而已,并非用以限定本发明的申请专利范围;凡其它未脱离本发明所揭示的精神下所完成的等效改变或修饰,均应包含在下述的申请专利范围内。

Claims (18)

1. 一种闲置处理器管线电路的装置,包含:
一内部总线;
一处理器,电性连接于该内部总线,该处理器包含:
一时钟电路,用以提供时钟信号;及
一管线电路,包含一读取级电路、一解码级电路、一执行级电路、一存储器存取级电路和一写回级电路;
一存储器装置,电性连接于该内部总线;
至少一输入/输出装置,电性连接于该内部总线;及
一电源管理逻辑单元,电性连接于该处理器,用以启动或停止该时钟信号;
其中上述的读取级电路包含一第一多工器,当该读取级电路收到来自该电源管理逻辑单元的一闲置要求信号时,该第一多工器即输出一不运算信号,当该读取级电路并无接收到该闲置要求信号时,该第一多工器即从该存储器装置输出一指令数值到该解码级电路;及
其中上述解码级电路包含一闲置标记逻辑单元,用以经由该管线电路传送一闲置标记信号。
2. 根据权利要求1所述的闲置处理器管线电路的装置,其特征在于,上述的闲置标记逻辑单元包含:
一第二多工器,具有一第一输出端及一第一输入端与一第二输入端;
一与门,具有一第三输入端及一第四输入端及一第二输出端,其中该第三输入端以连接到该第二多工器的第一输出端,该第四输入端用以接收该闲置要求信号;及
一正反器,具有一输入端以连接至该与门的第二输出端,且该正反器具一闲置标记信号输出端连接至该第二多工器的第一输入端;
其中,该第二多工器的第二输入端接收该闲置标记信号。
3. 根据权利要求1所述的闲置处理器管线电路的装置,其特征在于,
上述执行级电路、存储器存取级电路和写回级电路各自具有一闲置标记逻辑单元。
4. 根据权利要求3所述的闲置处理器管线电路的装置,其特征在于,上述的闲置标记逻辑单元包含:
一第二多工器,具有一第一输出端及一第一输入端与第二输入端;
一与门,具有一第三输入端及一第四输入端及一第二输出端,其中该第三输入端以连接到该第二多工器的第一输出端,该第四输入端用以接收该闲置要求信号;及
一正反器,具有一输入端以连接至该与门的第二输出端,且该正反器具一闲置标记信号输出端连接至该第二多工器的第一输入端;
其中,该第二多工器的第二输入端接收前一级电路的闲置标记信号。
5. 根据权利要求2所述的闲置处理器管线电路的装置,其特征在于,
上述写回级电路的闲置标记信号输出被当成一闲置回应信号,传送到该电源管理逻辑单元。
6. 根据权利要求5所述的闲置处理器管线电路的装置,其特征在于,
当该电源管理逻辑单元接收到该闲置回应信号时,该电源管理逻辑单元即抑止该时钟信号。
7. 一种处理器,包含:
一时钟电路,用以驱动时钟信号;
一处理器管线电路,具有复数个层级电路;及
多数个处理器闲置电路,设置于各个层级电路内,对一闲置要求信号做出反应;
其中,当接收到该闲置要求信号时,位于一第一层级电路的一第一多工器阻止一指令数值的进入且不作进一步处理;其中该第一多工器包含一第一输入端和第二输入端、一选择输入端和一第一输出端,其中该第一输入端用以接收一存储器装置的指令数值,该第二输入端用以接收一不运算信号,而该选择输入端用以接收该闲置要求信号;及
其余各层级电路当中,至少有两个层级电路包含一闲置标记逻辑单元,用来接收该闲置要求信号,且通过该处理器管线电路传送一闲置标记信号。
8. 根据权利要求7所述的处理器,其特征在于,
上述的闲置标记信号和不运算信号同步并行地传送于该管线电路中。
9. 根据权利要求7所述的处理器,其特征在于,
上述的闲置标记信号和不运算信号同步地传送于该管线电路中。
10. 根据权利要求7所述的处理器,其特征在于,上述的闲置标记逻辑单元包含:
一第二多工器,具有一第二输出端及一第三输入端及第四输入端;
一与门,具有一第五输入端及第六输入端及一第三输出端,其中该第五输入端连接至该第二多工器的第二输出端,该第六输入端用以接收该闲置要求信号;及
一正反器,具有一第七输入端以连接至该与门的第三输出端,且具有一第四输出端用来提供该闲置标记信号,其中该输出端连接至该第二多工器的第三输入端;
其中,该第二多工器的第四输入端用以接收前一级电路的闲置标记信号。
11. 一种闲置具有复数层级电路的处理器的方法,包括:
接收一闲置要求信号;
于所述处理器的一第一层级电路阻挡一指令数值,且通过该处理器各个层级电路来传播一不运算信号;及
同步并行地传送一闲置标记信号与该不运算信号于该处理器的各个层级电路中。
12. 根据权利要求11所述的闲置具有复数层级电路的处理器的方法,其特征在于,更包含:
于最后一层级电路接收该闲置标记信号;及
输出一闲置回应信号。
13. 根据权利要求12所述的闲置具有复数层级电路的处理器的方法,其特征在于,更包含:
接收一抑止信号,其中该抑止信号用以停止一时钟信号。
14. 根据权利要求13所述的闲置具有复数层级电路的处理器的方法,其特征在于,更包含:
重新启动该时钟信号,且当一唤醒事件发生时,使得该闲置要求信号不动作。
15. 一种闲置逻辑单元,位于处理器中至少一层级电路内,该闲置逻辑单元包含:
一多工器,具有一第一输出端与一第一输入端与一第二输入端;
一与门,具有一第三输入端及第四输入端及一第二输出端,其中该第三输入端连接到该多工器的第一输出端,该第四输入端用以接收一闲置要求信号;及
一正反器,具有一第五输入端以连接至该与门的第二输出端,且该正反器具有一闲置标记信号输出端连接至该多工器的第一输入端;
其中,该多工器的第二输入端接收前一级电路的闲置标记信号。
16. 根据权利要求15所述的闲置逻辑单元,其特征在于,
上述的多工器更包含一选择输入端,对各层级电路中的下一指令选择信号做出反应。
17. 根据权利要求16所述的闲置逻辑单元,其特征在于,
于本层级电路接受下一个指令时,上述的闲置逻辑单元将该闲置标记信号从前一层级电路传送至下一级电路。
18. 根据权利要求15所述的闲置逻辑单元,其特征在于,
当该闲置要求信号变为低电压时,上述的正反器提供一低电压信号于该闲置标记信号输出端。
CNB2005100959423A 2004-10-12 2005-08-23 闲置处理器管线的系统、装置及方法 Active CN100409147C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/963,159 US7266708B2 (en) 2004-10-12 2004-10-12 System for idling a processor pipeline wherein the fetch stage comprises a multiplexer for outputting NOP that forwards an idle signal through the pipeline
US10/963,159 2004-10-12

Publications (2)

Publication Number Publication Date
CN1760803A CN1760803A (zh) 2006-04-19
CN100409147C true CN100409147C (zh) 2008-08-06

Family

ID=36146770

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100959423A Active CN100409147C (zh) 2004-10-12 2005-08-23 闲置处理器管线的系统、装置及方法

Country Status (3)

Country Link
US (1) US7266708B2 (zh)
CN (1) CN100409147C (zh)
TW (1) TWI307042B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070074054A1 (en) * 2005-09-27 2007-03-29 Chieh Lim S Clock gated pipeline stages
US7401242B2 (en) * 2005-09-27 2008-07-15 International Business Machines Corporation Dynamic power management in a processor design
US7536568B2 (en) * 2005-12-01 2009-05-19 Covidien Ag Ultra low power wake-up circuit
JP4747026B2 (ja) * 2006-05-08 2011-08-10 Okiセミコンダクタ株式会社 マイクロプロセッサ
US8908709B1 (en) * 2009-01-08 2014-12-09 Juniper Networks, Inc. Methods and apparatus for power management associated with a switch fabric
US8578191B2 (en) 2010-06-10 2013-11-05 Juniper Networks, Inc. Dynamic fabric plane allocation for power savings
WO2014186948A1 (en) * 2013-05-21 2014-11-27 Advanced Micro Devices, Inc. Thermal-aware compiler for parallel instruction execution in processors
US10693725B1 (en) * 2016-11-28 2020-06-23 Barefoot Networks, Inc. Dynamically reconfiguring data plane of forwarding element to account for operating temperature
CN114765455A (zh) * 2021-01-14 2022-07-19 深圳比特微电子科技有限公司 处理器和计算系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002073336A2 (en) * 2001-03-08 2002-09-19 Advanced Micro Devices, Inc. Microprocessor employing a performance throttling mechanism for power management
CN1460928A (zh) * 2002-11-15 2003-12-10 威盛-赛瑞斯公司 状态寄存器更新逻辑电路最佳化的系统及其方法
US20040153678A1 (en) * 2003-02-05 2004-08-05 Infineon Technologies North America Corp. Microprocessor idle mode management system

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6247134B1 (en) * 1999-03-31 2001-06-12 Synopsys, Inc. Method and system for pipe stage gating within an operating pipelined circuit for power savings
US6636976B1 (en) * 2000-06-30 2003-10-21 Intel Corporation Mechanism to control di/dt for a microprocessor
US20030070013A1 (en) * 2000-10-27 2003-04-10 Daniel Hansson Method and apparatus for reducing power consumption in a digital processor

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002073336A2 (en) * 2001-03-08 2002-09-19 Advanced Micro Devices, Inc. Microprocessor employing a performance throttling mechanism for power management
CN1460928A (zh) * 2002-11-15 2003-12-10 威盛-赛瑞斯公司 状态寄存器更新逻辑电路最佳化的系统及其方法
US20040153678A1 (en) * 2003-02-05 2004-08-05 Infineon Technologies North America Corp. Microprocessor idle mode management system

Also Published As

Publication number Publication date
US20060080560A1 (en) 2006-04-13
TW200612341A (en) 2006-04-16
US7266708B2 (en) 2007-09-04
TWI307042B (en) 2009-03-01
CN1760803A (zh) 2006-04-19

Similar Documents

Publication Publication Date Title
CN100409147C (zh) 闲置处理器管线的系统、装置及方法
EP0229692B1 (en) Data processing apparatus
JP2762670B2 (ja) データ処理装置
KR920002754B1 (ko) 전력 소비 절약용슬립 기능을 갖는 마이크로컴퓨터 시스템
KR100490576B1 (ko) 반도체 집적 회로 장치, 반도체 장치 및 그것을 포함하는 전자기기
TW413753B (en) Method and apparatus for power management in a multifunction controller with an embedded microcontroller
CN1331065C (zh) 用于多线程处理机功率方式转变的方法和设备
CN100585538C (zh) 集成电路及其减少电源消耗的方法
US6081901A (en) System and method for dynamically controlling processing speed of a computer in response to user commands
TWI475368B (zh) 電源控制系統及其方法
JPH09138716A (ja) 電子計算機
US9477293B2 (en) Embedded controller for power-saving and method thereof
JP2000047872A (ja) 低消費電力動作機能を備えたマイクロプロセッサ
JP4689087B2 (ja) 情報処理装置及び省電力移行制御方法
US7480812B2 (en) Microprocessor
JP2001202155A (ja) 低消費電力処理装置
TW200809509A (en) Driving of a multifunction device
US3832694A (en) Processor unit for data retrieval and processing
US20110004879A1 (en) Method and apparatus for eliminating wait for boot-up
JP4659627B2 (ja) 電子機器
EP2581850B1 (en) Increased flexibility of security framework during low power modes management
CN100392601C (zh) 于电脑系统中装置间转移控制权及由待机切换至运作的方法
CN104077156A (zh) 可程序化中央处理单元的重新启动系统及其方法
JPH04245518A (ja) 情報処理装置
JP2500873B2 (ja) マイクロコンピュ―タシステム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant