1.一种包括设备的计算系统,所述设备包括:
非易失性存储器,其被划分为多个可选择的位置,所述非易失性存储器中的每个比特被配置为具有被独立地编程和擦除的对应的数据,其中所述可选择的位置被分组成多个数据线;
耦合到所述非易失性存储器的一个或多个处理单元,所述处理单元中的每一个与所述多个数据线中的数据线相关联,所述一个或多个处理单元包括一个或多个可重新配置的处理单元,所述一个或多个处理单元被配置为:
基于一个或多个指令集,操纵所述多个数据线中的相关联的数据线中的数据以生成结果,所述结果被存储在被保留以存储所述操纵的结果的所述相关联的数据线的可选择的位置中;
确定所述指令集中的哪些指令集被所述一个或多个处理单元最频繁用来操纵数据;以及
将所述一个或多个可重新配置的处理单元重新配置为使用所确定的最频繁使用的指令集来操纵数据。
2.根据权利要求1所述的计算系统,其中,为了确定所述指令集中的哪些指令集被所述一个或多个处理单元最频繁用来操纵数据,所述一个或多个处理单元被配置为:
维护队列,所述队列包括对于相应的指令集的、指示相应的指令集被用于操纵数据的相对频率的相应的使用值;以及
从具有最高的相应的使用值的队列中选择一组指令集作为用于重新配置所述一个或多个可重新配置的处理单元的最频繁使用的指令集。
3.根据权利要求2所述的计算系统,其中,所述队列还包括相应的指令集中的一个或多个指令集的相应的标识符。
4.根据权利要求3所述的计算系统,其中,所述一个或多个指令集的所述标识符包括所述一个或多个指令集的散列值、或所述一个或多个指令集的全局唯一标识符(GUID)。
5.根据权利要求3所述的计算系统,其中,为了维护所述队列,所述一个或多个处理单元被配置为:
确定特定指令集已被用于操纵数据;
响应于确定所述队列包括与所述特定指令集相对应的标识符:
增加所述特定指令集的使用值;以及
减少除了所述特定指令集之外的指令集的使用值;以及
响应于确定所述队列不包括与所述特定指令集相对应的标识符:
在所述队列中插入与所述特定指令集相对应的所述标识符;
增加所述特定指令集的使用值;以及
减少除所述特定指令集之外的指令集的使用值。
6.根据权利要求5所述的计算系统,其中,响应于确定所述队列不包括与所述特定指令集相对应的标识符,所述一个或多个处理单元被配置为:
响应于确定被包括在所述队列中的标识符的数量大于使用值的阈值数量,将具有最低使用值的标识符从所述队列中移除。
7.根据权利要求2所述的计算系统,其中,为了维护所述队列,所述一个或多个处理单元被配置为:
对于所述数据线中的每个相应的数据线维护相应的队列,相应的队列包括对于相应的指令集的、指示相应的指令集被用于操纵相应的数据线中的数据的相对频率的相应的使用值。
8.根据权利要求1所述的计算系统,其中,所述一个或多个处理单元被配置为:
周期性地确定所述指令集中的哪些指令集被所述一个或多个处理单元最频繁用来操纵数据;以及
周期性地将所述一个或多个可重新配置的处理单元重新配置为使用所确定的最频繁使用的指令集来操纵数据。
9.根据权利要求1所述的计算系统,其中,所述可编程处理单元包括现场可编程门阵列(FPGA)。
10.根据权利要求1所述的计算系统,其中,所述一个或多个处理单元包括一个或多个专用处理单元,其中,所述一个或多个专用处理单元中的专用处理单元基于特定指令集来操纵数据所花费的时间比所述一个或多个可重新配置的处理单元中的可重新配置的处理单元基于相同的特定指令集来操纵数据所花费的时间更长。
11.根据权利要求1所述的计算系统,其中,编程所述多个可选择的位置中的特定的可选择的位置处的数据不改变被存储在所述多个可选择的位置中的其它可选择的位置处的数据,并且其中擦除所述多个可选择的位置中的特定的可选择的位置处的数据不改变被存储在所述多个可选择的位置中的其它可选择的位置处的数据。
12.一种方法,包括:
由耦合到非易失性存储器的一个或多个处理单元、并基于一个或多个指令集和所述多个数据线中的相关联的数据线中的数据来计算对应的结果,其中所述非易失性存储器被划分为多个可选择的位置,所述可选择的位置被分组成多个数据线,其中所述非易失性存储器中的每比特被配置为具有被独立地编程和擦除的对应的数据,其中所述处理单元中的每个处理单元与所述多个数据线中的数据线相关联,并且其中所述一个或多个处理单元包括一个或多个可重新配置的处理单元;
基于所述对应的结果,选择性地改变被保留以存储所述对应的结果的所述相关联的数据线的选择的位置中的数据;
维护队列,所述队列包括对于相应的指令集的、指示相应的指令集被用于计算结果的相对频率的相应的使用值;
从具有最高的相应的使用值的队列中选择一组指令集作为用于重新配置所述一个或多个可重新配置的处理单元的最频繁使用的指令集;以及
将所述一个或多个可重新配置的处理单元重新配置为使用所选择的一组指令集来计算结果。
13.根据权利要求12所述的方法,其中,所述队列还包括相应的指令集中的一个或多个指令集的对应的标识符。
14.根据权利要求13所述的方法,其中,所述一个或多个指令集的标识符包括所述一个或多个指令集的散列值、或所述一个或多个指令集的全局唯一标识符(GUID)。
15.根据权利要求13所述的方法,其中,维护所述队列包括:
确定所述特定指令集正被用于或已被用于计算结果;
响应于确定所述队列包括与所述特定指令集相对应的标识符:
增加所述特定指令集的使用值;以及
减少除所述特定指令集之外的指令集的使用值;以及
响应于确定所述队列不包括与所述特定指令集相对应的标识符:
在所述队列中插入与所述特定指令集相对应的所述标识符;
增加所述特定指令集的使用值;以及
减少除所述特定指令集之外的指令集的使用值。
16.根据权利要求15所述的方法,其中,响应于确定所述队列不包括与所述特定指令集相对应的标识符,所述方法还包括:
响应于确定被包括在所述队列中的标识符的数量大于使用值的阈值数量,将具有最低使用值的标识符从所述队列中移除。
17.根据权利要求12所述的方法,其中,维护所述队列包括:
对于所述数据线中的每个相应的数据线维护相应的队列,其中相应的队列包括对于相应的指令集的、指示相应的指令集被用于计算相应的数据线的结果的相对频率的相应的使用值。
18.根据权利要求12所述的方法,其中,所述可编程处理单元包括现场可编程门阵列(FPGA)、ASIC、DSP、基本电路逻辑、或ALU。
19.一种设备,包括:
用于基于一个或多个指令集以及非易失性存储器的多个数据线中的相关联的数据线中的数据来计算对应的结果的装置,其中所述非易失性存储器被划分为多个可选择的位置,所述可选择的位置被分组成多个数据线,其中所述非易失性存储器中的每个比特被配置为具有被独立地编程和擦除的对应的数据,并且其中所述用于计算的装置包括一个或多个可重新配置的处理单元;
用于基于相应的结果选择性地改变被保留以存储所述对应的结果的所述相关联的数据线的选择的位置中的数据的装置;
用于维护队列的装置,所述队列包括对于相应的指令集的、指示相应的指令集被用于计算结果的相对频率的相应的使用值;
用于从具有最高的相应的使用值的所述队列中选择一组指令集作为用于重新配置所述一个或多个可重新配置的处理单元的最频繁使用的指令集的装置;以及
用于将所述一个或多个可重新配置的处理单元重新配置为使用所选择的一组指令集来计算结果的装置。
20.根据权利要求19所述的设备,其中,用于维护所述队列的装置包括:
用于确定特定指令集正被用于或已被用于计算结果的装置;
用于响应于确定所述队列包括与所述特定指令集相对应的标识符、增加所述特定指令集的使用值的装置;
用于响应于确定所述队列包括与所述特定指令集相对应的标识符、减少除所述特定指令集之外的指令集的使用值的装置;
用于响应于确定所述队列不包括与所述特定指令集相对应的标识符、在所述队列中插入与所述特定指令集相对应的所述标识符的装置;
用于响应于确定所述队列不包括与所述特定指令集相对应的标识符、增加所述特定指令集的使用值的装置;
用于响应于确定所述队列不包括与所述特定指令集相对应的标识符、减少除所述特定指令集之外的指令集的使用值的装置;以及
用于响应于确定所述队列不包括与所述特定指令集相对应的标识符并且响应于确定被包括在所述队列中的标识符的数量大于使用值的阈值数量、将具有最低使用值的标识符从队列中移除的装置。