首页> 中国专利> 可重构算子、集成电路和用于降低可重构算子功耗的方法

可重构算子、集成电路和用于降低可重构算子功耗的方法

摘要

本发明一种可重构算子,包括功耗控制模块,功耗控制模块用于对可重构算子的功耗进行控制;功耗控制模块可以根据可重构算子的功能单元不实现任何具体功能时,对可重构算子的供电情况进行控制,或者在可重构算子实现某种具体的功能时,根据可重构算子处理数据的连续性,对输出数据进行控制,以达到降低功耗的目的。本发明还公开了一种包括所述可重构算子的集成电路。本发明还根据可重构算子进行功耗控制的原理提炼出一种用于降低可重构算子功耗的方法。

著录项

  • 公开/公告号CN102184274A

    专利类型发明专利

  • 公开/公告日2011-09-14

    原文格式PDF

  • 申请/专利权人 北京大学深圳研究生院;

    申请/专利号CN201110053618.0

  • 申请日2011-03-07

  • 分类号G06F17/50(20060101);

  • 代理机构44281 深圳鼎合诚知识产权代理有限公司;

  • 代理人郭燕

  • 地址 518055 广东省深圳市南山区西丽深圳大学城北大校区

  • 入库时间 2023-12-18 03:08:57

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2012-10-24

    授权

    授权

  • 2011-11-02

    实质审查的生效 IPC(主分类):G06F17/50 申请日:20110307

    实质审查的生效

  • 2011-09-14

    公开

    公开

说明书

技术领域

本发明涉及集成电路设计领域,尤其是一种可重构算子、集成电路和用于降低可重构算子功耗的方法。

背景技术

早期的集成电路设计,由于集成电路的集成度低和时钟频率低,面积和时间是设计者重点考虑的问题。集成电路设计者关注的方向是:最小的芯片面积和最快的时钟速度。

近年来,随着集成电路的发展,尤其是集成度和时钟频率的显著提高,集成电路的功耗也随之疯狂增长。集成电路的功耗问题已成为制约集成电路设计水平向前发展的屏颈。因此,对于集成电路设计者来说,功耗已成为具有同时间和面积同等重要的地位,需要重点考虑。

集成电路功耗的重要性在于其将直接影响集成电路的可靠性。集成电路在使用过程中,由功耗转化的焦尔热对集成电路的性能有显著的影响。当集成电路的温度上升到一定程度时,集成电路将出现反映迟缓、无法正常工作等现象。虽然可以通过增加外部制冷设备和改进集成电路的封装结构等方式加快集成电路的散热,缓解由功耗产生的高温对集成电路的影响。但是,这些方式必竞只是通过辅助的方式降低集成电路的温度,没有从集成电路内部对功耗进行控制,效果必然有限。

集成电路的功耗主要由静态功耗和动态功耗组成,静态功耗是指漏电流功耗,是电路状态稳定时的功耗。动态功耗是指电容充放电功耗和短路功耗,是电路的翻转造成的。集成电路功耗方面的研究可以从降低静态功耗和动态功耗的角度着手。

现有技术中,功耗的研究囊括了集成电路的所有层级,包括电路级、版图级、逻辑门级、RTL级、结构级和系统级。其中,对于电路级、版图级等低层次级的功耗研究开始时间较早,已进行到比较完善的地步,行业中的情况是再从这些低层级上研究集成电路的功耗问题,达到降低功耗的目的并不实际,常常是投入与实际取得的效果并不成正比。现有的情况是,设计者更愿意从结构级和系统级等高层次的级别上研究集成电路的功耗控制问题,实现低功耗的目标。

近期,北京大学深圳研究生院提出了一种基于并行计算技术的统一架构的阵列处理结构,由可重构算子组成。该结构在增大阵列规模和提升运算性能的同时,也带来了功耗的提升,因而,对可重构算子进行功耗控制方面的研究将具有十分重要的意义。

发明内容

