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

用于向量前导零、向量后导零、向量操作数1计数和向量奇偶性计算的功能单元制造技术

技术编号:8722376 阅读:333 留言:0更新日期:2013-05-22 15:35
描述了对半导体芯片执行向量运算的方法。该方法包括通过在半导体芯片上实现的向量功能单元来执行第一向量指令并且通过所述向量功能单元来执行第二向量指令。第一向量指令为向量乘加指令。第二向量指令为向量前导零计数指令。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术的领域一般涉及计算机系统,并且更具体地涉及一种用于执行向量乘加指令以及使用用于计算向量乘加结果的逻辑块的其它指令的处理器体系结构。
技术介绍
计算机科学领域广泛地认可两种类型的处理器体系结构,即“标量”和“向量”。标量处理器被设计成执行对单个数据集进行运算的指令,而向量处理器被设计成执行对多个数据集进行运算的指令。图1A和图1B呈现出演示标量处理器和向量处理器之间的基本差别的比较性示例。图1A示出了标量“与”指令的示例,其中单个操作数集A和B “与”在一起以生成单数(singular)(或“标量”)结果C (即,AB=C)。作为对比,图1B示出了向量“与”指令的示例,其中两个操作数集A/B和D/E分别并行地“与”在一起以同时生成向量结果C、F (BP,A “与” B=C 且 D “与” E=F)。通常,本领域公知的是,两个输入操作数和输出结果存储在专用寄存器中。例如,许多指令将具有两个输入操作数。因此,将使用两个不同的输入寄存器来临时存储各输入操作数。而且,这些相同的指令将生成输出值,该输出值临时存储在第三(结果)寄存器中。在图1A和图1B中观察到各个输入寄存器IOlaUOlb和102a、102b以及结果寄存器103a、103b。明显地,能够容易地辨别出“标量”对“向量”的特性。也就是说,观察到图1A的标量设计输入寄存器IOla和102a仅保持标量值(分别为A和B)。同样,也观察到图1A的标量设计的结果寄存器103a仅保持标量值(C)。作为对比,观察到图1B的向量系统的输入寄存器IOlb和102b保持向量(寄存器IOlb中的A、D以及寄存器102b中的B、E)。同样,也观察到图1B的向量系统的结果寄存器103b保持向量值(C、F)。从术语上讲,图1B的向量系统的寄存器101b、102b和103b中的每个的内容能够统称为“向量”,并且向量内的各个单个的标量值能够称为“元素”。因此,观察到例如寄存器IOlb存储有“向量” A、D,其由“元素” A和“元素”D构成。已知的是仅标量或SMD乘运算已经实际上在半导体芯片处理器中实现为单个处理器指令。已知已经在半导体芯片处理器中实现的标量或SMD乘指令包括:“乘”指令(MUL),其提供两个整数输入操作数的乘积的较低阶位;以及“乘高(multiply high)”指令(MULH),其提供标量整数乘运算的较高阶位。已知在半导体处理器芯片中实现为标量或SMD指令的其它指令包括“计数前导零,,CLZ指令、“计数后导零”指令CTZ和“计数”指令CNT。标量CLZ指令接受标量输入A并且返回A中的在A中的最高阶I之前的O的数量(例如,如果A=1000,则CLZ的结果=0 ;如果A=0100,则CLZ的结果=1 ;如果A=0010,则CLZ的结果=2 ;等等)。标量CTZ指令接受标量输入A并且返回A中的在A中最低阶I之后的O的数量(例如,如果A=1000,则CTZ的结果=3 ;如果A=OlOO,则CTZ的结果=2 ;如果A=OOlO,则CTZ的结果=1,等等)。标量CNT指令接受标量输入A并且返回A中的I的数量(例如,如果A=IOll,则CLZ的结果=3 ;如果A=IOOl,则CLZ的结果=2 ;如果A=OOlO,则CLZ的结果=1,等等)。附图说明在随附附图中的各图中,通过示例而不是限制的方式阐述了本专利技术,其中相似的附图标记表示相似的元件,并且其中:图1a和Ib不出了标量逻辑运算和向量逻辑运算;图2示出了向量乘加功能单元;图3示出了能够用于图2的功能单元200_1至200_N中的每个的电子功能单元的实施例;图4a示出了向量浮点乘加运算;图4b示出了向量整数浮点运算;图5示出了图3的功能单元的实施例,该功能单元具有执行前导零、后导零、操作数I计数及奇偶性指令的扩展逻辑;图6a至6d示出了下列指令的执行,分别为:前导零确定、后导零确定、操作数I计数以及操作数奇偶性确定;图7示出了半导体处理器的图;图8示出 了计算系统的图。具体实施例方式一些计算机系统可能要求“乘加”运算。乘加运算执行计算(A*B)+C,其中A、B和C中的每个为输入操作数。图2示出了能够执行向量乘加指令(VMADD)的向量处理功能单元200的高级体系结构图。从图2中可观察到,功能单元包括N个标量逻辑单元200_1至200_N,每个标量逻辑单元对输入向量的各元素执行标量乘加运算。此处,输入寄存器203保持输入向量Α=Α_1,Α_2,.Α_Ν ;输入寄存器204保持输入向量Β=Β_1,Β_2,…Β_Ν ;并且,输入寄存器205保持输入向量C=C_1,C_2,标量逻辑单元200_1执行计算((A_l) * (B_l)) +C_l ;标量逻辑单元200_2执行计算((A_2) * (B_2)) +C_2 ;…;并且,标量逻辑单元200_”执行计算((A_N)*(B_N))+C_N。在实施例中,每个标量逻辑单元既支持32位操作数运算模式,又支持64位操作数运算模式。由逻辑单元200_1至200_N生成的各个结果202_1至202_N对应于存储在输出寄存器中的由向量功能单元200提供的输出向量的各个元素。图2还示出了,为了实现与SMD运算相对的向量运算,掩码层可并入到输出电路206中。向量运算可在如下意义上视为不同于SMD运算:输入操作数的维数对于向量机而言是可变的,但是对于SIMD机而言是固定的。改变图2的向量机中的元素数的能力是通过能够在输出206处执行的掩码来表示的。具体地,每个输出元素可通过其自身的各个写逻辑电路(未示出)写入。在实施例中,写逻辑电路能够写入到任何输出元素位置。通过使能写逻辑电路仅用于那些与有效向量操作数元素对应的元素,能够对可变长度的向量进行处理。这具有实质上仅使能与有效向量元素对应的那些标量功能单元200_1至200_N的操作的效果。此外,掩码使能呈现出对于有效元素检测出算术异常,同时抑制非活动元素的异常。如在下文中进一步详细描述的,除了计算向量乘加指令外,功能单元200还能够计算多个附加的向量指令,诸如下述一个或多个:i)用于整数操作数的向量乘加高指令(VMADDH),其提供了向量乘加计算的较高阶位;i i )用于整数操作数的向量乘加(VMADDL),其提供向量乘加计算的较低阶位;iii)向量计数前导零指令(VCLZ),其接受输入向量C并且提供作为结果的其元素分别对应于输入向量C的元素的前导零计数的输出向量;iv)向量计数后导零指令(VCTZ),其接受输入向量C并且提供作为结果的其元素分别对应于输入向量C的元素的后导零计数的输出向量;v)向量计数指令(VCNT),其接受输入向量C并且提供作为结果的其各元素分别对应于输入向量C的各个元素内的I的计数的输出向量;以及vi)向量奇偶性指令(VPAR),其接受输入向量C并且提供作为结果的其各个元素分别对应于输入向量C的各个兀素的奇偶性状态(奇或偶)的输出向量。如同VMADD指令,上面列举的每个指令均通过向量输入A、B和C的各个输入操作数元素的标量执行来实现。在另一实施例中,再次如下文更加详细描述的,由功能单元200执行的任意/全部指令能够在浮点以及整数操作数上运算。图3示出了图2的标量逻辑单元中的一个的实施例。如当前所描述的,标量逻本文档来自技高网...

