具有多硬件配置的可重构硬件体系统结构中的调度方法

文档序号:6353266阅读:172来源:国知局
专利名称:具有多硬件配置的可重构硬件体系统结构中的调度方法
背景技术
本发明涉及用于执行一个算法的可重构芯片。
用于可重构芯片的一个软件元素就是一个调度装置。调度装置解释一个程序的各个部分,调度各项功能并将其载入到可重构芯片的不同资源。在一实施例中,为可重构芯片的使用来优化这个功能,调度装置决定功能配置的载入之处。
通过可重构芯片的使用,可得到一个改进的调度装置。

发明内容
本发明的一个实施例包含利用多重可能配置在可重构芯片上实现一个特定功能。不是采用一个单一功能的优化执行,而是决定使用具有不同时间和资源需求的多重配置。调度装置可选择把这些配置的一个来载入到可重构芯片,该可重构芯片是以这些配置的时间和资源需求,以及可重构芯片的可用时间片和资源为基础的。
可重构芯片的可用资源在任何时候都是变化的。例如,在某些情况下,需要利用多种配置,这些配置使用大量资源,但是并不相当长时间地使用这些资源。而在其它情况下,利用一种使用较少资源但却占用更长时间的配置则更为有效。
调度装置通过对多种配置的访问,能够以一种更有效的方式把功能分配给可重构芯片,来加速芯片的操作,这是因为在任何时候已利用了全部资源。
本发明的系统优选利用指示,提供配置的时间和资源需求的信息,以及时间片和资源调度的信息。调度需适合这些多重配置之一,这一调度是基于多重配置的时间和资源需求的指示。
随着装置操作的运行变化,调度装置能够是一个动态的调度装置,或者能够是在编译过程中所产生的一个静态调度装置。
在一实施例中,该发明包含一个可重构芯片的调度装置。这个调度装置适合从一组多重配置中选择一个配置。每一个配置适合实现可重构芯片的相同功能,这些配置有不同的时间和资源需求,其中,调度装置利用可用资源,以及配置的时间和资源需求的调度指示来选择载入到可重构芯片上的配置。


