片上系统、计算装置和一种两路电压的调节方法与流程

文档序号:31837901发布日期:2022-10-18 21:50阅读:214来源:国知局
片上系统、计算装置和一种两路电压的调节方法与流程

1.本公开涉及芯片领域,具体而言,涉及片上系统、计算装置和一种两路电压的调节方法。


背景技术:

2.集成电路的小型化趋势使得处理器制造商对如何降低功耗充满热情。系统降低功耗的方法主要有两种:动态电压与频率调节(dynamic voltage and frequency scaling,dvfs)和自适应电压与频率调节(adaptive voltage frequency scaling,avfs)。dvfs根据处理器所运行的应用程序对计算能力的不同需要,动态调节系统的时钟频率和供电电压,从而达到节能的目的。avfs通过传感器实时检测系统应用环境来决定供电电压。
3.但发明人在研究中发现,小型集成电路大多使用双轨存储器,而双轨存储器中用于实际数据存储的存储阵列和用于控制读写过程的逻辑器件使用不同的供电电压,逻辑器件的供电电压同时是系统供电电压(除存储阵列之外的其他部件均使用该供电电压),由此当基于avfs或dvfs调整供电电压时,实际上需要调节系统供电电压和双轨存储器的存储阵列的供电电压。这就带来了新的问题,即如何调整两路电压。现有技术采用并行调压(即两路电压同步调节)的方案,但是该方案的缺点在于并行调压,两路电压同时发生变动的过程中有可能会破坏彼此之间的约束关系,该约束关系是指双轨存储器的逻辑器件和存储阵列的供电电压需要时刻满足的电压约束关系。


技术实现要素:

