首页> 中国专利> 一种降低多核终端内存访问功耗的方法和系统

一种降低多核终端内存访问功耗的方法和系统

摘要

本发明提供一种降低多核终端内存访问功耗的方法,并为支持该方法设计了相应的装置,该方法包括:选择N个核中的一个核的运行时间窗口作为基准窗口;多核同步模块对剩余的N-1个核进行对齐同步中断配置,N是大于等于2的正整数;作为基准窗口的核被唤醒退出睡眠状态,同时发出唤醒中断给剩余的核,剩余的核被中断唤醒;所述多核同步模块判断唤醒中断是否为所述作为基准窗口的核的对齐同步中断配置,若是,则剩余各核保持唤醒态,若不是则进入睡眠状态;所述被唤醒的核启动处理任务,同时对内存发起访问;所述作为基准窗口的核任务处理完毕进入睡眠状态,同时多核同步模块强制所有剩余未完成处理任务的核进入睡眠状态,均停止对内存的访问。

著录项

  • 公开/公告号CN104750223A

    专利类型发明专利

  • 公开/公告日2015-07-01

    原文格式PDF

  • 申请/专利权人 联芯科技有限公司;

    申请/专利号CN201310733593.8

  • 发明设计人 冉焱;

    申请日2013-12-26

  • 分类号

  • 代理机构上海思微知识产权代理事务所(普通合伙);

  • 代理人王宏婧

  • 地址 201206 上海市徐汇区钦江路333号41幢4楼

  • 入库时间 2023-12-18 09:33:32

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-07-10

    专利实施许可合同备案的生效 IPC(主分类):G06F1/32 合同备案号:2018990000159 让与人:联芯科技有限公司 受让人:上海立可芯半导体科技有限公司 发明名称:一种降低多核终端内存访问功耗的方法和系统 申请公布日:20150701 授权公告日:20170517 许可种类:普通许可 备案日期:20180615 申请日:20131226

    专利实施许可合同备案的生效、变更及注销

  • 2017-05-17

    授权

    授权

  • 2015-07-29

    实质审查的生效 IPC(主分类):G06F1/32 申请日:20131226

    实质审查的生效

  • 2015-07-01

    公开

    公开

说明书

技术领域

本发明涉及通讯技术领域,特别涉及一种降低多核终端内存访问功耗的方 法和系统。

背景技术

现有技术中,在多核(处理器)终端的运行功耗中,内存访问的功耗开销 占有较大比重,通常可达整机功耗的20%~30%左右。内存访问功耗主要消耗在 内存访问链路上,具体包括芯片内部的内存控制器和外部双倍速率同步动态随 机存储器(Double Data Rate,DDR)。进一步的,内存访问功耗由两个因素决 定:内存访问速度和内存访问时间长度。

请参考图1,其是两核系统降低内存访问功耗的原理示意图。该方法通过减 小内存控制器和外部DDR的时钟频率方法从而降低内存的访问速度,即降低内 存访问的后端运行功耗达到内存省电的目的。

进一步的,请参考图2和图3,图2是两核系统降低内存访问功耗的流程 图;图3是两核系统及内存运行状态图。从图3中可以看出,a/c/e/g为核1退 出睡眠(Idle)启动任务处理的时刻点,b/d/f/h为核1完成任务处理进入idle的 时刻点;内存访问链路总的工作时间为核1、核2各自内存访问时间的叠加。运 用减小内存控制器和外部DDR时钟频率前后,图3中每条状态曲线的起始位置 不会改变,导致系统总的内存访问时间前后基本不变。因此,该方法对内存访 问时间长度无法做到优化,且当内存时钟与其他IP时钟有设计耦合时,其他IP 时钟也被减小,对系统运行性能有一定的影响。

特别要说明的是,上述仅以两核系统作为示意,两核以上的系统方案类似。

发明内容

本发明的目的在于提供一种降低多核终端内存访问功耗的方法和系统,以 解决现有技术无法降低多核系统内存访问时间长度从而降低内存访问功耗的问 题。

为解决上述技术问题,本发明提供一种降低多核终端内存访问功耗的方 法,包括:

选择N个核中的一个核的运行时间窗口作为基准窗口;

多核同步模块对剩余的N-1个核进行对齐同步中断配置,N是大于等于2 的正整数;

