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

文档序号:8318934阅读:383来源:国知局
用于处理混编指令的方法和设备的制造方法
【技术领域】
[0001] 以下描述涉及一种用于处理混编(shuffle)指令的方法和设备。以下描述还涉及 一种用于处理N路单指令多数据(SMD)混编指令的方法和设备。
【背景技术】
[0002] 单指令多数据(SIMD)指令是增强数据级并行性的一种方式。
[0003] N路SMD混编指令包括两个输入操作数。这两个输入操作数中的第一操作数包括 数据元素,第二操作数包括选择位(bit)。
[0004] 通过第二操作数的对应选择位来选择第一操作数的数据元素。数据元素可基于先 后顺序对应于选择位。例如,第一数据元素可对应于第一选择位。
[0005] 第一操作数的数据元素可以是用于混编的数据。第二操作数的选择位可以是指示 混编方法的数据。
[0006] 当第二操作数包括"K"个具有值"1"的位并包括"N-K"个具有值"0"的位时,第 一操作数的"K"个对应数据元素与具有值" 1"的位相关,第一操作数的"N-K"个对应数据 元素与具有值"〇"的位相关。
[0007] 第一操作数的多个数据元素之中的与第二操作数的值为"1"的"K"个位对应的 "K"个数据元素被确定为选择的数据元素。因此,基于使用对应位作为标志,从第一操作数 中的数据元素的集确定选择的数据元素的集。作为混编的结果而输出的输出数据元素之 中的首先出现的"K"个数据元素包括"K"个选择的数据元素,输出数据元素的随后出现的 "N-K"个数据元素包括第一操作数的未选择的"N-K"个数据元素。
[0008] 可在混编的输出数据元素中保持"K"个选择的数据元素的先后顺序。此外,可在 混编的输出数据元素中保持"N-K"个未选择的数据元素的先后顺序。例如,混编指令是指 将通过控制位从多个数据元素之中选择的一部分数据元素布置在所述多个数据元素之中 的剩余数据元素之前。换言之,混编指令从数据元素的集中按顺序提取选择的数据元素的 子集,随后按顺序将剩余元素附加在选择的数据元素之后。

【发明内容】

