CN106444965B - 时钟管理单元、包括其的集成电路和管理时钟的方法 - Google Patents
时钟管理单元、包括其的集成电路和管理时钟的方法 Download PDFInfo
- Publication number
- CN106444965B CN106444965B CN201610642814.4A CN201610642814A CN106444965B CN 106444965 B CN106444965 B CN 106444965B CN 201610642814 A CN201610642814 A CN 201610642814A CN 106444965 B CN106444965 B CN 106444965B
- Authority
- CN
- China
- Prior art keywords
- clock
- circuit
- processor
- interrupt
- clock management
- 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
- 238000000034 method Methods 0.000 title abstract description 27
- 238000012545 processing Methods 0.000 claims description 23
- 230000005540 biological transmission Effects 0.000 claims description 13
- 238000007726 management method Methods 0.000 description 141
- 238000010586 diagram Methods 0.000 description 38
- 230000006870 function Effects 0.000 description 28
- 230000003111 delayed effect Effects 0.000 description 27
- 230000008569 process Effects 0.000 description 19
- 230000007704 transition Effects 0.000 description 16
- 238000005259 measurement Methods 0.000 description 9
- 102100040844 Dual specificity protein kinase CLK2 Human genes 0.000 description 7
- 101000749291 Homo sapiens Dual specificity protein kinase CLK2 Proteins 0.000 description 7
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 101100113692 Caenorhabditis elegans clk-2 gene Proteins 0.000 description 1
- 102100040856 Dual specificity protein kinase CLK3 Human genes 0.000 description 1
- 101000749304 Homo sapiens Dual specificity protein kinase CLK3 Proteins 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000010355 oscillation Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered 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/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/08—Clock generators with changeable or programmable clock frequency
-
- 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/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/10—Distribution of clock signals, e.g. skew
-
- 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/324—Power saving characterised by the action undertaken by lowering clock frequency
-
- 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/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
-
- 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)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microcomputers (AREA)
- Advance Control (AREA)
Abstract
一种时钟管理单元、包括其的集成电路和管理时钟的方法。在一个实施例中,所述集成电路包括:时钟产生器,被配置为选择性地产生第一时钟;处理器,被配置为执行操作;时钟管理电路。时钟管理电路被配置为从处理器接收时钟管理信息,并基于时钟管理信息和第一时钟选择性地产生第二时钟。处理器被配置为基于第二时钟执行一些操作。
Description
本申请要求于2015年8月6日提交到韩国知识产权局的第10-2015-0111210号韩国专利申请的权益,所述韩国专利申请的公开通过引用全部包含于此。
技术领域
本发明构思涉及一种处理器和/或操作处理器的方法,更具体地讲,涉及一种时钟管理单元、包括时钟管理单元的集成电路、片上系统和/或操作片上系统的方法。
背景技术
当经由处理器实现软件时,会发生在相当短的时间段期间无操作(NOP)被执行时处理器等待的情况。当处理器等待硬件操作(诸如,中断处理)完成时,或当因当前执行的硬件操作的期望完成时间短而难以调用另一功能时,使用软件延迟功能(诸如NOP功能)。然而,即使执行软件延迟功能,处理器也因时钟的触发而不必需地耗电。
发明内容
至少一个实施例涉及一种集成电路。
在一个实施例中,所述集成电路包括:时钟产生器,被配置为选择性地产生第一时钟;处理器,被配置为执行操作;时钟管理电路。时钟管理电路被配置为从处理器接收时钟管理信息,并基于时钟管理信息和第一时钟选择性地产生第二时钟。处理器被配置为基于第二时钟执行一些操作。
在另一实施例中,所述集成电路包括:处理器,被配置为基于时钟信号执行操作。所述集成电路还包括:时钟管理电路,被配置为从处理器接收时钟管理信息,并被配置为基于时钟管理信息在一个时间段内暂停向处理器发送时钟信号。
至少一个实施例涉及一种时钟管理电路。
在一个实施例中,所述时钟管理电路包括:时钟门控电路,被配置为接收第一时钟,并被配置为基于第一时钟和控制信号选择性地产生第二时钟。所述时钟管理电路还包括:控制电路,被配置为基于从处理器接收的时钟管理信息产生控制信号。
至少一个实施例涉及一种管理时钟的方法。
在一个实施例中,所述管理时钟的方法包括:在从处理器接收的时钟管理信息中指示的时间段内,通过电路暂停向处理器提供时钟。
附图说明
从以下结合附图的详细描述,本发明构思的示例实施例将被更清楚地理解,在附图中:
图1示出根据示例实施例的包括时钟管理单元的集成电路的配置;
图2示出根据另一示例实施例的包括时钟管理单元的集成电路的配置;
图3示出根据示例实施例的包括时钟管理单元的处理器的配置;
图4示出根据示例实施例定义的延迟指令的配置;
图5示出根据示例实施例的时钟管理单元的配置;
图6示出根据示例实施例的图5中示出的时钟门控电路的配置;
图7示出根据另一示例实施例的图5中示出的时钟门控电路的配置;
图8示出根据另一示例实施例的图5中示出的时钟门控电路的配置;
图9是根据另一示例实施例的用于描述在处理器中执行延迟指令的处理的指令流水线状态图;
图10是根据另一示例实施例的用于描述在处理器中执行延迟指令的处理的指令流水线状态图;
图11是根据另一示例实施例的用于描述在处理器中执行延迟指令的处理的指令流水线状态图;
图12是根据另一示例实施例的用于描述在处理器中执行延迟指令的处理的指令流水线状态图;
图13是根据示例实施例的时钟管理单元的输入/输出时钟信号的状态图;
图14是当处理器根据如图9所示的指令流水线状态执行延迟指令时包括时钟管理单元的集成电路的主要的信号的波形图;
图15是当处理器根据如图10所示的指令流水线状态执行延迟指令时包括时钟管理单元的集成电路的主要的信号的波形图;
图16是当处理器根据如图11所示的指令流水线状态执行延迟指令时包括时钟管理单元的集成电路的主要的信号的波形图;
图17是当处理器根据如图12所示的指令流水线状态执行延迟指令时包括时钟管理单元的集成电路的主要的信号的波形图;
图18是根据示例实施例的在集成电路中执行的时钟管理方法的流程图;
图19是根据另一示例实施例的在集成电路中执行的时钟管理方法的流程图;
图20示出根据示例实施例的应用时钟管理单元的片上系统的配置;
图21示出根据另一示例实施例的应用时钟管理单元的片上系统的配置;
图22示出根据另一示例实施例的应用时钟管理单元的片上系统的配置;
图23示出根据另一示例实施例的应用时钟管理单元的片上系统的配置。
具体实施方式
这里公开了发明构思的详细的示例实施例。然而,在此公开的具体结构和功能细节仅是代表描述发明构思的示例实施例的目的。然而,发明构思的示例实施例可以以许多替换形式来实现,并且不应理解为仅限于在此阐述的实施例。
因此,虽然发明构思的示例实施例能够具有各种修改和替换形式,但是在附图中以示例的方式来示出本发明构思的实施例,并且在此将详细描述所述实施例。然而,应该理解的是,并不意图将发明构思的示例实施例限制为公开的特定形式,而是恰恰相反,发明构思的示例实施例将涵盖落入发明构思的示例实施例的范围内的所有修改、等同物和替代物。在附图的整个描述中,同样的附图标记表示同样的元件。
将理解的是,虽然在这里可使用术语第一、第二等来描述各种元件,但是这些元件不应该受这些术语限制。这些术语仅用于将一个元件与另一个元件区分开。例如,在不脱离发明构思的示例实施例的范围的情况下,第一元件可以被称为第二元件,类似地,第二元件可以被称为第一元件。如在这里使用的,术语“和/或”包括一个或更多个相关列出项的任意和全部组合。
将理解的是,当元件被称作“连接”或“结合”到另一元件时,该元件可以直接连接到或结合到所述另一元件,或者可以存在中间元件。相反,当元件被称为“直接连接”或“直接结合”到另一元件时,不存在中间元件。用于描述元件之间关系的其他词语应该以类似的方式进行解释(例如,“在……之间”与“直接在……之间”,“相邻于”与“直接相邻于”等)。
在这里使用的术语仅出于描述具体实施例的目的,并非意图限制发明构思的示例实施例。如这里所使用的,除非上下文另外明确指出,否则单数形式的“一个(种)”和“所述(该)”也意图包括复数形式。还将理解的是,当在此使用术语“包括”和/或“包含”时,说明存在所述特征、整体、步骤、操作、元件和/或组件,但不排除存在或附加一个或更多个其它特征、整体、步骤、操作、元件、组件和/或其它们的组。
还应当注意到,在某些可选实施中,标注的功能/行为可以不按附图中标注的顺序发生。例如,连续示出的两个图实际上可基本同时被执行,或者有时可按相反顺序被执行,这取决于涉及的功能/行为。
参照发明构思的理想实施例(和中间结构)的示意图解在此描述发明构思的示例实施例。由此,预计会出现例如由制造技术和/或公差引起的图例的形状的变化。因此,发明构思的示例实施例不应该被解释为局限于在此示出的区域的具体形状,而将包括例如由制造导致的形状的偏差。
现在将参照附图更充分地描述本发明构思,在附图中示出了根据本发明构思的示例性实施例。然而,可以以许多不同的形式来实现本发明构思,并且本发明构思不应该被解释为限制于这里阐述的示例实施例;相反,提供这些实施例以使得本公开将是全面和完整的,并且这些实施例将向本领域技术人员充分传达本发明构思的范围。在附图中,为了清楚,可以夸大层和区域的大小和相对大小。贯穿整个说明书,附图中的相同标号表示相同的元件。在附图中,为了清楚,可放大或减小层和区域的长度和大小。当诸如“……中的至少一个”的表达出现在一列元件之后时,其修饰整列元件而不修饰列中的单个元件。
这里使用的术语仅为了描述特定实施例,而不意图对本发明构思进行限制。单数表述包括复数表述表达,除非两种表述方式在上下文彼此不同。例如,如这里所使用的,除非上下文另外明确指示,否则单数形式也意图包括复数形式。将理解,当在这里使用诸如“包含”、“包括”和“具有”的术语时,指示存在指出的特征、整体、步骤、操作、元件、组件或者它们的组合。但不排除存在或添加一个或多个其它特征、整体、步骤、操作、元件、组件或者它们的组合。
除非另外定义,否则这里使用的包括技术和科学术语的所有术语具有与本发明构思所属领域的普通技术人员通常理解的含义相同的含义。还将理解,诸如通用字典中定义的术语应被解释为具有与现有技术的上下文中的含义一致的含义,除非在这里明确定义,否则这些术语将不被解释为理想的或过于正式的含义。
图1示出根据示例实施例的集成电路1000A的配置。
参照图1,集成电路1000A可包括处理器100A和时钟产生单元200。处理器100A可包括核处理器110和时钟管理单元120。
例如,处理器100A可应用于智能电话、平板个人计算机(PC)、数码相机、移动装置、机顶盒、智能卡系统、服务器系统和其他各种电子装置。
时钟产生单元200可产生输入到处理器100A的第一时钟信号CLK1_IN。时钟产生单元200可产生具有用于处理器100A的操作的频率的第一时钟信号CLK1_IN。例如,时钟产生单元200可以是任何公知振荡电路。
可选择地,时钟产生单元200可被安装在集成电路1000A的外部。在这种情况下,从时钟产生单元200输出的第一时钟信号CLK1_IN可通过连接集成电路1000A与时钟产生单元200的信号线被处理器100A接收。
核处理器110还可被称为中央处理器(CPU)。核处理器110可基于编程的软件控制构成集成电路1000A的组件的操作。例如,核处理器110可包括寄存器块、指令解码器、算术逻辑单元(ALU)、控制单元等。
核处理器110可基于由时钟管理单元120发送的第一时钟信号CLK1_OUT,根据指令流水线顺序地执行包括指令取出操作、指令解码操作和指令执行操作的三级操作。
可选择地,当采用二级指令流水线时,核处理器110可顺序地执行包括指令取出操作和指令执行操作的二级操作。可选择地,当采用四级指令流水线时,核处理器110可顺序地执行包括指令取出操作、指令解码操作、操作数取出操作和指令执行操作的四级操作。除了上述指令流水线方案之外,还可采用各种指令流水线方案。
当处理器100A实现软件时,可存在出现在不执行操作时核处理器110等待的时间段的情况。例如,所述情况可包括等待硬件操作(诸如,中断处理)的完成的情况,或因当前被驱动的硬件操作的期望完成时间短而难以调用另一功能的情况。
在这种情况下,核处理器110可使用延迟功能来执行根据无操作(NOP)处理的延时操作。即使当执行了根据NOP处理的延迟操作时,核处理器110也可使用时钟信号。因此,可产生功耗。
根据示例实施例,当出现在不执行操作时核处理器110等待的时间段时,可根据初始设置延迟指令INS_DLY,通过使用包括计时器电路的硬件来执行延迟操作和时钟门控操作,以保持指令流水线的同时减少功耗。例如,根据示例实施例,延迟指令INS_DLY可被定义为特定指令。
当初始设置延迟指令INS_DLY被调用时,核处理器110可产生与延迟指令相应的时钟控制因子信息INF_CG,并将时钟控制因子信息INF_CG传送到时钟管理单元120。
例如,核处理器110可基于对延迟指令INS_DLY进行解码的结果,产生时钟控制因子信息INF_CG。例如,时钟控制因子信息INF_CG可包括关于延时时间段(或延迟时间段)的长度的信息。时钟控制因子信息INF_CG还可包括以下项中的至少一个:时钟分频比设置信息、强制门控(force gating)信息和状态信息。
时钟分频比设置信息是这样的信息:所述信息用于确定哪个分频比用于对第一时钟信号CLK1_IN进行分频以降低第一时钟信号CLK1_IN的频率,以便在时钟管理单元120的计时器电路中产生用于时间测量的时钟信号。
强制门控(force gating)信息可以是用于虽然在由延迟指令INS_DLY的执行触发的延时时间段期间产生中断但是忽略中断的功能设置信息。状态信息可以是用于向核处理器110通知时钟管理单元120的当前状态的功能设置信息。例如,状态信息可以是用于支持以下功能的设置信息:当执行延迟指令INS_DLY时在延时时间段期间,当核处理器110因中断而再次操作时,由时钟管理单元120向核处理器110通知延迟时间还剩多少。
时钟管理单元120可在目标时间段期间执行切断向核处理器110发送第一时钟信号CLK1_OUT的时钟门控操作,其中,目标时间段基于当延迟指令INS_DLY被核处理器110执行时从核处理器110接收的时钟控制因子信息INF_CG被确定。因此,在目标时间段期间,被执行时钟门控操作的第一时钟信号CLK1_OUT可被发送到核处理器100的时钟信号线。例如,目标时间段是延时时间段并且可根据时钟控制因子信息INF_CG被确定为从延迟指令INS_DLY被执行的时间至与延时时间段的长度相应的时间的时间段。
可选择地,当延迟指令INS_DLY被调用时,核处理器110可照常将延迟指令INS_DLY传送到时钟管理单元120。在这种情况下,时钟管理单元120可对接收的延迟指令INS_DLY进行解码并基于解码结果执行时钟门控操作。
如上所述,可通过由硬件实现的时钟管理单元120(诸如计时器电路)来执行延迟操作和时钟门控操作。
例如,当强制门控信息被设置以优选地在延时时间段处理中断时,时钟管理单元120可如下操作。
当在目标时间段(即,基于延迟指令INS_DLY确定的延迟时间段)期间接收到中断信号INT时,时钟管理单元120可执行恢复向核处理器110发送第一时钟信号CLK1_IN的操作。在即使核处理器110根据中断信号INT完成中断任务之后目标时间段仍未过去的情况下,时钟管理单元120可恢复切断向核处理器110发送第一时钟信号CLK1_IN的时钟门控操作。
当在开始执行延迟指令INS_DLY的时间与开始执行切断向核处理器110发送第一时钟信号CLK1_IN的时钟门控操作的时间之间的时间段期间中断被产生时,时钟管理单元120可执行允许向核处理器110发送第一时钟信号CLK1_IN的操作,直到正被执行的中断被完成为止。
虽然未示出,但是时钟管理单元120可从核处理器110接收指示中断任务的完成的控制信号。
当强制门控信息被设置以忽略在延时时间段期间产生的中断时,即使在目标时间段期间接收到中断信号INT,时钟管理单元120也可不允许向核处理器110发送第一时钟信号CLK1_IN。
在完成根据延迟指令INS_DLY的执行的时钟门控操作之后,核处理器110可执行在延迟指令INS_DLY之后被执行的随后的指令的执行。根据指令流水线处理,核处理器110可同时执行对延迟指令INS_DLY进行解码的操作和取出在延迟指令INS_DLY之后被执行的随后的指令的操作。核处理器110可同时执行运行延迟指令INS_DLY的操作和对随后的指令进行解码的操作。核处理器110可完成根据延迟指令INS_DLY的执行的时钟门控操作并执行运行解码的随后的指令的操作。因此,可在保持指令流水线的同时通过硬件电路实现精确的延时操作和时钟门控操作。
图2示出根据另一示例实施例的包括时钟管理单元300的集成电路1000B的配置。
参照图2,集成电路1000B可包括处理器100B、时钟产生单元200和时钟管理单元300。
由于已参照图1描述了时钟产生单元200,因此将省略对其的多余描述。类似于集成电路1000A,时钟产生单元200可被安装在集成电路1000B的外部。在这种情况下,从时钟产生单元200输出的第一时钟信号CLK1_IN可通过连接集成电路1000B与时钟产生单元200的信号线被集成电路1000B的时钟管理单元300接收。
处理器100B可根据指令流水线基于第一时钟信号CLK1_OUT执行指令处理。处理器100B可包括核处理器。处理器100B的示例可包括单核处理器或多核处理器。例如,处理器100B可应用于智能电话、平板个人计算机(PC)、数码相机、移动装置、机顶盒、智能卡系统、服务器系统和其它各种电子装置。
当初始设置延迟指令INS_DLY被调用时,处理器100B可产生与延迟指令INS_DLY相应的时钟控制因子信息INF_CG,并将产生的时钟控制因子信息INF_CG传送到时钟管理单元300。例如,处理器100B可基于对延迟指令INS_DLY进行解码的结果产生时钟控制因子信息INF_CG,并将产生的时钟控制因子信息INF_CG传送到时钟管理单元300。由于已参照图1描述了时钟控制因子信息INF_CG,因此省略对其的多余描述。
可选择地,当延迟指令INS_DLY被调用时,处理器100B可照常将延迟指令INS_DLY传送到时钟管理单元300。
时钟管理单元300可在目标时间段期间执行切断第一时钟信号CLK1_OUT的发送的时钟门控操作,其中,目标时间段基于当延迟指令INS_DLY被处理器100B执行时从处理器100B接收的时钟控制因子信息INF_CG被确定。因此,在目标时间段期间,被执行时钟门控操作的第一时钟信号CLK1_OUT可被发送到处理器100B的时钟输入端子。
当延迟指令INS_DLY被从处理器100B传送到时钟管理单元300时,时钟管理单元300可对接收的延迟指令INS_DLY进行解码,并基于解码结果执行时钟门控操作。结果,可通过由硬件实现的时钟管理单元300来执行延迟操作和时钟门控操作。
例如,当根据延迟指令INS_DLY的强制门控信息被设置以优选地在延时时间段处理中断时,时钟管理单元300可如下操作。
中断信号INT可被施加到处理器100B和时钟管理单元300两者。
当在目标时间段(即,基于延迟指令INS_DLY确定的延迟时间段)期间接收到中断信号INT时,时钟管理单元300可执行恢复向处理器100B发送第一时钟信号CLK1_IN的操作。也就是说,当接收到中断信号INT时,第一时钟信号CLK1_IN可被开启,并可被输出到时钟管理单元300。此外,从时钟管理单元300输出的第一时钟信号CLK1_OUT可被发送到处理器100B。
因此,处理器100B可根据中断信号执行中断任务。当即使处理器100B完成中断任务时目标时间段仍未过去时,时钟管理单元300可恢复切断第一时钟信号CLK1_IN的时钟门控操作。如所示出的那样,处理器100B可向时钟管理单元300提供控制信号CTL_SIG,控制信号CTL_SIG中的至少一个指示中断任务的完成。
当在开始执行延迟指令INS_DLY的时间与开始执行切断第一时钟信号CLK1_IN的时钟门控操作的时间之间的时间段期间中断被产生时,时钟管理单元300可执行开启第一时钟信号CLK1_IN的操作以允许第一时钟信号CLK1_IN的发送,直到正被执行的中断任务被完成为止。因此,时钟管理单元300可将产生时钟脉冲的第一时钟信号CLK1_OUT发送到处理器100B,直到完成中断任务为止。
当强制门控信息被设置以忽略在延时时间段期间产生的中断时,即使在目标时间段期间接收到中断信号INT,时钟管理单元300也可不暂停时钟门控操作。
在完成根据延迟指令INS_DLY的执行的时钟门控操作之后,处理器100B可执行在延迟指令INS_DLY之后被执行的随后的指令的执行。根据指令流水线处理,处理器100B可同时执行对延迟指令INS_DLY进行解码的操作和取出在延迟指令INS_DLY之后被执行的随后的指令的操作。处理器100B可同时执行运行延迟指令INS_DLY的操作和对随后的指令进行解码的操作。处理器100B可完成根据延迟指令INS_DLY的执行的时钟门控操作并执行运行解码的随后的指令的操作。
图3示出根据示例实施例的包括时钟管理单元120的处理器100A的配置。
参照图3,处理器100A可包括形成核处理器110的至少一部分的寄存器块111、指令解码器112、控制单元113、算术逻辑单元(ALU)114和总线115。处理器100A还包括连接到总线115的时钟管理单元120。
包括处理器100A的组件之中的寄存器块111、指令解码器112、控制单元113、ALU114和总线115的配置可被称为核处理器。
构成处理器100A的寄存器块111、指令解码器112、控制单元113、ALU114和时钟管理单元120可通过总线115发送和接收信号。控制单元113可执行用于控制处理器100A的组件的操作的指令处理操作。
寄存器块111可包括存储数据的寄存器和存储指令的寄存器。被控制单元113调用的指令可被存储在存储指令的寄存器中。例如,指令可从连接到处理器100A的高速缓冲存储器或存储器被读取。
指令解码器112可执行对存储在寄存器中的指令进行解码的操作。控制单元113可执行解码的指令。ALU 114可执行运算功能,诸如算术运算和逻辑运算。
当被指令解码器112解码的指令是延迟指令INS_DLY时,控制单元113可基于对延迟指令INS_DLY进行解码的结果产生时钟控制因子信息INF_CG并通过总线115将产生的时钟控制因子信息INF_CG传送到时钟管理单元120。由于已参照图1描述了时钟控制因子信息INF_CG,因此将省略对其的多余描述。
可选择地,当延迟指令INS_DLY被调用时,控制单元113可照常将延迟指令INS_DLY传送到时钟管理单元120。
时钟管理单元120可在延迟指令INS_DLY被执行时,基于从控制单元113接收的时钟控制因子信息INF_CG执行时钟门控操作。以下将详细描述在时钟管理单元120中执行时钟门控操作的处理。
图4示出根据示例实施例定义的延迟指令的配置。
参照图4,被定义为在延时时间段期间执行时钟门控操作的延迟指令INS_DLY可包括例如OP代码字段11、状态字段12、强制门控字段13、时钟分频(dividing)值字段14和计数值字段15。
在OP代码字段11中,表示延迟指令的代码被写入。在状态字段12中,用于设置向核处理器110通知时钟管理单元120的状态信息的功能的信息被写入。例如,在状态字段12中,指示是否支持以下功能的信息被写入:当在执行延迟指令INS_DLY时在延时时间段期间核处理器110因中断而再次操作时由时钟管理单元120向核处理器110通知延迟时间还剩多少。在强制门控字段13中,指示是否支持以下功能的信息被写入:即使在执行延迟指令INS_DLY时在延时时间段期间中断被产生,也忽略中断。在时钟分频值字段14中,设置包括在时钟管理单元120中的时钟分频器的时钟分频比率(clock division ratio)的信息被写入。在计数值字段15中,关于延时时间段的长度的信息被写入。
图5示出根据示例实施例的时钟管理单元120或300的配置。
参照图5,时钟管理单元120或300可包括控制电路410和时钟门控电路420。
控制电路410可从核处理器110或处理器100B接收延迟指令INS_DLY或时钟控制因子信息INF_CG以及控制信号CTL_SIG。时钟控制因子信息INF_CG可基于对延迟指令INS_DLY进行解码的结果被产生,并可包括关于延时时间段的长度的信息。时钟控制因子信息INF_CG还可包括时钟分频比率设置信息、强制门控信息和状态信息中的至少一个。
当时钟控制因子信息INF_CG被接收时,控制电路410可基于时钟控制因子信息INF_CG产生用于执行时钟门控操作的控制信号CTL,并可将控制信号CTL施加到时钟门控电路420。由控制电路410产生的控制信号CTL可包括用于控制构成时钟门控电路420的组件的一个或更多个控制信号。控制信号CTL的示例可包括用于测量作为基于延迟指令INS_DLY确定的延迟时间段的目标时间段的计时器控制信号CTL_TIMER、用于控制产生用于时间测量的时钟信号的时钟分频器的分频比率的分频控制信号CTL_DIV和用于时钟门控的开关控制信号CTL_SW。控制电路410可以是逻辑电路,以及控制电路410可以与设计选择有关。
在延迟指令INS_DLY被接收的情况下,控制电路410可在由延迟指令INS_DLY指示的目标时间段期间产生第一类型的控制信号,在除了目标时间段之外的时间段期间产生第二类型的控制信号,当在目标时间段期间接收到中断信号INT时产生第三类型的控制信号,并当在目标时间段期间中断任务被终止时产生第四类型的控制信号。第一类型的控制信号可具有用于执行时钟门控操作以使时钟脉冲不被从时钟门控电路420输出的逻辑值。第二类型的控制信号可具有用于允许时钟门控电路420输出时钟脉冲的逻辑值。第三类型的控制信号可具有用于允许时钟门控电路420输出时钟脉冲的逻辑值。第四类型的控制信号可具有用于恢复时钟门控操作的逻辑值。
以下将参照图13至图17详细描述上述各种类型的控制信号。
时钟门控电路420可接收第一时钟信号CLK1_IN。时钟门控电路420可根据由控制电路410施加的控制信号CTL,通过使用计时器电路测量时间。当作为测量时间的结果而到达目标时间段时,时钟门控电路420可将计时器期满信号S_TE传送到控制电路410。当计时器期满信号S_TE被接收时,控制电路410可产生用于终止时钟门控操作的控制信号CTL。换言之,当计时器期满信号S_TE被接收时,控制电路410可产生用于允许时钟门控电路420输出时钟脉冲的控制信号CTL。
时钟门控电路420可根据由控制电路410施加的控制信号CTL控制开关电路以执行时钟门控操作。将参照图6至图8详细描述时钟门控电路420的操作。
图6示出图5中示出的时钟门控电路的配置的示例420A。
参照图6,时钟门控电路420A可包括开关电路421、时钟分频器422和计时器电路423。
第一时钟信号CLK1_IN可被输入到开关电路421和时钟分频器422。开关电路421可根据由控制电路410施加的开关控制信号CTL_SW,执行输出或切断第一时钟信号CLK1_IN的开关操作。
例如,开关电路421可操作为在开关控制信号CTL_SW具有第一逻辑状态的时间段中接通,并操作为在开关控制信号CTL_SW具有第二逻辑状态的时间段中断开。因此,在开关控制信号CTL_SW具有第一逻辑状态的时间段中,开关电路421可允许输入到第一端子P1的第一时钟信号CLK1_IN被输出到第二端子P2。此外,在开关控制信号CTL_SW具有第二逻辑状态的时间段中,开关电路421可切断向第二端子P2输出输入到第一端子P1的第一时钟信号CLK1_IN。
也就是说,针对从开关电路421的第二端子P2输出的第一时钟信号CLK1_OUT,可在开关控制信号CTL_SW具有第一逻辑状态的时间段中产生时钟脉冲,可在开关控制信号CTL_SW具有第二逻辑状态的时间段中不产生时钟脉冲。例如,在开关控制信号CTL_SW具有第二逻辑状态的时间段中,第一时钟信号CLK1_OUT可具有DC状态(例如,0V)。第一时钟信号CLK1_OUT可被输出到核处理器110的时钟输入端子或处理器100B的时钟输入端子。
时钟分频器422的时钟分频比率可根据从控制电路410施加的分频控制信号CTL_DIV被确定。时钟分频器422可基于确定的时钟分频比率对第一时钟信号CLK1_IN进行分频,并产生第二时钟信号CLK2。因此,第二时钟信号CLK2可比第一时钟信号CLK1_IN具有更低的频率。例如,当第一时钟信号CLK1_IN的频率为m,时钟分频比率是n时,第二时钟信号CLK2的频率为m/n,其中,m大于0,n大于1。
当到达由延迟指令INS_DLY指示的目标时间段时,计时器电路423可基于第二时钟信号CLK2产生计时器期满信号S_TE并将产生的计时器期满信号S_TE传送到控制电路410。具体地讲,计时器电路423可从计时器控制信号CTL_TIMER被施加的时间开始对第二时钟信号CLK2进行计数,并当计数值达到与目标时间段的长度相应的值(例如,从由控制电路410向计数器电路423施加INS_DLY或INF_CG计数值15)时产生计时器期满信号S_TE。例如,计时器控制信号CTL_TIMER可以是计时器使能信号。
当在目标时间段期间中断未被产生时,开关电路421可在目标时间段期间根据开关控制信号CTL_SW不输出时钟脉冲。也就是说,开关电路421可在目标时间段期间,切断第一时钟信号CLK1_IN的输出。因此,针对从开关电路421输出的第一时钟信号CLK1_OUT,可在目标时间段期间不产生时钟脉冲,并可在除了目标时间段之外的时间段期间产生时钟脉冲。
图7示出图5中示出的时钟门控电路的配置的另一示例420B。
参照图7,时钟门控电路420B可包括开关电路421和计时器电路423。
图7的时钟门控电路420B被配置为在不使用图6的时钟门控电路420的时钟分频器422的情况下,将来自外部的第二时钟信号CLK2发送到计时器电路423。例如,图1和图3的时钟管理单元120能够将外部时钟作为第二时钟信号CLK2直接发送到时钟门控电路420B的计时器电路423。在这种情况下,第二时钟信号CLK2可比第一时钟信号CLK1_IN具有更低的频率。
由于图7中示出的开关电路421和计时器电路423的操作与图6中示出的开关电路421和计时器电路423的操作基本相同,因此将省略对其的多余描述。
图8示出图5中示出的时钟门控电路的配置的另一示例420C。
参照图8,时钟门控电路420C可包括开关电路421和计时器电路423。
根据图8的示例实施例,时钟分频器422'被安装在时钟门控电路420C的外部。例如,在构成图1和图3的时钟管理单元120的时钟门控电路420C中,时钟分频器422'可被设计为安装在处理器100A的外部。输入到时钟分频器422'的时钟信号可以是第一时钟信号CLK1_IN或第三时钟信号CLK3。第三时钟信号CLK3可具有与第一时钟信号CLK1_IN不同的频率。
由于图8中示出的开关电路421、时钟分频器422'和计时器电路423的操作与图6中示出的开关电路421、时钟分频器422和计时器电路423的操作基本相同,因此将省略对其的多余描述。
将参照指令流水线状态图和主要信号的波形图描述根据各种条件在图1或图2的处理器100A或100B中处理延迟指令的操作和时钟管理单元120或300中的时钟门控处理操作。
图9是根据示例实施例的用于描述在处理器中执行延迟指令的处理的指令流水线状态图。
参照图9,存在这样的指令流水线状态图:在所述指令流水线状态图中,基于延迟指令INS_DLY确定的延迟时间段是T6与T7之间的时间段,并且在T6与T7之间的时间段期间中断不被产生,或者,在延迟指令INS_DLY的强制门控字段13中,支持以下功能的信息被设置:即使在执行延迟指令INS_DLY时在延时时间段期间中断被产生,也忽略中断。
在T1与T2之间的时间段中,取出第一指令INS_F1的操作FE被执行。
在T2与T3之间的时间段中,对第一指令INS_F1进行解码的操作DE和取出第二指令INS_F2的操作可被一起执行。
在T3与T4之间的时间段中,执行第一指令INS_F1的操作EX、对第二指令INS_F2进行解码的操作和取出延迟指令INS_DLY的操作可被一起执行。
在T4与T5之间的时间段中,执行第二指令INS_F2的操作EX、对延迟指令INS_DLY进行解码的操作和取出第三指令INS_F3的操作可被一起执行。
在T5与T6之间的时间段中,执行延迟指令INS_DLY的操作EX、对第三指令INS_F3进行解码的操作和取出第四指令INS_F4的操作可被一起执行。
由于在强制门控字段13中,支持即使在执行延迟指令INS_DLY时在延时时间段期间中断被产生也忽略中断的功能的信息被设置,因此基于延迟指令INS_DLY执行时钟门控操作而不管在T6与T7之间的时间段期间是否产生了中断。因此,在T6与T7之间的时间段中,时钟脉冲可不被发送到核处理器110或处理器100B。
当处理器100A或100B基于如图9所示的指令流水线状态图处理指令时,输入到时钟管理单元120或300的第一时钟信号CLK1_IN的波形以及从时钟管理单元120或300输出并被发送到核处理器110和处理器100B的第一时钟信号CLK1_OUT的波形在图13中被示出。
从图13可以看出,针对第一时钟信号CLK1_OUT,在T6与T7之间的时间段期间时钟脉冲不被产生。也就是说,在T6与T7之间的时间段期间,时钟脉冲可不被发送到核处理器110或处理器100B。
当处理器100A或100B基于如图9所示的指令流水线状态图处理指令时,由时钟管理单元120或300产生的主要的信号的波形图在图14中被示出。
参照图14,可在时间T6产生计时器控制信号CTL_TIMER。因此,计时器电路423可根据计时器控制信号CTL_TIMER开始计数操作。在时间T6,开关控制信号CTL_SW可从“高”状态转变为“低”状态。开关控制信号CTL_SW可保持“低”状态,直到计时器期满信号S_TE被产生为止。在计时器期满信号S_TE被产生的时间T7,开关控制信号CTL_SW可从“低”状态转变为“高”状态。
因此,在开关控制信号CTL_SW具有“低”状态的T6与T7之间的时间段中,时钟管理单元120或300的开关电路421可断开,在开关控制信号CTL_SW具有“高”状态的时间段中,开关电路421可接通。因此,在T6与T7之间的时间段中,针对第一时钟信号CLK1_OUT,时钟脉冲可不被产生。因此,在T6与T7之间的时间段中,时钟脉冲可不被发送到核处理器110或处理器100B。
再次参照图9,在根据延迟指令INS_DLY的执行的时钟门控操作被完成之后,在T7与T8之间的时间段中,执行第三指令INS_F3的操作和对第四指令INS_F4进行解码的操作可被一起执行。如上所述,在延迟指令INS_DLY的执行期间,指令流水线结构可不被打破。也就是说,处理器100A或100B可识别在T6与T7之间的时间段(即,延时时间段)期间延迟指令INS_DLY被执行。在根据延迟指令INS_DLY的执行的时钟门控操作被完成之后,在T7与T8之间的时间段中,处理器100A或100B可执行运行第三指令INS_F3并对第四指令INS_F4进行解码的操作。在T8与T9之间的时间段中,执行第四指令INS_F4的操作可被执行。
图10是根据另一示例实施例的用于描述在处理器中执行延迟指令的处理的指令流水线状态图。
参照图10,存在这样的指令流水线状态图:在所述指令流水线状态图中,基于延迟指令INS_DLY确定的延迟时间段是T6与T7之间的时间段,并且在T6与T7之间的时间段期间中断被产生,并且在延迟指令INS_DLY的强制门控字段13中,不支持以下功能的信息被设置:在执行延迟指令INS_DLY时在延时时间段期间忽略中断。
图10中所示的T1与T6之间的时间段中的指令流水线状态可与图9中示出的指令流水线状态相同。
在T5与T6之间的时间段中,执行延迟指令INS_DLY的操作EX、对第三指令INS_F3进行解码的操作和取出第四指令INS_F4的操作可被一起执行。
当处理器100A或100B基于如图10所示的指令流水线状态图处理指令时,由时钟管理单元120或300产生的主要的信号的波形图在图15中被示出。
参照图15,可在时间T6产生计时器控制信号CTL_TIMER。因此,计时器电路423可根据计时器控制信号CTL_TIMER开始计数操作。在时间T6,开关控制信号CTL_SW可从“高”状态转变为“低”状态。开关控制信号CTL_SW可保持“低”状态,直到中断信号INT被产生的时间T6_1a为止。在时间T6_1a,开关控制信号CTL_SW可从“低”状态转变为“高”状态。在时间T6_1a,中断状态信号INT_ON可从“低”状态转变为“高”状态。在中断任务被执行的时间T6_1a与时间T6_2a之间的时间段期间,中断状态信号INT_ON可保持“高”状态。
在从时间T6_1a至时间T6_2a的时间段期间开关控制信号CTL_SW可保持“高”状态,其中,在时间T6_2a,中断状态信号INT_ON转变为“低”状态并且控制信号CTL_SIG指示中断任务的完成。在时间T6_2a,开关控制信号CTL_SW可从“高”状态转变为“低”状态。开关控制信号CTL_SW可保持“低”状态,直到计时器期满信号S_TE被产生为止。在计时器期满信号S_TE被产生的时间T7,开关控制信号CTL_SW可从“低”状态转变为“高”状态。
因此,在开关控制信号CTL_SW具有“低”状态的T6与T6_1a之间的时间段以及T6_2a与T7之间的时间段中,时钟管理单元120或300的开关电路421可断开,在开关控制信号CTL_SW具有“高”状态的时间段中,开关电路421可接通。
在被确定为延迟时间段的T6与T7之间的时间段之中的T6与T6_1a之间的时间段以及T6_2a与T7之间的时间段中,时钟脉冲可不被从第一时钟信号CLK1_OUT产生。因此,在T6与T6_1a之间的时间段以及T6_2a与T7之间的时间段中,时钟脉冲可不被发送到核处理器110或处理器100B。在被确定为延迟时间段的T6与T7之间的时间段之中的中断处理因中断的产生而被执行的T6_1a与T6_2a之间的时间段中,时钟脉冲可作为第一时钟信号CLK1_OUT被产生。因此,在T6_1a与T6_2a之间的时间段中,时钟脉冲可被正常发送到核处理器110或处理器100B。
再次参照图10,在基于延迟指令INS_DLY被确定为延迟时间段的T6与T7之间的时间段之中的T6_1a与T6_2a之间的时间段中,核处理器110或处理器100B可基于中断的产生根据中断指令INS_INT,执行处理中断任务的中断服务例程ISR。
在根据延迟指令INS_DLY的执行的时钟门控操作被完成之后,在T7与T8之间的时间段中,核处理器110或处理器100B可执行取出第三指令INS_F3的操作。由于在T6_1a与T6_2a之间的时间段中中断服务例程已被执行,因此取出第三指令INS_F3的操作可被重新执行。在T9与T10之间的时间段中,对第三指令INS_F3进行解码的操作和取出第四指令INS_F4的操作可被一起执行。在T9与T10之间的时间段中,执行第三指令INS_F3的操作和对第四指令INS_F4进行解码的操作可被一起执行。
图11是根据另一示例实施例的用于描述在处理器中执行延迟指令的处理的指令流水线状态图。
参照图11,存在这样的指令流水线状态图:在所述指令流水线状态图中,基于延迟指令INS_DLY确定的延迟时间段是T6与T7之间的时间段,在T6与T7之间的时间段期间中断被产生,在延迟时间段之后在T6与T7之间的时间段期间产生的中断任务被完成,并且在延迟指令INS_DLY的强制门控字段13中,不支持以下功能的信息被设置:在执行延迟指令INS_DLY时在延时时间段期间忽略中断。
图11中所示的T1与T6之间的时间段中的指令流水线状态可与图9中示出的指令流水线状态相同。
在T5与T6之间的时间段中,执行延迟指令INS_DLY的操作EX、对第三指令INS_F3进行解码的操作和取出第四指令INS_F4的操作可被一起执行。
当处理器100A或100B基于如图11所示的指令流水线状态图处理指令时,由时钟管理单元120或300产生的主要的信号的波形图在图16中被示出。
参照图16,可在时间T6产生计时器控制信号CTL_TIMER。因此,计时器电路423可根据计时器控制信号CTL_TIMER开始计数操作。在时间T6,开关控制信号CTL_SW可从“高”状态转变为“低”状态。开关控制信号CTL_SW可保持“低”状态,指到中断信号INT被产生的时间T6_1b为止。在时间T6_1b,开关控制信号CTL_SW可从“低”状态转变为“高”状态。在时间T6_1b,中断状态信号INT_ON可从“低”状态转变为“高”状态。在中断任务被执行的时间T6_1b与时间T8之间的时间段期间,中断状态信号INT_ON可保持“高”状态。
由于表示中断任务被完成的时间T8晚于时间T7,因此从时间T6_1b延迟指令INS_DLY被执行开始,开关控制信号CTL_SW可保持“高”状态,其中,在时间T8,中断状态信号INT_ON从“高”状态转变为“低”状态。
因此,在开关控制信号CTL_SW具有“低”状态的T6与T6_1b之间的时间段中,时钟管理单元120或300的开关电路421可断开,在开关控制信号CTL_SW具有“高”状态的时间段中,开关电路421可接通。
在被确定为延迟时间段的T6与T7之间的时间段中的T6与T6_1b之间的时间段中,时钟脉冲可不被作为第一时钟信号CLK1_OUT产生。因此,在T6与T6_1b之间的时间段中,时钟脉冲可不被发送到核处理器110或处理器100B。在被确定为延迟时间段的T6与T7之间的时间段之中的中断处理因中断的产生而被执行的T6_1b与T7之间的时间段中,时钟脉冲可作为第一时钟信号CLK1_OUT被产生。因此,在T6_1b与T7之间的时间段中,时钟脉冲可被正常发送到核处理器110或处理器100B。
再次参照图11,在基于延迟指令INS_DLY被确定为延迟时间段的T6与T7之间的时间段之中的T6_1b与T7之间的时间段中,核处理器110或处理器100B可基于中断的产生根据中断指令INS_INT,执行处理中断任务的中断服务例程ISR。
由于在时间T7在T6与T7之间的时间段中产生的中断任务未被完成,因此核处理器110或处理器100B可继续执行中断服务例程ISR,直到时间T8为止。
在中断服务例程ISR的执行被完成之后,在T8与T9之间的时间段中,核处理器110或处理器100B可执行取出第三指令INS_F3的操作。由于在T6_1a与T8之间的时间段中中断服务例程已被执行,因此取出第三指令INS_F3的操作可被重新执行。在T9与T10之间的时间段中,对第三指令INS_F3进行解码的操作和取出第四指令INS_F4的操作可被一起执行。在T10与T11之间的时间段中,执行第三指令INS_F3的操作和对第四指令INS_F4进行解码的操作可被一起执行。
图12是根据另一示例实施例的用于描述在处理器中执行延迟指令的处理的指令流水线状态图。
参照图12,存在这样的指令流水线状态图:在所述指令流水线状态图中,基于延迟指令INS_DLY确定的延迟时间段是T6与T7之间的时间段,在延迟指令INS_DLY被执行的T6与T7之间的时间段期间中断被产生,并且在延迟指令INS_DLY的强制门控字段13中,不支持以下功能的信息被设置:在执行延迟指令INS_DLY时在延时时间段期间忽略中断。
图12中所示的T1与T5之间的时间段中的指令流水线状态可与图9中示出的指令流水线状态相同。
参照图12,在T5与T6之间的时间段中,执行延迟指令INS_DLY的操作EX、对第三指令INS_F3进行解码的操作和取出第四指令INS_F4的操作可被一起执行。在延迟指令INS_DLY被执行的T5与T6之间的时间段中,中断可被产生。也就是说,在从开始执行延迟指令INS_DLY的时间T5至开始执行时钟门控操作的时间T6的时间段期间,中断可被产生。
当处理器100A或100B基于如图12所示的指令流水线状态图处理指令时,由时钟管理单元120或300产生的主要的信号的波形图在图17中被示出。
参照图17,在时间T5_1c中断信号INT可被产生,并且在时间T5_1c中断状态信号INT_ON可从“低”状态转变为“高”状态。因此,核处理器110或处理器100B可基于在时间T5_1c产生的中断信号执行中断服务例程ISR。
此外,时钟管理单元120或300可根据延迟指令INS_DLY的执行,执行用于时钟门控处理的操作。也就是说,计时器电路423可根据计时器控制信号CTL_TIMER开始计数操作。
由于在时间T6中断状态信号INT_ON处于“高”状态,因此开关控制信号CTL_SW可照常保持“高”状态。也就是说,在时间T6,开关控制信号CTL_SW可不从“高”状态转变为“低”状态。
在中断任务被执行的时间T5_1c与时间T6_1c之间的时间段期间,中断状态信号INT_ON可保持“高”状态。由于中断任务被完成的时间T6_1c在作为基于延迟指令INS_DLY被确定的延迟时间段的T6与T7之间的时间段内,因此在时间T6_1c,开关控制信号CTL_SW可从“高”状态转变为“低”状态。
开关控制信号CTL_SW可保持“低”状态,直到计时器期满信号S_TE被产生为止。在计时器期满信号S_TE被产生的时间T7,开关控制信号CTL_SW可从“低”状态转变为“高”状态。
因此,在开关控制信号CTL_SW具有“低”状态的T6_1c与T7之间的时间段中,时钟管理单元120或300的开关电路421可断开,在开关控制信号CTL_SW具有“高”状态的时间段中,开关电路421可接通。
在被确定为延迟时间段的T6与T7之间的时间段中的T6_1c与T7之间的时间段中,时钟脉冲可不被作为第一时钟信号CLK1_OUT产生。因此,在T6_1c与T7之间的时间段中,时钟脉冲可不被发送到核处理器110或处理器100B。在被确定为延迟时间段的T6与T7之间的时间段之中的中断处理因中断的产生而被执行的T6与T6_1c之间的时间段中,时钟脉冲可作为第一时钟信号CLK1_OUT被产生。因此,在T6与T6_1c之间的时间段中,时钟脉冲可被正常发送到核处理器110或处理器100B。
再次参照图12,在基于延迟指令INS_DLY被确定为延迟时间段的T6与T7之间的时间段之中的T6与T6_1c之间的时间段中,核处理器110或处理器100B可基于中断的产生根据中断指令INS_INT,执行处理中断任务的中断服务例程ISR。也就是说,在T5_1c与T6_1c之间的时间段中,核处理器110或处理器100B可执行中断服务例程ISR。
在根据延迟指令INS_DLY的执行的时钟门控操作被完成之后,在T7与T8之间的时间段中,核处理器110或处理器100B可执行取出第三指令INS_F3的操作。由于在T5_1c与T6_1c之间的时间段中中断服务例程已被执行,因此取出第三指令INS_F3的操作可被重新执行。在T9与T10之间的时间段中,对第三指令INS_F3进行解码的操作和取出第四指令INS_F4的操作可被一起执行。在T9与T10之间的时间段中,执行第三指令INS_F3的操作和对第四指令INS_F4进行解码的操作可被一起执行。
将描述在包括图1和图2所示的集成电路的各种类型的集成电路中执行的时钟管理方法。为了便于描述,以下将参照图2的集成电路描述时钟管理方法。
图18是根据示例实施例的在集成电路中执行的时钟管理方法的流程图。
参照图18,存在这样的指令流水线状态图:在所述指令流水线状态图中,在基于延迟指令INS_DLY确定的延迟时间段期间中断不被产生,并且,在延迟指令INS_DLY的强制门控字段13中,支持以下功能的信息被设置:即使在执行延迟指令INS_DLY时在延时时间段期间中断被产生,也忽略中断。
在操作S101,处理器100B可确定延迟指令INS_DLY是否被调用。例如,当存在不执行任何操作时处理器等待的时间段时,延迟指令INS_DLY被调用。
在操作S102,当在处理器100B中延迟指令INS_DLY被调用时,时钟管理单元300的控制电路410可设置计时器期满时间T_exp。例如,控制电路410可基于从处理器100B接收的延迟指令INS_DLY或通过对延迟指令INS_DLY进行解码产生的时钟控制因子信息INF_CG,来设置计时器期满时间T_exp。
在操作S103,时钟管理单元300的控制电路410可确定在处理器100B中延迟指令INS_DLY是否被执行。
在操作S104,当在处理器100B中延迟指令INS_DLY被执行时,时钟管理单元300的计时器电路423可开始时间测量操作。例如,当延迟指令INS_DLY被执行时,可通过开始对具有比由处理器100B使用的时钟频率更低的频率的时钟信号进行计数的操作来开始时间测量操作。
在操作S105,在计时器电路423开始时间测量操作之后,时钟管理单元300可在开关电路421中执行时钟门控操作。可选择地,可在计时器电路423中开始时间测量操作的同时在开关电路421中执行时钟门控操作。时钟门控操作可以是切断向处理器100B发送时钟信号的操作。因此,在时钟门控操作被执行的时间段中,在处理器100B的时钟输入端子无法检测到时钟脉冲。
在操作S106,时钟管理单元300的控制电路410可确定由计时器电路423测量的时间是否达到计时器期满时间T_exp。
当由计时器电路423测量的时间没有达到计时器期满时间T_exp时,可继续执行切断向处理器100B发送时钟信号的时钟门控操作。
在操作S107,当由计时器电路423测量的时间达到计时器期满时间T_exp时,向处理器100B发送时钟信号的时钟开启处理可被执行。当达到计时器期满时间T_exp时,时钟信号可被正常发送到处理器100B。也就是说,当达到计时器期满时间T_exp时,可在处理器100B的时钟输入端子检测到时钟脉冲。
图19是根据另一示例实施例的在集成电路中执行的时钟管理方法的流程图。
图19是在以下情况下的时钟管理方法的流程图:在延迟指令INS_DLY的强制门控字段13中,不支持即使在执行延迟指令INS_DLY时在延时时间段期间中断被产生,也忽略中断的功能的信息被设置。
在操作S201,处理器100B可确定延迟指令INS_DLY是否被调用。例如,当存在不执行任何操作时处理器等待的时间段时,延迟指令INS_DLY被调用。
在操作S202,当在处理器100B中延迟指令INS_DLY被调用时,时钟管理单元300的控制电路410可设置计时器期满时间T_exp。例如,控制电路410可基于从处理器100B接收的延迟指令INS_DLY或通过对延迟指令INS_DLY进行解码产生的时钟控制因子信息INF_CG,来设置计时器期满时间T_exp。
在操作S203,时钟管理单元300的控制电路410可确定在处理器100B中延迟指令INS_DLY是否被执行。
在操作S204,当在处理器100B中延迟指令INS_DLY被执行时,时钟管理单元300的计时器电路423从处理器接收通知并可开始时间测量操作。例如,当延迟指令INS_DLY被执行时,可通过开始对具有比由处理器100B使用的时钟频率更低的频率的时钟信号进行计数的操作来开始时间测量操作。
在操作S205,在开始时间测量操作之后,时钟管理单元300可在执行时钟门控操作之前确定处理器100B是否处于中断状态。
在操作S206,当处理器100B处于中断状态时,时钟管理单元300可确定正被执行的任务是否在中断服务例程ISR上。
在操作S207,当正被执行的任务在中断服务例程ISR上时,时钟管理单元300可执行时钟门控操作。正被执行的任务在中断服务例程ISR上可表示在中断服务上延迟指令INS_DLY正在被执行。因此,可基于延迟指令INS_DLY的执行来执行切断向处理器100B发送时钟信号的时钟门控操作。
在操作S215,确定计时器电路423是否已达到计时器期满时间T_exp。如果没有达到,则重复操作S215。如果达到,则处理进行到操作S214。
在操作S208,当正被执行的任务没有在中断服务例程ISR上时,时钟管理单元300可确定中断任务是否被完成。也就是说,当正被执行的任务没有在中断服务例程ISR上时,这表示在如图10所示延迟指令INS_DLY被执行的T5与T6之间的时间段中中断被产生。在这种情况下,时钟门控操作被暂停,至到中断任务被完成为止。
在操作S209,当在操作S208确定中断任务被完成时,时钟管理单元300可确定由计时器电路423测量的时间是否达到计时器期满时间T_exp。
在操作S214,当在操作S209确定由计时器电路423测量的时间达到计时器期满时间T_exp时,时钟管理单元300可保持用于向处理器100B发送时钟信号的时钟开启处理的执行。
当在操作S209确定由计时器电路423测量的时间没有达到计时器期满时间T_exp时,在操作S210,时钟管理单元300可执行切断向处理器100B发送时钟信号的时钟门控操作。
在操作S211,时钟管理单元300可在执行时钟门控操作的同时确定由计时器电路423测量的时间是否达到计时器期满时间T_exp。
在操作S212,当在S211确定由计时器电路423测量的时间没有达到计时器期满时间T_exp时,时钟管理单元300可确定是否从处理器100B请求了中断。例如,当时钟管理单元300接收到中断信号时,可确定从处理器100B请求了中断。
当在操作S212确定没有请求中断时,时钟管理单元300可在执行时钟门控操作的同时在操作S211确定是否达到计时器期满时间T_exp。
当在操作S212确定请求了中断时,在操作S213,时钟管理单元300可执行用于向处理器100B发送时钟信号的时钟开启处理。
在执行时钟开启处理之后,时钟管理单元300可执行确定针对请求的中断的中断任务是否被完成的操作S208。
当在操作S211确定由计时器电路423测量的时间达到计时器期满时间T_exp时,在操作S216,时钟管理单元300可执行向处理器100B发送时钟信号的时钟开启处理。
图20示出根据示例实施例的应用时钟管理单元的片上系统2000A的配置。
参照图20,片上系统2000A可包括包含嵌入式时钟管理单元2110A的处理器2100A、存储器2200、多个功能块2300-1至2300-N和总线2400。
处理器2100A可控制通过总线2400连接的存储器2200和多个功能块2300-1至2300-N的操作。处理器2100A可应用于智能电话、平板个人计算机(PC)、数码相机、移动装置、机顶盒、智能卡系统、服务器系统和其它各种电子装置。
例如,当延时功能的执行被执行时,处理器2100A可执行从存储器2200读取延迟指令INS_DLY并将延迟指令INS_DLY存储在处理器2100A的指令寄存器中的指令取出操作。处理器2100A可对存储在指令寄存器中的延迟指令INS_DLY进行解码并执行所述延迟指令INS_DLY。
参照图1所述的时钟管理单元120可被用作时钟管理单元2110A。因此,时钟管理单元2110A可在延迟指令INS_DLY被处理器2100A执行时,在延时时间段期间执行时钟门控操作。
存储器2200可包括存储片上系统2000A的操作需的指令、数据或程序代码的SRAM或DRAM。存储器2200可包括非易失性存储器。存储在存储器2200中的指令可包括根据示例实施例的执行延迟功能的延迟指令INS_DLY。例如,延迟指令INS_DLY可具有与如图4所示的结构相同的结构。
功能块2300-1至2300-N可以是执行支持片上系统2000A的各种功能的块。例如,功能块2300-1至2300-N可包括调制解调器、存储器控制器、数字信号处理器、通用串行总线控制器、外围计算机互连接口等。
图21示出根据示例实施例的应用时钟管理单元的片上系统2000B的配置。
参照图21,片上系统2000B可包括处理器2100B、时钟管理单元2110B、存储器2200、多个功能块2300-1至2300-N和总线2400。
由于已参照图20描述了存储器2200和多个功能块2300-1至2300-N,因此将省略对它们的多余描述。
处理器2100B可控制通过总线2400连接的时钟管理单元2110B、存储器2200和多个功能块2300-1至2300-N的操作。处理器2100B可应用于智能电话、平板个人计算机(PC)、数码相机、移动装置、机顶盒、智能卡系统、服务器系统和其它各种电子装置。
例如,当延时功能的执行被执行时,处理器2100B可执行从存储器2200读取延迟指令INS_DLY并将延迟指令INS_DLY存储在处理器2100B的指令寄存器中的指令取出操作。处理器2100B可对存储在指令寄存器中的延迟指令INS_DLY进行解码并执行所述延迟指令INS_DLY。
参照图2所述的时钟管理单元300可被用作时钟管理单元2110B。因此,时钟管理单元2110B可在延迟指令INS_DLY被处理器2100B执行时,在延时时间段期间执行时钟门控操作。
图22示出根据另一示例实施例的应用时钟管理单元的片上系统3000A的配置。
参照图22,片上系统3000A可包括包含嵌入式时钟管理单元3110A的处理器3100A、存储器3200、多个功能块3300-1至3300-N、输入/输出(I/O)控制器3400、I/O桥3500、多个I/O装置3600-1至3600-K和总线3700。
由于存储器3200和多个功能块3300-1至3300-N具有与图20中示出的存储器2200和多个功能块2300-1至2300-N的配置相同的配置,因此将省略对它们的多余描述。
处理器3100A可控制通过总线3700连接的存储器3200、多个功能块3300-1至3300-N和I/O控制器3400的操作。处理器3100A可应用于智能电话、平板个人计算机(PC)、数码相机、移动装置、机顶盒、智能卡系统、服务器系统和其它各种电子装置。
例如,当延时功能的执行被执行时,处理器3100A可执行从存储器3200读取延迟指令INS_DLY并将延迟指令INS_DLY存储在处理器3100A的指令寄存器中的指令取出操作。处理器3100A可对存储在指令寄存器中的延迟指令INS_DLY进行解码并执行所述延迟指令INS_DLY。
参照图1所述的时钟管理单元120可被用作时钟管理单元3110A。因此,时钟管理单元3110A可在延迟指令INS_DLY被处理器3100A执行时,在延时时间段期间执行时钟门控操作。
I/O控制器3400可执行控制I/O装置3600-1至3600-K的操作。I/O控制器3400可从处理器3100A接收I/O命令,并基于接收的I/O命令控制I/O装置3600-1至3600-K。
I/O桥3500可执行控制处理器3100A与I/O装置3600-1至3600-K之间的数据通信的通道的操作。例如,I/O桥3500可包括PCIe桥。
I/O装置3600-1至3600-K的示例可包括存储器装置、固态驱动器(SSD)、智能卡和数码相机。
图23示出根据另一示例实施例的应用时钟管理单元的片上系统3000B的配置。
参照图23,片上系统3000B可包括处理器3100B、时钟管理单元3110B、存储器3200、多个功能块3300-1至3300-N、输入/输出(I/O)控制器3400、I/O桥3500、多个I/O装置3600-1至3600-K和总线3700。
存储器3200和多个功能块3300-1至3300-N具有与图20中示出的存储器2200和多个功能块2300-1至2300-N的配置相同的配置。由于已参照图22描述了I/O控制器3400、I/O桥3500和多个I/O装置3600-1至3600-K,因此将省略对它们的多余描述。
处理器3100B可控制通过总线3700连接的时钟管理单元3110B、存储器3200、多个功能块3300-1至3300-N和I/O控制器3400的操作。处理器3100B可应用于智能电话、平板个人计算机(PC)、数码相机、移动装置、机顶盒、智能卡系统、服务器系统和其它各种电子装置。
例如,当延时功能的执行被执行时,处理器3100B可执行从存储器3200读取延迟指令INS_DLY并将延迟指令INS_DLY存储在处理器3100B的指令寄存器中的指令取出操作。处理器3100B可对存储在指令寄存器中的延迟指令INS_DLY进行解码并执行所述延迟指令INS_DLY。
参照图2所述的时钟管理单元300可被用作时钟管理单元3110B。因此,时钟管理单元3110B可在延迟指令INS_DLY被处理器3100B执行时,在延时时间段期间执行时钟门控操作。
虽然已参照本发明构思的示例实施例具体示出和描述了本发明构思,但是将理解,在不脱离权利要求的精神和范围的情况下,可在形式和细节上做出各种改变。
Claims (20)
1.一种集成电路,包括:
时钟产生器,被配置为选择性地产生第一时钟;
处理器,被配置为执行操作;
时钟管理电路,时钟管理电路被配置为从处理器接收时钟管理信息,并基于时钟管理信息和第一时钟选择性地产生第二时钟,处理器被配置为基于第二时钟执行操作,
其中,时钟管理信息包括指示在暂停产生第二时钟的时间段期间是否忽略中断信息的强制门控信息,中断信息指示处理器是否执行中断操作。
2.如权利要求1所述的集成电路,其中,处理器包括时钟管理电路以及多个功能组件。
3.如权利要求1所述的集成电路,其中,时钟管理信息包括指示所述暂停产生第二时钟的时间段的延迟信息。
4.如权利要求3所述的集成电路,其中,时钟管理电路包括用于测量所述暂停产生第二时钟的时间段的计时器。
5.如权利要求4所述的集成电路,其中,时钟管理信息还包括时钟分频信息,时钟分频信息指示用于对第一时钟进行分频以产生计时器时钟的量,计时器被配置为基于计时器时钟进行操作。
6.如权利要求3所述的集成电路,其中,处理器被配置为基于对指令进行解码来产生时钟管理信息。
7.如权利要求1所述的集成电路,其中,处理器被配置为基于对指令进行解码来产生时钟管理信息,
时钟管理电路包括时钟门控电路和控制电路,时钟门控电路被配置为基于第一时钟选择性地产生第二时钟,控制电路被配置为基于时钟管理信息控制时钟门控电路。
8.如权利要求7所述的集成电路,其中,
时钟门控电路包括:
开关,被配置为选择性地输出第一时钟作为第二时钟,
计时器电路;
控制电路被配置为基于时钟管理信息控制计时器电路的操作,并被配置为基于时钟管理信息和计时器电路的输出控制开关的操作。
9.如权利要求8所述的集成电路,还包括:
时钟分频器,被配置为通过根据分频器值对第一时钟进行分频来产生计时器时钟;其中,
计时器电路被配置为基于计时器时钟进行操作;其中,
时钟门控电路包括时钟分频器;
控制电路被配置为基于时钟管理信息将分频器值提供给时钟分频器。
10.如权利要求8所述的集成电路,其中,控制电路被配置为基于时钟管理信息、计时器电路的输出和中断信息控制开关的操作,中断信息指示处理器是否执行中断操作。
11.一种时钟管理电路,包括:
时钟门控电路,被配置为接收第一时钟,并被配置为基于第一时钟和控制信号选择性地产生第二时钟;
控制电路,被配置为基于从处理器接收的时钟管理信息产生控制信号,
其中,时钟管理信息包括指示在暂停产生第二时钟的时间段期间是否忽略中断信息的强制门控信息,中断信息指示处理器是否执行中断操作。
12.如权利要求11所述的时钟管理电路,其中,
时钟门控电路包括:
开关,被配置为选择性地输出第一时钟作为第二时钟,
计时器电路;
控制电路被配置为基于时钟管理信息控制计时器电路的操作,并被配置为基于时钟管理信息和计时器电路的输出控制开关的操作。
13.如权利要求12所述的时钟管理电路,还包括:
时钟分频器,被配置为通过根据分频器值对第一时钟进行分频来产生计时器时钟;其中,
计时器电路被配置为基于计时器时钟进行操作;
时钟门控电路包括时钟分频器;
控制电路被配置为基于时钟管理信息将分频器值提供给时钟分频器。
14.如权利要求12所述的时钟管理电路,其中,控制电路被配置为基于时钟管理信息、计时器电路的输出和中断信息控制开关的操作,中断信息指示处理器是否执行中断操作。
15.如权利要求12所述的时钟管理电路,其中,
时钟管理信息包括指示暂停产生第二时钟的时间段的延迟信息;
控制电路被配置为控制计时器电路测量所述时间段,并被配置为防止开关在所述时间段期间提供第一时钟作为第二时钟。
16.如权利要求15所述的时钟管理电路,其中,
时钟管理信息包括指示在所述暂停产生第二时钟的时间段期间是否忽略中断信息的强制门控信息,中断信息指示处理器是否执行中断操作;其中,
控制电路被配置为如果强制门控信息不指示忽略中断信息,则响应于中断信息,在所述时间段期间使开关能够提供第一时钟作为第二时钟。
17.如权利要求11所述的时钟管理电路,其中,时钟管理信息包括指示所述暂停产生第二时钟的时间段的延迟信息。
18.一种集成电路,包括:
处理器,被配置为基于时钟信号执行操作;
时钟管理电路,被配置为从处理器接收时钟管理信息,并被配置为基于时钟管理信息在预定时间段内暂停向处理器发送时钟信号,
其中,时钟管理信息包括指示暂停发送时钟的所述预定时间段的延迟信息,
其中,时钟管理信息包括指示在所述时间段期间是否忽略中断信息的强制门控信息,中断信息指示处理器是否执行中断操作。
19.如权利要求18所述的集成电路,其中,
时钟管理电路被配置为如果强制门控信息不指示忽略中断信息,则响应于中断信息,在所述时间段期间向处理器发送时钟信号,
时钟管理电路被配置为:如果在所述时间段结束之前中断操作结束,则在所述时间段的剩余时间段内恢复暂停时钟信号。
20.如权利要求18所述的集成电路,其中,处理器被配置为执行流水线并行处理,
处理器被配置为在所述时间段之后恢复流水线并行处理而不必重新填充流水线。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2015-0111210 | 2015-08-06 | ||
KR1020150111210A KR102476357B1 (ko) | 2015-08-06 | 2015-08-06 | 클럭 관리 유닛과 이를 적용하는 집적 회로 및 시스템 온 칩 및 그 동작 방법 |
US15/185,505 | 2016-06-17 | ||
US15/185,505 US10983551B2 (en) | 2015-08-06 | 2016-06-17 | Clock management unit, integrated circuit including the clock management unit, system on chip, and method of operating the system on chip |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106444965A CN106444965A (zh) | 2017-02-22 |
CN106444965B true CN106444965B (zh) | 2021-06-25 |
Family
ID=58053825
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610642814.4A Active CN106444965B (zh) | 2015-08-06 | 2016-08-08 | 时钟管理单元、包括其的集成电路和管理时钟的方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10983551B2 (zh) |
KR (1) | KR102476357B1 (zh) |
CN (1) | CN106444965B (zh) |
TW (1) | TWI762448B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105718320B (zh) * | 2016-01-18 | 2020-11-06 | 华为技术有限公司 | 一种时钟任务处理方法、装置及设备 |
US11099602B2 (en) * | 2019-04-30 | 2021-08-24 | International Business Machines Corporation | Fault-tolerant clock gating |
JP7422066B2 (ja) * | 2020-12-28 | 2024-01-25 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070277052A1 (en) * | 2006-05-03 | 2007-11-29 | Sony Computer Entertainment Inc. | Method and apparatus for resolving clock management issues in emulation involving both interpreted and translated code |
CN101452337A (zh) * | 2008-12-18 | 2009-06-10 | 北京中星微电子有限公司 | 一种外接设备的控制方法和装置 |
CN102955494A (zh) * | 2011-08-31 | 2013-03-06 | 北京中电华大电子设计有限责任公司 | 一种wlan芯片的时钟树实现方法和电路 |
CN103116384A (zh) * | 2013-02-01 | 2013-05-22 | 山东华芯半导体有限公司 | 一种SoC系统时钟控制的方法和SoC |
CN104769841A (zh) * | 2012-09-19 | 2015-07-08 | 高通股份有限公司 | 用于降低动态功率的时钟门控电路 |
CN107315448A (zh) * | 2017-06-26 | 2017-11-03 | 北方电子研究院安徽有限公司 | 一种低功耗多核SoC的时钟管理架构设计方法 |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6343363B1 (en) | 1994-09-22 | 2002-01-29 | National Semiconductor Corporation | Method of invoking a low power mode in a computer system using a halt instruction |
KR960003080B1 (ko) * | 1993-08-30 | 1996-03-04 | 켄 사쿠마 | 한국마늘의 껍질을 벗기는 기계 |
JPH11203266A (ja) * | 1998-01-07 | 1999-07-30 | Mitsubishi Electric Corp | マイクロコンピュータ |
US6671795B1 (en) | 2000-01-21 | 2003-12-30 | Intel Corporation | Method and apparatus for pausing execution in a processor or the like |
US6856566B2 (en) | 2000-08-04 | 2005-02-15 | Nec Electronics Corporation | Timer circuit and semiconductor memory incorporating the timer circuit |
US6687838B2 (en) | 2000-12-07 | 2004-02-03 | Intel Corporation | Low-power processor hint, such as from a PAUSE instruction |
JP4831899B2 (ja) * | 2001-08-28 | 2011-12-07 | 富士通セミコンダクター株式会社 | 半導体集積回路及びクロック制御方法 |
JP4253796B2 (ja) | 2001-11-08 | 2009-04-15 | 富士通株式会社 | コンピュータ及び制御方法 |
US7363474B2 (en) | 2001-12-31 | 2008-04-22 | Intel Corporation | Method and apparatus for suspending execution of a thread until a specified memory access occurs |
US7500126B2 (en) | 2002-12-04 | 2009-03-03 | Nxp B.V. | Arrangement and method for controlling power modes of hardware resources |
JP4575795B2 (ja) * | 2005-01-31 | 2010-11-04 | パナソニック株式会社 | クロック供給回路、半導体システムおよびその設計方法 |
KR100808052B1 (ko) | 2005-09-28 | 2008-03-07 | 주식회사 하이닉스반도체 | 반도체 메모리 장치 |
US7647509B2 (en) | 2006-05-12 | 2010-01-12 | Intel Corporation | Method and apparatus for managing power in a processing system with multiple partitions |
KR20090014692A (ko) | 2007-08-07 | 2009-02-11 | 한국과학기술원 | 인터럽트 기반의 프로세서를 위한 인터럽트 대기 명령어를실행하는 인터럽트 처리 방법 |
US8762692B2 (en) | 2007-09-27 | 2014-06-24 | Intel Corporation | Single instruction for specifying and saving a subset of registers, specifying a pointer to a work-monitoring function to be executed after waking, and entering a low-power mode |
US8156275B2 (en) | 2009-05-13 | 2012-04-10 | Apple Inc. | Power managed lock optimization |
US8464035B2 (en) | 2009-12-18 | 2013-06-11 | Intel Corporation | Instruction for enabling a processor wait state |
JP2011150422A (ja) | 2010-01-19 | 2011-08-04 | Renesas Electronics Corp | データ処理装置 |
US9009451B2 (en) | 2011-10-31 | 2015-04-14 | Apple Inc. | Instruction type issue throttling upon reaching threshold by adjusting counter increment amount for issued cycle and decrement amount for not issued cycle |
US9053257B2 (en) | 2012-11-05 | 2015-06-09 | Advanced Micro Devices, Inc. | Voltage-aware signal path synchronization |
US8816743B1 (en) | 2013-01-24 | 2014-08-26 | Altera Corporation | Clock structure with calibration circuitry |
US9411360B2 (en) * | 2014-01-13 | 2016-08-09 | Apple Inc. | Method to manage current during clock frequency changes |
US9496851B2 (en) * | 2014-09-10 | 2016-11-15 | Qualcomm Incorporated | Systems and methods for setting logic to a desired leakage state |
US9672305B1 (en) * | 2015-01-28 | 2017-06-06 | Apple Inc. | Method for gating clock signals using late arriving enable signals |
-
2015
- 2015-08-06 KR KR1020150111210A patent/KR102476357B1/ko active IP Right Grant
-
2016
- 2016-06-17 US US15/185,505 patent/US10983551B2/en active Active
- 2016-08-04 TW TW105124727A patent/TWI762448B/zh active
- 2016-08-08 CN CN201610642814.4A patent/CN106444965B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070277052A1 (en) * | 2006-05-03 | 2007-11-29 | Sony Computer Entertainment Inc. | Method and apparatus for resolving clock management issues in emulation involving both interpreted and translated code |
CN101452337A (zh) * | 2008-12-18 | 2009-06-10 | 北京中星微电子有限公司 | 一种外接设备的控制方法和装置 |
CN102955494A (zh) * | 2011-08-31 | 2013-03-06 | 北京中电华大电子设计有限责任公司 | 一种wlan芯片的时钟树实现方法和电路 |
CN104769841A (zh) * | 2012-09-19 | 2015-07-08 | 高通股份有限公司 | 用于降低动态功率的时钟门控电路 |
CN103116384A (zh) * | 2013-02-01 | 2013-05-22 | 山东华芯半导体有限公司 | 一种SoC系统时钟控制的方法和SoC |
CN107315448A (zh) * | 2017-06-26 | 2017-11-03 | 北方电子研究院安徽有限公司 | 一种低功耗多核SoC的时钟管理架构设计方法 |
Also Published As
Publication number | Publication date |
---|---|
US20170038791A1 (en) | 2017-02-09 |
KR102476357B1 (ko) | 2022-12-09 |
TWI762448B (zh) | 2022-05-01 |
KR20170017382A (ko) | 2017-02-15 |
US10983551B2 (en) | 2021-04-20 |
TW201712464A (zh) | 2017-04-01 |
CN106444965A (zh) | 2017-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9225343B2 (en) | Electronics device capable of efficient communication between components with asyncronous clocks | |
US7958333B2 (en) | Processor with memory access stage adapted to fetch an instruction of a thread when no memory access operation is detected | |
KR102170644B1 (ko) | 낮은 레벨 프로그래밍 가능한 시퀀서와 조합한 범용 프로그래밍 가능한 프로세서를 사용한 비휘발성 메모리 채널 제어 | |
US11341085B2 (en) | Low energy accelerator processor architecture with short parallel instruction word | |
US9405552B2 (en) | Method, device and system for controlling execution of an instruction sequence in a data stream accelerator | |
US9952865B2 (en) | Low energy accelerator processor architecture with short parallel instruction word and non-orthogonal register data file | |
TWI567639B (zh) | 以指令之類別與內容為基礎之處理器電源管理技術 | |
RU2651238C2 (ru) | Синхронизация обработки прерывания для уменьшения потребления энергии | |
CN106444965B (zh) | 时钟管理单元、包括其的集成电路和管理时钟的方法 | |
JP3709040B2 (ja) | 非同期データ処理装置 | |
US8275975B2 (en) | Sequencer controlled system and method for controlling timing of operations of functional units | |
TWI534615B (zh) | 串列周邊介面控制器、串列周邊介面快閃記憶體及其存取方法和存取控制方法 | |
WO2013175412A1 (en) | Apparatus and method for synchronising signals | |
US10802742B2 (en) | Memory access control | |
JP2008542949A (ja) | パイプライン型マイクロプロセッサの節電システムおよび節電方法 | |
US6779122B2 (en) | Method and apparatus for executing a long latency instruction to delay the restarting of an instruction fetch unit | |
US20170185411A1 (en) | Instruction execution method and processor | |
US20140115358A1 (en) | Integrated circuit device and method for controlling an operating mode of an on-die memory | |
US7290153B2 (en) | System, method, and apparatus for reducing power consumption in a microprocessor | |
JP6309216B2 (ja) | プロセッサシステムおよび半導体集積回路 | |
JP2010231542A (ja) | 半導体集積回路装置 | |
JP2011150636A (ja) | マイクロプロセッサ及びその制御方法 | |
JP2012182702A (ja) | リセット回路および半導体装置 | |
JP2012221086A (ja) | 情報処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 |