4.有鉴于此,本公开的目的是提供片上系统、计算装置和一种两路电压的调节方法,以解决现有技术中存在的问题。
5.第一方面,本公开实施例提供一种片上系统,与电源管理电路耦接,包括:
6.处理单元,用于发送调频调压指令;
7.双轨存储器,包括逻辑器件和存储阵列;
8.调频调压控制器包括:
9.电压确定单元,用于根据所述调频调压指令确定所述逻辑器件的供电电压要调节到的第一目标值,并根据所述第一目标值确定所述存储阵列的供电电压要调节到的第二目标值,所述第一目标值为第一区间内的任意值,所述第一区间内的任意值与所述第二目标值符合针对所述逻辑器件和所述存储阵列设置的电压约束关系;
10.调压信号生成单元,用于根据所述第一目标值和所述第二目标值,生成调压信号发送给所述电源管理电路,以便于所述电源管理电路根据所述调压信号同步调节所述逻辑器件和所述存储阵列的供电电压。
11.可选地,所述调频调压控制器存储有电压关系数据,所述电压关系数据用于表征为所述逻辑阵列的供电电压配置多个固定值,并将所述逻辑器件的供电电压的取值范围划分为与所述多个固定值分别对应的多个区间,每个区间内的任意值与其对应的固定值都符
合所述电压约束关系;
12.则所述调频调压控制器通过所述第一目标值检索所述电压关系数据确定所述第一区间,并将所述第一区间对应的固定值作为所述第二目标值。
13.可选地,所述电压约束关系为:所述存储阵列的供电电压不大于所述逻辑器件的供电电压和第一设定值之和,同时,不小于所述逻辑器件的供电电压和第二设定值之差。
14.可选地,每个区间的上边界值等于与该区间对应的固定值加上所述第二设定值,其下边界值等于与该区间对应的固定值减去所述第一设定值。
15.可选地,每个区间的上边界值等于该区间对应的固定值,或者每个区间的下边界值等于该区间的固定值。
16.可选地,所述调压信号生成单元根据所述第一目标值和所述第二目标值生成两路调压信号发送给所述电源管理电路。
17.可选地,在所述同步调节所述逻辑器件和所述存储阵列的供电电压的过程中,两路供电电压的变化速率的相差不超过设定值。
18.可选地,当所述调频调压控制器为dvfs控制器,所述电压确定单元包括:
19.目标寄存器,用于存储从所述调频调压指令获得的目标频率;
20.多个比较器,用于将所述目标频率和预建立的频率和电压的对应关系比较,将与所述目标频率对应的电压作为所述第一目标值,并根据所述第一目标值在所述电压关系数据中,得到所述第二目标值;
21.选择器,用于将所述第一目标值和所述第一目标值输出给所述调压信号生成单元;
22.多个第一寄存器用于存储所述频率和电压的对应关系;
23.多个第二寄存器用于存储所述电压关系数据。
24.可选地,当所述调频调压控制器为avfs控制器,所述电压确定单元包括:
25.多个第三寄存器用于存储所述电压关系数据;
26.计算单元,用于根据检测到的实时温度和工艺偏差计算所述第一目标值,并根据所述第一目标值检索所述电压关系数据得到所述第二目标值;
27.选择器,用于将所述第一目标值和所述第一目标值输出给所述调压信号生成单元。
28.第二方面,本公开实施例提供一种两路电压的调节方法,包括:
29.确定第一路电压要调节到的第一目标值;
30.采用所述第一目标值检索预定义的电压关系数据以确定所述第一目标值所属的第一区间以及与所述第一区间对应的第一固定值,并将所述第一固定值作为第二路电压要调节到的第二目标值;
31.分别将所述第一路电压和所述第二路电压调节到所述第一目标值和所述第二目标值,
32.其中,所述电压关系数据表征所述第一路电压的取值范围划分的多个区间与所述第二路电压采用的多个固定值分别对应,每个区间内的任意值和其对应的固定值之间满足两路电压的约束关系,所述第一区间为所述多个区间中的一个,所述第一固定值为所述多个固定值中的一个。
33.可选地,所述约束关系包括:所述第一路电压不大于所述第二路电压和第一设定值之和,同时,不小于所述第二路电压和第二设定值之差。
34.第三方面,本公开实施例提供一种计算装置,包括:
35.上述任一项所述的片上系统;
36.片外总线;
37.通过所述片外总线与所述片上系统耦接的存储设备;
38.与所述片上系统的耦接的电源管理电路。
39.在本实施例中,调频调压控制器同步将双轨存储器的逻辑器件的供电电压调节到第一目标值,将存储阵列的供电电压调节到第二目标值,由于第一目标值所属的第一区间中的任意值与第二目标值符合双轨存储器的逻辑器件和存储阵列预设的电压约束关系,因此两路电压以大致相同的速率到达目标值的过程中,约束关系不会被破坏,从而确保电压调节的稳定性。
附图说明
40.通过参考以下附图对本公开实施例的描述,本公开的上述以及其它目的、特征和优点将更为清楚,在附图中:
41.图1是本公开一实施例提供的片上系统的结构示意图;
42.图2是本公开一实施例提供的dvfs控制器的结构图;
43.图3是依据本公开一实施例构建的两路电压的电压关系的示例图;
44.图4是本公开一实施例提供的avfs控制器的结构图;
45.图5是本公开一实施例提供的两路电压的调节方法的流程图;
46.图6是本公开实施例所应用的通用计算机系统的结构示意图;
47.图7是本公开实施例所应用的嵌入式系统的结构示意图。
具体实施方式
48.以下基于实施例对本公开进行描述,但是本公开并不仅仅限于这些实施例。在下文对本公开的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本公开。为了避免混淆本公开的实质,公知的方法、过程、流程没有详细叙述。另外附图不一定是按比例绘制的。
49.本公开实施例提供两路电压的调节方法可应用任何集成了双轨存储器的系统中,不论双轨存储器是嵌入式还是独立的,也不论双轨存储器的存储器类型,例如随机存取存储器(ram)、静态随机存取存储器(sram)、只读存储器(rom)、内容可寻址存储器(cam)、闪速存储器、寄存器堆(register file)等。此外,本领域的技术人员可以理解,虽然下述实施例是基于片上系统的dvfs或avfs控制器描述如何调整双轨存储器的两路电压,但在其他场景,只要两路电压之间存在电压约束关系,就可以使用本公开实施例提供的两路电压的调节方法。
50.在本文中使用的术语。
51.sign-off:从模块级设计到流片,在芯片设计流程进行中,因设计改动而花费设计成本成指数上升。“sign-off”表示特定部门(例如时序、功率、功能验证部门)承诺其工作完
成的可衡量标准已经到达。而corner指在sign-off时,定义的可衡量标准。
52.片上系统
53.参考图上所示,片上总线102将各种元件与处理单元101耦接到一起。片上总线102例如axi总线。axi总线是arm公司提出的amba(advanced microcontroller bus architecture)3.0及以上协议中最重要的部分,它是面向于高性能、高带宽、低延迟的片内总线。aix总线将地址/控制和数据相位分离,支持不对齐的数据传输,同时支持突发传输和乱序传输,因此满足了超高性能和复杂的片上系统设计的需求。
54.如图上所示,调频调压控制器103、高速内存104通过片上总线102与处理单元101耦接。调频调压控制器103与时钟管理单元105和位于片外的电源管理电路211耦接。
55.在一些实施例中,电源管理电路211也可以位于片上系统100的内部。片上系统100还可以包括未被示出的接口电路,通过接口电路与片外的外部设备耦接。外部设备例如可以为文字、音频和视频的输入/输出设备和各种其他存储器。片上系统100可通过接口电路访问片外的外部设备。不同于设置在片上系统的高速内存104,位于片外的存储器可以容量更大但速度较慢、成本较低。在一些实现中,高速内存104可以为静态随机存取存储器(sram),而片外的存储器为dram(动态随机存取存储器)和闪存(flash)存储器。
56.片上系统100内嵌有基本软件(例如嵌入式控制系统121)和应用程序(例如应用程序a-n)。另有其他的未被示出的应用程序可以存储在片上系统100之外的存储器中,这些应用程序可以通过接口电路拷贝到片上系统100中的高速内存104中执行,或者通过接口电路访问片上系统100上的资源。
57.调频调压控制器103生成调频信号regf和调压信号regv,将调频信号regf发送给时钟电路管理单元105,将调压信号regv发送给电源管理电路211。调频调压控制器103还用于在异常状况下发送告警信号alarm并提供给处理单元101,以采取相应措施。
58.在本实施例中,调频调压控制器103可以是dvfs控制器,也可以是avfs控制器。
59.当高速内存104不是双轨存储器时,所有部件,包括处理单元、高速内存104、调频调压控制器103,共用系统供电电压。
60.在此基础上,当调频调压控制器103为avfs控制器时,,dvfs控制器103的实现逻辑如下:dvfs控制器103经由片上总线102接收从处理单元101发送的频率配置指令和调频调压指令,从频率配置指令读取多个频率电压对(这些频率电压对是经过验证的、使系统正常工作的频率和电压),并将其存储在dvfs控制器中,同时,dvfs控制器103从调频调压指令中获得目标频率,将目标频率与多个频率电压对中的每个频率电压对进行比对,当某个频率电压对中的频率与目标频率相符时,将对应的电压值取出,生成调压信号regv,发送给电源管理电路211,电源管理电路211据此调节处理单元的供电电压vcpu,同时,dvfs控制器生成调频信号regf发送时钟管理单元105,时钟管理单元105生成时钟信号fcpu提供给处理单元101。
61.当调频调压控制器103为avfs控制器时,其实现逻辑如下:从片上系统102接收到频率配置指令和调频调压指令,从频率配置指令中读取至少一个频率,并将其存储在avfs控制器103中。同时,avfs控制器从调频调压指令中获得目标频率,将目标频率与至少一个频率进行比对,当某个频率与目标频率相符时,根据从传感器获取到的实时检测数据和目标频率计算电压值,根据电压值生成调压信号regv,发送给电源管理电路211,电源管理电
路211据此调节提供给处理单元的供电电压vcpu,同时,avfs控制器根据目标频率生成调频信号regf发送时钟管理单元105,时钟管理单元105生成处理单元101的时钟信号fcpu。应该指出的是,频率配置指令包含的频率应为经过验证能够使片上系统100正常工作的频率点。
62.但是当高速内存104是双轨存储器时,处理单元101、高速内存104、调频调压控制器103、双轨存储器104的逻辑器件等共用一个系统供电电压,而双轨存储器104的存储阵列使用另一个供电电压,此时需要调节两路电路且在电压调节的过程中,系统供电电压和存储阵列的供电电压需时刻满足电压约束关系。因此电源管理电路211根据调压信号调节系统供电电压vcpu和存储阵列的供电电压vstg。应理解,在双轨存储器的系统中,调频调压控制器103可向电源管理电路211发送一路调压信号,该调压信号表征调节两路供电电压,或发送两路调压信号,该两路调压信号分别调节一路供电电压。
63.为了实现双轨存储器的电压调节,本公开实施提供如图2和3所示的调频调压控制器。图2是本公开一实施例的dvfs控制器的结构图。
64.如图上所示,电压确定单元203用于确定系统供电电压要调节到的第一目标值和存储阵列的供电电压要调节到的第二目标值。第一目标值为第一区间的任意值,第一区间的任意值与第二目标值符合预设的系统供电电压和存储阵列的供电电压之间的电压约束关系。调压信号生成单元202根据第一目标值和第二目标值生成针对系统供电电压的调压信号regv1和针对存储阵列的供电电压的调压信号regv2,该调压信号regv1和regv2会被提供给电源管理电路211,电源管理电路211可以执行电压调节操作,同时将系统供电电压调节到vk,将存储阵列的供电电压调节到vltg_j。变频信号生成单元201生成调频信号regf,以调节处理单元的时钟频率。错误处理单元204用于在检测到目标频率与任意频率电压对中的频率都不相符时生成告警信号alarm,并将告警信号alarm提供给相应处理部件。
65.进一步地,如图上所示,电压确定单元203包括寄存器f、多个比较器203、寄存器组f-v、寄存器组v-v和选择器2032。寄存器f用于存储目标频率。寄存器组f-v用于存储频率和电压的对应关系。寄存器组v-v用于存储双轨存储器的两路电压的电压关系数据。电压确定单元203从调频调压指令中获取目标频率并存储在寄存器f中,多个比较器203将寄存器f中的目标频率与寄存器组f-v中的频率和电压之间的对应关系比对,如果目标频率和其中之一的频率相符,则得到其对应的电压值例如vk将其作为第一目标值,然后将vk与多个子区间[v01,v02]、[v02,v03]等比较,确定vk所属区间例如[v0j,v0j+1],然后获得区间[v0j,v0j+1]对应的固定值vltg_j,将该固定值vltg_j作为第二目标值,然后将vk和vltg_j经由选择器2032提供给调压信号生成单元202。其中k、j和n都是大于或者等于1的整数。
[0066]
如图上所示,寄存器组v-v存储有预先建立的双轨存储器的两路供电电压的电压关系数据。该电压关系数据表征将逻辑器件的供电电压的取值范围划分的多个子区间(即区间[v01,v02]、[v02,v03]等)与存储阵列的供电电压可使用的多个固定值(图上vltg_0,vltg_1等)分别一一对应,且每个区间内的任意值和其对应的固定值之间满足双轨存储器的逻辑器件和存储阵列的电压约束关系。
[0067]
可选地,寄存器组f-v中的频率和电压的对应关系和寄存器组v-v中的电压关系数据预存储在片外的只读存储器中(可在硬件设计时将其硬编码到只读存储器中),当系统上电启动时被加载到寄存器中。
[0068]
可选地,根据寄存器组内的数据对应关系建立两个寄存器组f-v中的各个寄存器
和v-v中各个寄存器之间的对应关系,如此当确定第一目标值所在的寄存器时,从与其对应的寄存器中获得第二目标值,如此就避免了第一目标值与电压关系数据的区间进行比对。
[0069]
对上述实施例进行举例说明。如图3所示,vddm表征存储阵列的供电电压,vdd表征逻辑器件的供电电压,vddm的取值范围是[0.675v,1.1v],vdd的取值范围是[0.55v,1.05v],vdd和vddm之间的约束关系为:vdd》=vddm-300mv,vdd《=vddm+100mv。
[0070]
则vdd和vddm的电压关系数据可构建如下:对于vddm,设置三个固定值:0.75v、0.85v和1v,对于vdd,构建与三个固定值一一对应的三个区间[0.55v,0.75v](对应于vddm固定值0.75v)、[0.75v,0.85v](对应于vddm固定值0.85v)和[0.85v,1.05v](对应于vddm固定值1v)。所谓一一对应是指每个区间的任意值与其对应的固定值符合双轨存储器的逻辑器件和存储阵列的供电电压的电压约束关系。
[0071]
在一个示例性的实施例中,当vdd小于0.75v时属于区间[0.55v,0.75v],则vddm取与区间[0.55v,0.75v]对应的固定值0.75v。
[0072]
在另一个示例性的实施例中,当vdd在区间[0.75v,0.85v]时,vddm取与区间[0.75v,0.85v]对应的固定值0.85v。
[0073]
在还有一个示例性的实施例中,当vdd在区间[0.85v,1.05v]时,vddm取与区间[0.85v,1.05v]对应的固定值1v。
[0074]
这样得到的vdd和vddm持续符合上述双轨存储器的逻辑器件和存储阵列的供电电压的电压约束关系。
[0075]
在上述实施例中,当vdd属于[0.55v,0.75v]时,由于vddm固定为0.75,因此约束关系可以表示为:0.75v-300mv(0.45)《=vdd《=0.75v+100mv(0.85),这个约束关系无疑是成立的;当vdd属于[0.75v,0.85v]时,由于vddm固定为0.85,因此约束关系可以表示为:0.85v-300mv(0.55)《=vdd《=0.85v+100mv(0.95),这个约束关系无疑是成立的;当vdd属于[0.85v,1.05v]时,由于vddm固定为1v,因此约束关系可以表示为:1v-300mv(0.7v)《=vdd《=1v+100mv(1.1v),这个约束关系无疑也是成立的。
[0076]
当利用上述vdd-vddm执行降压操作时,例如将vdd从1.05v-》0.55v,根据此方法,相应地vddm需要由1v降压至0.75v。在vdd/vddm调压速率相同的基础上,由于vddm的压降差较小,因此vddm由1v逐渐降压至0.75v时,vdd才从1.05v降压到0.8v,但此时仍有+0.05v的余量(margin),则再降压+0.05v到达0.75。
[0077]
此外,电压关系数据的构造方式不局限于上述电压关系数据,下面介绍另一个基于vdd和vddm构建的电压关系数据。首先vddm仍旧设置三个固定值:0.75v、0.85v和1v,则对于vdd,构建与这三个固定值一一对应的三个区间:[0.45v,0.80v](对应于vddm固定值0.75v),[0.80v,0.90v](对应于vddm固定值0.85v)和[0.90v,1.1v](对应于vddm固定值1v)。这是根据vdd》=vddm-300mv,vdd《=vddm+100mv推导出来的。此电压关系数据的其他方面可参考上文中对前一示例性的电压关系数据的相关描述,这里不再详细介绍。
[0078]
需要说明的是,在建立vdd和vddm的电压关系数据时,可以先确定vdd的多个区间,然后再确定对应的vddm的多个固定值,或者先确定vddm的多个固定值,再确定对应的vdd的多个区间。
[0079]
需要说明的是,双轨存储器在出厂时,通常提供了若干个存储阵列的供电电压的电压值(枚举的多个固定值),因此本实施例的调频调压控制器可采用这些固定值来规划电
压关系数据。这样做有一个显著的好处在于:芯片sign-off时,只需要在每个存储阵列的供电电压对应区间的上下边界上signoff即可,对于区间2来说,需要在{vdd,vddm}={0.85v,0.85v}、{0.85v,0.75v}两个边界值下进行sign-off,即使vdd/vddm同时调压过程中电压调整速率有偏差,该signoff电压也可以覆盖到该区间范围内的vdd。即该方法解决了在vdd/vddm不能用一路供电时,无法做到完全同步调压,后端难以signoff的问题。
[0080]
图4是本公开另一实施例的avfs控制器的结构图。如图4所示,avfs控制器103包括用于存储频率点表1031的寄存器组、变频控制单元406、电压确定单元402、调压信号生成单元409、温度传感器控制器403、工艺传感器控制器404和电压传感器控制器405。频率点表1031包括多个频率,该多个频率为avfs控制器103根据频率配置指令生成。变频控制单元406在判断频率配置指令中指定的目标频率与频率点表1031的某一频率相符时,利用变频控制单元406生成调频信号regf。
[0081]
温度传感器控制器403和温度传感器406耦接并组成温度传感器组件,工艺传感器控制器404和工艺传感器407耦接并组成工艺传感器组件,电压传感器控制器405和电压传感器408耦接并组成电压传感器组件。温度传感器406、工艺传感器407和电压传感器408位于片上系统内部但是在avfs控制器450之外。传感器控制器403-405通过温度传感器406、工艺传感器407和电压传感器408采集片上系统的实时温度、工艺偏差和实时电压。
[0082]
电压确定单元402用于确定系统供电电压要调节到的第一目标值和存储阵列的供电电压要调节到的第二目标值。具体地,虽然未示出,但电压确定单元402包括计算单元、包括如图2所示的用于存储电压关系数据的寄存器组v-v和一个选择器,该计算单元用于根据目标频率、系统的实时温度和工艺偏差计算出系统供电电压要调整到的第一目标值,或者基于预定义的电压计算规则根据目标频率、实时温度确定系统供电电压要调整到的第一目标值后再根据工艺偏差做电压偏置,然后通过第一目标值检索寄存器组v-v中的电压关系数据,以得到第一目标值所属的子区间以及该子区间对应的固定值,并将该固定值作为第二目标值。该选择器用于将第一目标值和第一目标值输出给调压信号生成单元409。
[0083]
调压信号生成单元409生成针对系统供电电压的调压信号regv1和针对存储阵列的供电电压的调压信号regv2,该调压信号regv1和regv2会被提供给电源管理电路211,电源管理电路211并行调节两路供电电压。在调压操作完成之后,电压确定单元402还可以将最终目标值与电压传感器408采集到的实时电压比对,以确定调压操作效果如何。
[0084]
基于上述实施例,调频调压控制器预先建立表征双轨存储器的第一路电压的多个取值区间与第二路电压的多个固定值之间的对应关系,由此当第一路电压的目标值落在其取值区间时,获得对应的固定值作为第二路电压的目标值,并并行调节两路电压,由于两路电压的调节速率大致相当,因此两路电压到达目标值的过程中,约束关系不会被破坏,从而确保电压调节的稳定性。
[0085]
本公开实施例的两路电压的调节方法
[0086]
如图5所示,该调节方法包括步骤s01、s02和s03。
[0087]
在步骤s01中,确定第一路电压要调节到的第一目标值。
[0088]
在步骤s02中,采用第一目标值检索预定义的电压关系数据以确定第一目标值所属的第一子区间以及与第一子区间对应的第一固定值,并将所述第一固定值作为第二路电压要调节到的第二目标值。
[0089]
在步骤s03中,将第一路电压和第二路电压调节到第一目标值和第二目标值。
[0090]
对于步骤s01,可以通过多种方式确定第一目标值。例如接收到的调压指令中指出第一目标值,也可以如图2,基于要调节到的目标频率确定要调节到的第一目标值,还可以如图4,基于传感器组件获得的实时检测数据以及要调节到的目标频率计算出第一目标值。
[0091]
对于步骤s02,预定义的电压关系数据可通过片上系统启动时加载到调频调压控制器中的寄存器组中。该电压关系数据可在实验室中生成。它由多条记录组成,所述多条记录表征两路电压中的第一路电压的取值范围划分的多个子区间与第二路电压可采用的多个固定值分别一一对应。
[0092]
步骤s03由两路电压的供电单元执行,供电单元根据两路电压各自的目标值同步调节两路供电电压,
[0093]
根据本方法得到的两路电压的目标值,能够确保当两路电压由当前电压调节到各自的目标值时,调节过程中两路电压时刻满足约束关系。但应注意,在初始状态下,两路电压也应满足约束关系,且当同步调节两路电压时,两路电压的变化速率应该相等或者大致上相等(通常用两路电压的变化速率相差不超过设定值表示,这个设定值是一个很小的正数),如此并行调节才不会出现由于变化速率差距导致的调节过程中两路电压不满足约束关系的现象。
[0094]
虽然该调节方法可应用于调节双轨存储器的两路电压,但应理解,该方法的应用不局限于此,实际上,只要两路电压之间存在约束关系,都可以采用上述调节方法。
[0095]
片上系统的具体应用
[0096]
图6是本公开实施例所应用的通用计算机系统的结构示意图。如图上所示,计算机系统600可以包括一个或多个处理器12,以及存储器14。其中,上述实施例提供的片上系统可用作处理器12。
[0097]
计算机系统600中的存储器14可以主存储器(简称为主存或内存)。用于存储由数据信号表示的指令信息和/或数据信息,例如存放处理器12提供的数据(例如为运算结果),也可以用于实现处理器12与外部存储设备16(或称为辅助存储器或外部存储器)之间的数据交换。
[0098]
在一些情形下,处理器12可能需要访问存储器14,以获取存储器14中的数据或对存储器14中的数据进行修改。由于存储器14的访问速度较慢,为了缓解处理器12与存储器14之间的速度差距,计算机系统600还包括与总线11耦合的高速缓冲存储器18,高速缓冲存储器18用于对存储器14中的一些可能会被反复调用的程序数据或者报文数据等数据进行缓存。高速缓冲存储器18例如由静态随机存储器(static random access memory,简称为sram)等类型的存储装置实现。高速缓冲存储器18可以为多级结构,例如具有一级缓存(l1 cache)、二级缓存(l2 cache)和三级缓存(l3 cache)的三级缓存结构,也可以是三级以上的缓存结构或其他类型缓存结构。在一些实施例中,高速缓冲存储器18的一部分(例如一级缓存,或一级缓存和二级缓存)可以集成在处理器12内部或与处理器12集成于同一片上系统中。
[0099]
基于此,处理器12可以包括指令执行单元121、内存管理单元122等部分。指令执行单元121在执行一些需要修改内存的指令时发起写访问请求,该写访问请求指定了需要写入内存中的写入数据和相应的物理地址;内存管理单元122用于将这些指令指定的虚拟地
址转译为该虚拟地址映射的物理地址,写访问请求指定的物理地址与相应指令指定的物理地址可以一致。
[0100]
存储器14和高速缓冲存储器18之间的信息交互通常按块来组织。在一些实施例中,高速缓冲存储器18和存储器14可以按照相同的空间尺寸被划分成数据块,数据块可以作为高速缓冲存储器18和存储器14之间的数据交换的最小单位(包括预设长度的一个或多个数据)。为了表述简洁清晰,下面将高速缓冲存储器18中的各个数据块简称为缓存块(可以称为cacheline或高速缓存线),且不同的缓存块具有不同的缓存块地址;将存储器14中的各个数据块简称为内存块,且不同的内存块具有不同的内存块地址。缓存块地址例如包括用于定位数据块的物理地址标签。
[0101]
由于受到空间和资源的限制,高速缓冲存储器18无法对存储器14中的全部内容都进行缓存,即高速缓冲存储器18的存储容量通常小于存储器14,高速缓冲存储器18提供的各个缓存块地址无法对应存储器14提供的全部内存块地址。处理器12在需要访问内存时,首先经总线11访问高速缓冲存储器18,以判断所要访问的内容是否已被存储于高速缓冲存储器18中,如果是,则高速缓冲存储器18命中,此时处理器12直接从高速缓冲存储器18中调用所要访问的内容;如果处理器12需要访问的内容不在高速缓冲存储器18中,则高速缓冲存储器18,处理器12需要经总线11访问存储器14,以在存储器14中查找相应的信息。因为高速缓冲存储器18的存取速率非常快,因此当高速缓冲存储器18命中时,处理器12的效率可以显著提高,进而也使整个计算机系统600的性能和效率得以提升。
[0102]
此外,计算机系统600还可以包括存储设备16、显示设备13、音频设备19、鼠标/键盘15等输入/输出设备。存储设备16例如是通过相应接口与总线11耦合的硬盘、光盘以及闪存等用于信息存取的设备。显示设备13例如经相应的显卡与总线11耦合,用于根据总线11提供的显示信号进行显示。
[0103]
计算机系统600通常还包括通信设备17,因此可以通过各种方式与网络或其他设备通信。通信设备17例如可以包括一种或多种通信模块,作为示例,通信设备17可以包括适用于特定的无线通信协议的无线通信模块。例如,通信设备17可以包括wlan模块,用于实现符合电气和电子工程师协会(ieee)制定的602.11标准的wi-fitm通信;通信设备17也可以包括wwan模块,用于实现符合蜂窝或其他无线广域协议的无线广域通信;通信设备17还可以包括蓝牙模块等采用其它协议的通信模块,或其它自定义类型的通信模块;通信设备17也可以是用于串行传输数据的端口。
[0104]
当然,不同的计算机系统根据主板、操作系统和指令集架构的不同,其结构也可能有所变化。例如目前很多计算机系统设置有连接在总线11和各个输入/输出设备之间的输入/输出控制中心,且该输入/输出控制中心可以集成于处理器12之内或独立于处理器12。
[0105]
图7是本公开实施例所应用的嵌入式系统的结构图。上述实施例提供的片上系统可用作处理器701。
[0106]
虽然嵌入式系统在硬件结构上与计算机系统具有高度相似性,但是嵌入式系统应用上的特点致使嵌入式系统在硬件的组成和实现形式上与通用计算机系统又有较大区别。
[0107]
首先,为满足嵌入式系统700在速度、体积和功耗上的要求,操作系统、应用软件、特殊数据等需要长期保存的数据,通常不使用磁盘这类具有大容量且速度较慢的存储介质,而大多使用随机存储器702或闪存(flash memory)703。
[0108]
另外,在嵌入式系统700中,需要a/d(模拟/数字转换)接口705和串行接口706,用于测控的需要,这在通用计算机中用得很少。a/d接口705主要完成测试中所需要的模拟信号到数字信号的转换、和数字信号到模拟信号的转换。嵌入式系统700应用于工业生产时经常需要测试。由于单片机产生的是数字信号,在测试时需要转换成模拟信号用于测试,因此,与通用计算机不同,需要a/d(模拟/数字转换)接口705完成相关转换。另外,工业中经常需要多个嵌入式系统串接在一起,完成相关功能,因此需要用于将多个嵌入式系统串联的串行接口706,而在通用计算机中则大多不需要。
[0109]
另外,嵌入式系统700作为一个基本的处理单元,常常在工业设计中需要将多个嵌入式系统700联成网络,因此需要将嵌入式系统700联入网络的网络接口707。这在通用计算机中大多也不需要。此外,根据实际应用和规模的不同,有些嵌入式系统700要采用外部总线704。随着嵌入式系统700应用领域的迅速扩张,嵌入式系统700越来越趋于个性化,根据自身特点采用总线的种类也越来越多。另外,为了对嵌入式处理器701内部电路进行测试,处理器芯片普遍采用了边界扫描测试技术。为了适应该测试,采用了调试接口708。
[0110]
随着超大规模集成电路(very large scale integration)和半导体工艺的迅速发展,上述的嵌入式系统的部分或者全部可实现在一个硅片上,即为嵌入式片上系统(soc)。
[0111]
本公开实施例的商业价值
[0112]
本公开实施例提供的片上系统,调频调压控制器基于满足约束关系的电压关系数据获得两路电路各自的目标电压并据此调节两路电压,从而确保电压调节的稳定性。这样的片上系统可用于形成多种场景使用的计算装置,例如数据中心数量庞大的云服务器;再例如,日常生活中使用的电子设备,包括诸如笔记本和手机等终端设备以及某些消费型电子产品。由此可见,本公开实施例的片上系统以及由该片上系统构建的计算装置在具有实用价值的基础上,具备了商业价值和经济价值。
[0113]
本领域的技术人员能够理解,本公开可以实现为系统、方法和计算机程序产品。因此,本公开可以具体实现为以下形式,即完全的硬件、完全的软件(包括固件、驻留软件、微代码),还可以实现为软件和硬件结合的形式。此外,在一些实施例中,本公开还可以实现为一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
[0114]
可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如但不限于为电、磁、光、电磁、红外线或半导体的系统、装置或器件,或其他任意以上的组合。计算机可读存储介质的更具体的例子包括:具体一个或多个导线的电连接,便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或者闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器、磁存储器或者上述任意合适的组合。在本文中,计算机可读的存储介质可以是任意包含或存储程序的有形介质,该程序可以被处理单元、装置或者器件使用,或者与其结合使用。
[0115]
计算机可读信号介质可以包括在基带中或者作为截波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或者其他任意合适的组合。计算机可读的信号介质还可以是计算机可读
存储介质之外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令系统、装置或器件使用或者与其结合使用的程序。
[0116]
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、rf等等,以及上述任意合适的组合。
[0117]
可以以一种或者多种程序设计语言或者组合来编写用于执行本公开实施例的计算机程序代码。所述程序设计语言包括面向对象的程序设计语言,例如java、c++,还可以包括常规的过程式程序设计语言,例如c。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络包括局域网(lan)或广域网(wan)连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0118]
以上所述仅为本公开的优选实施例,并不用于限制本公开,对于本领域技术人员而言,本公开可以有各种改动和变化。凡在本公开的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1