[0009] 提供本
【发明内容】
以以简单形式介绍发明构思的选择,以下在【具体实施方式】中进一 步描述本发明构思。本发明构思不意图确定权利要求主题的关键特征或必要特征,也不意 图用作帮助确定权利要求主题的范围。
[0010] 在一个总体方面,一种用于处理混编指令的设备包括:混编单元,包括以分层结构 配置的上层混编单元和下层混编单元,其中,每个混编单元被配置为通过对输入数据元素 阵列执行混编操作来产生混编数据元素阵列,其中,从下层混编单元输出的混编数据元素 阵列被配置为作为上层混编单元的输入数据元素阵列的一部分被输入到上层混编单元。 [0011] 分层结构可被设置为二进制树。
[0012] 可通过基于下层混编单元的先后顺序将从下层混编单元输出的混编数据元素连 结来形成上层混编单元的输入数据元素阵列。
[0013] 混编操作可将由从输入数据元素阵列选择的数据指示的数据元素输出到混编数 据元素阵列中的未选择的数据元素之前。
[0014] 在下层混编单元中的混编操作中选择的数据元素在上层混编单元中也可被选择。
[0015] 下层混编单元可被配置为输出数量指示符,其中,数量指示符指示从下层混编单 元输出的混编数据元素阵列之中的在下层混编单元中的混编操作中选择的数据元素的数 量。
[0016] 上层混编单元可被配置为将从下层混编单元输出的混编数据元素阵列中的最早 出现的数据元素之中与数量指示符对应的数据元素作为选择的数据元素来处理。
[0017] 混编单元可包括:基本混编单元,与分层结构的叶节点对应;最终混编单元,与分 层结构的根节点对应。
[0018] 基本混编单元的输入数据元素阵列可以是单指令多数据(SIMD)指令的数据元素 的"η"个部分中的一个部分,所述设备可接收被划分以被基本混编单元使用的控制位,划分 的控制位可以是被SIMD指令的控制位划分的"η"个部分中的一个部分,"η"可以是混编单 元之中的基本混编单元的数量。
[0019] 基本混编单元可被配置为通过使用输入数据元素阵列和划分的控制位来产生混 编数据元素阵列,每个划分的控制位可具有选择值或未选择值,基本混编单元可被配置为 将与具有选择值的控制位对应的输入数据元素阵列的数据元素布置在与具有未选择值的 控制位对应的数据元素之前以产生混编数据元素阵列。
[0020] 基本混编单元可被配置为输出数量指示符,其中,数量指示符指示输入控制位之 中的具有选择值的控制位的数量。
[0021] 可通过将从最终混编单元的第一下层混编单元输出的第一混编数据元素阵列和 从最终混编单元的第二下层混编单元输出的第二混编数据元素阵列连结来形成最终混编 单元的输入数据元素阵列。
[0022] 最终混编单元可被配置为基于从第一下层混编单元输出的第一数量指示符确定 第一混编数据元素阵列中的第一选择的数据元素和第一未选择的数据元素,并基于从第二 下层混编单元输出的第二数量指示符确定第二混编数据元素阵列中的第二选择的数据元 素和第二未选择的数据元素,最终混编单元可被配置为输出最终混编数据元素阵列,最终 混编数据元素阵列可被配置为按先后顺序包括第一选择的数据元素、第二选择的数据元 素、第一未选择的数据元素和第二未选择的数据元素。
[0023] 最终混编单元可被配置为将第一混编数据元素阵列中的最早出现的元素中的与 第一数量指示符对应的多个数据元素确定为第一选择的数据元素,并将第二混编数据元素 阵列中的最早出现的数据元素中的与第二数量指示符对应的多个数据元素确定为第二选 择的数据元素。
[0024] 混编单元还可包括:与分层结构的中间节点对应的中间混编单元。
[0025] 可通过将从中间混编单元的第一下层混编单元输出的第一混编数据元素阵列和 从中间混编单元的第二下层混编单元输出的第二混编数据元素阵列连结来形成中间混编 单元的输入数据元素阵列。
[0026] 中间混编单元可被配置为通过使用从第一下层混编单元输出的第一数量指示符, 确定第一混编数据元素阵列中的第一选择的数据元素和第一未选择的数据元素,并通过使 用从第二下层混编单元输出的第二数量指示符,确定第二混编数据元素阵列中的第二选择 的数据元素和第二未选择的数据元素,中间混编单元的混编数据元素阵列包括第一选择的 数据元素、第二选择的数据元素、第一未选择的数据元素和第二未选择的数据元素。
[0027] 中间混编单元可被配置为输出第三数量指示符,第三数量指示符的值可被计算为 第一数量指示符和第二数量指示符之和。
[0028] 中间混编单元可被配置为将第一混编数据元素阵列中的最早出现的数据元素中 的与第一数量指示符对应的多个数据元素确定为第一选择的数据元素,并将第二混编数据 元素阵列中的最早出现的数据元素中的与第二数量指示符对应的多个数据元素确定为第 二选择数据元素。
[0029] 在另一总体方面,一种通过混编单元处理混编指令的方法,其中,混编单元包括以 分层结构配置的上层混编单元和下层混编单元,所述方法包括:由每个混编单元接收输入 数据元素阵列;由每个混编单元通过对输入数据元素阵列执行混编来产生混编数据元素阵 列;由每个混编单元输出产生的混编数据元素阵列,其中,从下层混编单元输出的混编数据 元素阵列被配置为作为上层混编单元的输入数据元素阵列的一部分被输入到上层混编单 J Li 〇
[0030] 在另一总体方面,一种基本混编设备包括:数据元素重排单元,被配置为接收数据 元素和控制位并产生与混编数据元素对应的重排的数据元素阵列;复用器(MUX),被配置 为选择与控制位对应的重排的数据元素阵列并输出选择的重排的数据元素阵列作为混编 数据元素阵列。
[0031] 基本混编设备还包括:数量指示符产生单元,被配置为基于输入控制位产生数量 指示符并输出产生的数量指示符。
[0032] 数量指示符产生单元可通过对控制位之中的具有选择值的位进行计数来确定数 量指示符的值。
[0033] 数据元素重排单元可针对控制位的所有可能组合产生重排的数据元素阵列。
[0034] 数据元素重排单元可针对控制位的所有非重叠组合产生重排的数据元素阵列。
[0035] 从以下详细描述、附图和权利要求中,其它特征和方面将是清楚的。
【附图说明】
[0036] 图1是示出N路单指令多数据(SIMD)混编指令的示例的示图。
[0037] 图2是示出N路SIMD混编指令的输入和输出的示例的示图。
[0038] 图3是示出分层混编的示例的示图。
[0039] 图4是示出用于处理混编指令的设备的配置的示例的示图。
[0040] 图5是示出包括中间混编单元的用于处理混编指令的设备的配置的示例的示图。
[0041] 图6是示出基本混编单元的结构的示例的示图。
[0042] 图7是示出数据重排块和由复用器MUX进行的选择的示例的示图。
[0043] 图8是示出数量指示符产生单元的结构的示例的示图。
[0044] 图9是示出中间混编单元的结构的示例的示图。
[0045] 图10是示出数据重排块和由MUX进行的选择的示例的示图。
[0046] 图11是示出包括重叠的重排的数据元素阵列的数据重排块和由MUX进行的选择 的示例的示图。
[0047] 图12是示出数量指示符产生单元的结构的示例的示图。
[0048] 图13是示出最终混编单元的结构的示例的示图。
[0049] 图14是示出指定指示选择的值的标记的示例的示图。
[0050] 图15是示出处理混编指令的方法的示例的流程图。
[0051] 贯穿附图和详细描述,除非另外描述或提供,否则相同的附图标号将被理解为表 示相同的元件、特征和结构。附图可不按比例绘制,为了清楚、说明和方便,可放大附图中的 元件的相对大小、比例和描绘。
【具体实施方式】
[0052] 提供以下详细描述以帮助读者获得对这里描述的方法、设备和/或系统的全面理 解。然而,这里描述的方法、设备和/或系统的各种改变、修改和等同物对于本领域的普通 技术人员将变得清楚。描述的处理步骤和/或操作的进程为示例;然而,处理步骤和/或操 作的顺序不限于这里阐明的顺序,如本领域所知的那样,除了必须按特定顺序发生的步骤 和/或操作之外,处理步骤和/或操作的顺序可被改变。此外,为了更加清楚和简明,可省 略本领域的普通技术人员公知的功能和结
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1