用于处理混编指令的方法和设备的制造方法_3

文档序号:8318934阅读:来源:国知局
一混编连结部分331是对第一连结部分321进行混编的结果。第二混编连结部 分332是对第二连结部分322进行混编的结果。
[0091] 如图3中所示,选择的数据元素被移动到第一混编连结部分331中的数据元素阵 列的前面。例如,元素"15"和"11"都被移动到第一混编连结部分331的前面。此外,选择 的数据元素被移动到第二混编连结部分332中的数据元素阵列的前面。
[0092] 通过第二连结340将第一混编连结部分331和第二混编连结部分332连结。连结 数据阵列341是通过第二连结340将第一混编连结部分331和第二混编连结部分332连结 的结果。
[0093] 通过最终混编单元的混编350对连结数据阵列341执行混编。
[0094] 混编数据阵列351是连结数据阵列341被混编的结果。
[0095] 混编数据阵列351包括部分310、302、303和304的所有数据元素。此外,部分301、 302、303和304的选择的数据元素全被移动到混编数据阵列351中的数据元素阵列的前面。 如上所述,在图3的示例中,保持选择的数据元素和未选择的数据元素的顺序。
[0096] 此外,在所有部分301、302、303和304中,在混编数据阵列351中保持选择的数据 元素的先后顺序,在混编数据阵列351中还保持未选择的数据元素的先后顺序。
[0097] 图4是示出用于处理混编指令的设备的配置的示例的示图。
[0098] 用于处理混编指令的设备包括以分层结构配置的混编单元。以树形式提供分层结 构。在示例中,树是二进制树。
[0099] 在图4的示例中,第一阶段是指由与混编单元的分层结构中的叶节点对应的基本 混编单元执行的混编。第二阶段是指由与混编单元的分层结构的根节点对应的最终混编单 元执行的混编。
[0100] 在图4中,第一基本混编单元410、第二基本混编单元420和最终混编单元450作 为混编单元被示出。
[0101] 混编单元包括与分层结构的叶节点对应的基本混编单元和与分层结构的根节点 对应的最终混编单元。在该示例中,第一基本混编单元410和第二基本混编单元420分别 是基本混编单兀。
[0102] 混编单元中的每个通过对输入到每个混编单元的输入数据元素阵列执行混编来 产生混编数据元素阵列。
[0103] 混编是指将输入数据元素阵列中的数据元素之中的由预定数据指示符指示的选 择的数据元素布置在数据元素阵列之内的未选择的数据元素之前。
[0104] 此外,在以分层结构连接的上层混编单元和下层混编单元中,从每个下层混编单 元输出的混编数据元素阵列被输入到上层混编单元作为输入数据元素阵列。
[0105] 例如,在图4中,最终混编单元450与第一基本混编单元410和第二基本混编单元 420的上层混编单元对应。第一基本混编单元410和第二基本混编单元420是最终混编单 元450的下层混编单元。术语"上层"和"下层"是指在分层结构(诸如早前讨论的树)中 的混编单元之间的关系。
[0106] 在另一示例中,从第一基本混编单元410输出的第一混编数据元素阵列和从第二 基本混编单元420输出的第二混编数据元素阵列作为最终混编单元450的输入数据元素阵 列的部分而被输入到最终混编单元450。
[0107] 上层混编单元的输入数据元素阵列是从下层单元输出的混编数据元素阵列的组。
[0108] 基于从下层单元输出的混编数据元素阵列的下层单元中包括的元素的先后顺序 将上层混编单元的输入数据元素阵列连结在一起。
[0109] 例如,最终混编单元450的输入数据元素阵列是从第一基本混编单元410输出的 第一混编数据元素阵列和从第二基本混编单元420输出的第二混编数据元素阵列的连结。 针对输入数据元素阵列,第一混编数据元素阵列被布置到输入数据元素阵列中以在第二混 编数据元素阵列之前。在该示例中,通过第一连结单元430执行这种连结。
[0110] 用于处理混编指令的设备还包括数据元素阵列连结单元。这里,数据元素阵列连 结单元均通过对输入阵列进行连结来产生单个数据阵列,并输出产生的数据阵列。
[0111] 例如,连结单元通过对从混编单元输出的混编数据元素阵列进行连结来产生单个 输入数据元素阵列,并输出包括连结结果的产生的输入数据元素阵列。
[0112] 在图4的示例中,第一连结单元430作为产生针对最终混编单元450的输入数据 元素阵列的连结单元而被示出。
[0113] 如之前参照图3所述,在上层混编单元中的混编中选择输入数据元素阵列中的数 据元素之中的在下层混编单元的混编中涉及的选择的数据元素。因此,在分层混编期间,通 过一系列混编单元连续地执行针对预定数据元素的混编。
[0114] 使用数量指示符执行连续混编。
[0115] 混编单元之中的除了最终混编单元450之外的混编单元输出数量指示符以及将 被随后的混编单元使用的混编数据元素阵列。包括在数量指示符中的位数可基于分层结构 中的层而变化。
[0116] 数量指示符指示每个混编单元输出的数据元素阵列的数据元素之中的在每个混 编单元中选择的数据元素的数量。例如,输入到每个混编单元的输入数据元素阵列的数据 元素被划分为选择的数据元素和未选择的数据元素。因此,由数量指示符指示混编单元中 的选择的数据元素的数量。
[0117] 在上层混编单元和下层混编单元之间的关系中,每个下层混编单元产生并输出与 其操作相关的数量指示符。数量指示符指示在每个下层混编单元中的混编期间在从每个下 层混编单元输出的混编数据元素阵列的数据元素之中选择的数据元素的数量。
[0118] 上层混编单元对作为选择的数据元素的与由数量指示符指示的数量对应的多个 数据元素进行处理。上层混编单元以在从每个下层混编单元输出的混编数据元素阵列的数 据元素之中的最早出现的数据元素开始。
[0119] 例如,如所讨论的,经由数量指示符将关于下层混编单元中的选择的数据元素的 信息传送到上层混编单元。
[0120] 从下层混编单元输出的数量指示符被输入到上层混编单元。可选择地,从下层混 编单元输出的数量指示符作为组合的单个输入数量指示符被输入到上层混编单元。
[0121] 通过从被连结为单个输入数量指示符的下层混编单元接收的数量指示符来获得 输入数量指示符。连结单元通过将从混编单元输出的数量指示符连结来产生单个输入数量 指示符,并输出产生的输入数量指示符。
[0122] 在图4的示例中,第二连结单元440作为也产生输入数量指示符的连结单元而被 示出。
[0123] 上层混编单元通过处理输入数量指示符来识别从下层混编单元传送到上层混编 单元的混编数据元素阵列的数据元素之中的选择的数据元素,以确定哪些元素将被传送。 可选择地,上层混编单元通过使用输入数量指示符来识别输入数据元素阵列的数据元素之 中的选择的数据元素。因此,输入数量指示符识别哪些数据元素是选择的元素,该信息被用 于通过在由上层混编单元接收之前识别元素或者通过由上层混编单元接收所有数据元素 并随后分离出选择的数据元素来来识别选择数据元素。
[0124] 基本混编单元的输入数据元素阵列是被划分为"η"个部分的数据元素的SMD指 令的一个部分。SIMD指令的数据元素是之前参照图1描述的第一操作数110。如在该示例 中所使用的,"η"为大于"1"的整数。此外,"η"为混编单元之中的基本混编单元的数量。
[0125] 例如,第一基本混编单元410的输入数据元素阵列是SMD指令的划分的数据元素 的第一部分。在图4的示例中,第一部分包括SIMD指令的数据元素之中的从具有"0"索引 值的数据元素开始至具有"3"索引值的数据元素的元素。在图4的示例中,关于数据元素 的"(x:y)"指示从具有"y"索引值的数据元素至具有"X"索引值的数据元素。因此,第一 部分被标记为"3:0"。
[0126] 索引指示数据元素的数据元素阵列中的先后顺序。索引值为"0"指示数据元素是 数据元素阵列内的最早出现的数据元素。每个后续索引值指示对应数据元素是数据元素阵 列内的后续数据元素。
[0127] 划分的控制位被输入到基本混编单元。划分的控制位是被划分为"η"个数的SIMD 指令的控制位的部分。SIMD指令的控制位对应于之前参照图1描述的第二操作数120。因 此,存在与"η"个数对应的"η"个控制位。
[0128] 例如,输入到第一基本混编单元410的控制位是SMD指令的划分的控制位的第一 部分。在图4中,第一划分部分包括SIMD指令的控制位之中的包括具有"0"索引值的控制 位至具有"3"索引值的控制位的位。在图4中,关于控制位的"(x:y)"指示从具有"y"索 引值的控制位至具有"X"索引值的控制位。
[0129] 索引指示控制位的先后顺序。索引值为"0"指示控制位是控制位之中最早出现的 控制位。
[0130] 基本混编单元基于输入数据元素阵列和划分的控制位产生混编数据元素阵列。
[0131] 如所讨论的,划分的控制位中的每个控制位具有选择值或未选择值。基本混编单 元通过针对输入数据元素阵列的数据元素将与具有选择值的控制位对应的数据元素布置 在与具有未选择值的控制位对应的数据元素之前,来产生混编数据元素。在图5中,混编数 据元素阵列被称为"混编元素"。关于混编元素的"(x:y) "指示混编数据元素阵列,其中,混 编数据元素阵列是基于索引值从"第y"位置至"第X"位置对数据元素进行混编的结果。
[0132] 基本混编单元输出数量指示符,其中,数量指示符指示输入控制位之中的表示对 元素的选择的控制位的数量。
[0133] 基于示例,以各种方式表示数量指示符。例如,数量指示符被表示为整数值。此外, 数量指示符被表示为二进制串或二进制值的阵列。当数量指示符是二进制串或二进制值的 阵列时,数量指示符的一位具有选择值,剩余位具有未选择值。数量指示符的多个位之中的 具有选择值的位的位置指示选择的数据元素的数量。例如,当位的值是"1000"时,多个位 的值指示选择的数据元素的数量为"4"。当多个位的值为"0001"时,多个位的值指示选择 的数据元素的数量为" 1"。当多个位的值为"〇〇〇〇"时,多个位的值指示不存在选择的数据 元素。
[0134] 由连结单元将从下层混编单元输出的数量指示符的位连结。例如,在图4中,通过 第二连结单元440的连结,从第一基本混编单元410输出的数量指示符和从第二基本混编 单元420输出的数量指示符变成"8"位的数量指
...
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1