作为基准窗口的核被唤醒退出睡眠状态,同时发出唤醒中断给剩余的核, 剩余的核被中断唤醒;所述多核同步模块判断唤醒中断是否为所述作为基准窗 口的核的对齐同步中断配置,若是,则剩余各核保持唤醒态,若不是则进入睡 眠状态;

所述被唤醒的核启动处理任务,同时对内存发起访问;

所述作为基准窗口的核任务处理完毕进入睡眠状态,同时多核同步模块强 制所有剩余未完成处理任务的核进入睡眠状态,均停止对内存的访问。

优选的,在所述的降低多核终端内存访问功耗的方法中,选择N个核中的 一个核的运行时间窗口作为基准窗口的步骤前,还包括:

内存降频模块减小内存控制器和外部DDR的时钟频率。

优选的,在所述的降低多核终端内存访问功耗的方法中,所述N个核初始 状态均为睡眠状态时,采用定时器唤醒和停止所有核的运作。

优选的,在所述的降低多核终端内存访问功耗的方法中,所述N个核初始 状态包括睡眠状态和运行状态时,所述基准窗口的核被唤醒退出睡眠状态,同 时给运行状态的核发出消息事件以启动处理任务。

优选的,在所述的降低多核终端内存访问功耗的方法中,选择N个核中的 一个核的运行时间窗口作为基准窗口的步骤中,选择运行时间最长的窗口的核 作为基准窗口。

优选的,在所述的降低多核终端内存访问功耗的方法中,选择N个核中的 一个核的运行时间窗口作为基准窗口的步骤由按特定策略制定一时间窗口作为 基准窗口代替。

优选的,在所述的降低多核终端内存访问功耗的方法中,当所述基准窗口 的核任务处理完毕进入睡眠状态时,所有剩余完成处理任务的核保持睡眠状态。

优选的,在所述的降低多核终端内存访问功耗的方法中,同步访问内存由 同步使用总线或同步使用时钟代替。

相应的,本发明还提供一种降低多核终端内存访问功耗的系统,包括:内 存控制器、外部DDR和N个核;所述外部DDR与所述内存控制器连接;所述 N个核与所述内存控制器连接;其中,N个核中的1个核作为基准核,剩余的 N-1个核作为承载核,且剩余的N-1个核各自独立承载运行一个多核同步模块, 所述多核同步模块用于对其所运行的核进行对齐同步中断配置和中断判别,N 是大于等于2的正整数。

优选的,在所述的降低多核终端内存访问功耗的系统中,还包括内存降频 模块,与所述内存控制器连接,用于减小内存控制器和外部DDR的时钟频率。

优选的,在所述的降低多核终端内存访问功耗的系统中,所述内存控制器 和外部DDR由总线或时钟代替。

本发明提供的降低多核终端内存访问功耗的方法和系统,具有以下有益效 果:本发明通过多核同步模块将N个核的运行时间对齐同步,使原本多核对内 存的串行访问并行起来,减少了内存被访问的总时间,更大程度地降低了系统 运行功耗。

附图说明

图1是现有技术两核系统降低内存访问功耗的原理示意图;

图2是现有技术两核系统降低内存访问功耗的流程图;

图3是现有技术两核系统及内存运行状态图;

图4是本发明实施例的降低多核终端内存访问功耗的系统示意图;

图5是本发明实施例的降低多核终端内存访问功耗的方法示意图;

图6是本发明实施例在并发时各核及内存运行状态图。

具体实施方式

以下结合附图和具体实施例对本发明提出的降低多核终端内存访问功耗的 方法和系统作进一步详细说明。根据下面说明和权利要求书,本发明的优点和 特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用非精准的比 例,仅用以方便、明晰地辅助说明本发明实施例的目的。

请参考图4,其是本发明实施例的降低多核终端内存访问功耗的系统示意 图。如图4所示,本发明提供一种降低多核终端内存访问功耗的系统,包括: 内存控制器11、外部DDR14和N个核;所述外部DDR14与所述内存控制器11 连接;所述N个核与所述内存控制器11连接,其中,N个核中的1个核作为基 准核,剩余的N-1个核作为承载核,且剩余的N-1个核各自独立承载运行一个 多核同步模块12,所述多核同步模块12用于对其所运行的核进行对齐同步中断 配置和中断判别;N是大于等于2的正整数。由图4中可以看出,若选择核1 作为基准窗口,则核2……核N即为剩余的核,分别由与之对应的多核同步模 块12对其进行中断同步运行控制。对于选择哪一个核作为基准窗口的准则,在 下述的方法中将做详细的描述。

