1.一种处理设备,包括: 存储器; 执行单元,被配置为执行发送指令以向所述处理设备外部发送数据; 发送引擎,包括: 一个或多个寄存器,用于存储定义可变步幅模式的一个或多个配置值,所述可变步幅模式用于更新指针,所述指针指向所述存储器要被访问的地址以将所述数据发送到所述处理设备外部;以及 处理电路,被配置为响应于所述执行单元对所述发送指令的一个或多个实例的执行: 使得在由所述指针标识的所述存储器中的位置处的多个所述数据项被发送到所述处理设备外部的至少一个目的地;以及 在所述多个数据项之一的每次发送之间,根据所述可变步幅模式更新所述指针, 其中,所述执行单元被配置为执行至少一个指令以更新由所述发送引擎使用的所述可变步幅模式,其中更新所述可变步幅模式包括将所述一个或多个配置值中的至少一个配置值更新为一个或多个新值,以供所述发送引擎响应于由所述执行单元执行的所述发送指令的另外的实例来执行一个或多个后续发送。
2.根据权利要求1所述的处理设备,其中所述至少一个指令包括具有组合的发送和更新功能的指令,当由所述执行单元执行时,所述指令使得: 所述一个或多个配置值中的至少一个配置值的所述新值将被提供给所述发送引擎以供所述发送引擎在执行所述一个或多个后续发送时使用;以及 从所述存储器发送另外的数据项。
3.根据权利要求1或2所述的处理设备,其中当由所述执行单元执行时,所述至少一个指令使得所述一个或多个配置值中的至少一个配置值的所述新值被复制到所述一个或多个寄存器的部分,而所述发送引擎继续使用所述一个或多个配置值中的至少一个配置值的先前值来更新所述指针。
4.根据权利要求3所述的处理设备,其中所述执行单元被配置为在将所述新值复制到所述一个或多个寄存器的所述部分之后,使得所述新值替换所述先前值以供所述发送引擎使用。
5.根据前述权利要求中任一项所述的处理设备,其中,所述一个或多个配置值中的至少一个配置值包括以下各项中的至少一个: 步幅大小值,其定义所述存储器中要由所述发送引擎连续发送的两个所述数据项之间的间隔;以及 重复值,其定义在应用不同大小的步幅之前所述发送引擎将应用特定大小的步幅的次数。
6.根据前述权利要求中任一项所述的处理设备,其中所述存储器被配置为存储经编译的代码集,所述经编译的代码集包括所述发送指令的所述一个或多个实例和用于更新所述可变步幅模式的至少一个指令的一个或多个实例, 其中,所述经编译的代码集被排列成使得所述发送指令的所述一个或多个实例中的每一个实例在被分配的时钟周期期间被执行,所述被分配的时钟周期是接收到同步信号之后的预定数量的处理器时钟周期, 其中,所述经编译的代码集被排列成使得用于更新所述可变步幅模式的所述至少一个指令的一个或多个实例中的每一个实例在被分配的时钟周期期间被执行,所述时钟周期是接收到所述同步信号之后的预定数量的处理器时钟周期。
7.根据前述权利要求中任一项所述的处理设备,其中,所述处理设备包括布线,所述布线被配置为沿着回送路径传输来自存储器的要被存储回所述存储器的另外的数据, 其中所述发送引擎的所述处理电路被配置为响应于所述执行单元对所述发送指令的附加一个或多个实例的执行: 通过经由所述回送路径以对所述发送引擎活动的当前可变步幅模式所确定的顺序发送多个所述另外的数据项,使得所述多个另外的数据项在所述存储器中被重新排列。
8.一种处理设备,包括: 存储器; 执行单元;以及 接收引擎,包括: 一个或多个寄存器,用于存储定义可变步幅模式的一个或多个配置值,所述可变步幅模式用于更新指针,所述指针指向所述存储器要被访问的地址以在所述处理设备处存储接收的数据;以及 处理电路,被配置为响应于在所述处理设备处接收到多个数据项: 使得所述多个数据项被存储在所述存储器中由所述指针标识的位置;以及 对于所述多个数据项之一的每次接收和存储,根据所述可变步幅模式更新所述指针, 其中,所述执行单元被配置为执行至少一个指令以更新由所述接收引擎使用的所述可变步幅模式,其中,更新所述可变步幅模式包括将所述一个或多个配置值中的至少一个配置值更新为一个或多个新值,所述一个或多个新值将由所述接收引擎用于存储在所述处理设备处接收的一个或多个另外的数据项。
9.根据权利要求8所述的处理设备,其中,所述至少一个指令包括具有组合的发送和更新功能的指令,当由所述执行单元执行时,所述指令使得: 所述一个或多个配置值中的至少一个配置值的所述新值将被提供给所述接收引擎以供所述接收引擎在存储所述一个或多个另外的数据项时使用;以及 从所述存储器发送传出数据项。
10.根据权利要求8或9所述的处理设备,其中,当由所述执行单元执行时,所述至少一个指令使得所述一个或多个配置值中的至少一个配置值的所述新值被复制到所述一个或多个寄存器的部分,而所述接收引擎继续使用所述一个或多个配置值中的至少一个配置值的先前值来更新所述指针。
11.根据权利要求10所述的处理设备,其中所述执行单元被配置为在将所述新值复制到所述一个或多个寄存器的所述部分之后,使得所述新值替换所述先前值以供所述接收引擎使用。
12.根据权利要求8至11中任一项所述的处理设备,其中所述一个或多个配置值中的至少一个配置值包括以下各项中的至少一个: 步幅大小值,其定义所述存储器中所述接收引擎连续存储数据项的位置之间的间隔;以及 重复值,其定义在应用不同大小的步幅之前所述接收引擎将应用特定大小的步幅的次数。
13.根据权利要求8至12中任一项所述的处理设备,其中,所述存储器被配置为存储经编译的代码集,所述经编译的代码集包括用于更新所述可变步幅模式的所述至少一个指令的一个或多个实例,其中,所述经编译的代码集被排列为使得所述至少一个指令的一个或多个实例中的每一个实例在被分配的时钟周期期间由所述执行单元执行,所述被分配的时钟周期是在所述处理设备处接收到同步信号之后的预定数量的处理器时钟周期。
14.根据权利要求8至13中任一项所述的处理设备,其中,所述处理设备包括布线,所述布线被配置为沿着回送路径传输来自所述存储器的要被存储回所述存储器的另外的数据, 其中,所述接收引擎的所述处理电路被配置为响应于经由所述回送路径接收到所述多个另外的数据项,通过以下操作在所述存储器中重新排列所述多个另外的数据项: 以取决于对所述接收引擎活动的当前可变步幅模式的排列来存储所述多个另外的数据项。
15.根据前述权利要求中任一项所述的处理设备,其中,所述一个或多个配置值中的至少一个配置值包括多个配置值。
16.根据权利要求15所述的处理设备,其中,所述执行单元被配置为在执行所述至少一个指令时,更新保存在所述处理设备的配置寄存器中的比特串, 其中,保存在所述配置寄存器中的所述比特串被分成多个比特子集,所述多个比特子集中的每个比特子集被映射到多个配置值之一,使得所述处理电路被配置为: 响应于将所述比特串写入所述配置寄存器,使用所述多个配置值中的所述子集所映射到的那些配置值的更新值。
17.根据权利要求16所述的处理设备,其中所述多个比特子集中的每一个比特子集的长度都比所述多个配置值中的所述比特子集所映射到的与其相关联的一个配置值更短。
18.根据权利要求15至17中任一项所述的处理设备,其中,所述多个配置值包括多个步幅大小值。
19.根据权利要求18所述的处理设备,其中所述多个配置值包括多个重复值,所述多个重复值中的每个重复值与所述步幅大小值之一相关联,并且指定在所述处理电路应用不同的一个所述步幅大小值之前,所述步幅大小值中的与其相关联的一个步幅大小值将被应用多少次。
20.根据前述权利要求中任一项所述的处理设备,其中,所述一个或多个寄存器是属于运行在所述执行单元上的线程的控制寄存器和状态寄存器。
21.一种多片处理单元,其包括根据前述权利要求中任一项所述的处理设备的多个实例,其中,所述处理设备的所述多个实例中的每一个实例都是片。
22.一种用于从处理设备发送数据的方法,所述方法包括: 存储定义可变步幅模式的一个或多个配置值,所述可变步幅模式用于更新指针,所述指针指向存储器要被访问的地址以将数据发送到所述处理设备外部;以及 响应于发送指令的一个或多个实例的执行: 使得在所述存储器中由所述指针标识的位置处的多个数据项被发送到所述处理设备外部的至少一个目的地;以及 在所述多个数据项之一的每次发送之间,根据所述可变步幅模式更新所述指针, 其中,所述方法还包括执行至少一个指令来更新所述可变步幅模式,其中更新所述可变步幅模式包括响应于所述发送指令的另外的实例的执行,将所述一个或多个配置值中的至少一个配置值更新为一个或多个新值以供在执行一个或多个后续发送时使用。
23.一种用于存储在处理设备处接收的数据的方法,所述方法包括: 存储定义可变步幅模式的一个或多个配置值,所述可变步幅模式用于更新指针,所述指针指向所述存储器要被访问的地址以存储在所述处理设备处接收的数据;以及 响应于在所述处理设备处接收到多个数据项: 使得所述多个数据项被存储在所述存储器中由所述指针标识的位置;以及 对于所述多个数据项之一的每次接收和存储,根据所述可变步幅模式更新所述指针, 其中,所述方法还包括执行至少一个指令来更新所述可变步幅模式,其中,更新所述可变步幅模式包括将所述一个或多个配置值中的至少一个配置值更新为一个或多个新值,所述一个或多个新值将被用于存储在所述处理设备处接收的一个或多个另外的数据项。
24.一种计算机程序,其包括一组计算机可读指令,当由处理设备的执行单元执行时,使得执行用于从所述处理设备发送数据的方法,所述方法包括: 存储定义可变步幅模式的一个或多个配置值,所述可变步幅模式用于更新指针,所述指针指向所述存储器要被访问的地址以将数据发送到存储设备外部;以及 响应于发送指令的一个或多个实例的执行: 使得在所述存储器中由所述指针标识的位置处的多个数据项被发送到所述处理设备外部的至少一个目的地;以及 在所述多个数据项之一的每次发送之间,根据所述可变步幅模式更新所述指针, 其中,所述方法还包括响应于用于更新所述可变步幅模式的至少一个指令的执行来更新所述可变步幅模式,其中更新所述可变步幅模式包括响应于所述发送指令的另外的实例的执行来将所述一个或多个配置值中的至少一个配置值更新为一个或多个新值以供在执行一个或多个后续发送时使用。
25.一种计算机程序,其包括一组计算机可读指令,当由处理设备的执行单元执行时,所述计算机可读指令使得执行用于存储在所述处理设备处接收的数据的方法,所述方法包括: 存储定义可变步幅模式的一个或多个配置值,所述可变步幅模式用于更新指针,所述指针指向所述存储器要被访问的地址以存储在所述处理设备处接收的数据;以及 响应于在所述处理设备处接收到多个数据项: 使得所述多个数据项被存储在所述存储器中由所述指针标识的位置;以及 对于所述多个数据项之一的每次接收和存储,根据所述可变步幅模式更新所述指针, 其中,所述方法还包括响应于用于更新所述可变步幅模式的至少一个指令的执行来更新所述可变步幅模式,其中,更新所述可变步幅模式包括将所述一个或多个配置值中的至少一个配置值更新为一个或多个新值,一个或多个新值将用于存储在所述处理设备处接收的一个或多个另外的数据项。