用于将多个位向左移并将多个1拉入较低有效位的指令的制作方法_5

文档序号:9204227阅读:来源:国知局
,各种I/O设备1114可以连同总线桥1118耦合到第一总线1116,该总 线桥将第一总线1116耦合至第二总线1120。在一个实施例中,诸如协处理器、高吞吐量MIC 处理器、GPGPU的处理器、加速器(诸如例如图形加速器或数字信号处理(DSP)单元)、现场 可编程门阵列或任何其它处理器的一个或多个附加处理器1115耦合到第一总线1116。在 一个实施例中,第二总线1120可以是低引脚计数(LPC)总线。各种设备可以被耦合至第二 总线1120,在一个实施例中这些设备包括例如键盘/鼠标1122、通信设备1127以及诸如可 包括指令/代码和数据1130的盘驱动器或其它大容量存储设备的存储单元1128。此外,音 频I/O 1124可以被耦合至第二总线1120。注意,其它架构是可能的。例如,代替图11的点 对点架构,系统可以实现多分支总线或其它这类架构。
[0096] 现在参考图12,所示为根据本发明的实施例的更具体的第二示例性系统1200的 框图。图11和图12中的相同部件用相同附图标记表示,并从图12中省去了图11中的某 些方面,以避免使图12的其它方面变得模糊。
[0097] 图12示出处理器1170、1180可分别包括集成存储器和I/O控制逻辑("CL") 1172 和1182。因此,CL 1172U182包括集成存储器控制器单元并包括I/O控制逻辑。图12不 仅示出存储器1132U134耦合至CL 1172、1182,而且还示出I/O设备1214也耦合至控制逻 辑1172、1182。传统I/O设备1215被耦合至芯片组1190。
[0098] 现在参照图13,所示出的是根据本发明一个实施例的SoC 1300的框图。在图9 中,相似的部件具有同样的附图标记。另外,虚线框是更先进的SoC的可选特征。在图13 中,互连单元1302被耦合至:应用处理器1310,该应用处理器包括一个或多个核202A-N的 集合以及共享高速缓存单元906 ;系统代理单元910 ;总线控制器单元916 ;集成存储器控 制器单元914 ;一组或一个或多个协处理器1320,其可包括集成图形逻辑、图像处理器、音 频处理器和视频处理器;静态随机存取存储器(SRAM)单元1330 ;直接存储器存取(DMA)单 元1332 ;以及用于耦合至一个或多个外部显示器的显示单元1340。在一个实施例中,协处 理器1320包括专用处理器,诸如例如网络或通信处理器、压缩引擎、GPGPU、高吞吐量MIC处 理器、或嵌入式处理器等等。
[0099] 本文公开的机制的各实施例可以被实现在硬件、软件、固件或这些实现方法的组 合中。本发明的实施例可实现为在可编程系统上执行的计算机程序或程序代码,该可编程 系统包括至少一个处理器、存储系统(包括易失性和非易失性存储器和/或存储元件)、至 少一个输入设备以及至少一个输出设备。
[0100] 可将程序代码(诸如图11中示出的代码1130)应用于输入指令,以执行本文描述 的各功能并生成输出信息。可以按已知方式将输出信息应用于一个或多个输出设备。为了 本申请的目的,处理系统包括具有诸如例如数字信号处理器(DSP)、微控制器、专用集成电 路(ASIC)或微处理器之类的处理器的任何系统。
[0101] 程序代码可以用高级程序化语言或面向对象的编程语言来实现,以便与处理系统 通信。在需要时,也可用汇编语言或机器语言来实现程序代码。事实上,本文中描述的机制 不限于任何特定编程语言的范围。在任一情形下,该语言可以是编译语言或解释语言。
[0102] 至少一个实施例的一个或多个方面可以由存储在机器可读介质上的表示性指令 来实现,指令表示处理器中的各种逻辑,指令在被机器读取时使得该机器制作用于执行本 文所述的技术的逻辑。被称为"IP核"的这些表示可以被存储在有形的机器可读介质上,并 被提供给多个客户或生产设施以加载到实际制造该逻辑或处理器的制造机器中。
[0103] 这样的机器可读存储介质可以包括但不限于通过机器或设备制造或形成的物品 的非瞬态的有形安排,其包括存储介质,诸如:硬盘;任何其它类型的盘,包括软盘、光盘、 紧致盘只读存储器(⑶-R0M)、紧致盘可重写(CD-RW)以及磁光盘;半导体器件,例如只读存 储器(R0M)、诸如动态随机存取存储器(DRAM)和静态随机存取存储器(SRAM)之类的随机 存取存储器(RAM)、可擦除可编程只读存储器(EPROM)、闪存、电可擦除可编程只读存储器 (EEPROM);相变存储器(PCM);磁卡或光卡;或适于存储电子指令的任何其它类型的介质。
[0104] 因此,本发明的各实施例还包括非瞬态的有形机器可读介质,该介质包含指令或 包含设计数据,诸如硬件描述语言(HDL),它定义本文中描述的结构、电路、装置、处理器和 /或系统特征。这些实施例也被称为程序产品。
[0105] 虽然已经描述并在附图中示出了特定示例实施例,但可以理解,这些实施例仅仅 是对本宽泛发明的说明而非限制,并且本发明不限于所示出和所描述的特定结构和配置, 因为本领域技术人员在研宄了本公开文本之后可以料知到多种其它修改方式。在诸如本申 请这样的技术领域中,因为发展很快且未来的进步难以预见,所以本公开的诸个实施例可 通过受益于技术进步而容易地获得配置和细节上的改动,而不背离本公开的原理和所附权 利要求书的范围。
【主权项】
1. 一种装置,包括: 多个向量寄存器,所述多个向量寄存器中的一个向量寄存器存储数组的数据元素;以 及 执行电路,耦合至所述多个向量寄存器,所述执行电路用于: 接收掩码产生指令,所述掩码产生指令至少指定第一操作数和第二操作数,以及 响应于所述掩码产生指令,将所述第一操作数的位向左移动所述第二操作数中定义的 次数,并且每当所述第一操作数的最高有效位被移出时拉入最低有效位1,由此产生包含多 个位的结果,其中所述结果中的每个位对应于所述数组中的所述数据元素中的一个数据元 素。2. 如权利要求1所述的装置,其特征在于,所述第二操作数指定向量操作的剩余循环 中的余下迭代的数量。3. 如权利要求2所述的装置,其特征在于,所述第二操作数指定所述向量操作的循环 限制减去当前迭代计数的减法结果。4. 如权利要求1所述的装置,其特征在于,所述多个向量寄存器包含第一向量寄存器 和第二向量寄存器,并且其中所述第二操作数指定所述第二向量寄存器中的要合并到所述 第一向量寄存器中的现有数据元素中以进行向量计算的数据元素的数量。5. 如权利要求1所述的装置,其特征在于,所述第一操作数和所述第二操作数均是通 用寄存器。6. 如权利要求1所述的装置,其特征在于,所述第一操作数是掩码寄存器,且所述第二 操作数是通用寄存器。7. 如权利要求1所述的装置,其特征在于,基于所述结果来设置一个或多个状态寄存 器。8. 一种方法,包括: 通过处理器来接收掩码产生指令,所述掩码产生指令至少指定第一操作数和第二操作 数;以及 响应于所述掩码产生指令,执行以下操作: 将所述第一操作数的位向左移动所述第二操作数中定义的次数,以及 每当所述第一操作数的最高有效位被移出时拉入最低有效位1,由此产生包含多个位 的结果,所述结果中的每个位对应于数组的数据元素。9. 如权利要求7所述的方法,其特征在于,所述第二操作数指定向量操作的剩余循环 中的余下迭代的数量。10. 如权利要求9所述的方法,其特征在于,所述第二操作数指定所述向量操作的循环 限制减去当前迭代计数的减法结果。11. 如权利要求7所述的方法,其特征在于,所述第二操作数指定所述第二向量寄存器 中的要合并到所述第一向量寄存器中的现有数据元素中以进行向量计算的数据元素的数 量。12. 如权利要求7所述的方法,其特征在于,所述第一操作数和所述第二操作数均是通 用寄存器。13. 如权利要求7所述的方法,其特征在于,所述第一操作数是掩码寄存器,且所述第 二操作数是通用寄存器。14. 如权利要求7所述的方法,其特征在于,进一步包括: 基于所述结果修改一个或多个状态寄存器。15. -种系统,包括: 随机存取存储器;以及 处理器,耦合至所述随机存取存储器,所述处理器包括: 多个向量寄存器,所述多个向量寄存器中的一个向量寄存器存储数组的数据元素;以 及 执行电路,耦合至所述多个向量寄存器,所述执行电路用于: 接收掩码产生指令,所述掩码产生指令至少指定第一操作数和第二操作数,以及 响应于所述掩码产生指令,将所述第一操作数的位向左移动所述第二操作数中定义的 次数,并且每当所述第一操作数的最高有效位被移出时拉入最低有效位1,由此产生包含多 个位的结果,其中所述结果中的每个位对应于所述数组中的所述数据元素中的一个数据元 素。16. 如权利要求15所述的系统,其特征在于,所述第二操作数指定向量操作的剩余循 环中的余下迭代的数量。17. 如权利要求15所述的系统,其特征在于,所述多个向量寄存器包含第一向量寄存 器和第二向量寄存器,并且其中所述第二操作数指定所述第二向量寄存器中的要合并到所 述第一向量寄存器中的现有数据元素中以进行向量计算的数据元素的数量。18. 如权利要求15所述的系统,其特征在于,所述第一操作数和所述第二操作数均是 通用寄存器。19. 如权利要求15所述的系统,其特征在于,所述第一操作数是掩码寄存器,且所述第 二操作数是通用寄存器。20. 如权利要求15所述的系统,其特征在于,基于所述结果来设置一个或多个状态寄 存器。
【专利摘要】通过处理器执行掩码产生指令,以提高对数据元素数组进行向量操作的效率。处理器包括多个向量寄存器,多个向量寄存器之一存储数组的数据元素。处理器还包括执行电路,该执行电路用于接收掩码产生指令,该掩码产生指令至少指定第一操作数和第二操作数。响应于该掩码产生指令,该执行电路用于将第一操作数的位向左移动在第二操作数中定义的次数,并且每当第一操作数的最高有效位从左边被移出时就从右边拉入位1,以产生结果。该结果中的每个位对应于该数组的多个数据元素中的一个数据元素。
【IPC分类】G06F12/02
【公开号】CN104919432
【申请号】CN201380045387
【发明人】M·普罗特尼科夫, I·厄莫拉夫, A·纳赖金, R·凡伦天
【申请人】英特尔公司
【公开日】2015年9月16日
【申请日】2013年6月25日
【公告号】DE112013004800T5, US9122475, US20140095830, WO2014051782A1
当前第5页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1