一种字符操作加速方法、装置、芯片、处理器制造方法及图纸

技术编号:14756473 阅读:47 留言:0更新日期:2017-03-02 23:12
本发明专利技术提出一种字符操作加速方法、装置、芯片、处理器,涉及计算机体系结构设计领域,该方法包括获取字符操作指令在流水线中的地址,根据所述地址译码获取双地址,并对所述双地址进行计算,将包括所述双地址的字符操作请求消息存储在字符操作访存请求队列中;根据所述字符操作请求消息对缓存进行命中检查,当所述双地址均命中时,获取所述双地址在所述缓存中相对应的两个数据,若未命中,则向所述缓存发送读请求;对所述两个数据进行并发处理,并将处理结果返回到通用寄存器。利用本发明专利技术,实现了对字符操作的加速,使得含有大量字符操作的算法和应用获得了高运行效率。

【技术实现步骤摘要】

本专利技术涉及计算机体系结构设计领域,特别涉及一种字符操作加速方法、装置、芯片、处理器
技术介绍
随着大数据时代的到来,计算机软件应用重心从数值计算向业务处理应用转移,其中,字符类操作在大数据应用中占用较大比例,其重要性也越来越凸显,字符操作作为一种非常基础通用性的操作,应用广泛,包括诸如字符串拷贝、字符串比较、字符查找等操作,几乎所有的编程语言中都有针对字符操作的函数库。目前学术界并没有很多对字符操作深入研究,针对字符相关研究,大多都集中在基于字符的特定应用和特定问题,包括如车牌字符识别等的特定应用,以及非常典型的字符模式匹配问题,在字符模式匹配问题上有诸多软件、硬件方面的研究成果,但并不适应于大数据应用领域中涉及到的通用字符操作。针对大数据领域的字符基本操作问题,可以考虑使用通用加速器如GPU等方式来进行加速,然而通用加速器往往强调计算性能,对于像字符操作这种简单问题,只能发挥其作为众核结构的并行性支持,单个核心的使用效率并不高,对于像适用于大数据应用的Tile64这样的处理器,其并发性以及高吞吐毋庸置疑,但其单个核心上处理能力太过通用简单,并没有特殊性设计。字符操作相对微观且字符串操作非常广泛,几乎所有的应用中都有可能使用到以字符和字符串作为变量的不同操作。因此,加速字符操作,一定程度上就加速了整个应用的运行速度,尤其在大数据应用领域中,字符操作时间占比非常高,通过加速字符操作,能够更大幅度的提高运行速度。
技术实现思路
针对现有技术的不足,本专利技术提出一种字符操作加速方法、装置、芯片、处理器。本专利技术提出一种字符操作加速方法,包括:步骤1,获取字符操作指令在流水线中的地址并将所述字符操作指令译码,根据所述地址获取双地址,将包括所述双地址的字符操作请求消息存储在字符操作访存请求队列中;步骤2,根据所述字符操作请求消息对缓存进行命中检查,当所述双地址均命中时,获取所述双地址在所述缓存中相对应的两个数据,若未命中,则向所述缓存发送读请求;步骤3,对所述两个数据进行并发处理,并将处理结果返回到通用寄存器。所述字符操作请求消息包括字符操作请求类型与地址信息,请求类型包括字符串拷贝、字符串粘贴、字符查找。所述步骤2包括移动两行数据,将需要进行比较操作或者进行拷贝操作的数据位对齐,同时计算掩码信息;对移位处理后的两行数据进行比较,分别获取第一次的比较信息;根据所述字符操作类型与所述比较信息,进行并发处理,并将处理结果返回到通用寄存器。本专利技术还提出一种字符操作加速装置,包括:双地址访存模块,用于获取字符操作指令在流水线中的地址并将所述字符操作指令译码,根据所述地址获取双地址,将包括所述双地址的字符操作请求消息存储在字符操作访存请求队列中;双地址命中处理模块,用于根据所述字符操作请求消息对缓存进行命中检查,当所述双地址均命中时,获取所述双地址在所述缓存中相对应的两个数据,若未命中,则向所述缓存发送读请求;字符操作处理模块,用于对所述两个数据进行并发处理,并将处理结果返回到通用寄存器。所述字符操作请求消息包括字符操作请求类型与地址信息,请求类型包括字符串拷贝、字符串粘贴、字符查找。所述双地址命中处理模块包括移动两行数据,将需要进行比较操作或者进行拷贝操作的数据位对齐,同时计算掩码信息;对移位处理后的两行数据进行比较,分别获取第一次的比较信息;根据所述字符操作类型与所述比较信息,进行并发处理,并将处理结果返回到通用寄存器。所述字符操作处理模块包括存储器阵列模块,所述存储器模块为长度与cacheline大小相同的存储器阵列。所述字符操作处理模块还包括阵列比较模块,所述阵列比较模块同时将cachelinesize个数据进行比较。本专利技术还提出一种利用所述字符操作加速方法制造的芯片。本专利技术还提出一种包括所述字符操作加速装置的处理器。由以上方案可知,本专利技术的优点在于:1、利用本专利技术,实现了对字符操作的加速,使得含有大量字符操作的算法和应用获得了高运行效率;2、充分利用了本专利技术的并行处理特点,大大降低了访存次数,从而降低了存储系统的压力,降低了能耗;3、充分结合了通用处理器和专用设计的特点,在兼容的原则下,降低了所有与字符操作相关的应用的运行时间。附图说明图1为本专利技术装置的核心思想示意图;图2为本专利技术字符操作处理模块的流水步骤;图3为本专利技术装置的整体结构图;图4为本专利技术装置针对字符串拷贝、粘贴操作的输出信息图;图5为本专利技术装置针对字符串拷贝的操作结构图;图6为本专利技术装置针对字符串比较的操作结构示意图。具体实施方式本专利技术的主要目的是将传统体系结构与字符操作加速结构相结合,提供一种字符操作加速方法、装置、芯片、处理器,通过并发式的处理来加速执行字符操作,以此提高计算机运行效率。为实现该目的,本专利技术提供的字符操作加速装置包括:双地址访存模块DLSU、字符操作访存请求队列COQ、双地址命中处理模块和字符操作处理模块。所述DLSU与LSU(访存模块)并列,其功能是同时计算两个地址并将字符操作请求递交给cache;所述COQ与LSQ(访存队列)并列,用来缓存暂时不能处理的字符操作请求;所述双地址命中处理模块用于确定字符操作请求是否可以处理,当两个地址均在cache中命中则可以处理,若未命中,向cache发送读请求。上述技术方案中,所述字符操作处理模块是本专利技术的思想核心,其结构如图1所示,其特点在于将连续地址的数据处理101放在与cache同级的位置进行处理,直接将处理结果返回102给通用寄存器。其结构还包括存储器阵列、移位处理模块、阵列比较器和结果处理模块,所述存储器阵列为长度与cacheline大小相同的存储器阵列;所述阵列比较器能够同时处理cachelinesize个数据比较。所述cacheline(cache行)指处理器L1Cache的一个行的大小,通常大小为64Byte。为达到本专利技术的字符操作加速效果,使用所述字符操作加速装置的方法,包括如下步骤:1)指令在流水线中通过公共步骤取地址并将指令译码,将所述地址发送到DLSU模块,DLSU模块根据所述地址计算得两个对应的内存地址,并发出含有双地址的字符操作请求消息到COQ。所发出消息包含字符操作请求类型和地址信息,字符操作请求类型包括字符串拷贝、字符串粘贴、字符查找等字符操作类型;2)双地址命中处理模块根据COQ中的消息对cache进行命中检查,当一条消息中的两个地址均命中时,将所对应cacheline内容读出,送给字符操作处理模块;若地址未命中,则向cache发出读请求;3)字符操作处理模块根据操作请求类型,对两个cacheline的数据进行并发处理,并将处理结果返回到通用寄存器。所述字符操作加速装置中,字符操作处理模块是本专利技术装置的核心,可以流水化的对连续地址数据的并发处理,其流水包括如图2步骤:1)201,两个cacheline的数据读取。当请求的两个地址均在cache中命中时,读取两个地址所对应的cacheline;2)202,移位处理。移动两行数据,将需要比较或者拷贝的数据位对齐,同时计算掩码信息;3)203,阵列比较。对移位处理后的两行数据进行比较,分别得到第一次大于、小于或相等的比较信息,供第204步做结果处理;4)204,处理结果。根据字符操作请求类型和第203步本文档来自技高网...
一种字符操作加速方法、装置、芯片、处理器

