终端设备的内存访问控制方法与装置的制造方法_4

文档序号:9489388阅读:来源:国知局
。例如,使性能要求高的应用场景,放置于如图7所示的用于实现交错式访问的第一访问区域,而使性能要求不高的应用场景只访问第二访问区域中的An或者访问Bn。访问An和访问Bn分别放置不太同时访问的应用场景,这样可以使得当第一访问区域没访问的时候,只有An访问而Bn没有任何访问,则Bn对应的访问通道可以进入省电模式。反之,当第一访问区域没访问的时候,只有Bn访问而An没有任何访问,则An对应的访问通道可以进入省电模式。
[0089]由于在所述平衡模式下,同样能够支持在各个访问通道对应的访问区域实现访问请求的非交错式访问,使访问通道处于空闲状态存在较大可能,因此,在设定的内存访问模式为平衡模式时,也非常适合对访问请求在各个访问通道上的分配进行监测。
[0090]本实施例提供的终端设备的内存访问控制方法中,除了对各访问通道是否空闲进行监测之外,为了进一步在运行性能提升的基础上实现功耗控制的优化,还可以对DDR内存的每一个访问端口(Port)的负载和延时进行监测,并根据对每个访问端口的负载和延时的监测结果,相应调整内存的工作频率。
[0091]需要说明的是,本实施例中的“访问端口”为DDR内存的输入端,本领域技术人员知晓,终端设备的芯片内部的多个Master是通过Port (Master和Port可以是“一对一”的关系,也可以是“多对一”的关系)与DDR内存相连的,Master发出的访问请求通过所述访问端口提交至DDR内存后,由DDR控制器将该访问请求分配到某个访问通道,然后DDR内存通过片选作为输出端与外部的DDR片子相连,从而实现存储。
[0092]此外,本实施例中,根据每个访问端口的负载和延时的监测结果,相应调整内存的工作频率,是在各访问通道频率一致的前提下进行的,保持各个访问通道的工作频率一致,对于软件设计是有好处的,当一大块数据分散在多个访问通道上,由于工作频率一致,能保证存储时间一致。
[0093]本实施例中,所述负载指的是发出访问请求的Master在第三预定时间内经过Port的访问数据量,通常可以用带宽(bandwidth)进行衡量;所述延时是指对经由Port访问DDR内存的访问请求进行处理的等待时间。本领域技术人员知晓,延时(latency) —般定义为:CPU读取指令和执行指令之间的一段时间。如果内存需要读写数据,那么这个过程会产生大量的延时。整体而言,延时越低,系统的性能就越出色。
[0094]本实施例中,根据统计每个访问端口当前的负载和延时,需要采取相应的操作以实现在运行性能提升的基础上优化功耗控制。当负载越大,那么说明请求访问DDR内存的访问数据量越多,此时需要升高内存的工作频率,从而提升系统整体运行性能,反之需要降低内存的工作频率,以节省功耗的消耗;当统计到的当前延时越大,那么说明对于DDR内存的访问请求没有满足到,此时需要升高内存的工作频率以提升运行性能,反之需要降低内存的工作频率以节省功耗。
[0095]在实际实施时,每个访问端口的负载和延时情况可以由软件来配置衡量标准,例如:软件可以配置一个最大值,一个最小值,若当前负载和延时小于最小值,或者大于最大值,那么硬件会自动根据以上方式进行变频。
[0096]本实施例中,将为每个访问端口的负载配置的最大值称为第一上限阈值,将为每个访问端口的负载配置的最小值称为第一下限阈值,将为每个访问端口的延时配置的最大值称为第二上限阈值,将为每个访问端口的延时配置的最小值称为第二下限阈值。
[0097]在实际实施时,因为访问端口对应的Master有可能是不一样的,那么对于内存的访问需求也不一样,由此每个访问端口相应配置的阈值也应该是不一样的。因此,本实施例中,可以根据各访问端口对应的访问需求,分别为每个访问端口配置相应的第一上限阈值、第一下限阈值、第二上限阈值和第二下限阈值。
[0098]具体地,根据对所述内存的每个访问端口的负载和延时的监测结果,相应调整内存的工作频率可以包括:
[0099]当任意一个访问端口的负载大于为该访问端口配置的第一上限阈值,或者任意一个访问端口的延时大于为该访问端口配置的第二上限阈值时,升高内存的工作频率;
[0100]当所有访问端口的负载均小于分别为各个访问端口配置的第一下限阈值,且所有访问端口的延时均未超出分别为各个访问端口配置的第二上限阈值时,降低内存的工作频率;
[0101]当所有访问端口的延时均小于分别为各个访问端口配置的第二下限阈值,且所有访问端口的负载均未超出分别为各个访问端口配置的第一上限阈值时,降低内存的工作频率。
[0102]实际实施时,上述根据监测结果相应调整内存的工作频率的过程,具体可以细分为以下几种情况:
[0103]当任意一个访问端口的负载大于为该访问端口配置的第一上限阈值,且所有访问端口的延时均未超出分别为各个访问端口配置的第二上限阈值和第二下限阈值时,升高内存的工作频率;
[0104]当所有访问端口的负载均小于为分别为各个访问端口配置的第一下限阈值,且所有访问端口的延时均未超出分别为各个访问端口配置的第二上限阈值和第二下限阈值时,降低内存的工作频率;
[0105]当任意一个访问端口的延时大于为该访问端口配置的第二上限阈值,且所有访问端口的负载均未超出分别为各个访问端口配置的第一上限阈值和第一下限阈值时,升高内存的工作频率;
[0106]当所有访问端口的延时均小于分别为各个访问端口配置的第二下限阈值,且所有访问端口的负载均未超出分别为各个访问端口配置的第一上限阈值和第一下限阈值时,降低内存的工作频率;
[0107]当任意一个访问端口的负载大于为该访问端口配置的第一上限阈值,且任意一个访问端口的延时大于为该访问端口配置的第二上限阈值时,升高内存的工作频率;
[0108]当所有访问端口的负载均小于为分别为各个访问端口配置的第一下限阈值,且所有访问端口的延时均小于为分别为各个访问端口配置的第二下限阈值时,降低内存的工作频率。
[0109]此外,当访问端口的负载与延时情况导致升高内存工作频率的需求与降低内存工作频率的需求两者相矛盾的时候,则优先采取升高内存工作频率的方式,以保证DDR能满足应用的访问需求。
[0110]因此,根据监测结果相应调整内存的工作频率的过程还包括以下情况:
[0111]当任意一个访问端口的负载大于为该访问端口配置的第一上限阈值,且所有访问端口的延时均小于分别为各个访问端口配置的第二下限阈值,或者任意一个访问端口的延时大于为该访问端口配置的第二上限阈值,且所有访问通道的负载均小于分别为各个访问端口配置的第一下限阈值,则升高内存的工作频率。
[0112]综上所述,在根据各个访问端口的负载和延时的监测结果相应调整内存工作频率的过程中,一旦任意一个访问端口存在升高内存工作频率的需求,那么就升高内存的工作频率,而只有全部的访问端口都存在降低内存工作频率的需求时,才会降低内存的工作频率,并且当访问端口存在升高内存工作频率的需求与降低内存工作频率的需求之间的矛盾时,优先采取升高内存工作频率的方式,如此既保证了正常的DDR内存访问需求能满足,又能确保在维持一定运行性能的基础上尽可能地节省功耗。
[0113]需要说明的是,对于双通道/多通道内存结构来说,优化功耗控制显得尤为重要,通常需要去监控每个访问通道的负载和延时。而本实施例中对于负载和延时的监控是根据访问端口来区分的,考虑到多个访问通道中,有可能一个访问通道经常接入访问量大的Master,而另一个访问通道则接入访问量少的Master,例如上述内存访问模式中的低功耗模式以及平衡模式,那么根据访问端口区分,能更为精确地定位是否应该升高内存的工作频率,或者是否应该降低内存的工作频率。由于一个访问请求(包含一大块需要访问的数据量)可能存在交错分布在两个访问通道上,或者永远在某一个访问通道上,由于所述访问端口是在DDR内存外部的输入端口,那么对于访问端口来说,任何访问请求就是一笔数据,经由访问端口传输发出后,至于分散到了哪个或哪些访问通道,不需要访问端口关注,这样可以简化调整内存工作频率的过程,即:只监控访问端口的数据是否满足需求就能保证各个访问通道都监控了。
[0114]本实施例提供的终端设备的内存访问控制方法,既保证了正常的DDR内存访问需求能满足,又能兼顾大部分的空闲时间使访问通道进入省电模式,在提升整体系统的运行性能同时,功耗上也能够满足低功耗的需求,尤其适合对于功耗问题较敏感的移动终端设备。
[0115]对应于上述终端设备的内存访问控制方法,本实施例还提供一种终端设备的内存
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1