一种调整频率的方法、片上系统及终端的利记博彩app
【专利摘要】本申请实施例公开了一种调整频率的方法、片上系统和终端,本申请实施例在对DDR存储器的访问带宽需求发生变化时,通过CPU生成对DDR接口的第一调频请求,调整DDR接口的工作频率,由于调整DDR接口的工作频率时,是按照预先确定的每次调整所述展频时钟生成器的调频系数的调整量和相邻两次调整的间隔时间,渐变调整DDR接口的工作频率,保证了DDR接口中的DLL、展频时钟生成器内的锁相环不失锁,使得DDR存储器在DDR接口调频期间仍能够继续访问,保障了系统性能。
【专利说明】
一种调整频率的方法、片上系统及终端
技术领域
[0001 ]本申请涉及DDR频率处理技术领域,特别涉及一种调整频率的方法、片上系统和终端。
【背景技术】
[0002]目前,移动终端普遍采用双倍速率同步动态随机存储器(英文全称:DoubleDataRate Synchronous Dynamic Random Access Memory,英文简称:DDR SDRAM)作为其内存使用,一般将DDR SDRAM简称为DDR,DDR时钟频率是可变的,其是随着中央处理器的工作频率的变化而变化。
[0003]图1所示为一个包含DDR接口的一个片上系统(System-on-a-Chip,SoC)和DDR存储器结合的结构示意图,SoC系统包括中央处理器CPU、业务处理器、锁相环(英文全称:Phase-Locked Loop,英文简称:PLL)、DDR控制器和DDR接口,其中,DDR控制器、DDR接口(又称DDRPHY)和DDR存储器组成DDR系统,DDR接口和DDR存储器之间存在数据通道(如图1中DATA通道)、时钟通道(如图1中CLK通道)和命令通道(如图1中CMD通道)等,处理器和至少一个业务处理器均与DDR控制器连接。其中,CPU主要负责运行操作系统,业务软件的调度,处理的指令和数据需要从DDR存储器中获取,业务处理器可以至少一个,例如,业务处理器I可以为视频的编码器或解码器,对DDR存储器存在读写存储需求,内部一般为了缓存收发数据,包含一些缓存单元,又例如业务处理器2可以为网络或者音频等单元,对DDR存储器存在读写存储需求,内部一般为了缓存收发数据,同样的也包含一些缓存单元,而DDR控制器的作用是接受CHJ或者业务处理器的DDR读写请求,并负责调度读写请求的优先级,并将从DDR存储器获取的DDR请求的数据返回给处理器或者业务处理器,DDR接口的作用是将DDR控制器的读写命令按一定的物理时序发送给DDR存储单元,并负责将DDR存储器的数据按一定的时序返回给DDR控制器。
[0004]—般CTU和业务处理器内部都设置了一定大小缓存,用来保存DDR接口的读写数据,如果从DDR存储器读写数据的需求和读写延时越大,内部的缓存就会越大,如果DDR读写延迟变大,处理器和业务处理器的性能也会变差。因此为了降低系统功耗、提高系统性能,一般会根据系统的带宽要求来动态调节DDR接口的工作频率,称之为DDR动态频率调节(Dynamic Frequency Scaling,DFS),例如当SoC系统中的处理器对DDR存储器的访问带宽大时,DDR接口被设置为较高的时钟频率,当SoC系统中的处理器对DDR存储器的访问带宽小时,DDR接口被设置为较低的时钟频率。
[0005]如图2所示,现有技术中,在进行DDR接口工作频率调整时,一般包括如下阶段:
[0006]阶段1:DDR接口正常工作在频点A;
[0007]当收到SoC系统需要切换DDR接口频率的需求之后,开始DDR接口的调频过程。
[0008]阶段2: DDR调频阶段,在此阶段,DDR存储是不能够被访问的,这个过程一般包括下面几个步骤:
[0009]2.1、DDR控制器反压暂停业务处理器的数据读写,并排空DDR控制器内部缓存的数据;
[0010]2.2、DDR存储器进入自刷新
[0011]2.3、DDR存储器切换时钟频率从频点A到频点B
[0012]2.4、等待DDR接口和DDR存储器的工作时钟在频点B重新稳定
[0013]阶段3:DDR存储器退出自刷新和反压,DDR接口在频点B上恢复工作。
[0014]上述方案中,在DDR接口调整频率期间,即阶段2期间,需要暂停DDR存储器的访问操作,业务处理器和CPU的读写访问均会被暂停,此时,业务处理器内部需要增大缓存来保证业务的连续性,以一个DDR3 64Bit的DDR接口为例,当系统为了降低功耗需要从1600Mpbs降低到1200Mpbs时,如果采用上述方法,整个DDR存储器暂停访问的时间需要至少50uS(实际各个系统DDR参数有差别,50us是保守估计,很多系统会超过50us),这期间所有在线的业务处理器(如网络,视频输入和显示)需要考虑增加缓存来保存DDR接口上实时需要接受或者发送的数据,假设DDR的效率为60%,则DDR暂停访问期间,业务模块内部缓存总共需要缓存的数据量为= 1200*32*50*0.6/1000000?= 3Mbit,对业务处理器内部的缓存需要比较高,另外,由于DDR接口调整频率期间,CPU不能访问DDR存储器,影响了CPU的处理性能。
【发明内容】
[0015]本申请提供了一种调整频率的方法、片上系统及终端,避免了DDR接口切换工作频率阶段不能被访问DDR存储器的问题,保障了系统性能。
[0016]第一方面,本申请提供一种SoC,该SOC可以安装在终端中,该SoC包括中央处理器CPU、业务处理器、DDR控制器、DDR接口和展频时钟生成器,该DDR控制器分别和CPU、业务处理器、展频时钟生成器以及DDR接口连接,该业务处理器用于通过DDR控制器和DDR接口对与SoC耦合的DDR存储器进行访问,该展频时钟生成器用于接收输入时钟频率,向DDR接口输出时钟频率;所述展频时钟生成器用于接收输入时钟频率,向所述DDR接口输出时钟频率,展频时钟生成器接收的输入时钟频率即展频时钟生成器的输入频率,展频时钟生成器向DDR接口输出的时钟频率即展频时钟生成器的输出频率,展频时钟生成器的输入频率在发明实施例中可设置为固定的,其可以接收自SoC外部,也可以是SoC中设置晶体振荡器产生时钟频率,输出到展频时钟生成器作为展频时钟生成器的输入频率。
[0017]该SoC中还包括调频模块,该调频模块分别与展频时钟生成器和CPU连接,SoC中的DDR接口与所述DDR存储器连接;
[0018]在SoC系统工作的时候,一般会出现场景切换,这时SoC系统对DDR存储器的访问带宽需求会发生变化,具体的,即业务处理器对DDR存储器的访问带宽需求会发生变化,业务处理器可以是音频或者视频的编码器、解码器,或者网络单元等,例如业务处理器为视频解码器,从游戏场景切换到播放视频的场景时,例如视频解码器对DDR存储器中存储的视频的访问带宽需要就会增大,此时即需要调整SoC中DDR接口的工作频率以提高SoC对DDR存储器的访问带宽。
[0019]本申请实施例中,在业务处理器对DDR存储器的访问带宽发生变化时,CPU用于生成第一调频请求,并输出到所述调频模块,所述第一调频请求包括DDR接口当前工作的初始频率和第一目标频率;
[0020]该CPU用于生成第一调频请求,并输出到所述调频模块,该第一调频请求包括DDR接口当前工作的初始频率和第一目标频率;
[0021]所述调频模块用于:
[0022]根据第一调频请求,确定初始频率对应的展频时钟生成器的第一调频系数,以及第一目标频率对应的展频时钟生成器的第二调频系数;
[0023]获取预先确定的每次调整所述展频时钟生成器的调频系数的调整量和相邻两次调整的间隔时间,该调整量对应的展频时钟生成器的频率调整值在展频时钟生成器内的锁相环的不失锁频率调整范围内,该调整量对应的所述DDR接口的工作频率调整值在DDR接口中的延迟锁相环DLL的不失锁频率调整范围内,所述间隔时间在所述展频时钟生成器内的锁相环不失锁的时间范围以及所述DDR接口中的DLL的不失锁的时间范围内;
[0024]根据第一调频系数,依次渐变调整所述展频时钟生成器的调频系数,直至达到所述第二调频系数,其中每次调整的幅度为所述调整量,两次调整之间的相隔时间长度为所述间隔时间。
[0025]当调频模块将展频时钟生成器的调频系数渐变调整到第二调频系数后,展频时钟生成器的根据固定的输入频率,其输出频率为所述第二输出频率,由于所述DDR接口的工作频率和所述展频时钟生成器的输出频率之间具有固定的比例关系,可以知道,此时DDR接口的工作频率与第二输出频率的成该比例关系,即DDR接口的工作频率为所述第一目标频率,这样DDR接口的工作频率就由初始频率调整到了第一目标频率。
[0026]本申请实施例在对DDR存储器的访问带宽需求发生变化时,通过CPU生成对DDR接口的第一调频请求,调整DDR接口的工作频率,由于调整DDR接口的工作频率时,是按照预先确定的每次调整所述展频时钟生成器的调频系数的调整量和相邻两次调整的间隔时间,渐变调整DDR接口的工作频率,保证了DDR接口中的DLL、展频时钟生成器内的锁相环不失锁,使得DDR存储器在DDR接口调频期间仍能够继续访问,保障了系统性能。
[0027]在一种可能的设计中,在业务处理器对DDR存储器的访问带宽发生变化时,所述CPU具体用于获取所述初始频率,在预置的频率集合中确定所述第一目标频率,所述第一目标频率与所述访问带宽发生变化的方向相对应;例如,预置的频率集合为DDR接口的可工作频率的范围,当业务处理器对DDR存储器的访问带宽增大时,在预置的频率集合中确定一个第一目标频率,该第一目标频率需要访问带宽发生变化的方向对应,即第一工作频率的选择应该是为了增大业务处理器对DDR存储器的访问带宽的。
[0028]在确定第一目标频率后,该CPU根据所述初始频率和所述第一目标频率生成所述第一调频请求。
[0029]上面描述了CPU生成第一调频请求的一个具体过程,第一调频请求中的第一目标频率是在预置的频率集合中确定的,保证了频率调整在可控有效的范围内。
[0030]在另一种可能的设计中,所述调频模块具体用于:
[0031]获取所述展频时钟生成器的输入频率,以及预先配置的所述DDR接口的工作频率和所述展频时钟生成器的输出频率之间的比例关系;通常,展频时钟生成器的输入频率是固定的,DDR接口的工作频率与展频时钟生成器向DDR接口输出的频率成预设的固定的比例关系(例如分频关系或倍频关系),该比例可以预先配置好,例如,DDRl系统时,可以配置DDR接口的工作频率可以是和展频时钟生成器的输出频率相同的,DDR2系统时,可以配置DDR接口的工作频率可以是展频时钟生成器的输出频率的2倍,DDR3系统时,可以配置DDR接口的工作频率可以是展频时钟生成器的输出频率的4倍,当然,上述仅为举例,也可以是例如,DDRl系统时,可以配置DDR接口的工作频率可以是输入时钟频率的2倍,DDR2系统时,可以配置DDR接口的工作频率可以是和输入的时钟频率相同的,此处不作限定。因此展频时钟生成器的输入频率,以及预先配置的所述DDR接口的工作频率和所述展频时钟生成器的输出频率之间的比例关系,都可以直接获取到。
[0032]根据所述初始频率和所述比例关系,确定所述初始频率对应的所述展频时钟生成器的第一输出频率;
[0033]根据所述第一目标频率和所述比例关系,确定所述第一目标频率对应的所述展频时钟生成器的第二输出频率;
[0034]根据所述展频时钟生成器的输入频率,以及所述第一输出频率,确定所述初始频率对应的所述展频时钟生成器的第一调频系数;
[0035]根据所述展频时钟生成器的输入频率,以及所述第二输出频率,确定所述第一目标频率对应的所述展频时钟生成器的第二调频系数。
[0036]这样,调频模块在接收到第一调频请求后,即可确定初始频率对应的展频时钟生成器的第一调频系数,以及所第一目标频率对应的展频时钟生成器的第二调频系数,以便调频模块后续基于该第一调频系数和第二调频系数对展频时钟生成器的调频系数进行调整,达到使DDR接口工作频率渐变调整到第一目标频率的目标。
[0037]在另一个可能的设计中,在获取预先确定的每次调整展频时钟生成器的调频系数的调整量和每次调整的间隔时间之前,调频模块可以预先确定调整量和调整的间隔时间,此时,所述调频模块还用于:
[0038]获取所述展频时钟生成器内的锁相环的不失锁频率调整范围,该DDR接口中的延迟锁相环DLL的不失锁频率调整范围,该展频时钟生成器内的锁相环不失锁的时间范围以及所述DDR接口中的DLL的不失锁的时间范围;
[0039]确定所述调整量和所述间隔时间,该调整量对应的所述展频时钟生成器的频率调整值在所述展频时钟生成器内的锁相环的不失锁频率调整范围,所述调整量对应的所述DDR接口的工作频率调整值在所述DDR接口中的延迟锁相环DLL的不失锁频率调整范围内,所述间隔时间在所述展频时钟生成器内的锁相环不失锁的时间范围以及所述DDR接口中的DLL的不失锁的时间范围内。
[0040]在另一个可能的设计中,在DDR接口的工作频率由初始频率调整到第一目标频率之后,DDR接口的工作频率可能还是无法满足业务处理器对DDR存储器的访问带宽需求,SP所述第一目标频率无法满足所述业务处理器对DDR存储器的访问带宽发生的变化,因此本申请实施例中,还可以进一步的进行调整,将DDR接口的工作频率由第一目标频率调整到第二工作频率,具体调整方式可以参照上述DDR接口的工作频率由初始频率调整到第一工作频率的过程,此时,CPU还用于生成第二调频请求,所述调频第二请求包括所述第一目标频率和第二目标频率;
[0041 ]所述调频模块还用于:
[0042]根据所述第二调频请求,确定所述第一目标频率对应的所述展频时钟生成器的第三调频系数;
[0043]根据所述第二调频系数,依次渐变调整所述展频时钟生成器的调频系数,直至达到所述第三调频系数,其中每次调整的幅度为所述调整量,两次调整之间的相隔时间长度为所述间隔时间。
[0044]当然,在仍然DDR接口的工作频率还不满足业务处理器对DDR存储器的访问带宽需求的情况下,可以继续调整,直至满足为止,通过上述不断渐变的调整,可以将DDR接口的工作频率调整到合适的频率,提高了系统性能,同时在调整的过程中不影响DDR存储器的正常工作。
[0045]本申请实施例中,调频模块可以是具有硬件处理能力的处理器,例如另一个CPU或者其他类型的处理器,如专用集成电路(Applicat1n Specific Integrated Circuits ,ASIC),此处不作限定。
[0046]第二方面,本申请实施例中提供一种调整频率的方法,该方法应用于SoC,所述SoC中包括中央处理器CPU、业务处理器、DDR控制器、调频模块、DDR接口和展频时钟生成器,所述方法包括:
[0047]所述调频模块接收所述CPU发送的第一调频请求,所述第一调频请求为所述CPU在所述业务处理器对与所述SoC耦合的DDR存储器的访问带宽发生变化时所生成,且所述第一调频请求包括所述DDR接口当前工作的初始频率和第一目标频率;
[0048]所述调频模块根据所述第一调频请求,确定所述初始频率对应的所述展频时钟生成器的第一调频系数,以及所述第一目标频率对应的所述展频时钟生成器的第二调频系数;
[0049]所述调频模块获取预先确定的每次调整所述展频时钟生成器的调频系数的调整量和相邻两次调整的间隔时间,所述调整量对应的所述展频时钟生成器的频率调整值在所述展频时钟生成器内的锁相环的不失锁频率调整范围内,所述调整量对应的所述DDR接口的工作频率调整值在所述DDR接口中的延迟锁相环DLL的不失锁频率调整范围内,所述间隔时间在所述展频时钟生成器内的锁相环不失锁的时间范围以及所述DDR接口中的DLL的不失锁的时间范围内;
[0050]所述调频模块根据所述第一调频系数,依次渐变调整所述展频时钟生成器的调频系数,直至达到所述第二调频系数,其中每次调整的幅度为所述调整量,两次调整之间的相隔时间长度为所述间隔时间。
[0051]在另一种可能的设计中,在所述调频模块接收所述CPU发送的第一调频请求之前,所述方法还包括:
[0052]所述CPU获取所述初始频率,在预置的频率集合中确定所述第一目标频率,所述第一目标频率与所述访问带宽发生变化的方向相对应;
[0053]所述CPU根据所述初始频率和所述第一目标频率生成所述第一调频请求。
[0054]在另一种可能的设计中,所述根据所述第一调频请求,确定所述初始频率对应的所述展频时钟生成器的第一调频系数,以及所述第一目标频率对应的所述展频时钟生成器的第二调频系数,包括:
[0055]获取所述展频时钟生成器的输入频率,以及预先配置的所述DDR接口的工作频率和所述展频时钟生成器的输出频率之间的比例关系;
[0056]根据所述初始频率和所述比例关系,确定所述初始频率对应的所述展频时钟生成器的第一输出频率;
[0057]根据所述目标频率和所述比例关系,确定所述第一目标频率对应的所述展频时钟生成器的第二输出频率;
[0058]根据所述展频时钟生成器的输入频率,以及所述第一输出频率,确定所述初始频率对应的所述展频时钟生成器的第一调频系数;
[0059]根据所述展频时钟生成器的输入频率,以及所述第二输出频率,确定所述第一目标频率对应的所述展频时钟生成器的第二调频系数。
[0060]在另一种可能的设计中,在所述调频模块获取预先确定的每次调整所述展频时钟生成器的调频系数的调整量和每次调整的间隔时间之前,所述方法还包括:
[0061]所述调频模块获取所述展频时钟生成器内的锁相环的不失锁频率调整范围,所述DDR接口中的延迟锁相环DLL的不失锁频率调整范围,所述展频时钟生成器内的锁相环不失锁的时间范围以及所述DDR接口中的DLL的不失锁的时间范围;
[0062]确定所述调整量和所述间隔时间,所述调整量对应的所述展频时钟生成器的频率调整值在所述展频时钟生成器内的锁相环的不失锁频率调整范围,所述调整量对应的所述DDR接口的工作频率调整值在所述DDR接口中的延迟锁相环DLL的不失锁频率调整范围内,所述间隔时间在所述展频时钟生成器内的锁相环不失锁的时间范围以及所述DDR接口中的DLL的不失锁的时间范围内。
[0063]在另一种可能的设计中,若所述第一目标频率无法满足所述业务处理器对DDR存储器的访问带宽发生的变化,所述方法还包括:
[0064]所述CPU生成第二调频请求,所述调频第二请求包括所述第一目标频率和第二目标频率;
[0065]所述调频模块根据所述第二调频请求,确定所述第一目标频率对应的所述展频时钟生成器的第三调频系数;
[0066]所述调频模块根据所述第二调频系数,依次渐变调整所述展频时钟生成器的调频系数,直至达到所述第三调频系数,其中每次调整的幅度为所述调整量,两次调整之间的相隔时间长度为所述间隔时间。
[0067]第三方面,本申请实施例中提供一种终端,包括SoC和DDR存储器,所述SoC如第一方面中任一所述的SoC,所述SoC中的DDR接口与所述DDR存储器连接。
[0068]第四方面,本申请实施例提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时包括上述方法实施例中记载的至少调整频率的方法的部分或全部步骤。
【附图说明】
[0069]图1是现有技术中SoC和DDR存储器的结合示意图;
[0070]图2是现有技术中调频DDR接口的工作频率的示意图;
[0071]图3是本申请实施例中SoC和DDR存储器的一个结合实施例示意图;
[0072]图4是本申请实施例中调整频率的方法的一个实施例示意图;
[0073]图5是本申请实施例中终端的一个实施例示意图。
【具体实施方式】
[0074]本申请实施例提供了一种调整频率的方法、片上系统及终端,避免了 DDR切换频率阶段DDR存储器不能被访问的问题,保障了系统性能。
[0075]为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
[0076]本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0077]如图3所示,本申请实施例可以应用于任何包括SoC系统和DDR存储器的装置中,该装置可以是终端,如手机,笔记本电脑,平板电脑,个人电脑等设备。所述SoC可以包括处理器CPU、业务处理器、DDR控制器、DDR接口和展频时钟生成器,所述DDR控制器分别与CPU、业务处理器、展频时钟生成器以及DDR接口连接,所述SoC中还包括调频模块,所述调频模块分别与所述展频时钟生成器和所述CPU连接,其中,DDR控制器、DDR接口(又称DDR PHY)和DDR存储器组成DDR系统,此外,DDR接口和DDR存储器之间存在数据通道(如图3中DATA通道)、时钟通道(如图3中CLK通道)和命令通道(如图3中CMD通道)等,CPU和业务处理器均与DDR控制器连接。
[0078]该CPU主要负责运行操作系统,业务软件的调度,处理的指令和数据需要从DDR存储器中获取,业务处理器是一个或多个,例如,多个时(如图3中的业务处理器I和业务处理器2),业务处理器I可以为视频的编码器或解码器,对DDR存储器存在读写存储需求,内部一般为了缓存收发数据,包含一些缓存单元,又例如业务处理器2可以为网络或者音频等单元,对DDR存储器存在读写存储需求,内部一般为了缓存收发数据,同样的也包含一些缓存单元,而DDR控制器的作用是接受处理器或者业务单元的DDR读写请求,并负责调度读写请求的优先级,并将从DDR存储器获取的DDR请求的数据返回给处理器或者业务单元,DDR接口的作用是将DDR控制器的读写命令按一定的物理时序发送给DDR存储单元,并负责将DDR存储器的数据按一定的时序返回给DDR控制器。
[0079]展频时钟生成器有输入频率和输出频率,展频时钟生成器中输入时钟频率不会变化,展频时钟生成器有调频系数(如倍频系数和分频系数),调整展频时钟生成器的调频系数可以调整展频时钟生成器的输出频率,所述展频时钟生成器用于接收输入时钟频率,向所述DDR接口输出时钟频率,展频时钟生成器接收的输入时钟频率即展频时钟生成器的输入频率,展频时钟生成器向DDR接口输出的时钟频率即展频时钟生成器的输出频率,展频时钟生成器的输入频率在发明实施例中可设置为固定的,其可以接收自SoC外部,也可以是SoC中设置晶体振荡器产生时钟频率,输出到展频时钟生成器作为展频时钟生成器的输入频率。
[0080]DDR接口的工作频率与展频时钟生成器向DDR接口提供的输出频率成预设的固定的比例关系(例如分频关系或倍频关系),因此,调整展频时钟生成器的输出频率即间接调整了DDR接口的工作频率,该比例关系可以预先配置好,例如,DDRl系统时,可以配置DDR接口的工作频率可以是和展频时钟生成器的输出频率相同的,DDR2系统时,可以配置DDR接口的工作频率可以是展频时钟生成器的输出频率的2倍,DDR3系统时,可以配置DDR接口的工作频率可以是展频时钟生成器的输出频率的4倍,当然,上述仅为举例,也可以是例如,DDRl系统时,可以配置DDR接口的工作频率可以是输入时钟频率的2倍,DDR2系统时,可以配置DDR接口的工作频率可以是和输入的时钟频率相同的,此处不作限定。
[0081]在SoC系统工作的时候,一般会出现场景切换,这时SoC系统对DDR存储器的访问带宽需求会发生变化,具体的,即业务处理器对DDR存储器的访问带宽需求会发生变化,业务处理器可以是音频或者视频的编码器、解码器,或者网络单元等,例如业务处理器为视频解码器,从游戏场景切换到播放视频的场景时,例如视频解码器对DDR存储器中存储的视频的访问带宽需要就会增大,此时即需要调整SoC中DDR接口的工作频率以提高SoC对DDR存储器的访问带宽。
[0082]本申请实施例中,在业务处理器对DDR存储器的访问带宽发生变化时,CPU用于生成第一调频请求,并输出到所述调频模块,所述第一调频请求包括DDR接口当前工作的初始频率和第一目标频率;
[0083]该CPU用于生成第一调频请求,并输出到所述调频模块,该第一调频请求包括DDR接口当前工作的初始频率和第一目标频率;
[0084]所述调频模块用于:
[0085]根据第一调频请求,确定初始频率对应的展频时钟生成器的第一调频系数,以及第一目标频率对应的展频时钟生成器的第二调频系数;
[0086]获取预先确定的每次调整所述展频时钟生成器的调频系数的调整量和相邻两次调整的间隔时间。
[0087]由于DDR接口中包括延迟锁相环(英文全称:Delay-Locked Loop,英文简称:DLL),DDR存储器中每个存储颗粒中均包括DLL,DDR存储器可以是DDRx SDRAM(x指DDR的版本号,例如DDRl SDRAM、DDR2 SDRAM、DDR3 SDRAM等),通常,DDRx SDRAM的存储颗粒中的DLL、DDR接口中的DLL都会有固定的不失锁频率调整范围(DDR存储器中的DLL和DDR接口中的DLL的不失锁频率调整范围一般相同)和不失锁的调整间隔时间,即在该失锁频率调整范围内、该间隔时间内的时钟频率变化不会导致DDRx SDRAM的存储颗粒中的DLL、DDR接口中的DLL失锁,同样的,在展频时钟生成器内也有锁相环,该锁相环也有固定的不失锁频率调整范围和不失锁的调整时间间隔。
[0088]因此,所述调整量对应的展频时钟生成器的频率调整值在展频时钟生成器内的锁相环的不失锁频率调整范围内,该调整量对应的所述DDR接口的工作频率调整值在DDR接口中的延迟锁相环DLL的不失锁频率调整范围内,所述间隔时间在所述展频时钟生成器内的锁相环不失锁的时间范围以及所述DDR接口中的DLL的不失锁的时间范围内;
[0089]根据第一调频系数,依次渐变调整所述展频时钟生成器的调频系数,直至达到所述第二调频系数,其中每次调整的幅度为所述调整量,两次调整之间的相隔时间长度为所述间隔时间。
[0090]当调频模块将展频时钟生成器的调频系数渐变调整到第二调频系数后,展频时钟生成器的根据固定的输入频率,其输出频率为所述第二输出频率,由于所述DDR接口的工作频率和所述展频时钟生成器的输出频率之间具有固定的比例关系,可以知道,此时DDR接口的工作频率与第二输出频率的成该比例关系,即DDR接口的工作频率为所述第一目标频率,这样DDR接口的工作频率就由初始频率调整到了第一目标频率。
[0091]本申请实施例在对所述DDR系统的业务访问带宽需求发生变化时,通过CPU生成对DDR接口的第一调频请求,调整DDR接口的工作频率,由于调整DDR接口的工作频率时,是按照预先确定的每次调整所述展频时钟生成器的调频系数的调整量和相邻两次调整的间隔时间,渐变调整DDR接口的工作频率,保证了DDR接口中的DLL、展频时钟生成器内的锁相环不失锁,使得DDR存储器在DDR接口调频期间仍能够继续访问,保障了系统性能。
[0092]进一步的,在业务处理器对DDR存储器的访问带宽发生变化时,所述CPU具体用于获取所述初始频率,在预置的频率集合中确定所述第一目标频率,所述第一目标频率与所述访问带宽发生变化的方向相对应;例如,预置的频率集合为DDR接口的可工作频率的范围,当业务处理器对DDR存储器的访问带宽增大时,在预置的频率集合中确定一个第一目标频率,该第一目标频率需要访问带宽发生变化的方向对应,即第一工作频率的选择应该是为了增大业务处理器对DDR存储器的访问带宽的。
[0093]在确定第一目标频率后,该CPU根据所述初始频率和所述第一目标频率生成所述第一调频请求。
[0094]进一步的,所述调频模块具体用于:
[0095]获取所述展频时钟生成器的输入频率,以及预先配置的所述DDR接口的工作频率和所述展频时钟生成器的输出频率之间的比例关系;由于DDR接口的工作频率与展频时钟生成器向DDR接口输出的频率成预置的固定的比例关系(例如分频关系或倍频关系),因此,展频时钟生成器的输入频率,以及预先配置的所述DDR接口的工作频率和所述展频时钟生成器的输出频率之间的比例关系,都可以直接获取到。
[0096]根据所述初始频率和所述比例关系,确定所述初始频率对应的所述展频时钟生成器的第一输出频率;
[0097]根据所述第一目标频率和所述比例关系,确定所述第一目标频率对应的所述展频时钟生成器的第二输出频率;
[0098]根据所述展频时钟生成器的输入频率,以及所述第一输出频率,确定所述初始频率对应的所述展频时钟生成器的第一调频系数;
[0099]根据所述展频时钟生成器的输入频率,以及所述第二输出频率,确定所述第一目标频率对应的所述展频时钟生成器的第二调频系数。
[0100]这样,调频模块在接收到第一调频请求后,即可确定初始频率对应的展频时钟生成器的第一调频系数,以及所第一目标频率对应的展频时钟生成器的第二调频系数,以便调频模块后续基于该第一调频系数和第二调频系数对展频时钟生成器的调频系数进行调整,达到使DDR接口工作频率渐变调整到第一目标频率的目标。
[0101]进一步的,获取预先确定的每次调整展频时钟生成器的调频系数的调整量和每次调整的间隔时间之前,调频模块可以预先确定调整量和调整的间隔时间,此时,所述调频模块还用于:
[0102]获取所述展频时钟生成器内的锁相环的不失锁频率调整范围,该DDR接口中的延迟锁相环DLL的不失锁频率调整范围,该展频时钟生成器内的锁相环不失锁的时间范围以及所述DDR接口中的DLL的不失锁的时间范围;
[0103]确定所述调整量和所述间隔时间,该调整量对应的所述展频时钟生成器的频率调整值在所述展频时钟生成器内的锁相环的不失锁频率调整范围,所述调整量对应的所述DDR接口的工作频率调整值在所述DDR接口中的延迟锁相环DLL的不失锁频率调整范围内,所述间隔时间在所述展频时钟生成器内的锁相环不失锁的时间范围以及所述DDR接口中的DLL的不失锁的时间范围内。
[0104]进一步的,在DDR接口的工作频率由初始频率调整到第一目标频率之后,DDR接口的工作频率可能还是无法满足业务处理器对DDR存储器的访问带宽需求,即所述第一目标频率无法满足所述业务处理器对DDR存储器的访问带宽发生的变化,因此本申请实施例中,还可以进一步的进行调整,将DDR接口的工作频率由第一目标频率调整到第二工作频率,具体调整方式可以参照上述DDR接口的工作频率由初始频率调整到第一工作频率的过程,此时,CPU还用于生成第二调频请求,所述调频第二请求包括所述第一目标频率和第二目标频率;
[0105]所述调频模块还用于:
[0106]根据所述第二调频请求,确定所述第一目标频率对应的所述展频时钟生成器的第三调频系数;
[0107]根据所述第二调频系数,依次渐变调整所述展频时钟生成器的调频系数,直至达到所述第三调频系数,其中每次调整的幅度为所述调整量,两次调整之间的相隔时间长度为所述间隔时间。
[0108]当然,在仍然DDR接口的工作频率还不满足业务处理器对DDR存储器的访问带宽需求的情况下,可以继续调整,直至满足为止,通过上述不断渐变的调整,可以将DDR接口的工作频率调整到合适的频率,提高了系统性能,同时在调整的过程中不影响DDR存储器的正常工作。
[0109]本申请实施例中,调频模块可以是具有硬件处理能力的处理器,例如另一个CPU或者其他类型的处理器,如专用集成电路(Applicat1n Specific Integrated Circuits ,ASIC),此处不作限定。
[0110]下面介绍本申请实施例中DDR系统调频的方法的实施例,该方法应用于SoC,所述SoC中包括中央处理器CPU、业务处理器、DDR控制器、DDR接口和展频时钟生成器,请参阅图4,为本申请实施例中调整频率的方法一个实施例,所述方法包括:
[0111]401、所述调频模块接收所述CPU发送的第一调频请求;
[0112]其中,所述第一调频请求为所述CPU在所述业务处理器对与所述SoC耦合的DDR存储器的访问带宽发生变化时所生成,且所述第一调频请求包括所述DDR接口当前工作的初始频率和第一目标频率;
[0113]在SoC工作的时候,一般会出现场景切换,例如从播放视频切换到游戏场景,这时SoC对DDR存储器的访问带宽需求会发生变化,具体的,S卩SoC中业务处理器(例如上述业务处理器I或业务处理器2等)对DDR系统的访问带宽需求发生变化(增大或减小),此时需要调整DDR接口的工作频率以适应场景变化,从而达到降低系统功耗、提高系统性能的目的。
[0114]在所述调频模块接收所述CPU发送的第一调频请求之前,所述方法还可以包括:所述CPU获取所述初始频率,在预置的频率集合中确定所述第一目标频率,所述第一目标频率与所述访问带宽发生变化的方向相对应;所述CPU根据所述初始频率和所述第一目标频率生成所述第一调频请求。
[0115]402、调频模块根据第一调频请求,确定初始频率对应的展频时钟生成器的第一调频系数,以及第一目标频率对应的展频时钟生成器的第二调频系数;
[0116]其中,所述根据所述第一调频请求,确定所述初始频率对应的所述展频时钟生成器的第一调频系数,以及所述第一目标频率对应的所述展频时钟生成器的第二调频系数,可以包括:
[0117]获取所述展频时钟生成器的输入频率,以及预先配置的所述DDR接口的工作频率和所述展频时钟生成器的输出频率之间的比例关系;
[0118]根据所述初始频率和所述比例关系,确定所述初始频率对应的所述展频时钟生成器的第一输出频率;
[0119]根据所述目标频率和所述比例关系,确定所述第一目标频率对应的所述展频时钟生成器的第二输出频率;
[0120]根据所述展频时钟生成器的输入频率,以及所述第一输出频率,确定所述初始频率对应的所述展频时钟生成器的第一调频系数;
[0121]根据所述展频时钟生成器的输入频率,以及所述第二输出频率,确定所述第一目标频率对应的所述展频时钟生成器的第二调频系数。
[0122]403、调频模块获取预先确定的每次调整展频时钟生成器的调频系数的调整量和相邻两次调整的间隔时间;
[0123]所述调整量对应的所述展频时钟生成器的频率调整值在所述展频时钟生成器内的锁相环的不失锁频率调整范围内,所述调整量对应的所述DDR接口的工作频率调整值在所述DDR接口中的延迟锁相环DLL的不失锁频率调整范围内,所述间隔时间在所述展频时钟生成器内的锁相环不失锁的时间范围以及所述DDR接口中的DLL的不失锁的时间范围内。
[0124]404、调频模块根据所述第一调频系数,依次渐变调整所述展频时钟生成器的调频系数,直至达到所述第二调频系数;
[0125]其中每次调整的幅度为所述调整量,两次调整之间的相隔时间长度为所述间隔时间。
[0126]当调频模块将展频时钟生成器的调频系数渐变调整到第二调频系数后,展频时钟生成器的根据固定的输入频率,其输出频率为所述第二输出频率,由于所述DDR接口的工作频率和所述展频时钟生成器的输出频率之间具有固定的比例关系,可以知道,此时DDR接口的工作频率与第二输出频率的成该比例关系,即DDR接口的工作频率为所述第一目标频率,这样DDR接口的工作频率就由初始频率调整到了第一目标频率。
[0127]可选的,在所述调频模块获取预先确定的每次调整所述展频时钟生成器的调频系数的调整量和每次调整的间隔时间之前,所述方法还包括:
[0128]所述调频模块获取所述展频时钟生成器内的锁相环的不失锁频率调整范围,所述DDR接口中的延迟锁相环DLL的不失锁频率调整范围,所述展频时钟生成器内的锁相环不失锁的时间范围以及所述DDR接口中的DLL的不失锁的时间范围;
[0129]确定所述调整量和所述间隔时间,所述调整量对应的所述展频时钟生成器的频率调整值在所述展频时钟生成器内的锁相环的不失锁频率调整范围,所述调整量对应的所述DDR接口的工作频率调整值在所述DDR接口中的延迟锁相环DLL的不失锁频率调整范围内,所述间隔时间在所述展频时钟生成器内的锁相环不失锁的时间范围以及所述DDR接口中的DLL的不失锁的时间范围内。
[0130]可选的,若所述第一目标频率无法满足所述业务处理器对DDR存储器的访问带宽发生的变化,所述方法还包括:
[0131]所述CPU生成第二调频请求,所述调频第二请求包括所述第一目标频率和第二目标频率;
[0132]所述调频模块根据所述第二调频请求,确定所述第一目标频率对应的所述展频时钟生成器的第三调频系数;
[0133]所述调频模块根据所述第二调频系数,依次渐变调整所述展频时钟生成器的调频系数,直至达到所述第三调频系数,其中每次调整的幅度为所述调整量,两次调整之间的相隔时间长度为所述间隔时间。
[0134]本申请实施例中还提供一种终端,该终端包括SoC和DDR存储器,所述SoC如上述描述的任一种可能的SoC,该SoC中的DDR接口与DDR存储器连接。
[0135]下面从硬件处理的角度对本发明实施例中的终端进行描述。
[0136]图5示出的是与本发明实施例提供的终端相关的部分结构的框图。参考图5,终端包括:射频(Rad1 Frequency,RF)电路510、存储器520、输入单元530、显示单元540、传感器550、音频电路560、无线保真(wireless fidelity,WiFi)模块570、SoC 580、以及电源590等部件。
[0137]所述SoC为本申请实施例中SoC(具体参照上述实施例,此处不再赘述)ο存储器520包括DDR存储器,当然还可以包括高速随机存取存储器,或者包括非易失性存储器等其他存储单元,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件等。
[0138]本领域技术人员可以理解,图5中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0139]下面结合图5对终端的各个构成部件进行具体的介绍:
[0140]RF电路510可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给SoC 580处理;另外,将设计上行的数据发送给基站。通常,RF电路510包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low NoiseAmpl if ier,LNA)、双工器等。此外,RF电路510还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(GlobalSystem of Mobile communicat1n,GSM)、通用分组无线服务(General Packet Rad1Service,GPRS)、码分多址(Code Divis1n Multiple Access,CDMA)、宽带码分多址(Wideband Code Divis1n Multiple Access ,WCDMA)、长期演进(Long Term Evolut1n,LTE)、电子邮件、短消息服务(Short Messaging Service,SMS)等。
[0141]存储器520可用于存储软件程序以及模块,SoC 580通过运行存储在存储器520的软件程序以及模块,从而执行终端的各种功能应用以及数据处理。存储器520可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端的使用所创建的数据(比如音频数据、电话本等)等。
[0142]输入单元530可用于接收输入的数字或字符信息,以及产生与终端的用户设置以及功能控制有关的键信号输入。具体地,输入单元530可包括触控面板531以及其他输入设备532。触控面板531,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板531上或在触控面板531附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板531可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给SoC 580,并能接收SoC 580发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板531。除了触控面板531,输入单元530还可以包括其他输入设备532。具体地,其他输入设备532可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
[0143]显示单元540可用于显示由用户输入的信息或提供给用户的信息以及终端的各种菜单。显示单元540可包括显示面板541,可选的,可以采用液晶显示器(Liquid CrystalDisplay,IXD)、有机发光二极管(Organic Light-Emitting D1de ,OLED)等形式来配置显示面板541。进一步的,触控面板531可覆盖显示面板541,当触控面板531检测到在其上或附近的触摸操作后,传送给SoC 580以确定触摸事件的类型,随后SoC 580根据触摸事件的类型在显示面板541上提供相应的视觉输出。虽然在图5中,触控面板531与显示面板541是作为两个独立的部件来实现终端的输入和输入功能,但是在某些实施例中,可以将触控面板531与显示面板541集成而实现终端的输入和输出功能。
[0144]终端还可包括至少一种传感器550,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板541的亮度,接近传感器可在终端移动到耳边时,关闭显示面板541和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别终端姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
[0145]音频电路560、扬声器561,传声器562可提供用户与终端之间的音频接口。音频电路560可将接收到的音频数据转换后的电信号,传输到扬声器561,由扬声器561转换为声音信号输出;另一方面,传声器562将收集的声音信号转换为电信号,由音频电路560接收后转换为音频数据,再将音频数据输出SoC 580处理后,经RF电路510以发送给比如另一终端,或者将音频数据输出至存储器520以便进一步处理。
[0146]WiFi属于短距离无线传输技术,终端通过WiFi模块570可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图5示出了WiFi模块570,但是可以理解的是,其并不属于终端的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
[0147]SoC 580是终端的控制中心,利用各种接口和线路连接整个终端的各个部分,通过运行或执行存储在存储器520内的软件程序和/或模块,以及调用存储在存储器520内的数据,执行终端的各种功能和处理数据,从而对终端进行整体监控。可选的,SoC 580可包括多个处理单元,例如CPU或者各种业务处理器;优选的,SoC 580可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到SoC 580中。
[0148]终端还包括给各个部件供电的电源590(比如电池),优选的,电源可以通过电源管理系统与SoC 580逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
[0149 ]尽管未示出,终端还可以包括摄像头、蓝牙模块等,在此不再赘述。
[0150]所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0151]需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
[0152]在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0153]所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0154]另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0155]所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0156]以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
【主权项】
1.一种片上系统SoC,其特征在于,所述SoC包括中央处理器CPU、业务处理器、DDR控制器、DDR接口和展频时钟生成器,所述DDR控制器分别和所述CPU、所述业务处理器、所述展频时钟生成器以及所述DDR接口连接,所述业务处理器用于通过所述DDR控制器和所述DDR接口对与所述SoC耦合的DDR存储器进行访问,所述展频时钟生成器用于接收输入时钟频率,向所述DDR接口输出时钟频率; 所述SoC中还包括调频模块,所述调频模块分别与所述展频时钟生成器和所述CTU连接; 在所述业务处理器对所述DDR存储器的访问带宽发生变化时,所述CPU用于生成第一调频请求,并输出到所述调频模块,所述第一调频请求包括所述DDR接口当前工作的初始频率和第一目标频率; 所述调频模块用于: 根据所述第一调频请求,确定所述初始频率对应的所述展频时钟生成器的第一调频系数,以及所述第一目标频率对应的所述展频时钟生成器的第二调频系数; 获取预先确定的每次调整所述展频时钟生成器的调频系数的调整量和相邻两次调整的间隔时间,所述调整量对应的所述展频时钟生成器的频率调整值在所述展频时钟生成器内的锁相环的不失锁频率调整范围内,所述调整量对应的所述DDR接口的工作频率调整值在所述DDR接口中的延迟锁相环DLL的不失锁频率调整范围内,所述间隔时间在所述展频时钟生成器内的锁相环不失锁的时间范围以及所述DDR接口中的DLL的不失锁的时间范围内; 将所述展频时钟生成器的调频系数从所述第一调频系数依次渐变调整到所述第二调频系数,其中每次调整的幅度为所述调整量,两次调整之间的相隔时间长度为所述间隔时间。2.根据权利要求1所述的SoC,其特征在于,在所述业务处理器对DDR存储器的访问带宽发生变化时,所述CPU具体用于获取所述初始频率,在预置的频率集合中确定所述第一目标频率,所述第一目标频率与所述访问带宽发生变化的方向相对应;根据所述初始频率和所述第一目标频率生成所述第一调频请求。3.根据权利要求1或2所述的SoC,其特征在于,所述调频模块具体用于: 获取所述展频时钟生成器的输入频率,以及预先配置的所述DDR接口的工作频率和所述展频时钟生成器的输出频率之间的比例关系; 根据所述初始频率和所述比例关系,确定所述初始频率对应的所述展频时钟生成器的第一输出频率; 根据所述目标频率和所述比例关系,确定所述第一目标频率对应的所述展频时钟生成器的第二输出频率; 根据所述展频时钟生成器的输入频率,以及所述第一输出频率,确定所述初始频率对应的所述展频时钟生成器的第一调频系数; 根据所述展频时钟生成器的输入频率,以及所述第二输出频率,确定所述第一目标频率对应的所述展频时钟生成器的第二调频系数。4.根据权利要求1至3中任一所述的SoC,其特征在于,在获取预先确定的每次调整所述展频时钟生成器的调频系数的调整量和每次调整的间隔时间之前,所述调频模块还用于: 获取所述展频时钟生成器内的锁相环的不失锁频率调整范围,所述DDR接口中的延迟锁相环DLL的不失锁频率调整范围,所述展频时钟生成器内的锁相环不失锁的时间范围以及所述DDR接口中的DLL的不失锁的时间范围; 确定所述调整量和所述间隔时间,所述调整量对应的所述展频时钟生成器的频率调整值在所述展频时钟生成器内的锁相环的不失锁频率调整范围,所述调整量对应的所述DDR接口的工作频率调整值在所述DDR接口中的延迟锁相环DLL的不失锁频率调整范围内,所述间隔时间在所述展频时钟生成器内的锁相环不失锁的时间范围以及所述DDR接口中的DLL的不失锁的时间范围内。5.根据权利要求1至4中任一所述的SoC,其特征在于, 若所述第一目标频率无法满足所述业务处理器对DDR存储器的访问带宽发生的变化,所述CPU还用于生成第二调频请求,所述调频第二请求包括所述第一目标频率和第二目标频率; 所述调频模块还用于: 根据所述第二调频请求,确定所述第一目标频率对应的所述展频时钟生成器的第三调频系数; 根据所述第二调频系数,依次渐变调整所述展频时钟生成器的调频系数,直至达到所述第三调频系数,其中每次调整的幅度为所述调整量,两次调整之间的相隔时间长度为所述间隔时间。6.—种调整频率的方法,其特征在于,应用于片上系统SoC,所述SoC包括中央处理器CPU、业务处理器、调频模块、展频时钟生成器和DDR接口,所述方法包括: 所述调频模块接收所述CPU发送的第一调频请求,所述第一调频请求为所述CPU在所述业务处理器对与所述SoC耦合的DDR存储器的访问带宽发生变化时所生成,且所述第一调频请求包括所述DDR接口当前工作的初始频率和第一目标频率; 所述调频模块根据所述第一调频请求,确定所述初始频率对应的所述展频时钟生成器的第一调频系数,以及所述第一目标频率对应的所述展频时钟生成器的第二调频系数; 所述调频模块获取预先确定的每次调整所述展频时钟生成器的调频系数的调整量和相邻两次调整的间隔时间,所述调整量对应的所述展频时钟生成器的频率调整值在所述展频时钟生成器内的锁相环的不失锁频率调整范围内,所述调整量对应的所述DDR接口的工作频率调整值在所述DDR接口中的延迟锁相环DLL的不失锁频率调整范围内,所述间隔时间在所述展频时钟生成器内的锁相环不失锁的时间范围以及所述DDR接口中的DLL的不失锁的时间范围内; 所述调频模块根据所述第一调频系数,依次渐变调整所述展频时钟生成器的调频系数,直至达到所述第二调频系数,其中每次调整的幅度为所述调整量,两次调整之间的相隔时间长度为所述间隔时间。7.根据权利要求6所述的方法,其特征在于,在所述调频模块接收所述CPU发送的第一调频请求之前,所述方法还包括: 所述CHJ获取所述初始频率,在预置的频率集合中确定所述第一目标频率,所述第一目标频率与所述访问带宽发生变化的方向相对应; 所述CPU根据所述初始频率和所述第一目标频率生成所述第一调频请求。8.根据权利要求6或7所述的方法,其特征在于,所述根据所述第一调频请求,确定所述初始频率对应的所述展频时钟生成器的第一调频系数,以及所述第一目标频率对应的所述展频时钟生成器的第二调频系数,包括: 获取所述展频时钟生成器的输入频率,以及预先配置的所述DDR接口的工作频率和所述展频时钟生成器的输出频率之间的比例关系; 根据所述初始频率和所述比例关系,确定所述初始频率对应的所述展频时钟生成器的第一输出频率; 根据所述目标频率和所述比例关系,确定所述第一目标频率对应的所述展频时钟生成器的第二输出频率; 根据所述展频时钟生成器的输入频率,以及所述第一输出频率,确定所述初始频率对应的所述展频时钟生成器的第一调频系数; 根据所述展频时钟生成器的输入频率,以及所述第二输出频率,确定所述第一目标频率对应的所述展频时钟生成器的第二调频系数。9.根据权利要求6至8中任一所述的方法,其特征在于,在所述调频模块获取预先确定的每次调整所述展频时钟生成器的调频系数的调整量和每次调整的间隔时间之前,所述方法还包括: 所述调频模块获取所述展频时钟生成器内的锁相环的不失锁频率调整范围,所述DDR接口中的延迟锁相环DLL的不失锁频率调整范围,所述展频时钟生成器内的锁相环不失锁的时间范围以及所述DDR接口中的DLL的不失锁的时间范围; 确定所述调整量和所述间隔时间,所述调整量对应的所述展频时钟生成器的频率调整值在所述展频时钟生成器内的锁相环的不失锁频率调整范围,所述调整量对应的所述DDR接口的工作频率调整值在所述DDR接口中的延迟锁相环DLL的不失锁频率调整范围内,所述间隔时间在所述展频时钟生成器内的锁相环不失锁的时间范围以及所述DDR接口中的DLL的不失锁的时间范围内。10.根据权利要求6至9中任一所述的方法,其特征在于,若所述第一目标频率无法满足所述业务处理器对DDR存储器的访问带宽发生的变化,所述方法还包括: 所述CPU生成第二调频请求,所述调频第二请求包括所述第一目标频率和第二目标频率; 所述调频模块根据所述第二调频请求,确定所述第一目标频率对应的所述展频时钟生成器的第三调频系数; 所述调频模块根据所述第二调频系数,依次渐变调整所述展频时钟生成器的调频系数,直至达到所述第三调频系数,其中每次调整的幅度为所述调整量,两次调整之间的相隔时间长度为所述间隔时间。11.一种终端,其特征在于,包括SoC和DDR存储器,所述SoC如权利要求1至5中任一所述的SoC,所述SoC中的DDR接口与所述DDR存储器连接。
【文档编号】G11C7/22GK105913868SQ201610200273
【公开日】2016年8月31日
【申请日】2016年3月31日
【发明人】黄涛
【申请人】华为技术有限公司