当前位置: 首页 > 专利查询>英特尔公司专利>正文

具有不同的读和写掩码的多元素指令制造技术

技术编号:11032997 阅读:62 留言:0更新日期:2015-02-11 18:35
描述了一种方法,该方法包括从第一寄存器读取第一读掩码。该方法还包括从第二寄存器或存储器位置读取第一向量操作数。该方法还包括在第一向量操作数上应用读掩码以产生元素集合以供操作。该方法还包括对该元素集合执行操作。该方法还包括通过产生该操作的结果的多个实例来产生输出向量。该方法还包括从第三寄存器读取第一写掩码,该第一写掩码与该第一读掩码不同。该方法还包括在输出向量上应用该写掩码以产生结果向量。该方法还包括将结果向量写入目的地寄存器。

【技术实现步骤摘要】
【国外来华专利技术】【专利摘要】描述了一种方法,该方法包括从第一寄存器读取第一读掩码。该方法还包括从第二寄存器或存储器位置读取第一向量操作数。该方法还包括在第一向量操作数上应用读掩码以产生元素集合以供操作。该方法还包括对该元素集合执行操作。该方法还包括通过产生该操作的结果的多个实例来产生输出向量。该方法还包括从第三寄存器读取第一写掩码,该第一写掩码与该第一读掩码不同。该方法还包括在输出向量上应用该写掩码以产生结果向量。该方法还包括将结果向量写入目的地寄存器。【专利说明】具有不同的读和写掩码的多元轰指令
本专利技术的领域一般涉及计算系统,更具体地涉及具有不同的读和写掩码的多元素 指令。
技术介绍
图1示出了在半导体芯片上用逻辑电路实现的处理核100的高级图。该处理核包 括流水线101。该流水线由各自被设计成在完全执行程序代码指令所需的多步骤过程中执 行特定步骤的多个级组成。该些级通常至少包括:1)指令取出和解码;2)数据取出;3)执 行;4)写回。执行级对由在先前级(例如在上述步骤1))中所取出和解码的指令所标识并 在另一先前级(例如在上述步骤2))中被取出的数据执行由在先前级(例如在上述步骤 1))中取出和解码的指令所标识的特定操作。被操作的数据通常是从(通用)寄存器存储 空间102中取出的。在该操作完成时所创建的新数据通常也被"写回"寄存器存储空间(例 如在上述级4))。 与执行级相关联的逻辑电路通常由多个"执行单元"或"功能单元"1〇3_1至103_ N构成,该些单元各自被设计成执行其自身的唯一操作子集(例如,第一功能单元执行整数 数学操作,第二功能单元执行浮点指令,第H功能单元执行从高速缓存/存储器的加载操 作和/或到高速缓存/存储器的存储操作等等)。由所有该些功能单元执行的所有操作的 集合与处理核100所支持的"指令集"相对应。 计算机科学领域中广泛认可两种类型的处理器架构;"标量"和"向量"。标量处理 器被设计成执行对单个数据集进行操作的指令,而向量处理器被设计成执行对多个数据集 进行操作的指令。图2A和2B呈现了展示标量处理器与向量处理器之间的基本差异的比较 示例。 图2A示出标量AND (与)指令的示例,其中单个操作数集A和B -起进行"与"运 算W产生单个(或"标量")结果C(即,AB = Od相反,图2B示出向量AND指令的示例,其 中两个操作数集A/B和D/E并行地分别一起进行"与"运算W同时产生向量结果C和F(即, A. AND. B = C W及D. AND. E =巧。根据术语学,"向量"是具有多个"元素"的数据元素。例 女口,向量V = Q,R,S,T,U具有五个不同的元素;Q、R、S、T和U。示例性向量V的"尺寸"是 5 (因为它具有5个元素)。 图1还示出向量寄存器空间107的存在,该向量寄存器空间107不同于通用寄存 器空间102。具体而言,通用寄存器空间102标准地用于存储标量值。该样,当各执行单元中 的任一个执行标量操作时,它们标准地使用从通用寄存器存储空间102调用的操作数(并 将结果写回通用寄存器存储空间102)。相反,当各执行单元中的任一个执行向量操作时,它 们标准地使用从向量寄存器空间107调用的操作数(并将结果写回向量寄存器空间107)。 可类似地分配存储器的不同区域W存储标量值和向量值。 还应注意,存在位于功能单元103_1到103_N的相应输入处的掩蔽逻辑104_1到 104_N,W及位于功能单元1〇3_1到103_N的输出处的掩蔽逻辑105_1到105_N。在各种实 现中,对于向量操作,实际上仅实现该些层中的一个层一不过该并非严格要求(虽然未在 图1中描绘,但可理解,仅执行标量操作而不执行向量操作的执行单元不需要具有任何掩 蔽层)。对于采用掩蔽的任何向量指令,输入掩蔽逻辑1〇4_1到104_N和/或输出掩蔽逻辑 105_1到105_N可用于控制哪些元素被该向量指令有效地操作。在此,从掩码寄存器空间 106读取掩码向量(例如与从向量寄存器存储空间107读取的输入操作数向量一起),并将 该掩码向量呈现给掩蔽逻辑104U05层中的至少一层。 在执行向量程序代码的过程中,每一向量指令无需要求全数据字。例如,一些指令 的输入向量可能仅仅是8个元素,其他指令的输入向量可能是16个元素,其他指令的输入 向量可能是32个元素,等等。因此,掩蔽层104/105用于标识完整向量数据字中的应用于 特定指令的一组元素,W在多个指令之间实现不同的向量尺寸。通常,对于每一向量指令, 掩码寄存器空间106中所保持的特定掩码模式被该指令调出,从掩码寄存器空间中被取出 并且被提供给掩码层104/105中的任一者或两者,启用"针对该特定向量操作的正确元 素集合。 【专利附图】【附图说明】 本专利技术是通过示例说明的,而不仅局限于各个附图的图示,在附图中,类似的参考 标号表示类似的元件,其中: 图1示出处理器流水线; 图2a和化比较标量和向量操作; 图3a和3b示出能执行具有不同的读和写掩码的多元素操作的功能单元的示例性 电路设计; 图4a和4b示出由图3a和3b的电路执行的相应方法; 图5a和化示出能执行具有不同的读和写掩码的多元素操作的功能单元的相应电 路设计和操作方法; 图6A例示了示例性AVX指令格式; 图6B示出来自图6A的哪些字段构成完整操作码字段和基础操作字段; 图6C示出来自图6A的哪些字段构成寄存器索引字段; 图7A-7B是示出根据本专利技术的实施例的通用向量友好指令格式及其指令模板的 框图; 图8是示出根据本专利技术的实施例的示例性专用向量友好指令格式的框图; 图9是根据本专利技术的一个实施例的寄存器架构的框图; 图IOA是示出根据本专利技术的实施例的示例性有序流水线W及示例性寄存器重命 名的无序发布/执行流水线两者的框图; 图IOB是示出根据本专利技术的各实施例的要包括在处理器中的有序架构核的示例 性实施例和示例性的寄存器重命名的无序发布/执行架构核的框图; 图IlA-B示出了更具体的示例性有序核架构的框图,该核将是芯片中的若干逻辑 块之一(包括相同类型和/或不同类型的其他核); 图12是根据本专利技术的实施例的可具有超过一个的核、可具有集成的存储器控制 器、并且可具有集成图形的处理器的框图; 图13是根据本专利技术的实施例的示例性系统的框图; 图14是根据本专利技术的实施例的第一更具体的示例性系统的框图; 图15是根据本专利技术的实施例的第二更具体的示例性系统的框图; 图16是根据本专利技术的实施例的SoC的框图; 图17是根据本专利技术的实施例的对比使用软件指令变换器将源指令集中的二进制 指令变换成目标指令集中的二进制指令的框图。 【具体实施方式】 概览 图3a描绘能执行一种新类型的指令的功能单元的示例性电路设计,该新类型的 指令在下文中称为"横向"指令,与传统的向量指令类似,该"横向指令"接受输入向量源操 作数、产生输出向量结果并使用掩蔽操作。然而,与传统向量指令不同,横向指令有效地支 持具有第一尺寸的输入向量操作数和具有不同的第二尺寸的输出结果向量。目P,源操作数本文档来自技高网...
<a href="http://www.xjishu.com/zhuanli/55/201180075871.html" title="具有不同的读和写掩码的多元素指令原文来自X技术">具有不同的读和写掩码的多元素指令</a>

【技术保护点】
一种处理核,包括:功能单元逻辑电路,具有以下部件以执行单个指令:a)第一寄存器,用于存储读掩码;b)第二寄存器,用于存储第一输入向量操作数;c)读掩蔽电路,用于在所述第一向量操作数上应用所述读掩码,以提取所述第一向量操作数中的元素集合以供操作;d)逻辑电路,用于创建输出向量,所述输出向量具有对所述元素集合执行的操作的结果的多个实例;e)第三寄存器,用于存储与所述读掩码不同的写掩码;f)写掩码电路,用于将所述写掩码应用于所述输出向量以产生结果向量。

【技术特征摘要】
【国外来华专利技术】

【专利技术属性】
技术研发人员:M·普罗特尼科夫A·纳赖卡恩E·乌尔德阿迈德瓦尔R·凡伦天B·L·托尔J·考博尔圣阿德里安
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1