本发明的实施例通过所述多核同步模块12以软件的方式实现多核间的对 齐,而在本发明的其他实施例中,也可以通过硬件IP模块实现多核间的对齐, 即通过设计好预设的对齐时间后,按一定的模式实现多核间的对齐。基此,本 发明通过软件的方式更灵活些。

同时,该系统还包括内存降频模块13,所述内存降频模块13与所述内存控 制器11连接,所述内存降频模块13用于减小内存控制器11和外部DDR14的 时钟频率,从而降低内存的访问速度,即降低内存访问的后端运行功耗达到内 存省电的目的。

请参考图5,其是本发明实施例的降低多核终端内存访问功耗的方法示意 图。如图5所示,本发明提供一种降低多核终端内存访问功耗的方法,并以两 核系统做具体描述,三核及三核以上的系统类似,所述方法包括:

首先,开机后对各核子系统初始化,内存降频模块减小内存控制器和外部 DDR的时钟频率。如此,可降低内存的访问速度从而达到降低内存访问的后端 运行功耗达到内存省电的目的。

进一步的,选择核1、核2中的一个核的运行时间窗口作为基准窗口,在本 实施例中选择核1作为基准窗口,如图6所示,核1的运行窗口为(a,b)、(c, d)、(e,f)、(g,h)。优选的,通常选择运行时间最长的窗口的核作为基准窗口。 当然,也可以按特定策略制定一时间窗口作为基准窗口。

进一步的,多核同步模块对核2进行对齐同步中断配置,该步骤为后续多 核同步模块判断核2唤醒和睡眠的条件是否为核1发出的对齐中断做准备。特 别的,在该步骤中,核1、核2在正常条件下都是进入睡眠(Idle)状态的,不 进行任务处理。

在本实施例中,核1、核2间采用的对齐方式是中断。但在本发明的其他实 施例中,当核1、核2初始状态都是Idle状态时,也可以采用定时器去唤醒和停 止核1、核2的运作,即定时几点唤醒核1、核2退出Idle状态,进行任务处理, 定时几点停止核1、核2的任务处理,进入Idle状态,如此也能够达到将各核的 运行时间对齐同步。在本发明的又实施例中,当核1初始状态是Idle状态,核2 初始状态是运行状态时,当核1被唤醒退出Idle状态,同时给核2发出一个消 息事件,以让核2启动处理任务,如此也能够达到将各核的运行时间对齐同步。

进一步的,核1被唤醒退出睡眠状态,同时发出唤醒中断给核2;即核1在 a/c/e/g时刻退出Idle状态时,发出唤醒中断给核2;此时,多核同步模块判断核 2是否为核1的对齐同步中断配置,若是,则核2保持唤醒状态,若不是则核2 重新进入睡眠状态;

进一步的,核2被唤醒后退出睡眠状态,启动任务处理,此时,核1、核2 均进入运行态,进行任务处理,同时对内存发起访问;

进一步的,核1在b/d/f/h时刻任务处理完毕进入睡眠状态,发出睡眠中断 给核2,若核2任务处理未完成,多模同步模块强制核2退出运行态进入Idle 状态;若核2任务处理已完成,已经处于Idle状态,则让核2保持Idle状态。 此时,核1、核2均进入Idle状态,同时停止对内存的访问。

基此,多核同步模块将各核的运行时间对齐同步,使原本多核对内存的串 行访问并行起来,减少了内存被访问的总时间,更大程度地降低了系统运行功 耗。

从图6中可以看出,系统内存访问总时间等于核1的内存访问时间,其中 包含了除核1外的其余各核内存访问。与传统方案相比,本发明既保证了各核 对内存的正常访问和数据吞吐率,又降低了内存访问链路总的工作时间,减小 了系统内存访问功耗开销。

特别要说明的是,本发明多核同步访问内存的机制也可以应用到多核同步 访问其他硬件资源,比如同步使用总线,同步使用时钟等。

上述描述仅是对本发明较佳实施例的描述,并非对本发明范围的任何限 定,本发明领域的普通技术人员根据上述揭示内容做的任何变更、修饰,均属 于权利要求书的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号