通过基于内联解码的微操作扩展的比较字符串处理制造技术

技术编号:22334405 阅读:39 留言:0更新日期:2019-10-19 13:05
通过基于内联解码的微操作扩展来进行比较字符串处理。执行比较字符串操作的指令被解码。解码提供执行比较字符串操作的操作序列。操作序列包括:将第一组数据加载到指定的存储器边界的第一加载到边界操作,以及加载第二组数据的第二加载到边界操作。第一组数据和第二组数据作为比较字符串操作的一部分加载。

【技术实现步骤摘要】
【国外来华专利技术】通过基于内联解码的微操作扩展的比较字符串处理
一般而言,一个或多个方面涉及计算环境内的处理,尤其涉及促进这种处理。
技术介绍
各种字符串操作(例如C字符串操作)具有可变长度终止语义,而与所选择的操作系统无关。因此,期望已知字符串长度的传统字符串操作不是实现此类字符串操作的良好匹配。为了加速字符串和其它序列的处理,由纽约阿蒙克的国际商业机器公司提供的引入了具有定义的终止符的指令。这些指令包括例如移动字符串(MVST)指令和比较逻辑字符串(CLST)指令。这些指令以硬件或微代码实现。IBM和z/Architecture是国际商业机器公司的商标,其在全球许多司法管辖区注册。
技术实现思路
从第一方面来看,本专利技术提供了一种用于促进计算环境内的处理的方法,该计算机程序产品包括:获得将要解码的指令,该指令是执行比较字符串操作;以及解码该指令,该解码提供执行比较字符串操作的操作序列,该操作序列包括:将第一组数据加载到指定的存储器边界的第一加载到边界操作和加载第二组数据的第二加载到边界操作,第一组数据和第二组数据作为比较字符串操作的一部分加载。从另一方面来看,本专利技术提供了一种用于促进计算环境内的处理的系统,该计算机系统包括:存储器;以及与存储器通信的处理器,其中,计算机系统被配置为执行方法,所述方法包括:获得将要解码的指令,该指令是执行比较字符串操作;以及解码该指令,该解码提供执行比较字符串操作的操作序列,该操作序列包括:将第一组数据加载到指定的存储器边界的第一加载到边界操作和加载第二组数据的第二加载到边界操作,第一组数据和第二组数据作为比较字符串操作的一部分加载。从另一方面来看,本专利技术提供了一种用于促进计算环境内的处理的计算机程序产品,该计算机程序产品包括计算机可读存储介质,其可由处理电路读取并存储由处理电路执行的指令,用于执行用于执行本专利技术的步骤的方法。从另一方面来看,本专利技术提供了一种存储在计算机可读介质上并且可加载到数字计算机的内部存储器中的计算机程序,其包括软件代码部分,当所述程序在计算机上运行时,该软件代码部分用于执行本专利技术的步骤。从另一方面来看,本专利技术提供了一种用于促进计算环境内的处理的计算机程序产品,该计算机程序产品包括计算机可读存储介质,该计算机可读存储介质可由处理电路读取并存储用于由处理电路执行的指令,用于通过本专利技术的系统执行用于执行本专利技术的步骤的方法。通过提供用于促进计算环境内的处理的计算机程序产品,克服了现有技术的缺点并提供了额外的优点。该计算机程序产品包括可由处理电路读取并存储用于执行方法的指令的存储介质。该方法包括,例如,获得将要解码的指令,该指令是执行比较字符串操作。该指令被解码,并且该解码提供执行比较字符串操作的操作序列。该操作序列包括:将第一组数据加载到指定的存储器边界的第一加载到边界操作,以及加载第二组数据的第二加载到边界操作。第一组数据和第二组数据作为比较字符串操作的一部分加载。这有利地使得能够在没有微代码处理的情况下执行比较字符串操作,从而减少等待时间并提高系统性能。通过使用操作序列,循环指令被简化为非循环指令,从而提高了系统性能。操作序列包括例如执行比较字符串操作的多个操作,并且第一组数据和第二组数据包括要同时比较的一个或多个字符。一个或多个字符在没有跨越一个或多个指定的存储器边界的情况下从存储器加载。通过不跨越指定的存储器边界,消除了检查边界和相关处理,从而提高了系统性能。作为示例,操作序列的选定操作从该选定操作的架构版本修改。作为示例,该选定操作的架构版本设置条件码,并且修改选定操作以防止设置条件码。此外,在一个示例中,指令被定义为循环指令,该循环指令重复多次以比较第一组数据和第二组数据,并且解码包括将循环指令扩展为操作序列。操作序列是用于比较第一组数据和第二组数据的非循环序列。有利地,循环被消除了。在一个实施例中,操作序列包括以下中的一个或多个:用于在第一组数据和第二组数据中的至少一个内查找终止符的查找终止符操作;用于确定在第一组数据和第二组数据中的至少一个中加载的数据量的至少一个计数操作;用于确定第一组数据中加载的数据量,在第二组数据中加载的数据量,或终止符的位置中的最小值的至少一个最小操作;和/或用于向一个或多个位置添加所处理的最小数量的数据单元的计数的一个或多个添加操作。在一个示例中,该至少一个最小操作中的最小操作被配置为基于计算最小值来更新条件码。在一个示例中,在没有进入微代码处理的情况下执行操作序列。这通过消除与进入和退出微代码处理相关联的处理来提高系统性能。本文还描述并要求保护与一个或多个方面有关的方法和系统。此外,还描述了与一个或多个方面有关的服务,并且可以在此要求保护该服务。通过本文描述的技术实现了额外的特征和优点。在此详细描述了其它实施例和方面,并且这些实施例和方面被认为是所要求保护的方面的一部分。附图说明在说明书结论处的权利要求中,一个或多个方面作为示例被特别指出并清楚地要求保护。通过以下结合附图的详细描述,一个或多个方面的前述内容和目的、特征和优点是显而易见的,在附图中:图1A描绘了根据现有技术的计算环境的一个示例,并且其中可以实现本专利技术的优选实施例;图1B描绘了根据现有技术的图1A的处理器的进一步细节,并且其中可以实现本专利技术的优选实施例;图1C描绘了根据本专利技术的一个或多个方面使用的指令执行流水线的一个示例的进一步细节;图2A描绘了结合和使用本专利技术的一个或多个方面的计算环境的另一个示例;图2B描绘了图2A中的存储器的进一步细节;图3描绘了根据本专利技术的一个方面使用的移动字符串指令的一个示例;图4A描绘了图3中的移动字符串指令的一种实现方式;图4B描绘了根据本专利技术的一个方面的图3中的移动字符串指令的另一实现方式;图4C描绘了根据本专利技术的一个方面的图3中的移动字符串指令的另一实现方式;图5描绘了根据本专利技术的一个方面使用的矢量加载到块边界指令的一个示例;图6A描绘了根据本专利技术的一个方面使用的矢量查找元素不等指令的一个示例;图6B描绘了根据本专利技术的一个方面使用的矢量查找元素相等指令的一个示例;图7描绘了根据本专利技术的一个方面使用的加载计数到块边界指令的一个示例;图8描绘了根据本专利技术的一个方面使用的带长度的矢量存储指令的一个示例;图9描绘了根据本专利技术的一个方面使用的比较逻辑字符串指令的一个示例;图10A描绘了图9中的比较逻辑字符串指令的一种实现方式;图10B描绘了根据本专利技术的一个方面的图9中的比较逻辑字符串指令的另一种实现方式;图10C描绘了根据本专利技术的一个方面的图9中的比较逻辑字符串指令的另一种实现方式;图11A描绘了根据本专利技术的一个方面的移动字符串或比较逻辑字符串指令的另一种实现方式;图11B描绘了根据本专利技术的一个方面的移动字符串或比较逻辑字符串指令的又一实现方式;图11C描绘了根据本专利技术的一个方面的移动字符串或比较逻辑字符串指令的另一实现方式;图11D描绘了根据本专利技术的一个方面的移动字符串或比较逻辑字符串指令的又一实现方式;图11E描绘了根据本专利技术的一个方面的移动字符串或比较逻辑字符串指令的另一种实现方式;图12描绘了根据本专利技术的一个方面使用的搜索字符串指令的一个示例;图13A-13E描绘了根据本专利技术的各方面的图12的搜索字符串指令的实现方式;图1本文档来自技高网...

