CN1760803A - 闲置处理器管线的系统、装置及方法 - Google Patents
闲置处理器管线的系统、装置及方法 Download PDFInfo
- Publication number
- CN1760803A CN1760803A CNA2005100959423A CN200510095942A CN1760803A CN 1760803 A CN1760803 A CN 1760803A CN A2005100959423 A CNA2005100959423 A CN A2005100959423A CN 200510095942 A CN200510095942 A CN 200510095942A CN 1760803 A CN1760803 A CN 1760803A
- Authority
- CN
- China
- Prior art keywords
- idle
- circuit
- input end
- processor
- signal
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims description 15
- 238000012545 processing Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 6
- 238000013461 design Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000009434 installation Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 238000009835 boiling Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 230000005764 inhibitory process Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3237—Power saving characterised by the action undertaken by disabling clock generation or distribution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
- G06F9/30079—Pipeline control instructions, e.g. multicycle NOP
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
- G06F9/30083—Power or thermal control instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
Abstract
本发明所揭露的处理器,其包含一用以驱动时钟信号的时钟电路,以及一具有多层级电路的处理器管线电路。该处理器包含处理器闲置电路,其位于这些管线层级电路之间,并回应于闲置要求信号idle_request。第一层级电路于收到闲置要求信号之后即抑制进来的指令使其不受进一步的处理。其它层级电路当中,至少有二层级电路包含有闲置旗标逻辑单元(idle_flag logic),其透过该处理器管线电路用以传输一闲置旗标信号(idle_flag)。
Description
【技术领域】
本发明系有关于一种闲置处理器的系统和方法,特别是有关于一种简化处理器的闲置处理电路以达到处理器闲置的一致性。
【先前技术】
关于电子装置,特别是使用处理器的手持电池运作的装置,其在研发设计阶段,电源的消耗问题即是很重要的考量要素。由于处理器的时钟电路运作通常会消耗大量的电池电力,因此这一类的装置在长时间不工作时,通常会让时钟电路停止,以节省电源。然而,在停止时钟电路之前,电源管理逻辑单元(power management logic)通常会要求处理器进入一种不再处理任何动作的闲置状态;当处理器闲置时,电源管理逻辑单元才能安全地停止时钟电路。关闭时钟电路不仅能节省电池电力,且能让热能有效地从电子装置上驱散。因为处理器通常会执行一些非关键的指令,例如”自我回圈(loop to itself)”的指令,因此亟待设计一种具有处理器闲置电路的装置,用以避免处理器执行一些不需要的指令,以减少热能产生。在某些情况,削减这些不需要的指令执行足以减少热能的产生,因而毋需使用风扇,让整个装置的大小和成本得以减少。或者,如果使用适当的散热装置,则手持装置就不会过热或因太烫而无法触碰。再者,当热能得到有效地控制时,另一种好处就是可以使用较便宜的封装。
图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_aklnwolend)也变为高准位。当闲置旗标信号传递完整个管线电路(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 (19)
1.一种闲置处理器管线电路的装置,包含:
一内部汇流排;
一处理器,电性连结于该内部汇流排,该处理器包含:
一时钟电路,用以提供时钟信号;及
一管线电路,包含一读取级电路、一解码级电路、一执行级电路、一存储器存取级电路和一写回级电路;
一存储器装置,电性连结于该内部汇流排;
至少一输入/输出装置,电性连结于该内部汇流排;及
一电源管理逻辑单元,电性连结于该处理器,用以启动或停止该时钟信号;
其中上述的读取级电路包含一多工器,当该读取级电路收到来自该电源管理逻辑单元的一闲置要求信号时,该多工器即输出一不运作信号,当该读取级电路并无接收到该闲置要求信号时,该多工器即从该存储器装置输出一指令数值到该解码级电路;及
其中上述解码级电路包含一闲置旗标逻辑单元,用以经由该管线电路传送一闲置旗标信号。
2.根据权利要求1所述的闲置处理器管线电路的装置,其特征在于,上述的闲置旗标逻辑单元包含:
一多工器,具有一输出端及一第一与第二输入端;
一及闸,具有一第一及第二输入端及一输出端,其中该第一输入端以连接到该多工器的输出端,该第二输入端系用以接收该闲置要求信号;及
一正反器,具有一输入端以连接至该及闸的输出端,且该正反器具一闲置旗标信号输出端连接至该多工器的第一输入端;
其中,该多工器的第二输入端系接收该闲置旗标信号。
3.根据权利要求1所述的闲置处理器管线电路的装置,其特征在于,
上述执行级电路、存储器存取级电路和写回级电路各自具有一闲置旗标逻辑单元。
4.根据权利要求3所述的闲置处理器管线电路的装置,其特征在于,上述的闲置旗标逻辑单元包含:
一多工器,具有一输出端及一第一与第二输入端;
一及闸,具有一第一及第二输入端及一输出端,其中该第一输入端以连接到该多工器的输出端,该第二输入端系用以接收该闲置要求信号;及
一正反器,具有一输入端以连接至该及闸的输出端,且该正反器具一闲置旗标信号输出端连接至该多工器的第一输入端;
其中,该多工器的第二输入端系接收前一级电路的闲置旗标信号。
5.根据权利要求2所述的闲置处理器管线电路的装置,其特征在于,
上述写回级电路的闲置旗标信号输出被当成一闲置回应信号,传送到该电源管理逻辑单元。
6.根据权利要求5所述的闲置处理器管线电路的装置,其特征在于,
当该电源管理逻辑单元接收到该闲置回应信号时,该电源管理逻辑单元即抑止该时钟信号。
7.一种处理器,包含:
一时钟电路,用以驱动时钟信号;
一处理器管线电路,具有复数个层级电路;及
多数个处理器闲置电路,设置于各个层级电路内,用以反应一闲置要求信号;
其中,当接收到该闲置要求信号时,位于一第一层级电路的一阻止装置阻止一指令数值的进入且不作进一步处理;及
其余各层级电路当中,至少有两个层级电路包含一闲置旗标逻辑单元,用来接收该闲置要求信号,且通过该处理器管线电路传送一闲置旗标信号。
8.根据权利要求7所述的处理器,其特征在于,
上述的阻止装置系为一多工器,其包含一第一和第二输入端、一选择输入端和一输出端,其中该第一输入端系用以接收一存储器装置的指令数值,该第二输入端系用以接收一不运作信号,而该选择输入端系用以接收该闲置要求信号。
9.根据权利要求8所述的处理器,其特征在于,
上述的闲置旗标信号和不运作信号系平行地传送于该管线电路中。
10.根据权利要求8所述的处理器,其特征在于,
上述的闲置旗标信号和不运作信号系同步地传送于该管线电路中。
11.根据权利要求7所述的处理器,其特征在于,上述的闲置旗标逻辑单元包含:
一多工器,具有一输出端及一第一及第二输入端;
一及闸,具有一第一及第二输入端及一输出端,其中该第一输入端系连接至该多工器的输出端,该第二输入端系用以接收该闲置要求信号;及
一正反器,具有一输入端以连接至该及闸的输出端,且具有一输出端用来提供该闲置旗标信号,其中该输出端连接至该多工器的第一输入端;
其中,该多工器的第二输入端用以接收前一级电路的闲置旗标信号。
12.一种闲置具有复数层级电路的处理器的方法,包括:
接收一闲置要求信号;
阻挡一指令数值,且通过该处理器各个层级电路来传播一不运算信号;及
平行地传播一闲置旗标信号与该不运算信号于该处理器的各个层级电路中。
13.根据权利要求12所述的闲置具有复数层级电路的处理器的方法,其特征在于,更包含:
于最后一层级电路接收该闲置旗标信号;及
输出一闲置回应信号。
14.根据权利要求13所述的闲置具有复数层级电路的处理器的方法,其特征在于,更包含:
接收一抑止信号,其中该抑止信号用以停止一时钟信号。
15.根据权利要求14所述的闲置具有复数层级电路的处理器的方法,其特征在于,更包含:
重新启动该时钟信号,且当一唤醒事件发生时,使得该闲置要求信号不动作。
16.一种闲置逻辑单元,系位于处理器中至少一层级电路内,该闲置逻辑单元包含:
一多工器,具有一输出端与一第一与第二输入端;
一及闸,具有一第一及第二输入端及一输出端,其中该第一输入端系连接到该多工器的输出端,该第二输入端系用以接收一闲置要求信号;及
一正反器,具有一输入端以连接至该及闸的输出端,且该正反器具有一闲置旗标信号输出端连接至该多工器的第一输入端;
其中,该多工器的第二输入端系接收前一级电路的闲置旗标信号。
17.根据权利要求16所述的闲置逻辑单元,其特征在于,
上述的多工器更包含一选择输入端,其反应各层级电路中的下一指令选择信号。
18.根据权利要求17所述的闲置逻辑单元,其特征在于,
于本层级电路接受下一个指令时,上述的闲置逻辑单元将该闲置旗标信号从前一层级电路传送至下一级电路。
19.根据权利要求16所述的闲置逻辑单元,其特征在于,
当该闲置要求信号变为低准位时,上述的正反器提供一低准位信号于该闲置旗标信号输出端。
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 true CN1760803A (zh) | 2006-04-19 |
CN100409147C 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) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI790088B (zh) * | 2021-01-14 | 2023-01-11 | 大陸商深圳比特微電子科技有限公司 | 處理器和計算系統 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7401242B2 (en) * | 2005-09-27 | 2008-07-15 | International Business Machines Corporation | Dynamic power management in a processor design |
US20070074054A1 (en) * | 2005-09-27 | 2007-03-29 | Chieh Lim S | Clock gated pipeline stages |
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 |
US10877670B1 (en) | 2016-11-28 | 2020-12-29 | Barefoot Networks, Inc. | Dynamically reconfiguring data plane of forwarding element to adjust data plane throughput based on detected conditions |
Family Cites Families (6)
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 |
US6826704B1 (en) * | 2001-03-08 | 2004-11-30 | Advanced Micro Devices, Inc. | Microprocessor employing a performance throttling mechanism for power management |
US7130988B2 (en) * | 2002-11-15 | 2006-10-31 | Via-Cyrix, Inc. | Status register update logic optimization |
US7222251B2 (en) * | 2003-02-05 | 2007-05-22 | Infineon Technologies Ag | Microprocessor idle mode management system |
-
2004
- 2004-10-12 US US10/963,159 patent/US7266708B2/en active Active
-
2005
- 2005-08-19 TW TW094128330A patent/TWI307042B/zh active
- 2005-08-23 CN CNB2005100959423A patent/CN100409147C/zh active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI790088B (zh) * | 2021-01-14 | 2023-01-11 | 大陸商深圳比特微電子科技有限公司 | 處理器和計算系統 |
Also Published As
Publication number | Publication date |
---|---|
TW200612341A (en) | 2006-04-16 |
US20060080560A1 (en) | 2006-04-13 |
TWI307042B (en) | 2009-03-01 |
CN100409147C (zh) | 2008-08-06 |
US7266708B2 (en) | 2007-09-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100409147C (zh) | 闲置处理器管线的系统、装置及方法 | |
EP0229692B1 (en) | Data processing apparatus | |
US6081901A (en) | System and method for dynamically controlling processing speed of a computer in response to user commands | |
JP2762670B2 (ja) | データ処理装置 | |
CN1269029C (zh) | 流水线处理器的异常管理 | |
CN1308746A (zh) | 用于多线程处理机功率方式转变的方法和设备 | |
JPH09138716A (ja) | 電子計算機 | |
US20080244285A1 (en) | Method to control core duty cycles using low power modes | |
EP1099151A1 (en) | A system and a method to reduce power consumption | |
CN1325511A (zh) | 处理设备 | |
CN108647047A (zh) | 一种基于移动终端的唤醒方法及系统 | |
JP4689087B2 (ja) | 情報処理装置及び省電力移行制御方法 | |
US20090276613A1 (en) | Method of sharing basic input output system, and blade server and computer using the same | |
TW200809509A (en) | Driving of a multifunction device | |
US20110004879A1 (en) | Method and apparatus for eliminating wait for boot-up | |
US20040199747A1 (en) | Low-power decode circuitry for a processor | |
US20100077191A1 (en) | Information processor, external memory and control method | |
JP3049804B2 (ja) | 情報処理装置 | |
US20020069351A1 (en) | Memory data access structure and method suitable for use in a processor | |
US7290153B2 (en) | System, method, and apparatus for reducing power consumption in a microprocessor | |
CN100392601C (zh) | 于电脑系统中装置间转移控制权及由待机切换至运作的方法 | |
WO2012168339A1 (en) | Management of the interaction between security and operating system power management unit | |
EP2581850B1 (en) | Increased flexibility of security framework during low power modes management | |
US20040212594A1 (en) | Method of rapid processing in a keypad connected to an electronic device | |
CN1221881C (zh) | 电子设备 |
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 |