CN107533352A - 控制在标准状态和静态状态之间的转换 - Google Patents
控制在标准状态和静态状态之间的转换 Download PDFInfo
- Publication number
- CN107533352A CN107533352A CN201680024196.5A CN201680024196A CN107533352A CN 107533352 A CN107533352 A CN 107533352A CN 201680024196 A CN201680024196 A CN 201680024196A CN 107533352 A CN107533352 A CN 107533352A
- Authority
- CN
- China
- Prior art keywords
- equipment
- state
- conversion
- static state
- static
- 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
- 230000003068 static effect Effects 0.000 title claims abstract description 229
- 238000006243 chemical reaction Methods 0.000 title claims abstract description 102
- 238000000034 method Methods 0.000 claims abstract description 55
- 238000012163 sequencing technique Methods 0.000 claims abstract description 50
- 238000012545 processing Methods 0.000 claims abstract description 43
- 230000008569 process Effects 0.000 claims abstract description 40
- 230000004044 response Effects 0.000 claims description 29
- 230000007704 transition Effects 0.000 claims description 17
- 230000008859 change Effects 0.000 claims description 8
- 230000005611 electricity Effects 0.000 claims description 8
- 230000005540 biological transmission Effects 0.000 claims 1
- 230000000694 effects Effects 0.000 description 16
- 230000009471 action Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 238000012790 confirmation Methods 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000005284 excitation Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000037007 arousal Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 230000001351 cycling effect Effects 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000002773 nucleotide Substances 0.000 description 1
- 125000003729 nucleotide group Chemical group 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000002618 waking effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/362—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
-
- 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/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3215—Monitoring of peripheral devices
- G06F1/3225—Monitoring of peripheral devices of memory devices
-
- 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/325—Power saving in peripheral device
-
- 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/3287—Power saving characterised by the action undertaken by switching off individual functional units in the computer system
-
- 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/3296—Power saving characterised by the action undertaken by lowering the supply or operating voltage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Power Sources (AREA)
Abstract
一种数据处理装置(2)具有多个设备(4),多个设备(4)具有标准状态和静态状态。转换定序电路(70)控制用于使多个设备(4)中的每个设备依次在标准状态和静态状态之间进行转换的顺序状态转换处理。其中,针对每个设备,转换定序电路(70)基于从设备(4)发送的至少一个偏好指示来控制转换,该至少一个偏好指示提供对于在标准状态还是静态状态下工作的偏好的指示。
Description
本技术涉及数据处理的领域。更具体地说,涉及控制设备是在标准状态还是静态状态下工作。
数据处理装置可以支持一些设备被切换到省电状态以降低功耗。
至少一些示例提供了一种数据处理装置,该数据处理装置包括:具有标准状态和静态状态的多个设备;以及被配置为控制顺序状态转换处理的转换定序电路,该顺序状态转换处理用于使多个设备中的每个设备依次在标准状态和静态状态之间进行转换;其中,针对每个设备,该转换定序电路被配置为根据从设备发送的至少一个偏好指示来控制在标准状态和静态状态之间的转换,至少一个偏好指示提供对于在标准状态还是静态状态下工作的偏好的指示。
至少一些示例提供了一种装置,该装置包括:被配置为从多个设备中的每个设备接收至少一个偏好指示的接口,该至少一个偏好指示提供对于在标准状态还是静态状态下工作的偏好的指示;以及被配置为控制顺序状态转换处理的控制电路,该顺序状态转换处理用于使多个设备中的每个设备依次在标准状态和静态状态之间进行转换;其中,针对每个设备,转换定序电路被配置为根据从设备接收的至少一个偏好指示来控制在标准状态和静态状态之间的转换。
至少一些示例提供了一种数据处理装置,该数据处理装置包括:在标准状态或静态状态下工作的多个设备装置;以及用于控制顺序状态转换处理的装置,该顺序状态转换处理用于使多个设备装置中的每个设备装置依次在标准状态和静态状态之间进行转换;其中,针对每个设备装置,用于控制的装置被配置为根据从设备装置发送的至少一个偏好指示来控制在标准状态和静态状态之间的转换,该至少一个偏好指示提供对于在标准状态还是静态状态下工作的偏好的指示。
至少一些示例提供了一种装置,该装置包括:用于从多个设备中的每个设备接收至少一个偏好指示的装置,该至少一个偏好指示提供对于在标准状态还是静态状态下工作的偏好的指示;以及用于控制顺序状态转换处理的装置,该顺序状态转换处理用于使多个设备中的每个设备依次在标准状态和静态状态之间进行转换;其中,针对每个设备,用于控制的装置被配置为根据从设备接收的至少一个偏好指示来控制在标准状态和静态状态之间的转换。
至少一些示例提供了一种方法,该方法包括:从多个设备中的每个设备接收至少一个偏好指示,至少一个偏好指示提供对于在标准状态还是静态状态下工作的偏好的指示;以及控制顺序状态转换处理,该顺序状态转换处理用于使多个设备中的每个设备依次在标准状态和静态状态之间进行转换;其中,针对每个设备,在标准状态和静态状态之间的转换是根据从设备接收的至少一个偏好指示进行控制的。
从以下结合附图进行阅读的对示例的描述中将看出本技术的其它方面、特征和优点,其中:
图1示意性地示出了数据处理装置的示例,该数据处理装置包括多个设备和用于控制这些设备在标准状态和静态状态之间的转换的至少一个控制器;
图2示出了在设备和用于控制在标准状态和静态状态之间转换的控制器之间交换的信号的示例;
图3示出了接受进入静态状态的请求的设备的示例;
图4示出了拒绝进入静态状态的请求的设备的示例;
图5和图6示出了重置设备的示例;
图7是总结设备和控制器之间的静态控制通道的状态的表格;
图8是示出了图7中所示的状态之间的转变的示例状态图;
图9和图10示出了基于由设备提供的活动信号来管理静态进入或退出的示例;
图11是示出了使一组设备在标准状态和静态状态之间转换的公共状态转换处理的示例的状态图;
图12是示出了控制公共状态转换处理的示例的流程图;
图13和14示出了用于控制使每个设备在标准状态和静态状态之间转换的顺序状态转换处理的定序器的示例;
图15是示出了控制顺序静态状态进入的示例的流程图;
图16是示出了顺序静态状态进入的示例的信号图;
图17是示出了当其中一个设备拒绝静态状态进入请求时中止顺序静态状态进入的示例的信号图;
图18是示出了顺序静态状态退出处理的示例的流程图;
图19是示出了顺序静态状态退出的示例的信号图;以及
图20示意性地示出了转换定序电路的示例。
现在将描述本技术的一些示例。
数据处理装置可以具有各自可以具有标准状态和静态状态的多个设备。静态状态可以是设备准备好被置于省电状态的状态,比如,其中到设备的电源或时钟源被移除的状态。在一些系统中,每个设备可以向控制器发出至少一个偏好指示,以提供对在标准状态或静态状态下工作的偏好的一些指示。通过考虑每个设备的偏好指示,与将设备作为一个整体来考虑其是否空闲的途径(这些方法将倾向于导致更保守地采用静态状态)相比,这可以允许在某组组件空闲时更频繁地使用省电状态,即使在相对较短的时间段内。
当使设备在标准状态和静态状态之间切换时,一些设备可能需要在进入静态状态之前执行一些动作,例如,完成未完成的任务或执行一些准备动作以使设备准备好进入静态状态。类似地,在退出静态状态时可能要执行动作。这些动作可能依赖于另一设备。例如,在静态状态进入时,设备可能需要将脏数据写回到另一设备,或者向另一设备发送信号或者通过另一设备发送信号以指示第一设备切换到静态状态。在静态状态退出时,设备可能需要向另一设备发信号以通知它又可操作了。如果其它设备已经切换到静态状态,或尚未退出静态状态,则可能会阻止第一设备完成所需的操作,这可能会导致死锁或信息丢失。
为了降低这种风险,该装置可以设置有转换定序电路,该转换定序电路用于控制使多个设备中的每个设备依次在标准状态和静态状态之间转换的顺序状态转换处理。在顺序状态转换处理期间,每个单独的设备到静态状态的转换或从静态状态的转换可以取决于该设备的偏好指示。通过顺序地转换每个设备的状态,这可以允许一个设备在另一设备开始转换之前成功地完成状态的转换,以使得设备之间的依赖不太可能导致死锁或信息丢失。
设备可以与预定的序列次序相关联,并且转换定序电路可以根据预定的序列次序来控制顺序状态转换过程。例如,序列次序可以反映设备之间的依赖关系。每个设备可以根据指定的序列次序依次在状态之间转换。
转换定序电路可以控制顺序状态转换过程,以使得响应于按预定序列次序在前的设备的转换完成而发起按序列次序在后的设备的转换。例如,对于每个设备,转换定序电路可以发送对设备在标准状态和静态状态之间进行转换的请求,然后设备可以以指示该请求是被接受还是拒绝的响应进行响应。转换定序电路可以响应于接收到来自在前的设备的指示该请求已经被接受的响应而向序列中在后的设备发送该请求。
如果来自设备的响应指示切换状态的请求被拒绝,则可以停止顺序状态转换处理。如果序列中的至少一个在前的设备已经转换状态,则转换定序电路可以逆转该转换,以使得至少一个在前的设备返回到先前的状态。
在一些示例中,预定的序列次序可以被硬连接到转换定序电路中,以使得转换定序电路总是使用特定顺序来控制状态转换。例如,在设备的实现或制造时,系统设计人员可以确定使设备在状态之间转换的优选顺序并且硬连线(hardwire)控制寄存器或其它只读存储元件以包括定义序列次序的数据。替代地,定序电路可以具有对应于相应设备的多个接口端口,并且可以根据相应的接口端口的某些固定的优先级次序来控制顺序状态转换。通过在设备的制造或实现期间选择哪个设备耦合到哪个接口端口,系统设计者可以固定用于状态转换的预定序列次序。
在其它示例中,序列次序可以是可编程的,例如,在控制寄存器或某些其它存储元件中定义。例如,每个设备可以具有可编程的优先级值,并且序列中较高优先级的设备可以在较低优先级的设备之前被转换。
在一些示例中,根据转变是从标准状态到静态状态还是从静态状态到标准状态,可能存在不同的序列次序。例如,如果设备包括发送信号的第一设备和响应于发送到第一设备的信号的第二设备,则当从标准状态转换到静态状态时,在第二设备之前状态将第一设备切换到静态状态以使得第二设备仍然能够对信号响应进行直到第一设备进入静态状态后为止,可能是最安全的。另一方面,当将设备从静态状态唤醒到标准状态时,第二设备可以在第一设备之前转换,以使得在第一设备回到标准状态时,第二设备已经能够对从第一设备发送的信号进行响应。在一些示例中,与用于从标准状态转换到静态状态的第一序列次序相比,在从静态状态转换到标准状态时使用第二序列次序具有按相反的次序的装置。
在一些示例中,转换定序电路可以响应于从控制器接收的组请求而发起顺序状态转换处理,该组请求请求使多个设备中的每个设备在标准状态和静态状态之间进行转换。因此,控制器可以负责确定是将设备切换到静态状态还是切换出静态状态,转换定序电路控制设备在状态之间转换的次序。使控制器和转换定序电路分离可以简化控制器的设计,并使其更有效地扩展到越来越多的设备,因为控制器不需要知道设备的排序,或者甚至不需要知道存在多个设备。从控制器的观点来看,通过向转换定序电路发出单一组请求,可以将这些设备作为单一设备来有效地进行管理。转换定序电路然后可以针对每个设备依次发起状态转换,并且当所有设备已经完成转换时,转换定序电路可以向控制器提供单个响应以确认转换是成功的。如果任何设备的状态转换不成功,则转换定序电路可以向控制器提供不同的响应,以指示例如该请求已经被拒绝。
在其它示例中,可以不提供控制器,替代地,转换定序电路可以自己发起状态转换。在这种情况下,控制器和转换定序电路的功能可以有效地组合在一个设备中,该设备接收来自每个设备偏好指示、确定何时在状态之间切换设备、并且控制设备在状态之间转换的次序。
静态状态可以采取各种形式。在一个示例中,静态状态可以是设备准备好被置于省电状态(不管该设备本身是否实际上处于节能状态)的状态。例如,静态状态可以是设备已经完成任何未完成的活动或在其安全进入省电状态前所需的动作的状态。
在省电状态下,可以减少设备的功耗,例如,通过将设备与电源或时钟源隔离。这可以例如通过电源门控或时钟门控技术来实现。在某些情形下,一组设备可以共享共同的电源或时钟源。该装置可以包括功率控制电路,它在组中的设备都处于静态状态时将该组设备切换到省电状态。
并非装置的所有设备都需要由转换定序电路来顺序地控制其状态转换。在一些情形下,装置内可能存在多个域,并且每个域可以具有其自己的转换定序电路,该转换定序电路用于控制该域内的设备在正常状态和静态状态之间的顺序转换,其它域中的设备被独立地控制。例如,同一域内的设备可以包括共享共同的电源或时钟源的那些设备。
至少一个偏好指示可以采取各种形式。在一些示例中,偏好指示可以仅仅是来自设备的关于它可以具有或可以不具有要执行的操作的提示。例如,来自设备的偏好指示可以包括指示该设备还是与该发出偏好指示的设备相关联的另一设备具有要执行的活动(例如,要执行的指令、要处理的传入请求等)的活动信号。如果有活动要执行,这可以指示在标准状态下工作的偏好,如果没有任何活动要执行,这可以指示在静态状态下工作的偏好。在一些系统中,如果任何设备发出指示存在要执行的活动的活动信号,则可以阻止控制器或转换定序电路触发静态状态进入。在其它系统中,尽管有关于要执行的活动的指示,但是控制器或转换定序电路有时可以能够无视(override)特定设备的愿望而坚持静态状态进入。然而,通常控制器或转换定序电路可以遵循由活动信号提供的提示。
在其它示例中,偏好指示可以是对于进入静态状态的请求的明确的接受或拒绝。因此,如果转换定序电路请求设备转换到静态状态,则设备可以发出指示该请求被拒绝的至少一个拒绝信号。在一些情形下,拒绝信号可以是接受信号,当不被断言(assert)时,该接受信号指示拒绝该请求。其它系统可以提供两个单独的接受和拒绝信号来分别用信号指示接受和拒绝请求。不管这些信号的具体形式如何,该设备可以提供某种关于进入静态状态的请求已经被接受还是被拒绝指示,并且转换定序电路可以使用该指示来确定设备在标准状态或静态状态下工作的偏好。
总之,一般来说,偏好指示可以是由设备设置的任何信号或其它信息段,以提供关于该设备偏好在标准状态下工作还是在静态状态下工作的至少部分提示。在一些情形下,偏好指示可以是在设备与控制器和/或转换定序电路之间传输的硬件信号。对于其它示例而言,设备可以在控制寄存器中设置表示偏好指示的值,控制器或转换定序电路可以读取该值以确定设备的偏好。
图1示意性地示出了包括多个设备4(在该示例中示出了七个设备D0至D6)的数据处理装置2的示例。这些设备可以例如包括处理器、中央处理单元(CPU)、图形处理单元(GPU)、协处理器、或用于响应于指令而执行处理活动的任何其它单元、外设控制器、输入/输出接口、直接存储器访问(DMA)控制器、或系统内的其它控制单元、诸如高速缓存或存储器之类的存储设备、用于在两个或更多个其它设备之间通信的设备(例如,互连或桥接单元)、或数据处理装置的任何其它组件。在一些情形下,设备4中的一些设备可以对应于装置内的公共单元的不同部分。
如图1所示,装置2可以包括多个域6,每个域包括一个或多个设备4。同一域6内的设备共享共同的电源8和共同的时钟源10。虽然图1将每个域的电源8和时钟源10示出为单独的块,但是应当理解,在实践中,不同域的电源或时钟源可以从共同的电源或共同的时钟信号的源导出,但是具有允许针对每个域独立地打开或关闭电源或时钟源的电源门控或时钟门控。当设备的电源和/或时钟源被关闭或门控时,设备处于省电状态。
每个域6还包括控制器12,控制器12用于控制相应域中的设备4是处于标准状态还是处于静态状态。在标准状态下,设备未准备好进入省电状态。在静态状态下,设备处于为省电状态做好准备的状态,从而可以安全地移除时钟或电源。每个控制器12包括用于控制相应设备的状态转换的控制电路13和用于与设备通信的接口14。在一些情形下,控制电路13还可以用作功率控制器,该功率控制器用于控制该域的共享电源8或时钟源10是激活的还是被断电。对于每个域,控制器12管理用于使该域中的设备4在标准状态和静态状态之间进行转换的公共状态转换处理。这将在下面更详细地讨论。虽然图1示出了具有单独的控制器12的每个域6,但在其它示例中,单一控制单元可以控制不止一个域。
每个设备具有用于与相应的控制器12进行通信相应的通信通道15(其可以被称为静态控制通道或“Q通道”)。每个设备4可以在其Q通道15上发送至少一个偏好指示,以通过信号表示在标准状态或静态状态下工作的偏好。控制器12可以通过Q通道15发送请求设备进入或退出静态状态的信号,并且设备4可以以指示该请求已经被接受还是被拒绝的响应信号进行响应。因此,控制器12使用每个Q通道上的信号来控制相应的设备是处于标准状态还是处于静态状态。一旦同一域中的所有设备处于静态状态,则控制器12然后可以控制共享电源8或时钟源10被切断或门控,以从该域6内的设备4移除电力供应。
现在将更详细地描述在每个设备的Q通道15上交换的信号。诸如图1中所示的域2之类的一些域可以仅包括单一设备D5,并且对于这样的域,控制器12可以独立于任何其它设备的转换来控制设备在静态状态和标准状态之间的转换。
图2示出了在设备4和控制器12之间的Q通道15上传输的信号。被称为Q激活(QACTIVE)的活动信号20可以在任意状态下由设备4驱动至高电平(HIGH),以指示该设备具有要执行的操作。当QACTIVE被设备4驱动至低电平(LOW)时,这是提示而不是保证设备可能接受静态请求。来自设备的QACTIVE信号可以由多个源信号组成。为提供唤醒功能,这些源信号可以包括设备输入信号。最终的QACTIVE信号直接由寄存器或多个寄存器(这些寄存器的输出被使用逻辑或(OR)进行组合)驱动。这些设备中的一些设备可以具有某一电路,该电路在其余设备处于省电状态时仍保持供电或计时,以在设备需要再次变为可操作时(例如,当从另一设备接收到对活动的请求时)断言QACTIVE信号。对于其它设备,如果在没有根据接口管理的资源的情况下设备4自身无法断言QACTIVE HIGH(例如,当设备4处于省电状态时,它自身可能无法断言QACTIVE),则可以提供一种系统相关的方法来促进在设备外部进行唤醒。例如,这可以是来自在控制器12处与设备QACTIVE组合的另一设备的QACTIVE信号20。
提供了握手机制来管理设备静态并保证安全的状态转换。握手信号包括:
·由控制器12驱动的静态请求信号22,QREQn(Q请求n)。
·确认信号对,包括接受信号24(QACCEPTn(Q接受n))和拒绝信号26(QDENY(Q拒绝)),其由设备4驱动回控制器12以指示接受或拒绝请求。确认信号被组织为使得每次握手转换只有其中之一发生改变。这允许接口15跨异步边界安全地实现。QACCEPTn 24用于接受请求。QDENY 26用于拒绝请求。
来自设备4的QACCEPTn 24和QDENY 26信号和来自控制器12的QREQn信号22由寄存器驱动。拒绝机制意味着设备可以保持可操作的状态,同时具有使得它可以及时地完成静态请求的握手的机制。握手信号的极性被组织以提供静态状态,其中接口15上的所有信号都为低电平。这有助于简单的默认隔离规则。
握手信号状态与QACTIVE 20的状态无关。因此,基于QACTIVE 20的转换不受QREQn22或QACCEPTn和QDENY输出对24、26上的值的限制。控制器12可以根据握手接口状态来保证时钟源或电力可用性。信号20、22、24、26中的每个是异步的。
图3示出了被接受的静态请求的握手序列。它包括根据接口语义管理的可选控制器提供的时钟的活动。图3省略了QACTIVE 20,因为尽管QACTIVE 20可以作为控制器改变握手状态的激励,但它与握手无关。所有的握手状态改变都可以由控制器12单独发起。图3所示的转换是:
·在T1,QREQn 22和QACCEPTn 24都为高电平。该状态被称为Q_RUN(Q_运行),并且设备4是可操作的。在Q_RUN中QDENY 26为低电平。
·在T2时,控制器12将QREQn 22驱动为低电平,请求进入静态状态。该状态称为Q_REQUEST(Q_请求)。设备4仍是可操作的。
·在T3,设备4通过将QACCEPTn 24驱动至低电平来对静态请求进行响应。QDENY26仍为低电平。该状态称为Q_STOPPED(Q_停止)。设备是不可操作的。这是控制器12不保证使用Q通道接口管理的任何时钟源10或电源8的可用性的唯一状态。因此,如图3所示,在T3和T4之间,到设备4的时钟信号CLK可以被停止。
·在T4,控制器驱动QREQn 22至高电平以请求退出静态状态。确认信号24、26都保持为低电平。该状态称为Q_EXIT(Q_退出)。任何由接口管理的时钟或电源在实施方式相关的延迟之后得以保证。
·在T5,设备通过QACCEPTn 24HIGH对控制器进行响应,QDENY26保持为低电平。接口已经返回到如T1时的状态Q_RUN。
图4示出了被拒绝的静态请求的握手序列。它包括根据接口语义进行管理的可选控制器提供的时钟的活动。
·从T1到T2的序列与图3中所示的相同。
·在T3,设备将QDENY 26驱动至高电平,而QACCEPTn 24保持高电平。该状态称为Q_DENIED(Q_拒绝)。设备4仍是可操作的,并且控制器保证由接口管理的任何时钟或电源。因此,在T3之后,时钟CLK继续被提供。
·在T4,控制器12将QREQn 22驱动至高电平。该状态被称为Q_CONTINUE,并且是响应于T3时的静态请求拒绝。设备保持是可操作的。
·在T5,设备将QDENY 26驱动至低电平。接口已经返回到如T1时的状态Q_RUN。
因此,通过使用拒绝信号26,设备4可以拒绝进入静态状态的请求并可以保持在标准状态。
图5和图6示出了设备复位的过程的示例,其可以用于将设备复位到已知状态。复位可以由可由控制器12发送的复位信号28触发。在复位断言时,设备可以将QACCEPTn 24和QDENY 26都驱动至低电平。QACTIVE 20可以复位至低电平或高电平。如果设备需要在退出复位时执行启动操作,则可以将QACTIVE 20复位至高电平,否则QACTIVE 20可以被复位至低电平。如果满足任何时钟或电源保证,则控制器可以通过以下任一方式来从复位释放设备:QREQn LOW,接口处于Q_STOPPED状态,或QREQn HIGH,接口处于Q_EXIT状态。当接口处于Q_STOPPED状态时,控制器可以仅断言设备复位。这与在功率边界处将所有信号隔离在低电平的建议相一致。
图5示出了在QREQn LOW的情况下进入Q_STOPPED状态的复位退出序列。在复位解除断言(deassertion)后的某个时刻,接口可能响应于QACTIVE断言而进行到Q_RUN。然后,在重新进入静态Q_STOPPED状态之前,它将保持活动一段时间,然后重置被断言。
图6示出了在QREQn HIGH的情况下进入Q_EXIT状态的复位退出序列。一旦复位被释放,接口对QREQn HIGH信号进行响应并进行到Q_RUN。然后它在重新进入静态Q_STOPPED状态之前保持为活动,并且在重新进入静态Q_STOPPED状态之后重置被断言。
图7中的表格总结了接口状态和设备可用性。如果设备没有实现拒绝机制,则QDENY被连结为低电平或缺失,并且前四个状态表示完整的集合。图8是示出关于信号状态和接口状态的可能的握手序列的状态图。
握手信令规则是:
·当QACCEPTn为高电平且QDENY为低电平时,QREQn只能从高电平转换到低电平。
·在以下情形之一时,QREQn只能从低电平转换到高电平:
○QACCEPTn和QDENY都是LOW。
○QACCEPTn和QDENY都是HIGH。
·当QREQn为低电平且QDENY为低电平时,QACCEPTn只能从高电平转换到低电平。
·当QREQn为高电平且QDENY为低电平时,QACCEPTn只能从低电平转换到高电平。
·当QREQn为高电平且QACCEPTn为高电平时,QDENY只能从高电平转换到低电平。
·当QREQn为低电平且QACCEPTn为高电平时,QDENY只能从低电平转换到高电平。
控制器12可以关于其对QREQn的管理作出任何策略决定,而不考虑QACTIVE时的任何活动。然而,下面描述了提供有用解决方案的一些可能的Q通道(Q-Channel)策略。
断言QACTIVE HIGH可被用作使控制器退出Q_STOPPED状态的激励。控制器12通过驱动QREQn至高电平、退出静态状态来进行响应。
检测QACTIVE LOW可以由处于Q_RUN状态的控制器用作发起静态请求的标准。但是,当处于Q_RUN状态时,控制器可以随时将QREQn的状态从高电平改变为低电平。一旦QREQn被驱动至低电平,控制器就不必考虑QACTIVE的状态,因为直到握手由设备利用接受或拒绝响应完成QREQn才能被驱动至高电平。
图9示出了由在QACTIVE上的设备转换引起的控制器策略。当接口处于Q_STOPPED状态时,QACTIVE上的高电平激励退出静态状态。当接口处于Q_RUN状态时,QACTIVE上的低电平使控制器做出静态请求。
图10示出了如下控制器策略,在该控制器策略中,从静态退出是由设备4引起的,但进入是由控制器12发起的。这可能是设备完成其当前操作的请求,并且在进入静态之前不再接受。
某些类型的设备可以不实现如图2所示的Q通道的所有信号。以下章节描述了设备可以支持的允许信号子集:
未使用的接口
如果设备将是可操作的,则未使用的接口将QREQn输入连结(tie)到高电平。系统全权负责通过接口控制外部的方式来管理设备的可用性。
省略QDENY
没有拒绝静态请求的要求的设备可以通过隐含地连结到低电平来省略QDENY。该子集还提供与不需要拒绝静态请求的设备的后向兼容性。
省略QACTIVE
在某些应用中,发起或退出设备静态可能不需要来自设备的任何信息。在这种情形下,设备可以省略QACTIVE。在控制器处QACTIVE必须被连结到低电平。
仅QACTIVE的接口
设备可以提供仅包括QACTIVE的最小接口以指示执行操作的要求,而没有任何相关联的握手。通常,此最小接口可用于提供初始唤醒指示。然而,它并没有提供任何方式来保证任何时钟或功率可用性。由QACTIVE单独提供的指示可以与硬件、软件或两者的其它布置相结合,以提供可行的解决方案。一种安排可以是允许通过仅QACTIVE接口附着到控制器的设备唤醒第二设备,该第二设备本身具有到用于保证时钟或功率可用性的同一控制器的Q通道接口。
因此,在包括单一设备4的域中,如上所述,控制器12可以控制该设备进入静态状态和从静态状态退出。
当域6中有多个设备4时,每个设备可以独立地根据其内部活动接受或拒绝请求。但是如上所述,拒绝功能是可选的,并不是所有的组件都支持它。在组件不支持拒绝信号的情况下,如果设备具有内部活动,它将延迟接受请求,直到它处于正确的空闲状态为止。
对于控制包括具有共享时钟或电源的多个设备4的域6的控制器组件12,一种方法可以是使用上面定义的规则独立地处理每个通道15,并且仅组合针对该域的对时钟或电源的启用/禁用。然而,因为如果另一组件仍然处于标准状态,则仍然需要提供公共时钟或电源,所以不存在来自进入静态状态的域的各个组件的功率优势。因此,优选地是在域中的所有组件指示它们空闲时同时控制所有通道。这对于处理各个Q通道是比较优选的,因为它只在系统中的所有组件都空闲时才做出静态请求,因此消除了各个组件的唤醒的延迟以及当组件空闲但需要保持唤醒(因为其它组件仍然活动)时接口的抖动。
因此,包括多个设备的域中的控制器可以如下管理共同状态转换处理:
·来自域内每个设备4的QACTIVE 20被组合,以使得仅在所有组件都空闲时(即所有QACTIVE都为低电平)才做出静态进入请求。另外,可以在做出静态请求之前,单独向每个QACTIVE添加滞后,或者向组合的QACTIVE添加滞后。例如,在发出静态进入请求之前,控制器12可以在所有QACTIVE变为低电平之后等待预定的延迟,以降低状态之间的抖动。
·当控制器12向组件4做出静态请求时,即,一些Q通道可能具有未完成的请求而一些Q通道可能已经接受,则来自任何不具有拒绝功能的组件的QACTIVE HIGH发起域内的所有Q通道返回到运行(标准)状态的移动。这允许在可能已经处于静态的设备上完成任何相关操作。
·如果任何组件使用QDENY 26发出拒绝响应,这也会在域中的所有Q-Channels上发起静态退出。因此,控制器以正确的协议方式将所有Q通道移回到运行状态。此时可以做出另一静态请求。
·不具有拒绝功能的任意组件正处于静态请求状态,但是活动的,因此它不会接受该请求,直到它可以接受该请求时它才接受该请求。
这将维护如上所述的Q通道协议。
图11示出了表示可以由控制器12在具有多个设备4的域中进行管理的静态状态和标准状态之间的共同状态转换过程的状态图。图11中所示的状态基本上对应于图8的状态,但是与图8中不同,在图11中,状态转换取决于由域6内的每个设备4发出的偏好指示(QACCEPT或QACTIVE/QDENY)。
在q_运行(q_run)状态30中,所有设备都可操作,且QREQn为高电平。当来自当前域中的设备4的所有QACTIVE信号20都为低电平时,控制器12断言QREQn 22为低电平,并且这些设备转换到q_请求(q_req)状态32,其中设备仍然可操作但被要求变得静止。这将发起用于将每个设备转换到静态状态的公共状态转换处理。如果设备4中的任何设备通过断言QDENY 26为高电平来拒绝该请求,或任何QACTIVE信号20变为高电平,则所有设备4转换到q_继续(q_continue)状态34,其中设备仍是可操作的并且静态请求被拒绝的。QREQn 22被置为高电平以要求任何已经接受请求的设备恢复到标准状态,然后每个设备通过将QACCEPTn 24置于高电平并且将QDENY 26置于低电平返回到标准状态,以使得该域返回到q_run状态30。
另一方面,如果在q_req状态32后所有设备都接受请求(即,所有QACCEPTn信号24都为低电平且所有QACTIVE信号20都为低电平),则设备转换到q_停止(q_stopped)状态36,其中设备都处于静态状态。这是图11中唯一的状态36,其中可以通过将设备与共享电源8或时钟源10隔离安全地将它们置于省电状态。如果任何设备4断言QACTIVE 20为高电平以指示它们有活动要执行,则时钟或电源被恢复,并且控制器12将QREQn置于高电平以请求从静态状态退出。这些设备移动到q_退出(q_exit)状态38。一旦每个设备4将QACCEPTn置于高电平以确认它恢复到标准状态,状态机就返回到q_run状态30。
因此,如图11所示,基于由每个设备发送的各个Q通道15信号,可以根据针对多个设备的公共处理来管理静态(q_stopped状态36)和标准状态(任何其它状态)之间的转换。尽管图11示出了针对域内的所有设备的公共状态转换过程,但是在状态之间进行转换时,并非所有设备4都可以同时改变状态。如下所讨论的,在一些情形下,可以顺序地控制在状态之间的转换,以使得一个设备在另一设备之前进行转换。
图11所示的方法可扩展到任何数量的设备。
图12是示出了针对给定域内的每个设备共同控制状态转换的示例的流程图。在步骤50,所有设备都处于标准状态。在步骤52,控制器12确定是否域6中的每个设备已经发出指示对于静态状态的偏好的偏好指示。偏好指示可以是例如QACTIVE信号或QACCEPT或QDENY信号。如果任何设备4不指示对于静态状态的偏好,则设备保持在标准状态50。一旦域中的所有设备都指示对于静态状态的偏好,则在步骤54,触发静态状态进入处理。这可以对应于断言静态进入请求,或者如果已经接收到的偏好指示是接受信号QACCEPT,则可以对应于实际完成静态状态进入。在步骤56,控制器12在静态状态进入处理已经完成前确定来自任何设备的偏好指示是否指示对标准状态的偏好。如果是这样,则在步骤58暂停静态状态进入处理,并且在步骤59,已经切换了静态状态的任何静态设备被转换回标准状态。例如,这可以对应于将QREQn信号置于高电平以指示不再请求设备进入静态状态。一旦所有设备都回到标准状态,该方法就返回步骤50。
另一方面,如果在步骤56没有接收到与标准状态对应的偏好指示,则在步骤60确定现在是否所有设备都处于静态状态。如果不是,则该方法返回到步骤56并继续循环进行步骤56和60,直到所有设备都是静态的或者处理已经在步骤58暂停。
一旦所有设备都处于静态状态,则在步骤61,通过门控到那些设备的电源8或时钟源10,所有设备都切换到省电状态。在步骤62,控制器12继续监视来自每个设备4的指示,以确定任何设备是否指示对标准状态的偏好。例如,这可以是监视来自每个设备的QACTIVE信号。如果没有接收到这样的指示,则设备保持在省电状态。然而,如果设备4指示对标准状态的偏好,则该方法移动到步骤64,其中电源或时钟源被恢复,并且设备退出省电状态。在步骤66,控制器12针对域内每个设备触发静态状态退出处理(例如,通过针对每个设备将QREQn信号断言为高电平)。一旦所有设备已经确认退出静态状态(例如,通过将QACCEPTn信号置于高电平),则设备返回到标准状态,并且该方法返回到步骤50。
以上示例描述了用于使对个设备在标准状态和静态状态之间进行转换的常规处理。在支持基于Q通道的功率和时钟门控的组件之间存在依赖关系的情况下,可能需要对进入和退出静态状态进行定序,以避免可能的死锁或信息丢失。
这样做可能有用的场景的一个示例是在对通过一个或多个桥接器与电源或时钟域外部的其它组件进行通信的组件或组件组的静态控制中。在断电或时钟门控之前,域和网桥接器内的(一个或多个)组件需要进入静态状态。然而,在Q通道静态进入请求和接受之间可能需要与域外部的组件进行一些通信。例如,图13示出了在通过桥接器进行通信的两个不同功率域中的两个组件4的示例。如果桥接器在组件A之前进入静态状态,则组件A可以发出断开连接请求,并且可能无限期地等待断开连接确认,这可能导致死锁。
为了解决该问题,如图13所示,可以在控制器12和设备4之间提供转换定序器70。在控制器12和定序器70之间提供控制Q通道QC,并且分别在定序器与组件A和桥接器之间提供设备Q通道QA、QB。Q通道QC、QA和QB中的每一个都可以包括图2中所示的信号。
定序器70可以根据预定序列来控制设备4的静态状态进入,该预定序列可以是硬连线的或由定序器70内的可编程数据定义的。例如,在当前示例中,该序列可以使得组件A在桥接器之前被转换到静态状态。因此,静态进入过程可以如下进行:
1.控制器12向定序器70发送静态请求。
2.定序器70使用Q通道A向组件A发送静态请求。
3.组件A通过桥接器向组件B发送断开连接请求。
4.组件B通过桥接器将断开确认发送回组件A。
5.组件A接受静态请求。
6.定序器70使用Q通道B向桥接器发送静态请求。
7.桥接器接受静态请求。
8.定序器70接受来自控制器12的静态请求。
在没有定序器70的情况下,可能同时在Q通道A和B发送静态请求,这可能导致桥接器在组件A和B组件完成它们的通信之前进入静态并停止任何待处理的事务。这可能导致活锁(live-lock)或死锁(dead-lock)的情况。可以通过提供用于控制顺序静态状态进入的定序器70来避免这样的情况。
类似地,在退出静态状态时,定序器70可以以相反的次序处理桥接器和组件A的转换,以使得到组件A脱离静态状态的时候,桥接器将被激活,因此如果需要的话桥接器就可用于向组件B发送信号。
图14中示出了可使用定序器70的另一示例场景。可能存在对于一组组件4的动态时钟控制,这组组件4使用不能进行背压(back pressure)的协议进行通信,即,直到接收域准备就绪才能停止事务。如果消息的发送方和接收方同时退出静态状态,则不可能保证接收方在发送方之前处于完全就绪状态。如果消息被发送但由于接收方没有处于完全就绪状态而被接收方忽略(并且没有背压机制),则可能导致消息丢失。通过使用定序器70,可以保证接收方在发送方之前处可于操作状态。
虽然图13和14示出了利用定序器控制两个Q通道的示例,但更一般地,这可以扩展到任意数量的Q通道。例如,如图20所示,定序器70可以具有针对单一控制Q通道(CTRLQ)QC的控制接口72和设备接口部分74,该设备接口部分74包括针对可配置数量的组件Q通道(DEVQ)Q0、Q1、……、QN-1的接口76。CTRLQ接口72被连接到控制器12,而DEVQ接口76被连接到需要定序的组件4。定序器70具有控制电路78,该控制电路78控制下面论述的操作。在一些情形下,定序器70可利用逻辑或运算将来自每个组件Q通道接口76的QACTIVE指示进行组合,并将该结果作为QACTIVE信号20在控制Q通道接口72上输出,从而如果各个组件中有任何组件断言了它们的QACTIVE信号20则控制器12接收是高电平的指示。
图13和14中的示例示出了定序器70与控制器12分开设置。这具有如下优点:控制器可以以就像控制器正在控制单一设备(例如,在图1的域2中)基本相同的方式来简单地管理单一Q通道QC。以这种方式,控制器不需要考虑存在多少设备,因为这可以由定序器70单独管理。因此,在一些实施例中,定序器70可以被认为是管理上面关于图11和图12讨论的公共状态转换处理的控制器。
然而,在其它示例中,单个组合控制单元可以包括控制器12和定序器70的功能,以使得其既执行对该域中的设备何时进入/退出静态状态的总体控制,又执行对设备在状态之间转换的顺序的控制。
图15是示出顺序静态状态进入处理的示例的流程图。在步骤100,定序器从控制器接收对静态状态进入的请求。由定序器70控制的设备与特定序列相关联,以使得每个设备在序列中具有从设备0到设备N-1的位置,其中N是设备的数量。哪个设备被看作是设备0、设备1等可以在装置2的制造期间进行设置,或者可以是可编程的。
在步骤102,静态状态进入处理以i=N-1开始,并且步骤104,定序器70向设备i发送静态状态进入请求。在步骤106,定序器70确定设备i是接受还是拒绝该请求(例如,基于该设备的Q通道的QACCEPTn信号)。如果请求被接受,则在步骤108确定i=0(即,序列中的所有设备现在已经接受了请求),如果是,则在步骤110,定序器向控制器发送响应来指示对静态状态进入的请求已经被接受(例如,定序器可以使控制Q通道QC上的QACCEPTn被置于低电平)。如果i>0,即并非所有的设备都接受进入静态状态的请求,则在步骤110,i被递减,并且该方法返回到步骤104,在步骤104中另一静态状态进入请求被发送到序列中的下一设备。
如果在步骤106确定设备已经拒绝该请求,则暂停静态状态进入处理。在步骤114,确定是否i=N-1,即,拒绝请求的设备是否为请求被发送到的第一设备。如果是,则在步骤116,将响应发送到拒绝对静态状态进入的请求的控制器(例如,定序器可以将控制Q通道QC上的QDENY信号置于高电平)。如果i<N-1,则这意味着至少有一个设备已经接受了该静态状态进入请求,因此执行一些步骤来使该设备恢复到标准状态。在步骤118,i被递增,并且在步骤120,静态状态退出请求被发送到设备i(例如,通过将该设备的Q通道的QREQn信号置于高电平)。在步骤122,接收到来自该设备的响应(例如,设备将QACCEPTn信号置于高电平)。该设备现在恢复到标准状态。如果在另一设备拒绝该请求时存在不止一个设备已经转换到静态状态,则该方法返回到步骤114并且可以循环执行步骤114至122若干次。最终,所有设备都回到标准状态,并且在步骤116,将响应提供给控制器以指示对静态状态进入的请求已经被拒绝。
图16是示出由定序器70控制的顺序静态状态进入处理的示例的信号图。图16示出了针对其中存在由定序器控制的三个组件4的示例的控制Q通道QC和组件Q通道Q0、Q1、Q2上的QREQn、QACCEPTn和QDENY信号22、24、26。在该示例中,用于静态状态进入的预定序列是Q2、Q1、Q0。如图16中所示,当在时刻t1检测到CTRLQ接口上的静态进入请求时,定序器70将对应于该序列中的第一组件的Q通道Q2上的QREQn信号置于低电平。当组件2通过将其QACCEPTn信号24置于低电平来接受请求时,针对下一组件的Q通道Q1的QREQn信号被置于低电平,并且类似地组件1对该请求的接受触发对组件0的请求。一旦所有设备都接受了该静态请求,在t4,定序器70将控制Q通道QC上的QACCEPTn信号24置于低电平,以利用信号表示来自控制器的初始请求已经被接受。所有设备现在处于静态状态。
另一方面,图17示出了类似的示例,其中一个设备拒绝静态状态进入请求。此时,定序器使先前已接受静态请求的所有设备和已经拒绝的组件恢复到Q_运行状态,并向控制器发出拒绝来自控制器的原始请求的响应。
因此,图17的初始部分与图16的相同,在该部分中,控制器在t1请求进入静态状态,在t2触发对组件2的请求。组件2在t3接受该请求,这在t4触发对组件1的请求。然而,这次,在时刻t5,组件1通过将其QDENY信号26置于高电平而拒绝该请求。作为响应,定序器70分别在时刻t6、t7将Q通道Q1和Q2上的QREQn信号置于高电平。在t8,组件2将其QACCEPTn信号24置于高电平,以确认对退出静态状态的请求,并且在t9进行响应时,定序器70将控制Q通道QC上的QDENY信号26置于高电平,以向控制器发信号表示该请求已被拒绝。作为响应,在t10,控制器12通过将其QREQn信号22置于高电平而清除未处理的静态请求。在t11,响应静止请求被清除,定序器70将QDENY信号26置于低电平,以使得所有信号现在返回到t0处所示的状态。
图18是示出静态状态退出处理的示例的流程图。同样,由定序器70控制的设备被按预定的序列转换,但是这次与静态状态进入相比,该序列是相反的顺序,以使得设备0在设备1、设备2等之前脱离静态状态。这是因为在第一设备依赖于第二设备的情况下,当退出静态状态时,优选的是在第一设备之前唤醒第二设备,而在进入静态时,第一设备优选地在第二设备之前进入静态,以使得在第一设备可能需要执行进入或退出静态状态的动作时第二设备是可操作的。
在步骤200,定序器70接收来自控制器的对退出静态状态的请求(例如,控制器将控制Q通道上的QREQn信号置于高电平)。在步骤202中,i=0,从而设备0将首先退出静态状态。在步骤204,定序器70向设备i发送静态状态退出请求。一旦设备已经完成退出静态状态所需的任何动作,则它发送响应(例如,将其QACCEPTn信号24置于高电平),该响应在步骤206被定序器接收。在步骤208,定序器确定是否i=N-1(即,是否所有设备现在已经确认退出静态状态)。如果是,则在步骤210,响应被发送到控制器12以确认退出静态状态(例如,定序器70将控制Q通道的QACCEPTn信号24置于高电平)。如果并非所有设备都已经退出静态状态序列,则在步骤212递增i,并且该方法返回到步骤204以发出针对该序列中后面的设备的静态状态退出请求。
图19是示出顺序静态状态退出处理的信号图。当在t1在CTRLQ接口上检测到静态退出请求时,定序器依次在每个DEVQ接口上启动静态退出请求,在t2从DEVQ0开始并进行到DEVQ<N-1>,其中N是DEVQ接口的数量。当连接到DEVQ0Q通道的设备已经接受退出请求时,定序器移动到下一DEVQ Q信道。一旦所有DEVQ接口都接受了静态退出请求,定序器接受CTRLQQ信道上的请求。
在本申请中,词语“被配置为……”用于表示装置的元件具有能够执行定义的操作的配置。在该情境下,“配置”表示硬件或软件的互连的方式或布置。例如,装置可以具有提供定义的操作的专用硬件,或者可以对处理器或其它处理设备进行编程以执行功能。“被配置为……”并不意味着装置元件需要为了提供定义的操作而以任何方式进行更改。
尽管这里已经参考附图详细描述了本发明的说明性实施例,但是应当理解,本发明不限于这些精确的实施例,并且本领域技术人员可以在其中实现各种改变和修改而不脱离由所附权利要求限定的本发明的范围和精神。
Claims (19)
1.一种数据处理装置,包括:
多个设备,所述多个设备具有标准状态和静态状态;以及
转换定序电路,所述转换定序电路被配置为控制用于使所述多个设备中的每个设备依次在所述标准状态和所述静态状态之间进行转换的顺序状态转换处理;
其中,针对每个设备,所述转换定序电路被配置为根据从所述设备发送的至少一个偏好指示来控制在所述标准状态和所述静态状态之间的转换,所述至少一个偏好指示提供对于在所述标准状态还是所述静态状态下工作的偏好的指示。
2.如权利要求1所述的数据处理装置,其中,所述设备具有预定的序列次序,并且所述转换定序电路被配置为根据所述预定的序列次序控制所述顺序状态转换处理。
3.如权利要求2所述的数据处理装置,其中,所述转换定序电路被配置为响应于针对所述预定的序列次序中在前的设备的转换的完成而发起所述预定的序列次序中在后的设备的转换。
4.如权利要求2和3中任一项所述的数据处理装置,针对每个设备,所述转换定序电路被配置为:
发送对于所述设备在所述标准状态和所述静态状态之间进行转换的请求,以及
接收来自所述设备的响应,所述响应指示所述请求被接受还是被拒绝。
5.如权利要求4所述的数据处理装置,其中,所述转换定序电路被配置为响应于接收到来自所述预定的序列次序中在前的设备的指示所述请求被接受的响应而向所述预定的序列次序中在后的设备发送所述请求。
6.如权利要求4和5中任一项所述的数据处理装置,其中,响应于接收到来自所述预定的序列次序中在后的设备的指示所述请求被拒绝的响应,所述转换定序电路被配置为逆转针对所述预定的序列次序中一个或多个在前的设备的转换。
7.如权利要求2到6中任一项所述的数据处理装置,其中,针对从所述标准状态到所述静态状态的转换,所述转换定序电路被配置为根据第一序列次序控制所述顺序状态转换处理;以及
针对从所述静态状态到所述标准状态的转换,所述转换定序电路被配置为根据第二序列次序控制所述顺序状态转换处理。
8.如权利要求7所述的数据处理装置,其中,所述设备包括被配置为发送信号的第一设备和被配置为对从所述第一设备发送的所述信息进行响应的第二设备;
在所述第一序列次序中所述第一设备在所述第二设备之前;并且
在所述第二序列次序中所述第二设备在所述第一设备之前。
9.如前述任一权利要求所述的数据处理装置,其中,所述转换定序电路被配置为响应于从控制器接收的组请求而发起所述顺序状态转换处理,所述组请求请求使所述多个设备中的每个设备在所述标准状态和所述静态状态之间进行转换。
10.如权利要求9所述的数据处理装置,其中,所述转换定序电路被配置为在所述多个设备全部已经完成所述转换时向所述控制器提供第一响应。
11.如权利要求9或10中任一项所述的数据处理装置,其中,所述转换定序电路被配置为在所述多个设备中的任一设备的转换不成功时向所述控制器提供第二响应。
12.如前述任一权利要求所述的数据处理装置,其中,所述静态状态包括所述设备准备好被置于省电状态的状态。
13.如权利要求12所述的数据处理装置,包括功率控制电路,所述功率控制电路被配置为在所述多个设备全部处于所述静态状态时将所述多个设备中的每个设备切换到所述省电状态。
14.如前述任一权利要求所述的数据处理装置,其中,所述至少一个偏好指示包括关于是否存在要执行的活动的至少一个活动信号。
15.如前述任一权利要求所述的数据处理装置,其中,所述至少一个偏好指示包括关于对于在所述标准状态和所述静态状态之间进行转换的请求被接受还是被拒绝的至少一个信号。
16.一种装置,包括:
接口,所述接口被配置为从多个设备中的每个设备接收至少一个偏好指示,所述至少一个偏好指示提供对于在标准状态还是静态状态下工作的偏好的指示;以及
控制电路,所述控制电路被配置为控制顺序状态转换处理,所述顺序状态转换处理用于使所述多个设备中的每个设备依次在所述标准状态和所述静态状态之间进行转换;
其中,针对每个设备,转换定序电路被配置为根据从所述设备接收的所述至少一个偏好指示来控制在所述标准状态和所述静态状态之间的转换。
17.一种数据处理装置,包括:
多个设备装置,所述多个设备装置在标准状态或静态状态下工作;以及
用于控制顺序状态转换处理的装置,所述顺序状态转换处理用于使所述多个设备装置中的每个设备装置依次在所述标准状态和所述静态状态之间进行转换;
其中,针对每个设备装置,所述用于控制顺序状态转换处理的装置被配置为根据从所述设备装置发送的至少一个偏好指示来控制在所述标准状态和所述静态状态之间的转换,所述至少一个偏好指示提供对于在所述标准状态还是所述静态状态下工作的偏好的指示。
18.一种装置,包括:
用于从多个设备中的每个设备接收至少一个偏好指示的装置,所述至少一个偏好指示提供对于在标准状态还是静态状态下工作的偏好的指示;以及
用于控制顺序状态转换处理的装置,所述顺序状态转换处理用于使所述多个设备中的每个设备依次在所述标准状态和所述静态状态之间进行转换;
其中,针对每个设备,所述用于控制顺序状态转换处理的装置被配置为根据从所述设备接收的所述至少一个偏好指示来控制在所述标准状态和所述静态状态之间的转换。
19.一种方法,包括:
从多个设备中的每个设备接收至少一个偏好指示,所述至少一个偏好指示提供对于在标准状态还是静态状态下工作的偏好的指示;以及
控制顺序状态转换处理,所述顺序状态转换处理用于使所述多个设备中的每个设备依次在所述标准状态和所述静态状态之间进行转换;
其中,针对每个设备,在所述标准状态和所述静态状态之间的转换是根据从所述设备接收的所述至少一个偏好指示进行控制的。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1507189.7 | 2015-04-28 | ||
GB1507189.7A GB2537855B (en) | 2015-04-28 | 2015-04-28 | Controlling transitions of devices between normal state and quiescent state |
PCT/GB2016/050643 WO2016174385A1 (en) | 2015-04-28 | 2016-03-09 | Controlling transitions of devices between normal state and quiescent state |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107533352A true CN107533352A (zh) | 2018-01-02 |
CN107533352B CN107533352B (zh) | 2021-04-30 |
Family
ID=53488757
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680024196.5A Active CN107533352B (zh) | 2015-04-28 | 2016-03-09 | 控制在标准状态和静态状态之间的转换 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10621128B2 (zh) |
CN (1) | CN107533352B (zh) |
GB (1) | GB2537855B (zh) |
WO (1) | WO2016174385A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2566445B8 (en) * | 2017-09-06 | 2020-03-04 | Advanced Risc Mach Ltd | Reset isolation bridge |
US20190303777A1 (en) | 2018-03-30 | 2019-10-03 | Provino Technologies, Inc. | Protocol level control for system on a chip (soc) agent reset and power management |
EP4216062A1 (en) | 2018-03-30 | 2023-07-26 | Google LLC | Arbitrating portions of transactions over virtual channels associated with an interconnect |
US11615022B2 (en) * | 2020-07-30 | 2023-03-28 | Arm Limited | Apparatus and method for handling accesses targeting a memory |
US11262834B1 (en) * | 2021-01-14 | 2022-03-01 | Arm Limited | Data processing system and method for monitoring system properties |
GB2624672A (en) * | 2022-11-25 | 2024-05-29 | Advanced Risc Mach Ltd | Resource usage transition hints |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6711691B1 (en) * | 1999-05-13 | 2004-03-23 | Apple Computer, Inc. | Power management for computer systems |
US20080005445A1 (en) * | 2006-06-30 | 2008-01-03 | Paul Diefenbaugh | Power efficient flow control model for usb asynchronous transfers |
CN101114142A (zh) * | 2006-07-24 | 2008-01-30 | 夏普株式会社 | 成像设备及其电源控制方法、电源控制系统和电源控制设备 |
US20090094438A1 (en) * | 2007-10-04 | 2009-04-09 | Koushik Chakraborty | Over-provisioned multicore processor |
CN101951453A (zh) * | 2009-07-09 | 2011-01-19 | 佳能株式会社 | 具有省电模式的信息处理设备及其控制方法 |
US20110321048A1 (en) * | 2010-06-24 | 2011-12-29 | International Business Machines Corporation | Facilitating quiesce operations within a logically partitioned computer system |
CN104281249A (zh) * | 2013-07-12 | 2015-01-14 | 联想(北京)有限公司 | 一种多媒体文件的状态切换方法及电子设备 |
CN104484031A (zh) * | 2014-12-30 | 2015-04-01 | 北京奇虎科技有限公司 | 终端设备耗电状态的优化方法和装置 |
US20150116749A1 (en) * | 2013-10-31 | 2015-04-30 | Kyocera Document Solutions Inc. | Electronic Device That Processes Data Received from an External Apparatus |
Family Cites Families (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6092209A (en) | 1994-10-04 | 2000-07-18 | Intel Corporation | Method and apparatus for managing power consumption of peripheral devices of personal computers |
US5752050A (en) * | 1994-10-04 | 1998-05-12 | Intel Corporation | Method and apparatus for managing power consumption of external devices for personal computers using a power management coordinator |
US6286083B1 (en) | 1998-07-08 | 2001-09-04 | Compaq Computer Corporation | Computer system with adaptive memory arbitration scheme |
US6510525B1 (en) * | 1999-04-26 | 2003-01-21 | Mediaq, Inc. | Method and apparatus to power up an integrated device from a low power state |
US6691237B1 (en) | 2000-08-08 | 2004-02-10 | Dell Products, L.P. | Active memory pool management policies |
ATE514989T1 (de) | 2000-09-26 | 2011-07-15 | Oracle America Inc | Verfahren und system zur steuerung temperaturzyklen |
US7062668B2 (en) | 2003-04-24 | 2006-06-13 | Dell Products L.P. | Method and system for information handling system component power management sequencing |
US7379418B2 (en) | 2003-05-12 | 2008-05-27 | International Business Machines Corporation | Method for ensuring system serialization (quiesce) in a multi-processor environment |
US7272741B2 (en) | 2004-06-02 | 2007-09-18 | Intel Corporation | Hardware coordination of power management activities |
US7739548B2 (en) * | 2006-06-27 | 2010-06-15 | Hewlett-Packard Development Company, L.P. | Determining actual power consumption for system power performance states |
US8086213B1 (en) | 2007-09-07 | 2011-12-27 | Marvell International Ltd. | Circuits, architectures, apparatuses, systems, algorithms, methods, and software for wireless arbiter power saving |
US20090204837A1 (en) * | 2008-02-11 | 2009-08-13 | Udaykumar Raval | Power control system and method |
US8310488B2 (en) | 2009-04-02 | 2012-11-13 | Sony Computer Intertainment America, Inc. | Dynamic context switching between architecturally distinct graphics processors |
US8291249B2 (en) * | 2009-09-25 | 2012-10-16 | Advanced Micro Devices, Inc. | Method and apparatus for transitioning devices between power states based on activity request frequency |
CN101790225A (zh) * | 2010-03-16 | 2010-07-28 | 华为终端有限公司 | 上网模块电源管理的方法和装置 |
JP5543835B2 (ja) | 2010-04-23 | 2014-07-09 | パナソニック株式会社 | 機器制御システム |
WO2012021380A2 (en) * | 2010-08-13 | 2012-02-16 | Rambus Inc. | Fast-wake memory |
US8700936B2 (en) * | 2010-12-03 | 2014-04-15 | Schneider Electric It Corporation | Modular gating of microprocessor low-power mode |
US8443221B2 (en) | 2011-03-04 | 2013-05-14 | Sandisk Technologies Inc. | Methods, systems, and computer readable media for advanced power management for serial advanced technology attachment (SATA)-based storage devices |
JP5640844B2 (ja) | 2011-03-18 | 2014-12-17 | 富士通株式会社 | 仮想計算機制御プログラム、計算機、及び仮想計算機制御方法 |
US8713235B2 (en) * | 2011-05-02 | 2014-04-29 | Fairchild Semiconductor Corporation | Low latency interrupt collector |
US8868941B2 (en) * | 2011-09-19 | 2014-10-21 | Sonics, Inc. | Apparatus and methods for an interconnect power manager |
WO2013048960A1 (en) | 2011-09-30 | 2013-04-04 | Intel Corporation | Managing sideband segments in on-die system fabric |
US9223373B2 (en) * | 2012-03-21 | 2015-12-29 | Hgst Technologies Santa Ana, Inc. | Power arbitration for storage devices |
US9110671B2 (en) * | 2012-12-21 | 2015-08-18 | Advanced Micro Devices, Inc. | Idle phase exit prediction |
TWI594113B (zh) * | 2013-03-29 | 2017-08-01 | 慧榮科技股份有限公司 | 狀態切換方法 |
US9495001B2 (en) * | 2013-08-21 | 2016-11-15 | Intel Corporation | Forcing core low power states in a processor |
US10025608B2 (en) * | 2014-11-17 | 2018-07-17 | International Business Machines Corporation | Quiesce handling in multithreaded environments |
US9710051B2 (en) * | 2014-12-31 | 2017-07-18 | Dell Products, L.P. | Methods of power supply unit rotating in an information handling system |
US10275016B2 (en) * | 2015-12-21 | 2019-04-30 | Intel Corporation | Smart power adapters and related systems and methods |
US10185378B2 (en) * | 2016-10-03 | 2019-01-22 | Microsoft Technology Licensing, Llc | Prioritized sequencing of device inrush current |
-
2015
- 2015-04-28 GB GB1507189.7A patent/GB2537855B/en active Active
-
2016
- 2016-03-09 WO PCT/GB2016/050643 patent/WO2016174385A1/en active Application Filing
- 2016-03-09 CN CN201680024196.5A patent/CN107533352B/zh active Active
- 2016-03-09 US US15/567,696 patent/US10621128B2/en active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6711691B1 (en) * | 1999-05-13 | 2004-03-23 | Apple Computer, Inc. | Power management for computer systems |
US20080005445A1 (en) * | 2006-06-30 | 2008-01-03 | Paul Diefenbaugh | Power efficient flow control model for usb asynchronous transfers |
CN101114142A (zh) * | 2006-07-24 | 2008-01-30 | 夏普株式会社 | 成像设备及其电源控制方法、电源控制系统和电源控制设备 |
US20090094438A1 (en) * | 2007-10-04 | 2009-04-09 | Koushik Chakraborty | Over-provisioned multicore processor |
CN101951453A (zh) * | 2009-07-09 | 2011-01-19 | 佳能株式会社 | 具有省电模式的信息处理设备及其控制方法 |
US20110321048A1 (en) * | 2010-06-24 | 2011-12-29 | International Business Machines Corporation | Facilitating quiesce operations within a logically partitioned computer system |
CN104281249A (zh) * | 2013-07-12 | 2015-01-14 | 联想(北京)有限公司 | 一种多媒体文件的状态切换方法及电子设备 |
US20150116749A1 (en) * | 2013-10-31 | 2015-04-30 | Kyocera Document Solutions Inc. | Electronic Device That Processes Data Received from an External Apparatus |
CN104484031A (zh) * | 2014-12-30 | 2015-04-01 | 北京奇虎科技有限公司 | 终端设备耗电状态的优化方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
GB201507189D0 (en) | 2015-06-10 |
GB2537855A (en) | 2016-11-02 |
GB2537855B (en) | 2018-10-24 |
US20180101489A1 (en) | 2018-04-12 |
GB2537855A8 (en) | 2016-11-16 |
WO2016174385A1 (en) | 2016-11-03 |
CN107533352B (zh) | 2021-04-30 |
US10621128B2 (en) | 2020-04-14 |
GB2537855A9 (en) | 2018-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107533352A (zh) | 控制在标准状态和静态状态之间的转换 | |
CN107533353A (zh) | 控制设备在正常状态与静止状态之间的转换 | |
US9703313B2 (en) | Peripheral clock management | |
CN1312601C (zh) | 数据处理系统、及其操作和节电方法 | |
JP7383631B2 (ja) | システムオンチップ(SoC)エージェントのリセットおよび電力管理のためのプロトコルレベル制御 | |
TW200400435A (en) | Low power system and method for a data processing system | |
JPH021037A (ja) | 共有母線のための分配仲裁装置および方法 | |
US11256651B2 (en) | Multiple master, multi-slave serial peripheral interface | |
TW201636771A (zh) | 在非核心組織中之電力管理技術 | |
CN101454755A (zh) | 具有提高的操作效率的计算机系统 | |
CN103294641A (zh) | 用于系统管理的有限状态机 | |
JPH0623969B2 (ja) | ノードがバスへのアクセス権を得るようにする装置及び方法 | |
US10775862B2 (en) | Reset isolation bridge | |
CN105892350B (zh) | 在微控制器单元和主处理器之间通信的电子设备及其方法 | |
US10467181B2 (en) | Interface apparatus and method | |
CN101681274B (zh) | 接口处理器 | |
WO2007096628A2 (en) | Real-time distributed processor environment | |
WO2001011810A1 (en) | Variable access fairness in a fibre channel arbitrated loop | |
TWI249679B (en) | Apparatus and method for assuming mastership of a bus field | |
JP2002091900A (ja) | 多重トランザクションバスシステム・バスブリッジ用のタイムアウトカウンタ | |
CN107205013B (zh) | 用于多个通信域的控制接口的组合 | |
TWI237764B (en) | Control chip with function for inhibiting bus cycle, circuit and method thereof | |
JP2002373145A (ja) | ダイレクトメモリアクセス装置 | |
CN114816911A (zh) | 一种多节点服务器的管理系统及多节点服务器 | |
Golubcovs et al. | Multi-resource arbiter design |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20180601 Address after: cambridge Applicant after: Advanced Risc Machines Ltd. Applicant after: Anne science and Technology (China) Co., Ltd. Address before: Cambridge County Applicant before: Advanced Risc Machines Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |