可重构装置及其方法、信息处理设备及其控制方法

文档序号:6364434阅读:144来源:国知局
专利名称:可重构装置及其方法、信息处理设备及其控制方法
技术领域
本发明涉及ー种可重构装置、处理分配方法、处理配置方法、信息处理设备及其控制方法。
背景技术
传统上,提出了ー种包括所制造的LSI电路设备的、可以通过改变内部电路结构来改变该电路所执行的处理内容的可重构装置。由于可以改变所制造的LSI电路设备的处理,因而不必随着规格的改变而重新制造LSI。由于可以降低制造成本或缩短开发周期,因而当前在各种领域使用这类可重构装置。

代表性的可重构装置安装有许多LUT (查找表)或许多处理元件。各元件都与诸如多路复用器等的切換元件连接。注意,将用于使诸如LUT、处理元件或切換元件等的各结构元件进行动作的设置统称为电路结构信息。尽管存在用于生成电路结构信息的各种方法,但是这些方法中的许多方法顺次执行(I)被称为技术映射的逻辑分配处理的步骤、(2)在各个结构元件中物理地对处理进行配置的步骤、以及(3)对各个结构元件进行路由的步骤。通过执行这三个步骤,最終生成电路结构信息。在逻辑处理分配步骤(I)中,将处理分配给结构元件。更具体地,在无需指定物理结构元件的情况下将各处理分配给逻辑结构元件。作为顺序改变操作用的指标,通常使用电路的面积、工作速度或功耗。在配置步骤(2)中,确定执行各处理的物理分配、即可重构装置内的结构元件。根据配置了具有数据输入/输出关系的处理的处理元件之间的距离,延迟时间(最大工作频率)由于数据通信所涉及的切換元件的数量的变化而明显改变。为缩短延迟时间,通常重要的是将具有输入/输出关系的处理配置在相互尽可能靠近的处理元件中。在路由步骤(3)中,通过具有数据通信输入/输出关系的处理元件之间的数据通信用的切換元件来确定路由。由干与配置步骤相比,进行更详细的路由,因而重要的确定路由以缩短处理元件之间的延迟时间。近年来,随着集成程度的提高,可重构装置中可执行的处理的规模増大。另外,对处理本身的要求变得复杂和精密,因此,在ー个可重构装置中可能难以一次执行所有处理。为解决该问题,存在一种用于在ー个可重构装置中时分并顺次执行处理的方法。更具体地,对期望的处理进行分割,并且生成与分割后的处理相对应的电路结构信息。此后,基于该电路结构信息,顺次执行可重构装置的电路结构的改变操作和处理。这使得能够在可重构装置中执行大規模的处理。然而,在毎次改变电路结构的情况下,总处理时间延长,因而使速度性能劣化。当处理分割数量大时,这也使得处理速度劣化。作为用于解决该问题的方法,存在ー种多上下文可重构装置(multicontextreconfigurable device) 0上下文表示电路结构信息,并且多上下文可重构装置表示安装有用于存储多个电路结构信息的存储器的可重构装置。当改变电路结构时,可以通过切換存储器来重构装置,并且可以进行高速切換,因而显著缩短了电路的重构时间。然而,由于需要安装电路结构信息用的附加存储器,因而电路规模变大。
为解决该问题,日本专利3558119号提出了一种基于骨架电路技术(skeletoncircuit technique)的方法作为用于缩短重构时间的方法。在该方法中,预先在可重构装置中生成被称为基于优先级电路的电路结构信息。注意,基于优先级电路表示下面的电路结构信息,该电路结构信息包括所有的多个电路结构信息共用的共用电路部分以及不是多个电路共用的且在可重构装置上不共享电路结构信息的非排他独立电路部分。通过仅对可重构装置的电路的不同进行部分重构,构建了进行处理所需的电路。与多上下文型相比,由于不需要配置用的附加存储器,因而该方法不会增大电路規模。可重构装置通常可以执行各种类型的用途,并且由于用途的不同,共同部分少。要重构的电路结构信息的数量根据用途而改变。在日本专利3558119号所述的基于优先级电路生成中,在共同部分少或者电路结构信息的数量大且显著超出可重构装置的电路规模的情况下,难以有效地缩短用于改变电路结构的时间段。

发明内容
本发明是考虑到上述问题而作出的,并且提供了通过考虑电路结构改变顺序而在 不增大电路规模的情况下有效地缩短电路改变时间段的可重构装置、处理分配方法、处理配置方法、信息处理设备及其控制方法。根据本发明的第一方面,提供一种处理分配方法,用于针对包括多个结构元件的可重构装置,向各结构元件分配处理,所述处理分配方法包括以下步骤数据流程输入步骤,用于输入至少两个不同的数据流程以及数据流程的执行顺序;约束步骤,用于输入所述结构元件的约束;以及处理分配确定步骤,用于确定处理分配,以使得基于所述结构元件的约束和所述执行顺序对所述结构元件进行重构所需的设置改变计数变小。根据本发明的第二方面,提供ー种可重构装置,其包括能够将用于实现数据流程的处理分配至的多个结构元件,所述可重构装置还包括数据流程输入单元,用于输入至少两个不同的数据流程以及数据流程的执行顺序;约束输入単元,用于输入所述结构元件的约束;以及处理分配确定单元,用于确定处理分配,以使得基于所述结构元件的约束和所述执行顺序对所述结构元件进行重构所需的设置改变计数变小。根据本发明的第三方面,提供ー种信息处理设备,其包括能够将用于实现数据流程的处理分配至的多个结构元件,所述信息处理设备还包括输入单元,用于输入用于通过所述多个结构元件实现第一数据流程的设置信息以及所述多个结构元件的配置信息;以及控制器,用于基于所述设置信息和所述配置信息,将用于实现所述第一数据流程的处理分配给所述多个结构元件,以使得与用于实现第二数据流程的设置之间要进行改变的结构元件的数量变小。根据本发明的第四方面,提供一种信息处理设备的控制方法,所述信息处理设备包括输入单元、控制器以及能够将用于实现数据流程的处理分配至的多个结构元件,所述控制方法包括以下步骤输入步骤,用于输入用于通过所述多个结构元件实现第一数据流程的设置信息以及所述多个结构元件的配置信息;以及控制步骤,用于基于所述设置信息和所述配置信息,将用于实现所述第一数据流程的处理分配给所述多个结构元件,以使得与用于实现第二数据流程的设置之间要进行改变的结构元件的数量变小。根据本发明的第五方面,提供一种处理配置方法,用于针对包括多个结构元件的可重构装置,确定执行数据流程的各处理的结构元件,所述处理配置方法包括以下步骤输入步骤,用于输入至少两个不同的数据流程以及数据流程的处理顺序;约束步骤,用于输入所述可重构装置的所述结构元件的约束;以及确定步骤,用于通过使用根据所述数据流程进行重构所需的设置改变计数以及基于所述数据流程的数据输入/输出的依赖关系的各结构元件之间的距离来确定所述结构元件的配置,从而确定用于执行所需处理的结构元件。根据本发明的第六方面,提供ー种可重构装置,用于基于根据上述处理配置方法所生成的设置信息而进行工作。根据本发明,可以通过生成电路结构信息以减少重构所需的设置的数量,在不会增大电路规模的情况下,缩短可重构装置的重构时间段。通过以下(參考附图)对典型实施例的说明,本发明的其它特征将变得明显。


图I是示出包括可重构装置的处理设备的结构的例子的图;图2是示出可重构装置的结构的例子的图;图3是示出可重构装置的元件之间的数据通信过程的例子的图;图4是示出处理元件的结构的例子的图;图5是示出配置命令的格式的例子的图;图6是示出存储在处理元件的配置存储器中的设置的概况的图;图7是示出用于读取/写设置的过程的流程图;图8是示出切换元件的结构的例子的图;图9是示出存储在切换元件的配置存储器中的设置的概况的图;图10是示出多个数据流程的顺次执行的时序图;图11是示出处理分配的概况的图;图12是示出根据第一实施例的用于执行数据流程的处理分配的概况的图;图13是示出根据第一实施例的用于执行处理分配的处理的流程图;图14是示出根据第二实施例的用于执行数据流程的处理分配的概况的图;图15是示出根据第三实施例的用于执行数据流程的处理分配的概况的图;图16是示出根据第四实施例的用于执行数据流程的处理分配的概况的图;图17是示出根据第五实施例的处理元件中的数据流程的处理的配置例子的图;图18是示出根据第五实施例的用于处理配置的处理元件阵列的模型例子的图;图19是示出根据第五实施例的用于执行多个数据流程的处理配置的概况的图;图20是示出根据第五实施例的用于执行处理配置的过程的流程图;图21是示出根据第六实施例的用于执行数据流程的处理配置的概况的图;图22是示出根据第七实施例的用于执行数据流程的处理配置的概况的图;图23是示出根据第八实施例的用于执行数据流程的处理配置的概况的图;图24是示出根据第九实施例的用于限制数据流程的处理可配置范围的概况的图;以及图25是示出用于创建电路结构信息的设备的结构的框图。
具体实施例方式下面将參考附图来详细说明应用本发明的优选实施例。图I是示出根据本发明实施例的具有可重构装置的系统的总体结构的例子的图。外部存储器101将电路结构信息106保持在其中。电路结构信息106包括用于使可重构装置105的元件进行动作的ー组设置。配置控制器102经由连接线104从存储器101获取电路结构信息106。经由连接线103将所获取的电路结构信息106发送给可重构装置105。注意,作为可重构装置105的例子,示出了处理元件阵列。下面将详细说明处理元件阵列的内部。然而,本发明不局限于各处理元件的以下结构或以下路由结构。图2是示出根据本实施例的用作可重构装置105的处理元件阵列的概况的图。在 可重构装置105中,以ニ维网格图案配置各自用作具有8个输入和8个输出的输入/输出处理部件的切换元件201,并且在切换元件201的网格内配置各自用作具有4个输入和4个输出的计算处理部件的处理元件202。在切換元件201a 201i各自的8个输入和8个输出中,通过连接线203a和203b,将四组各自的一个输入和ー个输出分别与东、西、南和北(右、左、下和上)方向上的其它四个切换元件201连接。此外,通过连接线204a和204b,将其它四组各自的一个输入和一个输出分别与东北、东南、西南和西北方向上的其它四个处理元件202双向连接。切换元件201a 201i和处理元件202a 202d通过连接线205在ー个方向上串联连接。对连接线203a、203b、204a和204b进行连接,以在切换元件201和处理元件202之间对要处理的数据进行通信。使用连接线205向切換元件201和处理元件202提供设置。基于这些设置,切換元件201确定要处理的数据的输入和输出目的地,并且处理元件202确定要处理的数据的处理内容及输入和输出目的地。注意,图2中的连接线203a、203b、204a、204b和205各自的箭头的方向表示数据的方向。切换元件201a 201i具有相同结构,并且处理元件202a 202d具有相同结构。图3示出使用有效信号和准备就绪信号的ニ线式握手协议作为连接线203a、203b、204a、204b和205各自的通信协议的例子。參考图3,在作为发送器侧的模块A 301和作为接收器侧的模块B 302之间连接有数据信号线303、有效信号线304和准备就绪信号线305。发送器侧经由有效信号线304针对接收器侧使用有效信号,以表示发送允许状态。接收器侧经由准备就绪信号线305针对发送器侧使用准备就绪信号,以表示数据接收允许状态。在该协议中,在模块A301的有效信号线304和模块B302的准备就绪信号线305这两者有效时的时钟的上升沿处,将数据信号线303的数据从模块A301发送至模块B302。在图3所示的波形中,分别在时刻306a、306b、306c和306d将数据A、B、C和D从模块A301传送至模块B302。图4示出处理元件202的结构。处理元件202包括配置単元401、输入单元402、计算单元403、输出单元404和临时缓冲器405。配置単元401对用于确定处理元件202的操作内容的设置进行管理。输入单元402基于配置単元401的设置执行输入处理。计算单元403基于配置単元401的设置执行计算处理。此外,计算单元403可以将处理结果保持在临时缓冲器405中,以再次输入给计算单元403。输出单元404基于配置単元401的设置执行输出处理。下面将更详细地说明处理元件202的操作。输入单元402通过连接线406从配置単元401获取用于确定输入目的地的设置。所获取的设置指定与外部连接的模块进行通信所要使用的输入端ロ。基于该信息,通过连接线204a-ne、204a-se、204a_sw或204a_nw获取要处理的数据。注意,附图标记ne、se、sw和nw分别表示各方向。连接线204a_ne与东北方向上配置的切换元件连接。连接线204a_se与在东南方向上配置的切换元件连接。连接线204a-sw与西南方向上配置的切换元件连接。连接线204a-nw与西北方向上配置的切换元件连接。通过连接线409将所获取的数据发送给计算単元403。计算单元403通过连接线407从配置単元401获取用于确定处理内容的设置。基于所获取的设置,计算单元403获取从输入单元402所发送的数据,并且执行所设置的处理。然后,计算单元403通过连接线410将处理后的数据发送给输出単元404。计算单元403具有至少ー个计算部件。计算部件包括例如诸如加法/減法部件、 比较器、乘法器、除法器或逻辑计算部件等的计算部件、这些部件的组合、或者这些部件和其它计算部件的组合。假定作为实际例子,计算单元403可以执行积和运算及比较运算,并且可以选择性地在一个运算中执行其中ー个处理。在积和运算中,単元403计算ab+cd。在比较运算中,如果a >b,则单元403输出c ;否则,単元403输出d。还将计算单元403配置成能够对于ー个输入重复使用计算部件。当重复使用计算部件时,通过连接线412将计算部件中所使用的处理结果临时保存在临时缓冲器中,然后通过连接线411将其再次输入给计算単元403。単元403在计算部件中对再次输入的数据执行处理。如稍后将要详细说明的那样,上述设置指定运算的类型、重复处理以及各个处理所需的变量a、b、c和d所參考的值或者变量a、b、c和d在其为固定值时的值。输出单元404通过连接线408获取表示处理后的数据的输出目的地的设置。所获取的设置指定与切換元件进行通信要使用的输出端ロ。基于该信息,通过连接线204b-ne、204b-se、204b-sw或204b_nw将数据输出给切换元件。注意,连接线204b_ne与东北方向上配置的切换元件连接。连接线204b-se与东南方向上配置的切换元件连接。连接线204b-sw与西南方向上配置的切换元件连接。连接线204b-nw与西北方向上配置的切换元件连接。接着将说明配置単元401的操作。配置単元401保持各处理元件202的唯一 ID。配置単元获取从输入侧的连接线205所发送的设置,在自身内对这些设置进行处理,并且通过输出侧的连接线205输出这些设置。配置単元401具有用于存储与其自身的ID相对应的设置的配置存储器413。图5示出发送至配置単元/从配置単元所接收到的设置的配置命令501。配置命令501包括读取/写模式502、ID503、配置地址504和设置值505。读取/写模式502是用于确定配置命令的读取/写处理的信号。ID503是用于确定要处理的处理兀件202的信号。配置地址504是用于指定保持配置単元401的设置的存储器内的地址的信号。设置值505是表示实际设置值的信号。基于实际基础架构来确定图5中的位宽度M、N、O和P。下面将更详细地说明基于上述结构的设置。參考图6,附图标记601表示与由图5的配置地址504所指定的地址相对应的配置存储器413的地址。附图标记602表示与图5的设置值505相对应的实际设置值。在本实施例中,将每ー值都称为设置。然而,本发明不局限于上述単元。在图6中,将与输入単元402、计算单元403和输出单元404相关联的设置保持在配置存储器413中。使用地址0x0000_0000 ( “Ox”表示十六进制数)处的设置值来确定输入单元402的输入目的地,并且基于该值来确定预定输入目的地。使用地址0χ0000_0004处的迭代次数来确定计算单元403中的计算迭代计数,并且基于该值来确定计算迭代计数。在本实施例中,假定多达四次计算。使用地址0χ0000_0008处的操作设置来确定第一次计算中执行的运算的类型,并且基于该值来判断是执行积和运算还是执行比较运算。使用地址0X0000_000c处的变量设置来确定第一次计算中的变量a的值的參考目的地。参考目的地的例子包括来自输入端ロ的输入值、配置存储器413中所保持的固定值、以及保持之前的计算结果的临时缓冲器的值。根据该地址处的值,将这些值中的一个输入给变量 a。类似于地址 0x0000_000c,使用地址 0x0000_0010、0x0000_0014 和 0x0000_0018处的变量设置来分别确定第一次计算中的变量b、c和d的值的參考目的地。当在第一次计 算中,地址0x0000_000c处所指定的參考目的地是固定值时,地址0x0000_001c处的參数具 有用于变量a的固定值。类似于地址0x0000_001c,在第一次计算中,对于变量b、c和d,使用地址 0x0000_0020、0x0000_0024 和 0x0000_0028 处的固定值。类似于地址0x0000_0008 0x0000_0028处与第一次计算相关联的设置,地址0x0000_002c 0x0000_0094处的值分别表示第二次计算、第三次计算和第四次计算中的设置值。最后,地址0x0000_0098处的输出选择值是用于确定输出单元404的输出目的地的设置值,并且基于该值来确定预定输出目的地。图7示出在配置单元中执行的处理过程。在步骤S701,输入配置命令501。在步骤S702,配置单元401判断输入的配置命令501所指定的ID503是否与其本身的ID —致。如果单元401在步骤S702判断为ID503与自身的ID不一致,则在步骤S711和S712在不执行任何处理的情况下将输入的配置命令501输出;否则,単元401在步骤S703判断读取/写模式502的值是否表示读取模式。如果该值不表示读取模式,则单元401在步骤S707判断该值是否表示写模式。如果均不表示这两个模式,则单元401在步骤S711和S712在不执行任何处理的情况下输出命令501。如果判断为该值表示读取模式,则单元401在步骤S704从配置存储器413读出由配置地址504所指定的数据。然后,単元401在步骤S705将读出的数据写入输入的配置命令501的设置值505中,并且在步骤S706输出配置命令501。如果判断为该值表示写模式,则单元401在步骤S708将输入的配置命令501的设置值505写入由配置地址504所指定的配置存储器413中。単元401在步骤S709不改变输入的配置命令501的值,并且在步骤S710原样输出该配置命令。针对ー个配置命令可以改变ー个设置值505。通过顺次发送配置命令,并且改变所有必要的设置值,实现了期望的处理。也就是说,基于设置的数量来确定处理内容的切換时间。
图8示出切换元件201的结构。切換元件201包括配置単元801和交叉开关802。配置単元801对用于确定数据所传送至的连接目的地的设置值进行管理。交叉开关802基于配置単元801的设置,以一一对应关系连接输入和输出。类似于处理元件202的配置単元401,配置单元801保持各切换元件201的唯一 ID。配置单元801获取从输入侧的连接线205所发送的设置值,在配置単元内执行处理,并且通过输出侧的连接线205输出设置值。配置単元801将所获取的设置保持在配置存储器804中。配置単元801的配置命令和处理过程分别与图5和7所示的配置命令和处理过程相同。交叉开关802通过连接线803从配置单元801获取用于确定数据输入和输出目的地的设置。切換元件201基于所获取的设置值,通过连接线 203a-w、203a-s、203b_e、203b_n、204b_ne、204b_se、204b_sw 或 204b_nw 来获取数据。通过所连接的连接线 203a-e、203a-n、203b-w、203b-s、204a-ne、204a-se、204a-sw 或204a-nw传送所获取的数据。注意,连接线203a_w和203a_s分别表示与西方向和南方向上配置的切換元件的连接线。连接线203b-e和203b-n分别表示与东方向和北方向上配置的切换元件的连接线。连接线203a_e和203a_n分别表示与东方向和北方向上配置的切换元件的连接线。连接线203b-w和203b-s分别表示与西方向和南方向上配置的切换元件的连接线。连接线204a-ne、204a-se、204a_sw和204a_nw分别表示与东北方向、东南方向、西南方向和西北方向上配置的处理元件的连接线。连接线204b-ne、204b-se、204b-sw和204b-nw分别表示与东北方向、东南方向、西南方向和西北方向上配置的处理元件的连接线。 图9示出配置存储器804中保持的、与切换元件201的交叉开关802的输入/输出的连接线相关联的设置。附图标记901表示与由图5的配置地址504所指定的地址相对应的存储器地址;并且附图标记902表示与图5的设置值505相对应的设置值。地址0X0000_0000处的连接设置具有用于确定来自连接线203a-w的输入被输出至的连接线 203a-e、203a-n、203b-w、203b-s、204a-ne、204a-se、204a-sw 或 204a_nw 的设置值。类似于地址0x0000_0000,使用地址0x0000_0004处的设置值来确定来自连接线203a_s的输入被输出至的连接线。类似于地址0x0000_0000,使用地址0x0000_0008处的设置值来确定来自连接线203b-e的输入被输出至的连接线。类似于地址0x0000_0000,使用地址0x0000_000c处的设置值来确定来自连接线203b-n的输入被输出至的连接线。类似于地址0x0000_0000,使用地址0x0000_0010处的设置值来确定来自连接线204b-ne的输入被输出至的连接线。类似于地址0x0000_0000,使用地址0x0000_0014处的设置值来确定来自连接线204b-se的输入被输出至的连接线。类似于地址0x0000_0000,使用地址0x0000_0018处的设置值来确定来自连接线204b-sw的输入被输出至的连接线。类似于地址0x0000_0000,使用地址0x0000_001c处的设置值来确定来自连接线204b-nw的输入被输出至的连接线。图10示出用于通过改变上述可重构装置的多个类型的结构来实现期望处理的时序图。图10是ー个可重构装置顺次执行多个不同的数据流程A Z的时序图。在本实施例中,执行数据流程输入以输入数据流程和数据流程的执行顺序。可一次分配给可重构装置的处理单位构成了本实施例中处理的数据流程。预先生成用于处理各数据流程的设置。可重构装置是基于针对自身预先生成的设置来进行重构的,并且利用该结构执行处理。以期望的执行顺序对数据流程执行这些处理。假定数据流程A经过了处理分配,并且数据流程B是处理分配对象。更具体地,參考用于执行经过了处理分配的数据流程A的设置值,然后确定数据流程B的处理分配。在通过參考数据流程A的处理分配而确定了数据流程B的处理分配之后,认为数据流程B经过了处理分配,并且数据流程C成为处理分配対象。更具体地,类似于数据流程B的处理分配的确定,參考用于执行经过了处理分配的数据流程B的设置值,然后确定数据流程C的处理分配。重复上述过程,使得能够对数据流程A Z执行处理分配。
说明数据流程的处理到可重构装置的处理元件的分配。数据流程的处理到处理元件的分配表示了用于将数据流程的各个处理逻辑分配给处理元件的方法。更具体地,如图11所示,确定了执行与数据流程的各节点1105相对应的处理内容的处理元件,并且还确定了执行顺序。在图11的左侧示出数据流程A。在图11的中间示出处理分配例子。在图11的右侧示出基于处理分配的图6所示的设置。如上所述,作为本实施例所述的处理元件的功能,假定了处理迭代计数、各处理的处理内容以及处理内容所需的固定值,并且实际地确定这些设置。假定最大处理迭代计数在本实施例中为4。将组IlOla 1104a分别按顺序分配给不同的处理元件202。基于组IlOla 1104a,分别确定处理元件202-1 202-4的设置 IlOlb 1104bο根据本发明,提供了用于降低在如图10所示在ー个可重构装置中切换处理内容(数据流程)时所需的、图11所示的设置的数量的处理分配方法。图12示出当将可重构装置中的处理从数据流程A切換成数据流程B时的处理元件202-1 202-4的设置改变的概况。假定数据流程1204的处理对应于时序图中的处理1201,并且已分配该处理。还假定数据流程1205的处理对应于时序图中的处理1203,并且数据流程1205是处理分配对象。数 据流程1204和1205的处理被分配至的处理元件202-1 202-4表示逻辑上相同的处理元件。在数据流程A的处理中,设置IlOlb 1104b分别与处理元件202-1 202-4相关联。在数据流程B的处理中,设置1206 1209分别与处理元件202-1 202-4相关联。在处理元件202-1中,在该时序图的从数据流程A到数据流程B的设置改变时间段1202期间,进行从设置IlOlb到设置1206的设置改变1210。在处理元件202-2中,在该时序图的从数据流程A到数据流程B的设置改变时间段1202期间,进行从设置1102b到设置1207的设置改变1211。在处理元件202-3中,在该时序图的从数据流程A到数据流程B的设置改变时间段1202期间,进行从设置1103b到设置1208的设置改变1212。在处理元件202-4中,在时序图的从数据流程A到数据流程B的设置改变时间段1202期间,进行从设置1104b到设置1209的设置改变1213。在本实施例中,为执行用于数据流程B的处理分配,參考经过了处理元件202-1 202-4中的处理分配的数据流程A。然后,以降低进行设置改变1210、1211、1212和1213所需的设置改变计数为目的,对于数据流程B执行处理分配。图25是示出用于在将数据流程A转变成数据流程B时的生成电路结构信息106的设备的结构的框图。參考图25,附图标记2501表示整体控制设备的CPU ;附图标记2502表示用于存储引导程序和BIOS的ROM ;附图标记2503表示用作CPU2501的工作区的用于存储OS(操作系统)和应用程序的RAM ;以及附图标记2504表示用于存储OS、用于创建电路结构信息106的应用程序、和各种类型的数据的硬盘驱动器(HDD)。键盘2505和鼠标2506各自用作用户接ロ。附图标记2507表示包含视频存储器和显示控制器的显示控制器;以及附图标记2508表示用于接收来自显示控制器2507的视频信号并进行显示的显示装置。附图标记2509表示用干与各种类型的外部装置进行通信的接ロ。例如,如果接ロ 2509与图I所示的外部存储器101连接,则可以将由该设备所创建的电路结构信息106写入外部存储器101中。
当接通具有上述结构的设备的电源时,CPU2501执行存储在R0M2502中的引导程序,将存储在HDD2504中的OS装载进RAM,然后启动用于创建电路结构信息106的应用程序,从而使该设备用作电路结构信息创建设备。
下面将參考图13所示的流程图来说明用作电路结构信息创建设备的设备的处理过程。尽管该过程是基于模拟退火的处理分配方法的例子,但是本发明不局限于此。可以使用诸如遗传算法等的近似解和各种数值最优化方法。将參考图12说明用于解释该流程图所需的元件。假定i是表示每ー数据流程的索引,j是处理元件的索引,并且k是与图6的地址601相对应的处理元件内的存储器的配置地址。然后,Ui,ふ,表示各存储 器内的设置值。假定数据流程i0经过了处理分配,并且数据流程il是处理分配対象。在步骤S1301,输入多个数据流程和它们的执行顺序关系(i的顺序)。对于经过了处理分配的数据流程,同样输入其设置值Uic^, k。在本实施例中,数据流程1204已经过了处理分配,并且各处理元件的存储器内的与数据流程1204相关联的设置值是固定值。数据流程1205是处理分配対象。在步骤S1302,输入所需规格和硬件约束。硬件约束包括诸如可重构装置内的处理元件的数量、处理元件中可处理的处理迭代计数以及计算单元的类型等的硬件配置的约束。所需规格包括诸如使用的处理元件的数量、处理迭代计数和可使用的计算单元的类型等的在硬件使用中应受限制的项。约束还包括在处理的输入和输出之间的顺序关系中没有矛盾以及没有死锁。对于经过了处理分配的数据流程,约束包括不改变处理分配。注意,本发明不局限于上述約束。在步骤S1303,对于作为处理分配对象的数据流程执行处理分配。作为初始处理分配方法,使用用于随机分配处理的方法或用于按照数据流程的深度方向顺序分配处理的方法。然而,本发明不局限于此。除在初始分配中以外,还基于模拟退火改变处理分配,从而随机选择和交换两个配置。在本实施例中,对于作为处理分配对象的数据流程1205执行初始处理分配或处理分配改变。对于经过了处理分配的数据流程,根据约束不进行处理分配改变。在步骤S1304,判断处理分配结果是否满足步骤S1302输入的所需规格。如以下等式⑴所示,如果满足约束,则在惩罚变量Ptl中设置O ;否则,在惩罚变量Po中设置惩罚值cpQ。 惩罚变量
权利要求
1.一种处理分配方法,用于针对包括多个结构元件的可重构装置,向各结构元件分配处理,所述处理分配方法包括以下步骤 数据流程输入步骤,用于输入至少两个不同的数据流程以及数据流程的执行顺序; 约束步骤,用于输入所述结构元件的约束;以及 处理分配确定步骤,用于确定处理分配,以使得基于所述结构元件的约束和所述执行顺序对所述结构元件进行重构所需的设置改变计数变小。
2.根据权利要求I所述的处理分配方法,其特征在于,所输入的数据流程中的至少ー个数据流程经过了处理分配,并且通过參考经过了处理分配的数据流程,对没有经过处理分配的数据流程执行处理分配。
3.根据权利要求I所述的处理分配方法,其特征在于,对于所输入的数据流程中没有经过处理分配的多个数据流程统ー执行处理分配。
4.根据权利要求I所述的处理分配方法,其特征在于,针对各数据流程或者用于确定所述结构元件的处理内容的设置,对所述设置改变计数进行加权。
5.ー种可重构装置,其包括能够将用于实现数据流程的处理分配至的多个结构元件,所述可重构装置还包括 数据流程输入单元,用于输入至少两个不同的数据流程以及数据流程的执行顺序; 约束输入単元,用于输入所述结构元件的约束;以及 处理分配确定单元,用于确定处理分配,以使得基于所述结构元件的约束和所述执行顺序对所述结构元件进行重构所需的设置改变计数变小。
6.ー种信息处理设备,其包括能够将用于实现数据流程的处理分配至的多个结构元件,所述信息处理设备还包括 输入单元,用于输入用于通过所述多个结构元件实现第一数据流程的设置信息以及所述多个结构元件的配置信息;以及 控制器,用于基于所述设置信息和所述配置信息,将用于实现所述第一数据流程的处理分配给所述多个结构元件,以使得与用于实现第二数据流程的设置之间要进行改变的结构元件的数量变小。
7.根据权利要求6所述的信息处理设备,其特征在干,所述输入単元还输入用于通过所述多个结构元件实现包括所述第一数据流程和所述第二数据流程的多个数据流程的设置信息以及所述多个数据流程的执行顺序。
8.根据权利要求7所述的信息处理设备,其特征在于,所述控制器包括 候选确定単元,用于基于所述执行顺序,针对所述多个数据流程,确定用于向所述结构元件分配处理的分配候选; 改变计数计算单元,用于基于所述设置信息和所述配置信息,计算各所述分配候选的分配的改变计数;以及 确定单元,用于确定所述结构元件的处理分配,以使得所述改变计数变小。
9.根据权利要求8所述的信息处理设备,其特征在于,所述确定単元包括 判断単元,用于基于所述配置信息判断是否能够将所述分配候选分配给所述结构元件; 惩罚值确定单元,用于当所述判断単元判断为不能分配所述分配候选时,确定惩罚值; 评价值计算单元,用于基于所述改变计数和所述惩罚值,计算用于确定分配的评价值;以及 评价值判断単元,用于判断所述评价值是否不大于阈值, 其中,当判断为所述评价值不大于所述阈值时,所述确定単元将所述分配候选确定为所述结构元件的处理分配。
10.根据权利要求8所述的信息处理设备,其特征在干,当所述多个数据流程中的至少ー个数据流程经过了所述结构元件的处理分配时,所述改变计数计算单元參考该处理分配,并且针对各所述分配候选,计算没有进行所述结构元件的处理分配的、下一要执行的数据流程的处理分配的改变计数。
11.根据权利要求8所述的信息处理设备,其特征在于,所述改变计数计算单元针对各所述分配候选,统ー计算没有进行所述结构元件的处理分配的数据流程的处理分配的改变计数。
12.根据权利要求8所述的信息处理设备,其特征在于,所述输入単元还输入没有进行所述结构元件的处理分配的数据流程在所述执行顺序中的插入目的地位置,以及 所述改变计数计算单元參考要插入的数据流程的处理前后所处理的、经过了处理分配的数据流程的处理分配,并且针对各所述分配候选,计算没有进行所述结构元件的处理分配的数据流程的处理分配的改变计数。
13.根据权利要求8所述的信息处理设备,其特征在于,所述改变计数计算单元通过针对各数据流程或者各结构元件的处理赋予权重,计算所述改变计数。
14.一种信息处理设备的控制方法,所述信息处理设备包括输入单元、控制器以及能够将用于实现数据流程的处理分配至的多个结构元件,所述控制方法包括以下步骤 输入步骤,用于输入用于通过所述多个结构元件实现第一数据流程的设置信息以及所述多个结构元件的配置信息;以及 控制步骤,用于基于所述设置信息和所述配置信息,将用于实现所述第一数据流程的处理分配给所述多个结构元件,以使得与用于实现第二数据流程的设置之间要进行改变的结构元件的数量变小。
15.一种处理配置方法,用于针对包括多个结构元件的可重构装置,确定执行数据流程的各处理的结构元件,所述处理配置方法包括以下步骤 输入步骤,用于输入至少两个不同的数据流程以及数据流程的处理顺序; 约束步骤,用于输入所述可重构装置的所述结构元件的约束;以及 确定步骤,用于通过使用根据所述数据流程进行重构所需的设置改变计数以及基于所述数据流程的数据输入/输出的依赖关系的各结构元件之间的距离来确定所述结构元件的配置,从而确定用于执行所需处理的结构元件。
16.根据权利要求15所述的处理配置方法,其特征在于,所述约束包括用于根据所述数据流程的配置和所述可重构装置的结构来对所述数据流程的各处理限制可配置范围的约束。
17.根据权利要求15所述的处理配置方法,其特征在于,针对各数据流程或者用于确定所述结构元件的处理内容的设置,对所述设置改变计数进行加权。
18.根据权利要求15所述的处理配置方法,其特征在于,基于所述结构元件,对所述结构元件之间的连接距离进行加权。
19.ー种可重构装置,用于基于根据权利要求15所述的处理配置方法所生成的设置信息而进行工作。
全文摘要
本发明涉及可重构装置及其方法、信息处理设备及其控制方法。根据本发明,在改变可重构装置的电路结构时,在不会由于添加机构而增大电路规模的情况下,避免对处理内容的依赖,同时缩短电路结构改变时间段。考虑到多个数据流程之间的执行顺序关系,在约束范围内降低改变处理时的电路结构改变所需的设置改变计数,从而缩短电路结构改变时间段。
文档编号G06F15/00GK102693207SQ20121002789
公开日2012年9月26日 申请日期2012年2月8日 优先权日2011年2月8日
发明者谷内出悠介 申请人:佳能株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1