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

用于合并掩码模式的指令制造技术

技术编号:10428373 阅读:268 留言:0更新日期:2014-09-12 19:00
描述了一种方法,包括获取指令和解码该指令。该方法还包括从该指令标识的第一掩码寄存器空间位置获取第一掩码矢量。该方法还包括从该指令标识的第二掩码寄存器空间位置获取第二掩码矢量。该方法还包括通过将第一和第二掩码矢量合并到单个数据结构并导致单个数据结构写入该指令标识的存储器位置来执行指令。

【技术实现步骤摘要】
【国外来华专利技术】用于合并掩码模式的指令
本专利技术的领域一般涉及计算系统,且尤其涉及用于合并掩码模式的指令。
技术介绍
图1示出了在半导体芯片上用逻辑电路实现的处理核100的高级图。该处理核包括流水线101。该流水线由各自被设计成在完全执行程序代码指令所需的多步骤过程中执行特定步骤的多个级组成。这些级通常包括至少:1)指令获取和解码;2)数据获取;3)执行;4)写回。执行级将由(例如,在上述步骤I))中所获取和解码的指令所标识出的特定操作对由相同指令标识出并在另一先前级(例如,上述步骤2))中被获取的数据执行。被操作的数据通常是从(通用)寄存器存储空间102中获取的。在该操作完成时所创建的新数据通常也被“写回”寄存器存储空间(例如,在上述级4))。与执行级相关联的逻辑电路通常由多个“执行单元”或“功能单元” 103_1至103_N构成,这些单元各自被设计成执行其自身的唯一操作子集(例如,第一功能单元执行整数数学操作,第二功能单元执行浮点指令,第三功能单元执行自/至高速缓存/存储器的加载/存储操作等等)。由所有这些功能单元执行的所有操作的集合与处理核100所支持的“指令集”相对应。两种类型的处理器架构在计算机科学领域中被广泛认可:“标量”和“矢量”。标量处理器被设计成执行对单个数据项进行操作的指令,然而矢量处理器被设计成执行对多个数据项进行操作的指令。图2A和图2B呈现比较性示例,该比较性示例展示标量处理器与矢量处理器之间的基本差 异。图2A示出标量AND (与)指令的示例,其中单个操作数集A和B被加在一起以产生奇异(或“标量”)结果C(即,AB = C)。相比之下,图2B示出矢量AND指令的示例,其中两个操作数集A/B和D/E并行地分别加在一起以同时产生矢量结果C和F(即,A.AND.B =C和D.AND.E = F)。根据术语学,“矢量”是具有多个“元素”的数据元素。例如,矢量V =卩’尺^“^具有五个不同元素⑷^^“和匕示例性矢量V的“大小”为五(因为它具有五个元素)。当执行矢量指令时(即数据的各获取和写回项的对应于矢量而不是标量的指令),通常期望改变矢量内要由指令实际操作的元素的数量。例如,可能期望仅增加两个矢量 Vl = A,B,C,D,E 和 V2 = Q, R, S,T, U 的第二和第四元素(即结果=(B+R),(D+T))。“掩码”是定义要对矢量的哪个元素进行操作的数据结构。例如,参考矢量Vl和V2的第二和第四元素相加的上述示例,可将掩码M = 0,1,O, I, O用于标识矢量Vl和V2的第二和第四元素。注意,掩码M本身是矢量。附图简沭本专利技术是作为示例说明的,而不仅限制于各个附图的图形,在附图中,类似的参考编号表示类似的元件,其中:图1示出处理核;图2a和2b比较标量和矢量操作;图3示出现有技术的用于合并掩码模式的过程;图4示出用于合并掩码模式的改进过程;图5示出合并掩码模式的指令的不同实施例;图6A例示了示例性AVX指令格式;图6B示出来自图6A的哪些字段构成完整操作码字段和基础操作字段;图6C示出来自图6A的哪些字段构成寄存器索引字段;图7A-7B是示出根据本专利技术的实施例的通用矢量友好指令格式及其指令模板的框图;图8是示出根据本专利技术的实施例的示例性专用矢量友好指令格式的框图;图9是根据本专利技术的一个实施例的寄存器架构的框图;图1OA是示出根据本专利技术的实施例的示例性有序流水线以及示例性寄存器重命名的无序发布/执行流水线两者的框图;图1OB是示出根据本专利技术的各实施例的要包括在处理器中的有序架构核的示例性实施例和示例性的寄存器重命名的无序发布/执行架构核的框图;图1lA-B示出了更具体的示例性有序核架构的框图,该核将是芯片中的若干逻辑块之一(包括相同类型和/或不同类型的其他核);图12是根据本专利技术的实施例的可具有一个以上核、可具有集成存储器控制器、并且可具有集成图形的处理器的框图;图13是根据本专利技术的实施例的示例性系统的框图;图14是根据本专利技术的实施例的第一更具体的示例性系统的框图;图15是根据本专利技术的实施例的第二更具体的示例性系统的框图;图16是根据本专利技术的实施例的SoC的框图;图17是根据本专利技术的实施例的对比使用软件指令变换器将源指令集中的二进制指令变换成目标指令集中的二进制指令的框图。【具体实施方式】再次参考图1,在处理核100包括矢量处理执行单元的情况下,注意在矢量功能单元103_1至103_N的相应输入和来自矢量功能单元103_1至103_N的输出处存在读掩码逻辑104_1至104_N和写掩码逻辑105_1至105_N。注意各矢量处理器架构可包括这些掩码层中的仅一个。这里,对于采用掩码的任何指令,读掩码逻辑104_1至104_N和/或写掩码逻辑105_1至105_N可用于控制针对该矢量指令对哪些元素进行有效地操作。这里,掩码矢量从掩码寄存器空间106中被读取(例如,连同从寄存器存储空间102中被读取的输入数据矢量一起)并且被呈现给掩码逻辑104、105层中的至少一者。注意,在执行矢量程序代码的过程中,每一矢量指令无需要求全数据字。例如,对于某些指令的输入矢量可以仅是8个元素,对于其他指令的输入矢量可以是16个元素,对于其他指令的输入矢量可以是32个元素等等。这样,由处理器用于执行这些指令的掩码矢量的尺寸可类似地改变(例如,8位、16位、32位等)。典型地,利用矢量的较低阶位。例如,如果处理器支持64元素数据字,但当前的指令仅处理8元素矢量,则将在掩码矢量的最低阶的8位中反映指令的掩码。掩码寄存器空间106保持处理器期望保持并再使用的不同掩码矢量。此处,当掩码对应于在程序代码的执行过程中处理器可处理的各矢量指令的相关元素的模式时,从掩码寄存器空间106获取适当的掩码允许容易地对期望的掩码模式进行访问(例如,与从头计算期望的掩码模式相反)。然而,掩码寄存器空间106是有限的。在掩码寄存器空间106中不存在空间的掩码模式可“溢出”到高速缓存107或存储器108。当掩码模式本身较小时,掩码模式溢出到高速缓存/存储器可能尤其效率低。例如,如果矢量处理器支持64个元素的最大矢量尺寸且仅8位宽的掩码模式溢出到高速缓存/存储器,实质上“溢出” 8位掩码矢量所采取的事务实际浪费56位数据的价值。即,在原始带宽方面,处理器可处理高达64位大小的掩码数据的溢出。利用这种硬件对仅8位掩码数据进行溢出对应于能够溢出56位的资源未使用。如此,先前的实现已经尝试将掩码寄存器空间106中存储的掩码模式级联成单个数据结构。例如,可将不同掩码存储空间位置中的两个16位掩码模式级联以形成32位掩码模式。如图3所观察到的,现有技术的解决方案包括两个指令序列,包括:i)第一指令301,该指令将待合并的掩码模式Ml、M2从掩码寄存器空间106读出并且将它们合并至通用寄存器空间102作为合并的矢量M ;ii)第二指令302然后从通用寄存器空间读取合并的矢量M并且将合并的矢量M写入高速缓存/存储器。在图4中描绘了新方法。图4中观察到的方法利用相对最近的指令格式技术,该技术可单独定义目的地地址和两个不同的源地址。传统的指令格式技术将目的地地址和源地址之一重叠。例如,传统的ADD指令可采用ADD X Y的形式。在执行指令时本文档来自技高网...

【技术保护点】
一种在半导体芯片上的处理核,包括:a)掩码寄存器空间,用于保持掩码矢量;b)流水线,具有:i)矢量执行单元,所述掩码矢量用于所述矢量执行单元的至少一个掩码层;ii)所述流水线的执行单元之一内的指令执行逻辑,用于通过执行单个指令来执行以下:获取所述掩码寄存器空间内的第一和第二掩码矢量;将所述第一和第二掩码矢量合并成单个数据结构;导致所述单个数据结构被写入存储器。

【技术特征摘要】
【国外来华专利技术】1.一种在半导体芯片上的处理核,包括: a)掩码寄存器空间,用于保持掩码矢量; b)流水线,具有:1)矢量执行单元,所述掩码矢量用于所述矢量执行单元的至少一个掩码层; ii)所述流水线的执行单元之一内的指令执行逻辑,用于通过执行单个指令来执行以下: 获取所述掩码寄存器空间内的第一和第二掩码矢量; 将所述第一和第二掩码矢量合并成单个数据结构; 导致所述单个数据结构被写入存储器。2.如权利要求1所述的处理核,其特征在于,所述单个指令单独地指定所述掩码寄存器空间内的所述第一掩码矢量的地址,所述掩码寄存器空间内的所述第二掩码矢量的地址;以及所述单个数据结构被写入的存储器地址。3.如权利要求1所述的处理核,其特征在于,所述第一掩码矢量是以下尺寸中的任一个: 8位; 16位; 32位; 64位。4.如权利要求1所述的处理核,其特征在于,所述第一和第二掩码矢量具有相同尺寸。5.如权利要求1所述的处理核,其特征在于,所述单个指令具有指定第一和第二掩码寄存器的尺寸的操作码字段。6.如权利要求1所述的处理核,其特征在于,所述指令执行逻辑在加载/存储单元内。7.一种方法,包括: 获取指令; 解码所述指令; 从所述指令标识的第一掩码寄存器空间位置获取第一掩码矢量; 从所述指令标识的第二掩码寄存器空间位置获取第二掩码矢量; 通过将所述第一和第二掩码矢量合并到单个数据结构并导致所述单个数据结构被写入由所述指令标识的存储器位置来执行所述指令。8.如权利要求7所述的方法,其特征在于,所述指令包括定义所述第一和第二掩码矢量的尺寸的操作码。9.如权利要求8所述的方法,其特征在于,所述第一和第二掩码矢量的尺寸相...

【专利技术属性】
技术研发人员:J·考博尔圣阿德里安M·J·克莱格德D·R·布拉德福德J·C·霍尔A·T·福塞斯
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国;US

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

1