状态机引擎中的指令插入制造技术

技术编号:11372935 阅读:69 留言:0更新日期:2015-04-30 08:20
本发明专利技术揭示状态机引擎,其包含具有指令插入寄存器的状态机引擎。一个此指令插入寄存器可提供初始化指令,以便使状态机引擎为数据分析作准备。指令插入寄存器还可提供指令以尝试解决在状态机引擎的操作期间发生的错误。指令插入寄存器还可用以在例如状态机经历致命错误之后调试状态机引擎。

【技术实现步骤摘要】
【国外来华专利技术】状态机引擎中的指令插入
本专利技术的实施例大体涉及电子装置,且更具体地说,在某些实施例中,涉及具有用于数据分析的并行装置的电子装置。
技术介绍
在常规基于冯·诺伊曼(vonNeumann)的计算机上执行复杂模式辨识可能效率低下。然而,生物大脑(尤其人类大脑)善于执行模式辨识。当前研究表明,人类大脑使用大脑新皮质中的一系列经阶层式组织的神经元层执行模式辨识。阶层的较低层中的神经元分析来自(例如)感觉器官的“原始信号”,而较高层中的神经元分析来自较低层级中的神经元的信号输出。大脑新皮质中的这种阶层式系统可能结合大脑的其它区域完成复杂模式辨识,这使人类能够执行例如空间推理、意识思考及复杂语言等高阶功能。在计算领域中,模式辨识任务越来越具有挑战性。计算机之间传输的数据量不断增大,且用户希望识别的模式数目日益增加。例如,通常通过在数据流中搜索模式(例如,特定词组或代码段)来检测垃圾邮件或恶意软件。模式数目随着垃圾邮件及恶意软件的多样化而增加,这是因为可实施新模式以搜索新变体。在数据流中搜索这些模式中的每一者可形成计算瓶颈。通常,当接收到数据流时,在数据流中一次一个地搜索每一模式。在系统准备好搜索数据流的下一部分之前的延迟随模式数目而增加。因此,模式辨识可使数据的接收减慢。硬件已经设计以在数据流中搜索模式,但是这种硬件通常不能在给定的时间量期间处理足够的数据量。经配置以搜索数据流的一些装置通过将数据流分布在多个电路之间以在给定的时间量期间处理足够的数据量。所述电路各自确定数据流是否匹配模式的一部分。通常,大量电路并行操作,其各自大体同时搜索数据流。然而,尚不存在有效地允许以与生物大脑的方式更相当的方式执行模式辨识的系统。开发这种系统是合乎需要的。附图说明图1说明根据本专利技术的各种实施例的具有状态机引擎的系统的实例。图2说明根据本专利技术的各种实施例的图1的状态机引擎的FSM点阵的实例。图3说明根据本专利技术的各种实施例的图2的FSM点阵的块的实例。图4说明根据本专利技术的各种实施例的图3的块的行的实例。图5说明根据本专利技术的各种实施例的图4的行的两成员群组的实例。图6说明根据本专利技术的各种实施例的有限状态机图表的实例。图7说明根据本专利技术的各种实施例的使用FSM点阵实施的二层级阶层的实例。图8说明根据本专利技术的各种实施例的编译器将源代码转换为二进制文件以编程图2的FSM点阵的方法的实例。图9说明根据本专利技术的各种实施例的状态机引擎。图10说明根据本专利技术的各种实施例的说明利用图9的指令插入寄存器的第一过程的流程图。图11说明根据本专利技术的各种实施例的说明利用图9的指令插入寄存器的第二过程的流程图。图12说明根据本专利技术的各种实施例的说明利用图9的指令插入寄存器的第三过程的流程图。具体实施方式现在转到诸图,图1说明大体上由参考数字10标示的基于处理器的系统的实施例。系统10(例如,数据分析系统)可为例如台式计算机、膝上型计算机、传呼器、蜂窝电话、个人记事本、便携式音频播放器、控制电路、相机等等的多种类型中的任一者。系统10还可为网络节点,例如路由器、服务器或客户端(例如,先前描述的计算机类型中的一者)。系统10可为某个其它种类的电子装置,例如复印机、扫描仪、打印机、游戏控制台、电视机、机顶视频分布或记录系统、电缆箱、个人数字媒体播放器、工厂自动化系统、汽车计算机系统或医疗装置。(用以描述系统的这些各种实例的术语(如本文中使用的许多其它术语)可共享一些参照物,且因此不应通过所列出的其它项加以狭隘地理解)。在典型的基于处理器的装置(例如系统10)中,例如微处理器等处理器12控制系统10中的系统功能及请求的处理。此外,处理器12可包括共享系统控制的多个处理器。处理器12可直接或间接地耦合到系统10中的元件中的每一者,使得处理器12通过执行可存储于系统10内或系统10外部的指令而控制系统10。根据本文中描述的实施例,系统10包含可在处理器12的控制下操作的状态机引擎14。状态机引擎14可采用任何自动机理论。例如,状态机引擎14可采用数个状态机架构中的一者,包含(但不限于)米立(Mealy)架构、摩尔(Moore)架构、有限状态机(FSM)、确定性FSM(DFSM)、位并行状态机(BPSM)等等。虽然可使用多种架构,但是为讨论目的,本申请案提及FSM。然而,所属领域的技术人员应了解,可使用多种状态机架构中的任一者来采用所述技术。如下文进一步讨论,状态机引擎14可包含数个(例如,一或多个)有限状态机(FSM)点阵(例如,芯片的核心)。为本申请案的目的,术语“点阵”是指元件(例如,布尔单元、计数器单元、状态机元件、状态转变元件)的组织框架(例如,路由矩阵、路由网络、框架)。此外,“点阵”可具有任何合适的形状、结构或阶层式组织(例如,栅格、立方体、球形、级联)。每一FSM点阵可实施各自并行接收及分析相同数据的多个FSM。此外,FSM点阵可布置成群组(例如,群集),使得FSM点阵的群集可并行分析相同输入数据。此外,状态机引擎14的FSM点阵的群集可布置在阶层式结构中,其中来自阶层式结构的较低层级上的状态机点阵的输出可用作到较高层级上的状态机点阵的输入。通过经由阶层式结构使状态机引擎14的并行FSM点阵的群集串联地级联,可分析(例如,评估、搜索等等)日益复杂的模式。此外,基于状态机引擎14的阶层式并行配置,状态机引擎14可用于利用高处理速度的系统中的复杂数据分析(例如,模式辨识或其它处理)。例如,本文中描述的实施例可并入具有1千兆字节/秒的处理速度的系统中。因此,利用状态机引擎14,可迅速分析来自高速存储器装置或其它外部装置的数据。状态机引擎14可根据多个准则(例如,搜索项)大约同时(例如,在单个装置循环期间)分析数据流。状态机引擎14的层级上的FSM群集内的FSM点阵中的每一者可大约同时从数据流接收相同搜索项,且并行FSM点阵中的每一者可依处理准则确定所述项是否将状态机引擎14推进到下一状态。状态机引擎14可根据相对较大数目个准则(例如,大于100个、大于110个或大于10,000个准则)分析诸个项。因为FSM点阵并行操作,所以其可将准则应用于具有相对较高带宽的数据流(例如,大于或大体等于1千兆字节/秒的数据流)而不使数据流减慢。在一个实施例中,状态机引擎14可经配置以辨识(例如,检测)数据流中的大量模式。例如,状态机引擎14可用以检测用户或其它实体可能希望分析的多种类型数据流中的一或多者中的模式。例如,状态机引擎14可经配置以分析经由网络接收的数据流,例如经由因特网接收的包或经由蜂窝网络接收的语音或数据。在一个实例中,状态机引擎14可经配置以分析垃圾邮件或恶意软件的数据流。数据流可被接收为串行数据流,其中以具有意义的顺序(例如以时间、词汇或语义显著的顺序)接收数据。或者,数据流可经并行或无序接收,且然后通过(例如)对经由因特网接收的包进行重新排序而转换为串行数据流。在一些实施例中,数据流可串行地呈现项,但是可并行接收表达所述项中的每一者的位。数据流可从系统10外部的源接收,或可通过询问例如存储器16等存储器装置且由存储于存储器16中的数据形成数据流而形成。在其它实例中,状态机引擎14可经配置以辨识拼写某一字的字符序列、指定基因的基因碱基对序列、形本文档来自技高网...
状态机引擎中的指令插入