本发明要解决的主要技术问题是,提供一种可重构算子和集成电路,可以降低其在使用过程中产生的功耗;本发明还提供了一种用于降低可重构算子功耗的方法。

为解决上述技术问题,本发明提供一种可重构算子,通过增加功耗控制模块,对要可重构算子的功耗进行控制,使其在不同的情况下采取不同的处理策略,从而降低功耗。而本发明还提供了一种集成电路,包括具有功耗控制模块的可重构算子,因而能在使用过程中降低功耗。本发明还提供了一种降低可重构算子功耗的方法,其原理是根据可重构算子处于的不同情况采取不同处理策略,从而达到降低功耗的目的。

一种可重构算子,包括配置模块和功能模块,所述配置模块用于接收从外部输入的配置信息,并将所述配置信息转化为控制信息,发送给所述功能模块;所述功能模块用于根据所述控制信息实现不同的功能;还包括功耗控制模块,所述功耗控制模块用于控制所述可重构算子的功耗。

所述配置模块还用于将所述控制信息发送给所述功耗控制模块,所述功耗控制模块用于根据所述控制信息对所述可重构算子各部分的供电情况进行控制。

所述功耗控制模块在控制信息为控制所述功能模块不实现任何功能时,则切断功能模块的供电或者切断除所述可重构算子中除了所述配置模块以外的其它部分的供电。

所述功耗控制模块包括一个电源切换单元,所述三态缓冲器的输入与电源相连接,输出与所述功能模块和功耗控制模块相连接,用于当控制信息为控制所述功能模块实现某种具体功能时,将电源耦合到所述功能模块和功耗控制模块,当控制信息为控制所述功能模块不实现任何功能时,切断电源与所述功能模块和功耗控制模块的连接。

所述功耗控制模块还用于检测所述可重构算子的数据流是否连续,如果不连续,则锁定所述可重构算子的数据输出。

所述配置模块包括存储单元和译码单元,所述存储单元用于接收并存储外部输入的配置信息,所述译码单元用于将所述存储单元存储的配置信息转化为控制信息。

一种集成电路,包括至少一个可重构算子,所述可重构算子按列分布式排列,其所述可重构算子为上述的可重构算子。

所述时钟网络包括多个不同频率的时钟源;根据所述可重构算子实现不同功能时的时钟频率要求将所述可重构算子的工作时钟耦合到所述时钟网络中相应的时钟源上。

一种用于降低可重构算子功耗的方法,包括步骤:

根据外部输入的配置信息判断所述可重构算子是否需要实现某种具体的功能;

当可重构算子不实现任何功能时,切断所述可重构算子中用于实现不同功能的处理部件的电源。

所述方法还包括步骤:

当所述可重构算子需要实现某种具体的功能时,判断所述可重构算子的数据流是否连续,如果不连续,则锁定所述可重构算子的数据输出。

本发明的有益效果是:通过在可重构算子中增加一个功耗控制模块,通过该功耗控制模块对可重构算子的功耗进行控制,从而达到降低功耗的目的。具体地,功耗控制模块可以根据配置模块发送的控制信息对可重构算子的功耗进行控制,当控制信息为控制功能模块不实现任何功能时,主要将功能模块的电源切断,消除功能模块的静态功耗,达到降低功耗的目的。更进一步地,当控制信息为控制功能模块实现某种具体操作时,通过在数据流不连续时,即当前操作的输入数据没有来到或者上一次操作生成的输出数据没有被消费时,将可重构算子的输出锁定,从而降低可重构算子组合逻辑的跳变率,起到降低动态功耗的目的。

本发明提供的集成电路,包括上述结构的可重构算子,同样具有上述有益效果。同时,集成电路还包括有时钟网络,可以根据可重构算子实现的功能,将可重构算子的工作时钟匹配到时钟网络中最合适的时钟源上,从而进一步降低功耗。

本发明提供的用于降低可重构算子功耗的方法,通过判断可重构算子是否需要实现某种具体的功能,如果需要,则主要切断可重构算子中用于实现具体功能的处理部件的电源,以消除其静态功耗,从而降低可重构算子的功耗。

