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

用于处理文本串的指令和逻辑制造技术

技术编号:15921710 阅读:23 留言:0更新日期:2017-08-04 02:05
本发明专利技术提供一种用于处理文本串的指令和逻辑。用于执行串比较操作的方法、装置和程序模块。在一个实施例中,一种装置包括用来执行第一指令的执行资源。响应于所述第一指令,所述执行资源存储分别与第一和第二文本串相对应的第一和第二操作数的每个数据元素之间的比较结果。

Instructions and logic for handling text strings

The present invention provides an instruction and logic for processing text strings. Method, device and program module for performing string comparison operation. In one embodiment, an apparatus includes an execution resource for executing a first instruction. In response to the first instruction, the execution resource stores a comparison result between each of the data elements corresponding to the first and second operands corresponding to the first and second text strings, respectively.

【技术实现步骤摘要】
本申请是申请日为2007年9月24日、申请号为200710305776.4的同名专利申请的分案申请。
本公开内容属于执行逻辑和数学操作的处理装置以及相关软件和软件序列的领域。
技术介绍
在我们的社会中,计算机系统已经日益变得普遍。计算机的处理能力提高了许多职业范围内的工作者的效率和生产率。随着购买和拥有计算机的费用持续下降,越来越多的消费者能够利用更新和更快的机器。此外,许多人因为自由而热衷于使用笔记本电脑。移动计算机允许用户在他们离开办公室或旅行时容易地运送他们的数据和工作。这种情况对于销售人员、团体执行人员甚至学生都是十分常见的。随着处理器技术的发展,还产生了要在具有这些处理器的机器上运行的更新的软件代码。用户通常希望和需要从他们的计算机获得更高的性能,而不考虑所使用的软件类型。从所述处理器内实际执行的多种指令和操作将会产生一个这样的问题。基于操作的复杂度和/或所需的电路类型,特定类型的操作需要更多的时间来完成。这提供了一个机会来优化在处理器内执行特定复杂操作的方式。通信应用已经推动了微处理器发展超过十年。实际上,计算和通信之间的界线已经变得越来越模糊,这部分地是由于文本通信应用的使用。文本应用在消费者层面内很普遍,并且在从蜂窝电话到个人计算机的多种设备中要求越来越块的文本信息处理。文本通信设备继续以诸如InstantMessengerTM的应用、诸如OutlookTM的电子邮件应用以及蜂窝电话文本应用的形式在计算和通信设备中得以应用。结果是,未来的个人计算和通信体验将具有更为丰富的文本能力。因此,对于目前的计算和通信设备而言,在计算或通信设备之间传输的文本信息的处理或解析变得越来越重要。特别是,由通信或计算设备进行的文本信息串的解释包括一些在文本数据上执行的最为重要的操作。这样的操作可以是计算密集型的,但是提供能够通过使用各种数据存储设备的有效实现方式而利用的高度的数据并行性,所述数据存储设备诸如例如单指令多数据(SIMD)寄存器。多种当前的体系结构还要求多个操作、指令或子指令(常称作“微操作”或“uop”)来对多个操作数执行各种逻辑和数学操作,从而减少吞吐量并增加执行所述逻辑和数学操作所需的时钟周期数。例如,可能需要由多个指令构成的指令序列来执行解释文本串的特定词语所需的一个或多个操作,包括将由处理装置、系统或计算机程序内的各种数据类型所表示的两个或多个文本词语进行比较。然而,这样的现有技术可能需要许多处理周期,并且可能导致处理器或系统为了生成结果而消耗不必要的能量。此外,一些现有技术可能对可在其上进行操作的操作数数据类型受到限制。附图说明本专利技术通过实例进行说明,而不局限于附图中:图1A是根据本专利技术一个实施例的计算机系统的框图,所述计算机系统具有处理器,所述处理器包括用来执行串比较操作的指令的执行单元;图1B是根据本专利技术可选实施例的另一个示例性计算机系统的框图;图1C是根据本专利技术另一个可选实施例的又一个示例性计算机系统的框图;图2是根据本专利技术一个实施例的处理器的微体系结构的框图,所述处理器包括用来执行一个或多个串比较操作的逻辑电路;图3A表示根据本专利技术一个实施例的在多媒体寄存器中的各种紧缩数据类型(packeddatatype)表示;图3B表示根据可选实施例的紧缩数据类型;图3C说明根据本专利技术一个实施例的在多媒体寄存器中的各种有符号和无符号紧缩数据类型表示;图3D表示操作编码(操作码)格式的一个实施例;图3E表示可选的操作编码(操作码)格式;图3F表示又一个可选的操作编码格式;图4是根据本专利技术一个实施例的用来对一个或多个单精度紧缩数据操作数执行至少一个串比较操作的逻辑的框图;图5是根据一个实施例的可以被用来执行至少一个串比较操作的阵列的框图;以及图6示出了可以在本专利技术一个实施例中执行的操作。具体实施方式以下说明描述了用来执行处理装置、计算机系统或软件程序内的文本或串元素之间的比较操作的技术的实施例。在以下的说明中,为了提供对本专利技术的更为全面的理解,阐述了诸如处理器类型、微体系结构状况、事件、使能机制等的许多特定细节。然而,本领域技术人员将会意识到,没有这些特定细节也可以实施本专利技术。此外,为了避免不必要地使本专利技术难以理解,一些已知的结构、电路等没有详细示出。虽然以下实施例是参考处理器进行描述的,但是其它实施例也可以应用于其它类型的集成电路和逻辑设备。本专利技术的相同技术和教导能够容易地应用到其它类型的能够受益于更高的流水线吞吐量和改进的性能的电路或半导体设备。本专利技术的教导能够应用于执行数据操作的任意处理器或机器。然而,本专利技术并不局限于执行256位、128位、64位、32位或16位数据操作的处理器或机器,并且能够应用于其中需要操作紧缩数据的任意处理器和机器。在以下的说明中,出于解释的目的,阐述了许多特定细节以便提供对本专利技术的全面理解。然而,本领域普通技术人员将会意识到,这些特定细节对于实施本专利技术并不是必需的。在其它实例中,为了避免不必要地使本专利技术难以理解,没有特别详细地阐述已知的电结构和电路。此外,以下的说明提供了示例,而附图则出于说明的目的而示出了各个示例。然而,这些示例不应当被认为是限制性的,因为它们仅仅用于提供本专利技术的示例而不是提供本专利技术的所有可能的实施方式的排他性列表。虽然以下示例描述了执行单元和逻辑电路环境中的指令处理和分配,但是本专利技术的其它实施例能够利用软件实现。在一个实施例中,本专利技术的方法被体现为机器可执行指令。所述指令能够用来使得利用所述指令进行编程的通用或专用处理器执行本专利技术的步骤。本专利技术可以被提供为可以包括其上存储有指令的机器或计算机可读介质的计算机程序产品或软件,所述指令可以用来对计算机(或其它电子设备)进行编程而使其执行根据本专利技术的处理。或者,本专利技术的步骤可以由包含用于执行这些步骤的硬连线逻辑的特定硬件组件来执行,或者由编程的计算机组件和定制硬件组件的任意组合来执行。这样的软件可以存储在系统中的存储器内。类似地,所述代码可以经由网络或利用其它计算机可读介质来分发。因此,机器可读介质可以包括用于存储或传输机器(例如,计算机)可读形式的信息的任何机制,但并不局限于软盘、光盘、紧凑盘、只读存储器(CD-ROM)以及磁光盘、只读存储器(ROM)、随机访问存储器(RAM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、磁或光卡、闪存、因特网传输、电、光、声或其它形式的传播信号(例如,载波、红外信号、数字信号等)等等。因此,所述计算机可读介质包括适于存储或传输机器(例如,计算机)可读形式的电子指令或信息的任意类型的媒介/机器可读介质。此外,本专利技术还可以作为计算机程序产品下载。这样,所述程序可以从远程计算机(例如,服务器)传输到请求计算机(例如,客户端)。所述程序的传输可以利用嵌入在载波或其它传播介质中的电、光、声或其它形式的数据信号经由通信链路(例如,调制解调器、网络连接等)进行。设计可以经历各种阶段,从创建到仿真到制造。表示设计的数据可以以多种方式对设计进行表示。首先,如在仿真中有用的,可以使用硬件描述语言或另外的功能描述语言来表示硬件。此外,可以在设计过程的一些阶段生成具有逻辑和/或晶体管门电路的电路级模型。而且,大多数设计在某本文档来自技高网...
<a href="http://www.xjishu.com/zhuanli/55/201610875178.html" title="用于处理文本串的指令和逻辑原文来自X技术">用于处理文本串的指令和逻辑</a>

【技术保护点】
一种处理器,包括:高速缓存,其具有多个高速缓存级别,包括一级(L1)高速缓存;多个地址生成单元(AGU);多个算数逻辑单元(ALU);多个浮点(FP)单元;指令读取逻辑单元,用于读取一个或多个指令;指令译码逻辑单元,用于对所述指令进行译码;乱序执行逻辑单元,用于进行所述指令的乱序执行;寄存器文件,其包括一组128位的紧缩数据寄存器,用于存储紧缩单精度浮点(SPFP)数据元素和紧缩整数数据元素;寄存器重命名逻辑单元,用于将逻辑寄存器重命名至所述寄存器文件内的物理存储单元;以及多个执行单元,用于执行比较指令来将存储在第一紧缩数据寄存器中的第一多个紧缩无符号整数数据元素与存储在第二紧缩数据寄存器中的第二多个紧缩无符号整数数据元素进行比较,并且将多个数据元素存储在第三紧缩数据寄存器中,其中,所述多个数据元素表示第一紧缩无符号整数数据元素和第二紧缩无符号整数数据元素之间的所述比较的结果,所述多个数据元素中的每一个数据元素指示相应的第一紧缩无符号整数数据元素和第二紧缩无符号整数数据元素是否相等。

【技术特征摘要】
2006.09.22 US 11/525,9811.一种处理器,包括:高速缓存,其具有多个高速缓存级别,包括一级(L1)高速缓存;多个地址生成单元(AGU);多个算数逻辑单元(ALU);多个浮点(FP)单元;指令读取逻辑单元,用于读取一个或多个指令;指令译码逻辑单元,用于对所述指令进行译码;乱序执行逻辑单元,用于进行所述指令的乱序执行;寄存器文件,其包括一组128位的紧缩数据寄存器,用于存储紧缩单精度浮点(SPFP)数据元素和紧缩整数数据元素;寄存器重命名逻辑单元,用于将逻辑寄存器重命名至所述寄存器文件内的物理存储单元;以及多个执行单元,用于执行比较指令来将存储在第一紧缩数据寄存器中的第一多个紧缩无符号整数数据元素与存储在第二紧缩数据寄存器中的第二多个紧缩无符号整数数据元素进行比较,并且将多个数据元素存储在第三紧缩数据寄存器中,其中,所述多个数据元素表示第一紧缩无符号整数数据元素和第二紧缩无符号整数数据元素之间的所述比较的结果,所述多个数据元素中的每一个数据元素指示相应的第一紧缩无符号整数数据元素和第二紧缩无符号整数数据元素是否相等。2.权利要求1所述的处理器,其中,所述第一数据元素和所述第二数据元素中的每一个包括8位。3.权利要求1所述的处理器,其中,所述第一数据元素和所述第二数据元素中的每一个包括16位。4.权利要求1所述的处理器,其中,所述第一数据元素和所述第二数据元素中的每一个包括32位。5.一种处理器,包括:高速缓存,其具有多个高速缓存级别,包括一级(L1)高速缓存;多个地址生成单元(AGU);多个算数逻辑单元(ALU);多个浮点(FP)单元;指令读取逻辑单元,用于读取一个或多个指令;指令译码逻辑单元,用于对所述一个或多个指令进行译码;乱序执行逻辑单元,用于进行所述一个或多个指令的乱序执行;寄存器文件,其包括一组128位的紧缩数据寄存器,用于存储紧缩单精...

【专利技术属性】
技术研发人员:M·朱利耶J·格雷S·米克斯M·塞科尼S·陈努帕蒂
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国;US

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

1