向量串搜索指令制造技术

技术编号:30135633 阅读:25 留言:0更新日期:2021-09-23 14:40
提供用于执行向量串搜索的指令。获得要处理的指令,其中指令被定义为用于定位串内的子串的出现的串搜索指令。处理指令,其中处理包括使用在指令的另一操作数中指定的子串来搜索在指令的一个操作数中指定的串。基于搜索在串内定位到子串的第一完全匹配,返回完全匹配条件指示以及第一完全匹配在串中的位置,并且基于搜索在串的终止处仅定位到子串的部分匹配,返回部分匹配条件指示以及部分匹配在串中的位置。的位置。的位置。

【技术实现步骤摘要】
【国外来华专利技术】向量串搜索指令

技术介绍

[0001]一个或多个方面一般地涉及促进计算环境内的处理,并且具体地涉及促进与在串内找出子串相关联的处理。
[0002]在串中查找子串是计算机处理中的常见任务。例如,在数据库查询中,或一般而言在任何文本处理或解析应用中,可采用在串中查找子串的工具。基本方法是在每一位置处检查子串。遗憾的是,这可能是非常低效的,并且给该过程带来巨大开销。而且,某些语言(诸如C)具有搜索应停止的零终止串的概念。这通常用字符的补充测试和代码中的分支来处理,这导致附加的处理开销。

技术实现思路

[0003]通过提供一种用于促进计算环境内的处理的计算机程序产品来克服现有技术的缺点并提供额外优点。所述计算机程序产品包括计算机可读存储介质,其可由处理电路读取且存储用于执行一种方法的指令。所述方法包括获得要处理的指令,所述指令是用于定位串内的子串的出现的经定义串搜索指令。所述方法进一步包括处理所述指令。所述处理包括使用在指令的另一操作数中指定的子串来搜索在指令的一个操作数中指定的串。基于所述搜索在串内定位到子串的第一完全匹配,返回完全匹配条件指示以及第一完全匹配在串中的位置。基于所述搜索在串的终止处仅定位到子串的部分匹配,返回部分匹配条件指示以及部分匹配最在串中的位置。有利地,所述串搜索指令是新串搜索指令,其可在串内定位子串的第一次出现并返回其位置,且可在适用的情况下在串的终止处定位子串的部分匹配,且返回部分匹配条件指示以及部分匹配在串中的位置。所述串搜索指令可因此促进计算环境内的处理。此外,所述串搜索指令支持对所述搜索的寄存器控制的长度限制。
[0004]在一个或多个实施例中,基于所述搜索在串内定位子串的不匹配,返回不匹配条件指示以及搜索完成位置n,n是以字节为单位的串的长度。
[0005]在一个或多个实现中,处理还包括确定用于所述搜索的模式,搜索包括非零终止搜索模式和零终止搜索模式。例如,确定可以是基于所述指令的字段中的零搜索旗标是否被设置为指示串或子串可以包含分别截断串或子串以用于搜索的零终止。有利地,所公开的串搜索指令因此可以支持寄存器控制的长度限制,以及例如经由指令中的修饰符位或模式旗标的零终止串搜索。
[0006]在一个或多个实现中,所述处理还包括:基于所述搜索模式是零终止搜索模式,确定所述串包括零终止,并且基于此,设置零终止找到指示符。在一个实施例中,所述处理还包括:基于所述搜索在无匹配的情况下达到串内的零终止,终止所述串,并且参考所述零终止找到指示符返回具有零终止条件指示的不匹配以及搜索完成位置n,n是以字节为单位的串的长度。有利地,因此可以返回条件指示符或代码,以区分具有或不具有零终止的找到第一完全匹配、找到部分匹配和未找到匹配。此外,如所指出的,可以利用寄存器控制长度限制结合零终止来利用所述串搜索指令。
[0007]在一个或多个实施例中,确定还可包括确定在串内零终止之前的串的长度小于子
串长度。并且基于该长度更小,该确定包括确定子串的一部分是否匹配零终止之前的串。
[0008]在一个或多个实现中,所述处理还包括基于子串的长度是串内的元素的字节大小的倍数来继续所述搜索,其中字节大小是由指令的字段确定的。在一个或多个实现方式中,所述搜索部分地基于串内的元素的字节大小,其中所述搜索包括基于元素的步进通过所述串,并且其中所述元素的大小是例如每元素1字节、2字节或4字节。
[0009]在一个或多个实施例中,所述串搜索指令是指令集架构的架构式硬件机器指令。例如,所述架构式硬件机器指令是促进在所述计算环境内的处理的向量串搜索指令。
[0010]在此还描述和要求保护涉及一个或多个方面的计算机系统和计算机实现的方法。此外,在此还描述并且可以要求保护涉及一个或多个方面的服务。
[0011]通过本专利技术的技术实现了附加的特征和优点。本专利技术的其它实施例和方面在本文中被详细描述并且被认为是所要求保护的专利技术的一部分。
附图说明
[0012]在说明书结尾处的权利要求书中特别指出并清楚地要求保护作为示例的一个或多个方面。从以下结合附图的详细描述中,一个或多个方面的上述和目的、特征和优点是显而易见的,其中:图1A示出结合和使用本专利技术的一个或多个方面的计算环境的一个示例;图1B示出根据本专利技术的一个或多个方面的图1A的处理器的进一步细节;图2示出包括且使用本专利技术的一个或多个方面的计算环境的另一示例;图3示出根据本专利技术的一个或多个方面使用的向量串搜索指令的一个示例;图4示出根据本专利技术的一个或多个方面的与向量串搜索指令的执行有关的处理的一个实施例;图5示出根据本专利技术的一个或多个方面的与向量串搜索指令的执行有关的处理的另一个实施例;图6A

