用于在中央处理单元中执行机器指令的方法和系统技术方案

技术编号:10709291 阅读:94 留言:0更新日期:2014-12-03 15:03
提供“对块边界载入计数”指令,该指令提供从指定存储器地址到指定存储器边界的距离。存储器边界是在载入数据时不跨越的边界。边界可以以多种方式指定,包括但不限于:指令文本中的可变值、以操作码编码的固定指令文本值或者基于寄存器的边界;或者边界可以被动态确定。

【技术实现步骤摘要】
【国外来华专利技术】用于在中央处理单元中执行机器指令的方法和系统
本专利技术总体涉及数据处理,尤其涉及包括存储器边界的处理。
技术介绍
数据处理包括各种类型的处理,包括文本处理或者其他类型的处理。在数据处理期间,当被处理的数据正在接近指定存储器边界时,经常需要执行特殊处理。与接近存储器边界的处理相关联的当前指令和/或技术倾向于效率低下或有问题。
技术实现思路
经由提供用于执行机器指令的计算机程序产品来克服现有技术的缺点并提供优势。该计算机程序产品包括计算机可读存储介质,其可由处理电路读取且存储用于由该处理电路执行以用于执行方法的指令。该方法包括(例如):由处理器获得用于执行的机器指令,该机器指令根据计算机架构定义以用于计算机执行,该机器指令包含:至少一个操作码字段,其提供操作码,该操作码识别“对块边界载入计数”操作;寄存器字段,其用以指明寄存器,该寄存器包含第一操作数;以及用于指示第二操作数的位置的至少一个字段,该第二操作数至少包括主存储器的块的一部分;以及执行该机器指令,该执行包含:确定从第二操作数的位置到主存储器的块的边界的距离;以及将表示该距离的值放置在第一操作数中。本文中也描述和主张关于本专利技术的一个或多个方面的方法和系统。另外,本文中也描述且可主张关于本专利技术的一个或多个方面的服务。经由本专利技术的技术实现额外特征和优势。本专利技术的其他实施例和方面在本文中得以详细描述且被视为所主张的本专利技术的一部分。附图说明现在将参考附图仅通过示例方式描述本专利技术的实施例,在附图中:图1描绘并入且使用本专利技术的一个或者多个方面的计算环境的实例;图2A描绘并入且使用本专利技术的一个或者多个方面的计算环境的另一实例;图2B描绘根据本专利技术的一个方面的图2A的存储器的进一步细节;图3描绘根据本专利技术的一个方面的“对块边界载入计数”指令的格式的一个实施例;图4描绘根据本专利技术的一个方面的与“对块边界载入计数”指令相关联的逻辑;图5A描绘根据本专利技术的一个方面的对于其提供计数的存储器块的至少一部分的一个实例;图5B描绘根据本专利技术的一个方面的包括计数的通用寄存器的一个实例;图6描绘根据本专利技术的一个方面的寄存器文件的一个实施例;图7描绘并入本专利技术的一个或多个方面的计算机程序产品的实施例;图8描绘并入且使用本专利技术一个或多个方面的主机计算机系统的一个实施例;图9描绘并入且使用本专利技术一个或多个方面的计算机系统的另一实例;图10描绘并入且使用本专利技术一个或多个方面的包含计算机网络的计算机系统的另一实例;图11描绘并入且使用本专利技术一个或多个方面的计算机系统的各种元件的一个实施例;图12A描绘并入且使用本专利技术一个或多个方面的图11的计算机系统的执行单元的一个实施例;图12B描绘并入且使用本专利技术一个或多个方面的图11的计算机系统的分支单元的一个实施例;图12C描绘并入且使用本专利技术一个或多个方面的图11的计算机系统的载入/存储单元的一个实施例;以及图13描绘并入且使用本专利技术一个或多个方面的仿真主机计算机系统的一个实施例。具体实施方式根据本专利技术的一个方面,提供用于确定从指定位置(例如,存储器地址)到指定存储器边界的距离的能力。存储器边界例如是主存储器(也称为主储存器)的块的末尾。主存储器的块是指定大小的存储器的任何块。指定大小也称为块的边界。主存储器的块包括诸如字符数据、整数数据或者任何其他类型的数据之类的数据。字符数据包括(但不限于)任何语言中的字母字符;数字;标点符号;和/或其他符号。字符数据可为或可不为数据的串。标准与字符数据相关联,标准的实例包括(但不限于):ASCII(美国信息交换标准码);Unicode,包括(但不限于)UTF(Unicode变换格式)8;UTF16;等。在一个具体实例中,提供“对块边界载入计数”(LCBB)指令,其提供从存储器中的指定地址到指定存储器边界的数据的字节的数目。在计算字节的数目(本文称为计数)时,使用边界大小。可以通过该指令(例如,指令文本中的可变值、以操作码编码的固定指令文本值、指令中指定的基于寄存器的边界等)明确指定边界大小;或者可以通过机器动态确定边界大小。例如,该指令指定边界(诸如页或者高速缓冲存储器边界)的类型,并且该机器要么通过预指定值要么动态基于信息(例如,例如在翻译后备缓冲器中用以确定页大小的查找),确定高速缓冲存储器线或者页大小。作为一个实例,“对块边界载入计数”指令提供可以从或者已经从存储器载入至例如寄存器而没有跨越存储器的指定边界的数据的字节的数目。存储器可以是向量寄存器或者任何其他类型的寄存器。向量寄存器(也被称作向量)包括一个或多个元素,且作为实例,向量寄存器(也称为向量)的每个元素的长度为一个、两个或四个字节。另外,向量操作数(例如)为具有多个元素的SIMD(单指令多数据)操作数。在其他实施例中,元素可以是其他大小的;且向量操作数不需要为SIMD,和/或可包括一个元素。参看图1描述并入且使用本专利技术的一个或多个方面的计算环境的一个实施例。计算环境100包括(例如)经由(例如)一个或多个总线108和/或其他连接耦接至彼此的处理器102(例如,中央处理单元)、存储器104(例如,主存储器)和或多个输入/输出(I/O)器件和/或接口106。在一个实例中,处理器102基于由InternationalBusinessMachinesCorporation供应的z/Architecture,且为服务器的一部分,诸如也由InternationalBusinessMachinesCorporation供应且实施z/Architecture的Systemz服务器。z/Architecture的一个实施例描述于题为“z/ArchitecturePrinciplesofOperation”的公开号(SA22-7832-08号,第九版,2010年8月)中,该公开号在此以其全文引用的方式并入本文中。在一个实例中,该处理器执行操作系统,诸如,也由InternationalBusinessMachinesCorporation供应的z/OS。Z/和Z/为InternationalBusinessMachinesCorporation(Armonk,NewYork,USA)的注册商标。本文中使用的其他名称可为InternationalBusinessMachinesCorporation或其他公司的注册商标、商标或产品名称。在另一实施例中,处理器102基于由InternationalBusinessMachinesCorporation供应的Power架构。Power架构的一个实施例描述于“PowerISATM第2.06版修订B”(InternationalBusinessMachinesCorporation,2010年7月23日)中,该文件在此以其全文引用的方式并入本文中。POWER为InternationalBusinessMachinesCorporation的注册商标。在另一实施例中,处理器102基于由IntelCorporation供应的Intel架构。Intel架构的一个实施例描述于“64andIA-32ArchitecturesDeveloper'sManual:第2B卷,InstructionsSetReference,A-L”本文档来自技高网...
用于在中央处理单元中执行机器指令的方法和系统

