【技术实现步骤摘要】
用于字符串处理的字节比较方法以及指令处理装置
本公开涉及处理器
,更具体地,涉及用于字符串处理的字节比较方法以及指令处理装置。
技术介绍
目前,处理器的主流架构包括X86架构、ARM架构和MIPS架构。随着精简指令集RISC的发展,期望进一步开发基于第五代精简指令集RISC-V的新型处理器架构。RISC-V是基于精简指令集计算(RISC)原理建立的开放指令集架构(ISA),不仅具有完全开源、架构简单、模块化设计的优点,而且该架构的定义使得硬件实现简单,从而可以减少处理器芯片的开发周期和成本。此外,RISC-V架构可以支持32位元或者64位元的寄存器宽度,从而可以兼顾多种应用场景的性能需求。随着处理器应用于人工智能(AI)应用领域,处理器的自然语言处理能力越来越重要。为了将自然语言的文本内容分析成处理器可以理解的含义,处理器对文本内容进行语法分析和分词,其中涉及处理器中实现字符串比较指令的功能。如果在处理器架构中采用扩展指令集,例如字节比较指令,则可以显著提高处理器的文字处理能力,从而在提高文本检索和自然语言处理的处理效率和速度方面有优势。在现有的ARM架构和MIPS架构中,在字符串比较操作中判断字符串结尾和是否相等的汇编指令序列包括多条标准指令(例如,在ARM架构中的mov/sub/orr/bic指令)。现有的处理器架构并未提供适于字符串处理的高性能的专用指令,而是执行标准指令。由于执行的指令数量多,因此字符串处理速度达不到自然语言处理的性能需求。诸如RISC-V架构的精简指令集则需要增 ...
【技术保护点】
1.一种指令处理装置,包括:/n第一寄存器,适于指示源字符串,所述源字符串包括至少一个字节;/n译码单元,适于接收字节比较指令并进行译码,所述字节比较指令至少指示所述第一寄存器;/n以及/n执行单元,耦接到所述第一寄存器和所述译码单元,并执行所述译码后的字节比较指令,以便获取所述源字符串;将所述源字符串中的至少一个字节逐个地与结尾标识符进行比较;以及根据所述比较的结果获得与所述源字符串相对应的结果值。/n
【技术特征摘要】
1.一种指令处理装置,包括:
第一寄存器,适于指示源字符串,所述源字符串包括至少一个字节;
译码单元,适于接收字节比较指令并进行译码,所述字节比较指令至少指示所述第一寄存器;
以及
执行单元,耦接到所述第一寄存器和所述译码单元,并执行所述译码后的字节比较指令,以便获取所述源字符串;将所述源字符串中的至少一个字节逐个地与结尾标识符进行比较;以及根据所述比较的结果获得与所述源字符串相对应的结果值。
2.根据权利要求1所述的指令处理装置,还包括:
第二寄存器,适于指示所述结果值,
所述字节比较指令指示:
所述第一寄存器,作为第一操作数、
所述第二寄存器,作为第二操作数,
所述第一寄存器和所述第二寄存器分别为通用寄存器,所述第一寄存器保存所述源字符串的内容或地址信息,所述第二寄存器保存所述结果值的内容或地址信息。
3.根据权利要求1所述的指令处理装置,还包括:
零标志寄存器,适于指示所述结果值,
其中,所述字节比较指令指示:
所述第一寄存器,作为第一操作数,
所述第一寄存器为通用寄存器,所述第一寄存器保存所述源字符串的内容或地址信息,所述执行单元根据所述结果值修改设置所述零标志寄存器的标志位。
4.根据权利要求1所述的指令处理装置,其中,所述结尾标识符的数值为00H、0FFH中的任意一个。
5.根据权利要求2所述的指令处理装置,其中,在所述源字符串中表示所述结尾标识符的字节位置,所述结果值的相应字节设置为第一数值,在所述源字符串中表示非结尾标识符的字节位置,所述结果值的相应字节设置为第二数值,所述第一数值与所述第二数值不同。
6.根据权利要求5所述的指令处理装置,其中,所述第一数值为0FFH、01H、080H中的任意一个,所述第二数值为00H、010H中的任意一个。
7.根据权利要求6所述的指令处理装置,其中,所述第一数值为0FFH,所述第二数值为00H,所述结果值非零则表示存在所述结尾标识符。
8.根据权利要求7所述的指令处理装置,其中,所述结果值与所述源字符串的字节长度相同,并且在所述结尾标识符相应的字节位置所有位均置1,在所述非结尾标识符相应的字节位置所有位均置0。
9.根据权利要求8所述的指令处理装置,其中,所述执行单元适于对所述结果值按照字节宽度移位,从非零至零的移位次数表示所述字符结尾符的字节位置。
10.根据权利要求1所述的指令处理装置,其中,所述执行单元适于执行字符串比较操作,包括:
按照寄存器位宽加载所述第一字符串和第二字符串彼此相对应的内容;
执行字节比较指令,将所述第一字符串的内容作为所述源字符串,产生相对应的第一结果值,根据所述第一结果值判断所述第一字符串的内容是否包含结尾标识符;以及
在所述第一字符串的内容未包含结尾标识符的情形下,对所述第一字符串的内容和所述第二字符串的内容进行大小比较。
11.根据权利要求10所述的指令处理装置,其中,重复加载、执行字节比较指令、以及进行大小比较的操作,按照寄存器位宽处理所述第一字符串的全部内容。
12.根据权利要求10所述的指令处理装置,其中,进行大小比较包括采用减指令,对所述第一字符串的内容和所述第二字符串的内容进行减法运算,根据运算结果判断大小。
13.根据权利要求10所述的指令处理装置,所述字符串比较操作还包括:
对所述第一字符串的内容和所述第二字符串的内容进行相等比较;以及
在所述第一字符串的内容未包含结尾标识符,且所述第一字符串的内容和所述第二字符串的内容不相等的情形下,对所述第一字符串的内容和所述第二字符串的内容进行大小比较。
14.根据权利要求13所述的指令处理装置,进行相等比较包括采用异或指令,对所述第一字符串的内容和所述第二字符串的内容进行异或运算以产生第二结果值,根据所述第二结果值判断是否相等。
15.根据权利要求14所述的指令处理装置,其中,所述第一结果值非零表示所述第一字符串的内容包含结尾标识符,所述第二结果值非零表示所述第一字符串的内容与所述第二字符串的内容不相等。
16.根据权利要求15所述的指令处理装置,其中:以及
采用或指令,对所述第一结果值和所述第二结果值进行或运算,以判断是否满足所述第一字符串的内容未包含结尾标识符,且所述第一字符串的内容和所述第二字符串的内容不相等的情形。
17.根据权利要求1所述的指令处理装置,还包括:耦接到所述执行单元的硬件寄存器,适于存储指示是否允许执行字节比较指令的使能标识,以及
所述执行单元适于在所述使能标识指示不允许执行所述字节比较指令时,不执行所述译码后的所述字节比较指...
【专利技术属性】
技术研发人员:刘畅,瞿仙淼,夏立方,朱峰,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛;KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。