附图说明

图1为本发明一种实施方式的具有功耗控制的可重构算子结构;

图2为本发明一种实施方式的低功耗状态下的功耗控制说明;

图3为本发明一种实施方式的等待状态和工作状态的功耗控制说明;

图4为本发明一种实施方式的时钟连接图;

图5为本发明一种阵列处理结构。

具体实施方式

下面通过具体实施方式结合附图对本发明作进一步详细说明。

实施例1:

请参考图1,本发明的可重构算子200在其结构中增加了一个功耗控制模块202,该功耗控制模块202用于控制可重构算子200的功耗。比如,通过控制整个可重构算子200中各部分的供电情况和/或输出数据的变化情况以实现降低可重构算子200功耗的目的。

可重构算子200设置有多个实现与外部通信的接口,接口包括有:数据输入接口、数据输出接口、配置时钟接口、电源接口、地接口、配置信息传输链接口(包括配置信息入口和配置信息出口)和工作时钟接口。其中,配置信息传输链接口、配置时钟接口、电源接口和地接口为固定连接,其它接口的连接均为可配置形式。上述中,配置时钟是指只连接到配置信息传输链中的配置信息存储单元上的时钟,该时钟在加载配置信息时才驱动,系统工作时该时钟保持不变,从而保证配置信息存储单元中的信息不变。所有配置信息存储单元的时钟只有一个源,即一个网络,所以它是固定连接。工作时钟是指连接到各可重构算子单元的时序逻辑的时钟,该时钟在加载配置信息时是不被驱动的,只有在工作时才驱动。由于系统中各个部分的单元对应的性能要求不同,为了按需分配时钟,所以有多时钟网络,一个可重构算子的时钟可以有多个时钟源,但一次只连接至一个源,这是可以配置的,所以为可配置形式。

可重构算子的内部除了上面提到的功耗控制模块202外,还包括功能模块201和配置模块203。配置模块203接收从配置信息入口输入的外部配置信息,并将该配置信息转化为功能模块201和功耗控制模块202能够识别的控制信息,该控制信息和配置信息可以相同。一种实现方式是,配置模块203的内部包括存储单元和译码单元,存储单元接收并存储从配置信息入口输入的外部配置信息;译码单元将存储单元存储的配置信息译码为功能模块201和功耗控制模块202能够识别的控制信息,发送给功能模块201和功耗控制模块202。

功能模块201受控制信息的控制,在控制信息的控制作用下进行控制信息所对应的操作,实现不同的功能。所述功能模块可以实现的功能包括算术逻辑运算,乘法运算,移位运算,数据分发,数据选择和调度中的一种或几种。比如,在一种实施例中,功能模块201可以实现四种操作,分别是空操作、加法操作、左移操作和乘法操作,则功能模块201的控制信息可以用两位二进制来表示,分别是:00对应空操作,也就是功能模块不进行任何操作,不实现任何具体的功能;01对应加法操作;10对应左移操作;11对应乘法操作。其中,当控制信号为01、10和11中的任意一种时,功能模块201均会在控制信息的控制下对输入数据进行相应的操作,得到输出数据,并将输出数据输出。在功能模块201实现某种具体的功能时时,主要存在的功耗是动态功耗,且动态功耗的存在是必然的。但是,当控制信息为00时,功能模块201执行空操作,不实现任何具体的功能,功能模块201此时没有动态功耗,只有静态功耗。由于静态功耗低于动态功耗,且功能模块201只有静态功耗时,可重构算子200的功耗也相对较低,所以将这个状态称之为低功耗状态。

