电子器件及其操作方法与流程

文档序号:14860009发布日期:2018-07-04 06:36阅读:271来源:国知局
电子器件及其操作方法与流程

本申请要求于2016年12月26日提交至韩国知识产权局的韩国专利申请no.10-2016-0179164的优先权,该申请全部内容以引用方式并入本文中。

本公开涉及电子器件及其操作方法。



背景技术:

在电子器件的多个器件集成在一个芯片上的系统芯片(soc)中,可易于执行功率管理。在某些情况下,如果和/或当执行用于禁用集成在soc上的器件的时钟的时钟门控时,可减少器件的动态功率。在某些情况下,如果和/或当针对特定器件执行时钟门控时,中央处理单元(cpu)可访问该器件的驱动器,以检查工作队列,并且如果工作队列是空的,则cpu可确定该器件处于空闲状态。此后,cpu可控制作为集成在soc中的器件之一的时钟管理单元(cmu),通过cmu的驱动器以门控器件的时钟。



技术实现要素:

提供一种电子器件及其操作方法,通过所述电子器件及其操作方法可降低动态功率。

将在下面的描述中部分地阐述其它方面,并且部分地通过描述中明显得出其它方面,或可通过一些示例实施例的实践习得其它方面。

根据一些示例实施例,一种电子器件可包括时钟管理电路和直接连接到时钟管理电路的处理器电路。时钟管理电路可配置为控制时钟信号。处理器电路配置为根据处理器电路的操作状态,将与时钟信号相关联的时钟控制请求通信至时钟管理电路。

根据一些示例实施例,一种电子器件的操作方法可包括:确定电子器件的处理器电路的操作状态;并基于使用处理器电路,根据处理器电路的操作状态,将与时钟信号相关联的时钟控制请求直接通信至时钟管理电路。

根据一些示例实施例,一种电子器件可包括:第一处理器电路和第二处理器电路,它们配置为支持硬件高速缓存一致性;以及时钟管理电路,其配置为控制第一处理器电路的时钟信号和第二处理器电路的时钟信号。第二处理器电路可配置为,基于确定第二处理器电路已从第一处理器电路接收到高速缓存一致性信号,将时钟启用请求通信至时钟管理电路。时钟管理电路可配置为,响应于时钟启用请求,启用第二处理器电路。

根据一些示例实施例,一种电子器件可包括存储指令程序的存储器和处理器。处理器可配置为执行指令程序,以确定与处理器相关联的操作状态,并根据处理器的操作状态,将与时钟信号相关联的时钟控制请求通信至时钟管理电路。

附图说明

通过以下结合附图描述的实施例,这些和/或其它方面将更清楚、更容易地理解,其中:

图1示出了根据一些示例实施例的电子器件;

图2是示出了根据一些示例实施例的电子器件的内部结构的框图;

图3示出了根据一些示例实施例的电子器件的时钟控制操作;

图4示出了根据一些示例实施例在时钟管理请求接口和时钟管理单元(cmu)之间的操作;

图5示出了根据一些示例实施例基于时钟管理请求确定单元的确定结果,将时钟启用请求或时钟禁用请求发送至cmu的操作;

图6是根据一些示例实施例的时钟管理请求接口和高速缓存一致性接口的框图;

图7是根据一些示例实施例的电子器件的操作方法的流程图;以及

图8是根据一些示例实施例确定处理器的操作状态的方法的流程图。

具体实施方式

现在参考示出了示例的附图详细描述示例实施例,其中相同的附图标记始终用于表示相同的元件。就这一点而言,一些示例实施例可具有不同的形式,并且不应理解为仅限于本文所阐述的描述。因此,下面仅参考附图描述示例实施例来解释各方面。如本文所使用的那样,术语“和/或”包括相关所列项目中的一个或多个的任意和所有组合。

下面将参照附图详细描述各示例实施例。下面将要描述的示例实施例可以经各种不同形式的修改后实施。为清楚描述示例实施例的特征,将不会详细描述对于示例实施例所属领域的普通技术人员广泛知晓的要素。

在此,当一个元件连接到另一元件上时,所述一个元件不仅可以直接连接到另一元件上,而且还可以利用另一个介入其间的元件电连接到另一元件上。如果假设某一元件包括某一元件,术语“包括”表示相应元件可进一步包括其它元件,除非书面声明了与相应元件相反的特定含义。

