当前位置: 首页 > 专利查询>英特尔公司专利>正文

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

技术编号:2866889 阅读:231 留言:0更新日期:2012-04-11 18:40
本发明专利技术描述一个可重构芯片的调度装置,其中存储了单一功能的多重配置。该调度装置可以选择任何一个配置。该系统提高了可重构芯片运行的效率。(*该技术在2022年保护过期,可自由使用*)

【技术实现步骤摘要】

技术介绍
本专利技术涉及用于执行一个算法的可重构芯片。用于可重构芯片的一个软件元素就是一个调度装置。调度装置解释一个程序的各个部分,调度各项功能并将其载入到可重构芯片的不同资源。在一实施例中,为可重构芯片的使用来优化这个功能,调度装置决定功能配置的载入之处。通过可重构芯片的使用,可得到一个改进的调度装置。
技术实现思路
本专利技术的一个实施例包含利用多重可能配置在可重构芯片上实现一个特定功能。不是采用一个单一功能的优化执行,而是决定使用具有不同时间和资源需求的多重配置。调度装置可选择把这些配置的一个来载入到可重构芯片,该可重构芯片是以这些配置的时间和资源需求,以及可重构芯片的可用时间片和资源为基础的。可重构芯片的可用资源在任何时候都是变化的。例如,在某些情况下,需要利用多种配置,这些配置使用大量资源,但是并不相当长时间地使用这些资源。而在其它情况下,利用一种使用较少资源但却占用更长时间的配置则更为有效。调度装置通过对多种配置的访问,能够以一种更有效的方式把功能分配给可重构芯片,来加速芯片的操作,这是因为在任何时候已利用了全部资源。本专利技术的系统优选利用指示,提供配置的时间和资源需求的信息,以及时间片和资源调度的信息。调度需适合这些多重配置之一,这一调度是基于多重配置的时间和资源需求的指示。随着装置操作的运行变化,调度装置能够是一个动态的调度装置,或者能够是在编译过程中所产生的一个静态调度装置。在一实施例中,该专利技术包含一个可重构芯片的调度装置。这个调度装置适合从一组多重配置中选择一个配置。每一个配置适合实现可重构芯片的相同功能,这些配置有不同的时间和资源需求,其中,调度装置利用可用资源,以及配置的时间和资源需求的调度指示来选择载入到可重构芯片上的配置。附图说明图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.一种方法包括为可重构芯片实现一个功能,提供多重可能的配置,这些配置有不同的时间和资源需求;在一个调度装置中,利用这些配置的时间和资源需求,选择一种配置在可重构芯片中实现一个功能;在可重构芯片中本文档来自技高网...

【技术保护点】
一种方法包括:为可重构芯片实现一个功能,提供多重可能的配置,这些配置有不同的时间和资源需求;在一个调度装置中,利用这些配置的时间和资源需求,选择一种配置在可重构芯片中实现一个功能;在可重构芯片中载入这个配置。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:CB格林柏格
申请(专利权)人:英特尔公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1