【技术保护点】
一种状态机引擎,其包括:状态机点阵,其包括多个可配置元件;指令缓冲器,其经配置以提供与所述状态机引擎的操作相关联的第一指令;及指令插入寄存器,其经配置以提供与所述状态机引擎的所述操作相关联的第二指令。

【技术特征摘要】
【国外来华专利技术】2012.08.31 US 13/601,4911.一种状态机引擎,其包括:状态机点阵,其包括多个可配置元件,每一可配置元件包括经配置以分析数据并输出所述分析的结果的多个存储器单元;指令缓冲器,其经配置以提供与所述状态机引擎的操作相关联的第一指令;及指令插入寄存器,其经配置以提供与所述状态机引擎的所述操作相关联的第二指令,其中所述状态机引擎经配置以响应于应中断所述状态机引擎的所述操作的指示而从所述指令缓冲器移除所述第一指令。2.根据权利要求1所述的状态机引擎,其中所述指令插入寄存器经配置以响应于可继续所述状态机引擎的所述操作的指示而将所述第二指令提供到所述状态机点阵。3.根据权利要求2所述的状态机引擎,其中可继续所述状态机引擎的所述操作的所述指示包括所述状态机点阵能够分析数据的指示,且其中所述第二指令包括指示来自所述指令缓冲器的指令即将来临的初始化指令。4.根据权利要求1所述的状态机引擎,其中所述状态机引擎经配置以响应于应中断所述状态机引擎的所述操作的指示而从所述指令缓冲器移除与所述状态机引擎的所述操作相关联的任何指令。5.根据权利要求1所述的状态机引擎,其中所述操作包括所述状态机点阵中的数据的分析。6.根据权利要求1所述的状态机引擎,其中所述指令插入寄存器经配置以响应于错误的指示而提供所述第二指令。7.根据权利要求6所述的状态机引擎,其中所述状态机引擎经配置以提供所述错误的所述指示。8.根据权利要求6所述的状态机引擎,其中所述状态机引擎经配置以从在所述状态机引擎外部且耦合到所述状态机引擎的装置接收所述错误的所述指示。9.根据权利要求6所述的状态机引擎,其中所述状态机引擎经配置以响应于所述错误的所述指示而中断从所述指令缓冲器供应所述第一指令,其中从所述指令插入寄存器提供所述第二指令来代替所述第一指令。10.根据权利要求9所述的状态机引擎,其中所述状态机引擎经配置以响应于所述错误的解决而继续从所述指令缓冲器供应所述第一指令。11.根据权利要求6所述的状态机引擎,其中所述第二指令包括经配置以尝试解决所述错误的指令。12.根据权利要求6所述的状态机引擎,其中所述状态机引擎经配置以从所述指令插入寄存器中的指令集合选择所述第二指令。13.根据权利要求6所述的状态机引擎,其中所述状态机引擎经配置以基于所述错误的所述指示选择所述第二指令。14.根据权利要求1所述的状态机引擎,其中所述指令插入寄存器经配置以提供先前从所述指令缓冲器提供的指令集合。15.根据权利要求14所述的状态机引擎,其中所述指令插入寄存器经配置以一次一个提供所述指令集合的指令,且其中所述状态机引擎经配置以确定所述指令集合中哪一指令导致错误。16.根据权利要求14所述的状态机引擎,其中所述指令插入寄存器经配置以循序提供所述指令集合的指令。17.根据权利要求1所述的状态机引擎,其进一步包括总线接口,其中所述指令插入寄存器经配置以经由所述总线接口接收所述第二指令。18.根据权利...

【专利技术属性】
技术研发人员:戴维·R·布朗
申请(专利权)人:美光科技公司
类型:发明
国别省市:美国;US

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

1