图1示出了根据一些示例实施例的电子器件。

参照图1,根据一些示例实施例的电子器件100可包括中央处理单元(cpu)110、数字信号处理器(dsp)120、存储器130、图形处理单元(gpu)140及时钟管理单元(cmu)150。然而,这样的结构只是示例,并且电子器件100还可包括各种其它器件。例如,电子器件100还可包括输入/输出(i/o)接口。cpu110、dsp120、gpu140和cmu150中的每个可分别包括配置以实现cpu110、dsp120、gpu140和cmu150的电子线路的实例。cpu110、dsp120、gpu140和cmu150中的一个或多个可包括处理器。本文所称的处理器可替换地称为“处理器电路”和/或“处理装置”。

诸如cpu110、dsp120、gpu140和cmu150的处理装置可包括一个或多个电子线路的实例,这些电子线路根据它们的功能分别配置为,通过接收数据、存储数据、计算数据和输出数据来对数据进行处理。诸如cpu110、dsp120、gpu140和cmu150的处理装置可以是与不同类型的处理装置(例如,不同的处理器电路类型)相关联的处理装置(“处理器电路”)。这样的处理装置可分别包括用于数据处理的高速缓存111、121和141。电子器件100可支持用于在高速缓存111、121和141之间共享所存储的数据的高速缓存一致性。可以通过硬件间的直接连接,而不是软件处理来支持高速缓存一致性。这将在下面详细描述。

存储器130(也可替代性地称为“存储器装置”)可包括电子线路的实例,其配置为存储操作系统(os)、各种程序和与电子器件100的驱动有关的数据。可将存储在存储器130中的数据提供给每个处理装置。在一些示例实施例中,基于执行存储在存储器130中的指令程序,cpu110、dsp120、gpu140和cmu150可各自配置为实现本文描述的功能和/或单元、元件等的一个或多个实例。存储器130可以是存储一个或多个指令程序的非暂时性计算机可读存储介质。

cmu150可包括配置为管理电子器件100的时钟信号的电子线路的实例。cmu150可控制输入到诸如cpu110、dsp120、存储器130、gpu140等的每一个器件的时钟信号。更具体地,cmu150选择性启用或禁用输入到每一个器件的时钟信号。本文可替换地将时钟管理单元(cmu)称作“时钟管理电路”。

分离的器件连接到总线160。总线160可包括系统总线,并可以实现为应用具有特定标准总线规范的协议的总线。例如,作为标准总线规范,可应用先进risc机器(arm)的高级微控制器总线架构(amba)协议。另外,其它类型的协议,如,sonics公司的unetwork、ibm的coreconnect、ocp-ip的开放内核协议(opencoreprotocol)等,也可应用到系统总线。

可利用系统芯片(soc)实现电子器件100。换句话说,cpu110、dsp120、存储器130、gpu140和cmu150可集成到一个芯片上。

图2是示出了根据一些示例实施例的电子器件的内部结构的框图。

参照图2,电子器件200可包括cmu210和处理器220。如图2所示,处理器220可包括高速缓存221、状态寄存器222、时钟管理请求确定单元223和时钟管理请求接口224。高速缓存221、状态寄存器222、时钟管理请求确定单元223和时钟管理请求接口224中的每一个可通过处理器220中单独的各个电子线路的实例来实现。处理器220可直接连接到cmu(例如,通过一个或多个硬件直接结构性接口、硬件直接通信接口、它们的一些组合等)。

cmu210控制时钟信号。cmu210可控制多个电路的时钟信号(例如,控制第一处理器电路的时钟信号和第二处理器电路的时钟信号)。cmu210从与其直接连接的处理器220接收时钟控制请求。cmu210可从处理器220直接接收时钟控制请求,时钟控制请求无需通过另一器件。本文可替换地将处理器220称作处理器电路。

cmu210可在处理器220的请求下,选择性地启用(例如,选择性地启用或禁用)输入到处理器220的时钟信号(例如,基于从处理器220分别接收到时钟启用请求或时钟禁用请求,选择性地启用或禁用输入到处理器220的时钟信号)。即使当cmu210从处理器220接收到时钟禁用请求时,基于确定在接收时钟禁用请求与之前紧邻的(“紧接着之前”)时钟信号的启用之间的时间间隔小于或等于特定阈值时间,cmu210可以选择性地保持启用输入到处理器220的时钟信号(例如,选择性地启用输入到处理器220的时钟信号),而不禁用时钟信号。这样,通过将时钟状态变化间隔保持在特定时间或更长时间,cmu210可改进处理器220的处理效率。