【技术保护点】
一种在半导体上实现以执行N维向量运算的向量功能单元,包括:N个功能单元,所述N个功能单元中的每一个均包括执行如下指令的逻辑电路:对各个操作数A、B和C的乘加指令;以及对第一相应操作数的前导零指令。

【技术特征摘要】
【国外来华专利技术】2010.09.24 US 12/890,4571.一种在半导体上实现以执行N维向量运算的向量功能单元,包括: N个功能单元,所述N个功能单元中的每一个均包括执行如下指令的逻辑电路: 对各个操作数A、B和C的乘加指令;以及 对第一相应操作数的前导零指令。2.根据权利要求1所述的向量功能单元,其中,所述N个功能单元中的每一个均还包括执行如下指令的逻辑电路: 对第二相应操作数的后导零指令。3.根据权利要求2所述的向量功能单元,其中,所述N个功能单元中的每一个均还包括执行如下指令的逻辑电路: 对第三相应操作数的奇偶性指令。4.根据权利要求3所述的向量功能单元,其中,所述N个功能单元中的每一个均还包括执行如下指令的逻辑电路: 第四相应操作数的I计数指令。5.根据权利要求1所述的向量功能单元,其中,所述N个功能单元中的每一个均进行微编码。6.根据权利要求1所述的向量功能单元,其中,用于执行所述乘加指令的逻辑计算的逻辑电路还用于执行所述前导零指令的逻辑计算。7.一种方法,包括: 对半导体芯片执行向量运算,包括:通过在所述半导体芯片上实现的向量功能单元来执行第一向量指令以及通过所述向量功能单元来执行第二向量指令,所述第一向量指令为向量乘加指令,所述第二向量指令为向量前导零计数指令。8.根据权利要求7所述的方法,还包括:通过所述功能单元来执行第三向量指令,所述第三向量指令为向量后导零计数指令。9.根据权利要求8所述的方法,还包...

【专利技术属性】
技术研发人员:J·维德迈尔S·萨姆德腊拉R·戈利韦尔E·W·马胡林
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国;US

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

1