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

用于向量广播的系统、方法和装置制造方法及图纸

技术编号:21570879 阅读:21 留言:0更新日期:2019-07-10 15:15
提供了用于向量广播的系统、方法和装置。描述了用于广播所选数据元素并且响应于单个指令而执行操作的系统、方法和装置。例如,描述了一种处理器,所述处理器包括解码电路,用来对指令进行解码,所述指令具有用于操作码、至少两个打包数据源操作数标识符、打包数据目的地操作数标识符和立即数的字段;以及执行电路,用来执行经解码的指令以:广播来自被标识的第一打包数据源操作数的打包数据元素,其中基于立即数的值来选择要广播的打包数据元素位置,根据操作码对所广播的来自被标识的第一打包数据源操作数的打包数据元素和被标识的第二打包数据源操作数的打包数据元素执行操作。

Systems, methods and devices for vector broadcasting

【技术实现步骤摘要】
用于向量广播的系统、方法和装置
技术介绍
机器学习和其它领域中的许多应用涉及许多常量的使用。例如,在ML中,卷积和其它算法的权重可以被视为出于性能原因将在向量操作中使用的常量。附图说明将参考附图来描述依照本公开的各种实施例,在附图中:图1图示了用于处理单个广播和计算指令的处理器的所选部分的实施例;图2图示了用于处理单个广播和计算指令的处理器的所选部分的实施例;图3图示了处理器为了处理单个广播和计算指令而执行的方法的实施例;图4图示了处理器为了处理单个广播和计算指令而执行的方法的实施例;图5图示了用于处理诸如广播和计算指令之类的指令的硬件的实施例;图6A是图示根据本专利技术的实施例的通用向量友好指令格式及其A类指令模板的框图;图6B是图示根据本专利技术的实施例的通用向量友好指令格式及其B类指令模板的框图;图7A是图示根据本专利技术的实施例的示例性特定向量友好指令格式的框图;图7B是图示根据本专利技术的一个实施例的组成全操作码字段674的特定向量友好指令格式700的字段的框图;图7C是图示根据本专利技术的一个实施例的组成寄存器索引字段644的特定向量友好指令格式700的字段的框图;图7D是图示根据本专利技术的一个实施例的组成扩增操作字段650的特定向量友好指令格式700的字段的框图;图8是根据本专利技术的一个实施例的寄存器架构800的框图;图9A是图示根据本专利技术的实施例的示例性有序流水线和示例性寄存器重命名、无序发出/执行流水线二者的框图;图9B是图示根据本专利技术的实施例的要被包括在处理器中的示例性寄存器重命名、无序发出/执行架构核心和有序架构核心的示例性实施例二者的框图;图10A-B图示了更具体的示例性有序核心架构的框图,所述核心将是芯片中的(包括相同类型和/或不同类型的其它核心的)若干逻辑块中的一个;图11是根据本专利技术的实施例的处理器1100的框图,所述处理器1100可能具有不止一个核心,可能具有集成存储器控制器,并且可能具有集成图形(graphics);图12示出了依照本专利技术的一个实施例的系统的框图;图13是依照本专利技术的实施例的第一个更具体的示例性系统的框图;图14是依照本专利技术的实施例的第二个更具体的示例性系统的框图;图15是依照本专利技术的实施例的SoC的框图;以及图16是根据本专利技术的实施例的对比将源指令集中的二进制指令转换成目标指令集中的二进制指令的软件指令转换器的使用的框图。具体实施方式在以下描述中,阐述了许多具体细节。然而,应当理解,可以在没有这些具体细节的情况下实践本专利技术的实施例。在其它实例中,没有详细示出公知的电路、结构和技术,以免模糊对本说明书的理解。说明书中对“一个实施例”、“实施例”,“示例实施例”等的引用指示所描述的实施例可以包括特定特征、结构或特性,但是每个实施例可能不一定包括所述特定特征、结构或特征。而且,这样短语不一定指的是同一实施例。进一步地,当结合实施例来描述特定特征、结构或特性时,主张无论是否明确描述,结合其它实施例实现这样的特征、结构或特性在本领域技术人员的知识范围内。本文中详述了指令的实施例及其支持,其在单个指令发生时引起任何单个被标识的打包数据元素(向量元素或单指令多数据元素)的广播,并且然后引起使用所广播的单个被标识的打包数据元素执行的计算(诸如ALU)操作。这些指令允许程序员将经常使用的常量打包在打包数据(也称为向量或SIMD)寄存器中,并且然后根据需要在计算指令中对特定常量使用嵌入式广播。这通常会导致高速缓存压力、高速缓存/存储器带宽以及寄存器压力的降低。图1图示了用于处理单个广播和计算指令的处理器的所选部分的实施例。该指令具有操作码、至少两个源操作数(寄存器或存储器)、立即数和目的地操作数。该指令的格式包括用于定义要执行的计算操作的操作码、第一打包数据源操作数标识符(示出为“SOURCE1”)、第二打包数据源操作数标识符(示出为“SOURCE2/MEM”)、立即数(示出为“IMM8”——8位立即数)和打包数据目的地操作数标识符(示出为“DESTINATION”)的字段。打包数据源操作数字段表示打包数据的寄存器位置或具有多个打包数据元素的打包数据的存储器位置。打包数据目的地操作数字段表示打包数据的寄存器位置,其中将存储指令的计算操作的结果。在所图示的示例中,被标识的第一源操作数101(“SOURCE1”)具有多个打包数据元素。在被标识的第一打包数据源操作数101的位置0中是“A”值,在位置1中是“B”值,等等。被标识的第二打包数据源操作数103(“SOURCE2”)也具有多个打包数据元素。在被标识的第二打包数据源操作数103的位置0中是“E”值,在位置1中是“F”值,等等。在该示例中,指令的立即数值(“IMM8”)被提供给广播电路113,广播电路113是用于一旦指令被解码就执行指令的执行电路111的一部分。在一些实施例中,广播发生在处理器流水线中的执行电路111之前。广播电路113使用立即数值的值来确定要广播被标识的第一打包数据源操作数101中的哪个位置。在此示例中,立即数具有十进制值“0”(二进制也相同)。照此,被标识的第一打包数据源操作数101中的“A”被选择作为提供给功能单元电路115的广播元素。“A”现在用在由功能单元电路115执行的所有计算中。将被标识的第二打包数据源操作数103的打包数据元素被提供给功能单元电路115。在该示例中,计算是乘法。照此,功能单元电路115将“A”乘以被标识的第二打包数据源操作数103的打包数据元素,并将每个乘法的结果存储在被标识的打包数据目的地操作数121的打包数据元素位置中,所述打包数据元素位置对应于在操作中使用的被标识的第二打包数据源操作数103的打包数据元素的位置。图2图示了用于处理单个广播和计算指令的处理器的所选部分的实施例。该指令具有操作码、至少两个源操作数(寄存器或存储器)、前缀和目的地操作数。该指令的格式包括用于前缀、定义要执行的计算操作的操作码、第一个打包数据源操作数标识符(示出为“SOURCE1”)、第二个打包数据源操作数标识符(示出为“SOURCE2/MEM”)和打包数据目的地操作数标识符(示出为“DESTINATION”)的字段。打包数据源操作数字段表示打包数据的寄存器位置或者具有多个打包数据元素的打包数据的存储器位置。打包数据目的地操作数字段表示打包数据的寄存器位置,其中将存储指令的计算操作的结果。在所图示的示例中,被标识的第一源操作数201(“SOURCE1”)具有多个打包数据元素。在被标识的第一打包数据源操作数201的位置0是中“A”值,在位置1中是“B”值,等等。被标识的第二打包数据源操作数203(“SOURCE2”)也具有多个打包数据元素。在被标识的第二打包数据源操作数203的位置0中是“E”值,在位置1是“F”值,等等。在该示例中,指令的前缀包括要广播的数据元素的标识符,并且该标识符被提供给广播电路213,广播电路213是用于一旦指令被解码就执行指令的执行电路211的一部分。在一些实施例中,广播发生在处理器流水线中的执行电路211之前。广播电路213使用要广播的数据元素的标识符的值来确定要广播被标识的第一打包数据源操作数201中的哪个位置。在该示例中,要广播的数据元素的标识符具有十进制值“0”(二进制也相本文档来自技高网...

【技术保护点】
1.一种处理器,包括:解码部件,用于对指令进行解码,所述指令具有用于操作码、至少两个打包数据源操作数标识符、打包数据目的地操作数标识符和立即数的字段;以及执行部件,用于执行经解码的指令以:广播来自被标识的第一打包数据源操作数的打包数据元素,其中基于立即数的值来选择要广播的打包数据元素位置,根据操作码对所广播的来自被标识的第一打包数据源操作数的打包数据元素和被标识的第二打包数据源操作数的打包数据元素执行操作,以及将操作的结果存储在被标识的打包数据目的地操作数中与被标识的第二打包数据源操作数的打包数据元素位置对应的位置中。

【技术特征摘要】
2017.12.29 US 15/8582781.一种处理器,包括:解码部件,用于对指令进行解码,所述指令具有用于操作码、至少两个打包数据源操作数标识符、打包数据目的地操作数标识符和立即数的字段;以及执行部件,用于执行经解码的指令以:广播来自被标识的第一打包数据源操作数的打包数据元素,其中基于立即数的值来选择要广播的打包数据元素位置,根据操作码对所广播的来自被标识的第一打包数据源操作数的打包数据元素和被标识的第二打包数据源操作数的打包数据元素执行操作,以及将操作的结果存储在被标识的打包数据目的地操作数中与被标识的第二打包数据源操作数的打包数据元素位置对应的位置中。2.根据权利要求1所述的处理器,其中操作是计算。3.根据权利要求2所述的处理器,其中立即数是8位值。4.根据权利要求1-3中任一项所述的处理器,其中指数分量被存储在被标识的打包数据目的地操作数的最低有效打包数据元素位置中。5.根据权利要求1-3中任一项所述的处理器,其中被标识的打包数据源操作数中的一个和目的地操作数相同。6.根据权利要求1-4中任一项所述的处理器,其中被标识的第二打包数据源操作数是存储器位置。7.一种方法,包括:对指令进行解码,所述指令具有用于操作码、至少两个打包数据源操作数标识符、打包数据目的地操作数标识符和立即数的字段;以及执行经解码的指令以:广播来自被标识的第一打包数据源操作数的打包数据元素,其中基于立即数的值来选择要广播的打包数据元素位置,根据操作码对所广播的来自被标识的第一打包数据源操作数的打包数据元素和被标识的第二打包数据源操作数的打包数据元素执行操作,以及将操作的结果存储在被标识的打包数据目的地操作数中与被标识的第二打包数据源操作数的打包...

【专利技术属性】
技术研发人员:M乌尔班斯基E奥尔德艾哈迈德瓦尔
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国,US

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

1