将参照图3和图4详细描述cmu210的时钟控制操作。

图3示出了根据一些示例实施例的电子器件的时钟控制操作。

图3中,处理器340(例如,诸如gpu、dsp等的处理装置)在cmu310的控制下接收时钟信号。

cmu310从处理器340接收时钟控制请求,并将0或1输出到与门(and)330。

时钟产生单元320(本文也称为“时钟产生电路”)可产生时钟信号,并将产生的时钟信号输出(“通信”)至与门330。

当cmu310输出0时,通过与门330输入到处理器340的信号是0,从而禁用处理器340的时钟信号。当cmu310输出1时,由时钟产生单元320产生的时钟信号通过与门330输入(“通信”)到处理器340,从而启用处理器340的时钟信号。

根据一些示例实施例,处理器340可直接连接到cmu310,而没有通过另一器件连接(例如,通过硬件直接通信接口直接地通信连接到cmu310),从而将处理器340配置为,基于处理器340是处于空闲状态还是处于活动状态,相应地将针对输入到处理器340的时钟信号的时钟启用请求或时钟禁用请求选择性地直接递送(“通信”)到cmu310(例如,通过硬件直接通信接口)。因此,没有信号处理延迟,允许立即启用或禁用时钟信号。

图4示出了根据一些示例实施例在时钟管理请求接口和cmu之间的操作。

参照图4,基于处理器220分别是处于空闲状态还是处于活动状态,处理器220选择性地将时钟管理请求信号clkreq提供(“通信”)至cmu210,其中时钟管理请求信号clkreq是时钟启用请求或时钟禁用请求。

已接收到时钟管理请求信号clkreq的cmu210将表示信号接收的信号accept提供(“通信”)至处理器220,从而在处理器220和cmu210之间实现握手。

响应于处理器220接收信号accept,处理器220将与信号accept的接收应答有关的信号ack发送(“通信”)到cmu210。

回到图2,处理器220可包括:高速缓存221;状态寄存器222,其可存储处理器220(“相关联”)的操作状态;时钟管理请求确定单元223,其可确定、存储在状态寄存器222中的处理器220的操作状态(例如,“存储的操作状态”);以及直接与cmu210连接的时钟管理请求接口224。处理器220可配置为,基于执行指令程序来实现高速缓存221、状态寄存器222、时钟管理请求确定单元223和时钟管理请求接口224中的一些或全部。这样的指令程序可存储在存储器中,诸如图1所示的存储器130。

高速缓存221可以是最后一级高速缓存(llc)。高速缓存221可包括高速缓存一致性接口221-1,其配置为支持高速缓存一致性,并且配置为连同包括在使用高速缓存一致性接口的另一器件中的高速缓存一起支持硬件高速缓存一致性。

根据时钟管理请求确定单元223的确定结果(例如,基于处理器220分别是处于空闲状态还是处于活动状态),处理器220可直接地并可选择性地通过时钟管理请求接口224将时钟启用请求或时钟禁用请求提供(“通信”)至cmu210。

状态寄存器222可包括:处理器状态寄存器222-1,其可存储处理器220的管线(pipeline)的状态;以及高速缓存状态寄存器222-2,其可存储高速缓存221的状态。处理器状态寄存器222-1可存储处理器220的管线是处于活动状态还是处于空闲状态的指示。更具体地,基于处理器220完成工作队列中最后一个工作(例如,基于确定处理器电路已完成工作队列中最后一个工作),处理器状态寄存器222-1可更新为空闲状态。高速缓存状态寄存器222-2可存储高速储缓存221是处于活动状态还是处于空闲状态的指示。更具体地,基于高速缓存221完成所请求的工作(例如,确定高速缓存221已完成了请求的工作)并且处于先入先出(fifo)空状态,高速缓存状态寄存器222-2可更新为空闲状态。高速缓存状态寄存器222-2可指示处理器220的存储器系统是否处于空闲状态。