【技术保护点】
一种字符操作加速方法,其特征在于,包括:步骤1,获取字符操作指令在流水线中的地址并将所述字符操作指令译码,根据所述地址获取双地址,将包括所述双地址的字符操作请求消息存储在字符操作访存请求队列中;步骤2,根据所述字符操作请求消息对缓存进行命中检查,当所述双地址均命中时,获取所述双地址在所述缓存中相对应的两个数据,若未命中,则向所述缓存发送读请求;步骤3,对所述两个数据进行并发处理,并将处理结果返回到通用寄存器。

【技术特征摘要】
1.一种字符操作加速方法,其特征在于,包括:步骤1,获取字符操作指令在流水线中的地址并将所述字符操作指令译码,根据所述地址获取双地址,将包括所述双地址的字符操作请求消息存储在字符操作访存请求队列中;步骤2,根据所述字符操作请求消息对缓存进行命中检查,当所述双地址均命中时,获取所述双地址在所述缓存中相对应的两个数据,若未命中,则向所述缓存发送读请求;步骤3,对所述两个数据进行并发处理,并将处理结果返回到通用寄存器。2.如权利要求1所述的字符操作加速方法,其特征在于,所述字符操作请求消息包括字符操作请求类型与地址信息,请求类型包括字符串拷贝、字符串粘贴、字符查找。3.如权利要求1或2所述的字符操作加速方法,其特征在于,所述步骤2包括移动两行数据,将需要进行比较操作或者进行拷贝操作的数据位对齐,同时计算掩码信息;对移位处理后的两行数据进行比较,分别获取第一次的比较信息;根据所述字符操作类型与所述比较信息,进行并发处理,并将处理结果返回到通用寄存器。4.一种字符操作加速装置,其特征在于,包括:双地址访存模块,用于获取字符操作指令在流水线中的地址并将所述字符操作指令译码,根据所述地址获取双地址,将包括所述双地址的字符操作请求消息存储在字符操作访存请求队列中;双地址命中处理模块,用于根据所述字符操作...

【专利技术属性】
技术研发人员:马丽娜祁玉琼叶笑春张浩范东睿王达
申请(专利权)人:中国科学院计算技术研究所北京中科睿芯科技有限公司
类型:发明
国别省市:北京;11

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

1