图1是一个可重构芯片的示意图。
图2A和2B示意用于实现一个功能可重构芯片的两种不同配置所需要的资源和时间。
图3A和3B示意分别完成图2A和2B的功能的五种操作的调度。
图4示意利用图2A的配置或图2B的配置的一个调度。
图5是本发明一个实施例的方法流程图。
图6是一个示意本发明调度装置的一个实施例操作的图表。
图7是图6实例的一个调度的框图。
具体实施例方式
图1是一个可重构芯片20的示意图。可重构芯片20包括32、34、36、38等许多芯片,这些芯片包含可重构的逻辑和存储单元。可重构逻辑单元还可分成能够实现许多不同功能的可重构逻辑块。可重构逻辑块又包括一个运算逻辑单元(ALU)。各个芯片都有关联的配置存储器。该配置存储器存储这些芯片的不同配置。
术语“配置”对于本发明有两种不同的可能含义。它可能指任何时候可重构逻辑的配置,但对于一个给定的功能,也可能指随着一个功能的实现所需要的配置组。
在一实施例中,通过一个配置缓冲器及系统数据线和系统地址线的一个接口来载入多种配置。这些配置存储在一个外部存储器中并且通过存储控制器载入。可重构芯片还包括一个诸如ARC处理器的CPU。该CPU运行一个在可重构结构上不能有效运行的算法的各个部分。处于动态调度环境下的CPU也可运行一个调度装置。
图2A示意了为给定功能所产生的一个配置的实例。这个实例使用了三种资源但花费了一个时间块。图2B示意了另一种配置。这个配置使用一种资源但花费了四个时间块。例如。这些资源可能是整个可重构芯片,或者是可重构芯片的一些下层资源。这里需要注意,对于不同的实施例资源时间块的数量会是不同的。例如,图2B的实施例同图2A的实施例相比使用了更多的资源时间块。先有技术可能选择把图2A的配置作为最佳配置的调度装置。
图3A示意了这样一个系统,把五种图2A配置载入到可重构芯片。
图3B示意了一个仅使用图2B配置的系统。在这个实例中,完成最后一个功能要花费八个时间周期。
图4示意这样一个系统,为调度可重构芯片,其中调度装置可以在图2A和图2B两个不同配置之间进行选择。在这一实例中,利用图2A的配置实现功能1、2、3、4,并且图2B的实例完成配置5。在四个时间周期内完成了所有五个功能。需要注意,图4的调度比图3A或3B的每一个调度更有利。即使图2B的配置比图2A的配置使用了更多资源时间块,但在这一实例中,利用图2B配置的能力提高了可重构芯片的效率。
图5示意本发明的一种方法。在这一实例中,分配一个算法的各个部分并把其置于可重构结构上。在一实施例中,一个计算机程序(诸如高级语言C所写的程序)可分成许多部分被载入到可重构芯片上。这一过程可以用手工或计算机程序来完成。在步骤62中,决定用于完成一部分算法的多重配置,这些配置随着时间和资源的使用而不同。在一实施例中,提出了算法部分的硬件描述。把硬件描述映射到可重构芯片的配置中。这些配置可存储在配置库中。
主要有两种不同的使用本发明系统的调度装置。在算法运行之前一个静态调度装置运行,并且不能考虑算法产生的数据。在运行过程中一个动态调度装置运行,并且能够考虑算法产生的数据。在步骤64的静态调度装置中,调度可重构结构,选择可用资源和时间的最佳配置。步骤66里,在可重构芯片上运行算法,调度装置根据资源可用性从配置组中选择最佳配置。
图6和7示意本发明系统的一个进一步实施例。图7示意图6的实例的一个调度。在这个实例中,需要完成功能1、2、3。这些功能中的每一个都与具有不同时间和资源值的多重配置相关联。功能1可以使用一个芯片、三个时间单位的配置或三个芯片、两个时间单位的配置来实现。功能2可以使用两个芯片、五个时间单位的配置或一个芯片、十个时间单位的配置来实现。功能3可以使用两个芯片、两个时间单位的配置或一个芯片、六个时间单位的配置来实现。
在这个实例中,功能1使用一个芯片、三个时间单位的配置来实现;功能2使用两个芯片、五个时间单位的配置来实现。这样使得功能3可以在两个芯片、两个时间单位或一个芯片、六个时间单位的配置之间进行选择。
现在参看图7,块70完成功能1,块72完成功能2。注意选择的是一个芯片、六个时间单位,即使消耗了较多的芯片时间单位,但是为完成相应的功能,实际上比两个芯片、两个时间单位运行地更好。如图7所示,不是使用块76而是使用块74来完成功能3。
调度装置可以是利用资源和时间指示使两种配置之一适应资源调度的软件。需要注意,图6和7所示的实例的配置都是矩形,这是因为在每个时间单位内使用了全部资源。这并不是必需的情况。
为了操作,调度装置考虑整个系统的效率问题。管理效率的一种方式就是减少一个特定算法所耗费的时间单位数量。通过给不同的调度配送不同的配置,该系统可以更有效地加速可重构芯片的操作时间。与调度装置有关的其它问题包括一些依赖。在其它功能完成之前,如果要完成特定功能,某些情况下通常选择一个较快配置,这一配置甚至与使用较少资源时间块的配置相对立。
该领域具有通常技能的人士将意识到,在不偏离其精神和实质的情况下,本发明能够以其它特定形式来实现。因此,本文提到的实施例从各方面来讲都是例证性的而不是限制性的。所附的权利要求书阐明的是本发明的范围,而不是前面所述,并且等同的含义和范围之内的所有变化都被包含在其内。
权利要求
1.一种方法包括为可重构芯片实现一个功能,提供多重可能的配置,这些配置有不同的时间和资源需求;在一个调度装置中,利用这些配置的时间和资源需求,选择一种配置在可重构芯片中实现一个功能;在可重构芯片中载入这个配置。
2.如权利要求1所述的方法,其中不同的配置存储在一个配置库中。
3.如权利要求1所述的方法,其中配置选择为于加速一个算法的整个运行。
4.如权利要求1所述的方法,其中资源就是各个芯片。
5.如权利要求1所述的方法,其中为每一个配置存储时间和资源需求的指示。
6.如权利要求1所述的方法,其中调度装置是一个动态调度装置。
7.如权利要求1所述的方法,其中调度装置是一个静态调度装置。
8.如权利要求1所述的方法,其中调度被用来决定可重构芯片的可用时间片和资源。
9.如权利要求1所述的方法,其中调度装置检查在调度中的可用资源和时间片。
10.如权利要求1所述的方法,其中可重构芯片包括一个可重构的结构。
11.如权利要求1所述的方法,其中可重构芯片包括多个芯片。
12.如权利要求1所述的方法,其中可重构芯片包括一个处理器。
13.如权利要求12所述的方法,其中处理器运行一个动态调度装置。
14.一个可重构芯片的调度装置,该调度装置用于从多重配置组中选择一个配置,每个多重配置适合在可重构芯片上完成相同的功能,这些配置有不同的时间和资源需求,其中调度装置利用配置的可用资源及时间和资源需求的调度指示来选择可重构芯片要载入的配置。
15.如权利要求14所述的调度装置,其中调度装置可以访问为单一功能而包含多重配置的库。
16.如权利要求14所述的调度装置,其中调度装置用于加速可重构芯片的整个运行。
17.如权利要求14所述的调度装置,其中资源就是可重构芯片上的各个芯片。
18.如权利要求14所述的调度装置,其中配置的时间和资源需求的指示被存储。
19.如权利要求14所述的调度装置,其中调度装置是一个动态调度装置。
20.如权利要求14所述的调度装置,其中调度装置是一个静态调度装置。
21.如权利要求14所述的调度装置,其中调度装置从这个调度中决定可用时间片和资源,并检查可用资源和时间片。
22.如权利要求14所述的调度装置,其中调度装置作为可重构芯片处理器上的一个动态调度装置来运行。
全文摘要
本发明描述一个可重构芯片的调度装置,其中存储了单一功能的多重配置。该调度装置可以选择任何一个配置。该系统提高了可重构芯片运行的效率。
文档编号G06F15/76GK1568460SQ02803322
公开日2005年1月19日 申请日期2002年9月16日 优先权日2001年9月14日
发明者C·B·格林柏格 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1