[发明专利]在不同的粒度等级下广播数据值的指令执行单元有效
申请号: | 201180075876.7 | 申请日: | 2011-12-23 |
公开(公告)号: | CN104185837B | 公开(公告)日: | 2017-10-13 |
发明(设计)人: | E·乌尔德-阿迈德-瓦尔;R·凡伦天;J·考博尔圣阿德里安;M·J·查尼;B·L·托尔 | 申请(专利权)人: | 英特尔公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30;G06F9/305 |
代理公司: | 上海专利商标事务所有限公司31100 | 代理人: | 张欣 |
地址: | 美国加利*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 不同 粒度 等级 广播 数据 指令 执行 单元 | ||
本发明总体上涉及计算科学,并且更具体地涉及在不同的粒度等级下广播数据值的指令执行单元。
背景技术
图1示出了在半导体芯片上用逻辑电路实现的处理核100的高级图。该处理核包括流水线101。该流水线由各自被设计成在完全执行程序代码指令所需的多步骤过程中执行特定步骤的多个级组成。这些级通常至少包括:1)指令取出和解码;2)数据取出;3)执行;4)写回。执行级对由在先前级(例如在上述步骤1))中所取出和解码的指令所标识并在另一先前级(例如在上述步骤2))中被取出的数据执行由在先前级(例如在上述步骤1))中取出和解码的指令所标识的特定操作。被操作的数据通常是从(通用)寄存器存储空间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=Q,R,S,T,U具有五个不同的元素:Q、R、S、T和U。示例性向量V的“尺寸”是5(因为它具有5个元素)。
图1还示出向量寄存器空间104的存在,该向量寄存器空间104不同于通用寄存器空间102。具体而言,通用寄存器空间102标准地用于存储标量值。这样,当各执行单元中的任一个执行标量操作时,它们标准地使用从通用寄存器存储空间102调用的操作数(并将结果写回通用寄存器存储空间102)。相反,当各执行单元中的任一个执行向量操作时,它们标准地使用从向量寄存器空间107调用的操作数(并将结果写回向量寄存器空间107)。可类似地分配存储器的不同区域以存储标量值和向量值。
还应注意,存在位于功能单元103_1到103_N的相应输入处的掩码逻辑104_1到104_N,以及位于功能单元103_1到103_N的输出处的掩码逻辑105_1到105_N。在各种实现中,实际上仅实现这些层中的一个层——不过这并非严格要求。对于采用掩码的任何指令,输入掩码逻辑104_1到104_N和/或输出掩码逻辑105_1到105_N可用于控制哪些元素被该向量指令有效地操作。在此,从掩码寄存器空间106读取掩码向量(例如与从向量寄存器存储空间107读取的输入数据向量一起),并将该掩码向量呈现给掩码逻辑104、105层中的至少一层。
在执行向量程序代码的过程中,每一向量指令无需要求全数据字。例如,一些指令的输入向量可能仅仅是8个元素,其他指令的输入向量可能是16个元素,其他指令的输入向量可能是32个元素,等等。因此,掩码层104/105用于标识完整向量数据字中的应用于特定指令的一组元素,以在多个指令之间实现不同的向量尺寸。通常,对于每一向量指令,掩码寄存器空间106中所保持的特定掩码模式被该指令调出,从掩码寄存器空间中被取出并且被提供给掩码层104/105中的任一者或两者,以“启用”针对该特定向量操作的正确元素集合。
图3a至图3d示出多个现有技术VBROADCAST指令的逻辑操作。VBROADCAST指令有效地将数据结构复制多次到某个结果中。图3a至图3d的现有技术VBROADCAST指令中的每一个被实现在具有256位结果向量数据宽度的向量处理器架构上。
图3a描绘“256位”VBROADCASTSS指令。如图3a中所看到的,256位VBROADCASTSS指令从存储器301_A读取32位单精度浮点数据值并且将其复制八次到256位目的地302_A。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201180075876.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:控制微服务器中的功率管理
- 下一篇:信息处理系统、信息处理装置以及服务器