CN105653005A - 片上系统、操作片上系统的方法和包括片上系统的装置 - Google Patents
片上系统、操作片上系统的方法和包括片上系统的装置 Download PDFInfo
- Publication number
- CN105653005A CN105653005A CN201510849786.9A CN201510849786A CN105653005A CN 105653005 A CN105653005 A CN 105653005A CN 201510849786 A CN201510849786 A CN 201510849786A CN 105653005 A CN105653005 A CN 105653005A
- Authority
- CN
- China
- Prior art keywords
- dvfs
- event
- value
- main device
- counting
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 38
- 238000012544 monitoring process Methods 0.000 claims abstract description 22
- 230000004044 response Effects 0.000 claims description 37
- 238000012545 processing Methods 0.000 claims description 18
- 230000003993 interaction Effects 0.000 abstract 1
- 102100031577 High affinity copper uptake protein 1 Human genes 0.000 description 21
- 101710196315 High affinity copper uptake protein 1 Proteins 0.000 description 21
- 230000007246 mechanism Effects 0.000 description 17
- 102100031145 Probable low affinity copper uptake protein 2 Human genes 0.000 description 16
- 101710095010 Probable low affinity copper uptake protein 2 Proteins 0.000 description 16
- 230000001276 controlling effect Effects 0.000 description 16
- 101100329714 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) CTR3 gene Proteins 0.000 description 15
- 230000000875 corresponding effect Effects 0.000 description 11
- 230000006870 function Effects 0.000 description 10
- 101100113692 Caenorhabditis elegans clk-2 gene Proteins 0.000 description 8
- 101100328957 Caenorhabditis elegans clk-1 gene Proteins 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000005538 encapsulation Methods 0.000 description 4
- 239000007943 implant Substances 0.000 description 4
- 101100219315 Arabidopsis thaliana CYP83A1 gene Proteins 0.000 description 3
- 101000806846 Homo sapiens DNA-(apurinic or apyrimidinic site) endonuclease Proteins 0.000 description 3
- 101000835083 Homo sapiens Tissue factor pathway inhibitor 2 Proteins 0.000 description 3
- 101100269674 Mus musculus Alyref2 gene Proteins 0.000 description 3
- 101100140580 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) REF2 gene Proteins 0.000 description 3
- 102100026134 Tissue factor pathway inhibitor 2 Human genes 0.000 description 3
- 230000000712 assembly Effects 0.000 description 3
- 238000000429 assembly Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 230000002596 correlated effect Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000036316 preload Effects 0.000 description 2
- 238000005452 bending Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000006854 communication Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000005442 molecular electronic Methods 0.000 description 1
- 210000003205 muscle Anatomy 0.000 description 1
- 239000002071 nanotube Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- 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
- 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
-
- 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)
- Power Sources (AREA)
- Computer Hardware Design (AREA)
Abstract
提供一种片上系统、操作片上系统的方法和包括片上系统的装置。所述片上系统可包括:主装置,被配置为执行动态电压和频率调节(DVFS)程序;从装置,被配置为与主装置进行通信;和/或性能监视单元,被配置为接收在指令被主装置处理时产生的第一事件,被配置为通过对第二事件的数量进行计数来产生第一计数值,第二事件的数量对应于与第一事件相关的指令的总数,并且被配置为通过对第三事件的数量进行计数来产生第二计数值,第三事件与第一事件之中的可通过主装置和从装置之间的交互被处理的第一指令相关。DVFS程序可被配置为基于第一计数值和第二计数值来产生用于控制主装置和从装置中的至少一个的DVFS的控制信号。
Description
本申请要求于2014年11月27日向韩国知识产权局(KIPO)提交的第10-2014-0167104号韩国专利申请和于2015年10月15日向KIPO提交的第10-2015-0144046号韩国专利申请的优先权,这些申请的全部内容通过引用合并于此。
技术领域
本发明构思的一些示例实施例总体上可涉及片上系统(SoC)。本发明构思的一些示例实施例总体上可涉及用于根据主装置的工作负荷的类型控制动态电压和频率伸缩(DVFS)并控制与主装置进行通信的从装置的DVFS的SoC。本发明构思的一些示例实施例总体上可涉及操作所述SoC的方法。本发明构思的一些示例实施例总体上可涉及包括所述SoC的计算装置。
背景技术
按照惯例,在计算系统中可使用仅关于DVFS的目标装置的信息来执行DVFS。在中央处理单元(CPU)的DVFS中,当在CPU中测量的当前负荷高于阈值时,可增大施加于CPU的时钟信号的频率和操作电压的电平,当当前负荷低于阈值时,可减小所述频率和电平。
在与存储器系统进行通信的CPU的操作频率高,而存储器系统的操作频率低的情况下,当CPU的工作负荷增大时,常规的DVFS方法可能增大CPU的操作频率和电压。然而,当CPU的工作负荷是面向存储器的工作负荷时,即使CPU的操作频率和电压增大,CPU的性能可能也不增大,而只是CPU的功耗可能增大。
发明内容
本发明构思的一些示例实施例可提供用于根据主装置的工作负荷的类型来控制DVFS的SoC。
本发明构思的一些示例实施例可提供用于控制与主装置进行通信的从装置的DVFS的SoC。
本发明构思的一些示例实施例可提供操作所述SoC的方法。
本发明构思的一些示例实施例可提供包括所述SoC的计算装置。
在一些示例实施例中,一种片上系统可包括:主装置,被配置为执行动态电压和频率调节(DVFS)程序;从装置,被配置为与主装置进行通信;和/或性能监视单元,被配置为接收在指令被主装置处理时产生的第一事件,被配置为通过对第二事件的数量进行计数来产生第一计数值,第二事件的数量对应于与第一事件相关的指令的总数,并且被配置为通过对第三事件的数量进行计数来产生第二计数值,第三事件与第一事件之中的可通过主装置和从装置之间的交互被处理的第一指令相关。DVFS程序可被配置为基于第一计数值和第二计数值来产生用于控制主装置和从装置中的至少一个的DVFS的控制信号。
在一些示例实施例中,主装置可以是中央处理单元(CPU)、图形处理单元(GPU)、图像信号处理器(ISP)、数字信号处理器(DSP)和多媒体处理器之一。从装置可以是存储器接口和输入/输出接口之一。
在一些示例实施例中,片上系统还可包括:时钟管理单元,被配置为响应于所述控制信号来控制施加于主装置的第一时钟信号的第一频率和施加于从装置的第二时钟信号的第二频率中的至少一个。
在一些示例实施例中,片上系统还可包括:电力管理单元,被配置为响应于所述控制信号来控制电力管理集成电路以控制施加于主装置的第一电压的电平和施加于从装置的第二电压的电平中的至少一个。
在一些示例实施例中,第二事件与主装置执行的指令相关,第三事件与L2高速缓存未命中相关。
在一些示例实施例中,DVFS程序可被配置为基于第一计数值和第二计数值来计算每千条指令未命中数(MPKI)值,和/或可被配置为基于MPKI值来产生所述控制信号。第二计数值可以是L2高速缓存未命中计数。
在一些示例实施例中,一种计算装置可包括:主装置,被配置为执行动态电压和频率调节(DVFS)程序;从装置,被配置为与主装置进行通信;性能监视单元,被配置为接收在指令被主装置处理时产生的第一事件,被配置为通过对第二事件的数量进行计数来产生第一计数值,第二事件的数量对应于与第一事件相关的指令的总数,并且被配置为通过对第三事件的数量进行计数来产生第二计数值,第三事件与第一事件之中的可通过主装置和从装置之间的交互被处理的第一指令相关;和/或电力管理集成电路(PMIC),被配置为将对应的操作电压提供给主装置、从装置和性能监视单元。DVFS程序可被配置为基于第一计数值和第二计数值来产生用于控制主装置和从装置中的至少一个的DVFS的控制信号。
在一些示例实施例中,主装置可以是中央处理单元(CPU)、图形处理单元(GPU)、图像信号处理器(ISP)、数字信号处理器(DSP)和多媒体处理器之一。从装置可以是存储器接口和输入/输出接口之一。
在一些示例实施例中,计算装置还可包括:时钟管理单元,被配置为响应于所述控制信号来控制施加于主装置的第一时钟信号的第一频率和施加于从装置的第二时钟信号的第二频率中的至少一个。
在一些示例实施例中,计算装置还可包括:电力管理单元,被配置为响应于所述控制信号来控制PMIC以控制施加于主装置的第一电压的电平和施加于从装置的第二电压的电平中的至少一个。
在一些示例实施例中,第二事件与主装置执行的指令相关,第三事件与L2高速缓存未命中相关。
在一些示例实施例中,DVFS程序可被配置为基于第一计数值和第二计数值来计算每千条指令未命中数(MPKI)值,和/或可被配置为基于MPKI值来产生所述控制信号。第二计数值可由对L2高速缓存未命中进行计数得到。
在一些示例实施例中,计算装置还可包括:存储器。主装置可以是中央处理单元(CPU)、图形处理单元(GPU)、图像信号处理器(ISP)、数字信号处理器(DSP)和多媒体处理器之一。从装置可以是被配置为根据主装置的控制来控制存储器的操作的存储器接口。
在一些示例实施例中,提供一种操作片上系统的方法,其中,片上系统包括执行动态电压和频率调节(DVFS)程序的主装置以及与主装置进行通信的从装置,所述方法可包括:接收在指令被主装置处理时产生的第一事件,并产生与第一事件之中的指令的数量对应的第一计数值;和/或DVFS程序基于第一计数值来控制主装置的DVFS和从装置的DVFS。
在一些示例实施例中,主装置可以是中央处理单元(CPU)、图形处理单元(GPU)、图像信号处理器(ISP)、数字信号处理器(DSP)和多媒体处理器之一。从装置可以是存储器接口和输入/输出接口之一。
在一些示例实施例中,所述方法还可包括:通过对第二事件的数量进行计数来产生第二计数值,第二事件与第一事件之中的可通过主装置和从装置之间的交互被处理的第一指令相关。DVFS程序可被配置为基于第一计数值和第二计数值来控制主装置的DVFS和从装置的DVFS。
在一些示例实施例中,第一计数值可以是每指令周期数(CPI)值,第二计数值是L2高速缓存未命中计数。
在一些示例实施例中,DVFS程序可被配置为当CPI值小于第一参考值时控制主装置的DVFS。DVFS程序可被配置为当CPI值大于第一参考值并且L2高速缓存未命中计数小于第二参考值时控制主装置的DVFS。
在一些示例实施例中,DVFS程序可被配置为基于第一计数值和第二计数值来计算每千条指令未命中数(MPKI)值,和/或可被配置为基于MPKI值来控制主装置的DVFS和从装置的DVFS,其中,第一计数值是所述指令的总数,其中,第二计数值是L2高速缓存未命中计数。
在一些示例实施例中,DVFS程序可被配置为当MPKI值小于第一参考值时控制主装置的DVFS,可被配置为当MPKI大于或等于第二参考值时控制从装置的DVFS,和/或可被配置为当MPKI值大于或等于第一参考值并且小于第二参考值时控制主装置的DVFS和从装置的DVFS。
在一些示例实施例中,一种计算装置可包括:第一装置,被配置为执行程序;第二装置,被配置为与第一装置进行通信;第三装置,被配置为接收在指令被第一装置处理时产生的第一事件,被配置为通过对第二事件的数量进行计数来产生第一计数值,第二事件的数量对应于与第一事件相关的指令的总数,并且被配置为通过对第三事件的数量进行计数来产生第二计数值,第三事件与第一事件之中的可通过第一装置和第二装置之间的交互被处理的第一指令相关;和/或第四装置,被配置为将操作电压提供给第一装置或第二装置。所述程序可被配置为基于第一计数值和第二计数值来产生用于控制第一装置、第二装置或者第一装置和第二装置的控制信号。
在一些示例实施例中,所述程序可包括动态电压和频率调节(DVFS)程序。
在一些示例实施例中,所述程序可被配置为将操作电压提供给第一装置和第二装置。
在一些示例实施例中,第一装置可包括中央处理单元(CPU)、图形处理单元(GPU)、图像信号处理器(ISP)、数字信号处理器(DSP)或多媒体处理器。
在一些示例实施例中,第二装置可包括存储器接口或输入/输出接口。
在一些示例实施例中,计算装置还可包括:第五装置,被配置为控制提供给第一装置或第二装置的频率。
在一些示例实施例中,计算装置还可包括:第五装置,被配置为控制提供给第一装置或第二装置的操作电压的电平。
附图说明
从下面结合附图对示例实施例的详细描述,以上和/或其他方面和优点将变得更清楚并且更易于理解,其中:
图1是根据本发明构思的一些示例实施例的计算装置的示意性框图;
图2是由图1中所示的主装置执行的动态电压和频率伸缩(DVFS)程序中所包括的模块的示图;
图3是主装置和从装置之间的交互的概念图;
图4是根据受计算限制的或受存储器限制的工作负荷的在主装置和从装置中的至少一个的DVFS的概念图;
图5是根据主装置的工作负荷的在主装置和从装置中的至少一个的DVFS的流程图;
图6是控制主装置的DVFS和从装置的DVFS的方案的概念图;
图7是根据本发明构思的一些示例实施例的操作片上系统(SoC)的方法的流程图;以及
图8是根据本发明构思的一些示例实施例的操作SoC的方法的流程图。
具体实施方式
现在将参照附图来更充分地描述示例实施例。然而,实施例可以以许多不同的形式实施,并且不应被解释为限于本文中阐述的实施例。相反,提供这些示例实施例是为了使得本公开将是透彻的且完整的,并且这些示例实施例将充分地将范围传达给本领域技术人员。在附图中,为清晰起见,可能夸大了层和区域的厚度。
将理解,当元件被称为“在另一组件上”、“连接到”、“电连接到”或“耦合到”另一组件,所述元件可直接在该另一组件上、直接连接到、电连接到或耦合到该另一组件,或者可存在中间的组件。相反,当组件被称为“直接在另一组件上”、“直接连接到”、“直接电连接到”或“直接耦合到”另一组件时,不存在中间的组件。如本文中所使用的,术语“和/或”包括相关联的列出的项中的一个或更多个的任意和所有组合。
将理解,尽管术语第一、第二、第三等在此可用于描述各种元件、组件、区域、层和/或部分,但是这些元件、组件、区域、层和/或部分不应受这些术语限制。这些术语仅用于将一个元件、组件、区域、层和/或部分与另一个元件、组件、区域、层和/或部分区分开。例如,第一元件、组件、区域、层和/或部分可在不脱离示例实施例的教导的情况下被称为第二元件、组件、区域、层和/或部分。
如附图所示,空间相对术语(诸如“在……下方”、“在……下面”、“下部”、“上面”、“上部”等)在此可为了便于描述而被用于描述一个组件和/或特征与另一个组件和/或特征或者其他组件和/或特征的关系。将理解,除了附图中描绘的方位之外,空间相对术语意图包含在使用或操作中的装置的不同方位。
在此使用的术语仅仅是为了描述特定示例实施例的目的,而非意图限制示例实施例。如本文中所使用的,单数形式意图也包括复数形式,除了上下文另有明确指示。将进一步理解,术语“包括”、“包括有”、“包含”和/或“包含有”在被用在本说明书中时指定存在陈述的特征、整数、步骤、操作、元件和/或组件,但不排除存在或添加一个或更多个其他的特征、整数、步骤、操作、元件、组件和/或它们的组。
在此可参照作为理想化的示例实施例(以及中间结构)的示意图的截面图来描述示例实施例。就这一点而论,作为例如制造技术和/或公差的结果的、例示说明的形状的变型将被预料到。因此,示例实施例不应被解释为限于在此示出的区域的特定形状,而是将包括由例如制造而导致的形状偏差。例如,被示出为矩形的植入区域在其边缘处通常将具有倒圆形或弯曲特征和/或植入浓度梯度,而不是从植入区域到非植入区域两部分变化。同样地,通过植入形成的隐埋区域可在隐埋区域和植入通过其发生的表面之间的区域中导致一些植入。因此,图中示出的区域本质上是示意性的,它们的形状不意图示出装置的区域的实际形状,它们的形状不意图限制示例实施例的范围。
除非另有定义,否则在此使用的所有术语(包括技术术语和科学术语)具有与示例实施例所属领域的普通技术人员通常理解的意义相同的意义。将进一步理解,诸如常用词典中定义的那些术语的术语应被解释为具有与它们在相关领域的上下文中的意义一致的意义,不应以理想化的或过于形式的意义来进行解释,除非在此明确定义。
现在将论述附图中示出的示例实施例,在附图中,相同的标号可始终指代相同的组件。
图1是根据本发明构思的一些示例实施例的计算装置100的示意性框图。计算装置100可包括控制器200、电力管理集成电路(PMIC)300以及存储器400。计算装置100可以是个人计算机(PC)或移动计算装置。移动计算装置可以是膝上型计算机、蜂窝电话、智能电话、平板PC、个人数字助理(PDA)、企业数字助理(EDA)、数字静态相机、数字摄像机、便携式多媒体播放器(PMP)、个人导航装置或便携式导航装置(PND)、手持游戏机、移动互联网装置(MID)、可穿戴计算机、物联网(IoT)装置、万物联网(IoE)装置或电子书,但是本发明构思不限于这些示例实施例。
控制器200可控制PMIC300的操作和存储器400的操作。控制器200可被实现为主机、集成电路(IC)、主板、片上系统(SoC)、应用处理器(AP)、移动AP或芯片组。当控制器200被形成为包括SoC、AP或移动AP的第一封装,并且存储器400被形成为第二封装时,第二封装可堆叠在第一封装上方。控制器200可包括总线架构201、中央处理单元(CPU)210、存储器接口220、时钟管理单元(CMU)230、电力管理单元(PMU)240、输入/输出(I/O)接口250以及内部存储器260。
在本发明构思的一些示例实施例中,主装置或主设备可以是CPU210、图形处理单元(GPU)、图像信号处理器(ISP)、数字信号处理器(DSP)、通信处理器(CP)或多媒体处理器,但是本发明构思不限于这些示例实施例。CP可以是调制解调器芯片。在本发明构思的一些示例实施例中,从装置或从设备可以是存储器接口220或I/O接口250,但是本发明构思不限于这些示例实施例。
主装置可在给定时间段期间独自独立地对将被处理的指令中的至少一些指令进行处理,并且可与从装置相关联地对这些指令中的其余指令进行处理。指令可表示工作负荷。至少一个主装置和至少一个从装置经由总线架构201彼此传送信号和/或数据。
在本发明构思的一些示例实施例中假定,CPU210是主装置,存储器接口220或I/O接口250是从装置,但是本发明构思不限于这些示例实施例。在一些示例实施例中,作为主装置操作的组件可作为从装置操作,反之亦然。
总线架构201可被实现为高级微控制器总线架构高级高性能总线(AHB)、高级外围总线(APB)、高级扩展接口(AXI)、高级系统总线(ASB)、AXI相关性扩展(ACE)或它们的组合,但是本发明构思不限于这些示例实施例。
根据本发明构思的一些示例实施例,CPU210可执行动态电压和频率调节(DVFS)程序。DVFS方法根据主装置执行的DVFS程序受到控制(例如,CPU210可应用于上面已经描述的主装置和/或从装置)。
性能监视单元211以硬件形式(例如,性能监视电路)实现在CPU210内。性能监视单元211可对CPU210的性能参数进行测量或计数。例如,性能监视单元211可对诸如指令周期、高速缓存命中、高速缓存未命中和分支未命中的参数进行测量或计数。例如,性能监视单元211可对在给定的时间段期间发生的事件的总数量之中的、与对应的性能参数相关的事件的数量进行测量或计数。
性能监视单元211可接收在给定的持续时间期间在指令(例如,工作负荷)被CPU210处理时产生的所有事件(例如,第一事件),通过对与所有事件(例如,第一事件)之中的(执行的)指令的总数对应的事件(例如,第二事件)的数量进行计数来产生第一计数值,通过对与可通过CPU210和存储器接口220之间的交互被处理的指令相关的事件(例如,第三事件)的数量进行计数来产生第二计数值,并且可输出第一计数值和第二计数值。例如,性能监视单元211可包括用于产生第一计数值的第一计数器211-1以及用于产生第二计数值的第二计数器211-2。
CPU210执行的DVFS程序可使用第一计数值和第二计数值来计算每千条指令未命中数(MPKI),并且可根据MPKI来产生用于控制CPU210、存储器接口220和I/O接口250的DVFS的控制信号。此时,第二计数值可以是L2高速缓存未命中计数,其中,L2高速缓存未命中计数可指示L2高速缓存未命中的数量。
可替代地,性能监视单元211可产生与CPI相关的第一计数值(每一指令周期数、每一指令时钟周期数或每一指令时钟数)和/或与L2高速缓存未命中计数对应的第二计数值。此时,CPU210执行的DVFS程序可使用第一计数值和/或第二计数值来产生用于控制CPU210、存储器接口220和I/O接口250的DVFS的控制信号。
众所周知,CPI可被定义为如下的等式:
其中,CCI是用于给定指令类型的时钟周期的数量或者用于给定类型的指令的数量,IC是总指令计数。
存储器接口220(从装置的示例)可根据CPU210的控制来控制对存储器400的写操作或读操作。存储器接口220可基于从CMU230输出的第二时钟信号CLK2的第二频率以及从PMIC300输出的第四操作电压PW4的电平来控制对存储器400的写或读操作。第二时钟信号CLK2的第二频率和第四操作电压PW4的电平都可根据DVFS进行调整。
尽管图1中为在描述中方便起见示出了一个存储器接口220和一个存储器400,但是存储器接口220可以是包括多个不同的存储器接口的存储器接口集合,存储器400可以是包括不同的存储器的集合。例如,当存储器400是包括动态随机存取存储器(DRAM)和闪存(例如,NAND类型的闪存(逻辑NOTAND)或NOR类型的闪存(逻辑NOTOR))的集合时,存储器接口220可以是包括DRAM控制器和闪存控制器的集合,但是本发明构思不限于这些示例实施例。
存储器400可由易失性和/或非易失性存储器形成。易失性存储器可以是随机存取存储器(RAM)、DRAM、静态RAM(SRAM)、晶闸管RAM(T-RAM)、零电容器RAM(Z-RAM)或双晶体管RAM(TTRAM),但是本发明构思不限于这些示例实施例。非易失性存储器可以是电可擦除可编程只读存储器(EEPROM)、闪存、磁RAM(MRAM)、自旋转移力矩MRAM、铁电RAM(FeRAM)、相变RAM(PRAM)、电阻式RAM(RRAM)、纳米管RRAM、聚合物RAM(PoRAM)、纳米浮栅存储器(NFGM)、全息存储器、分子电子存储器装置或绝缘体电阻变化存储器,但是本发明构思不限于这些示例实施例。
存储器400可被实现为固态驱动器或固态盘(SSD)、嵌入式SSD(eSSD)、多媒体卡(MMC)、嵌入式MMC(eMMC)或通用闪速存储器(UFS),但是本发明构思不限于这些示例实施例。
CMU230可响应于从CPU210或从由CPU210执行的DVFS程序输出的第一控制信号CTR1来调整施加于CPU210的第一时钟信号CLK1的第一频率、施加于存储器接口220的第二时钟信号CLK2的第二频率和/或施加于I/O接口250的第三时钟信号CLK3的第三频率。在一些示例实施例中,“调整”可意指增大、保持或减小。
PMU240可响应于从CPU210或从由CPU210执行的DVFS程序输出的第二控制信号CTR2来产生用于控制PMIC300的操作的第三控制信号CTR3。
PMIC300可响应于第三控制信号CTR3来调整第一操作电压PW1至第七操作电压PW7中的每一个的电平。例如,响应于第三控制信号CTR3,PMIC300可控制施加于CPU210的第一操作电压PW1的电平、施加于CMU230的第二操作电压PW2的电平、施加于PMU240的第三操作电压PW3的电平、施加于存储器接口220的第四操作电压PW4的电平、施加于存储器400的第五操作电压PW5的电平、施加于I/O接口250的第六操作电压PW6的电平以及施加于内部存储器260的第七操作电压PW7的电平,但是本发明构思不限于这些示例实施例。
第一控制信号CTR1、第二控制信号CTR2和第三控制信号CTR3中的每一个均可包括至少一个模拟信号或至少一个数字信号。
I/O接口250被提供用于数据的输入和输出。I/O接口250可基于从CMU230输出的第三时钟信号CLK3以及从PMIC300输出的第六操作电压PW6来发送或接收数据。第三时钟信号CLK3的第三频率以及第六操作电压PW6的电平可根据DVFS进行调整。
I/O接口250可支持串行高级技术附件(SATA)、SATA高速(SATAe)、SAS(串行连接SCSI(小型计算机系统接口))、外围组件互连高速非易失性存储器高速(NVMe)或移动工业处理器接口但是本发明构思不限于这些示例实施例。
内部存储器260可以是CPU210的操作存储器。例如,内部存储器260可由只读存储器(ROM)或SRAM形成,但是本发明构思不限于这些示例实施例。在存储器400由非易失性存储器形成的情况下,当计算装置100被启动时,存储在存储器400中的DVFS程序可被加载到内部存储器260并被CPU210执行。
图2是包括在由图1中所示的主装置执行的DVFS程序213中的模块的示图。参照图1和图2,DVFS程序213可包括DVFS调控器215、CMU装置驱动器217以及PMU装置驱动器218。
DVFS调控器215、CMU装置驱动器217以及PMU装置驱动器218可以是模块。在一些示例实施例中,模块可以是执行与其名称对应的功能和操作的计算机程序代码或软件。DVFS调控器215可控制DVFS程序213或总体DVFS操作。DVFS调控器215可包括工作负荷知晓程序(WAP)216。WAP216的执行可由DVFS调控器215控制。
WAP216可响应于第一计数值NOI和/或第二计数值NOCM来控制CMU装置驱动器217和PMU装置驱动器218。第一计数值NOI和第二计数值NOCM可以是具有不同信息或数据的值。
如上所述,第一计数值NOI可对应于第二事件的数量,或者可以是计算CPI值所必需的值,第二事件对应于在指令(例如,工作负荷)在给定时间期间被CPU210处理时产生的第一事件之中的所有的执行的(或提交的)指令。第二计数值NOCM可对应于第三事件的数量,第三事件与在所有指令在给定时间期间被CPU210处理时产生的第一事件之中的、可通过主装置(例如,CPU210)和从装置(例如,存储器接口220或I/O接口250)之间的交互被处理的指令相关。例如,第二计数值NOCM可对应于L2高速缓存未命中计数,但不限于此。
例如,将使用在系列处理器中使用的PMU事件来描述第一事件、第二事件和第三事件。
表1
第一事件可以是指具有在指令被处理时产生的所有事件(诸如与表1中描述的SW_INCR、L1I_CACHE_REFILL、INST_RETIRED、CPU_CYCLES、MEM_ACCESS、L2D_CACHE_REFILL以及BUS_CYCLES)相同的功能或类似的功能的事件。第二事件可以是指具有与第一事件之中的事件INST_RETIRED相同的功能或类似的功能的事件。第三事件可以是指具有与第一事件之中的事件L2D_CACHE_REFILL相同的功能或类似的功能的事件。
WAP216可基于第一计数值NOI和/或第二计数值NOCM来计算MPKI值或CPI值,并且可根据计算结果来将第一中间控制信号发送到CMU装置驱动器217。CMU装置驱动器217可响应于第一中间控制信号将第一控制信号CTR1输出到CMU230。
WAP216可基于第一计数值NOI和/或第二计数值NOCM来计算MPKI值或CPI值,并且可根据计算结果来将第二中间控制信号发送到PMU装置驱动器218。PMU装置驱动器218可响应于第二中间控制信号将第二控制信号CTR2输出到PMU240。
性能监视单元211可通过对第四事件的数量进行计数来产生第三计数值,其中,所述第四事件的数量对应于在所有指令在给定的时间期间被CPU210处理时产生的第一事件之中的可独立地被CPU210处理的指令的数量。第三计数值可被提供用于WAP216。此时,WAP216可基于第一计数值NOI、第二计数值NOCM和/或第三计数值来计算MPKI值或CPI值。
当存储器接口220是从装置时,第二计数值NOCM可对应于受存储器限制,第三计数值可对应于受计算限制。术语“受计算限制”可以是指受内核限制、受计算限制或受CPU限制。
术语“受存储器限制”可以是指完成由CPU210执行的任务的时间由对存储器400的访问速度决定的情况。然而,受计算限制可以是指完成由CPU210执行的任务的时间主要由CPU210的速度决定的情况。
当I/O接口250是从装置时,第二计数值NOCM可对应于受I/O限制,第三计数值可对应于受计算限制。受I/O限制可以是指完成由CPU210执行的任务的时间由I/O接口250的速度决定的情况。例如,当第一计数值NOI是第二计数值NOCM和第三计数值之和时,WAP216可使用第一计数值NOI和第二计数值NOCM来计算第三计数值。第一计数值NOI可对应于主装置(例如,CPU210)的工作负荷。
图3是主装置和从装置之间的交互的概念图(例如,受存储器限制)。根据主装置的控制,从装置(例如,存储器接口220)可在写操作期间将从主装置(例如,CPU210)输出的数据存储在存储器400中,并且可在读操作期间将从存储器400读取的数据发送到主装置。
图4是根据受计算限制(“CB”)或受存储器限制(“MB”)的工作负荷的在主装置和从装置中的至少一个的DVFS的概念图。图5是根据主装置的工作负荷的在主装置和从装置中的至少一个的DVFS的流程图。在主装置(例如,CPU210)中执行的DVFS程序213可基于从性能监视单元211输出的第一计数值NOI和第二计数值NOCM中的至少一个来检测CPU210的当前工作负荷是受计算限制还是受存储器限制(或受I/O限制),并且可根据检测结果来控制主装置(例如,CPU210)和从装置(例如,存储器接口220或I/O接口250)的DVFS。
例如,当DVFS程序213检测到CPU210的工作负荷是受存储器限制或受I/O限制时,即使CPU210的工作负荷很大或者CPU210的加载很高,DVFS程序213也不对CPU210执行增大电压和/或频率的操作,而是DVFS程序213对从装置(例如,存储器接口220或I/O接口250)执行增大电压和/或频率的操作。换句话说,DVFS程序213对从装置(例如,存储器接口220或I/O接口250)执行增大电压和/或频率的操作,因此,可改进CPU210的面向存储器的工作负荷。
然而,当DVFS程序213检测到CPU210的工作负荷是受存储器限制或受I/O限制,并且CPU210的工作负荷很大或者CPU210的加载很高时,常规的DVFS程序仅对CPU210执行增大电压和/或频率的操作,而不对从装置(例如,存储器接口220或I/O接口250)执行增大电压和/或频率的操作。此时,尽管用于CPU210的电压和/或频率增大,但是包括CPU210的控制器200和从装置(例如,存储器接口220或I/O接口250)的性能没有提高,并且CPU210的功耗增大。因此,CPU210的功率效率降低。
在操作S10中,性能监视单元211可基于在指令被CPU210处理时产生的第一事件、第二事件和/或第三事件来对工作负荷执行计算,并且可将与计算结果对应的第一计数值NOI和第二计数值NOCM中的至少一个输出到DVFS程序213的WAP216。WAP216可使用第一计数值NOI和第二计数值NOCM中的至少一个来计算CPI值或MPKI值。MPKI值可以是指第二计数值NOCM除以第一计数值NOI(例如,NOCM/NOI)。换句话说,第二计数值NOCM可以是指L2高速缓存未命中计数,第一计数值NOI可以是指在给定时间期间由CPU210执行的指令的总数。
当从装置是存储器接口220时,在操作S20中,WAP216可基于第一计数值NOI和第二计数值NOCM中的至少一个来检测CPU210的工作负荷是受计算限制还是受存储器限制。当在操作S20中检测到CPU210的工作负荷是受计算限制时(在“是”的情况下),WAP216可产生第一中间控制信号和第二中间控制信号,以使得CPU210的DVFS被执行。CMU装置驱动器217可响应于第一中间控制信号来产生第一控制信号CTR1,并且PMU装置驱动器218可响应于第二中间控制信号来产生第二控制信号CTR2。PMU240可基于第二控制信号CTR2来产生第三控制信号CTR3。
响应于第一控制信号CTR1进行操作的CMU230可增大施加于CPU210的第一时钟信号CLK1的第一频率。响应于第三控制信号CTR3进行操作的PMIC300可增大施加于CPU210的第一操作电压PW1的电平。换句话说,在操作S30中,可执行CPU210的DVFS。
然而,当在操作S20中检测到CPU210的工作负荷不是受计算限制时(在“否”的情况下),在操作S40中,WAP216可检测CPU210的工作负荷是否是受存储器限制。当在操作S40中检测到CPU210的工作负荷是受存储器限制时(在“是”的情况下),WAP216可产生第一中间控制信号和第二中间控制信号,以使得存储器接口220的DVFS被执行。换句话说,即使CPU210的工作负荷很大,WAP216也可产生第一中间控制信号和第二中间控制信号,以使得存储器接口220的DVFS而不是CPU210的DVFS被执行。
CMU装置驱动器217可响应于第一中间控制信号来产生第一控制信号CTR1,PMU装置驱动器218可响应于第二中间控制信号来产生第二控制信号CTR2。PMU240可基于第二控制信号CTR2来产生第三控制信号CTR3。
响应于第一控制信号CTR1进行操作的CMU230可增大施加于存储器接口220的第二时钟信号CLK2的第二频率。响应于第三控制信号CTR3进行操作的PMIC300可增大施加于存储器接口220的第四操作电压PW4的电平。换句话说,在操作S50中,可执行存储器接口220的DVFS。
当检测到CPU210的工作负荷既不是受计算限制也不是受存储器限制时(在两个操作S20和S40中“否”的情况),WAP216可产生第一中间控制信号和第二中间控制信号,以使得CPU210的DVFS和存储器接口220的DVFS被同时地或并行地执行。
CMU装置驱动器217可响应于第一中间控制信号产生第一控制信号CTR1,PMU装置驱动器218可响应于第二中间控制信号产生第二控制信号CTR2。PMU240可基于第二控制信号CTR2产生第三控制信号CTR3。
响应于第一控制信号CTR1进行操作的CMU230可增大施加于CPU210的第一时钟信号CLK1的第一频率。响应于第三控制信号CTR3进行操作的PMIC300可增大施加于CPU210的第一操作电压PW1的电平。换句话说,在操作S60中,可执行CPU210的DVFS。同时地或并行地,响应于第一控制信号CTR1进行操作的CMU230可增大施加于存储器接口220的第二时钟信号CLK2的第二频率。响应于第三控制信号CTR3进行操作的PMIC300可增大施加于存储器接口220的第四操作电压PW4的电平。换句话说,在操作S60中,可执行存储器接口220的DVFS。
当从装置是I/O接口250时,在操作S20中,WAP216可基于第一计数值NOI和第二计数值NOCM中的至少一个来检测CPU210的工作负荷是受计算限制还是受I/O限制。当在操作S20中检测到CPU210的工作负荷是受计算限制时(在“是”的情况下),在操作S30中可执行CPU210的DVFS。然而,当在操作S20中检测到CPU210的工作负荷不是受计算限制时(在“否”的情况下),在操作S40中,WAP216可检测CPU210的工作负荷是否是受I/O限制。
当在操作S40检测到CPU210的工作负荷是受I/O限制时(在“是”的情况下),WAP216可产生第一中间控制信号和第二中间控制信号,以使得I/O接口250的DVFS被执行。换句话说,即使CPU210的工作负荷很大,WAP216也可产生第一中间控制信号和第二中间控制信号,以使得I/O接口250的DVFS而不是CPU210的DVFS被执行。
响应于第一控制信号CTR1进行操作的CMU230可增加施加于I/O接口250的第三时钟信号CLK3的第三频率。响应于第三控制信号CTR3进行操作的PMIC300可增大施加于I/O接口250的第六操作电压PW6的电平。换句话说,在操作S50中,可执行I/O接口250的DVFS。
当检测到CPU210的工作负荷既不是受计算限制也是不受I/O限制时(在两个操作S20和S40中“否”的情况下),WAP216可产生第一中间控制信号和第二中间控制信号,以使得CPU210的DVFS和I/O接口250的DVFS可被同时地或并行地执行。
响应于第一控制信号CTR1进行操作的CMU230可增大施加于CPU210的第一时钟信号CLK1的第一频率。响应于第三控制信号CTR3进行操作的PMIC300可增大施加于CPU210的第一操作电压PW1的电平。换句话说,在操作S60中,可执行CPU210的DVFS。同时地或并行地,响应于第一控制信号CTR1进行操作的CMU230可增大施加于I/O接口250的第三时钟信号CLK3的第三频率。响应于第三控制信号CTR3进行操作的PMIC300可增大施加于I/O接口250的第六操作电压PW6的电平。换句话说,在操作S60中,可执行I/O接口250的DVFS。
如图4所示,WAP216可使用第一计数值NOI和第二计数值NOCM中的至少一个来计算CPI值或MPKI值。当CPI值或MPKI值小于第一参考值REF1时,WAP216可将CPU210的工作负荷检测为受计算限制,并且可产生用于控制CPU210的DVFS的第一控制信号CTR1和第二控制信号CTR2。当CPI值或MPKI值等于或大于第一参考值REF1并且小于第二参考值REF2时,WAP216可产生用于同时地或并行地控制CPU210的DVFS和从装置(例如,存储器接口220或I/O接口250)的DVFS的第一控制信号CTR1和第二控制信号CTR2。当CPI值或MPKI值等于或大于第二参考值REF2时,WAP216可将CPU210的工作负荷检测为受存储器限制或受I/O限制,并且可产生用于控制从装置(例如,存储器接口220或I/O接口250)的DVFS的第一控制信号CTR1和第二控制信号CTR2。第一参考值REF1和第二参考值REF2可由CPU210根据设计规范进行编程。
图6是控制主装置的DVFS和从装置的DVFS的方案的概念图。当CPU210的工作负荷是受计算限制(CB)时,施加于CPU210的第一时钟信号CLK1的第一频率(例如,CPU频率)可沿着第一线GP1增大,并且施加于CPU210的第一操作电压PW1的电平也可沿着第一线GP1增大。曲线EP1至EPn中的每一个可以是指等效电压线。
当CPU210的工作负荷是受存储器限制(MB)时,施加于存储器接口220的第二时钟信号CLK2的第二频率(存储器接口频率(“MIF”))可沿着第五线GP5增大,并且施加于存储器接口220的第四操作电压PW4的电平也可沿着第五线GP5增大。
当CPU210的DVFS和从装置(例如,存储器接口220或I/O接口250)的DVFS根据CPU210的工作负荷被同时地或并行地执行时,施加于CPU210的第一时钟信号CLK1的第一频率和第一操作电压PW1的电平、以及施加于从装置(例如,存储器接口220或I/O接口250)的第二时钟信号CLK2或第三时钟信号CLK3的频率和第四操作电压PW4或第六操作电压PW6的电平可沿着第二线GP2至第四线GP4之一增大。
线GP1至GP5和等效电压线EP1至EPn仅仅是示例。本发明构思不限于线GP1至GP5的数量和形状、等效电压线EP1至EPn的数量、或等效电压线EP1至EPn之间的间隙。
图7是根据本发明构思的一些示例实施例的操作SoC的方法的流程图。参照图1至图7,在操作S110中,性能监视单元211可对在给定时间期间所有指令(或所有工作负荷)被主装置(例如,CPU210)处理时产生的第一事件之中的第二事件的数量(例如,执行的指令的总数)进行计数,并且可产生第一计数值NOI。在操作S120中,性能监视单元211可对在第一事件之中的与可通过主装置(例如,CPU210)和从装置(例如,存储器接口220或I/O接口250)之间的交互被处理的指令(或工作负荷)相关的第三事件的数量(例如,L2高速缓存未命中的数量)进行计数,并且可产生第二计数值NOCM。
在操作S130中,DVFS程序213(更具体地说,WAP216)可基于第一计数值NOI和第二计数值NOCM来选择一个或更多个DVFS目标装置。选择一个或更多个DVFS目标装置的方法与以上参照图4或图5描述的方法相同或类似。
WAP216可产生用于控制至少一个目标装置的DVFS的第一控制信号CTR1和第二控制信号CTR2。CMU230可响应于第一控制信号CTR1来控制(例如,增大或减小)第一时钟信号CLK1、第二时钟信号CLK2和第三时钟信号CLK3中的至少一个的频率。PMIC300可响应于第三控制信号CTR3来调整(例如,增大或减小)第一操作电压PW1、第四操作电压PW4和第六操作电压PW6中的至少一个的电平。换句话说,在操作S140中,控制器200可使用基于第一计数值NOI和第二计数值NOCM决定的MPKI值来执行至少一个目标装置的DVFS。
图8是根据本发明构思的一些示例实施例的操作SoC的方法的流程图。参照图1至图6和图8,在操作S210中,性能监视单元211可基于在给定时间期间被CPU210处理的指令(或工作负荷)的总数来计算CPI值,并且可将该CPI值作为第一计数值NOI输出。从词语的真正意义上来讲,CPI值可能不是计数值,但是为了与参照图1至图7描述的第一计数值NOI一致,它被称为第一计数值NOI。
在受计算限制的程序的情况下,与用于访问存储器400的指令(或工作负荷)相关的事件不是很多。这些事件可能大部分与L1高速缓存命中或L2高速缓存命中相关。此时,存储器延时可能几乎为0个周期,因此,CPI值可以小于1或接近于1。
在操作S220中,WAP216可将CPI值与参考值REF进行比较,并且检测CPU210的工作负荷是受计算限制还是受存储器限制。当在操作S220中CPI值小于参考值REF(例如,1)时(在“是”的情况下),在操作S230中,WAP216可检测CPU210的工作负荷是受计算限制,并且可根据检测结果来产生用于控制CPU210的DVFS的第一控制信号CTR1和第二控制信号CTR2。然而,当在CPU210中执行的操作复杂或者涉及浮点时,即使当不存在对存储器400的访问时,在操作S220中,CPI值也可能大于参考值REF(例如,1)(也就是说,它也可能是“否”)。
性能监视单元211可对第三事件的数量进行计数,产生第二技术值NOCM,并且可为WAP216提供第二计数值NOCM,其中,第三事件与和在给定时间期间被CPU210处理的所有指令(或工作负荷)相关的第一事件之中的、可通过主装置(例如,CPU210)和从装置(例如,存储器接口220或I/O接口250)之间的交互被处理的指令(或工作负荷)相关。如上所述,第二计数值NOCM可以是L2高速缓存未命中计数。
WAP216可基于第二计数值NOCM来检测CPU210的工作负荷是受计算限制还是受存储器限制。例如,在操作S240中,WAP216可基于第二计数值NOCM来检测CPI值实际上是因为与用于访问存储器400的指令相关的事件而增大,还是因为复杂的操作而增大。
当CPI值是因为与用于访问存储器400的指令相关的事件而大于参考值REF时,在操作S250中,WAP216可将CPU210的工作负荷检测为受存储器限制,并且可根据检测结果来产生用于控制从装置(例如,存储器接口220或I/O接口250)的DVFS的第一控制信号CTR1和第二控制信号CTR2。
然而,当CPI值是因为复杂的操作而大于参考值REF时,在操作S230中,WAP216可将CPU210的工作负荷检测为受计算限制,并且可根据检测结果来产生用于控制CPU210的DVFS的第一控制信号CTR1和第二控制信号CTR2。换句话说,当第二计数值NOCM小于参考值REF时,可执行操作S230。当第二计数值NOCM等于或大于参考值REF时,可执行操作S250。CPI值可能受第二计数值NOCM的影响。
如上所述,根据本发明构思的一些示例实施例,SoC根据主装置的工作负荷的类型来控制主装置的DVFS以及与主装置进行通信的从装置的DVFS,从而提高性能。
用于实现或控制在本申请中(针对SoC,针对DVFS,针对使用工作负荷控制电力,针对操作方法,以及针对相关联的计算装置)讨论的技术的算法可用于实现或控制更通用的设备和/或控制设备的方法。
用于实现或控制在本申请中讨论的技术的方法可被编写为计算机程序,并且可在使用计算机可读记录介质执行程序的通用数字计算机中实现。另外,在这些方法中使用的数据的结构可以以各种方式被记录在计算机可读记录介质中。计算机可读记录介质的示例包括诸如磁存储介质(例如,ROM(只读存储器)、RAM(随机存取存储器)、USB(通用串行总线)、软盘、硬盘等)以及光学记录介质(例如,CD-ROM(紧凑盘只读存储器)或DVD(数字视频盘))的存储介质。
另外,一些示例实施例也可通过介质(例如,计算机可读介质)中/上的控制至少一个处理元件实现一些示例实施例的计算机可读代码/指令来实现。所述介质可对应于允许存储和/或传输计算机可读代码的任何一个介质/多个介质。
计算机可读代码可被以各种方式记录在介质上/在介质上传送,所述介质的示例包括记录介质,诸如磁存储介质(例如,ROM、软盘、硬盘等)和光学记录介质(例如,CD-ROM或DVD)、以及传输介质(诸如互联网传输介质)。因此,所述介质可以是包括或承载信号或信息的这样的定义并可测量的结构,诸如根据一些示例实施例的承载比特流的装置。所述介质也可以是分布式网络,以使得计算机可读代码被以分布式的方式存储/传送和执行。此外,处理元件可包括处理器或计算机处理器,并且处理元件可被分布和/或包括在单个装置中。
在一些示例实施例中,元件中的一些可被实现为“模块”。根据一些示例实施例,“模块”可被解释为基于软件的组件或硬件组件,诸如现场可编程门阵列(FPGA)或专用集成电路(ASIC),并且模块可执行某些功能。然而,模块不限于软件或硬件。模块可被配置为被放置在可执行寻址的存储介质中,或者被配置为执行一个或更多个处理。
例如,模块可包括组件(诸如软件组件、面向对象的软件组件、类组件和任务组件)、进程、函数、属性、过程、子例程、程序代码段、驱动器、固件、微码、电路、数据、数据库、数据结构、表格、数组和变量。从这些组件和模块提供的功能可被组合为更少的组件和模块,或者被划分为附加的组件和模块。而且,这些组件和模块可在一个装置中执行一个或更多个中央处理单元(CPU)。
一些示例实施例可通过包括控制上述实施例的至少一个处理元件的计算机可读代码/指令的介质(例如,计算机可读介质)来实现。这样的介质可对应于可存储和/或传输计算机可读代码的一个介质/多个介质。
计算机可读代码可被记录在介质中或者通过互联网传输。例如,所述介质可包括ROM、RAM、CD-ROM、磁带、软盘、光学记录介质或载波(诸如通过互联网的数据传输)。此外,所述介质可以是非暂时性计算机可读介质。因为所述介质可以是分布式网络,所以计算机可读代码可被以分布式的方式存储、传输和执行。此外,例如,处理元件可包括处理器或计算机处理器,并且被分布和/或包括在一个装置中。
虽然已经参照本发明构思的一些示例实施例具体示出并描述了本发明构思的一些示例实施例,但是本领域的普通技术人员将理解,在不脱离如由权利要求限定的本发明构思的精神和范围的情况下,可在这些示例实施例中做出形式和细节上的各种改变。
应理解,在此描述的示例实施例仅应从描述性的意义上、而非出于限制的目的来考虑。示例实施例内的特征或方面的描述通常应被认为可供其他示例实施例中的其他类似的特征或方面使用。
Claims (25)
1.一种片上系统,包括:
主装置,被配置为执行动态电压和频率调节DVFS程序;
从装置,被配置为与主装置进行通信;以及
性能监视单元,被配置为接收在指令被主装置处理时产生的第一事件,被配置为通过对第二事件的数量进行计数来产生第一计数值,第二事件的数量对应于与第一事件相关的指令的总数,并且被配置为通过对第三事件的数量进行计数来产生第二计数值,第三事件与第一事件之中的可通过主装置和从装置之间的交互被处理的第一指令相关,
其中,DVFS程序被配置为基于第一计数值和第二计数值来产生用于控制主装置和从装置中的至少一个的DVFS的控制信号。
2.根据权利要求1所述的片上系统,其中,主装置是中央处理单元CPU、图形处理单元GPU、图像信号处理器ISP、数字信号处理器DSP和多媒体处理器之一,并且
其中,从装置是存储器接口和输入/输出接口之一。
3.根据权利要求1所述的片上系统,还包括:
时钟管理单元,被配置为响应于所述控制信号来控制施加于主装置的第一时钟信号的第一频率和施加于从装置的第二时钟信号的第二频率中的至少一个。
4.根据权利要求1所述的片上系统,还包括:
电力管理单元,被配置为响应于所述控制信号来控制电力管理集成电路以控制施加于主装置的第一电压的电平和施加于从装置的第二电压的电平中的至少一个。
5.根据权利要求1所述的片上系统,其中,第二事件与主装置执行的指令相关,第三事件与L2高速缓存未命中相关。
6.根据权利要求1所述的片上系统,其中,DVFS程序被配置为基于第一计数值和第二计数值来计算每千条指令未命中数MPKI值,并且被配置为基于MPKI值来产生所述控制信号,并且
其中,第二计数值是L2高速缓存未命中计数。
7.一种计算装置,包括:
主装置,被配置为执行动态电压和频率调节DVFS程序;
从装置,被配置为与主装置进行通信;
性能监视单元,被配置为接收在指令被主装置处理时产生的第一事件,被配置为通过对第二事件的数量进行计数来产生第一计数值,第二事件的数量对应于与第一事件相关的指令的总数,并且被配置为通过对第三事件的数量进行计数来产生第二计数值,第三事件与第一事件之中的可通过主装置和从装置之间的交互被处理的第一指令相关;以及
电力管理集成电路PMIC,被配置为将对应的操作电压提供给主装置、从装置和性能监视单元;
其中,DVFS程序被配置为基于第一计数值和第二计数值来产生用于控制主装置和从装置中的至少一个的DVFS的控制信号。
8.根据权利要求7所述的计算装置,其中,主装置是中央处理单元CPU、图形处理单元GPU、图像信号处理器ISP、数字信号处理器DSP和多媒体处理器之一,并且
其中,从装置是存储器接口和输入/输出接口之一。
9.根据权利要求7所述的计算装置,还包括:
时钟管理单元,被配置为响应于所述控制信号来控制施加于主装置的第一时钟信号的第一频率和施加于从装置的第二时钟信号的第二频率中的至少一个。
10.根据权利要求7所述的计算装置,还包括:
电力管理单元,被配置为响应于所述控制信号来控制PMIC以控制施加于主装置的第一电压的电平和施加于从装置的第二电压的电平中的至少一个。
11.根据权利要求7所述的计算装置,其中,第二事件与主装置执行的指令相关,第三事件与L2高速缓存未命中相关。
12.根据权利要求7所述的计算装置,其中,DVFS程序被配置为基于第一计数值和第二计数值来计算每千条指令未命中数MPKI值,并且被配置为基于MPKI值来产生所述控制信号,并且
其中,第二计数值由对L2高速缓存未命中进行计数得到。
13.根据权利要求7所述的计算装置,还包括:
存储器;
其中,主装置是中央处理单元CPU、图形处理单元GPU、图像信号处理器ISP、数字信号处理器DSP和多媒体处理器之一,并且
其中,从装置是被配置为根据主装置的控制来控制存储器的操作的存储器接口。
14.一种操作片上系统的方法,所述片上系统包括执行动态电压和频率调节DVFS程序的主装置以及与主装置进行通信的从装置,所述方法包括:
接收在指令被主装置处理时产生的第一事件,并产生与第一事件之中的指令的数量对应的第一计数值;并且
DVFS程序基于第一计数值来控制主装置的DVFS和从装置的DVFS。
15.根据权利要求14所述的方法,其中,主装置是中央处理单元CPU、图形处理单元GPU、图像信号处理器ISP、数字信号处理器DSP和多媒体处理器之一,并且
其中,从装置是存储器接口和输入/输出接口之一。
16.根据权利要求14所述的方法,还包括:
通过对第二事件的数量进行计数来产生第二计数值,第二事件与第一事件之中的能够通过主装置和从装置之间的交互被处理的第一指令相关,
其中,DVFS程序被配置为基于第一计数值和第二计数值来控制主装置的DVFS和从装置的DVFS。
17.根据权利要求16所述的方法,其中,第一计数值是每指令周期数CPI值,第二计数值是L2高速缓存未命中计数。
18.根据权利要求17所述的方法,其中,DVFS程序被配置为当CPI值小于第一参考值时控制主装置的DVFS,并且
其中,DVFS程序被配置为当CPI值大于第一参考值并且L2高速缓存未命中计数小于第二参考值时控制主装置的DVFS。
19.根据权利要求16所述的方法,其中,DVFS程序被配置为基于第一计数值和第二计数值来计算每千条指令未命中数MPKI值,并且被配置为基于MPKI值来控制主装置的DVFS和从装置的DVFS,
其中,第一计数值是所述指令的总数,
其中,第二计数值是L2高速缓存未命中计数。
20.根据权利要求19所述的方法,其中,DVFS程序被配置为当MPKI值小于第一参考值时控制主装置的DVFS,被配置为当MPKI大于或等于第二参考值时控制从装置的DVFS,并且被配置为当MPKI值大于或等于第一参考值并且小于第二参考值时控制主装置的DVFS和从装置的DVFS。
21.一种计算装置,包括:
第一装置,被配置为执行程序;
第二装置,被配置为与第一装置进行通信;
第三装置,被配置为接收在指令被第一装置处理时产生的第一事件,被配置为通过对第二事件的数量进行计数来产生第一计数值,第二事件的数量对应于与第一事件相关的指令的总数,并且被配置为通过对第三事件的数量进行计数来产生第二计数值,第三事件与第一事件之中的可通过第一装置和第二装置之间的交互被处理的第一指令相关;以及
第四装置,被配置为将操作电压提供给第一装置或第二装置;
其中,所述程序被配置为基于第一计数值和第二计数值来产生用于控制第一装置、第二装置或者第一装置和第二装置的控制信号。
22.根据权利要求21所述的方法,其中,所述程序包括动态电压和频率调节(DVFS)程序。
23.根据权利要求21所述的方法,其中,所述程序被配置为将操作电压提供给第一装置和第二装置。
24.根据权利要求21所述的方法,其中,第一装置包括中央处理单元CPU、图形处理单元GPU、图像信号处理器ISP、数字信号处理器DSP或多媒体处理器。
25.根据权利要求21所述的方法,其中,第二装置包括存储器接口或输入/输出接口。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2014-0167104 | 2014-11-27 | ||
KR20140167104 | 2014-11-27 | ||
KR10-2015-0144046 | 2015-10-15 | ||
KR1020150144046A KR20160063974A (ko) | 2014-11-27 | 2015-10-15 | 워크로드를 이용하여 전력을 제어할 수 있는 시스템 온 칩, 이의 작동 방법, 및 이를 포함하는 컴퓨팅 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105653005A true CN105653005A (zh) | 2016-06-08 |
Family
ID=56193020
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510849786.9A Pending CN105653005A (zh) | 2014-11-27 | 2015-11-27 | 片上系统、操作片上系统的方法和包括片上系统的装置 |
Country Status (3)
Country | Link |
---|---|
KR (1) | KR20160063974A (zh) |
CN (1) | CN105653005A (zh) |
TW (1) | TWI694379B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106126841A (zh) * | 2016-06-30 | 2016-11-16 | 福州瑞芯微电子股份有限公司 | 一种基于硬件变频的方法和装置 |
CN109074331A (zh) * | 2016-03-27 | 2018-12-21 | 高通股份有限公司 | 具有系统高速缓存和本地资源管理的功率降低存储器子系统 |
CN110209608A (zh) * | 2018-02-28 | 2019-09-06 | 爱思开海力士有限公司 | 存储系统和包括存储系统的数据处理系统 |
CN110888520A (zh) * | 2018-08-21 | 2020-03-17 | 慧荣科技股份有限公司 | 操作频率调整方法及装置 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102670999B1 (ko) | 2016-12-28 | 2024-05-30 | 삼성전자주식회사 | Dvfs 동작을 수행하는 어플리케이션 프로세서, 이를 포함하는 컴퓨팅 시스템 및 이의 동작 방법 |
KR20180085605A (ko) * | 2017-01-19 | 2018-07-27 | 삼성전자주식회사 | 핸드쉐이크를 이용하여 메모리의 전력을 조절하는 시스템 온 칩 및 이의 동작 방법 |
KR102009425B1 (ko) * | 2018-02-09 | 2019-08-09 | 울산과학기술원 | 컴퓨팅 시스템의 성능 관리 방법, 이를 위한 컴퓨터 프로그램 및 컴퓨터 판독 가능 기록 매체 |
KR102346890B1 (ko) * | 2019-12-18 | 2022-01-03 | 고려대학교 산학협력단 | 기계학습 알고리즘 기반 최적의 cpu 주파수 예측 장치 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101187831A (zh) * | 2006-10-24 | 2008-05-28 | 国际商业机器公司 | 微处理器的自主动态电压和频率调节的方法和计算机系统 |
US20120260057A1 (en) * | 2009-12-18 | 2012-10-11 | Eyerman Stijn | Counter architecture for online dvfs profitability estimation |
US20120297232A1 (en) * | 2011-05-16 | 2012-11-22 | Bircher William L | Adjusting the clock frequency of a processing unit in real-time based on a frequency sensitivity value |
CN103246340A (zh) * | 2012-02-06 | 2013-08-14 | 索尼公司 | 动态调整中央处理单元的频率的装置和方法 |
US20140089699A1 (en) * | 2012-09-27 | 2014-03-27 | Advanced Micro Devices | Power management system and method for a processor |
US20140215241A1 (en) * | 2013-01-31 | 2014-07-31 | Hewlett-Packard Development Company, L.P. | Computer power management |
US20140325247A1 (en) * | 2013-04-25 | 2014-10-30 | Inder Sodhi | Controlling power and performance in a system agent of a processor |
-
2015
- 2015-10-15 KR KR1020150144046A patent/KR20160063974A/ko not_active Application Discontinuation
- 2015-11-05 TW TW104136402A patent/TWI694379B/zh active
- 2015-11-27 CN CN201510849786.9A patent/CN105653005A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101187831A (zh) * | 2006-10-24 | 2008-05-28 | 国际商业机器公司 | 微处理器的自主动态电压和频率调节的方法和计算机系统 |
US20120260057A1 (en) * | 2009-12-18 | 2012-10-11 | Eyerman Stijn | Counter architecture for online dvfs profitability estimation |
US20120297232A1 (en) * | 2011-05-16 | 2012-11-22 | Bircher William L | Adjusting the clock frequency of a processing unit in real-time based on a frequency sensitivity value |
CN103246340A (zh) * | 2012-02-06 | 2013-08-14 | 索尼公司 | 动态调整中央处理单元的频率的装置和方法 |
US20140089699A1 (en) * | 2012-09-27 | 2014-03-27 | Advanced Micro Devices | Power management system and method for a processor |
US20140215241A1 (en) * | 2013-01-31 | 2014-07-31 | Hewlett-Packard Development Company, L.P. | Computer power management |
US20140325247A1 (en) * | 2013-04-25 | 2014-10-30 | Inder Sodhi | Controlling power and performance in a system agent of a processor |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109074331A (zh) * | 2016-03-27 | 2018-12-21 | 高通股份有限公司 | 具有系统高速缓存和本地资源管理的功率降低存储器子系统 |
CN109074331B (zh) * | 2016-03-27 | 2022-03-22 | 高通股份有限公司 | 具有系统高速缓存和本地资源管理的功率降低存储器子系统 |
CN106126841A (zh) * | 2016-06-30 | 2016-11-16 | 福州瑞芯微电子股份有限公司 | 一种基于硬件变频的方法和装置 |
CN106126841B (zh) * | 2016-06-30 | 2019-08-23 | 福州瑞芯微电子股份有限公司 | 一种基于硬件变频的方法和装置 |
CN110209608A (zh) * | 2018-02-28 | 2019-09-06 | 爱思开海力士有限公司 | 存储系统和包括存储系统的数据处理系统 |
CN110888520A (zh) * | 2018-08-21 | 2020-03-17 | 慧荣科技股份有限公司 | 操作频率调整方法及装置 |
US11003235B2 (en) | 2018-08-21 | 2021-05-11 | Silicon Motion, Inc. | Method and computer program product and apparatus for adjusting operating frequencies |
CN110888520B (zh) * | 2018-08-21 | 2021-07-09 | 慧荣科技股份有限公司 | 操作频率调整方法及装置 |
CN113220108A (zh) * | 2018-08-21 | 2021-08-06 | 慧荣科技股份有限公司 | 计算机可读取存储介质、操作频率调整方法及装置 |
US11353946B2 (en) | 2018-08-21 | 2022-06-07 | Silicon Motion, Inc. | Method and computer program product and apparatus for adjusting operating frequencies |
US11714475B2 (en) | 2018-08-21 | 2023-08-01 | Silicon Motion, Inc. | Method and computer-readable storage medium and apparatus for adjusting operating frequencies |
CN113220108B (zh) * | 2018-08-21 | 2023-09-26 | 慧荣科技股份有限公司 | 计算机可读取存储介质、操作频率调整方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
TW201629760A (zh) | 2016-08-16 |
KR20160063974A (ko) | 2016-06-07 |
TWI694379B (zh) | 2020-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105653005A (zh) | 片上系统、操作片上系统的方法和包括片上系统的装置 | |
Mutlu et al. | A modern primer on processing in memory | |
US20160154449A1 (en) | System on chips for controlling power using workloads, methods of operating the same, and computing devices including the same | |
Angizi et al. | Graphide: A graph processing accelerator leveraging in-dram-computing | |
KR102399475B1 (ko) | 리프레쉬 콘트롤러 및 이를 포함하는 메모리 장치 | |
US9348521B2 (en) | Semiconductor storage device and method of throttling performance of the same | |
KR102107470B1 (ko) | 메모리 장치 및 메모리 장치의 리프레시 방법 | |
US9448946B2 (en) | Data storage system with stale data mechanism and method of operation thereof | |
US20170277446A1 (en) | Memory controller and storage device including the same | |
US11693466B2 (en) | Application processor and system on chip | |
US10108546B2 (en) | Method and system for using non-volatile memory as a replacement for volatile memory | |
US11494094B2 (en) | Storage system and method of dynamically managing power of storage system according to a monitored operating state of a computing device | |
US11048625B2 (en) | Memory system and operating method thereof | |
US20220156014A1 (en) | Memory system and method of operating the same | |
CN113254361A (zh) | 存储设备及其操作方法 | |
US20220083237A1 (en) | Interface circuit, memory device, storage device, and method of operating the memory device | |
US20240233803A1 (en) | Memory device, memory system having the same and operating method thereof | |
KR20140067878A (ko) | 메모리 장치 및 이를 갖는 메모리 시스템 | |
CN110955611A (zh) | 存储器系统及其操作方法 | |
US9880930B2 (en) | Method for operating controller and method for operating device including the same | |
US11194512B2 (en) | Data storage device which selectively performs a cache read or a normal read operation depending on work load and operating method thereof | |
Chang et al. | Voltron: Understanding and Exploiting the Voltage-Latency-Reliability Trade-Offs in Modern DRAM Chips to Improve Energy Efficiency | |
US10545675B2 (en) | Memory system including multi-interfaces | |
JP2021525924A (ja) | データの2つの部分を有するメモリのデータの再配置 | |
US9558009B1 (en) | Expedited find sector to decrease boot time |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20160608 |