集成电路及用于存储器存取控制的方法
技术领域
本发明涉及集成电路、用于存储器存取控制的方法以及数据处理系统。
背景技术
某些移动终端基于一些外围组件提供其功能,这些外围组件例如便携式音频播放器(音频子系统和CD或者固态存储器)、移动电话(GSM调制解调器和语音编解码器)、掌上电脑管理器(触屏+微处理器)或者固态照相机(照相机+显示屏+固态存储器)。例如外围组件的所述不同子系统的种类稳定增长。所述不同的子系统彼此独立地发展,并且迅速变得更加先进和更加复杂,使得其性能参数,例如比特率、容量、分辨率、质量以及降低的功耗等得到稳定提高。
在上述便携式装置中,常使用例如SDRAM、DDR-SDRAM和DRAM的动态随机存取存储器,这是由于这些存储器在硅占用面积方面成本很低。由于与速度快于动态存储器的静态存储器相比,动态存储器成本更低,所以其特别适用于共享存储器。为了保持所存储的数据,动态存储器必须以预定的时间间隔刷新。由于DRAM的内部结构对于理解本发明并不重要,所以省略其详细说明。
可以基于例如“活动待机(active stand by)”、“读取”、“写入”、“预充电功率下降(pre-charged power down)”和“自刷新”等不同的操作模式操作这些动态存储器,每种操作模式在功耗和对存储器的存取时间方面均不同。典型地,存储器控制器关联于动态随机存取存储器,所述存储器控制器用于向存储器发出命令并且控制存储器的操作。在不同的操作模式之间的实际切换构成存储器的存取策略。
基于上述操作模式的、对DRAM的存取控制影响存储器的存取策略。由于不同的操作模式影响存储器操作,所以例如等待时间、有效带宽以及功耗等存储器参数可能根据所选操作模式而显著变化。
作为一个实例,更详细地说明上述存取策略中的一种。在对DRAM的一次读存取之后,存储器控制器立刻使存储器切换至“自刷新”模式,而不是使存储器保持在“活动待机”模式。一般来讲,在活动待机模式中,功耗很高而等待时间较短。与此相反,在自刷新模式中,功耗很低而等待时间很长。因此,由于在能够对存储器执行存取之前,随后对存储器的任意存取首先必须从自刷新模式恢复,所以上述存取策略的平均功耗将较低,而这种策略的存取等待时间将会很长。
对存取时间或者功耗的实际需求将大大取决于应用程序,在例如片上系统上执行所述应用程序,并且必须对所述应用程序实施上述存取策略。由片上系统执行的所有功能需要一定数量的存储器。存储器的确切数量及其存取时间、等待时间和功耗将取决于多个参数,例如用于视频解码的屏幕大小、用于调制解调器的数据速率等。因此,不同的应用程序将对存储器有不同的需求。典型地,这种片上系统包括某种例如系统总线的互连,其连接可编程处理器、一些协处理器或者ASIC、例如SRAM的快速存储器以及用于共享存储器的存储器控制器,所述共享存储器可以在芯片上实现为DRAM或者由芯片实现为DDR-SDRAM。应用程序可以在系统的主处理器上执行,而协处理器或者ASIC可以执行主处理器的某些数据处理。由于快速存储器SRAM的等待时间较短,所以主处理器通常执行来自快速存储器SRAM的程序。主存储器DRAM一般用于通信目的,即,用于不同的协处理器、ASIC或者主处理器之间的通信。
这种电子设备的一个实例是具有一些存储装置的音频/视频播放器。这里,SDRAM存储器仅用于缓冲存储装置,从而其能够被周期性地关闭。所述处理经常是基于流的,其可根据对存储器的存取而被预测。
这种电子设备的另一个实例是具有SDRAM存储器的可携式摄像机,该SDRAM存储器用作具有适当地预先确定的输入流和输出流的显示缓冲器。
因此,在上述实例中,优选地将动态存储器SDRAM用于以基于流的方式在系统的不同处理块之间进行的通信。由于流及其通信性质是公知的,因此在通信或者应用程序启动之前也已经知道所需带宽和等待时间。
为了满足调制解调器处理要求,对当前的SDRAM及其存储器控制器进行优化,以利用最小的等待时间来执行对存储器的存取。但是,在等待时间要求与功耗之间存在相互转化,使得对等待时间要求进行优化的任意系统将经受功耗的增加。
典型地,在设计时预先确定存取策略,并且主要针对存储器的等待时间来优化该策略。这可以基于与SDRAM相关的存储器控制器内部的硬件来实现。实际的存取策略是固定的,并且在运行期间不会改变。在对存储器进行存取过程中经过一段具有极少变化的不活动时期之后,SDRAM存储器从消耗大量功率的活动待机模式转换至不消耗大量功率的自刷新或者预充电功率下降模式。但是,这种系统中的功耗仍将相当严重。
发明内容
因此,本发明的目的是提供一种具有降低的功耗的存储器存取。
通过根据权利要求1的集成电路、根据权利要求4的存储器存取控制方法以及根据权利要求5的数据处理系统实现上述目的。
因此,本发明提供一种集成电路,其包括:至少一个处理模块,用于处理需要特定通信参数的应用程序;至少一个动态随机存取存储器装置,用于存储数据,其中该存储器装置可以按照多个预先确定的操作模式操作。此外,还提供至少一个存储器存取选择装置,用于基于所述多个通信参数,选择所述多个预先确定的操作模式中的一个操作模式;以及至少一个存储器控制器,用于根据由所述多个存储器存取选择装置所选择的所述多个预先确定的操作模式,控制对所述至少一个动态随机存取存储器装置的存取。每个所述存储器控制器与所述多个动态随机存取装置中的一个动态随机存取装置关联。互连装置连接所述多个处理模块与所述存储器控制器,以便在所述互连装置上实现通信。
因此,对于一个或者多个所述通信参数,通过相应地改变所述动态存储器的操作模式能够优化所述动态存储器的操作。
根据本发明的优选方案,提供功率模型单元,用于存储所述至少一个动态随机存取存储器装置的功耗的功率模型。所述至少一个存储器存取选择装置还用于基于所述功率模型单元中存储的所述功率模型,选择所述多个预先确定的操作模式中的一个操作模式。因此,能够实现对存储器装置的功耗的更准确控制,从而减小存储器装置的功耗。
根据本发明的又一方案,响应执行应用程序所需的多个通信参数中一个通信参数的改变,选择所述多个预先确定的操作模式中的一个操作模式。因此,可以基于应用程序的特定需求实现对动态随机存取存储器的动态管理。有关的通信参数可以是应用程序数据速率、存储器的功耗以及存储器的等待时间。
本发明还涉及一种在集成电路中用于存储器存取控制的方法。该集成电路包括:至少一个处理模块,用于处理需要多个特定通信参数的多个应用程序;至少一个动态随机存取存储器装置,用于存储数据,其可以按照多个预先确定的操作模式操作;以及互连装置,用于连接所述多个处理模块与所述存储器控制器,以在所述互连装置上进行通信。基于所述多个通信参数中的至少一个通信参数,选择所述多个预先确定的操作模式中的一个操作模式,并且根据所选的所述多个预先确定的操作模式,控制对所述至少一个动态随机存取存储器装置中的所述动态随机存取装置的存取。
此外,本发明还涉及一种数据处理系统,包括:至少一个处理模块,用于处理需要特定通信参数的应用程序;至少一个动态随机存取存储器装置,用于存储数据,其中该存储器装置可以按照多个预先确定的操作模式操作。此外,还提供至少一个存储器存取选择装置,用于基于所述多个通信参数,选择所述多个预先确定的操作模式中的一个操作模式;以及至少一个存储器控制器,用于根据由所述存储器存取选择装置所选择的所述多个预先确定的操作模式,控制对所述至少一个动态随机存取存储器装置的存取。每个所述存储器控制器与所述多个动态随机存取装置之一关联。互连装置连接所述多个处理模块与所述存储器控制器,以便在所述互连装置上实现通信。
因此,对存储器存取的控制还可以在具有几个不同集成电路的系统中实现。
本发明基于通过切换对存储器的控制模式来动态选择存取策略的构思,从例如功耗或者等待时间的预期参数的角度来看,这种构思是最佳的。这种构思基于通过对片上系统上运行的应用程序的需求进行评估而对存储器的实际使用情况。
本发明的其它方案限定在从属权利要求中。
通过参考下文中所述的实施例及对其进行的解释,本发明的这些以及其它方案是清楚的。
附图说明
图1A和图1B示出根据第一和第二实施例的片上系统的框图,以及
图2示出根据图1的片上系统中存储器装置的功率模型实例图表。
具体实施方式
图1A示出根据本发明第一实施例的片上系统的框图。具体地,说明主处理器PROC、存储器控制器MC、动态随机存取存储器装置MM和连接主处理器PROC与存储器控制器MC的互连装置IM。除了示出的这些元件外,片上系统还可以包括附加协处理器、附加存储器以及其他元件。但是,由于这些元件不是理解本发明基本原理所需要的,所以在图1中未示出这些元件。
主处理器PROC是可编程的,存储器装置MM可实施为标准SDRAM存储器,存储器控制器MC可以是可编程存储器控制器,在主处理器PROC上运行的应用程序APL应能够返回关于其对存储器的预期使用情况的某种反馈。应用程序APL的一个实例为音频/视频重放。但是,也可以使用其它应用程序。
存储器控制器MC中包括存储器存取选择装置SM和功率模型单元PM,该功率模型单元PM用于存储存储器装置MM的功耗的功率模型。选择装置SM用于基于在主处理器PROC上运行的应用程序APL对存储器的预期使用情况,以及主存储器MM的类型、存储在功率模型单元PM中的功率模型和可用的存取策略,执行判定处理以为存储器MM选择最佳存取策略。通过例如标准SDRAM、DDR-SDRAM或者DRAM的某种动态存储器实现存储器装置MM。存储器控制器MC经由互连装置IM,即系统总线,接收来自在主处理器PROC上运行的应用程序APL的反馈,例如应用程序比特速率ABR,并且选择最佳操作模式或者最佳存取策略。
在主处理器PROC上运行的应用程序应对存储器装置MM具有一定程度的认知,并且必须能够将其通信要求,即其预期的使用情况或者所需要的存取参数,发送至存储器装置MM。这种使用情况或者参数可以包括带宽、等待时间等。可以经由互连装置IM即系统总线执行所述发送。
基于从在主处理器PROC上运行的应用程序接收的信息并且基于存储器类型或者其功率模型,设置于存储器控制器MC中的存储器存取选择装置SM执行最佳存取策略的选择。典型地,存储器类型在设计阶段已知,并且其可以被预先确定并存储在存储器存取选择装置SM或者功率模型单元PM中。在选择最佳存取策略的处理中,对从在主处理器PROC上运行的应用程序接收到的预期使用情况和参数进行评估,并且确定策略,该策略对于将被优化的存储器参数来讲是最佳的。如上所述,该参数可以是存储器的等待时间、功耗等。
选择存取策略的一个重要因素是系统中动态存储器装置MM的特性。优选地,功率模型单元PM存储存储器装置MM的模型,以便基于该模型执行选择。但是,可选地,可以在存储器存取选择装置SM中存储该模型,从而省略功率模型单元PM。
图1B示出根据第二实施例的片上系统的框图。根据第二实施例的片上系统基本包括与图1的第一实施例中涉及的元件所相同的元件,即主处理器PROC、互连装置IM、存储器控制器MC和动态存储器装置MM。虽然根据图1的第一实施例,以存储器控制器MC中的硬件来实现存储器存取选择,但是也可以利用软件,或者作为应用程序APL一部分的处理或作为在主处理器PROC上运行的子程序的处理来实现存储器存取选择SM。
存储器存取选择操作基本对应于根据第一实施例的操作。一项区别在于:无需为了执行存取策略的选择而在主处理器PROC上运行的应用程序与存储器控制器MC之间进行通信。此外,动态存储器的模型,特别是功率模型,可以存储在主处理器PROC上运行的应用程序中。从而,利用应用程序执行对所需存取策略的判定,并且仅将判定的结果,即最佳策略OP,经由互连装置IM传递至存储器控制器MC。存储器控制器MC相应地执行该存取策略。
图2示出根据图1的片上系统中存储器装置的功率模型实例图表。这里示出在对特定SDRAM采用三种不同存取策略S1-S3的情况下,消耗的功率(mW)与带宽(Mbps)之间的关系,所述三种存取策略导致对于不同数据速率的不同功耗。为了达到该存储器的最佳(最低)功耗,存储器存取选择装置SM应当在实际带宽小于等于150Mbps时选择策略S1,在实际带宽大于150Mbps并且小于等于600Mbps时选择策略S2,并且在实际带宽大于600Mbps时选择策略S3,即基于存取策略的交叉点进行选择。请注意,上述数字仅是为了解释本发明的基本原理而给出的实例。也可以使用其它数字或者更多或更少的存取策略。
该功率模型可以存储在根据图1A或者图1B的功率模型单元PM中,并且可以用描述在给定策略和给定数据速率下存储器功耗的数学函数的形式来实现该功率模型。可选地,该功率模型也可以实现为基于上述数学函数在系统设计期间预先计算的表格。该表格可由关于功耗或者对应于应用程序数据速率中某些值的其它参数的数值构成。这些值可以是离散值或者范围。可选地,该表格可以存储在根据第一实施例的存储器存取选择装置SM中,或者存储在主处理器PROC上运行的应用程序APL中。
根据可选方法,在功率模型中只存储不同函数的交叉点处的那些值,在这些交叉点处需要在不同的策略之间进行切换。换句话说,功率模型可以由函数、阵列、表格、范围、离散值或者仅仅是存取策略的交叉点来实现。
虽然根据图1A和图1B的第一和第二实施例,在运行期间实时计算存取策略,但是也可以通过在可存储于存储器存取选择装置SM中的几个预先确定或者准备好的策略中进行选择来执行所述选择处理。
根据可选实施例,片上系统可实现为片上网络。存储器控制器可实现为动态随机存取存储器与网络之间的网络接口。在这种情况下,通过网络接口执行存储器存取选择,因此,该网络接口包括存储器存取选择装置。
可以在包括DRAM、SDRAM或者DDR-DRAM的具有任何类型互连的任何系统中执行上述存储器存取选择。该系统可以包括单个集成电路或者具有例如CPU、存储器等不同处理模块的多个集成电路。
只要例如应用程序数据速率不变,存取策略就保持不变。当应用程序数据速率改变时,可以重新计算最佳策略。用于计算缓冲器大小的主要参数是应用程序数据速率、存储器系统的预期功耗以及等待时间。因此,通过将存储器的存取策略调整为实现例如功率或者存储器使用情况的预期目的,实现SDRAM存储器的动态管理。这对于向存储器系统的读取和写入存取均是有效的。
存储器装置的上述操作模式可以是不同的操作模式,例如“活动待机”、“读取”、“写入”、“预充电功率下降”和“自刷新”,每种操作模式在功耗和对存储器的存取时间方面均不同。
可选地,电源的充电状态也可以影响通过选择不同的操作模式而对功耗的控制,即,如果充电状态为低,则可选择消耗较少能量的操作模式,以保证电源的最小充电状态。这种电源可以是电池、蓄电池等。
应当注意,上述实施例示例本发明而非限制本发明,并且本领域技术人员在不脱离所附权利要求书的范围的情况下,将能够设计出许多可选实施例。在权利要求书中,位于括号里的任何参考标记不应解释为限制权利要求。词语“包括”并不排除出现权利要求中所列元件或者步骤之外的其它元件或者步骤的情况。元件之前的词语“一个”并不排除出现多个这种元件的情况。在列举几个装置的设备权利要求中,可以通过同一硬件实现几个这样的装置。在互不相同的从属权利要求中列举某些实施的事实并不表示这些实施的组合不能实现本发明的优点。
此外,不应将权利要求书中的任何参考标记解释为限制权利要求的范围。
权利要求书
(按照条约第19条的修改)
1、一种集成电路,包括:
至少一个处理模块(M,PROC),用于处理需要多个特定通信参数的多个应用程序(APL);
至少一个动态随机存取存储器装置(MM),用于存储所述至少一个处理模块的数据,所述动态随机存取存储器装置(MM)可以按照多个预先确定的存储器操作模式操作;
至少一个存储器存取选择装置(SM),用于基于所述多个通信参数中的至少一个通信参数、所述至少一个处理模块对所述动态随机存取存储器装置所需要的使用情况和/或存储器装置(MM)的类型,选择所述多个预先确定的存储器操作模式中的一个操作模式;
至少一个存储器控制器(MC),每个所述存储器控制器与所述至少一个动态随机存取存储器装置(MM)中的一个动态随机存取存储器装置关联,用于根据由所述存储器存取选择装置(SM)所选择的所述多个预先确定的操作模式,控制对所述至少一个动态随机存取存储器装置(MM)中的所述一个动态随机存取存储器装置的存取;以及
互连装置(IM),用于连接所述多个处理模块(M,PROC)与所述存储器控制器(MC),以在所述互连装置(IM)上进行通信。
2、如权利要求1所述的集成电路,还包括:
功率模型单元(PM),用于存储所述至少一个动态随机存取存储器装置(MM)的功耗的功率模型;
其中,所述至少一个存储器存取选择装置(SM)还用于基于所述功率模型单元(PM)中存储的所述功率模型,选择所述多个预先确定的操作模式中的一个操作模式。
3、如权利要求1或2所述的集成电路,其中:
所述至少一个存储器选择装置(SM)还用于响应所述至少一个通信参数的改变,选择所述多个预先确定的操作模式中的一个操作模式。
4、一种在集成电路中用于存储器存取控制的方法,该集成电路包括:至少一个处理模块(M,PROC),用于处理需要多个特定通信参数的多个应用程序;至少一个动态随机存取存储器装置(MM),用于存储数据,其可以按照多个预先确定的存储器操作模式操作;互连装置(IM),用于连接所述多个处理模块(M,PROC)与存储器控制器(MC),以在所述互连装置(IM)上进行通信,所述方法包括如下步骤:
基于所述多个通信参数中的至少一个通信参数、对所述动态随机存取存储器装置所需要的使用情况和/或存储器装置(MM)的类型,选择所述多个预先确定的存储器操作模式中的一个操作模式;以及
根据由所述存储器存取选择装置(SM)所选择的所述多个预先确定的操作模式,控制对所述至少一个动态随机存取存储器装置(MM)中的所述一个动态随机存取存储器装置的存取。
5、一种数据处理系统,包括:
至少一个处理模块(M,PROC),用于处理需要多个特定通信参数的多个应用程序(APL);
至少一个动态随机存取存储器装置(MM),用于存储数据,其可以按照多个预先确定的存储器操作模式操作;
至少一个存储器存取选择装置(SM),用于基于所述多个通信参数中的至少一个通信参数、对所述动态随机存取存储器装置所需要的使用情况和/或存储器装置(MM)的类型,选择所述多个预先确定的存储器操作模式中的一个操作模式;
至少一个存储器控制器(MC),每个所述存储器控制器与所述至少一个动态随机存取存储器装置(MM)中的一个动态随机存取存储器装置关联,用于根据由所述存储器存取选择装置(SM)所选择的所述多个预先确定的操作模式,控制对所述至少一个动态随机存取存储器装置(MM)中的所述一个动态随机存取存储器装置的存取;以及
互连装置(IM),用于连接所述多个处理模块(M,PROC)与所述存储器控制器(MC),以在所述互连装置(IM)上进行通信。