【技术保护点】
一种用于在中央处理单元中执行机器指令的计算机程序产品,该计算机程序产品包含:计算机可读存储介质,其可由处理电路读取且存储用于由该处理电路执行以用于执行方法的指令,该方法包含:由处理器获得用于执行的机器指令,该机器指令根据计算机架构定义以用于计算机执行,该机器指令包含:至少一个操作码字段,其提供操作码,该操作码识别“对块边界载入计数”操作;寄存器字段,其用以指明寄存器,该寄存器包含第一操作数;以及用于指示第二操作数的位置的至少一个字段,该第二操作数至少包括主存储器的块的一部分;以及执行该机器指令,该执行包含:确定从第二操作的位置到主存储器的块的边界的距离;以及将表示该距离的值放置在第一操作数中。

【技术特征摘要】
【国外来华专利技术】2012.03.15 US 13/421,4511.一种用于在中央处理单元中执行机器指令的方法,该方法包含:由处理器获得用于执行的机器指令,该机器指令根据计算机架构定义以用于计算机执行,该机器指令包含:至少一个操作码字段,其提供操作码,该操作码识别“对块边界载入计数”操作,所述“对块边界载入计数”操作提供从存储器中的指定地址到指定存储器边界的距离;寄存器字段,其用以指明寄存器,该寄存器包含第一操作数;以及用于指示第二操作数的位置的至少一个字段,该第二操作数至少包括主存储器的块的一部分;以及执行该机器指令,该执行包含:确定从第二操作数的位置到主存储器的块的边界的距离;以及基于确定的距离,将表示该距离的值放置在第一操作数中。2.如权利要求1所述的方法,其中该机器指令还包含掩码字段,该掩码字段指定边界。3.如权利要求2所述的方法,其中该块边界为可由该掩码字段指定的多个边界中的一个边界。4.如权利要求1-3之一所述的方法,其中执行还包括动态确定该边界,该动态确定使用边界的指定类型和处理器的一个或者多个特性。5.如权利要求1-3之一所述的方法,其中第二操作数的位置是从其数据要计数的存储器中的开始地址。6.如权利要求5所述的方法,其中确定距离包括确定在其处计数要停止的结束地址。7.如权利要求6所述的方法,其中确定结束地址包含如下计算该结束地址:结束地址=(开始地址+(边界大小-(开始地址AND边界掩码)),开始地址+寄存器大小)中的最小值,其中该边界大小为该边界,边界掩码等于0-边界大小,且寄存器大小为选定寄存器的长度。8.如权利要求6所述的方法,其中确定距离包括通过从结束地址减去开始地址计算该值。9.如权利要求1所述的方法,其中确定距离包括如下计算该值:值=(寄存器大小,边界大小-(第二操作数的位置AND边界掩码))中的最小值,其中寄存器大小是选定寄存器的长度,边界大小是边界,并且边界掩码等于0-边界大小。10.如权利要求1-3之一所述的方法,该至少一个字段包含位移字段、基本字段和索引字段,用于定位通用...

【专利技术属性】
技术研发人员:JD布拉德伯里MK格施温德EM施瓦茨T斯雷格C雅各比
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:美国;US

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

1