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.其中,所述逻辑器件和所述存储阵列之间的电压约束为:所述逻辑器件的供电电压不大于所述存储阵列的供电电压和所述第一参考电压之和,同时,不小于所述存储阵列的供电电压和所述第二参考电压之差。
19.在一些实施例中,所述第一参考电压和所述第二参考电压通过电压源产生。
20.在一些实施例中,所述时钟门控单元在所述门控使能信号拉高后,关闭所述时钟信号,在所述门控使能信号拉低后,使能所述时钟信号。
21.在一些实施例中,所述时钟门控单元在所述门控使能信号拉低后,关闭所述时钟信号,在所述门控使能信号拉高后,使能所述时钟信号。
22.在一些实施例中,所述第一压差电路和所述第二压差电路通过运算放大器或开关电容电路实现。
23.第二方面,本公开实施例提供一种片上系统,其中,上述任意一项所述的存储系统为所述片上系统的一部分。
24.在一些实施例中,所述片上系统还包括功耗控制器,所述功耗控制器用于计算出所述逻辑器件和所述存储阵列要调节到的第一目标电压和第二目标电压,以便于所述电压源产生所述第一电压信号和所述第二电压信号。
25.第三方面,本公开实施例提供一种用于双轨存储器的电压调节方法,包括:
26.监测第一电压信号和第二电压信号是否满足所述双轨存储器的逻辑器件和存储阵列之间的电压约束,并据此产生门控使能信号,其中,所述第一电压信号和所述第二电压信号为向所述双轨存储器的逻辑器件和存储阵列分别提供的两路电压信号;
27.根据所述门控使能信号关闭或使能所述双轨存储器的时钟信号,其中,在所述第一电压信号和所述第二电压信号不符合所述电压约束时,关闭所述时钟信号,以使所述双轨存储器暂停工作,在符合所述电压约束后,释放所述时钟信号,以使所述双轨存储器恢复工作。
28.在一些实施例中,所述监测第一电压信号和第二电压信号是否满足所述双轨存储器的逻辑器件和存储阵列之间的电压约束,并据此产生门控使能信号包括:
29.产生所述第一电压信号和所述第二电压信号之间的第一压差信号;
30.产生所述第二电压信号和所述第一电压信号之间的第二压差信号;
31.将所述第一压差信号与第一参考电压进行比较,并输出第一比较信号;
32.将所述第二压差信号与第二参考电压进行比较,并输出第二比较信号;
33.将所述第一比较信号和所述第二比较信号进行或运算,并输出所述门控使能信号,
34.其中,所述逻辑器件和所述存储阵列之间的电压约束为:所述逻辑器件的供电电压不大于所述存储阵列的供电电压和所述第一参考电压之和,同时,不小于所述存储阵列的供电电压和所述第二参考电压之差。
35.在一些实施例中,所述第一参考电压和所述第二参考电压通过电压源产生。
36.在一些实施例中,该电压调节方法还包括:计算出所述逻辑器件和所述存储阵列要调节到的第一目标电压和第二目标电压,以便于所述电压源产生所述第一电压信号和所述第二电压信号。
37.第四方面,本公开实施例提供一种计算装置,包括:
38.上述的片上系统作为处理器;
39.总线;
40.通过所述总线与所述处理器耦接的存储设备。
41.本公开实施例提供的存储系统和用于双轨存储器的电压调节方法,既可以满足双轨存储器的两路电压不可用同一路电压供电的需求,同时也能满足双轨存储器的两路电压之间的约束要求。与同步调压策略相比,本公开实施例提供的压差检测电路可有效地监测两路电源之间的电压约束,增加同步调压的可靠性;与分步调压策略相比,本系统采用两路电压同时调压可大幅度减小调压时间。
附图说明
42.通过参考以下附图对本公开实施例的描述,本公开的上述以及其它目的、特征和优点将更为清楚,在附图中:
43.图1是本公开一实施例提供的片上系统的结构示意图;
44.图2是本公开一实施例提供的dvfs控制器的结构图;
45.图3是本公开一实施例提供的avfs控制器的结构图;
46.图4是一个示例性的双轨存储器的两路电压的示意图;
47.图5是本公开一实施例提供的一种能够进行双轨存储器的两路电压同步调节的存储系统的结构图;
48.图6是图5中的压差检测单元的一个示例性的结构图;
49.图7a和图7b分别给出了图5中的两个示例的门控前和门控后的信号以及时钟使能信号的时序图;
50.图8是一个示例性的时钟门控单元的结构图;
51.图9是一个示例性的压差电路的电路图;
52.图10是本公开一实施例提供的用于双轨存储器的电压调节方法的流程图;
53.图11是本公开实施例所应用的通用计算机系统的结构示意图;
54.图12是本公开实施例所应用的嵌入式系统的结构示意图。
具体实施方式
55.以下基于实施例对本公开进行描述,但是本公开并不仅仅限于这些实施例。在下文对本公开的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本公开。为了避免混淆本公开的实质,公知的方法、过
程、流程没有详细叙述。另外附图不一定是按比例绘制的。
56.本公开实施例所指的双轨存储器可以是嵌入式,也可以是独立器件。并且,只要是双轨存储器,其可以是诸如随机存取存储器(ram)、静态随机存取存储器(sram)、只读存储器(rom)、内容可寻址存储器(cam)、闪速存储器、寄存器堆(register file)等多种类型。此外,本领域的技术人员可以理解,虽然下述实施例是基于片上系统的dvfs或avfs控制器描述如何调整双轨存储器的两路电压,但在其他场景,只要两路电压之间存在电压约束关系,就可以使用本公开实施例提供的两路电压的调节方法。
57.本文中的术语解释
58.时钟频率(又译:时钟频率速度,英语:clock rate),是指同步电路中时钟的基础频率,它以“若干次周期每秒”来度量,量度单位采用单位赫兹(hz)。对于时钟信号而言,每个周期由两个相邻的高电平和低电平组成。
59.数字电子电路设计中的时钟信号用于同步地控制数字状态转换。具有较高时钟频率的数字电路系统的功耗对应增加。时钟门控技术通过对时钟信号进行门控(即对时钟信号的使能部分进行部分禁用)来达到减少功耗的目的。基于时钟门控技术,当时钟信号的使能部分被禁用时,由时钟信号使能的相应器件不会产生数字状态转换。
60.片上系统
61.参考图上所示,片上总线102将各种元件与处理单元101耦接到一起。片上总线102例如axi总线。axi总线是arm公司提出的amba(advanced microcontroller bus architecture)3.0及以上协议中最重要的部分,它是面向于高性能、高带宽、低延迟的片内总线。aix总线将地址/控制和数据相位分离,支持不对齐的数据传输,同时支持突发传输和乱序传输,因此满足了超高性能和复杂的片上系统设计的需求。
62.如图上所示,功耗控制器103、高速内存104通过片上总线102与处理单元101耦接。功耗控制器103与时钟管理电路105和位于片外的电源管理电路211耦接。
63.在一些实施例中,电源管理电路211也可以位于片上系统100的内部。片上系统100还可以包括未被示出的接口电路,通过接口电路与片外的外部设备耦接。外部设备例如可以为文字、音频和视频的输入/输出设备和各种其他存储器。片上系统100可通过接口电路访问片外的外部设备。不同于设置在片上系统的高速内存104,位于片外的存储器可以容量更大但速度较慢、成本较低。在一些实现中,高速内存104可以为静态随机存取存储器(sram),而片外的存储器为dram(动态随机存取存储器)和闪存(flash)存储器。
64.片上系统100内嵌有基本软件和应用程序。另有其他的未被示出的应用程序可以存储在片上系统100之外的存储器中,这些应用程序可以通过接口电路拷贝到片上系统100中的高速内存104中执行,或者通过接口电路访问片上系统100上的资源。
65.功耗控制器103生成调频信号regf和调压信号regv,将调频信号regf发送给时钟管理电路105,将调压信号regv发送给电源管理电路211。功耗控制器103还用于在异常状况下发送告警信号alarm并提供给处理单元101,以采取相应措施。
66.在本实施例中,高速内存104可为双轨存储器,此时,处理单元101、功耗控制器103、双轨存储器104的逻辑器件可共用同一个供电电压(下文将其称为系统供电电压),双轨存储器104的存储阵列使用另一个供电电压。因此功耗控制器103向电源管理电路211提供调压信号regv,电源管理电路211根据调压信号regv调节系统供电电压vcpu和存储阵列
的供电电压vstg。应理解,在具有双轨存储器的系统中,功耗控制器103可向电源管理电路211既可以发送一路调压信号,也可以发送两路调压信号来指示调节双轨存储器的两路电压。
67.在本实施例中,功耗控制器103可以是dvfs控制器,也可以是avfs控制器。下面分别介绍dvfs控制器和avfs控制器。图2是本公开一实施例提供的dvfs控制器的结构图。图3是本公开一实施例提供的avfs控制器的结构图。
68.如图2所示,电压确定单元203用于确定系统供电电压和存储阵列的供电电压各自要调节到的目标值。电压确定单元203包括寄存器f、多个比较器2031和选择器2032。寄存器f用于存储目标频率。寄存器组f-v用于存储频率和电压的对应关系。如图上所示,由于使用双轨存储器,因此,该对应关系可以是频率、系统供电电压和存储阵列的供电电压之间的对应关系。多个比较器2031用于将寄存器f中的目标频率与寄存器组f-v中的频率和电压之间的对应关系进行比对,如果目标频率和其中之一的频率相符,则得到其对应的系统供电电压和存储阵列的供电电压作为各自要调节到的目标值,并经由选择器2032提供给调压信号生成单元202。调压信号生成单元202生成针对系统供电电压的调压信号regv1和针对存储阵列的供电电压的调压信号regv2,该调压信号regv1和regv2被提供给电源管理电路211,以控制它同时输出系统供电电压vcpu和存储阵列的供电电压vstg。变频信号生成单元201生成调频信号regf,以调节系统的时钟频率。错误处理单元204用于在检测到目标频率与任意频率电压对中的频率都不相符时生成告警信号alarm,并将告警信号alarm提供给相应处理部件。当然,寄存器组f-v还可以仅存储频率和系统供电电压系统之间的对应关系,通过检索寄存器组f-v得到系统供电电压要调节到的目标值,然后基于供电电压和存储阵列的供电电压之间的约束关系,确定存储阵列的供电电压要调节到的目标值。
69.如图3所示,avfs控制器103包括用于存储频率点表1031的寄存器组、变频控制单元306、电压确定单元302、调压信号生成单元309、温度传感器控制器303、工艺传感器控制器304和电压传感器控制器305。频率点表1031包括多个频率,该多个频率为avfs控制器103根据频率配置指令生成。变频控制单元306在判断频率配置指令中指定的目标频率与频率点表1031的某一频率相符时,生成调频信号regf,以调节处理单元的时钟频率。
70.温度传感器控制器303和温度传感器306耦接并组成温度传感器组件,工艺传感器控制器304和工艺传感器307耦接并组成工艺传感器组件,电压传感器控制器305和电压传感器308耦接并组成电压传感器组件。温度传感器306、工艺传感器307和电压传感器308位于片上系统内部但是在avfs控制器103之外。传感器控制器303-305通过温度传感器306、工艺传感器307和电压传感器308采集片上系统的实时温度、工艺偏差和实时电压。应理解,虽然图上每种类型的传感器只示出了一个,但实际上每种类型的传感器可设置多个。
71.电压确定单元302用于确定系统供电电压和存储阵列的供电电压要调节到的目标值。例如,电压确定单元302可基于预定义的电压计算规则根据系统的实时温度和工艺偏差计算出系统供电电压要调节到的目标值,或者基于预定义的电压计算规则根据实时温度确定系统供电电压要调节到的目标值后再根据工艺偏差做电压偏置,然后根据系统供电电压的目标值确定存储阵列的供电电压的目标值。在调压操作完成之后,电压确定单元302还可以将目标值与电压传感器308采集到的实时电压比对,以确定调压操作效果如何。调压信号生成单元309基于系统供电电压和存储阵列的供电电压要调节到的目标值生成针对系统供
电电压的调压信号regv1和针对存储阵列的供电电压的调压信号regv2,该调压信号regv1和regv2会被提供给电源管理电路211,以控制它同时输出系统供电电压vcpu和存储阵列的供电电压vstg。
72.但是正如背景技术所指出的那样,电源管理电路(例如图1中的电源管理电路211)输出逻辑器件的供电电压(如图1中的vcpu)和存储阵列的供电电压(如图1中的vstg),将这两路电压同时提供给双轨存储器,但是由于各种原因(例如两路信号的变化速率不同),可能导致双轨存储器在某个瞬间接收的两路电压信号不满足约束关系,从而导致双轨存储器不能正常工作。
73.举例说明。设定双轨存储器的逻辑器件和存储阵列的供电电压之间的约束关系为:逻辑器件的供电电压不大于存储阵列的供电电压和第一参考电压之和,同时,不小于存储阵列的供电电压和第二参考电压之差,第一参考电压和第二参考电压是产品出厂参数,是固定值。更具体地,如图4所示,vddm表征存储阵列的供电电压,vddx表征逻辑器件的供电电压,vddm的取值范围是[0.675v,1.1v],vddx的取值范围是[0.55v,1.05v],vddx和vddm之间的约束关系为:vddx》=vddm-300mv,vddx《=vddm+100mv。假设vddx的初始值为0.75v,vddm的初始值为0.85v,要将vddx和vddm同步分别调节0.85v和0.95v,如果在调节过程中,vddm的变化速率大于vddx的变化速率,则一定存在某个瞬间,vddx和vddm各自的数值不满足上述约束关系。
[0074]
为了解决上述问题,本公开一实施例提供一种存储系统,在该系统中内部可进行双轨存储器的两路电压的同步调节,该系统的设计理念是:当双轨存储器的两路电压信号之间的关系不满足约束条件时,双轨存储器的时钟信号被停住,当两路电压信号之间的关系满足约束条件时,双轨存储器的时钟信号被正常释放。
[0075]
该系统的电路设计如图5所示。参考图5所示,电压源411用于产生提供给双轨存储器415的逻辑器件和存储阵列的两路电压信号vddm和vddx。
[0076]
电压源411用于提供两路电压信号vddm和vddx。
[0077]
时钟源电路414用于产生时钟信号clk
[0078]
压差检测单元412用于获取两路电压信号vddm和vddx,并比较是否满足双轨存储器415的逻辑器件和存储阵列之间的电压约束,并根据比较结果产生门控使能信号icg_enable。
[0079]
时钟门控单元413用于根据门控使能信号icg_enable关闭或使能时钟信号clk,其中,时钟门控单元413在两路电压信号vddm和vddx不符合电压约束时,关闭时钟信号clk,以使双轨存储器415暂停工作,在符合电压约束后,释放时钟信号clk,以使双轨存储器415恢复工作。
[0080]
应理解,结合上文描述,本实施例提供的系统可在如图1所述的片上系统中实现,则在此情况下,电压源411等同于图1中的电源管理电路211,时钟源电路414等同于图1中的时钟管理电路105,双轨存储器415等同于高速闪存104,此外还需要在片上系统100中设置压差检测单元412和时钟门控单元413,并且,功耗控制器103可计算出双轨存储器415的两路电压的目标值,并发送给电压源411产生两路电压信号。
[0081]
在一些实施例中,参考图6所示,压差检测单元412包括第一压差电路vsop1、第二压差电路vsop2、第一电压比较器cmp1、第二电压比较器cmp2和或门or。
[0082]
第一压差电路vsop1接收两路电压信号vddm和vddx,并得到第一压差信号vddx-vddm,第二压差电路vsop2接收两路电压信号vddm和vddx,并得到第二压差信号vddm-vddx。第一电压比较器cmp1的两个输入端分别接收第一压差信号vddx-vddm和第一参考电压margin_up,并输出vddx-vddm和magin_up的比较结果,例如,如果vddx-vddm大于magin_up,输出高电平,否则输出低电平。第二电压比较器cmp2的两个输入端分别接收第二压差信号vddm-vddx和第二参考电压margin_down,并输出vddm-vddx和magin_down的比较结果,例如,如果vddm-vddx大于magin_down,输出高电平,否则输出低电平。或门or的两个输入端接收电压比较器cmp1和cmp2的输出结果,进行或运算,并输出门控使能信号icg_enable。
[0083]
在一些实施例中,第一参考电压margin_up和第二参考电压magin_down采用电压源产生。
[0084]
图7a和图7b分别给出了图5中的两个示例性的门控前和门控后的时钟信号以及时钟使能信号的时序图。在图7a中,当icg_enable拉高后,时钟信号clk被停住,在icg_enable拉低后,时钟信号clk被正常通过。在图7b中,当icg_enable拉高后,时钟信号clk被正常通过,在icg_enable拉低后,时钟信号clk被停住。
[0085]
注意,时钟门控单元413如采用图7a所示的门控方式,则在两路电压不满足电压约束时,icg_enable被拉高,满足电压约束时,icg_enable被拉低,如采用图7b的门控方式,则在两路电压不满足电压约束时,icg_enable被拉低,满足电压约束时,icg_enable被拉高。
[0086]
图8是一个示例性的时钟门控单元的结构图。如图上所示,时钟门控单元80包括锁存器lacth和逻辑与and。锁存器lacth的数据端d输入信号icg_enable,控制端cpn输入时钟信号clk,输出端q输出信号qout。逻辑与and的输入端分别输入qout和时钟信号clk,输出端输出icg_clk。该时钟门控电路的信号时序图为图7b所示。
[0087]
但该指出的是,图7a、图7b和图8都是为了示例说明图5中的门控后的时钟信号和时钟门控电路。而且图8所示的时钟门控电路结构也非常简单。但应理解,随着集成电路技术的发展,各种复杂结构的门控时钟已经产生并可应用于本公开实施例中,例如,多层时钟门控电路、层次化时钟门控电路,这里就不一一叙述
[0088]
图9是一个示例性的压差电路的电路图。该电路900是一个运算放大电路,可用作图6中的第一压差电路vsop1和第二压差电路vsop2。
[0089]
如图上所示,压差电路900包括电阻r、ra、r3、r4和运算放大器amp。电阻r耦接到压差电路900的第一输入端和运算放大器amp的第一输入端,电阻r3耦接到压差电路900的第二输入端和运算放大器amp的第二输入端,电阻ra耦接到电阻r1和运算放大器amp的第一输入端的中间节点m1和压差电路900的输出端,电阻r3和运算放大器amp的第二输入端的中间节点m2经由电阻r4耦接至地。
[0090]
上述电路的输出电压和输入电压v1和v2的关系如公式(1)所示。
[0091][0092]
此外,第一压差电路vsop1和第二压差电路vsop2还可采用开关电容(switch capacitor)电路,这里就不详细描述。
[0093]
相应地,本公开实施例用于双轨存储器的电压调节方法。图10示出了该方法的流程图。
[0094]
如图10所示,该调节方法包括步骤s01和s02。
[0095]
在步骤s01中,监测第一电压信号和第二电压信号是否满足双轨存储器的电压约束,并据此产生门控使能信号。其中,第一电压信号和第二电压信号为向双轨存储器的逻辑器件和存储阵列提供的两路电压信号。
[0096]
在步骤s02中,根据门控使能信号关闭或使能双轨存储器的时钟信号。其中,采用门控技术在第一电压信号和第二电压信号不符合所述电压约束时,关闭时钟信号,以使双轨存储器暂停工作,在符合电压约束后,释放时钟信号,以使双轨存储器恢复工作。
[0097]
根据本方法,在监测到双轨存储器的两路电压不符合约束关系时,双轨存储器暂停工作,在监测到双轨存储器的两路电压符合约束关系时,双轨存储器恢复工作。
[0098]
基于上文,本公开实施例提供了可用于双轨存储器的两路电压同时调压的装置和方法,既可以满足双轨存储器的两路电压不可用同一路电压供电的需求,同时也能满足双轨存储器的两路电压之间的约束要求。与同步调压策略相比,本公开实施例提供的压差检测电路可有效地监测两路电源之间的电压约束,增加同步调压的可靠性;与分步调压策略相比,本装置采用两路电压同时调压可大幅度减小调压时间。
[0099]
值得说明的是,在片上系统中,双轨存储器暂停工作有可能会影响到与双轨存储器耦接的处理器的正常工作。为此,发明人提出以下两种思路来解决这一问题:1)当双轨存储器的两路电压不满足电压约束时,将处理器和双轨存储器的时钟信号同时门控住,整个系统都无法工作,直到双轨存储器恢复工作;2)当双轨存储器的两路电压不满足电压约束时,则总线会停止访问双轨存储器,处理器会等待双轨存储器的时钟信号释放后再通过总线正常访问双轨存储器。
[0100]
片上系统的具体应用
[0101]
图11是本公开实施例所应用的通用计算机系统的结构示意图。如图上所示,计算机系统1000可以包括一个或多个处理器12,以及存储器14。其中,上述实施例提供的片上系统可用作处理器12。
[0102]
计算机系统1000中的存储器14可以主存储器(简称为主存或内存)。用于存储由数据信号表示的指令信息和/或数据信息,例如存放处理器12提供的数据(例如为运算结果),也可以用于实现处理器12与外部存储设备16(或称为辅助存储器或外部存储器)之间的数据交换。
[0103]
在一些情形下,处理器12可能需要访问存储器14,以获取存储器14中的数据或对存储器14中的数据进行修改。由于存储器14的访问速度较慢,为了缓解处理器12与存储器14之间的速度差距,计算机系统1000还包括与总线11耦合的高速缓冲存储器18,高速缓冲存储器18用于对存储器14中的一些可能会被反复调用的程序数据或者报文数据等数据进行缓存。高速缓冲存储器18例如由静态随机存储器(static random access memory,简称为sram)等类型的存储装置实现。高速缓冲存储器18可以为多级结构,例如具有一级缓存(l1 cache)、二级缓存(l2 cache)和三级缓存(l3 cache)的三级缓存结构,也可以是三级以上的缓存结构或其他类型缓存结构。在一些实施例中,高速缓冲存储器18的一部分(例如一级缓存,或一级缓存和二级缓存)可以集成在处理器12内部或与处理器12集成于同一片上系统中。
[0104]
基于此,处理器12可以包括指令执行单元121、内存管理单元122等部分。指令执行
单元121在执行一些需要修改内存的指令时发起写访问请求,该写访问请求指定了需要写入内存中的写入数据和相应的物理地址;内存管理单元122用于将这些指令指定的虚拟地址转译为该虚拟地址映射的物理地址,写访问请求指定的物理地址与相应指令指定的物理地址可以一致。
[0105]
存储器14和高速缓冲存储器18之间的信息交互通常按块来组织。在一些实施例中,高速缓冲存储器18和存储器14可以按照相同的空间尺寸被划分成数据块,数据块可以作为高速缓冲存储器18和存储器14之间的数据交换的最小单位(包括预设长度的一个或多个数据)。为了表述简洁清晰,下面将高速缓冲存储器18中的各个数据块简称为缓存块(可以称为cacheline或高速缓存线),且不同的缓存块具有不同的缓存块地址;将存储器14中的各个数据块简称为内存块,且不同的内存块具有不同的内存块地址。缓存块地址例如包括用于定位数据块的物理地址标签。
[0106]
由于受到空间和资源的限制,高速缓冲存储器18无法对存储器14中的全部内容都进行缓存,即高速缓冲存储器18的存储容量通常小于存储器14,高速缓冲存储器18提供的各个缓存块地址无法对应存储器14提供的全部内存块地址。处理器12在需要访问内存时,首先经总线11访问高速缓冲存储器18,以判断所要访问的内容是否已被存储于高速缓冲存储器18中,如果是,则高速缓冲存储器18命中,此时处理器12直接从高速缓冲存储器18中调用所要访问的内容;如果处理器12需要访问的内容不在高速缓冲存储器18中,则高速缓冲存储器18,处理器12需要经总线11访问存储器14,以在存储器14中查找相应的信息。因为高速缓冲存储器18的存取速率非常快,因此当高速缓冲存储器18命中时,处理器12的效率可以显著提高,进而也使整个计算机系统1000的性能和效率得以提升。
[0107]
此外,计算机系统1000还可以包括存储设备16、显示设备13、音频设备19、鼠标/键盘15等输入/输出设备。存储设备16例如是通过相应接口与总线11耦合的硬盘、光盘以及闪存等用于信息存取的设备。显示设备13例如经相应的显卡与总线11耦合,用于根据总线11提供的显示信号进行显示。
[0108]
计算机系统1000通常还包括通信设备17,因此可以通过各种方式与网络或其他设备通信。通信设备17例如可以包括一种或多种通信模块,作为示例,通信设备17可以包括适用于特定的无线通信协议的无线通信模块。例如,通信设备17可以包括wlan模块,用于实现符合电气和电子工程师协会(ieee)制定的602.11标准的wi-fitm通信;通信设备17也可以包括wwan模块,用于实现符合蜂窝或其他无线广域协议的无线广域通信;通信设备17还可以包括蓝牙模块等采用其它协议的通信模块,或其它自定义类型的通信模块;通信设备17也可以是用于串行传输数据的端口。
[0109]
当然,不同的计算机系统根据主板、操作系统和指令集架构的不同,其结构也可能有所变化。例如目前很多计算机系统设置有连接在总线11和各个输入/输出设备之间的输入/输出控制中心,且该输入/输出控制中心可以集成于处理器12之内或独立于处理器12。
[0110]
图12是本公开实施例所应用的嵌入式系统的结构示意图。上述实施例提供的片上系统可用作处理器1201。
[0111]
虽然嵌入式系统在硬件结构上与计算机系统具有高度相似性,但是嵌入式系统应用上的特点致使嵌入式系统在硬件的组成和实现形式上与通用计算机系统又有较大区别。
[0112]
首先,为满足嵌入式系统1200在速度、体积和功耗上的要求,操作系统、应用软件、
特殊数据等需要长期保存的数据,通常不使用磁盘这类具有大容量且速度较慢的存储介质,而大多使用随机存储器1202或闪存(flash memory)1203。
[0113]
另外,在嵌入式系统1200中,需要a/d(模拟/数字转换)接口1205和串行接口1206,用于测控的需要,这在通用计算机中用得很少。a/d接口1205主要完成测试中所需要的模拟信号到数字信号的转换、和数字信号到模拟信号的转换。嵌入式系统1200应用于工业生产时经常需要测试。由于单片机产生的是数字信号,在测试时需要转换成模拟信号用于测试,因此,与通用计算机不同,需要a/d(模拟/数字转换)接口1205完成相关转换。另外,工业中经常需要多个嵌入式系统串接在一起,完成相关功能,因此需要用于将多个嵌入式系统串联的串行接口1206,而在通用计算机中则大多不需要。
[0114]
另外,嵌入式系统1200作为一个基本的处理单元,常常在工业设计中需要将多个嵌入式系统1200联成网络,因此需要将嵌入式系统1200联入网络的网络接口1207。这在通用计算机中大多也不需要。此外,根据实际应用和规模的不同,有些嵌入式系统1200要采用外部总线1204。随着嵌入式系统1200应用领域的迅速扩张,嵌入式系统1200越来越趋于个性化,根据自身特点采用总线的种类也越来越多。另外,为了对嵌入式处理器1201内部电路进行测试,处理器芯片普遍采用了边界扫描测试技术。为了适应该测试,采用了调试接口1208。
[0115]
随着超大规模集成电路(very large scale integration)和半导体工艺的迅速发展,上述的嵌入式系统的部分或者全部可实现在一个硅片上,即为嵌入式片上系统(soc)。
[0116]
本公开实施例的商业价值
[0117]
本公开实施例提供的装置和方法,可用于同步调节双轨存储器的两路电压。该装置可用在片上系统中,这样的片上系统可用于形成多种场景使用的计算装置,例如数据中心数量庞大的云服务器;再例如,日常生活中使用的电子设备,包括诸如笔记本和手机等终端设备以及某些消费型电子产品。由此可见,本公开实施例的装置和方法在具有实用价值的基础上,具备了商业价值和经济价值。
[0118]
本领域的技术人员能够理解,本公开可以实现为系统、方法和计算机程序产品。因此,本公开可以具体实现为以下形式,即完全的硬件、完全的软件(包括固件、驻留软件、微代码),还可以实现为软件和硬件结合的形式。此外,在一些实施例中,本公开还可以实现为一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
[0119]
可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如但不限于为电、磁、光、电磁、红外线或半导体的系统、装置或器件,或其他任意以上的组合。计算机可读存储介质的更具体的例子包括:具体一个或多个导线的电连接,便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或者闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器、磁存储器或者上述任意合适的组合。在本文中,计算机可读的存储介质可以是任意包含或存储程序的有形介质,该程序可以被处理单元、装置或者器件使用,或者与其结合使用。
[0120]
计算机可读信号介质可以包括在基带中或者作为截波一部分传播的数据信号,其
中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或者其他任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质之外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令系统、装置或器件使用或者与其结合使用的程序。
[0121]
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、rf等等,以及上述任意合适的组合。
[0122]
可以以一种或者多种程序设计语言或者组合来编写用于执行本公开实施例的计算机程序代码。所述程序设计语言包括面向对象的程序设计语言,例如java、c++,还可以包括常规的过程式程序设计语言,例如c。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络包括局域网(lan)或广域网(wan)连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0123]
以上所述仅为本公开的优选实施例,并不用于限制本公开,对于本领域技术人员而言,本公开可以有各种改动和变化。凡在本公开的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。