用于执行冲突检测并将寄存器的内容广播到另一个寄存器的数据元素位置的系统、装置...的制作方法_5

文档序号:8926990阅读:来源:国知局
量MIC处理器、GPGPU的处理器、加速器(诸如例如图形加速器或数字信号处理器(DSP)单 元)、现场可编程门阵列或任何其他处理器的一个或多个附加处理器1415耦合到第一总线 1416。在一个实施例中,第二总线1420可以是低引脚计数(LPC)总线。各种设备可以被耦 合至第二总线1420,在一个实施例中这些设备包括例如键盘/鼠标1422、通信设备1427以 及诸如可包括指令/代码和数据1430的盘驱动器或其它大容量存储设备的存储单元1428。 此外,音频I/O 1424可以被耦合至第二总线1420。注意,其它架构是可能的。例如,代替图 14的点对点架构,系统可以实现多分支总线或其它这类架构。
[0125] 现在参考图15,所示为根据本发明的实施例的更具体的第二示例性系统1500的 框图。图14和图15中的相同部件用相同附图标记表示,并从图15中省去了图14中的某 些方面,以避免使图15的其它方面变得模糊。
[0126] 图15示出处理器1470、1480可分别包括集成存储器和I/O控制逻辑("CL") 1472 和1482。因此,CL 1472、1482包括集成存储器控制器单元并包括I/O控制逻辑。图15不 仅示出存储器1432、1434耦合至CL 1472、1482,而且还示出I/O设备1514也耦合至控制逻 辑1472、1482。传统I/O设备1515被耦合至芯片组1490。
[0127] 现在参考图16,所示为根据本发明的一实施例的SoC 1600的框图。在图12中, 相似的部件具有同样的附图标记。另外,虚线框是更先进的SoC的可选特征。在图16中, 互连单元1602被耦合至:应用处理器1610,该应用处理器包括一个或多个核202A-N的集 合以及共享高速缓存单元1206 ;系统代理单元1210 ;总线控制器单元1216 ;集成存储器控 制器单元1214 ;-组或一个或多个协处理器1620,其可包括集成图形逻辑、图像处理器、音 频处理器和视频处理器;静态随机存取存储器(SRAM)单元1630;直接存储器存取(DMA)单 元1632;以及用于耦合至一个或多个外部显示器的显示单元1640。在一个实施例中,协处 理器1620包括专用处理器,诸如例如网络或通信处理器、压缩引擎、GPGPU、高吞吐量MIC处 理器、或嵌入式处理器等等。
[0128] 本文公开的机制的各实施例可以被实现在硬件、软件、固件或这些实现方法的组 合中。本发明的实施例可实现为在可编程系统上执行的计算机程序或程序代码,该可编程 系统包括至少一个处理器、存储系统(包括易失性和非易失性存储器和/或存储元件)、至 少一个输入设备以及至少一个输出设备。
[0129] 可将程序代码(诸如图14中示出的代码1430)应用于输入指令,以执行本文描述 的各功能并生成输出信息。可以按已知方式将输出信息应用于一个或多个输出设备。为了 本申请的目的,处理系统包括具有诸如例如数字信号处理器0SP)、微控制器、专用集成电 路(ASIC)或微处理器之类的处理器的任何系统。
[0130] 程序代码可以用高级程序化语言或面向对象的编程语言来实现,以便与处理系统 通信。在需要时,也可用汇编语言或机器语言来实现程序代码。事实上,本文中描述的机制 不限于任何特定编程语言的范围。在任一情形下,该语言可以是编译语言或解释语言。
[0131] 至少一个实施例的一个或多个方面可以由存储在机器可读介质上的表示性指令 来实现,指令表示处理器中的各种逻辑,指令在被机器读取时使得该机器制作用于执行本 文所述的技术的逻辑。被称为"IP核"的这些表示可以被存储在有形的机器可读介质上,并 被提供给多个客户或生产设施以加载到实际制造该逻辑或处理器的制造机器中。
[0132] 这样的机器可读存储介质可以包括但不限于通过机器或设备制造或形成的物品 的非瞬态的有形安排,其包括存储介质,诸如:硬盘;任何其它类型的盘,包括软盘、光盘、 紧致盘只读存储器(⑶-ROM)、紧致盘可重写(CD-RW)以及磁光盘;半导体器件,例如只读存 储器(ROM)、诸如动态随机存取存储器(DRAM)和静态随机存取存储器(SRAM)之类的随机 存取存储器(RAM)、可擦除可编程只读存储器(EPROM)、闪存、电可擦除可编程只读存储器 (EEPR0M);相变存储器(PCM);磁卡或光卡;或适于存储电子指令的任何其它类型的介质。
[0133]因此,本发明的各实施例还包括非瞬态的有形机器可读介质,该介质包含指令或 包含设计数据,诸如硬件描述语言(HDL),它定义本文中描述的结构、电路、装置、处理器和 /或系统特征。这些实施例也被称为程序产品。
[0134] 仿真(包括二进制变换、代码变形等)
[0135] 在一些情况下,指令转换器可用来将指令从源指令集转换至目标指令集。例如,指 令转换器可以变换(例如使用静态二进制变换、包括动态编译的动态二进制变换)、变形、 仿真或以其它方式将指令转换成将由核来处理的一个或多个其它指令。指令转换器可以用 软件、硬件、固件、或其组合实现。指令转换器可以在处理器上、在处理器外、或者部分在处 理器上且部分在处理器外。
[0136] 图17是根据本发明的各实施例的对照使用软件指令转换器将源指令集中的二进 制指令转换成目标指令集中的二进制指令的框图。在所示的实施例中,指令转换器是软件 指令转换器,但作为替代,该指令转换器可以用软件、固件、硬件或其各种组合来实现。图17 示出可以使用x86编译器1704来编译利用高级语言1702的程序,以生成可以由具有至少 一个x86指令集核的处理器1716原生执行的x86二进制代码1706。具有至少一个x86指 令集核的处理器1716表示任何处理器,这些处理器能通过兼容地执行或以其他方式处理 以下内容来执行与具有至少一个x86指令集核的英特尔处理器基本相同的功能:1)英特尔 x86指令集核的指令集的本质部分,或2)目标为在具有至少一个x86指令集核的英特尔处 理器上运行的应用或其它程序的目标代码版本,以便取得与具有至少一个x86指令集核的 英特尔处理器基本相同的结果。x86编译器1704表示用于生成x86二进制代码1706 (例 如,目标代码)的编译器,该二进制代码1706可通过或不通过附加的链接处理在具有至少 一个x86指令集核的处理器1716上执行。类似地,图17示出可以使用替代的指令集编译 器1708来编译利用高级语言1702的程序,以生成可以由不具有至少一个x86指令集核的 处理器1714 (例如具有执行加利福尼亚州桑尼维尔市的MIPS技术公司的MIPS指令集、和 /或执行加利福尼亚州桑尼维尔市的ARM控股公司的ARM指令集的核的处理器)原生执行 的替代指令集二进制代码1710。指令转换器1712被用来将x86二进制代码1706转换成 可以由不具有x86指令集核的处理器1714原生执行的代码。该转换后的代码不大可能与 替代性指令集二进制代码1710相同,因为能够这样做的指令转换器难以制造;然而,转换 后的代码将完成一般操作并由来自替代指令集的指令构成。因此,指令转换器1712通过仿 真、模拟或任何其它过程来表示允许不具有x86指令集处理器或核的处理器或其它电子设 备执行x86二进制代码1706的软件、固件、硬件或其组合。
【主权项】
1. 一种响应于单个向量紧缩冲突测试指令在计算机处理器中执行向量紧缩冲突测试 的方法,所述向量紧缩冲突测试指令包括源写掩码寄存器操作数、源向量寄存器操作数、目 的地写掩码寄存器操作数和操作码,所述方法包括以下步骤: 执行单个向量紧缩冲突测试指令,以: 将来自源写掩码操作数的数据与源向量寄存器操作数的每个数据元素进行逻辑AND, 判断逻辑AND操作中的哪些指示冲突以形成冲突检查结果,以及 将冲突检查结果与来自源掩码操作数的数据进行逻辑AND;以及 将冲突检查结果与来自源掩码操作数的数据的逻辑AND的结果存储到目的地写掩码 寄存器操作数中。2. 如权利要求1所述的方法,其特征在于,进一步包括: 对源写掩码寄存器的数据进行零扩展,使得经零扩展的数据与源向量寄存器操作数的 每个数据元素尺寸相同。3. 如权利要求1所述的方法,其特征在于,进一步包括: 将源写掩码寄存器的经零扩展的数据广播到临时向量寄存器,所述临时向量寄存器具 有与源向量寄存器操作数相同数量和尺寸的数据元素。4. 如权利要求1所述的方法,其特征在于,所述源向量寄存器操作数的尺寸是128位、 256位或512位。5. 如权利要求1所述的方法,其特征在于,所述目的地写掩码寄存器是64位。6. 如权利要求1所述的方法,其特征在于,所述目的地写掩码寄存器是16位。7. 如权利要求1所述的方法,其特征在于,所述源向量寄存器操作数的数据元素的尺 寸是8位、16位、32位、64位、128位或256位。8. -种响应于单个向量紧缩广播指令在计算机处理器中进行广播数据的方法,所述向 量紧缩广播指令包括源写掩码寄存器操作数、目的地向量寄存器操作数和操作码,所述方 法包括以下步骤: 对源写掩码寄存器的数据进行零扩展,使得经零扩展的数据与目的地向量寄存器操作 数的每个数据元素尺寸相同; 将源写掩码寄存器的经零扩展的数据存储到目的地向量寄存器的每个数据元素位置。9. 如权利要求8所述的方法,其特征在于,所述目的地向量寄存器操作数的尺寸是128 位、256位或512位。10. 如权利要求8所述的方法,其特征在于,所述源写掩码寄存器是64位。11. 如权利要求8所述的方法,其特征在于,所述源写掩码寄存器是16位。12. 如权利要求9所述的方法,其特征在于,所述源向量寄存器操作数的数据元素的尺 寸是8位、16位、32位、64位、128位或256位。13. 如权利要求1所述的方法,其特征在于,所述向量紧缩广播指令还包括第二写掩码 源寄存器。14. 如权利要求15所述的方法,其特征在于,进一步包括: 基于第二写掩码源寄存器的位值,选择地防止将源写掩码操作数的数据存储到目的地 向量寄存器的至少一个数据元素位置。15. -种装置,包括: 硬件解码器,用于解码单个向量紧缩广播指令,所述单个向量紧缩广播指令包括源写 掩码寄存器操作数、目的地向量寄存器操作数以及操作码; 执行逻辑,用于对源写掩码寄存器的数据进行零扩展,使得经零扩展的数据与目的地 向量寄存器操作数的每个数据元素尺寸相同,并且将源写掩码寄存器的经零扩展的数据存 储到目的地向量寄存器的每个数据元素位置中。16. 如权利要求8所述的方法,其特征在于,所述目的地向量寄存器操作数的尺寸是 128位、256位或512位。17. 如权利要求8所述的方法,其特征在于,所述源写掩码寄存器是64位。18. 如权利要求8所述的方法,其特征在于,所述源写掩码寄存器是16位。19. 如权利要求1所述的方法,其特征在于,所述向量紧缩广播指令还包括第二写掩码 源寄存器。20. 如权利要求15所述的方法,其特征在于,所述执行逻辑还用于: 基于第二写掩码源寄存器的位值,选择地防止将源写掩码操作数的数据存储到目的地 向量寄存器的至少一个数据元素位置。
【专利摘要】响应于包括源写掩码寄存器操作数、目的地向量寄存器操作数和操作码的单个向量紧缩广播指令在计算机处理器中执行广播数据的系统、设备和方法。在一些实施例中,在广播之前对源写掩码寄存器的数据进行零扩展。
【IPC分类】G06F12/02
【公开号】CN104903867
【申请号】CN201380045603
【发明人】C·J·休斯, M·J·查尼, J·考博尔, M·B·吉尔卡尔, E·乌尔德-阿迈德-瓦尔, B·L·托尔, R·凡伦天
【申请人】英特尔公司
【公开日】2015年9月9日
【申请日】2013年6月14日
【公告号】DE112013003741T5, US20140095843, WO2014051752A1
当前第5页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1