可重构算子200处于低功耗状态时,功耗主要由静态功耗组成。此时,降低功耗的思路是降低可重构算子200的静态功耗,重点是降低功能模块201的静态功耗。最直接的实现方式是将功能模块201的供电切断。而功耗控制模块202可以充当实现这一操作的执行部件。当控制信息为控制功能模块201不实现任何功能时,功耗控制模块202将功能模块201的供电切断。更进一步地,功耗控制模块202还可以只保留可重构算子200中除了配置模块203以外的其它部分的供电,甚至只保留配置模块203中存储单元的供电,从而达到进一步地降低可重构算子200静态功耗的目的。配置模块203可以在将外部输出的配置信息转化为控制信息后,发送给功能模块201控制其是不实现任何具体的功能,还是进行某种操作,实现具体的功能。同时还将控制信息发送给功耗控制模块202,由功耗控制模块202根据控制信息对可重构算子各部分的供电情况进行控制。配置模块203还可以对控制信息进行识别,当识别到配置信息是指示功能模块201不实现某种具体的功能时,直接将控制信息只发给功耗控制模块202,由功耗控制模块202对可重构算子200的供电情况进行控制。

功能控制模块202对可重构算子200中各部分的供电进行控制的硬件实现方式可以是通过一个电源切换单元实现。该电源切换单元的输入与电源相连接,输出与功能模块201和功耗控制模块202相连接,用于当控制信息为控制功能模块201实现某种具体功能时,将电源耦合到201功能模块和功耗控制模块202,当控制信息为控制功能模块201不实现任何功能时,切断电源与功能模块201和功耗控制模块202的连接。该电源切换单元可以由具有开关功能的元件实现,比如三态缓冲器、传输管、传输门和多选器等。当为多选器时,可以通过该多选器是选择电源输出1,还是输出0的方式实现等效的开关效果。下面以电源切换单元为三态缓冲器为例,对其进行说明:

如图2所示,当电源切换单元为三态缓冲器301时,该三态缓冲器301的输入与电源VDD相连接,其输出为VDD′,输入VDD与输出VDD′的关系由低功耗控制信号决定。低功耗信号与配置模块203发送来的控制信息有关,当控制信息表示的意义为指示功能模块实现某种具体的功能时,该低功耗控制信号为高;当控制信息表示的意义为功能模块执行空操作,也就是不实现某种具体的功能时,该低功耗控制信号为低。当低功耗控制信号为高时,输出等于输入,即输出VDD′=VDD;当低功耗控制信号为低时,输出为0,即VDD′=0。三态缓冲器301的输出连接到功能模块201,用于控制所述功能模块的供电情况。进一步地,三态缓冲器301的输出还可以用于控制功耗控制模块203中被利用时功耗控制部分302的供电。其中,被利用时功耗控制部分302是指当功能模块201实现某种具体的功能时,功耗控制模块202中用于对功耗进行控制的部分。

可重构算子200实现某种具体的功能时,也就是功能模块201在控制信息的作用下,对输入数据进行某种具体的操作,得到输出数据,并将输出数据进行输出。在这个过程中,可重构算子200的功耗主要是动态功耗,此时,降低功耗的主要思路是降低可重构算子200的动态功耗。实现的方式可以是,根据数据流是否连续,对可重构算子的输出数据采取不同的操作,以降低可重构算子时序逻辑的跳变率。采用此种方式得以降低可重构算子200的功耗的原因在于,动态功耗受时序逻辑的跳变率影响,时序逻辑的跳变率也就是动态功耗计算公式中的跳变因子,跳变因子越大,动态功耗也越大,而通过数据流是否连续,对输出数据采用合适的控制策略可以降低时序逻辑的跳变率。

如图3所示,根据数据流是否连续可以将可重构算子划分为两个状态:等待状态401和工作状态402。等待状态401是指可重构算子的输入数据没有来到或者虽然输入数据到来了,但是前一次处理输入数据产生的输出数据没有被消费掉,此时数据流表现为间断形式;工作状态402是指可重构算子的输入数据已经来到且前一次处理输入数据产生的输出数据已经被消费掉,此时数据流表现为连续形式。

处于工作状态402的可重构算子200,其在数据流的驱动下改变输出结果,同时,处于工作状态402的算子在数据流的驱动下改变输出结果后,无条件进入等待状态401。