6B示出了根据本专利技术的一个或多个方面的促进计算环境内的处理的一个示例;图7A示出了包含并使用本专利技术的一个或多个方面的计算环境的另一个示例;图7B示出了根据本专利技术的一个或多个方面的图7A的存储器的进一步细节;图8示出了云计算环境的一个实施例;以及图9示出了抽象模型层的一个示例。
具体实施方式
[0013]根据本专利技术的一个方面,提供了促进计算环境内的处理的能力。作为一个示例,提供单个指令(例如,在硬件/软件接口处的单个架构硬件机器指令)以执行功能(也称为操作),诸如串搜索。该指令是通用处理器指令集架构(ISA)的一部分,该指令由通用处理器上的程序(例如,用户程序)来分发。通过使用ISA指令来执行串搜索,减少了诸如通用处理器之类的处理器内的执行时间。
[0014]在一个示例中,在处理时,串搜索指令使用在指令的另一操作数中指定的子串来搜索在指令的一个操作数中指定的串。基于搜索在串内找到子串的第一全匹配,返回全匹
配条件指示,以及第一全匹配在串中的位置,并且基于搜索在串的终止处仅找到子串的部分匹配,返回部分匹配条件指示,以及串的部分匹配的位置。
[0015]在一个或多个实施方式中,搜索包括非零终止搜索模式和零终止搜索模式,并且处理基于指令的字段中的零搜索旗标是否被设置来确定串是否能够包含零终止。基于搜索处于零终止搜索模式,并且基于搜索在串内达到零终止而无匹配,搜索被终止,并且返回具有零终止条件指示的不匹配以及n的搜索完成位置,其中n是串的以字节为单位的长度。
[0016]参见图1A描述包括和使用本专利技术的一个或多个方面的计算环境的一个实施例。计算环境100包括例如处理器102(例如,中央处理单元)、存储器104(例如,主存储器;又名系统存储器、主存储装置、中央存储装置、存储装置)、以及通过例如一个或多个总线108和/或其他连接而彼此耦合的一个或多个输入/输出(I/O)设备和/或接口106。
[0017]在一个示例中,处理器102基于由纽约州阿蒙克市的国际商业机器公司提供的硬件架构,并且是诸如IBM服务器之类的服务器的一部分,该服务器也由国际商业机器公司提供并实现z/Architecture硬件架构。z/Architecture硬件架构的一个实施例在名称为“z/Architecture Princip本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种用于促进计算环境内的处理的计算机程序产品,该计算机程序产品包括:计算机可读存储介质,其可由处理电路读取并且存储用于执行方法的指令,所述方法包括:获得要处理的指令,所述指令被定义为用于定位串内的子串的出现的串搜索指令;处理所述指令,所述处理包括:使用在所述指令的另一操作数中指定的所述子串来搜索在所述指令的一个操作数中指定的所述串;基于所述搜索在所述串内定位到所述子串的第一完全匹配,返回完全匹配条件指示以及所述第一完全匹配在所述串中的位置;以及基于所述搜索在所述串的终止处仅定位到所述子串的部分匹配,返回部分匹配条件指示以及所述部分匹配最在所述串中的位置。2.根据权利要求1所述的计算机程序产品,其中所述处理还包括,基于所述搜索在所述串内定位所述子串的不匹配,返回不匹配条件指示以及搜索完成位置n,n是以字节为单位的所述串的长度。3.根据权利要求1所述的计算机程序产品,其中所述处理还包括,确定用于所述搜索的模式,所述搜索包括非零终止搜索模式和零终止搜索模式,并且所述确定是基于所述指令的字段中的零搜索旗标是否被设置为指示所述串或子串可以包含分别截断所述串或子串以用于所述搜索的零终止。4.根据权利要求3所述的计算机程序产品,其中所述处理还包括,基于所述搜索模式是所述零终止搜索模式,确定所述串包括所述零终止,并且基于此,设置零终止找到指示符。5.根据权利要求4所述的计算机程序产品,其中所述处理还包括,基于所述搜索在无匹配的情况下达到所述串内的零终止,终止所述搜索,并且参考所述零终止找到指示符返回具有零终止条件指示的不匹配以及搜索完成位置n,n是以字节为单位的所述串的长度。6.根据权利要求4所述的计算机程序产品,其中所述确定还包括,确定在所述串内零终止之前的串的长度小于所述子串长度,并且基于此,确定所述子串的一部分是否匹配所述零终止之前的串。7.根据权利要求1所述的计算机程序产品,还包括基于所述子串的长度是所述串内的元素的大小的倍数继续进行搜索,所述大小由所述指令的字段确定。8.根据权利要求7所述的计算机程序产品,其中所述搜索部分地基于所述串内的元素的大小,所述搜索包括基于元素步进通过所述串,其中所述大小选自包括1字节、2字节或4字节的组中。9.根据权利要求1所述的计算机程序产品,其中所述串搜索指令是指令集架构的架构化硬件机器指令。10.根据权利要求9所述的计算机程序产品,其中所述架构化硬件机器指令是向量串搜索指令。11.一种用于促进计算环境内的处理的计算机系统,该计算机系统包括:存储器;以及处理器,其耦合到存储器,其中计算机系统被配置为执行包括以下的方法:获得要处理的指令,所述指令被定义为用于定位串内的子串的出现的串搜索指令;
处理所述指令,所述处理包括:使用在所述指令的另一操作数中指定的所述子串来搜索在所述指令的一个操作数中指定的所述串;基于所述搜索在所述串内定位到...

【专利技术属性】
技术研发人员:C
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:

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

1