CN110546613B - 用于跨功率域信号的基于信号量保护的方法、装置和系统 - Google Patents
用于跨功率域信号的基于信号量保护的方法、装置和系统 Download PDFInfo
- Publication number
- CN110546613B CN110546613B CN201880027681.7A CN201880027681A CN110546613B CN 110546613 B CN110546613 B CN 110546613B CN 201880027681 A CN201880027681 A CN 201880027681A CN 110546613 B CN110546613 B CN 110546613B
- Authority
- CN
- China
- Prior art keywords
- semaphore
- register
- power domain
- semaphore register
- address
- 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
Links
Images
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
- 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
- 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/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
-
- 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/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
-
- 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)
- Software Systems (AREA)
- Computing Systems (AREA)
- Power Sources (AREA)
Abstract
在本公开的某些方面,一种装置包括设置在第一功率域中的第一信号量寄存器和第二信号量寄存器。公共地址总线被耦合到第一信号量寄存器和第二信号量寄存器,并且信号量锁被设置在第一功率域中并且被耦合到第一信号量寄存器和第二信号量寄存器。信号量锁由第一信号量寄存器和第二信号量寄存器控制,并且控制是否允许来自第二功率域的信号传播到第一功率域。第一信号量寄存器和第二信号量寄存器可以分别与第一寄存器地址和第二寄存器地址相关联,第一寄存器地址和第二寄存器地址被选择以在它们之间提供基本最大化的汉明距离。第一信号量寄存器和第二信号量寄存器可以在它们之间实施写入顺序期望。
Description
优先权声明
本专利申请要求于2017年4月27日提交的题为“METHOD,APPARATUS,AND SYSTEMFOR SEMAPHORE-BASED PROTECTION OF POWER-DOMAIN-CROSSING SIGNALS”的申请号15/499,247的优先权,该申请转让给其受让人并且通过引用明确并入本文。
技术领域
本公开的各方面总体上涉及信号完整性,并且更具体地涉及保护跨功率域的信号免受由于功率损耗而产生的破坏。
背景技术
集成电路可以包括多个功率域,其中每个功率域可以由分离的供电轨供电。具有多个功率域允许不同功率域中的电路以不同的电源电压被供电,并且允许功率域独立地被功率骤降(collapsed),使得一个功率域可以被供电而另一功率域被功率骤降。然而,使源功率域的功率骤降表示必须保护源自源域但进入目的地非功率骤降功率域的信号,以使得目的地功率域中的所得到的信号不会被损坏。
确保跨域信号不被损坏的一种方法是使用隔离单元。隔离单元是阻止来自源功率域的所有活动的电路,使得跨域信号不能够因源功率域被功率骤降而损坏。为了使隔离单元有效,在源域的功率骤降之前将其激活。然而,这涉及增加的复杂性,因为隔离单元由控制电路激活,该控制电路在源域的功率骤降期间保持通电并且必须能够确定即将发生功率骤降。
因此,期望提供一种解决方案,以用于确保不会损坏跨域信号,而不需要如上所述的特定控制电路的增加的复杂性和开销。
发明内容
以下呈现了一个或多个方面的简化概述,以便提供对这些方面的基本理解。该概述不是所有预期方面的详尽概述,并且既不旨在标识所有方面的关键或重要元素,也不旨在界定任何或所有方面的范围。其唯一目的是以简化的形式呈现一个或多个方面的一些概念,作为稍后呈现的更详细描述的序言。
在一方面,一种装置包括设置在第一功率域中的第一信号量寄存器和第二信号量寄存器。该装置还包括耦合到第一信号量寄存器和第二信号量寄存器的公共地址总线。该装置还包括设置在第一功率域中并且耦合到第一信号量寄存器和第二信号量寄存器的信号量锁。信号量锁适于由第一信号量寄存器和第二信号量寄存器控制。信号量锁还适于控制来自第二功率域的信号是否被允许传播到第一功率域。
在另一方面,一种方法包括:通过第一寄存器地址在第一功率域中寻址第一信号量寄存器,并且将第一解锁值写入该信号量寄存器中。该方法还包括通过第二寄存器地址在第一功率域中寻址第二信号量寄存器,并且将第二解锁值写入第二信号量寄存器。该方法还包括通过第一信号量寄存器和第二信号量寄存器控制信号量锁以允许来自第二功率域的信号传播到第一功率域。
在另一方面,一种装置包括用于存储设置在第一功率域中的信号量值的第一部件和第二部件。该装置还包括用于对用于存储的部件共同寻址的部件,用于存储的部件被耦合到用于存储信号量值的第一部件和第二部件。该装置还包括用于锁定的部件,用于锁定的部件被设置在第一功率域中并且被耦合到用于存储信号量值的第一部件和第二部件。用于锁定的部件适于由用于存储信号量值的第一部件和第二部件控制。用于锁定的部件还适于控制来自第二功率域的信号是否被允许传播到第一功率域。
在另一方面,一种非瞬态计算机可读介质,包括指令,该指令在由处理器执行时使处理器:在第一时钟周期期间通过第一寄存器地址在第一功率域中寻址第一信号量寄存器,并且将第一解锁值写入第一信号量寄存器。这些指令还使处理器:在第一周期之后的第二周期期间通过第二寄存器地址在第一功率域中寻址第二信号量寄存器,并且将第二解锁值写入第二信号量寄存器。这些指令还使处理器:通过第一信号量寄存器和第二信号量寄存器控制信号量锁,以允许来自第二功率域的信号传播到第一功率域。
一个或多个所公开的方面的一个优点是,所公开的方面减轻了信号量锁在单个时钟周期期间可能被错误释放的可能性(因此,来自源功率域的信号可以到达目的地功率域的损坏状态)。
附图说明
图1示出了根据本公开的某些方面的基于信号量(semaphore)的保护装置的框图。
图2示出了根据本公开的某些方面的基于信号量的保护装置的某些方面的详细示意图。
图3示出了根据本公开的某些方面的使用基于信号量的保护装置的方法的框图。
图4示出了根据本公开的某些方面的包含基于信号量的保护装置的系统级图。
具体实施方式
在以下描述和针对特定方面的相关附图中公开了本文中的发明教导的各方面。在不脱离本文中的发明构思的范围的情况下,可以设计替代方面。另外,环境的公知要素可能不会详细描述或者可能会省略,以免使本文中的发明教导的相关细节不清楚。
本文中使用词语“示例性”来表示“用作示例、实例或说明”。本文中描述为“示例性”的任何方面不必被解释为比其他方面优选或有利。同样,术语“本发明的各方面”并不要求本发明的所有方面都包括所讨论的特征、优点或操作模式。
本文中使用的术语仅出于描述特定方面的目的,而非旨在限制本发明的各方面。如本文中使用的,单数形式“一(a)”、“一个(an)”和“该(the)”也旨在包括复数形式,除非上下文另外明确指出。将进一步理解,当在本文中使用时,术语“包括(comprises)”、“包括(comprising)”、“包括(includes)”和/或“包括(including)”指定所述特征、整体、步骤、操作、元素和/或组件的存在,然而不排除一个或多个其他特征、整体、步骤、操作、元素、组件和/或其组的存在或添加。
此外,根据要由例如计算设备的元件执行的动作序列来描述很多方面。将认识到,本文中描述的各种动作可以由特定电路(例如,专用集成电路(ASIC))、由一个或多个处理器所执行的程序指令、或两者的组合来执行。另外,可以认为本文中描述的这些动作序列完全在其中存储有对应计算机指令集的任何形式的计算机可读存储介质中被实施,该计算机指令集在执行时将使相关联的处理器执行本文中描述的功能性。因此,本发明的各个方面可以以很多不同的形式来实施,所有这些形式都被认为在所要求保护的主题内容的范围内。另外,对于本文中描述的每个方面,本文中可以将任何这样的方面的对应形式描述为例如“被配置为”执行所描述的动作的逻辑。
本公开的各方面包括一种用于跨功率域信号的基于信号量的保护的装置。在这方面,图1图示了包括设置在第一功率域195中的信号量锁110的示例性装置100,该信号量锁110可操作以关于信号160提供对下游逻辑或寄存器140的保护。在这方面,信号量锁118向下游逻辑或寄存器140提供保护信号118,该保护信号118防止信号160以破坏下游逻辑或寄存器140的功能性的方式传播。信号160的源在第二功率域190中,并且信号160的目的地(在一方面,下游逻辑或寄存器140)在第一功率域195中。
为了生成保护信号118,信号量锁110响应于第一信号量寄存器输入124和第二信号量寄存器输入134。当第一信号量寄存器输入124和第二信号量寄存器输入134等于其相关联的解锁值时,信号量锁110生成保护信号118,该保护信号118的值允许信号160传播到下游逻辑或寄存器140。当第一信号量寄存器输入124或第二信号量寄存器输入134不等于其相关联的解锁值时,信号量锁110生成保护信号118,该保护信号118的值不允许信号160传播到下游逻辑或寄存器140。
第一信号量寄存器120基于当前存储在第一信号量寄存器120中的值来提供第一信号量寄存器输入124。该值响应于第一信号量寄存器120的相关联的第一信号量寄存器地址在公共地址总线150上被断言而经由第一信号量值输入122被写入第一信号量寄存器120。同样,第二信号量寄存器130基于当前存储在第二信号量寄存器120中的值来提供第二信号量寄存器输入134。该值响应于第二信号量寄存器130的相关联的第二信号量寄存器地址在公共地址总线150上被断言而经由第二信号量值输入132被写入第二信号量寄存器130。在一方面,第一信号量值输入122和第二信号量值输入132的源在第二功率域190中。然而,在其他方面,第一信号量值输入122和第二信号量值输入132中的一者或两者的源也可以在第一功率域195中。
用于寻址第一信号量寄存器120和第二信号量寄存器130两者的公共地址总线150确保了在给定时钟周期中可以写入第一信号量寄存器120和第二信号量寄存器130中的仅一个。因此,错误源可能导致信号量锁110错误地允许信号160传播到下游逻辑或寄存器140的可能性大大降低,因为第一信号量寄存器120和
第二信号量寄存器130两者都必须提供它们的相关联的解锁值,以便信号量锁110允许信号160传播。在一方面,公共地址总线150的源在第二功率域190中。然而,在其他方面,公共地址总线150的源可以在第一功率域195中。
在一些方面,第一信号量寄存器120和第二信号量寄存器130可以具有特定的写入顺序期望(例如,必须在第二信号量寄存器130之前写入第一信号量寄存器120)。写入顺序期望可以通过硬件来实施,例如通过使用第一信号量寄存器120中的值来确定是否允许第二信号量寄存器130被写入。通过按照硬件期望的顺序调度写入,可以将这样的写入顺序实施视为软件,诸如操作系统或内核。本领域技术人员将认识到,写入顺序实施的其他硬件和软件实现也是可能的,并且被预期在本公开的范围内。
为了进一步降低发生错误的概率,可以选择第一信号量寄存器地址和第二信号量寄存器地址以使它们之间的汉明距离(Hamming distance)基本上最大化。例如,如果将第一信号量寄存器地址选择为8'b00000000,则为了使第一信号量寄存器地址与第二信号量寄存器地址之间的汉明距离最大化,第二信号量寄存器地址将被选择为8'b11111111。通过基本上最大化第一信号量寄存器地址与第二信号量寄存器地址之间的汉明距离,降低了第一信号量寄存器110和第二信号量寄存器120两者在后续时钟周期中被错误地写入的可能性,因为如果发生错误的写入操作,则公共地址总线150的所有位都必须翻转为其相反的值(例如,8'b00000000必须翻转为8'b11111111)。尽管在第一寄存器地址与第二寄存器地址之间具有最大可能的汉明距离可能并不总是可行的,但是本领域技术人员将理解,它们之间的距离越大,针对错误提供的保护就越大,因此可以选择在给定其他系统约束(例如,对第一信号量寄存器120和第二信号量寄存器130可用的可能地址范围的限制)的情况下基本上最大化的汉明距离。
为了更好地理解一些方面,图2图示了另一种用于跨功率域信号的基于信号量的保护的装置,其一般用200表示。类似于图1,信号260的目的地在位于第一功率域(未示出)中的下游逻辑或寄存器240处,并且其源在第二功率域(未示出)中。下游逻辑或寄存器240响应于由信号量锁210生成的写使能信号218。在一些方面,写使能信号218可以类似于图1的保护信号118。写使能信号218控制是否允许信号260传播到下游逻辑或寄存器240(即,由其捕获或存储)。当写使能信号218被解除断言(de-asserted)时,下游逻辑或寄存器240不捕获信号260的值,因此,出现在信号260上的错误值不能够损坏下游逻辑或寄存器240的功能性。
信号量锁210响应于软件控制的使能信号211,并且响应于第一信号量值输入224、第二信号量值输入234、第(n-1)信号量值输入284和第n信号量值输入294。信号量锁210包括“或”门(OR-gate)213,“或”门213组合所有1-n个信号量值输入224、234、284、294并且将组合输入提供给反相器212,该反相器212生成组合信号量锁指示符214。“与”门(AND-gate)215将软件控制的使能信号211与组合信号量锁指示符214组合以产生写使能信号218。因此,为了使写使能信号218被断言(并且因此允许在下游逻辑或寄存器240中出现写入),则必须断言软件控制的使能信号211和组合信号量锁指示符214。这表示,所有信号量值输入224、234、284、294都必须依次处于其相应的“解锁”值。如该图所示,当所有信号量值输入224、234、284、294均处于逻辑低值(在该示例中为“解锁”值)时,“或”门213输出逻辑低值,反相器212将该逻辑低值反相到逻辑高值以生成组合信号量锁指示符214。注意,信号量值输入224、234、284、294中的任何一个是逻辑高值(在该示例中为“锁定”值)将引起“或”门213输出逻辑高值,反相器212将该逻辑高值反相为逻辑低值以生成组合信号量锁指示符214。如果组合信号量锁指示符214是逻辑低值,则写使能信号218将被解除断言,而不管软件控制的使能信号211的值如何。
信号量值输入224、234、284、294分别由第一信号量寄存器220、第二信号量寄存器(未示出)、……、第(n-1)信号量寄存器(未示出)和第(n)信号量寄存器290提供。类似于图1,1-n个信号量寄存器220、290被耦合到公共地址总线250并且由其寻址(公共地址总线250的源可以在第二功率域或第一功率域中,如先前关于图1讨论的),这表示在单个时钟周期中可以写入1-n个信号量寄存器220、290中的仅一个。因此,为了打开信号量锁210(假定所有信号量寄存器220、290均处于“锁定”值),需要n个时钟周期来完成将“解锁”值写入n个信号量寄存器220、290中的每个的任务。因此,信号量寄存器的数目是一种设计选择,并且可以取决于可用物理区域、可用地址空间的大小、系统时序约束以及本领域技术人员很清楚的其他考虑因素。在一些方面,n个信号量寄存器220、290由诸如操作系统或内核等软件可寻址和可写入。
如图2所示,当采用多于两个信号量寄存器来控制信号量锁时,可以选择用于信号量寄存器的相关联的寄存器地址,使得任何一对信号量寄存器之间的汉明距离基本上相等。例如,对于三个信号量寄存器的情况,可以将地址选择为8'b11000111、8'b11111000和8'b00111111。
在一些方面,信号量寄存器可以被描述为“用于存储信号量值的部件”。公共地址总线可以被描述为“用于共同寻址用于存储的部件的部件”。信号量锁可以被描述为“用于锁定的部件”。
为了说明图1的装置100或图2的装置200的示例性操作,提供图3,图3图示了使用基于信号量的保护装置300的方法。在方法300的描述中可以参考图1和图2的所选择的元件,但是这种参考应当被理解为仅是通过示例和说明,而不是限制性的,并且本领域技术人员将容易地理解如何关于图1、图2以及未明确描述的本公开的其他方面来实现方法300
方法300在框310处开始,其中通过第一寄存器地址在第一功率域中寻址第一信号量寄存器,并且将第一解锁值写入第一信号量寄存器。例如,图1的第一信号量寄存器120的相关联的第一信号量寄存器地址在公共地址总线150上被断言,并且第一解锁值经由第一信号量值输入122被写入第一信号量寄存器120。在一些方面,框310可以在装置100的第一时钟周期期间发生。
该方法在框320处继续,其中通过第二寄存器地址在第一功率域中寻址第二信号量寄存器,并且将第二解锁值写入第二信号量寄存器。例如,图1的第二信号量寄存器130的相关联的第二信号量寄存器地址在公共地址总线150上被断言,并且第二解锁值经由第二信号量值输入132被写入第二信号量寄存器130。在一些方面,框320可以在装置100的第一时钟周期之后的第二时钟周期期间发生。
该方法在框330处继续,其中通过第一信号量寄存器和第二信号量寄存器控制信号量锁以允许来自第二功率域的信号传播到第一功率域。例如,一旦第一信号量寄存器120和第二信号量寄存器130通过分别在公共地址总线150上被寻址而具有在随后的时钟周期中写入的解锁值并且将解锁值提供给第一信号量寄存器输入124和第二信号量寄存器输入134上的信号量锁110,信号量锁就将允许信号160传播到下游逻辑或寄存器140。在一些方面,信号160被允许传播到下游逻辑或寄存器可以包括:信号160在下游逻辑或寄存器140的存储元件处被捕获。
该方法还可以包括:在框340处,通过第一寄存器地址在第一功率域中寻址第一信号量寄存器并且将第一锁定值写入第一信号量寄存器,并且通过第一信号量寄存器和第二信号量寄存器控制信号量锁以禁止来自第二功率域的信号传播到第一功率域。例如,响应于在公共地址总线上断言第一信号量寄存器地址,可以经由第一信号量值输入122将“锁定”值写入第一信号量寄存器120。响应于“锁定”值被写入第一信号量寄存器120并且经由第一信号量寄存器输入124被提供给信号量锁110,来自信号量锁110的保护信号118可以禁止信号160传播到下游逻辑锁或寄存器140。在一些方面,一旦信号量锁110在框340中被“锁定”,就可以对第二功率域进行功率骤降,而不会将错误引入位于第一功率域中的下游逻辑或寄存器140。
在一些方面,在框310、320和340中描述的对第一信号量寄存器和第二信号量寄存器的写入可以在诸如操作系统或内核等软件的控制下。该软件可以负责在公共地址总线上断言适当的寄存器地址,并且负责在相应信号量值输入上提供适当的锁定或解锁值。软件还可以负责确保维持关于信号量值寄存器的特定写入顺序期望。软件可以被实施为存储在非瞬态计算机可读介质上并且由处理器执行的指令。
尽管本文中的信号量寄存器已经被图示为单位(single-bit)寄存器,但是本公开的教导不限于单位寄存器。信号量寄存器可以具有由设计者选择的任何位宽,并且本领域技术人员将能够容易地适应所示的信号量锁以适应相关联的信号量寄存器的不同位宽。例如,在多位(multi-bit)信号量寄存器中,单个多位值可以定义为“解锁”值,而所有值都被视为“锁定”值。而且,与信号量寄存器地址一样,可以选择针对多位信号量寄存器的“解锁”值,以使每对多位信号量寄存器之间的汉明距离基本上最大化。
现在将关于图4讨论可以在其中利用本公开的各方面的示例装置。图4示出了包含关于图1和图2描述的基于信号量的保护装置的计算设备400的图,其可以根据图3中描述的方法来操作。在这方面,系统400包括处理器402和耦合到处理器402的存储器432,处理器402可以包含图1的装置100或图2的装置200,存储器432可以存储在由处理器402执行时可以执行图3的方法300的非瞬态计算机可读指令。
系统402还示出了被耦合到处理器402和显示器428的控制器426。在一些情况下,计算设备400可以用于无线通信,并且图4还以虚线示出了可选框,诸如耦合到处理器402的编码器/解码器(CODEC)434(例如,音频和/或语音CODEC),和扬声器436和麦克风438,扬声器436和麦克风438可以被耦合到CODEC 434;以及被耦合到无线控制器440的处理器402,处理器402被耦合到无线天线442。在存在这些可选框中的一个或多个的情况下,在特定方面,处理器402、显示控制器426、存储器432和无线控制器440被包括在系统封装或片上系统设备422中。
因此,在特定方面,输入设备430和电源444被耦合到片上系统设备422。另外,在特定方面,如图4所示,在存在一个或多个可选框的情况下,显示器428、输入设备430、扬声器436、麦克风438、无线天线442和电源444在片上系统设备422外部。然而,显示器428、输入设备430、扬声器436、麦克风438、无线天线442和电源444中的每个可以被耦合到片上系统设备422的组件,诸如接口或控制器。
应当注意,尽管图4总体上描绘了计算设备,但是处理器402和存储器432也可以被集成到移动电话、通信设备、计算机、服务器、膝上型电脑、平板电脑、个人数字助理、音乐播放器、视频播放器、娱乐单元和机顶盒或其他类似设备中。
应当理解,本公开不限于以上用于描述本公开的术语。例如,功率域也可以称为功率岛、电压域等。
本领域技术人员将理解,信息和信号可以使用各种不同工艺和技术中的任何一种来表示。例如,贯穿以上说明书可以被引用的数据、指令、命令、信息、信号、位、符号和芯片可以由电压、电流、电磁波、磁场或粒子、光场或粒子或其任何组合来表示。
此外,本领域技术人员将理解,结合本文中公开的各方面描述的各种说明性的逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,上面已经大体上根据其功能性描述了各种说明性的组件、块、模块、电路和步骤。将这样的功能性实现为硬件还是软件取决于特定应用和施加在整个系统上的设计约束。技术人员可以针对每个特定应用以各种方式来实现所描述的功能性,但是这种实现决定不应当被解释为导致脱离本发明的范围。
结合本文中所公开的各方面描述的方法、序列和/或算法可以直接在硬件中,在由处理器执行的软件模块中或在两者的组合中被实施。软件模块可以驻留在RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移除磁盘、CD-ROM或本领域已知的任何其他形式的存储介质中。示例性存储介质被耦合到处理器,使得处理器可以从该存储介质读取信息并且可以向该存储介质写入信息。备选地,存储介质可以与处理器成一体。
因此,本发明的方面可以包括一种实施用于通过第一信号量寄存器和第二信号量寄存器来控制信号量锁的方法的计算机可读介质。因此,本发明不限于所图示的示例,并且用于执行本文中描述的功能性的任何部件都被包括在本发明的各方面中。
虽然前述公开内容示出了本发明的说明性方面,但是应当注意,在不脱离由所附权利要求限定的本发明的范围的情况下,可以在本文中进行各种改变和修改。根据本文中描述的本发明的各方面的方法权利要求的功能、步骤和/或动作不需要以任何特定顺序执行。此外,尽管本发明的元件可以以单数形式描述或要求保护,但是可以预期复数形式,除非明确说明了对单数形式的限制。
Claims (22)
1.一种基于信号量的保护装置,包括:
第一信号量寄存器和第二信号量寄存器,被设置在第一功率域中;
公共地址总线,被耦合到所述第一信号量寄存器和所述第二信号量寄存器;以及
信号量锁,被设置在所述第一功率域中,并且被耦合到所述第一信号量寄存器和所述第二信号量寄存器;其中
所述信号量锁适于由所述第一信号量寄存器和所述第二信号量寄存器控制,并且所述信号量锁还适于控制来自第二功率域的信号是否被允许传播到所述第一功率域。
2.根据权利要求1所述的基于信号量的保护装置,其中来自所述第二功率域的所述信号被耦合到所述第一功率域中的存储元件,并且所述信号量锁控制来自所述第二功率域的所述信号是否被允许由所述存储元件捕获。
3.根据权利要求1所述的基于信号量的保护装置,其中所述第一信号量寄存器由第一寄存器地址寻址,并且所述第二信号量寄存器由第二寄存器地址寻址。
4.根据权利要求3所述的基于信号量的保护装置,其中所述第一寄存器地址和所述第二寄存器地址被选择,使得从所述第一寄存器地址到所述第二寄存器地址的汉明距离基本上被最大化。
5.根据权利要求3所述的基于信号量的保护装置,其中写入顺序期望关于所述第一信号量寄存器和所述第二信号量寄存器被实施。
6.根据权利要求5所述的基于信号量的保护装置,其中所述第一信号量寄存器通过在所述公共地址总线上的所述第一寄存器地址的断言而被选择、并且在第一周期期间被写入,并且所述第二信号量寄存器通过在所述公共地址总线上的所述第二寄存器地址的断言而被选择、并且在所述第一周期之后的第二周期期间被写入。
7.根据权利要求3所述的基于信号量的保护装置,还包括被设置在所述第一功率域中的第三信号量寄存器,所述第三信号量寄存器被耦合到所述公共地址总线、并且由第三寄存器地址寻址,其中选自所述第一寄存器地址、所述第二寄存器地址和所述第三寄存器地址的每对地址之间的汉明距离基本上相等。
8.根据权利要求1所述的基于信号量的保护装置,其中所述第一信号量寄存器和所述第二信号量寄存器中的每个信号量寄存器包括单位寄存器。
9.根据权利要求1所述的基于信号量的保护装置,其中所述第一信号量寄存器和所述第二信号量寄存器中的每个信号量寄存器包括多位寄存器,所述第一信号量寄存器和所述第二信号量寄存器中的每个信号量寄存器具有相关联的单个多位解锁值。
10.根据权利要求1所述的基于信号量的保护装置,其中所述第一信号量寄存器和所述第二信号量寄存器是软件可写的。
11.根据权利要求1所述的基于信号量的保护装置,被集成到选自由以下各项组成的组的设备中:移动电话、通信设备、计算机、服务器、膝上型电脑、平板电脑、个人数字助理、音乐播放器、视频播放器、娱乐单元和机顶盒。
12.一种使用基于信号量的保护装置的方法,包括:
通过第一寄存器地址在第一功率域中寻址第一信号量寄存器,并且将第一解锁值写入所述第一信号量寄存器;
通过第二寄存器地址在所述第一功率域中寻址第二信号量寄存器,并且将第二解锁值写入所述第二信号量寄存器;以及
通过所述第一信号量寄存器和所述第二信号量寄存器控制信号量锁,以允许来自第二功率域的信号传播到所述第一功率域。
13.根据权利要求12所述的方法,还包括:在所述第一功率域中的存储元件处捕获所述信号。
14.根据权利要求12所述的方法,还包括:通过所述第一寄存器地址在所述第一功率域中寻址所述第一信号量寄存器,并且将第一锁定值写入所述第一信号量寄存器;以及
通过所述第一信号量寄存器和所述第二信号量寄存器控制所述信号量锁,以禁止来自所述第二功率域的信号传播到所述第一功率域。
15.根据权利要求14所述的方法,还包括:使所述第二功率域功率骤降。
16.根据权利要求12所述的方法,还包括:关于所述第一信号量寄存器和所述第二信号量寄存器实施写入顺序期望。
17.根据权利要求16所述的方法,还包括:在第一周期中将所述第一解锁值写入所述第一信号量寄存器,以及在所述第一周期之后的第二周期中将所述第二解锁值写入所述第二信号量寄存器。
18.根据权利要求12所述的方法,其中写入所述第一解锁值和写入所述第二解锁值由软件控制。
19.一种基于信号量的保护装置,包括:
用于存储信号量值的第一部件和第二部件,所述第一部件和所述第二部件被设置在第一功率域中;
用于对用于存储的部件共同寻址的部件,所述用于存储的部件被耦合到用于存储信号量值的所述第一部件和所述第二部件;以及
用于锁定的部件,所述用于锁定的部件被设置在所述第一功率域中,并且被耦合到用于存储信号量值的所述第一部件和所述第二部件;其中
所述用于锁定的部件适于由用于存储信号量值的所述第一部件和所述第二部件控制,并且所述用于锁定的部件还适于控制来自第二功率域的信号是否被允许传播到所述第一功率域。
20.根据权利要求19所述的基于信号量的保护装置,其中用于存储信号量值的所述第一部件在第一周期期间被写入,并且用于存储信号量值的所述第二部件在所述第一周期之后的第二周期期间被写入。
21.一种非瞬态计算机可读介质,包括指令,所述指令在由处理器执行时使所述处理器:
在第一周期期间通过第一寄存器地址在第一功率域中寻址第一信号量寄存器,并且将第一解锁值写入所述第一信号量寄存器;
在所述第一周期之后的第二周期期间通过第二寄存器地址在所述第一功率域中寻址第二信号量寄存器,并且将第二解锁值写入所述第二信号量寄存器;以及
通过所述第一信号量寄存器和所述第二信号量寄存器控制信号量锁,以允许来自第二功率域的信号传播到所述第一功率域。
22.根据权利要求21所述的非瞬态计算机可读介质,还包括指令,所述指令在由所述处理器执行时使所述处理器:
通过所述第一寄存器地址在所述第一功率域中寻址所述第一信号量寄存器,并且将第一锁定值写入所述第一信号量寄存器;以及
通过所述第一信号量寄存器和所述第二信号量寄存器控制所述信号量锁,以禁止来自所述第二功率域的所述信号传播到所述第一功率域。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/499,247 | 2017-04-27 | ||
US15/499,247 US10210116B2 (en) | 2017-04-27 | 2017-04-27 | Method, apparatus, and system for semaphore-based protection of power-domain-crossing signals |
PCT/US2018/029038 WO2018200448A1 (en) | 2017-04-27 | 2018-04-24 | Method, apparatus, and system for semaphore-based protection of power-domain-crossing signals |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110546613A CN110546613A (zh) | 2019-12-06 |
CN110546613B true CN110546613B (zh) | 2023-03-07 |
Family
ID=62200534
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880027681.7A Active CN110546613B (zh) | 2017-04-27 | 2018-04-24 | 用于跨功率域信号的基于信号量保护的方法、装置和系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10210116B2 (zh) |
CN (1) | CN110546613B (zh) |
WO (1) | WO2018200448A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10983851B1 (en) * | 2019-12-04 | 2021-04-20 | Cirrus Logic, Inc. | Protecting against memory corruption and system freeze during power state transitions in a multi-power domain system |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5835742A (en) * | 1994-06-14 | 1998-11-10 | Apple Computer, Inc. | System and method for executing indivisible memory operations in multiple processor computer systems with multiple busses |
CN1520121A (zh) * | 2003-02-04 | 2004-08-11 | 三星电子株式会社 | 具有节能模式的媒体访问控制器 |
TW200912642A (en) * | 2007-08-09 | 2009-03-16 | Ibm | Method, apparatus and computer program product providing instruction monitoring for reduction of energy usage and energy reduction when storing data in a memory |
CN102918474A (zh) * | 2009-05-13 | 2013-02-06 | 苹果公司 | 功率管理锁优化 |
CN104011625A (zh) * | 2011-12-22 | 2014-08-27 | 英特尔公司 | 用于能量效率和节能的方法、装置和系统,包括使用寄存器次级不间断电源的改进的处理器核深断电退出等待时间 |
US9268901B1 (en) * | 2014-08-06 | 2016-02-23 | Xilinx, Inc. | Emulating power gating for a circuit design using a programmable integrated circuit |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7143414B2 (en) * | 2001-09-26 | 2006-11-28 | International Business Machines Corporation | Method and apparatus for locking multiple semaphores |
JP4846272B2 (ja) * | 2005-06-07 | 2011-12-28 | ルネサスエレクトロニクス株式会社 | 半導体集積回路装置 |
JP4621113B2 (ja) | 2005-10-28 | 2011-01-26 | ルネサスエレクトロニクス株式会社 | 半導体集積回路装置 |
JP4480661B2 (ja) | 2005-10-28 | 2010-06-16 | 株式会社ルネサステクノロジ | 半導体集積回路装置 |
US7982498B1 (en) * | 2010-05-18 | 2011-07-19 | Global Unichip Corp. | System and method for power domain isolation |
US8494477B2 (en) * | 2011-06-24 | 2013-07-23 | Intel Corporation | Power management for an electronic device |
US9098270B1 (en) | 2011-11-01 | 2015-08-04 | Cypress Semiconductor Corporation | Device and method of establishing sleep mode architecture for NVSRAMs |
US8994402B2 (en) * | 2013-01-31 | 2015-03-31 | Oracle International Corporation | Level shifter circuit optimized for metastability resolution and integrated level shifter and metastability resolution circuit |
US9276575B2 (en) * | 2013-11-18 | 2016-03-01 | Intel Corporation | Low leakage state retention synchronizer |
KR102285749B1 (ko) | 2014-11-10 | 2021-08-05 | 삼성전자주식회사 | 세마포어 기능을 갖는 시스템 온 칩 및 그것의 세마포어 구현 방법 |
US9830295B2 (en) | 2015-01-15 | 2017-11-28 | Nxp Usa, Inc. | Resource domain partioning in a data processing system |
US9407264B1 (en) * | 2015-05-17 | 2016-08-02 | Freescale Semiconductor, Inc. | System for isolating integrated circuit power domains |
US9929741B1 (en) * | 2016-11-17 | 2018-03-27 | Novatek Microelectronics Corp. | Control circuit for current switch of current DAC |
-
2017
- 2017-04-27 US US15/499,247 patent/US10210116B2/en active Active
-
2018
- 2018-04-24 WO PCT/US2018/029038 patent/WO2018200448A1/en active Application Filing
- 2018-04-24 CN CN201880027681.7A patent/CN110546613B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5835742A (en) * | 1994-06-14 | 1998-11-10 | Apple Computer, Inc. | System and method for executing indivisible memory operations in multiple processor computer systems with multiple busses |
CN1520121A (zh) * | 2003-02-04 | 2004-08-11 | 三星电子株式会社 | 具有节能模式的媒体访问控制器 |
TW200912642A (en) * | 2007-08-09 | 2009-03-16 | Ibm | Method, apparatus and computer program product providing instruction monitoring for reduction of energy usage and energy reduction when storing data in a memory |
CN102918474A (zh) * | 2009-05-13 | 2013-02-06 | 苹果公司 | 功率管理锁优化 |
CN104011625A (zh) * | 2011-12-22 | 2014-08-27 | 英特尔公司 | 用于能量效率和节能的方法、装置和系统,包括使用寄存器次级不间断电源的改进的处理器核深断电退出等待时间 |
US9268901B1 (en) * | 2014-08-06 | 2016-02-23 | Xilinx, Inc. | Emulating power gating for a circuit design using a programmable integrated circuit |
Also Published As
Publication number | Publication date |
---|---|
US20180314659A1 (en) | 2018-11-01 |
US10210116B2 (en) | 2019-02-19 |
CN110546613A (zh) | 2019-12-06 |
WO2018200448A1 (en) | 2018-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11150686B2 (en) | Apparatuses for reducing clock path power consumption in low power dynamic random access memory | |
US10394724B2 (en) | Low power data transfer for memory subsystem using data pattern checker to determine when to suppress transfers based on specific patterns | |
JP5856360B2 (ja) | 交差結合ビット線キーパーをもつメモリアレイ中で読取り書込み衝突中にクローバ電流を防げるダミー読取り | |
US20130227257A1 (en) | Data processor with asynchronous reset | |
TW201729214A (zh) | 用於解決動態隨機存取記憶體缺陷之系統,方法及電腦程式 | |
US10802742B2 (en) | Memory access control | |
CN110546613B (zh) | 用于跨功率域信号的基于信号量保护的方法、装置和系统 | |
KR102353028B1 (ko) | 시퀀셜 회로 및 그것의 동작 방법 | |
JP4576391B2 (ja) | 不揮発性記憶ステージを備えたfifoメモリ装置 | |
US9400708B2 (en) | Integrated circuit and method of detecting a data integrity error | |
JP4888562B2 (ja) | メモリ回路およびメモリ回路のデータ書き込み・読み出し方法 | |
CN110741345A (zh) | 对固定方向分支指令的分支预测 | |
US7962681B2 (en) | System and method of conditional control of latch circuit devices | |
CN105608033B (zh) | 半导体装置及其操作方法 | |
US20100232250A1 (en) | Interface circuit and method for coupling between a memory device and processing circuitry | |
US7085147B2 (en) | Systems and methods for preventing malfunction of content addressable memory resulting from concurrent write and lookup operations | |
CN107039075B (zh) | 非易失性存储装置 | |
US20220083419A1 (en) | Programmable and high-performance data scrambler for non-volatile memory controllers | |
US9960759B2 (en) | N-bit compare logic with single ended inputs | |
JP2005174090A (ja) | データ転送回路 | |
JP2005202756A (ja) | 半導体回路装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |