[发明专利]高效矢量滚转操作的装置和方法有效
申请号: | 201310713448.3 | 申请日: | 2013-12-20 |
公开(公告)号: | CN103914278A | 公开(公告)日: | 2014-07-09 |
发明(设计)人: | T·尤里尔;B·波尔谢;E·乌尔德-阿迈德-瓦尔 | 申请(专利权)人: | 英特尔公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30 |
代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 邢德杰 |
地址: | 美国加利*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 高效 矢量 操作 装置 方法 | ||
技术领域
本发明领域通常涉及计算科学,且尤其涉及高效矢量滚转操作。
背景技术
图1示出借助于半导体芯片上的逻辑电路实现的处理核心100的高级视图。处理核心包括管线101。管线由多个阶段组成,每一阶段均被设计为执行完整执行程序代码指令所需要的多步过程中的特定步骤。这些步骤通常至少包括:1)指令取出和解码;2)数据取出;3)执行;4)回写。针对由在先前的(各)阶段(例如,上面的步骤1))中取出和解码的指令标识且在另一先前阶段(例如,上面的步骤2))中取出的数据,执行阶段执行由相同的指令标识的特定操作。通常从(通用)寄存器存储空间102取出所操作的数据。在操作结束时创建的新数据通常也“回写”到寄存器存储空间(例如,在上面的阶段4))。
与执行阶段相关联的逻辑电路通常包括均被设计为执行其自己的唯一操作子集的多个“执行单元”或“功能单元”103_l到103_N(例如,第一功能单元执行整数数学操作,第二功能单元执行浮点指令,第三功能单元执行来自/去往高速缓存/存储器的加载/存储操作等等)。由所有功能单元执行的所有操作的集合对应于处理核心100所支持的“指令集”。
在计算机科学领域中众所周知两种类型的处理器体系结构:“标量”和“矢量”。标量处理器被设计为执行对单个数据集执行操作的指令,而矢量处理器被设计为执行对多个数据集执行操作的指令。图2a和2b给出演示在标量处理器和矢量处理器之间的基本差异的对比示例。
图2a示出标量“与(AND)”指令的示例,其中对单个操作数集A和B求“与”以便产生单个(或“标量”)结果C(即,AB=C)。作为对比,图2b示出矢量“与”指令的示例,其中对两个操作数集A/B和D/E分别并行求“与”,以便同时产生矢量结果C,F(即,A.AND.B=C且D.AND.E=F)。在术语上,“矢量”是具有多个“元素”的数据元素。例如,矢量V=Q,R,S,T,U具有五个不同的元素:Q、R、S、T和U。示例性矢量V的“大小”是五(因为它具有五个元素)。
图1也示出不同于通用寄存器空间102的矢量寄存器空间104的存在。具体地,通用寄存器空间102名义上用来存储标量值。因而,当任何执行单元执行标量操作时,它们名义上使用从通用寄存器存储空间102调用的操作数(且向其回写结果)。作为对比,在任何执行单元执行矢量操作时,它们名义上使用从矢量寄存器空间107调用的操作数(且向其回写结果)。可以类似地把存储器的不同区域分配为用于存储标量值和矢量值。
还应注意到,在对功能单元103_l到103_N的各自的输入和来自其的各自的输出处,存在屏蔽逻辑104_l到104_N和105_l到105_N。在各种实现中,实际上实现了这些层中的仅一个——尽管这不是严格的要求。对于采用屏蔽的任何指令,输入屏蔽逻辑104_l到104_N和/或输出屏蔽逻辑105_l到105_N可以被用来控制对于矢量指令高效地操作哪些元素。在这里,从屏蔽寄存器空间106读取屏蔽矢量(例如,连同从矢量寄存器存储空间107读取的输入数据矢量)并将其呈现给屏蔽逻辑104、105层中的至少一个。
在执行矢量程序代码的过程中,每一矢量指令不要求完整数据字。例如,一些指令的输入矢量可以仅是8个元素,其他指令的输入矢量可以是16个元素,其他指令的输入矢量可以是32个元素等等。因此,屏蔽层104/105被用来标识适用于特定指令的完整矢量数据字的一组元素,以便跨越指令影响不同的矢量大小。通常,对于每一矢量指令,屏蔽寄存器空间106中所保留的特定的屏蔽图案被指令调出、从屏蔽寄存器空间取出并被提供给屏蔽层104/105中的一个或两者,以便“允许”用于特定矢量操作的正确元素集。
已经实现且已知多种矢量指令。这些包括VPBROADCAST、VPSUBB、VPADD、VPSHUFB、VPXOR、VINSERT、VEXTRACT和VPBLEND指令。图3a到图3g分别阐释这些指令的基本操作。
如图3a中可见,VPBROADCAST指令接受作为输入操作数的单个标量值A,且产生矢量元素R,矢量元素R的每一元素中具有A。VBROADCAST指令也可以被用来提供合量,如果作为输入操作数提供从中查找到值的查找表的地址以及到它的索引,则该合量对应于从查找表查找到的值。
如图3b中可见,VPSUBB和VPADD指令产生矢量合量R,其构成元素对应于一对输入矢量A、B中同样定位的元素的各自加/减。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310713448.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种调节计算机显示器的方法
- 下一篇:配备有经调制照射源的光学计量工具