在模式辨识处理系统中用于电力管理的方法及系统的制作方法

文档序号:8287841阅读:256来源:国知局
在模式辨识处理系统中用于电力管理的方法及系统的制作方法
【技术领域】
[0001 ] 本发明的实施例大体涉及电子装置,且更具体地说,在某些实施例中,涉及具有用于数据分析的并行装置的电子装置。
【背景技术】
[0002]在常规基于冯?诺伊曼(von Neumann)的计算机上执行复杂模式辨识可能效率低下。然而,生物大脑(尤其人类大脑)善于执行模式辨识。当前研宄表明,人类大脑使用大脑新皮质中的一系列经阶层式组织的神经元层执行模式辨识。阶层的较低层中的神经元分析来自(例如)感觉器官的“原始信号”,而较高层中的神经元分析来自较低层级中的神经元的信号输出。大脑新皮质中的这种阶层式系统可能结合大脑的其它区域完成复杂模式辨识,这使人类能够执行例如空间推理、意识思考及复杂语言等高阶功能。
[0003]在计算领域中,模式辨识任务越来越具有挑战性。计算机之间传输的数据量不断增大,且用户希望识别的模式数目日益增加。例如,通常通过在数据流中搜索模式(例如,特定词组或代码段)来检测垃圾邮件或恶意软件。模式数目随着垃圾邮件及恶意软件的多样化而增加,这是因为可实施新模式以搜索新变体。在数据流中搜索这些模式中的每一者可形成计算瓶颈。通常,当接收到数据流时,在数据流中一次一个地搜索每一模式。在系统准备好搜索数据流的下一部分之前的延迟随模式数目而增加。因此,模式辨识可使数据的接收减慢。
[0004]硬件已经设计以在数据流中搜索模式,但是这种硬件通常不能在给定的时间量期间处理足够的数据量。经配置以搜索数据流的一些装置通过将数据流分布在多个电路之间以在给定的时间量期间处理足够的数据量。所述电路各自确定数据流是否匹配模式的一部分。通常,大量电路并行操作,其各自大体同时搜索数据流。然而,尚不存在有效地允许以与生物大脑的方式更相当的方式执行模式辨识的系统。开发这种系统是合乎需要的。
【附图说明】
[0005]图1说明根据本发明的各种实施例的具有状态机引擎的系统的实例。
[0006]图2说明根据本发明的各种实施例的图1的状态机引擎的FSM点阵的实例。
[0007]图3说明根据本发明的各种实施例的图2的FSM点阵的块的实例。
[0008]图4说明根据本发明的各种实施例的图3的块的行的实例。
[0009]图5说明根据本发明的各种实施例的图4的行的两成员群组的实例。
[0010]图6说明根据本发明的各种实施例的有限状态机图表的实例。
[0011]图7说明根据本发明的各种实施例的使用FSM点阵实施的二层级阶层的实例。
[0012]图8说明根据本发明的各种实施例的编译器将源代码转换为二进制文件以编程图2的FSM点阵的方法的实例。
[0013]图9说明根据本发明的各种实施例的状态机引擎。
[0014]图10说明根据本发明的各种实施例的图3的块的行的第二实例。
[0015]图11说明根据本发明的各种实施例的图10的块内交换元件。
[0016]图12说明根据本发明的各种实施例的图2的块的块启动逻辑。
[0017]图13是说明根据本发明的各种实施例的图12的块启动逻辑的操作的状态图。
【具体实施方式】
[0018]现在转到诸图,图1说明大体上由参考数字10标示的基于处理器的系统的实施例。系统10(例如,数据分析系统)可为例如台式计算机、膝上型计算机、传呼器、蜂窝电话、个人记事本、便携式音频播放器、控制电路、相机等等的多种类型中的任一者。系统10还可为网络节点,例如路由器、服务器或客户端(例如,先前描述的计算机类型中的一者)。系统10可为某个其它种类的电子装置,例如复印机、扫描仪、打印机、游戏控制台、电视机、机顶视频分布或记录系统、电缆箱、个人数字媒体播放器、工厂自动化系统、汽车计算机系统或医疗装置。(用以描述系统的这些各种实例的术语(如本文中使用的许多其它术语)可共享一些参照物,且因此不应通过所列出的其它项加以狭隘地理解)。
[0019]在典型的基于处理器的装置(例如系统10)中,例如微处理器等处理器12控制系统10中的系统功能及请求的处理。此外,处理器12可包括共享系统控制的多个处理器。处理器12可直接或间接地耦合到系统10中的元件中的每一者,使得处理器12通过执行可存储于系统10内或系统10外部的指令而控制系统10。
[0020]根据本文中描述的实施例,系统10包含可在处理器12的控制下操作的状态机引擎14。状态机引擎14可采用任何自动机理论。例如,状态机引擎14可采用数个状态机架构中的一者,包含(但不限于)米立(Mealy)架构、摩尔(Moore)架构、有限状态机(FSM)、确定性FSM(DFSM)、位并行状态机(BPSM)等等。虽然可使用多种架构,但是为讨论目的,本申请案提及FSM。然而,所属领域的技术人员应了解,可使用多种状态机架构中的任一者来采用所述技术。
[0021]如下文进一步讨论,状态机引擎14可包含数个(例如,一或多个)有限状态机(FSM)点阵(例如,芯片的核心)。为本申请案的目的,术语“点阵”是指元件(例如,布尔单元、计数器单元、状态机元件、状态转变元件)的组织框架(例如,路由矩阵、路由网络、框架)。此外,“点阵”可具有任何合适的形状、结构或阶层式组织(例如,栅格、立方体、球形、级联)。每一 FSM点阵可实施各自并行接收及分析相同数据的多个FSM。此外,FSM点阵可布置成群组(例如,群集),使得FSM点阵的群集可并行分析相同输入数据。此外,状态机引擎14的FSM点阵的群集可布置在阶层式结构中,其中来自阶层式结构的较低层级上的状态机点阵的输出可用作到较高层级上的状态机点阵的输入。通过经由阶层式结构使状态机引擎14的并行FSM点阵的群集串联地级联,可分析(例如,评估、搜索等等)日益复杂的模式。
[0022]此外,基于状态机引擎14的阶层式并行配置,状态机引擎14可用于利用高处理速度的系统中的复杂数据分析(例如,模式辨识或其它处理)。例如,本文中描述的实施例可并入具有I千兆字节/秒的处理速度的系统中。因此,利用状态机引擎14,可迅速分析来自高速存储器装置或其它外部装置的数据。状态机引擎14可根据多个准则(例如,搜索项)大约同时(例如,在单个装置循环期间)分析数据流。状态机引擎14的层级上的FSM群集内的FSM点阵中的每一者可各自大约同时从数据流接收相同搜索项,且并行FSM点阵中的每一者可依处理准则确定所述项是否将状态机引擎14推进到下一状态。状态机引擎14可根据相对较大数目个准则(例如,大于100个、大于110个或大于10,000个准则)分析诸个项。因为FSM点阵并行操作,所以其可将准则应用于具有相对较高带宽的数据流(例如,大于或大体等于I千兆字节/秒的数据流)而不使数据流减慢。
[0023]在一个实施例中,状态机引擎14可经配置以辨识(例如,检测)数据流中的大量模式。例如,状态机引擎14可用以检测用户或其它实体可能希望分析的多种类型数据流中的一或多者中的模式。例如,状态机引擎14可经配置以分析经由网络接收的数据流,例如经由因特网接收的包或经由蜂窝网络接收的语音或数据。在一个实例中,状态机引擎14可经配置以分析垃圾邮件或恶意软件的数据流。数据流可被接收为串行数据流,其中以具有意义的顺序(例如以时间、词汇或语义显著的顺序)接收数据。或者,数据流可经并行或无序接收,且然后通过(例如)对经由因特网接收的包进行重新排序而转换为串行数据流。在一些实施例中,数据流可串行地呈现项,但是可并行接收表达所述项中的每一者的位。数据流可从系统10外部的源接收,或可通过询问例如存储器16等存储器装置且由存储于存储器16中的数据形成数据流而形成。在其它实例中,状态机引擎14可经配置以辨识拼写某一字的字符序列、指定基因的基因碱基对序列、形成图像的部分的图片或视频文件中的位序列、形成程序的部分的可执行文件中的位序列或形成歌曲或口语词组的部分的音频文件中的位序列。待分析的数据流可包含呈二进制格式或其它格式(例如,十进制、ASCII等等)的多个数据位。所述流可编码具有单个数字或多个数字(例如,多个二进制数字)的数据。
[0024]如应了解,系统10可包含存储器16。存储器16可包含易失性存储器,例如动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、同步DRAM(SDRAM)、双倍数据速率DRAM (DDR SDRAM)、DDR2 SDRAM,DDR3 SDRAM等等。存储器16还可包含非易失性存储器,例如只读存储器(ROM)、PC-RAM、硅-氧化物-氮化物-氧化物-硅(SONOS)存储器、金属-氧化物-氮化物-氧化物-硅(MONOS)存储器、基于多晶硅浮动栅极的存储器及/或结合易失性存储器使用的各种架构的其它类型快闪存储器(例如,NAND存储器、NOR存储器等等)。存储器16可包含可提供待由状态机引擎14分析的数据的一或多个存储器装置,例如DRAM装置。如本文中所使用,术语“提供”可大体是指引导、输入、插入、发出、路由、发送、传送、发射、产生、给出、输出、放置、写入等等。这些装置可被称为或包含固态驱动器(SSD)、多媒体卡(MMC)、安全数字(SD)卡、压缩闪存(CF)卡或任何其它合适的装置。此外,应了解,这些装置可经由任何合适的接口(例如通用串行总线(USB)、外围组件互连(PCI)、PCIExpress(PC1-E)、小型计算机系统接口(SCSI)、IEEE 1394 (Firewire)或任何其它合适的接口)耦合到系统10。为了促进存储器16 (例如快闪存储器装置)的操作,系统10可包含存储器控制器(未说明)。如应了解,存储器控制器可为独立装置或其可与处理器12成一体。此外,系统10可包含外部存储装置18,例如磁性存储装置。外部存储装置还可将输入数据提供到状态机引擎14。
[0025]系统10可包含数个额外元件。例如,如关于图8更详细地描述,编译器20可用以配置(例如,编程)状态机引擎14。输入装置22还可耦合到处理器12以允许用户将数据输入到系统10中。例如,输入装置22可用以将数据输入到存储器16中以供状态机引擎14随后分析。例如,输入装置22可包含按钮、交换元件、键盘、光笔、尖笔、鼠标及/或语音辨识系统。例如显示器等输出装置24还可耦合到处理器12。例如,显示器24可包含IXD、CRT、LED及/或音频显示器。所述系统还可包含用于与网络(例如因特网)介接的网络接口装置26,例如网络接口卡(NIC)。如应了解,取决于系统10的应用,系统10可包含许多其它组件。
[0026]图2到5说明FSM点阵30的实例。在一实例中,FSM点阵30包括块32的阵列。如将描述,每一块32可包含对应于FSM中的多个状态的多个可选择性地耦合的硬件元件(例如,可配置元件及/或专用元件)。类似于FSM中的状态,硬件元件可分析输入流并基于输入流启动下游硬件元件。
[0027]可配置元件可经配置(例如,编程)以实施许多不同功能。例如,可配置元件可包含阶层式地组织成行38(图3及4中所示)及块32(图2及3中所示)中的状态机元件(SME)34、36(图5中所示)。SME还可被视为状态转变元件(STE)。为了在经阶层式组织的SME34、36之间路由信号,可使用可配置交换元件的阶层,包含块间交换元件40 (图2及3中所示)、块内交换元件42(图3及4中所示)及行内交换元件44(图4中所示)。
[0028]如下文所述,交换元件可包含路由结构及缓冲器。SME 34、36可对应于由FSM点阵30实施的FSM的状态。SME 34、36可通过使用如下文描述的可配置交换元件而耦合在一起。因此,可通过以下操作在FSM点阵30上实施FSM:配置SME 34、36以对应于状态功能且选择性地将SME 34,36耦合在一起以对应于FSM中的状态之间的转变。
[0029]图2说明FSM点阵30的实例的整体视图。FSM点阵30包含可选择性地与可配置块间交换元件40耦合在一起的多个块32。块间交换元件40可包含导体46 (例如,导线、迹线等等)以及缓冲器48及50。在一实例中,包含缓冲器48及50以控制信号往返于块间交换元件40的连接及时序。如下文进一步描述,缓冲器48可经提供以缓冲在块32之间发送的数据,而缓冲器50可经提供以缓冲在块间交换元件40之间发送的数据。此外,块32可选择性地耦合到用于接收信号(例如,数据)且将数据提供到块32的输入块52 (例如,数据输入端口)。块32还可选择性地耦合到用于将信号从块32提供到外部装置(例如,另一FSM点阵30)的输出块54(例如,输出端口)。FSM点阵30还可包含编程接口 56以(例如,经由图像、程序)配置F
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1