时钟管理请求确定单元223可基于使用状态寄存器222来确定处理器220是处于空闲状态还是处于活动状态。更具体地,时钟管理请求确定单元223可基于存储在状态寄存器222中的处理器220的管线的状态和高速缓存221的状态来确定处理器220是处于空闲状态还是处于活动状态。

时钟管理请求确定单元223可确定在处理器220处通过高速缓存一致性接口是否将与高速缓存一致性有关的高速缓存一致性信号发送至另一处理器或者从另一处理器接收与高速缓存一致性有关的高速缓存一致性信号。更具体地,时钟管理请求确定单元223确定是否将高速缓存一致性流量发送到另一处理器或者从另一处理器接收到高速缓存一致性流量。更具体地,时钟管理请求确定单元223可确定是否将高速缓存一致性的探测流量(snooptraffic)发送到另一处理器或者从另一处理器接收到高速缓存一致性的探测流量。时钟管理请求确定单元223确定另一器件(例如,分离的器件)是否已访问处理器220(例如,处理器电路)。更具体地,时钟管理请求确定单元223可确定另一器件是否通过处理器装置驱动器执行与处理器220的控制寄存器或状态寄存器相关的读操作或写操作。

基于时钟管理请求确定单元223确定处理器220的管线和高速缓存221处于空闲状态、并且没有发送或接收高速缓存一致性流量、并且另一器件(例如,分离的器件)没有访问处理器220(例如,处理器电路),时钟管理请求确定单元223可确定处理器220处于空闲状态。基于时钟管理请求确定单元223确定处理器220的管线或高速缓存221处于活动状态、或者发送或接收高速缓存一致性流量、或者另一器件已访问处理器220,时钟管理请求确定单元223可确定处理器220处于活动状态。

将参照图5进行更详细的描述。

图5示出了根据一些示例实施例基于时钟管理请求确定单元的确定结果(例如,基于处理器分别是处于空闲状态还是处于活动状态),选择性地将时钟启用请求或时钟禁用请求发送(“通信”)至cmu的操作。可通过本文所描述的一些或全部处理器、处理装置等执行图5示出的操作。

参照图5,时钟管理请求确定单元223根据以下四个条件确定对于cmu210的时钟启用请求或时钟禁用请求:

1.处理器220的管线的状态;

2.高速缓存221的状态;

3.是否将高速缓存一致性流量发送至另一处理器或者从另一处理器接收到高速缓存一致性流量;以及

4.另一器件是否已访问处理器220。

在一些示例实施例中,基于从时钟管理请求接口224输出的时钟管理请求信号clkreq为0(例如,具有0的值),可选择性地将时钟禁用请求发送(“通信”)至cmu210。更具体地,基于由于处理器220的管线处于空闲状态而使得或门(or)510的第一输入521为0、由于高速缓存221处于空闲状态而使得或门510的第二输入522为0、由于没有发送或接收高速缓存一致性流量而使得或门510的第三输入523为0、以及由于另一器件没有访问处理器220而使得或门510的第四输入为0,也就是说,如果或门510的全部第一输入521至第四输入524都为0,则或门510的输出会为0。在这种情况下,时钟管理请求确定单元223确定处理器220处于空闲状态,并通过时钟管理请求接口224将时钟管理请求信号clkreq为0的时钟禁用请求提供(“通信”)至cmu210。

另一方面,基于从时钟管理请求接口224输出的时钟管理请求信号clkreq为1,可选择性地将时钟启用请求提供至cmu210。更具体地,基于由于处理器220的管线处于活动状态而使得或门510的第一输入521为1、或者由于高速缓存221处于活动状态而使得或门510的第二输入522为1、或者由于发送或接收高速缓存一致性流量而使得或门510的第三输入523为1、或者由于另一器件已访问处理器220而使得或门510的第四输入为1,也就是说,如果或门510的第一输入521至第四输入524中任一输入为1,则或门510的输出会为1。基于处理器220的时钟处于禁用状态产生时钟启用请求,使得基于发送或接收(例如,在处理器220和另一“分离的”器件之间通信的)高速缓存一致性流量或者另一器件已访问处理器220,提供时钟启用请求。因此,处理器220通过时钟管理请求接口224将时钟管理请求信号clkreq为1的时钟启用请求提供至cmu210。

