CN114185837A - 片上***和调节电压和频率的方法 - Google Patents
片上***和调节电压和频率的方法 Download PDFInfo
- Publication number
- CN114185837A CN114185837A CN202010967176.XA CN202010967176A CN114185837A CN 114185837 A CN114185837 A CN 114185837A CN 202010967176 A CN202010967176 A CN 202010967176A CN 114185837 A CN114185837 A CN 114185837A
- Authority
- CN
- China
- Prior art keywords
- frequency
- voltage
- chip
- signal
- generating
- 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 abstract description 29
- 238000012545 processing Methods 0.000 claims abstract description 63
- 230000001105 regulatory effect Effects 0.000 claims abstract description 15
- 238000003860 storage Methods 0.000 claims description 14
- 238000006243 chemical reaction Methods 0.000 claims description 10
- 230000004044 response Effects 0.000 claims description 6
- 230000003068 static effect Effects 0.000 claims description 5
- 238000001514 detection method Methods 0.000 claims description 4
- 230000008878 coupling Effects 0.000 claims description 2
- 238000010168 coupling process Methods 0.000 claims description 2
- 238000005859 coupling reaction Methods 0.000 claims description 2
- 238000005070 sampling Methods 0.000 claims description 2
- 230000008901 benefit Effects 0.000 abstract description 3
- 230000015654 memory Effects 0.000 description 66
- 238000004891 communication Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 7
- 238000012360 testing method Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000004134 energy conservation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000009776 industrial production Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System 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
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05F—SYSTEMS FOR REGULATING ELECTRIC OR MAGNETIC VARIABLES
- G05F1/00—Automatic 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/10—Regulating voltage or current
- G05F1/46—Regulating voltage or current wherein the variable actually regulated by the final control device is dc
- G05F1/56—Regulating 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
-
- 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/26—Power supply means, e.g. regulation thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/32—Monitoring with visual or acoustical indication of the functioning of the machine
- G06F11/324—Display of status information
- G06F11/327—Alarm or error message display
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Automation & Control Theory (AREA)
- Computing Systems (AREA)
- Radar, Positioning & Navigation (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Electromagnetism (AREA)
- Quality & Reliability (AREA)
- Power Sources (AREA)
Abstract
提供一种片上***和调节电压和频率的方法。处理单元,用于生成频率配置指令和调频调压指令;DVFS控制器,用于根据频率配置指令生成至少一个频率电压对,并在调频调压指令的目标频率与至少一个频率电压对中的第一频率相符的情况下,基于第一频率产生调频信号,基于第一频率对应的电压产生调压信号,调频信号用于调节片上***的时钟频率,调压信号用于调节片上***的供电电压;片上总线,耦接处理单元和DVFS控制器。本申请为***的时钟频率和供电电压配置允许取值范围,在允许取值范围之内的调频调压操作能够正常进行,在允许取值范围之外的调频调压操作,则被拒绝执行,以此提高调频调压操作的安全性。
Description
技术领域
本公开涉及芯片领域,具体而言,涉及一种片上***和调节电压和频率的方法。
背景技术
集成电路的小型化趋势使得处理器制造商对如何降低功耗充满热情。动态电压和频率调节(Dynamic Voltage and Frequency Scaling,DVFS)是处理器降低功耗的方法之一。动态电压和频率调节根据处理器所运行的应用程序对计算能力的不同需要,动态调节***的时钟频率和供电电压,从而达到节能的目的。
在DVFS***中,应用程序可通过***接口发起调频调压请求,DVFS控制器根据调频调压请求调节***的时钟频率和供电电压。而攻击软件利用这一点,会给***带来安全隐患。例如,攻击软件可发起包含较大频率和电压的调频调压请求,如果将***的时钟频率设置为该频率和电压,则可能导致***崩溃。
发明内容
有鉴于此,本公开的目的是提供一种片上***和调节电压和频率的方法,以解决片上***调频调压操作的安全隐患。
第一方面,本公开实施例提供一种片上***,包括:
处理单元,用于生成频率配置指令和调频调压指令;
DVFS控制器,用于根据频率配置指令配置至少一个频率电压对,并在所述调频调压指令的目标频率与所述至少一个频率电压对中的第一频率相符的情况下,基于所述第一频率产生调频信号,基于所述第一频率对应的电压产生调压信号,所述调频信号用于调节所述片上***的时钟频率,所述调压信号用于调节所述片上***的供电电压;
片上总线,耦接所述处理单元和所述DVFS控制器。
可选地,所述DVFS控制器在所述目标频率与所述至少一个频率电压对中的任意频率均不相符的情况下,产生告警信号。
可选地,所述告警信号为中断信号、复位信号或总线错误信号中的一种。
可选地,所述处理单元包括硬件上划分的安全环境和非安全环境,所述处理单元在所述安全环境中生成所述频率配置指令,在所述非安全环境中生成所述调频调压指令。
可选地,所述处理单元在用户态和内核态之间切换,并在内核态下生成所述频率配置指令,在用户态下生成所述调频调压指令。
可选地,所述频率配置指令包括指示位,所述指示位用于指示所述处理单元生成所述频率配置指令时的状态信息,所述DVFS控制器还用于:根据所述频率配置指令中的指示位确定是否生成告警信号。
可选地,所述DVFS控制器包括:
多个寄存器组,用于存储至少一个频率电压对;
变频寄存器,用于存储所述目标频率;
比较器,用于将所述目标频率与所述至少一个频率电压对分别比较,并输出结果信号;
变频生成单元,用于根据所述结果信号生成所述调频信号;
电压生成单元,用于根据所述结果信号生成所述调压信号。
可选地,所述DVFS控制器包括:
中断生成单元,用于生成中断信号;
复位生成单元,用于生成复位信号;
总线响应单元,用于生成总线错误信号;
错误检测单元,用于采样所述结果信号,并根据所述结果信号指示所述中断生成单元、所述复位生成单元和所述总线响应单元之一启动。
可选地,所述至少一个频率电压对中的任意一个电压为使所述处理单元在对应频率下工作的最小电压。
可选地,所述片上***还包括静态存储单元,用于存储多个频率电压对,所述处理单元根据所述多个频率电压对生成所述至少一个频率电压对。
第二方面,本公开实施例提供一种调节电压和频率的方法,包括:
生成频率配置指令和调频调压指令;
根据所述频率配置指令生成至少一个频率电压对;
将所述调频调压指令中的目标频率与所述至少一个频率电压对进行比对;
在所述目标频率与第一频率相符的情况下,根据所述第一频率调节***的时钟频率,以及根据所述第一频率对应的电压调节***的供电电压。
可选地,还包括:在所述目标频率与所述至少一个频率电压对中的任意频率均不相符的情况下,产生告警信号并进行告警处理。
可选地,所述频率配置指令包括指示位,所述指示位用于指示所述处理单元生成所述频率配置指令时的状态信息,所述方法还包括:根据所述频率配置指令中的指示位确定是否生成告警信号。
第三方面,本公开实施例提供一种计算装置,包括:
上述任一项所述的片上***;
总线;
通过所述总线与所述片上***耦接的存储设备;
与所述片上***中的DVFS控制器耦接的电源管理电路。
根据本公开实施例的片上***,为***的时钟频率和供电电压配置允许取值范围,在允许取值范围之内的调频调压操作能够正常进行,在允许取值范围之外的调频调压操作,则被拒绝执行,以此提高调频调压操作的安全性。
附图说明
通过参考以下附图对本公开实施例的描述,本公开的上述以及其它目的、特征和优点将更为清楚,在附图中:
图1是本公开实施例提供的片上***的结构示意图;
图2是频率和电压的曲线图;
图3是图1中的DVFS控制器的示例性结构示意图;
图4是本公开实施例提供的调节电压和频率的方法的流程图;
图5是本公开实施例所应用的通用计算机***的结构示意图;
图6是本公开实施例所应用的嵌入式***的结构示意图。
具体实施方式
以下基于实施例对本公开进行描述,但是本公开并不仅仅限于这些实施例。在下文对本公开的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本公开。为了避免混淆本公开的实质,公知的方法、过程、流程没有详细叙述。另外附图不一定是按比例绘制的。
本公开实施例的片上***
图1是本公开实施例所应用的片上***100的结构示意图。
参考图上所示,片上总线102将各种元件与处理单元101耦接到一起。片上总线102例如AXI总线。AXI总线是ARM公司提出的AMBA(Advanced Microcontroller BusArchitecture)3.0及以上协议中最重要的部分,它是面向于高性能、高带宽、低延迟的片内总线。AIX总线将地址/控制和数据相位分离,支持不对齐的数据传输,同时支持突发传输和乱序传输,因此满足了超高性能和复杂的片上***设计的需求。
如图上所示,DVFS控制器103、高速内存104通过总线102与处理单元101耦接。DVFS控制器103与时钟管理单元105、位于片外的电源管理电路211耦接,在一些实施例中,电源管理电路211也可以位于片上***100中。片上***100还可以包括未被示出的接口电路,通过接口电路与片外的外部设备耦接。外部设备例如可以为文字、音频和视频的输入/输出设备和各种其他存储器。片上***100可通过接口电路访问片外的外部设备。不同于设置在片上***的高速内存104,位于片外的存储器可以容量更大但速度较慢、成本较低。在一些实现中,高速内存104可以为静态随机存取存储器(SRAM),而片外的存储器为DRAM(动态随机存取存储器)和闪存(flash)存储器。设计人员还可以对SoC架构进行配置从而使得片上***中的各个元件之间的通信是安全的。
如图上所示,片上***100内嵌有基本软件(例如嵌入式控制***121)和应用程序(例如应用程序A-N)。另有其他的未被示出的应用程序可以存储在片上***100之外的存储器中,这些应用程序可以通过接口电路拷贝到片上***100中的高速内存104中由处理单元101执行,或者通过接口电路访问片上***100上的资源。
DVFS控制器103工作时,从片上总线102接收到频率配置指令和调频调压指令。频率配置指令包括至少一个频率电压对。调频调压指令包括目标频率。DVFS控制器103从频率配置指令中读取至少一个频率电压对,并将其存储为图上的频率电压表106,每个频率电压对表征***可以设置的时钟频率和对应的供电电压。同时,DVFS控制器103会从调频调压指令中获得目标频率,DVFS控制器103将目标频率与频率电压表106中的每个频率电压对进行比对,当某个频率电压对中的频率与目标频率相符时,将对应的电压取出,生成调压信号REGV,发送给电源管理电路211,电源管理电路211据此调节提供给***的供电电压VCPU,同时,DVFS控制器103生成调频信号REGF,发送给时钟管理单元105,由时钟管理单元105生成***的时钟信号FCPU。DVFS控制器103还在目标频率与频率电压表106中的任何频率都不相符时,拒绝执行调频调压操作并生成告警信号ALARM,告警处理单元(未示出)根据告警信号ALARM进行告警处理。
处理单元101用于生成频率配置指令和调频调压指令,更具体地,处理单元101在执行来自嵌入式控制***121或应用程序A-N的可执行代码时生成频率配置指令和调频调压指令。例如,嵌入式控制***121可包括以下流程的计算机代码:首先采集与***负载有关的信号,计算当前的***负载;再根据***的当前负载,预测***在下一时间段需要的性能;然后将预测的性能转换成需要的频率,然后调用***接口将***的时钟频率修改为需要的频率。***接口是嵌入式控制***提供的、用于调用底层硬件单元的接口。处理单元101在解码和执行上述计算机代码时,通过调用***接口生成发送给硬件DVFS控制器的调频调压指令。。再例如,处理单元101在执行应用程序A-N中的可执行代码生成调频调压指令。再有,频率配置指令还执行引导程序时产生。引导程序用于在计算机上电后加载嵌入式操作***121。也就是说,当计算机上电后到嵌入式操作***121正常工作这段时间内,引导程序被执行并生成频率配置指令。这样做的好处由于引导程序运行时,各种接口电路可能还未正常工作,因此外部的攻击软件不容易攻击频率配置指令。
应该指出的是,频率配置指令中所指定的频率电压对应为经过验证的、能够使***正常工作的频率电压对。
在一种实现中,SoC 100上包括静态存储单元,该静态存储单元包含若干个频率电压对,而频率配置指令中所指定的频率电压对包含在这若干个频率电压对之中。
在另一种实现中,以图2为例。图2示出了频率和电压的曲线Curve1。Curve1的每个点表征一个频率与该频率对应的最小电压。频率配置指令可使用Curve1上的操作点(f0,v0)-(f4,v4)来配置DVFS控制器103中的频率电压对。频率配置指令还可以选取例如图上的(f0,V11)和(f2,v12)来配置DVFS控制器103中的频率电压对,其中V11大于V0,V12大于V2,这种情况下,提供给***的供电电压将保有余量。当然,还需要考虑电源管理电路能够提供的电压范围。
在进一步的实现中,处理单元101对于计算机指令的执行环境可基于硬件划分为安全环境1011和非安全环境1012。安全环境1011比非安全环境1012为更为可信的指令执行环境,例如,安全环境1011不可从外部访问,非安全环境1012从外部可访问,安全环境在输入和输出接口处包括硬件保护机制,硬件保护机制例如用于过滤经认证或未经认证的数据的寄存器,以及与安全环境通信可基于加密算法、等等。可选地,处理单元101在安全环境1011中生成频率配置指令,在非安全环境1012中生成调频调压指令。
在进一步的实现中,处理单元101对于计算机指令的执行环境可基于软件划分为用户态和内核态。用户态和内核态来自于多用户管理模式。多用户管理模式下至少包括两种用户类型:普通权限用户和最高权限用户。基于多用户管理模式,存储器的寻址空间在软件逻辑上划分为内核空间和用户空间,例如Linux操作***而言,将最高的1G字节(从虚拟地址0xC0000000到0xFFFFFFFF)作为内核空间,而将较低的3G字节(从虚拟地址0x00000000到0xBFFFFFFF)作为用户空间。如果一个应用程序被普通用户执行,则该应用程序的代码和数据将被加载到用户空间中执行,如果一个应用程序被最高权限用户执行,则该应用程序的代码和数据将被加载到内核空间中执行。由此,当处理器处理内核空间中的代码时,其工作模式称为内核态,当处理器处理用户空间的代码时,其工作模式称为用户态。可选地,处理单元101在内核态下生成频率配置指令,在用户态下生成调频调压指令。
正常情况下,处理单元101只在安全环境或内核态下生成频率配置指令,只在非安全环境或用户态下生成调频调压指令,从而能够保证调频调压操作的安全性。但是攻击程序仍旧可以破坏频率配置指令的生成过程,例如通过非法的计算机指令使处理单元101在非安全环境生成频率配置指令,并篡改频率配置指令中的频率电压对。
为此,在进一步的实现中,频率配置指令包括指示位,所述指示位用于指示生成频率配置指令时处理单元101的状态信息。例如,为0时表示处理单元101处于安全环境,为1时表示处理单元101处于非安全环境,或者为0时表示处理单元101处于内核态,为1时表示处理单元101处于用户态。由此,DVFS控制器103可通过检测指示位确定处理单元101是否在正确状态(即安全环境或内核态)下生成频率配置指令。如果AVFS控制器103根据指示位确定处理单元101在正确状态下生成频率配置指令,则进行频率配置。如果AVFS控制器103根据指示位确定处理单元101在错误状态下生成频率配置指令,则拒绝执行频率配置并给出告警信号,然后告警处理单元根据告警信号进行告警处理。这样,即使攻击程序能够破坏频率配置指令的生成过程,AVFS控制器103也无法完成频率配置。
图3是一个示例性的DVFS控制器300的结构示意图。如图上所示,寄存器F用于存储目标频率。寄存器组F-V用于存储多个频率电压对。多个比较器303用于将寄存器F中的目标频率与寄存器组F-V中的频率电压对比对,如果相符,则由电压生成单元302生成调压信号REGV,且由变频生成单元301生成调频信号FCPU,错误检测单元304如果检测到目标频率与任意一个频率电压对中的频率都不相符,则可由中断生成单元305、复位生成单元306或总线响应单元307生成中断信号SINT、复位信号RESET或总线错误信号SBUS。错误检测单元304还用于检测频率配置指令中的指示位。根据指示位给出中断信号SINT、复位信号RESET或总线错误信号SBUS。
中断信号SINT由中断控制器(图上未示出)处理。中断控制器可设置在处理单元301的内部或外部,中断控制器定义了针对各种不同中断信号的各种处理例程,当相应的中断信号发生时,相应的处理例程被启动进行相应的处理。复位信号RESET会发送给复位电路(未示出),复位电路将片上***300进行复位后重启。总线错误信号SBUS会被发送给总线302处理。
在一种实现中,错误检测单元304还用于检测频率配置指令的指示位,以确定处理单元在生成频率配置指令时状态是否正常,如果不正常,则启用中断生成单元305、复位生成单元306或总线响应单元307生成中断信号SINT、复位信号RESET或总线错误信号SBUS。
根据本公开实施例的片上***,为***的时钟频率和供电电压配置允许取值范围,在允许取值范围之内对时钟频率和供电电压的调频调压操作能够正常进行,在允许取值范围之外的调频调压操作,则被拒绝执行并产生告警信号。
本公开实施例的调节电压和频率的方法
图4示出了本公开实施例的调节电压和频率的方法的流程图。该方法可由软件程序实现,或者由软件程序与硬件模块共同实现。如图上所示,该方法包括以下步骤。
在步骤S400中,在安全环境中生成频率配置指令。该步骤由处理单元完成,通过获取预存储的多个频率电压对生成频率配置指令,频率配置指令包含至少一个频率电压对。
在步骤S401中,根据频率配置指令生成至少一个频率电压对。该步骤可由DVFS控制器完成,即DVFS控制器接收到频率配置指令,从中读取至少一个频率电压对,并存储在DVFS控制器中。
在步骤S402中,在非安全环境中生成调频调压指令。该步骤由处理单元完成,例如通过预测***下一个周期的负载情况,确定处理单元所需要的时钟频率,根据所需要的时钟频率生成调频调压指令,并将所需要的时钟频率作为调频调压指令中的目标频率。
在步骤S403中,将调频调压指令中的目标频率与至少一个频率电压对进行比对。该步骤可由DVFS控制器执行。通过比较器比较目标频率和经由步骤S401得到的频率电压对中的频率。
在步骤S404中,目标频率与第一频率是否相符。第一频率为所述至少一个频率电压对中的任意一个频率。如果目标频率与第一频率相符,则执行步骤S405,否则执行步骤S406。
在步骤S405中,根据第一频率调节时钟频率,以及根据第一频率对应的电压调节供电电压。
在步骤S406中,产生告警信号并进行告警处理。
在本实施例中,配置至少一个频率电压对从而限定***的时钟频率和提供给***的供电电压的允许取值范围,如果频率调压指令针对***的时钟频率的调节在允许取值范围之内,则频率和电压的调节能够正常进行,而在允许取值范围之外,则被拒绝执行并进行告警处理,以此提高***的安全性,同时由于在安全环境生成频率配置指令,使得攻击软件不容易破坏频率配置指令的生成过程,如此也有助于提高调频调压操作的安全性。
进一步地,步骤S406产生的告警信号可为中断信号、复位信号或总线错误信号中的一种。针对不同的告警信号进行不同处理。例如,可采用嵌入式控制***中的中断处理例程处理中断信号和复位信号。
作为另一种实现方式,频率配置指令和频率调压指令在处理器(包括中央处理器、微处理器、数字信号处理单元)的不同模式下生成,例如在内核态下生成频率配置指令的操作,在用户态下生成频率调压指令的操作。
片上***的具体应用
图5示出了本公开实施例所应用的通用的计算机体系结构。如图上所示,计算机***500可以包括一个或多个处理器12,以及存储器14。其中,上述实施例提供的片上***可作为处理器12。
计算机***500中的存储器14可以主存储器(简称为主存或内存)。用于存储由数据信号表示的指令信息和/或数据信息,例如存放处理器12提供的数据(例如为运算结果),也可以用于实现处理器12与外部存储设备16(或称为辅助存储器或外部存储器)之间的数据交换。
在一些情形下,处理器12可能需要访问存储器14,以获取存储器14中的数据或对存储器14中的数据进行修改。由于存储器14的访问速度较慢,为了缓解处理器12与存储器14之间的速度差距,计算机***500还包括与总线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的效率可以显著提高,进而也使整个计算机***500的性能和效率得以提升。
此外,计算机***500还可以包括存储设备16、显示设备13、音频设备19、鼠标/键盘15等输入/输出设备。存储设备16例如是通过相应接口与总线11耦合的硬盘、光盘以及闪存等用于信息存取的设备。显示设备13例如经相应的显卡与总线11耦合,用于根据总线11提供的显示信号进行显示。
计算机***500通常还包括通信设备17,因此可以通过各种方式与网络或其他设备通信。通信设备17例如可以包括一种或多种通信模块,作为示例,通信设备17可以包括适用于特定的无线通信协议的无线通信模块。例如,通信设备17可以包括WLAN模块,用于实现符合电气和电子工程师协会(IEEE)制定的802.11标准的Wi-FiTM通信;通信设备17也可以包括WWAN模块,用于实现符合蜂窝或其他无线广域协议的无线广域通信;通信设备17还可以包括蓝牙模块等采用其它协议的通信模块,或其它自定义类型的通信模块;通信设备17也可以是用于串行传输数据的端口。
当然,不同的计算机***根据主板、操作***和指令集架构的不同,其结构也可能有所变化。例如目前很多计算机***设置有连接在总线11和各个输入/输出设备之间的输入/输出控制中心,且该输入/输出控制中心可以集成于处理器12之内或独立于处理器12。
图6是本公开实施例所应用的嵌入式***的结构图。上述实施例提供的片上***可作为处理器601。
虽然嵌入式***在硬件结构上与计算机***具有高度相似性,但是嵌入式***应用上的特点致使嵌入式***在硬件的组成和实现形式上与通用计算机***又有较大区别。
首先,为满足嵌入式***600在速度、体积和功耗上的要求,操作***、应用软件、特殊数据等需要长期保存的数据,通常不使用磁盘这类具有大容量且速度较慢的存储介质,而大多使用随机存储器602或闪存(Flash Memory)603。
另外,在嵌入式***600中,需要A/D(模拟/数字转换)接口605和串行接口606,用于测控的需要,这在通用计算机中用得很少。A/D接口605主要完成测试中所需要的模拟信号到数字信号的转换、和数字信号到模拟信号的转换。嵌入式***600应用于工业生产时经常需要测试。由于单片机产生的是数字信号,在测试时需要转换成模拟信号用于测试,因此,与通用计算机不同,需要A/D(模拟/数字转换)接口605完成相关转换。另外,工业中经常需要多个嵌入式***串接在一起,完成相关功能,因此需要用于将多个嵌入式***串联的串行接口606,而在通用计算机中则大多不需要。
另外,嵌入式***600作为一个基本的处理单元,常常在工业设计中需要将多个嵌入式***600联成网络,因此需要将嵌入式***600联入网络的网络接口607。这在通用计算机中大多也不需要。此外,根据实际应用和规模的不同,有些嵌入式***600要采用外部总线604。随着嵌入式***600应用领域的迅速扩张,嵌入式***600越来越趋于个性化,根据自身特点采用总线的种类也越来越多。另外,为了对嵌入式处理器601内部电路进行测试,处理器芯片普遍采用了边界扫描测试技术。为了适应该测试,采用了调试接口608。
随着超大规模集成电路(Very Large Scale Integration)和半导体工艺的迅速发展,上述的嵌入式***的部分或者全部可实现在一个硅片上,即为嵌入式片上***(SoC)。
本公开实施例的商业价值
本公开实施例提供的片上***在保证调频调压操作的安全性的基础上降低了***功耗,可形成多种场景使用的计算装置,例如数据中心数量庞大的云服务器,在此场景下,通过降低处理器的功耗从而降低每个云服务器的功耗,进而降低每个云服务器和整个数据中心的运行成本;再例如,日常生活中使用的超小型电子产品,此类电子产品由于尺寸限制,能够携带的电池容量有限,因此必须降低电子产品的功耗有助于延长电子产品的使用时间。由此,本公开实施例的片上***以及由该片上***构建的计算装置在具有实用价值的基础上,具备了商业价值和经济价值。
本领域的技术人员能够理解,本公开可以实现为***、方法和计算机程序产品。因此,本公开可以具体实现为以下形式,即完全的硬件、完全的软件(包括固件、驻留软件、微代码),还可以实现为软件和硬件结合的形式。此外,在一些实施例中,本公开还可以实现为一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如但不限于为电、磁、光、电磁、红外线或半导体的***、装置或器件,或其他任意以上的组合。计算机可读存储介质的更具体的例子包括:具体一个或多个导线的电连接,便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或者闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器、磁存储器或者上述任意合适的组合。在本文中,计算机可读的存储介质可以是任意包含或存储程序的有形介质,该程序可以被处理单元、装置或者器件使用,或者与其结合使用。
计算机可读信号介质可以包括在基带中或者作为截波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或者其他任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质之外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令***、装置或器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、RF等等,以及上述任意合适的组合。
可以以一种或者多种程序设计语言或者组合来编写用于执行本公开实施例的计算机程序代码。所述程序设计语言包括面向对象的程序设计语言,例如JAVA、C++,还可以包括常规的过程式程序设计语言,例如C。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络包括局域网(LAN)或广域网(WAN)连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
以上所述仅为本公开的优选实施例,并不用于限制本公开,对于本领域技术人员而言,本公开可以有各种改动和变化。凡在本公开的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (14)
1.一种片上***,包括:
处理单元,用于生成频率配置指令和调频调压指令;
DVFS控制器,用于根据频率配置指令配置至少一个频率电压对,并在所述调频调压指令的目标频率与所述至少一个频率电压对中的第一频率相符的情况下,基于所述第一频率产生调频信号,基于所述第一频率对应的电压产生调压信号,所述调频信号用于调节所述片上***的时钟频率,所述调压信号用于调节所述片上***的供电电压;
片上总线,耦接所述处理单元和所述DVFS控制器。
2.根据权利要求1所述的片上***,其中,所述DVFS控制器在所述目标频率与所述至少一个频率电压对中的任意频率均不相符的情况下,产生告警信号。
3.根据权利要求2所述的片上***,其中,所述告警信号为中断信号、复位信号或总线错误信号中的一种。
4.根据权利要求1所述的片上***,其中,所述处理单元包括硬件上划分的安全环境和非安全环境,所述处理单元在所述安全环境中生成所述频率配置指令,在所述非安全环境中生成所述调频调压指令。
5.根据权利要求1所述的片上***,其中,所述处理单元在用户态和内核态之间切换,并在内核态下生成所述频率配置指令,在用户态下生成所述调频调压指令。
6.根据权利要求1所述的片上***,所述频率配置指令包括指示位,所述指示位用于指示所述处理单元生成所述频率配置指令时的状态信息,所述DVFS控制器还用于:根据所述频率配置指令中的指示位确定是否生成告警信号。
7.根据权利要求1所述的片上***,所述DVFS控制器包括:
多个寄存器组,用于存储至少一个频率电压对;
变频寄存器,用于存储所述目标频率;
比较器,用于将所述目标频率与所述至少一个频率电压对分别比较,并输出结果信号;
变频生成单元,用于根据所述结果信号生成所述调频信号;
电压生成单元,用于根据所述结果信号生成所述调压信号。
8.根据权利要求3所述的片上***,所述DVFS控制器包括:
中断生成单元,用于生成中断信号;
复位生成单元,用于生成复位信号;
总线响应单元,用于生成总线错误信号;
错误检测单元,用于采样所述结果信号,并根据所述结果信号指示所述中断生成单元、所述复位生成单元和所述总线响应单元之一启动。
9.根据权利要求1所述的片上***,所述至少一个频率电压对中的任意一个电压为使所述处理单元在对应频率下工作的最小电压。
10.根据权利要求1所述的片上***,所述片上***还包括静态存储单元,用于存储多个频率电压对,所述处理单元根据所述多个频率电压对生成所述至少一个频率电压对。
11.一种调节电压和频率的方法,包括:
生成频率配置指令和调频调压指令;
根据所述频率配置指令生成至少一个频率电压对;
将所述调频调压指令中的目标频率与所述至少一个频率电压对进行比对;
在所述目标频率与第一频率相符的情况下,根据所述第一频率调节***的时钟频率,以及根据所述第一频率对应的电压调节***的供电电压。
12.根据权利要求11所述的方法,其中,还包括:在所述目标频率与所述至少一个频率电压对中的任意频率均不相符的情况下,产生告警信号并进行告警处理。
13.根据权利要求11所述的方法,其中,所述频率配置指令包括指示位,所述指示位用于指示所述处理单元生成所述频率配置指令时的状态信息,所述方法还包括:根据所述频率配置指令中的指示位确定是否生成告警信号。
14.一种计算装置,包括:
如权利要求1至10任一项所述的片上***;
总线;
通过所述总线与所述片上***耦接的存储设备;
与所述DVFS控制器耦接的电源管理电路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010967176.XA CN114185837A (zh) | 2020-09-15 | 2020-09-15 | 片上***和调节电压和频率的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010967176.XA CN114185837A (zh) | 2020-09-15 | 2020-09-15 | 片上***和调节电压和频率的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114185837A true CN114185837A (zh) | 2022-03-15 |
Family
ID=80601184
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010967176.XA Pending CN114185837A (zh) | 2020-09-15 | 2020-09-15 | 片上***和调节电压和频率的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114185837A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116719376A (zh) * | 2022-09-26 | 2023-09-08 | 荣耀终端有限公司 | 电压控制方法、装置、设备和存储介质 |
CN117670647A (zh) * | 2022-09-08 | 2024-03-08 | 象帝先计算技术(重庆)有限公司 | 图像处理***、gpu电源管理方法和电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104951044A (zh) * | 2014-03-28 | 2015-09-30 | 三星电子株式会社 | 动态电压和频率调节方法、片上***及设备 |
CN110968901A (zh) * | 2018-10-01 | 2020-04-07 | 意法半导体(大西部)公司 | Dvfs功率管理的方法及对应的*** |
-
2020
- 2020-09-15 CN CN202010967176.XA patent/CN114185837A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104951044A (zh) * | 2014-03-28 | 2015-09-30 | 三星电子株式会社 | 动态电压和频率调节方法、片上***及设备 |
CN110968901A (zh) * | 2018-10-01 | 2020-04-07 | 意法半导体(大西部)公司 | Dvfs功率管理的方法及对应的*** |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117670647A (zh) * | 2022-09-08 | 2024-03-08 | 象帝先计算技术(重庆)有限公司 | 图像处理***、gpu电源管理方法和电子设备 |
CN116719376A (zh) * | 2022-09-26 | 2023-09-08 | 荣耀终端有限公司 | 电压控制方法、装置、设备和存储介质 |
CN116719376B (zh) * | 2022-09-26 | 2024-04-19 | 荣耀终端有限公司 | 电压控制方法、装置、设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9612887B2 (en) | Firmware-related event notification | |
JP5697284B2 (ja) | コンピュータプラットフォームのシステム電力状態を遷移させる方法、装置およびシステム | |
US10739836B2 (en) | System, apparatus and method for handshaking protocol for low power state transitions | |
TWI514145B (zh) | 可儲存除錯資料的處理器、其快取及控制方法 | |
US9335944B2 (en) | In-place change between transient and persistent state for data structures on non-volatile memory | |
CN114185837A (zh) | 片上***和调节电压和频率的方法 | |
US9104472B2 (en) | Write transaction interpretation for interrupt assertion | |
US20210136688A1 (en) | Application processor that performs core switching based on modem data and a system on chip (soc) that incorporates the application processor | |
TW201447584A (zh) | 用於在執行硬體表搜尋〈hwtw〉時在某些條件下防止對暫存器的內容的未經授權式存取的方法和裝置 | |
CN114185835A (zh) | 片上***和调节电压和频率的方法 | |
US11436146B2 (en) | Storage control apparatus, processing apparatus, computer system, and storage control method | |
CN114185834A (zh) | 片上***和电压与频率调节的方法 | |
US20230281113A1 (en) | Adaptive memory metadata allocation | |
US6349388B1 (en) | Timer processing engine for supporting multiple virtual minimum time timers | |
CN114185836A (zh) | 片上***和调节电压和频率的方法 | |
CN115328405A (zh) | 数据处理方法、装置及电子设备 | |
CN114721464A (zh) | 片上***和计算装置 | |
CN114185838A (zh) | 片上***和调节电压和频率的方法 | |
CN115202428B (zh) | 片上***和一种两路电压的调节方法 | |
US20150154124A1 (en) | Secure data partition in nonvolatile memory systems | |
CN107025196B (zh) | 物理层设备操作***以及方法 | |
CN114297131B (zh) | 传感器控制***、片上***和计算装置 | |
CN114448399A (zh) | 时钟电路、计算装置和片上*** | |
US11989420B2 (en) | Memory allocation method and apparatus, electronic device, and storage medium | |
CN113688081A (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 |