片外存储器的总线动态调频方法及其系统技术方案

技术编号:7605778 阅读:240 留言:0更新日期:2012-07-22 10:38
本发明专利技术涉及片上系统,公开了一种片外存储器的总线动态调频方法及其系统。本发明专利技术中,利用SDRAM处于初始化的状态完成对SDRAM总线的频率调整。由于SDC控制器执行SDRAM初始化命令的操作确保了SOC芯片中的各CPU对于SDRAM存储器的访问处于挂起状态,系统的SDRAM总线进入空闲,而调整SDRAM总线的频率对于SDRAM初始化过程中没有影响。所以可以通过主动发起SDRAM初始化操作,实现对SDRAM总线的频率调整,使得SDRAM总线的动态调频,无需多个处理器之间进行复杂的软件交互,大大简化了SDRAM总线的调频过程。

【技术实现步骤摘要】

本专利技术涉及片上系统,特别涉及片上系统中对片外存储器的工作频率调整技术。
技术介绍
多核片上系统(System On Chip,简称“S0C”)芯片包括两个及两个以上的物理处理器核(即SOC芯片中的中央处理器CPU),不同的处理器核可以共享外部存储器。在实际应用中,当片外存储器SDRAM作为多核SOC芯片的代码运行空间和数据存储空间时,在不同的应用状态下多核SOC芯片对SDRAM访问的带宽需求不同。譬如在进行并发多任务操作时, CPUl播放MP3格式的文件、CPU2运行物理层理通信协议栈、CPU3对语音信号进行编解码操作、CPU4运行高层通信协议栈,此时SOC芯片对片外SDRAM的访问带宽需求大,因而片外存储器SDRAM需要工作在较高频率。当多核SOC芯片运行单任务操作时,即CPU1、CPU3都处于空闲状态,而CPU2、CPU4处理通信协议栈时,SOC芯片对于SDRAM的访问带宽需求低,因而片外存储器SDRAM可以工作在较低频率。由此可见,多核SOC芯片需要根据系统的运行情况动态调整SDRAM的总线工作频率,以提高系统的工作效率,并降低系统在运行状态的功耗。在如图1所示的多核SOC系统中,SDC表示SDRAM控制器,CPU核通过连接在系统总线上的SDC控制器对SDRAM进行读写等操作,当某个CPU核对SDRAM的操作没有结束时, 其它CPU核对SDRAM的操作在SDC控制器外排队等候。SDRAM是一种动态随机访问存储器, 对其进行读写操作时SDRAM的工作时钟频率需要保持稳定。由于多核SOC芯片根据系统的运行情况调整SDRAM总线的工作频率,譬如CPUl需要调整SDRAM总线频率而CPU2、CPU3、CPU4仍处于工作状态,在这种情况下对于SDRAM总线频率的调整不能影响CPU2、CPU3、CPU4的正常工作。因此传统的方法需要不同CPU之间通过软件交互以避免在CPUl调整SDRAM总线频率时,CPU2、CPU3、CPU4操作SDRAM。具体地说,如图2所示,CPUl需要调整SDRAM总线频率时,向CPU2、CPU3、CPU4通知SDRAM工作频率将要发生变化,CPU2、CPU3、CPU4收到这个标志后对当前正在操作的存储器空间进行判断,如果没有访问SDRAM,则通知CPUl可以调整SDRAM的频率;如果正在访问 SDRAM,则通知CPUl当前不能调整SDRAM的工作频率。CPUl只有在收到CPU2、CPU3、CPU4 都允许调整SDRAM的频率标志后,才调整SDRAMl的频率。从CPUl开始调整SDRAM的工作频率的过程中,CPU2、CPU3、CPU4都不会访问SDRAM,当SDRAM的频率调整结束后,CPUl会向 CPU2、CPU3、CPU4发送SDRAM频率调整结束的标志。CPU2、CPU3、CPU4可以重新操作SDRAM。但是,对于现有的SOC芯片调整SDAM总线工作频率的方法而言,在调频过程中涉及多个处理器核之间进行多次交互,软件处理繁琐,不利于系统的开发和调试。
技术实现思路
本专利技术的目的在于提供一种片外存储器的总线动态调频方法及其系统,使得 SDRAM总线的动态调频,无需多个处理器之间进行复杂的软件交互,大大简化了 SDRAM总线的调频过程。为解决上述技术问题,本专利技术的实施方式提供了一种片外存储器的总线动态调频方法,包含以下步骤当SOC芯片中的中央处理器CPU需要对所述片外存储器的总线工作频率进行调整时,该CPU向所述片外存储器的控制器发送片外存储器初始化命令;所述片外存储器的控制器在接收到所述片外存储器初始化命令后,对所述片外存储器进行初始化;所述CPU在所述片外存储器进行初始化的过程中,对所述片外存储器的总线工作频率进行调整。本专利技术的实施方式还提供了一种片外存储器的总线动态调频系统,该系统包含片上系统SOC芯片和该SOC芯片外接的片外存储器,所述SOC芯片中包含至少两个中央处理器CPU、所述片外存储器的控制器,所述CPU中包含调频触发模块和频率调整模块;所述调频触发模块用于在需要对所述片外存储器的总线工作频率进行调整时,向所述片外存储器的控制器发送片外存储器初始化命令;所述频率调整模块用于在所述片外存储器进行初始化的过程中,对所述片外存储器的总线工作频率进行调整;所述片外存储器的控制器包含初始化执行模块,用于在接收到所述片外存储器初始化命令后,对所述片外存储器进行初始化。本专利技术实施方式相对于现有技术而言,利用了 SDC对SDRAM初始化命令的执行过程,完成对SDRAM的总线工作频率的调整。由于SDC控制器执行SDRAM初始化命令的操作确保了 SOC芯片中的各CPU对于SDRAM存储器的访问处于挂起状态,系统的SDRAM总线进入空闲,而调整SDRAM总线的频率对于SDRAM初始化过程中没有影响。所以可以通过主动发起SDRAM初始化操作,利用SDRAM处于初始化的状态完成对SDRAM总线的频率调整。相比于传统的方法具备了以下优点(1)对于多核SOC芯片而言,无需多个处理器之间进行复杂的软件交互,有效降低了软件开发的复杂程度。(2)调频过程简单,有效的减小了系统在调频时的软件开销,从而降低了系统在运行状态的功耗。(3)对于SDC控制器没有特殊的要求,可以方便的移植到其它多核SOC硬件平台上,因而适用性广。另外,在初始化过程中的NOPl时间段内,对SDRAM的总线工作频率进行调整。由于在CPU因需要对SDRAM的总线工作频率进行调整而发送SDRAM初始化命令时,SDRAM已经完成了上电过程,即SDRAM的时钟已经打开,因此可以利用打开时钟与对SDRAM的所有分区进行预充电之间的等待时间N0P1,进行SDRAM总线的工作频率的调整。另外,在CPU因需要对SDRAM的总线工作频率进行调整而发送SDRAM初始化命令之前,由CPU对NOPl的时长进行设置,设置的NOPl时长大于调整SDRAM的总线工作频率的需要时长,以保证在SDC的空操作NOPl时间段内,完成SDRAM总线频率的调整,而不影响后续SDRAM初始化流程。另外,在CPU因需要对SDRAM的总线工作频率进行调整而发送SDRAM初始化命令之前,由CPU重设SDRAM的自动刷新周期,重设的自动刷新周期满足以下条件TKEF—NEW < TEEF_ MX-Tin1O其中,Tkef new表示CPU重设的自动刷新周期,Teef max表示SDRAM的最大自动刷新周期,Tini表示SDRAM的初始化过程所需时长。通过合理调整SDRAM的自动刷新的周期,可有效避免SDRAM初始化操作对于自动刷新过程的影响,即在调频过程中SDRAM的所有行的自动刷新周期都小于SDRAM允许的最大值,不会出现由于调频而造成SDRAM据丢失的情况。另外,在SDRAM进行初始化的过程中,需要打开时钟、等待NOPl时长、对所有分区进行预充电、等待N0P2时长、对所有的行进行刷新、等待N0P3时长、对模式寄存器进行配置、等待N0P4时长后结束,与现有的SDRAM初始化过程一致,使得因需要对SDRAM的总线工作频率进行调整而进行的SDRAM初始化过程,能与对现有的SDRAM初始化过程保持一致,而无需进行额外进行的改动,进一步保证了本专利技术的可行性。附图说明图1是根据本文档来自技高网
...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:朱笠史公正
申请(专利权)人:联芯科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术