根据一些示例实施例,访问处理器220的另一“分离的”器件没有确定处理器220的操作状态;相反,包括在处理器220内的时钟管理请求确定单元223确定处理器220的空闲的时间点。处理器220直接连接到cmu210(例如,通过一个或多个硬件直接结构接口、硬件直接通信接口、它们的一些组合等),使得处理器220配置为(例如,通过硬件直接通信接口)直接提供时钟控制请求,使得另一器件不在cmu210的控制寄存器中存储用于控制处理器220的时钟的命令。因此,没有信号处理延迟,允许立即启用或禁用时钟。

回到图2,电子器件200可包括总线,并且时钟管理请求接口224可通过总线直接连接到cmu210。电子器件200通过总线支持处理器220的高速缓存221和包括在另一器件中的高速缓存之间的高速缓存一致性。将参照图6进行更详细的描述。

图6是根据一些示例实施例的时钟管理请求接口和高速缓存一致性接口的框图。

参照图6,电子器件200可包括cmu210、处理器220和另一器件230。本文所述的“另一器件”可替换地称为“分离的器件”。进一步,如本文所指出的,“处理器”可替换地称为“处理器电路”。

处理器220可包括高速缓存221和时钟管理请求接口224,并且高速缓存221可包括高速缓存一致性接口610。器件230可包括高速缓存232,高速缓存232可包括高速缓存一致性接口620。器件230可以例如是cpu,处理器220可以是诸如gpu或dsp的处理器。处理器220可基于执行存储在存储器中的指令程序(图6未示出)实现高速缓存221和时钟管理请求接口224。这样的存储器可以是图1所示的存储器130。

处理器220的高速缓存一致性接口610通过总线240直接连接到器件230的高速缓存一致性接口620。因此,电子器件200可通过高速缓存221和232之间的直接连接在不使用存储器的情况下支持根据硬件的高速缓存一致性。

当支持根据硬件的高速缓存一致性时,处理器220可配置为通常始终启用时钟,以便为探测流量服务。在一些示例实施例中,处理器220可通过时钟管理请求接口224直接连接到cmu210,使得处理器220配置为将时钟控制请求直接提供到cmu210(例如,无需通过任何中间设备进行通信),使得在支持硬件高速缓存一致性的环境下执行时钟门控,从而降低动态功率消耗。

回到图2,可通过分离的器件(图2未示出)来控制cmu210。控制cmu210的分离的器件可通过cmu210的驱动器来控制cmu210。更具体地,控制cmu210的分离的器件访问cmu210的控制寄存器,并在cmu210的控制寄存器中存储命令,用于控制包含在电子器件200中的每一个器件的时钟。控制cmu210的分离的器件可以是图1所示的cpu110。

到目前为止,已描述了电子器件200的结构。下文将描述电子器件200的操作方法。

图7是根据一些示例实施例的电子器件的操作方法的流程图。图7示出的操作可通过本文所描述的一些或全部处理器、处理装置等执行。

参照图7,在操作710中,电子器件200确定处理器220的操作状态,即,处理器220是处于空闲状态还是处于活动状态。

在操作720中,根据处理器220的操作状态,处理器220直接将时钟控制请求提供(“通信”)至cmu210。基于在操作710中处理器220确定处理器220的状态是空闲状态,处理器220选择性地将时钟禁用请求提供给cmu210。相反,基于在操作710中处理器220确定处理器220的状态是活动状态,处理器220选择性地将时钟启用请求提供给cmu210。

一旦从处理器220接收时钟启用请求,cmu210启用输入到处理器220的时钟;基于cmu210从处理器220接收到时钟禁用请求,cmu210禁用输入到处理器220的时钟。然而,如果在接收时钟禁用请求与之前紧邻的时钟信号的启用之间的时间间隔小于或等于特定阈值时间,那么cmu210可以保持输入到处理器220的时钟的启用状态,而不禁用该时钟。

图8是根据一些示例实施例确定处理器的操作状态的方法的流程图。图8示出的方法可通过本文所描述的一些或全部处理器、处理装置等执行。

参照图8,在操作810中,处理器220确定处理器220的管线的状态。基于在操作810中处理器220确定管线处于活动状态,处理器220执行操作860,以将时钟启用请求提供给cmu210。基于在操作810中处理器220确定管线处于空闲状态,处理器220执行操作820。

