CN114185835A - 片上系统和调节电压和频率的方法 - Google Patents

片上系统和调节电压和频率的方法 Download PDF

Info

Publication number
CN114185835A
CN114185835A CN202010966063.8A CN202010966063A CN114185835A CN 114185835 A CN114185835 A CN 114185835A CN 202010966063 A CN202010966063 A CN 202010966063A CN 114185835 A CN114185835 A CN 114185835A
Authority
CN
China
Prior art keywords
frequency
instruction
voltage
chip
voltage regulation
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
Application number
CN202010966063.8A
Other languages
English (en)
Inventor
江鹏
蒲宇
陈林飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN202010966063.8A priority Critical patent/CN114185835A/zh
Publication of CN114185835A publication Critical patent/CN114185835A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05FSYSTEMS FOR REGULATING ELECTRIC OR MAGNETIC VARIABLES
    • G05F1/00Automatic systems in which deviations of an electric quantity from one or more predetermined values are detected at the output of the system and fed back to a device within the system to restore the detected quantity to its predetermined value or values, i.e. retroactive systems
    • G05F1/10Regulating voltage or current
    • G05F1/46Regulating voltage or current wherein the variable actually regulated by the final control device is dc
    • G05F1/56Regulating voltage or current wherein the variable actually regulated by the final control device is dc using semiconductor devices in series with the load as final control devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/08Clock generators with changeable or programmable clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Automation & Control Theory (AREA)
  • Electromagnetism (AREA)
  • Quality & Reliability (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Power Sources (AREA)

Abstract

提供一种片上系统和调节电压和频率的方法。片上系统包括:处理单元,用于以预定时间间隔周期性地发送第一调频调压指令;硬件监测单元,用于在预定时间间隔内获取实时的性能检测信号,并根据性能检测信号发送第二调频调压指令;调频调压控制器,用于根据第一调频调压指令和第二调频调压指令调节时钟频率和供电电压;片上总线,用于耦接处理单元、硬件监测单元和调频调压控制器。根据本公开实施例,在软件程序发送的两个第一调频调压指令之间,通过硬件监测单元决定是否发送第二调频调压指令,从而有助于解决软件预测不准确的问题,并能更快地响应系统的调频调压需求。

Description

片上系统和调节电压和频率的方法
技术领域
本公开涉及芯片领域,具体而言,涉及一种片上系统和调节电压和频率的方法。
背景技术
集成电路的小型化趋势使得处理器制造商对如何降低功耗充满热情。处理器降低功耗的方法主要有两种:动态电压与频率调节(Dynamic Voltage and FrequencyScaling,DVFS)和自适应电压与频率调节(Adaptive Voltage Frequency Scaling,AVFS)。DVFS根据处理器所运行的应用程序对计算能力的不同需要,动态调节系统的时钟频率和供电电压,从而达到节能的目的。AVFS通过传感器实时测量检测数据决定供电电压。
对于DVFS系统还是AVFS系统而言,操作系统会每隔一个固定时间调整一次时钟频率,通用做法是定义一个独立的定时器,每隔一段时间(例如20ms)发起中断,在该中断服务程序中处理单元会根据预测的下一个调频周期(20ms)的负载情况,并根据负载情况发起调频调压请求。
该方案的缺点是:间隔一段时间发起调频调压请求,这个时间间隔如果设定的过长,可能无法满足调频需求,如果设定的过短,又可能由于频繁中断造成系统额外开销,对于系统性能提升,反而得不偿失。
发明内容
有鉴于此,本公开的目的是提供一种片上系统和调节电压和频率的方法,以解决现有技术中的问题。
第一方面,本公开实施例提供一种片上系统,包括:
处理单元,用于以预定时间间隔周期性地发送第一调频调压指令;
硬件监测单元,用于在所述预定时间间隔内获取实时的性能检测信号,并根据所述性能检测信号发送第二调频调压指令;
调频调压控制器,用于根据所述第一调频调压指令和/或所述第二调频调压指令调整时钟频率和供电电压;
片上总线,用于耦接所述处理单元、所述硬件监测单元和所述调频调压控制器。
可选地,所述处理单元还用于将所述第一调频调压指令发送给所述硬件监测单元,所述硬件监测单元还用于在接收到所述第一调频调压指令之后,延迟设定时长获取实时的性能检测信号。
可选地,所述硬件监测单元还用于:根据所述性能检测信号确定所述处理单元的目标频率,如果所述目标频率与所述第一调频调压指令中的目标频率相同,则不发送所述第二调频调压指令,否则发送所述第二调频调压指令。
可选地,所述调频调压控制器包括:
仲裁器,用于在同时接收到所述第一调频调压指令和所述第二调频调压指令时,仲裁只将所述第一调频调压指令和所述第二调频调压指令之一发送给调频调压处理单元;
调频调压处理单元,用于所述第一调频调压指令或所述第二调频调压指令调节所述时钟频率和所述供电电压。
可选地,所述第一调频调压指令或所述第二调频调压指令中包括指示信息,所述仲裁器根据所述指示信息进行仲裁。
可选地,当所述第一调频调压指令中包含第一指示信息时,所述仲裁器将所述第一指示信息存储在寄存器中,并在当前以及之后都仲裁只将所述第一调频调压指令发送给所述调频调压处理单元,直到所述第一调频调压指令包含第二指示信息。
可选地,当所述第二调频调压指令中包含第三指示信息时,所述仲裁器将所述第三指示信息存储在寄存器中,并在当前以及之后都仲裁只将所述第二调频调压指令发送给所述调频调压处理单元,直到所述第二调频调压指令包含第四指示信息。
可选地,所述硬件监测单元根据实时的性能检测信号为所述第二调频调压指令添加指示信息。
可选地,所述调频调压处理单元包括:
多个寄存器组,用于存储至少一个频率电压对;
变频寄存器,用于存储所述目标频率;
比较器,用于将所述目标频率与所述至少一个频率电压对分别比较,并输出结果信号;
变频生成单元,用于根据所述结果信号生成所述调频信号;
电压生成单元,用于根据所述结果信号生成所述调压信号。
可选地,所述硬件监测单元还用于统计在先的所述预定时间间隔内所述第二调频调压指令的发送频率并以此调整在后的所述预定时间间隔内所述第二调频调压指令的发送频率。
可选地,所述处理单元在执行软件程序的可执行代码时,发送所述第一调频调压指令。
第二方面,本公开实施例提供一种调节电压和频率的方法,包括:
软件程序按照设定时间间隔周期性地执行对下一周期内的负载状况进行预测,并根据预测结果确定是否发送第一调频调压指令并据此执行;
硬件监测单元在所述预定时间间隔内获取实时的性能检测信号,并根据所述性能检测信号确定是否发送第二调频调压指令并据此执行;
调频调压控制器根据所述第一调频调压指令或所述第二调频调压指令调节时钟频率和供电电压。
可选地,所述软件程序还用于将所述第一调频调压指令发送给所述硬件监测单元,所述硬件监测单元还用于在接收到所述第一调频调压指令之后,延迟设定时长获取实时的性能检测信号。
可选地,所述硬件监测单元还用于:根据所述性能检测信号确定所述处理单元要调整到的目标频率,如果所述目标频率与所述第一调频调压指令中的目标频率相同,则不发送所述第二调频调压指令,否则发送所述第二调频调压指令。
第三方面,本公开实施例提供一种计算装置,包括:
上述任一项所述的片上系统;
片外总线;
通过所述片外总线与所述片上系统耦接的存储设备;
与所述片上系统中的调频调压控制器耦接的电源管理电路。
本公开实施例提供的片上系统,在软件程序发送的两个第一调频调压指令之间,通过硬件监测单元决定是否发送第二调频调压指令,由于软件程序是通过预测下一周期内的负载状况来确定是否需要调频,因此可能存在预测不准确的情况,而硬件监测单元通过监测系统性能决定是否发送第二调频调压指令,由此在两个第一调频调压指令之间根据性能监测情况决定是否发送第二调频调压信号,从而有助于解决软件程序对负载状况预测不准确的问题,并能更快地响应系统的调频调压需求。
附图说明
通过参考以下附图对本公开实施例的描述,本公开的上述以及其它目的、特征和优点将更为清楚,在附图中:
图1是本公开一实施例提供的片上系统的结构示意图;
图2是用于示意发送第一调频调压指令和第二调频调压指令的时序关系的时序示意图;
图3是本公开另一实施例提供的片上系统的结构示意图;
图4和5分别是图1或图3中的调频调压处理单元的两个不同实施例的结构示意图;
图6是硬件监测单元的示例性结构图;
图7是本公开实施例提供的调节电压和频率的方法的流程图;
图8是本公开实施例所应用的通用计算机系统的结构示意图;
图9是本公开实施例所应用的嵌入式系统的结构示意图。
具体实施方式
以下基于实施例对本公开进行描述,但是本公开并不仅仅限于这些实施例。在下文对本公开的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本公开。为了避免混淆本公开的实质,公知的方法、过程、流程没有详细叙述。另外附图不一定是按比例绘制的。
本公开实施例的片上系统
图1是本公开实施例所应用的片上系统100的结构示意图。
参考图上所示,处理单元101和高速内存103耦接到片上总线102片上总线102例如为AXI总线。AXI总线是ARM公司提出的AMBA(Advanced Microcontroller BusArchitecture)3.0及以上协议中最重要的部分,它是面向于高性能、高带宽、低延迟的片内总线。AIX总线将地址/控制和数据相位分离,支持不对齐的数据传输,同时支持突发传输和乱序传输,因此满足了超高性能和复杂的片上系统设计的需求。
如图上所示,调频调压控制器103和硬件监测单元104耦接到片上总线102。调频调压控制器103分别与时钟管理单元105、位于片外的电源管理电路211耦接。硬件监测单元104还与调频调压控制器103耦接。
片上总线102还与未被示出的接口电路耦接,通过接口电路与片外的外部设备耦接。外部设备例如可以为文字、音频和视频的输入/输出设备和各种存储器。处理单元101可通过接口电路访问片外的外部设备。不同于设置在片上系统中的高速内存103,位于片外的存储器可以容量更大但速度较慢、成本较低。在一些实现中,高速内存103可以为静态随机存取存储器(SRAM),而片外的存储器为DRAM(动态随机存取存储器)和闪存(flash)存储器。
如图上所示,片上系统100还内嵌有基本软件(例如嵌入式控制系统121)和应用程序(例如应用程序A-N)。另有其他的应用程序可以存储在片上系统100之外的存储器中,这些应用程序可以通过接口电路拷贝到片上系统100中的高速内存104中,或者通过接口电路访问片上系统100上的资源。
处理单元101负责读取各种指令,并对指令进行译码和执行,例如对来自嵌入式控制系统121、应用程序A-N或其他应用程序的可执行代码进行译码和执行。在本实施例中,处理单元101在执行可执行代码时经由片上总线102按照设定时间间隔周期性地向调频调压控制器103发送第一调频调压指令。
硬件监测单元104用于采用硬件方式获取实时的性能检测信号,并根据实时的性能检测信号在设定时间间隔内向调频调压控制器103发送第二调频调压指令,例如,在设定时间间隔内,如果实时的性能检测信号反映出当前系统负载很高,需要提升时钟频率以加快处理,这时发送用于提高时钟频率的第二调频调压指令。这里的第一和第二用于区分不同来源的调频调压指令,没有优先级或重要程度上的区别。
调频调压控制器103在特定时刻根据第一调频调压指令或第二调频调压指令完成调频调压操作。具体地,在特定时刻,调频调压控制器103接收到第一调频调压指令或第二调频调压指令,然后生成调频信号REGF和调压信号REGV,将调频信号REGF发送给时钟电路管理单元105,将调压信号REGV发送给电源管理电路211,由时钟管理单元105调节系统100的时钟频率FCPU,由电源管理电路211调节向系统100提供的供电电压VCPU。应理解,由于硬件监测单元104是在预定时间间隔内发送第二调频调压指令,因此调频调压控制器103通常会分时收到第一调频调压指令和第二调频调压指令。当然,如果存在延迟,调频调压控制器103也可能会同时收到第一调频调压指令和第二调频调压指令。如果调频调压控制器103同时收到第一调频调压指令和第二调频调压指令,则需要根据仲裁逻辑确定执行第一调频调压指令和第二调频调压指令中的哪一个。
在一些实施例中,嵌入式控制系统121或应用程序A-N中的一个包含以下流程的可执行代码:定期采集与系统负载有关的信号,计算系统当前负载;再根据系统当前负载,预测系统在下一周期内的负载情况;然后将下一周期的负载情况转换成需要的频率,再将处理器的时钟频率修改为需要的频率并同时修改处理器的供电电压。基于此,处理单元101在执行上述可执行代码时,生成第一调频调压指令并发送给调频调压控制器103,以将系统的时钟频率调节为需要的频率并同时调节供电电压。
在一些实施例中,如图上所示,调频调压控制器103包括仲裁器1031和调频调压处理单元1032。仲裁器1031用于在同时接收到第一调频调压指令和第二调频调压指令时,通过仲裁逻辑将其中之一发送给调频调压处理单元1032。
仲裁逻辑可以是固定不变的仲裁逻辑。例如,由于第一调频调压指令是基于预测的负载情况来调频调压,而第二调频调压指令是基于监测的性能指标进行调频调压,因此如果同时收到第一调频调压指令和第二调频调压指令时,可丢弃第一调频调压指令,执行第二调频调压指令。再例如,采用比较器比较第一调频调压指令和第二调频调压指令中包含的目标频率,将第一和第二调频调压指令中包含较大数值的目标频率的调频调压指令发送给调频调压处理单元1032。
调频调压控制器103还可以实时调整仲裁逻辑。在一种实现方式中,第一调频调压指令或第二调频调压指令中包括指示信息,仲裁器1031根据指示信息仲裁同时接收到的第一调频调压指令和第二调频调压指令。
下面以示例进行说明。当仲裁器1031确定第一调频调压指令中包含第一指示信息时,仲裁器1031将第一指示信息存储在寄存器中,并在当前以及之后都仲裁只将来自处理单元101的第一调频调压指令发送给调频调压处理单元1032,直到仲裁器1031接收到包含第二指示信息的第一调频调压指令,才会继续采用原有的仲裁逻辑仲裁第一调频调压指令和第二调频调压指令。当第二调频调压指令中包含第三指示信息时,仲裁器1031将第三指示信息存储在寄存器中,并在当前以及之后都仲裁只将第二调频调压指令发送给调频调压处理单元1032,直到仲裁器1031接收到包含第四指示信息的第二调频调压指令,才会继续采用原有的仲裁逻辑仲裁第一调频指令和第二调频调压指令。
可选地,调频调压控制器103根据实时的性能检测信号为第二调频调压指令添加指示信息。例如,硬件监测单元104获取实时的缓存命中率,并在缓存命中率大于第一阈值的条件下,在第二调频调压指令中添加第三指示信息,并在缓存命中率下降到小于第二阈值的条件下,在第二调频调压指令中添加第二指示信息。同样,处理单元101也基于类似的原因为第一调频调压指令添加第一指示信息和第二指示信息。应该指出的是,在本实施例中,还可以采用其他指标替换缓存命中率。
调频调压处理单元1032可采用AVFS或DVFS技术。基于AVFS技术,根据实时测量到的检测数据和调频调压指令中的目标频率来决定系统的供电电压。基于DVFS技术,从多个经过验证的、使任意处理器均能正常工作的频率电压对中选出一个频率电压对来设置系统的时钟频率和供电电压。
图2是用于示意发送第一调频调压指令和第二调频调压指令的时序关系的时序示意图。如图上所示,处理单元101以时长T为间隔周期性地发送第一调频调压指令,其中,在S0时刻,第一调频调压指令指示要将系统的时钟频率调整为Fs0,在S1时刻,第一调频调压指令指示要将系统的时钟频率调整为Fs1,在S2时刻,第一调频调压指令指示要将系统的时钟频率调整为Fs2。硬件监测单元104在H0-H3时刻分别发送第二调频调压指令,在H0时刻,第二调频调压指令指示要将系统的时钟频率调整为Hs0,在H1时刻,第二调频调压指令指示要将系统的时钟频率调整为Hs1,在H2时刻,第二调频调压指令指示要将系统的时钟频率调整为Hs2,在H3时刻,第二调频调压指令指示要将系统的时钟频率调整为Hs3。
结合图1所示,作为可选的实施方式,处理单元101同时发送第一调频调压指令给硬件监测单元104和调频调压控制器103,硬件监测单元104在接收到第一调频调压指令之后,延迟设定时长获取实时的性能检测信号,然后根据实时的性能检测信号和第一调频调压指令包含的频率决定是否在当前发送第二调频调压指令。具体地,参考图2所示,假设硬件监测单元104在S0时刻接收到第一调频调压指令,延迟(H0-S0)时段获取实时的性能检测信号,然后根据该性能检测信号决定是否在H0时刻发送第二调频调压指令,这样做的好处在于,由于处理单元101和硬件监测单元104是分时地发送第一调频调压指令和第二调频调压指令,如果不考虑延迟,则调频调压控制器103将不会在同一时刻接收到第一调频调压指令和第二调频调压指令,因此调频调压控制器103也就无需对指令进行仲裁。进一步地,仍旧参考图2,延迟的时长(H0-S0)可等于T和设定比例的乘积,例如设定比例为1/3和2/3,则延迟T/3和2T/3获取实时的性能检测信号。而根据实时的性能检测信号和第一调频调压指令包含的目标频率决定是否在当前发送第二调频调压指令包括:根据实时的性能检测信号确定处理单元101要调整到的目标频率,如果该目标频率与第一调频调压指令包含的目标频率相同,则不发送第二调频调压指令,否则发送第二调频调压指令。
结合图1和2所示,作为可选的实施方式,硬件监测单元104还会统计在先的时间间隔T内第二调频调压指令的发送频率,并根据在先的发送频率确定在后的时间间隔T内的第二调频调压指令的发送频率。例如,参考图2所示,硬件监测单元104可预先配置若干个枚举值。多个时间间隔T内硬件监测单元104按照从小到大的顺序使用相应的枚举值作为第二调频调压指令的发送频率。例如设置3个枚举值(1次/T,2次/T,3次/T),对于每3个时间间隔T,硬件监测单元104在第一个时间间隔T的时刻T/2时根据性能检测信号决定是否发送第二调频调压指令,在第二个时间间隔T的时刻T/3和2T/3分别根据性能检测信号决定是否发送第二调频调压指令,在第三个时间间隔T的时刻T/4、T/2和3T/4分别根据性能检测信号决定是否发送第二调频调压指令。
图3是本公开另一实施例提供的片上系统300的结构示意图。与图1的区别在于,在图3中,电源管理电路211设置在片上系统300的内部。
图4和5分别是图1或图3中的调频调压处理单元的两个不同实施例的结构示意图。
图4示出了一个DVFS的调频调压处理单元400。如图上所示,寄存器F用于存储第一调频调压指令或第二调频调压指令中的目标频率。寄存器组F-V用于存储多个频率电压对。多个比较器403用于将寄存器F中的目标频率与寄存器组F-V中的频率电压对比对,如果相符,则由电压生成单元402生成调压信号REGV,且由变频生成单元401生成调频信号FCPU,错误检测单元404如果检测到目标频率与任意一个频率电压对中的频率都不相符,则由中断生成单元405、复位生成单元406或总线响应单元407生成中断信号SINT、复位信号RESET或总线错误信号SBUS。中断信号SINT由中断控制器(图上未示出)处理。中断控制器可设置在处理单元101的内部,中断控制器定义了针对各种不同中断信号的各种处理例程,当相应的中断信号发生时,相应的处理例程被启动进行相应的处理。复位信号RESET会发送给复位电路(未示出),复位电路将片上系统进行复位后重启。总线错误信号SBUS会被发送给总线402处理。
图5示出了一个AVFS的调频调压处理单元450。如图上所示,调频调压处理单元450包括用于存储频率点表451的寄存器组、电压计算单元452、温度传感器控制器453、工艺传感器控制器454和电压传感器控制器455。频率点表451包括多个频率,该多个频率为AVFS控制器450根据频率配置指令生成。
温度传感器456、工艺传感器457和电压传感器458位于片上系统100的内部但是位于控制器450之外。温度传感器456、工艺传感器457和电压传感器458分别采集片上系统的实时温度、工艺偏差和实时电压的模拟信号,并将模拟信号转换为数字信号。温度传感器控制器453、工艺传感器控制器454和电压传感器控制器455分别用于控制温度传感器456、工艺传感器457和电压传感器458,例如控制传感器的启动和停止采集检测数据。其中,工艺偏差会在计算供电电压时有影响。
电压计算单元452根据预定义的电压计算规则基于目标频率和系统的实时温度以及工艺偏差计算出供电电压,或者先根据预定义的电压计算规则基于目标频率和系统的实时温度计算出供电电压,再根据工艺偏差对供电电压做偏置。之后,电压计算单元452根据该供电电压向电源管理电路211提供调压信号,供电电压还可与通过电压传感器458获得的实时电压进行比对,以确定调压操作是否成功。如果不成功,例如实时电压与供电电压的电压值差距过大,则可以在后续的电压计算中,相应地调整电压计算规则。
图6是硬件监测单元的示例性结构图。如图上所示,硬件监测单元104包括总线硬件监测单元1041、处理器硬件监测单元1042和突发事件监测单元1043以及性能监测事件仲裁器1044。总线硬件监测单元1041用于获得实时的总线性能检测信号。处理器硬件监测单元1042用于获得实时的处理器性能检测信号。突发事件监测单元1043用于获得实时的突发事件。性能监测事件仲裁器1044根据总线性能检测信号、处理器性能检测信号和突发事件确定是否发送第二调频调压指令。
综上,本公开实施例提供的片上系统,在软件程序发送的两个第一调频调压指令之间,通过硬件监测单元决定是否发送第二调频调压指令,由于软件是通过预测下一周期内的负载状况来确定是否需要调频,因此可能存在预测不准确的情况,而硬件监测单元通过监测系统性能决定是否发送第二调频调压指令,在两个第一调频调压指令之间根据性能监测情况决定是否发送第二调频调压信号,从而有助于解决软件程序对负载状况的预测不准确的问题,并更快地响应系统的调频调压需求。
本公开实施例的调节电压和频率的方法
图7是本公开实施例提供的调节电压和频率的方法的流程图。该方法由上述片上系统执行。如图上所示,该方法包括以下步骤。
在步骤S701中,软件程序按照设定时间间隔周期性地执行对下一周期内的负载状况进行预测,并根据预测结果确定是否发送第一调频调压指令并据此执行。
在步骤S702中,硬件监测单元在预定时间间隔内获取实时的性能检测信号,并根据性能检测信号确定是否发送第二调频调压指令并据此执行。
在步骤S703中,调频调压控制器在特定时刻根据第一调频调压指令和第二调频调压指令调节系统的时钟频率和工作电压。
在本实施例中,软件程序预测以预定时间间隔周期性地执行以下操作:预测下一周期的负载状况,根据负载状况确定是否发送第一调频调压指令并执行发送操作,例如如果预测下一周期的负载较高,则可以发送用于提高时钟频率的第一调频调压指令,如果预测下一周期的负载较低,则可以发送用于降低时钟频率的第一调频调压指令,如果预测下一周期的负载变化不大,则可以不发送调频调压指令。
在本实施例中,硬件监测单元在预定时间间隔内获取实时的性能检测信号,并根据性能检测信号发送第二调频调压指令,例如,如果性能检测信号反映当前系统负载过高,则可以提高系统的时钟频率,如果性能检测信号反映当前系统负载过低,则可以降低系统的时钟频率,并发送用于提高或降低时系统的钟频率的第二调频调压指令。
在本实施例中,调频调压控制器接收第一调频调压指令和第二调频调压指令,并根据第一调频调压指令和第二调频调压指令完成调频调压操作。由于第一调频调压指令和第二调频调压指令在不同时刻发出,因此通常调频调压控制器会分时接收到第一调频调压指令和第二调频调压指令并分时完成调频调压操作。但是由于系统延迟,调频调压控制器也可能会同时接收到第一调频调压指令和第二调压指令,这种情况下,调频调压控制器仲裁只使用其中之一完成调频调压操作。
本实施例提供的调节电压和频率的方法,硬件监测单元在软件程序发送的两个第一调频调压指令之间发送第二调频调压指令,由于软件程序是预测下一周期的负载状况以发送第一调频调压指令,因此可能存在预测不准确的情况,而硬件监测单元通过监测系统性能决定是否发送第二调频调压指令,能够有助于解决软件程序对负载状况的预测不准确的问题,并更快地响应系统的调频调压需求。
在可选的实施例中,软件程序还用于将第一调频调压指令发送给硬件监测单元,硬件监测单元还用于在接收到第一调频调压指令之后,延迟设定时长获取实时的性能检测信号。设定时长等于预定时间间隔与设定比例的乘积,例如,如果预定时间间隔为20ms,设定比例为1/10,则在接收到第一调频调压指令之后延迟2ms通过硬件监测单元获得实时的性能检测信号。
在可选的实施例中,硬件监测单元还用于:根据性能检测信号确定处理单元要调整到的目标频率,如果目标频率与第一调频调压指令中的目标频率相同,则不发送第二调频调压指令,否则发送第二调频调压指令。
片上系统的具体应用
图8是本公开实施例所应用的通用计算机系统的结构示意图。如图上所示,计算机系统800可以包括一个或多个处理器12,以及存储器14。其中,上述实施例提供的片上系统可用作处理器12。
计算机系统800中的存储器14可以主存储器(简称为主存或内存)。用于存储由数据信号表示的指令信息和/或数据信息,例如存放处理器12提供的数据(例如为运算结果),也可以用于实现处理器12与外部存储设备16(或称为辅助存储器或外部存储器)之间的数据交换。
在一些情形下,处理器12可能需要访问存储器14,以获取存储器14中的数据或对存储器14中的数据进行修改。由于存储器14的访问速度较慢,为了缓解处理器12与存储器14之间的速度差距,计算机系统800还包括与总线11耦合的高速缓冲存储器18,高速缓冲存储器18用于对存储器14中的一些可能会被反复调用的程序数据或者报文数据等数据进行缓存。高速缓冲存储器18例如由静态随机存储器(Static Random Access Memory,简称为SRAM)等类型的存储装置实现。高速缓冲存储器18可以为多级结构,例如具有一级缓存(L1Cache)、二级缓存(L2 Cache)和三级缓存(L3 Cache)的三级缓存结构,也可以是三级以上的缓存结构或其他类型缓存结构。在一些实施例中,高速缓冲存储器18的一部分(例如一级缓存,或一级缓存和二级缓存)可以集成在处理器12内部或与处理器12集成于同一片上系统中。
基于此,处理器12可以包括指令执行单元121、内存管理单元122等部分。指令执行单元121在执行一些需要修改内存的指令时发起写访问请求,该写访问请求指定了需要写入内存中的写入数据和相应的物理地址;内存管理单元122用于将这些指令指定的虚拟地址转译为该虚拟地址映射的物理地址,写访问请求指定的物理地址与相应指令指定的物理地址可以一致。
存储器14和高速缓冲存储器18之间的信息交互通常按块来组织。在一些实施例中,高速缓冲存储器18和存储器14可以按照相同的空间尺寸被划分成数据块,数据块可以作为高速缓冲存储器18和存储器14之间的数据交换的最小单位(包括预设长度的一个或多个数据)。为了表述简洁清晰,下面将高速缓冲存储器18中的各个数据块简称为缓存块(可以称为cacheline或高速缓存线),且不同的缓存块具有不同的缓存块地址;将存储器14中的各个数据块简称为内存块,且不同的内存块具有不同的内存块地址。缓存块地址例如包括用于定位数据块的物理地址标签。
由于受到空间和资源的限制,高速缓冲存储器18无法对存储器14中的全部内容都进行缓存,即高速缓冲存储器18的存储容量通常小于存储器14,高速缓冲存储器18提供的各个缓存块地址无法对应存储器14提供的全部内存块地址。处理器12在需要访问内存时,首先经总线11访问高速缓冲存储器18,以判断所要访问的内容是否已被存储于高速缓冲存储器18中,如果是,则高速缓冲存储器18命中,此时处理器12直接从高速缓冲存储器18中调用所要访问的内容;如果处理器12需要访问的内容不在高速缓冲存储器18中,则高速缓冲存储器18,处理器12需要经总线11访问存储器14,以在存储器14中查找相应的信息。因为高速缓冲存储器18的存取速率非常快,因此当高速缓冲存储器18命中时,处理器12的效率可以显著提高,进而也使整个计算机系统800的性能和效率得以提升。
此外,计算机系统800还可以包括存储设备16、显示设备13、音频设备19、鼠标/键盘15等输入/输出设备。存储设备16例如是通过相应接口与总线11耦合的硬盘、光盘以及闪存等用于信息存取的设备。显示设备13例如经相应的显卡与总线11耦合,用于根据总线11提供的显示信号进行显示。
计算机系统800通常还包括通信设备17,因此可以通过各种方式与网络或其他设备通信。通信设备17例如可以包括一种或多种通信模块,作为示例,通信设备17可以包括适用于特定的无线通信协议的无线通信模块。例如,通信设备17可以包括WLAN模块,用于实现符合电气和电子工程师协会(IEEE)制定的802.11标准的Wi-FiTM通信;通信设备17也可以包括WWAN模块,用于实现符合蜂窝或其他无线广域协议的无线广域通信;通信设备17还可以包括蓝牙模块等采用其它协议的通信模块,或其它自定义类型的通信模块;通信设备17也可以是用于串行传输数据的端口。
当然,不同的计算机系统根据主板、操作系统和指令集架构的不同,其结构也可能有所变化。例如目前很多计算机系统设置有连接在总线11和各个输入/输出设备之间的输入/输出控制中心,且该输入/输出控制中心可以集成于处理器12之内或独立于处理器12。
图9是本公开实施例所应用的嵌入式系统的结构图。上述实施例提供的片上系统可用作处理器901。
虽然嵌入式系统在硬件结构上与计算机系统具有高度相似性,但是嵌入式系统应用上的特点致使嵌入式系统在硬件的组成和实现形式上与通用计算机系统又有较大区别。
首先,为满足嵌入式系统900在速度、体积和功耗上的要求,操作系统、应用软件、特殊数据等需要长期保存的数据,通常不使用磁盘这类具有大容量且速度较慢的存储介质,而大多使用随机存储器902或闪存(Flash Memory)903。
另外,在嵌入式系统900中,需要A/D(模拟/数字转换)接口905和串行接口906,用于测控的需要,这在通用计算机中用得很少。A/D接口905主要完成测试中所需要的模拟信号到数字信号的转换、和数字信号到模拟信号的转换。嵌入式系统900应用于工业生产时经常需要测试。由于单片机产生的是数字信号,在测试时需要转换成模拟信号用于测试,因此,与通用计算机不同,需要A/D(模拟/数字转换)接口905完成相关转换。另外,工业中经常需要多个嵌入式系统串接在一起,完成相关功能,因此需要用于将多个嵌入式系统串联的串行接口906,而在通用计算机中则大多不需要。
另外,嵌入式系统900作为一个基本的处理单元,常常在工业设计中需要将多个嵌入式系统900联成网络,因此需要将嵌入式系统900联入网络的网络接口907。这在通用计算机中大多也不需要。此外,根据实际应用和规模的不同,有些嵌入式系统900要采用外部总线904。随着嵌入式系统900应用领域的迅速扩张,嵌入式系统900越来越趋于个性化,根据自身特点采用总线的种类也越来越多。另外,为了对嵌入式处理器901内部电路进行测试,处理器芯片普遍采用了边界扫描测试技术。为了适应该测试,采用了调试接口908。
随着超大规模集成电路(Very Large Scale Integration)和半导体工艺的迅速发展,上述的嵌入式系统的部分或者全部可实现在一个硅片上,即为嵌入式片上系统(SoC)。
本公开实施例的商业价值
本公开实施例提供的片上系统通过软件程序和硬件检测单元结合发送调频调压指令,以更好地响应系统的调频调压需求,并达到进一步降低功耗的目的。这样的片上系统可用于形成多种场景使用的计算装置,例如数据中心数量庞大的云服务器,在此场景下,通过降低处理器的功耗从而降低每个云服务器的功耗,进而降低每个云服务器和整个数据中心的运行成本;再例如,日常生活中使用的电子设备,包括诸如笔记本和手机等终端设备以及某些消费型电子产品,通过降低功耗来提高电子设备的系统续航时间,从而提升用户体验。由此可见,本公开实施例的片上系统以及由该片上系统构建的计算装置在具有实用价值的基础上,具备了商业价值和经济价值。
本领域的技术人员能够理解,本公开可以实现为系统、方法和计算机程序产品。因此,本公开可以具体实现为以下形式,即完全的硬件、完全的软件(包括固件、驻留软件、微代码),还可以实现为软件和硬件结合的形式。此外,在一些实施例中,本公开还可以实现为一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如但不限于为电、磁、光、电磁、红外线或半导体的系统、装置或器件,或其他任意以上的组合。计算机可读存储介质的更具体的例子包括:具体一个或多个导线的电连接,便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或者闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器、磁存储器或者上述任意合适的组合。在本文中,计算机可读的存储介质可以是任意包含或存储程序的有形介质,该程序可以被处理单元、装置或者器件使用,或者与其结合使用。
计算机可读信号介质可以包括在基带中或者作为截波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或者其他任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质之外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令系统、装置或器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、RF等等,以及上述任意合适的组合。
可以以一种或者多种程序设计语言或者组合来编写用于执行本公开实施例的计算机程序代码。所述程序设计语言包括面向对象的程序设计语言,例如JAVA、C++,还可以包括常规的过程式程序设计语言,例如C。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络包括局域网(LAN)或广域网(WAN)连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
以上所述仅为本公开的优选实施例,并不用于限制本公开,对于本领域技术人员而言,本公开可以有各种改动和变化。凡在本公开的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。

Claims (15)

1.一种片上系统,包括:
处理单元,用于以预定时间间隔周期性地发送第一调频调压指令;
硬件监测单元,用于在所述预定时间间隔内获取实时的性能检测信号,并根据所述性能检测信号发送第二调频调压指令;
调频调压控制器,用于根据所述第一调频调压指令和/或所述第二调频调压指令调整时钟频率和供电电压;
片上总线,用于耦接所述处理单元、所述硬件监测单元和所述调频调压控制器。
2.根据权利要求1所述的片上系统,其中,所述处理单元还用于将所述第一调频调压指令发送给所述硬件监测单元,所述硬件监测单元还用于在接收到所述第一调频调压指令之后,延迟设定时长获取实时的性能检测信号。
3.根据权利要求1或2所述的片上系统,其中,所述硬件监测单元还用于:根据所述性能检测信号确定所述处理单元的目标频率,如果所述目标频率与所述第一调频调压指令中的目标频率相同,则不发送所述第二调频调压指令,否则发送所述第二调频调压指令。
4.根据权利要求1所述的片上系统,其中,所述调频调压控制器包括:
仲裁器,用于在同时接收到所述第一调频调压指令和所述第二调频调压指令时,仲裁只将所述第一调频调压指令和所述第二调频调压指令之一发送给调频调压处理单元;
调频调压处理单元,用于所述第一调频调压指令或所述第二调频调压指令调整所述时钟频率和所述供电电压。
5.根据权利要求4所述的片上系统,其中,所述第一调频调压指令或所述第二调频调压指令中包括指示信息,所述仲裁器根据所述指示信息进行仲裁。
6.根据权利要求5所述的片上系统,其中,当所述第一调频调压指令中包含第一指示信息时,所述仲裁器将所述第一指示信息存储在寄存器中,并在当前以及之后都仲裁只将所述第一调频调压指令发送给所述调频调压处理单元,直到所述第一调频调压指令包含第二指示信息。
7.根据权利要求5所述的片上系统,其中,当所述第二调频调压指令中包含第三指示信息时,所述仲裁器将所述第三指示信息存储在寄存器中,并在当前以及之后都仲裁只将所述第二调频调压指令发送给所述调频调压处理单元,直到所述第二调频调压指令包含第四指示信息。
8.根据权利要求5所述的片上系统,其中,所述硬件监测单元根据实时的性能检测信号为所述第二调频调压指令添加指示信息。
9.根据权利要求4所述的片上系统,其中,所述调频调压处理单元包括:
多个寄存器组,用于存储至少一个频率电压对;
变频寄存器,用于存储所述目标频率;
比较器,用于将所述目标频率与所述至少一个频率电压对分别比较,并输出结果信号;
变频生成单元,用于根据所述结果信号生成所述调频信号;
电压生成单元,用于根据所述结果信号生成所述调压信号。
10.根据权利要求1所述的片上系统,其中,所述硬件监测单元还用于统计在先的所述预定时间间隔内所述第二调频调压指令的发送频率并据此决定在后的所述预定时间间隔内所述第二调频调压指令的发送频率。
11.根据权利要求1所述的片上系统,其中,所述处理单元在执行软件程序的可执行代码时,发送所述第一调频调压指令。
12.一种调节电压和频率的方法,包括:
软件程序按照设定时间间隔周期性地执行对下一周期内的负载状况进行预测,并根据预测结果确定是否发送第一调频调压指令并据此执行;
硬件监测单元在所述预定时间间隔内获取实时的性能检测信号,并根据所述性能检测信号确定是否发送第二调频调压指令并据此执行;
调频调压控制器根据所述第一调频调压指令或所述第二调频调压指令调节时钟频率和供电电压。
13.根据权利要求12所述的方法,其中,所述软件程序还用于将所述第一调频调压指令发送给所述硬件监测单元,所述硬件监测单元还用于在接收到所述第一调频调压指令之后,延迟设定时长获取实时的性能检测信号。
14.根据权利要求13所述的方法,其中,所述硬件监测单元还用于:根据所述性能检测信号确定所述处理单元要调整到的目标频率,如果所述目标频率与所述第一调频调压指令中的目标频率相同,则不发送所述第二调频调压指令,否则发送所述第二调频调压指令。
15.一种计算装置,包括:
如权利要求1至11任一项所述的片上系统;
片外总线;
通过所述片外总线与所述片上系统耦接的存储设备;
与所述片上系统中的调频调压控制器耦接的电源管理电路。
CN202010966063.8A 2020-09-15 2020-09-15 片上系统和调节电压和频率的方法 Pending CN114185835A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010966063.8A CN114185835A (zh) 2020-09-15 2020-09-15 片上系统和调节电压和频率的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010966063.8A CN114185835A (zh) 2020-09-15 2020-09-15 片上系统和调节电压和频率的方法

Publications (1)

Publication Number Publication Date
CN114185835A true CN114185835A (zh) 2022-03-15

Family

ID=80539136

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010966063.8A Pending CN114185835A (zh) 2020-09-15 2020-09-15 片上系统和调节电压和频率的方法

Country Status (1)

Country Link
CN (1) CN114185835A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114785376A (zh) * 2022-05-06 2022-07-22 Oppo广东移动通信有限公司 频压预配置方法和相关装置
CN116540820A (zh) * 2023-07-04 2023-08-04 摩尔线程智能科技(北京)有限责任公司 电压及频率控制系统、方法、存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114785376A (zh) * 2022-05-06 2022-07-22 Oppo广东移动通信有限公司 频压预配置方法和相关装置
CN116540820A (zh) * 2023-07-04 2023-08-04 摩尔线程智能科技(北京)有限责任公司 电压及频率控制系统、方法、存储介质
CN116540820B (zh) * 2023-07-04 2023-08-29 摩尔线程智能科技(北京)有限责任公司 电压及频率控制系统、方法、存储介质

Similar Documents

Publication Publication Date Title
EP2302519B1 (en) Dynamic frequency memory control
US7555597B2 (en) Direct cache access in multiple core processors
US20090089543A1 (en) Integrated circuit performance improvement across a range of operating conditions and physical constraints
US8745335B2 (en) Memory arbiter with latency guarantees for multiple ports
TWI564684B (zh) 一般主機控制器延遲方法及設備
US9009368B2 (en) Interrupt latency performance counters
KR20180076840A (ko) Dvfs 동작을 수행하는 어플리케이션 프로세서, 이를 포함하는 컴퓨팅 시스템 및 이의 동작 방법
CN114185835A (zh) 片上系统和调节电压和频率的方法
JP2019535061A (ja) 動的信頼性品質モニタリング
US20160196231A1 (en) System and method for bus bandwidth management in a system on a chip
JP5543241B2 (ja) 通信装置、通信制御方法、およびプログラム
CN114185837A (zh) 片上系统和调节电压和频率的方法
CN114610138B (zh) 带宽控制单元、处理器芯片以及访存流量控制方法
WO2022166679A1 (zh) 计算核、计算核温度调整方法、设备、介质、芯片和系统
CN114185834A (zh) 片上系统和电压与频率调节的方法
CN114185838A (zh) 片上系统和调节电压和频率的方法
CN115202428B (zh) 片上系统和一种两路电压的调节方法
CN114297131B (zh) 传感器控制系统、片上系统和计算装置
CN114185836A (zh) 片上系统和调节电压和频率的方法
US7231499B2 (en) Prioritization of real time / non-real time memory requests from bus compliant devices
JP2010015275A (ja) データ処理システム及びプログラム開発システム
CN114400028A (zh) 用于双轨存储器的电压调节方法、存储系统及片上系统
CN114185839A (zh) 片上系统和调节电压和频率的方法
CN114448399A (zh) 时钟电路、计算装置和片上系统
CN115203120A (zh) 片上系统、计算装置和一种两路电压的调节方法

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