【技术保护点】
1.一种用于促进计算环境内的处理的计算机实现的方法,计算机程序产品包括:获得将要解码的指令,所述指令是执行比较字符串操作;以及解码所述指令,所述解码提供执行所述比较字符串操作的操作序列,所述操作序列包括:将第一组数据加载到指定的存储器边界的第一加载到边界操作,和加载第二组数据的第二加载到边界操作,所述第一组数据和所述第二组数据作为所述比较字符串操作的一部分加载。

【技术特征摘要】
【国外来华专利技术】2017.03.03 US 15/449,0871.一种用于促进计算环境内的处理的计算机实现的方法,计算机程序产品包括:获得将要解码的指令,所述指令是执行比较字符串操作;以及解码所述指令,所述解码提供执行所述比较字符串操作的操作序列,所述操作序列包括:将第一组数据加载到指定的存储器边界的第一加载到边界操作,和加载第二组数据的第二加载到边界操作,所述第一组数据和所述第二组数据作为所述比较字符串操作的一部分加载。2.根据权利要求1所述的方法,其中,所述操作序列包括:执行所述比较字符串操作的多个操作,并且所述第一组数据和所述第二组数据包括将要同时比较的一个或多个字符,所述一个或多个字符在没有跨越一个或多个指定的存储器边界的情况下从存储器中加载。3.根据前述权利要求中任一项所述的方法,其中,所述操作序列的选定操作从所述选定操作的架构版本修改。4.根据权利要求3所述的方法,其中,所述选定操作的所述架构版本设置条件码,并且其中,修改所述选定操作以防止设置所述条件码。5.根据前述权利要求中任一项所述的方法,其中,所述指令被定义为循环指令,所述循环指令重复多次以比较所述第一组数据和所述第二组数据,并且其中,所述解码包括:将所述循环指令扩展为所述操作序列,所述操作序列是用于比较所述第一组数据和所述第二组数据的非循环序列。6.根据前述权利要求中任一项所述的方法,其中,所述操作序列还包括:用于在所述第一组数据和所述第二组数据中的至少一个内查找终止符的查找终止符操作。7.根据权利要求6所述的方法,其中,所述操作序列还包括:用于确定在所述第一组数据和所述第二组数据中的至少一个中加载的数据量的至少一个计数操作。8.根据权利要求7所述的方法,其中,所述操作序列还包括:用于确定在所述第一组数据中加载的数据量、在所述第二组数据中加载的数据量、或者所述终止符的位置中的最小值的至少一个最小操作。9.根据权利要求8所述的方法,其中,所述至少一个最小操作中的最小操作被配置为基于计算所述最小值来更新条件码。10.根据权利要求9所述的方法,其中,所述操作序列还包括:用于向一个或多个位置添加所处理的最小数量的数据单元的计数的一个或多个添加操作。11.根据前述权利要求中任一项所述的方法,其中,在没有进入微代码处理的情况下,执行所述操作序列。12.一种用于促进计算环境内的处理的计算机系统,所述计算机系统包括:存储器;以及与所述存储器通信的处理器,其中,所述计算机系统被配置为执行方法,所述方法包括:获得将要解码的指令,所述指令是执行比较字符串操作;以及解码所述指令,所述解码提供执行所述比较字符串操作的操作序列,所述操作序列包括:将第一组数据加载到指定的存储器边界的第一加载到边界操作,和加载第...

【专利技术属性】
技术研发人员:M·K·克施温德
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:美国,US

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

1