在操作820中,处理器220确定处理器220的高速缓存221的状态。基于在操作820中处理器220确定高速缓存221处于活动状态,处理器220执行操作860,以将时钟启用请求提供给cmu210。基于在操作820中处理器220确定高速缓存221处于空闲状态,处理器220执行操作830。

在操作830中,处理器220确定是否发送或接收了高速缓存一致性流量。基于在操作830中处理器220确定发送或接收了高速缓存一致性流量,处理器220执行操作860,以将时钟启用请求提供给cmu210。基于在操作830中处理器220确定没有发送或接收高速缓存一致性流量,处理器220执行操作840。

在操作840中,处理器220确定另一器件是否访问处理器220。基于在操作840中处理器220确定另一器件已经访问处理器220,处理器220执行操作860,以将时钟启用请求提供给cmu210。基于在操作840中处理器220确定另一器件没有访问处理器220,处理器220执行操作850,以将时钟禁用请求提供给cmu210。

图8所示的确定处理器220的操作状态的方法是根据一些示例实施例的,并可用其他方式来实现。例如,可首先执行确定是否发送或接收了高速缓存一致性流量的操作830。可以在确定高速缓存221的状态的操作820之前执行确定另一器件是否访问处理器220的操作840。

根据一些示例实施例的装置可包括处理器、用于存储程序数据和执行程序数据的存储器、诸如磁盘驱动器的永久存储装置、用于与外部设备通信的通信端口以及诸如触控面板、键、按钮等的用户接口装置。用软件模块或算法实现的方法可存储为在计算机可读记录介质上可由处理器执行的计算机可读代码或程序指令。计算机可读记录介质的示例可包括磁存储介质(例如,只读存储器(rom)、随机存取存储器(ram)、软盘、硬盘等)和光学介质(例如,光盘rom(cd-rom)、数字多功能光盘(dvd)等)等。计算机可读记录介质可以分布在网络耦合计算机系统上,使得计算机可读代码以分布式方式存储并执行。介质可以通过计算机读取、存储在存储器中、并由处理器执行。

一些示例实施例可通过块元件和各种处理操作来表示。这种功能块可以通过执行特定功能的各种数量的硬件和/或软件部件实现。例如,一些示例实施例可以采用各种集成电路部件,例如,存储器元件、处理元件、逻辑元件、查找表等,可以在一个或多个微处理器或其他控制设备的控制下执行各种功能。类似地,在使用软件编程或软件元件来实现各元件的情况下,一些示例实施例可使用任何编程语言或脚本语言(诸如c、c++、java、汇编等)来实现,可使用利用数据结构、对象、进程、例程或其它编程元件的任意组合实现的各种算法来实现。功能方面可实现为在一个或多个处理器中执行的算法。进一步,一些示例实施例可采用电子配置、信号处理和/或控制、数据处理等的任意数量的现有技术。术语“机制”、“元件”、“手段”或“部件”广泛应用,并且不限于机械或物理实施例。术语可以包括与处理器等相结合的一系列软件例程。

在一些示例实施例描述的特定执行只是示例,并且不限定使用任何方法的技术范围。为了简洁起见,没有详细描述系统的传统的电子器件、控制系统、软件开发以及其他功能方面。此外,在所呈现的各个附图中示出的连接线或连接器旨在表示各种元件之间的示例功能关系和/或物理或逻辑连接。

本公开(特别是在权利要求书)中,“所述”和其它与之类似的指示词的使用既可对应于单数形式与复数形式。此外,如果是本公开描述了范围,该范围必须被视为包括采用范围内的任何单个元件的发明(除非另有说明),并必须被视为已写在本公开的包括在范围内的每个单个元件的详细描述中。除非方法的操作顺序被明确地提及或描述,否则可以适当的顺序来执行操作。操作的顺序不限于所提及的操作顺序。所有示例或示例术语(例如,“等”,“和(或)等”和“等等”)的使用仅旨在详细描述技术构思,并且范围并不限于示例或示例术语,除非权利要求进行了限定。此外,本领域普通技术人员可以理解,本公开可以根据设计条件和因素、通过各种修改、组合和变化来配置,而不脱离本公开和它的等价物的精神和技术范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1