可同时处理多个字串的字串处理装置制造方法及图纸

技术编号:3900398 阅读:229 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供一种应用字组相关指令以处理特定字节字串的字串处理方法。该字串处理方法包含有:载入多个第一预定字串;同时比较一特定字串与载入的该多个第一预定字串,进而产生对应该特定字串的多个比较结果;以及依据该多个比较结果产生字串处理结果。此外,本发明专利技术另提供一种应用该字串处理方法的字串处理装置。

【技术实现步骤摘要】

本专利技术是有关于字串处理,尤指一种可同时处理多个字串的字串处理装置
技术介绍
字串的比较是一个在字串处理过程中经常用到的一个功能。举例来说,文字搜寻、HTML/XML的剖析、病毒检测以及型样比对都是应用字串比较来完成特定用途的重要功能。 是故,字串比较的效率对一个字串处理程序的整体效能来说有着极为重要的影响。一般已 知的字串比较是以字节相关(byte-related)的指令来实现的,也就是说,系统是以一次一 个字节(byte)的方式来逐一处理输入的字串。请一并参考图1与图2。图1为绘示了执行“strcmp”(string comparison)这个 功能的程序码以及处理器指令的示意图,而图2则为依据先前技术应用处理器指令实现该 “strcmp”功能的一范例流程图。指令群Ll内为一处理器用以实现程序码“while (cla ! =‘\0’ Mcla== clb) ”的处理器指令,而指令群L2内为处理器用以实现程序码“return cla-clb”的处理器指令。本领域技术人员应可轻易了解,图1中已知字串比较的操作是一 次处理一个字节,因此,在比较两个字节时,便需要使用四个指令(例如图1中指令群Ll 内的处理器指令)。对于需要使用大量字串比较的应用(例如超文本标示语言(HyperText Markup Language, HTML)的处理)来说,处理器需要相对应地花费大量的时间来一次一个 字节地处理字串的比较。因此,若能使用一个更有效率的方式来处理字串,将可以促进该些 应用的整体效能的提升。
技术实现思路
有鉴于此,本专利技术提供了一种字串处理装置,用以同时处理多个字串而以更有效 率的方式执行字串比较的功能。依据本专利技术的实施例,其揭露了一种字串处理装置。该字串处理装置包含有第一 储存装置,用以储存多个第一预定字串;第二储存装置;载入模块,耦接于该第一储存装置 及该第二储存装置,用以由该第一储存装置载入该多个第一预定字串至该第二储存装置; 比较模块,耦接于该第二储存装置,用以同时比较一特定字串以及该多个第一预定字串,并 分别产生对应该特定字串的多个比较结果;以及控制逻辑器,耦接于该比较模块,用以依据 该多个比较结果产生字串处理结果。依据本专利技术的实施例,其还揭露了一种字串处理装置。该字串处理装置包含有 第一储存装置,用以储存多个第一预定字串;第二储存装置;载入模块,耦接于该第一储存 装置及该第二储存装置,用以由该第一储存装置载入该多个第一预定字串至该第二储存装 置;比较模块,耦接于该第二储存装置,用以同时地分别比较多个第二预定字串以及该多个 第一预定字串,并分别产生对应该多个第二预定字串的多个比较结果;以及控制逻辑器,耦 接于该比较模块,用以依据该多个比较结果产生字串处理结果。附图说明图1为执行“strcmp”这个功能的程序码以及处理器指令的示意图。图2为依据先前技术应用处理器指令实现“strcmp”功能的一范例流程图。图3为本专利技术字串处理方法的第一实施例的流程图。图4为本专利技术字串处理装置的第一实施例的示意图。图5为找出第一个与一特定字串常数相同的字节的伪码片段。图6为本专利技术字串处理方法的第二实施例的流程图。图7为本专利技术字串处理装置的第二实施例的示意图。图8为找出第一个与所载入的字组中一起始字节相同的字节的伪码片段。图9为本专利技术字串处理方法的第三实施例的流程图。图10为本专利技术字串处理装置的第三实施例的示意图。图11为找出两预定字串中的第一个不同的两相对应字串的伪码片段。图12为找出两预定字串中的最后一个不同的两相对应字串的伪码片段。图13为本专利技术字串处理方法的第四实施例的流程图。图14为本专利技术字串处理装置的第四实施例的示意图。图15为本专利技术执行“strcmp”这个功能的程序码以及处理器指令的示意图。图16为本专利技术应用处理器指令实现“strcmp”功能的一范例流程图。100、200、300、400~~ 字串处理装置 110、210、310、410 第一储存装置 120、220、320、420 第二储存装置 130、230、330、430 载入模块 140、240、340、440 比较模块 150、250、350、450 控制逻辑器具体实施例方式在说明书及上述的申请专利范围当中使用了某些词汇来指称特定的元件。本领域 技术人员应可理解,硬件制造商可能会用不同的名词来称呼同样的元件。本说明书及上述 的申请专利范围并不以名称的差异来作为区分元件的方式,而是以元件在功能上的差异来 作为区分的准则。在通篇说明书及上述的请求项当中所提及的「包含」为开放式的用语,故 应解释成「包含但不限定于」。另外,「耦接」一词在此是包含任何直接及间接的电气连接手 段。因此,若文中描述第一装置耦接于第二装置,则代表该第一装置可直接电气连接于该第 二装置,或通过其它装置或连接手段间接地电气连接至该第二装置。请参照图3,图3为本专利技术字串处理方法的第一实施例的流程图。此实施例的主要目的为找到第一个与一特定位型样(bit pattern)相同的字节。倘若大体上可达到相同的 结果,并不需要一定遵照图3所示的流程中的步骤顺序来进行,且图3所示的步骤不一定要 连续进行,亦即,其它步骤亦可插入其中。本专利技术字串处理方法的第一实施例的运作可归纳 如下S201 载入一字组(word,即四个字节)以作为多个第一预定字串,亦即,在所载入 的该字组中的各个字节分别作为第一预定字串。S202 将该多个第一预定字串中的每一字串与一 8位(8_bit)字串常数imm8同时 作比较,进而产生多个比较结果。S203:判断该多个第一预定字串中是否完全没有任一字串与8位字串常数imm8相 同。若是,到步骤S204 ;若否,到步骤S205。S204 将字串处理结果设定为零。S205 依据该多个第一预定字串的字节序(endian),检查与8位字串常数imm8相 同的字串是否为在该多个第一预定字串中顺序上的第一个字串。若是,到步骤S206 ;若否, 到步骤S207。S206 将字串处理结果设定为_4。S207 依据该多个第一预定字串的字节序,检查与8位字串常数imm8相同的字串 是否为在该多个第一预定字串中顺序上的第二个字串。若是,到步骤S208 ;若否,到步骤 S209。S208 将字串处理结果设定为_3。S209 依据该多个第一预定字串的字节序,检查与8位字串常数imm8相同的字串 是否为在该多个第一预定字串中顺序上的第三个字串。若是,到步骤S210 ;若否,到步骤 S211。S210 将字串处理结果设定为_2。S211 将字串处理结果设定为-1。在此实施例中,步骤S205、S207以及S 209被设计来参照该多个第一预定字串的 字节序以于该多个第一预定字串中找出在顺序上第一个与8位字串常数imm8相同的字串。请注意,在步骤S206、S208、S210以及S211中的操作是用以指出第一个与8位字 串常数imm8相同的字串于该多个第一预定字串内的次序。举例来说,当该多个第一预定字 串的字节序为小字节序(little-endian)且该多个第一预定字串中只有在次序上为第二 与第三的字串与8位字串常数imm8相同,在这个情况之下,由于该多个第一预定字串的字 串数为四,而字串处理结果为本文档来自技高网...

【技术保护点】
一种字串处理装置,包含有:第一储存装置,用以储存多个第一预定字串;第二储存装置;载入模块,耦接于该第一储存装置及该第二储存装置,用以由该第一储存装置载入该多个第一预定字串至该第二储存装置;比较模块,耦接于该第二储存装置,用以同时比较一特定字串以及该多个第一预定字串,并分别产生对应该特定字串的多个比较结果;以及控制逻辑器,耦接于该比较模块,用以依据该多个比较结果产生字串处理结果。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:张传华赖吉昌苏泓萌
申请(专利权)人:晶心科技股份有限公司
类型:发明
国别省市:71[中国|台湾]

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

1