处于等待状态402的可重构算子200,由于可重构算子200需要处理的数据(有效数据)没有到来或者其上次处理数据产生的输出数据还没有被消费掉,则将可重构算子200的输出数据锁定。当需要处理的数据没有到来时,即使其上次处理输入数据产生的输出数据已经被消费掉了也不改变其输出数据,也就是将输出数据锁定为已经上次处理输入数据产生的输出数据,因为如果改变输出数据,则会增加时序逻辑的跳变率。处于等待状态的可重构算子200,直到检测到输入数据到来且输出数据已经被消费掉了才进入工作状态402,否则一直处于等待状态401。上述对数据流的检测和对输出数据的处理均可以由功耗控制模块202来实现。

实施例2:

一种集成电路,包括至少一个如实施例1中所述的可重构算子200,可重构算子200按列分布式排列。

图5为该集成电路的一部分结构,为一种算子按列分布式排列的阵列处理结构100。该阵列处理结构100包括算术类可重构算子101、路径类可重构算子102、调试类可重构算子103、DSP类可重构算子104、存储类可重构算子105和输入输出106。该阵列结构100的算术类可重构算子101、路径类可重构算子102、调试类可重构算子103、DSP类可重构算子104和存储类可重构算子105按照一定的比例,以列为单位排列,分布式交叉排列,这样的布局方式保证阵列结构100内任意一个可重构算子与其它任意一种可重构算子的部分以最短距离的方式连接,减少芯片内部长线的互联,提高数据的传输效率,缩短了数据的延时。

如图4所示,集成电路还包括时钟网络,时钟网络包括多个不同频率的时钟源。比如,图示中的时钟源CLK1、CLK2和CLK3。根据可重构算子200实现不同功能时的时钟频率要求将可重构算子200的工作时钟耦合到所述时钟网络中相应的时钟源上。一种实施方式是,由于可重构算子200的工作时钟是可配置的,则将可重构算子200的工作时钟接口通过可配置节点501与时钟网络中的时钟源相连接,通过控制可配置节点501将工作时钟耦合到不同的时钟源上。耦合的依据是可重构算子在不同应用中(即实现不同功能)的频率要求,比如,在某种应用中,对可重构算子的速率要求低,则可以将该可重构算子的工作时钟耦合到时钟频率较低的时钟源上。

上述阵列处理结构由于含有大量的可重构算子,如果采用现有技术中的可重构算子,即没有增加功耗控制模块202的算子结构,将产生大量的功耗,对于图示阵列结构100及包括该阵列结构100的集成电路的性能具有巨大的影响,轻则加速集成电路的老化,重则损坏集成电路。但是,如果上述可重构算子均增加实施例1中的功耗控制模块202,则可以大大地降低阵列结构100和集成电路的功耗。尤其是实施例1中的功耗控制模块202采用通检测过数据流的连续情况对可重构算子200的数据输出进行控制,达到降低时序逻辑的跳变率,进而降低功耗的方式时,对阵列结构100和集成电路的功耗控制有很明显的效果。因为,对单个可重构算子来说,通过上述方式降低功耗的作用是有限的,但是,在阵列结构和集成电路中,单个可重构算子时序逻辑的跳率的降低会导致整个阵列结构和集成电路组合逻辑的跳变率的降低,组合逻辑跳变率对降低功耗的影响更加深远。

实施例3:

本发明还公开了一种用于降低可重构算子功耗的方法,包括步骤:

步骤A,根据外部输入的配置信息判断所述可重构算子是否实现某种具体的功能,如果是,步骤C中,如果否,则转到步骤B中;

步骤B,切断所述可重构算子中用于实现不同功能的处理部件的电源。

步骤C:判断所述可重构算子的数据流是否连续,如果不连续,则保持所述可重构算子的数据输出不改变。

本实施例的方法可以用于实施例1中所述的可重构算子,还可以用于实施例2中的集成电路,还可以用于依照本实施例所述的方法进行功耗控制的情况。

以上内容是结合具体的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号