[go: up one dir, main page]

CN102736888A - 与数据流同步的数据检索电路 - Google Patents

与数据流同步的数据检索电路 Download PDF

Info

Publication number
CN102736888A
CN102736888A CN2012102246613A CN201210224661A CN102736888A CN 102736888 A CN102736888 A CN 102736888A CN 2012102246613 A CN2012102246613 A CN 2012102246613A CN 201210224661 A CN201210224661 A CN 201210224661A CN 102736888 A CN102736888 A CN 102736888A
Authority
CN
China
Prior art keywords
data
circuit
sample
modulo
register
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2012102246613A
Other languages
English (en)
Other versions
CN102736888B (zh
Inventor
程元斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jianghan University
Original Assignee
Jianghan University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Jianghan University filed Critical Jianghan University
Priority to CN201210224661.3A priority Critical patent/CN102736888B/zh
Publication of CN102736888A publication Critical patent/CN102736888A/zh
Application granted granted Critical
Publication of CN102736888B publication Critical patent/CN102736888B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种与数据流同步的数据检索电路,属于信息处理领域。电路:移位寄存器用于在时钟信号作用下,每个时钟周期接收输入的数据流中的一个数据单元,同时将前一个时钟周期存放的数据逐位移动一个数据单元;样本寄存器用于预先设置样本数据,样本数据包括若干数据单元;模2加运算电路用于将移位寄存器中的数据和样本寄存器中的数据进行模2加运算;提取指示寄存器用于指示模2加运算的运算结果中的有效位部分;结果提取与判决电路用于提取模2加运算的运算结果中的有效位部分;并根据有效位部分判决是否检索到与样本数据一致的数据;若判决为检索到与样本数据一致的数据,则产生匹配信号。本电路与数据流同步检索,结构简单。

Description

与数据流同步的数据检索电路
技术领域
本发明涉及信息处理领域,特别涉及一种与数据流同步的数据检索电路。
背景技术
数据检索是信息处理的常用运算,涉及信息检索、模式识别、信息安全等领域的诸多应用。数据检索的速度直接关系到这些应用的性能。
现有的数据检索可分为软件检索与硬件检索两大类。软件检索只能在每周期比较一个字符的基础上进行,其不足是显而易见的。与软件检索相比,硬件检索可以实现多个字符的并行比较,使检索过程与数据流同步成为可能。其中,以自动机理论为基础的硬件检索技术,由于其针对的是流的串行处理,所以基于该技术的数据检索电路不仅结构复杂,而且并行度不高,检索速度受到明显的限制。为了提高检索速度,现有技术提供了一种字符串检索电路。具体地,该字符串检索电路基于流水线技术,每一周期可以对已输入电路的n个字节与预先存于字典的样本进行一轮并行比较,但需要用到前一轮的比较结果,而对于m个字节的样本,每一轮所需保存的中间结果就有m个。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
众所周知,流水线技术本质上遵循的仍然是数据流的串行处理的程序逻辑,只是将流水线上位置靠后的指令提前执行从而达到一种并行处理的效果而已。为了实现这种“并行”处理,普遍采用预测技术。对于具有N道指令的流水线,其每周期可能的结果数为2N,然后第K道指令需要从2(K-1)个预测中选择正确的预测。这极大地带来了电路的复杂性。
发明内容
考虑到上述方面,本发明想要推出一种与数据流同步的数据检索电路,当待检索数据流过时,仅仅根据当前流过电路的数据与样本数据的并行比较得出比较结果,这种比较是与数据的传输同步的,且完全不需要依赖历史数据。基于此,本发明提供一种与数据流同步的数据检索电路,所述技术方案如下:
一种与数据流同步的数据检索电路,所述电路包括:
移位寄存器,用于在时钟信号作用下,每个时钟周期接收输入数据流中的一个数据单元,同时将前一个时钟周期存放的数据移动一个数据单元;
样本寄存器,用于预先设置样本数据,所述样本数据包括若干数据单元;
模2加运算电路,用于将所述移位寄存器中的数据和所述样本寄存器中的数据进行模2加运算;
提取指示寄存器,用于指示所述模2加运算的运算结果中的有效位部分;
结果提取与判决电路,用于提取所述模2加运算的运算结果中的有效位部分;并根据所述有效位部分判决是否检索到与所述样本数据一致的数据;若判决为检索到与所述样本数据一致的数据,则产生匹配信号。
其中,所述数据单元的宽度大小为1、8或16位。
其中,所述移位寄存器与所述样本寄存器长度相同;而所述样本数据的长度小于或者等于所述样本寄存器的长度。
其中,所述模2加运算电路具体用于,
将所述移位寄存器中的数据和所述样本寄存器中相对应的数据单元分别进行模2加运算;将所述移位寄存器中的数据和所述样本寄存器中相对应的第i个数据单元进行模2加运算为,
Figure BDA00001842981300021
其中,Bi为所述移位寄存器中数据的第i个数据单元,Si为所述样本寄存器中第i个数据单元,n为所述数据单元的宽度,bij与sij分别为所述Bi与所述Si中第j个比特;Mi为将所述移位寄存器中的数据和所述样本寄存器中相对应的第i个数据单元进行模2加运算的运算结果,Mi具体为一个比特的布尔数据。
其中,所述提取指示寄存器具体用于,
预先设置指示所述模2加运算的运算结果的有效部分的指示数据;所述指示数据为,
其中,所述样本数据的长度为m+1,所述移位寄存器的长度为n+1,且m≤n;fi为所述指示数据的第i个比特数据。
其中,所述结果提取与判决电路具体用于,
将所述模2加运算的运算结果和所述指示数据中相对应位的数据分别进行与运算,提取出所述模2加运算的运算结果中的有效位部分;所述将所述模2加运算的运算结果和所述指示数据中相对应的第i位数据进行与运算为,
Ci=Mifi
将所述与运算的运算结果中每一位数据进行或非计算,根据所述或非计算的运算结果判断是否检索到与所述样本数据一致的数据;所述或非计算为,
Figure BDA00001842981300031
其中,Mi为将所述移位寄存器中的数据和所述样本寄存器中相对应的第i个数据单元进行模2加运算的运算结果;Ci为将所述模2加运算的运算结果和所述指示数据中相对应的第i位数据进行与运算的运算结果;C0、C1、…、Cm、Cm+1、…、Cn分别为所述与运算的运算结果中第0、1、…、m、m+1、…、n位数据;o为所述或非计算的运算结果;
当o=1时,判断为检索到与所述样本数据一致的数据,产生匹配信号;
当o=0时,判断为未检索到与所述样本数据一致的数据,产生不匹配信号。
其中,所述电路还包括计数器与结果缓存电路,
所述计数器用于,对已输入所述移位寄存器的数据单元的个数进行计数,
相应地,所述结果缓存电路用于,当所述结果提取与判决电路产生匹配信号时,缓存所述计数器的当前计数值。
其中,所述电路还包括串并转换电路,
所述串并转换电路用于,当所述输入数据流为串行数据流而所述数据单元的宽度为8位或者16位时,将所述串行数据流转变为与所述数据单元的宽度一致的并行数据流;并将所述并行数据流送入所述移位寄存器。
其中,所述电路还包括时钟微调电路,
所述时钟微调电路用于,在保存所述计数器的当前计数值的期间维持所述时钟信号状态不变。
本发明实施例提供的技术方案带来的有益效果是:通过相对简洁的电路,即可从数据流中检索样本长度不超过设计值的数据,且数据的输入、检索和输出同步进行,即检索与数据读取或传输同步,造价比较低廉,节约成本。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例1中提供的一种与数据流同步的数据检索电路的示意图;
图2是本发明实施例2中提供的一种与数据流同步的数据检索电路的示意图;
图3是本发明实施例2中提供的一种与数据流同步的数据检索电路的另一示意图;
图4是本发明实施例2中提供的当输入数据为8位字节并行数据时的移位与比较过程的示意图;
图5是本发明实施例3中提供的一种与数据流同步的数据检索电路的示意图;
图6是本发明实施例4中提供的一种与数据流同步的数据检索电路的示意图;
图7是本发明实施例4中提供的时钟微调电路的示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例1
参见图1,本发明实施例1提供了一种与数据流同步的数据检索电路,该电路包括:移位寄存器101、样本寄存器102、模2加运算电路103、提取指示寄存器104和结果提取与判决电路105。
其中,移位寄存器101用于在时钟信号作用下,每个时钟周期接收输入的数据流中的一个数据单元,同时将前一个时钟周期存放的数据逐位移动一个数据单元。
其中,样本寄存器102用于预先设置样本数据;该样本数据包括若干数据单元。
其中,模2加运算电路103用于将移位寄存器101的数据和样本寄存器102中的数据进行模2加运算。
其中,提取指示寄存器104,用于指示模2加运算的运算结果中的有效位部分。
其中,结果提取与判决电路105用于提取模2加运算的运算结果中的有效部分,并根据该有效位部分判决是否检索到与样本数据一致的数据;若判决为检索到与样本数据一致的数据,则产生匹配信号。
本发明实施例提供的技术方案带来的有益效果是:通过相对简洁的电路,即可从数据流中检索样本长度不超过设计值的数据,且数据的输入、检索和输出同步进行,即检索与数据读取或传输同步,造价比较低廉,节约成本。由于电路简洁,其运算速度亦可能快于采用现有技术的电路。
实施例2
参见图2~图3,本发明实施例2提供了一种与数据流同步的数据检索电路,该电路包括:移位寄存器201、样本寄存器202、模2加运算电路203、提取指示寄存器204和结果提取与判决电路205,以及结果缓存电路206、计数器207。
其中,移位寄存器201用于在所述时钟信号作用下,每个时钟周期接收输入的数据流中的一个数据单元,同时将前一个时钟周期存放的数据逐位移动一个数据单元。
其中,样本寄存器202用于预先设置样本数据;该样本数据包括若干数据单元。
其中,模2加运算电路203用于将移位寄存器201的数据和样本寄存器202中的数据进行模2加运算。
其中,提取指示寄存器204用于指示模2加运算的运算结果中的有效位部分。
其中,结果提取与判决电路205用于提取模2加运算的运算结果中的有效部分,并根据该有效位部分判决是否检索到与样本数据一致的数据;若判决为检索到与样本数据一致的数据,则产生匹配信号。
以及,当需要获取检索到的匹配数据在数据流中的位置时,该与数据流同步的数据检索电路还包括结果缓存电路206和计数器207。
其中,计数器207用于在所述时钟信号作用下,对已输入移位寄存器201中的数据单元的个数进行计数。
相应地,结果缓存电路206用于当结果提取与判决电路205产生匹配信号时,保存计数器207的当前计数值并置位结果缓存不为空的通知信号。假设该缓存不为空的通知信号为oe。
具体地,移位寄存器201的输入端接数据流和外部时钟。移位寄存器201用于在时钟信号作用下,存放当前时钟周期数据流中输入的数据;且在时钟信号的每个时钟周期输入数据流的一个数据单元,同时将原有的数据逐位移动一个数据单元,以更新每个时钟周期移位寄存器中的的数据。
具体地,本发明实施例2中描述的数据单元的宽度大小为1、8或16位。数据单元的宽度大小由需检索数据的类型决定。例如,假设数据单元的宽度为n(n>0)比特;当待检索数据为二进制数据时,n=1;当待检索数据为ASCII码字符流或者256色像素流时,n=8;当待检索数据为16位UNICODE字符流或者16位色像素流时,n=16。
其中,该输入的数据流为传输线路中流过移位寄存器201的数据流;或者,该输入的数据流为数据传输中或者输入的终点流入移位寄存器201的数据流。值得说明的是,若该输入的数据流为数据传输中或者输入的终点流入移位寄存器201的数据流,则意味着数据单元移出移位寄存器201后即被丢弃。
进一步地,移位寄存器201与样本寄存器202长度相同,即所具有的寄存单元数量相同。其中,每一个寄存单元对应存储一个数据单元。
进一步地,假设移位寄存器201与样本寄存器202长度为n+1,设样本数据的长度为m+1(m≤n)个数据单元,设样本数据右起第i个数据单元为Vi。具体地,假设样本数据为VmVm-1…V1V0,样本寄存器202从最左面的寄存单元开始存储,如图3所示,依次为V0,V1,……,Vm。其右面剩余的寄存单元无需理会。例如,当样本数据为字符串“ABCD”时,则有V0=“D”,V1=“C”,V2=“B”,V3=“A”,“D”存入样本寄存器202最左面的寄存单元,往右依次为“C”、“B”、“A”,其余的寄存单元无需改变。
其中,模2加运算以数据单元为单位进行。具体地,假设移位寄存器201中第i个数据单元为Bi,样本寄存器202中第i个数据单元为Si,数据单元宽度为n,bij与sij分别为Bi与Si第j比特,以Bi与Si为操作数的模2加运算定义为,
其中,Mi即为移位寄存器201中的第i个数据单元和样本寄存器202中相对应的第i个数据单元进行模2加运算的运算结果。根据上述式(1)可以得知,无论数据单元的宽度多大,其相对应的两个数据单元进行模2加运算的运算结果是一个比特的布尔数据,用于表示两个操作数Bi与Si相等(Mi=0)或是不相等(Mi=1)。
图4以2个相邻单元为例,说明了输入为并行的8位字节数据时的移位与比较概念。其中,移位寄存器201的第i个数据单元Bi在时钟周期信号有效时,将其值的各比特位(b0、b1、b2、b3、b4、b5、b6、b7)赋给移位寄存器201的下一个数据单元Bi+1的各对应位,并接受移位寄存器201上一数据单元Bi-1移交给它的值。而当Bi与Si相等时Mi为0,否则为1。
设移位寄存器201含有n+1个数据单元,则模2加运算电路203有n+1位长度的运算结果。显然,当样本数据的长度小于n+1时,该模2加运算的运算结果中存在无效部分。那么,需要提取该运算结果中的有效位部分。其中,该有效位部分指模2加运算的运算结果中与样本数据的每一个数据单元对应的所有比特。进一步,提取有效结果的运算,其原理如下:
首先,提取指示寄存器204内预先设置指示模2加运算的运算结果的有效部分的指示数据。设提取指示寄存器204中指示数据的第i位为fi。对应于样本寄存器202中第i个数据单元Si;设样本数据具有m+1个数据单元长度的数据并预置于样本寄存器202的第0至m号寄存单元,即S0至Sm,则fi的设置由下式规定:
其中,当0≤i≤m时,fi=1,表示模2加运算的运算结果中与样本数据的每一位数据单元对应的数据单元是有效的。当m+1≤i≤n时,fi=0,表示除了与样本数据的每一位数据单元对应的数据单元外的模2加运算的运算结果的其他部分是无效的。
进一步地,结果提取与判决运算电路205具体用于,将模2加运算的运算结果和指示数据中相对应位的数据分别进行与运算,提取出模2加运算的运算结果中的有效位部分;将与运算的运算结果中每一位数据进行或非计算,根据或非计算的运算结果判断是否检索到与样本数据一致的数据;若检索到与样本数据一致的数据,产生匹配信号;若未检索到与样本数据一致的数据,产生不匹配信号。
首先,记与运算的运算结果的第i位为Ci(i=0,1,…,n)。那么,将模2加运算的运算结果和指示数据中相对应的第i位数据进行与运算定义为,
C i = M i f i = ( B i ⊕ S i ) f i
显然,当i=m+1,m+2,…,n时,Ci为0。
其次,设C0、C1、…、Cm、Cm+1、…、Cn分别为所述与运算的运算结果中第0、1、…、m、m+1、…、n位数据;o为所述或非计算的运算结果;则o定义为,
Figure BDA00001842981300072
其中,当o=1时,判断为检索到与所述样本数据一致的数据,产生匹配信号;当o=0时,判断为未检索到与所述样本数据一致的数据,产生不匹配信号。
可见,判决结果仅由与样本对应的前一部分决定,且仅当所有的Ci均为0时,即所有的Bi与Si(i<=m)两两相等时,判决结果o才为1。
其中,结果提取与判决运算电路205的输入端接提取指示寄存器204与模2加运算电路203。
其中,计数器207的输入端接外部时钟,用于在时钟信号作用下,对已输入移位寄存器201的数据单元的个数进行计数,以获取匹配数据在输入的数据流中的位置。
计数器207的另一个输入端接结果提取与判决电路205,进一步地,当且仅当检索成功,即o=1时,计数器207的计数值被存储到结果缓存电路206中,同时表示结果缓存不为空的通知信号被置位。假设该表示结果缓存不为空的通知信号为oe。
进一步地,结果缓存电路206允许存入多个检索结果(计数值),并允许外部电路,例如处理器,在任何时候读取其中保存的且未读取的检索结果。
值得说明的是,若需存储到结果缓存电路206中的计数值直接表示需检索数据在数据流中的起始位置,计数器207的初始值应为样本数据长度的负数,而不是零。当然,仍然可以采用无符号的循环计数功能来实现这一要求。例如,对于16比特计数器,假定样本数据的长度为8,则计数器207的初值应置为0x10000–0x8=0xfff8。此外,为避免产生错误的输出,可在电路初始化时,将样本数据的反码植入移位寄存器201。
值得说明的是,通过上述对本发明提供的技术方案的描述,可以推知对该技术方案所作出的改进情况。例如,从数据流中检索出多个样本数据之一的电路,该电路将多个本发明提供的电路并联起来,让数据流同时通过这些电路。又如,从数据库的某个字段中检索样本数据的电路,该电路对本发明提供的电路的工作流程作如下改变:第一个改变是,当一个被检索字符串全部进入移位寄存器时才进行一次比较,而且也只进行一次比较;第二个可能的改变是,无论被检索数据是什么类型,移位寄存器与样本寄存器的数据单元的宽度都等于1,即模2加运算永远按比特进行。
本发明实施例提供的技术方案带来的有益效果是:通过相对简洁的电路,即可从数据流中检索样本长度不超过设计值的数据,且数据的输入、检索和输出同步进行,即检索与数据读取或传输同步,造价比较低廉,节约成本。由于电路简洁,其运算速度亦可能快于采用现有技术的电路。
实施例3
参见图5,本发明实施例3提供了一种与数据流同步的数据检索电路,该电路包括:移位寄存器301、样本寄存器302、模2加运算电路303、提取指示寄存器304、结果提取与判决电路305、结果缓存电路306、计数器307和串并转换电路308。
其中,移位寄存器301、样本寄存器302、模2加运算电路303、提取指示寄存器304、结果提取与判决电路305、结果缓存电路306和计数器307,与本发明实施例2中描述的移位寄存器201、样本寄存器202、模2加运算电路203、提取指示寄存器204、结果提取与判决电路205、结果缓存电路206和计数器207相同,在此不再详述。
其中,串并转换电路308的输入端接输入的数据流,用于当输入的数据流为串行数据流而数据单元的宽度为8位或者16位时,将串行数据流转变为与数据单元的宽度一致的并行数据流;并将该并行数据流送入移位寄存器301。
具体地,串并转换电路308以一种较为简单的方式满足数据单元宽度大于1的同时通过串行方式进行传输的数据流的在线检索的需求,例如,通过网络传输的文本文件的在线检索。进一步地,串并转换电路308的输入端还用于产生移位寄存器301及计数器302的时钟信号,即图5所示时钟2信号。
本发明实施例提供的技术方案带来的有益效果是:通过相对简洁的电路,即可从数据流中检索样本长度不超过设计值的数据,且数据的输入、检索和输出同步进行,即检索与数据读取或传输同步,造价比较低廉,节约成本。由于电路简洁,其运算速度亦可能快于采用现有技术的电路。
实施例4
参见图6~图7,本发明实施例4提供了一种与数据流同步的数据检索电路,该电路包括:移位寄存器401、样本寄存器402、模2加运算电路403、提取指示寄存器404、结果提取与判决电路405、结果缓存电路406、计数器407和时钟微调电路408。
其中,移位寄存器401、样本寄存器402、模2加运算电路403、提取指示寄存器404、结果提取与判决电路405、结果缓存电路406和计数器407,与本发明实施例2中描述的移位寄存器201、样本寄存器202、模2加运算电路203、提取指示寄存器204、结果提取与判决电路205、结果缓存电路206和计数器207相同,在此不再详述。
其中,时钟微调电路408用于保证在计数器407保存计数值到结果缓存电路406期间维持计数器值不变。图7是时钟微调电路408及其相关信号时序关系的示意图。如图7所示,其中,当结果提取与判决电路405的输出信号o变为高电平时(表示检索到匹配数据),计数器407与结果缓存电路406之间的写控制信号WR由低电平变为高电平,执行将计数器407保存到结果缓存寄存器406的操作;WR维持高电平足够的时间后自动回归低电平。在WR维持高电平期间,时钟3信号亦将维持高电平。这样,时钟信号的占空比得到了微调,可为缓存结果挤出时间。当结果提取与判决电路405的输出信号o为低电平(表当前周期未检索到匹配数据)或是结果缓存操作在时钟1信号的下降沿到来前已完成时,时钟3信号与时钟1完全相同。
需要强调的是,时钟微调电路408仅仅对时钟信号的占空比进行微调,并不改变时钟周期。
本发明实施例提供的技术方案带来的有益效果是:通过相对简洁的电路,即可从数据流中检索样本长度不超过设计值的数据,且数据的输入、检索和输出同步进行,即检索与数据读取或传输同步,造价比较低廉,节约成本。由于电路简洁,其运算速度亦可能快于采用现有技术的电路。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何组合、子组合、缩减、修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (9)

1.一种与数据流同步的数据检索电路,其特征在于,所述电路包括:
移位寄存器,用于在时钟信号作用下,每个时钟周期接收输入数据流中的一个数据单元,同时将前一个时钟周期存放的数据移动一个数据单元;
样本寄存器,用于预先设置样本数据,所述样本数据包括若干数据单元;
模2加运算电路,用于将所述移位寄存器中的数据和所述样本寄存器中的数据进行模2加运算;
提取指示寄存器,用于指示所述模2加运算的运算结果中的有效位部分;
结果提取与判决电路,用于提取所述模2加运算的运算结果中的有效位部分;并根据所述有效位部分判决是否检索到与所述样本数据一致的数据;若判决为检索到与所述样本数据一致的数据,则产生匹配信号。
2.如权利要求1所述的电路,其特征在于,所述数据单元的宽度大小为1、8或16位。
3.如权利要求1所述的电路,其特征在于,所述移位寄存器与所述样本寄存器长度相同;而所述样本数据的长度小于或者等于所述样本寄存器的长度。
4.如权利要求1所述的电路,其特征在于,所述模2加运算电路具体用于,
将所述移位寄存器中的数据和所述样本寄存器中相对应的数据单元分别进行模2加运算;将所述移位寄存器中的数据和所述样本寄存器中相对应的第i个数据单元进行模2加运算为,
Figure FDA00001842981200011
其中,Bi为所述移位寄存器中数据的第i个数据单元,Si为所述样本寄存器中第i个数据单元,n为所述数据单元的宽度,bij与sij分别为所述Bi与所述Si中第j个比特;Mi为将所述移位寄存器中的数据和所述样本寄存器中相对应的第i个数据单元进行模2加运算的运算结果,Mi具体为一个比特的布尔数据。
5.如权利要求1所述的电路,其特征在于,所述提取指示寄存器具体用于,
预先设置指示所述模2加运算的运算结果的有效部分的指示数据;所述指示数据为,
Figure FDA00001842981200012
其中,所述样本数据的长度为m+1,所述移位寄存器的长度为n+1,且m≤n;fi为所述指示数据的第i个比特数据。
6.如权利要求5所述的电路,其特征在于,所述结果提取与判决电路具体用于,
将所述模2加运算的运算结果和所述指示数据中相对应位的数据分别进行与运算,提取出所述模2加运算的运算结果中的有效位部分;所述将所述模2加运算的运算结果和所述指示数据中相对应的第i位数据进行与运算为,
Ci=Mifi
将所述与运算的运算结果中每一位数据进行或非计算,根据所述或非计算的运算结果判断是否检索到与所述样本数据一致的数据;所述或非计算为,
Figure FDA00001842981200021
其中,Mi为将所述移位寄存器中的数据和所述样本寄存器中相对应的第i个数据单元进行模2加运算的运算结果;Ci为将所述模2加运算的运算结果和所述指示数据中相对应的第i位数据进行与运算的运算结果;C0、C1、…、Cm、Cm+1、…、Cn分别为所述与运算的运算结果中第0、1、…、m、m+1、…、n位数据;o为所述或非计算的运算结果;
当o=1时,判断为检索到与所述样本数据一致的数据,产生匹配信号;
当o=0时,判断为未检索到与所述样本数据一致的数据,产生不匹配信号。
7.如权利要求1所述的电路,其特征在于,所述电路还包括计数器与结果缓存电路,
所述计数器用于,对已输入所述移位寄存器的数据单元的个数进行计数,
相应地,所述结果缓存电路用于,当所述结果提取与判决电路产生匹配信号时,缓存所述计数器的当前计数值。
8.如权利要求1所述的电路,其特征在于,所述电路还包括串并转换电路,
所述串并转换电路用于,当所述输入数据流为串行数据流而所述数据单元的宽度为8位或者16位时,将所述串行数据流转变为与所述数据单元的宽度一致的并行数据流;并将所述并行数据流送入所述移位寄存器。
9.如权利要求7所述的电路,其特征在于,所述电路还包括时钟微调电路,
所述时钟微调电路用于,在保存所述计数器的当前计数值的期间维持所述时钟信号状态不变。
CN201210224661.3A 2012-07-02 2012-07-02 与数据流同步的数据检索电路 Expired - Fee Related CN102736888B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210224661.3A CN102736888B (zh) 2012-07-02 2012-07-02 与数据流同步的数据检索电路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210224661.3A CN102736888B (zh) 2012-07-02 2012-07-02 与数据流同步的数据检索电路

Publications (2)

Publication Number Publication Date
CN102736888A true CN102736888A (zh) 2012-10-17
CN102736888B CN102736888B (zh) 2016-02-17

Family

ID=46992457

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210224661.3A Expired - Fee Related CN102736888B (zh) 2012-07-02 2012-07-02 与数据流同步的数据检索电路

Country Status (1)

Country Link
CN (1) CN102736888B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103744827A (zh) * 2014-01-10 2014-04-23 浪潮电子信息产业股份有限公司 一种提高芯片逻辑时序的串行数据帧匹配方法
CN104331467A (zh) * 2014-10-31 2015-02-04 上海玮舟微电子科技有限公司 一种数据查询方法及系统
CN105512310A (zh) * 2015-12-11 2016-04-20 中国航空工业集团公司西安航空计算技术研究所 一种基于fc-ae-asm协议的数据精确及模糊搜索方法
CN105553545A (zh) * 2015-12-11 2016-05-04 中国航空工业集团公司西安航空计算技术研究所 一种fc数据采集记录仪记录条件控制策略
CN106201440A (zh) * 2016-06-28 2016-12-07 上海兆芯集成电路有限公司 字符串比较指令优化的中央处理单元以及其操作方法
CN106776394A (zh) * 2017-01-11 2017-05-31 深圳大普微电子科技有限公司 一种数据转换的硬件系统和存储器

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58134336A (ja) * 1982-02-03 1983-08-10 Ricoh Co Ltd ワ−ドサ−チ装置
JPS592142A (ja) * 1982-06-29 1984-01-07 Fujitsu Ltd ビット列検索方式
JPH0675879A (ja) * 1992-08-27 1994-03-18 Ando Electric Co Ltd パターンの一致/不一致検出回路
JPH0833896B2 (ja) * 1987-02-23 1996-03-29 株式会社日立製作所 文字列検索装置の障害検出方式
JPH0981367A (ja) * 1995-09-14 1997-03-28 Mitsubishi Electric Corp パターン検出回路
JPH0991119A (ja) * 1995-09-21 1997-04-04 Matsushita Electric Works Ltd 一致検出回路
CN1703880A (zh) * 2002-10-03 2005-11-30 In4S公司 位串的校验方法及装置
JP2006162645A (ja) * 2004-12-02 2006-06-22 Oki Electric Ind Co Ltd 液晶駆動回路および液晶表示装置ならびに昇圧周波数制御方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58134336A (ja) * 1982-02-03 1983-08-10 Ricoh Co Ltd ワ−ドサ−チ装置
JPS592142A (ja) * 1982-06-29 1984-01-07 Fujitsu Ltd ビット列検索方式
JPH0833896B2 (ja) * 1987-02-23 1996-03-29 株式会社日立製作所 文字列検索装置の障害検出方式
JPH0675879A (ja) * 1992-08-27 1994-03-18 Ando Electric Co Ltd パターンの一致/不一致検出回路
JPH0981367A (ja) * 1995-09-14 1997-03-28 Mitsubishi Electric Corp パターン検出回路
JPH0991119A (ja) * 1995-09-21 1997-04-04 Matsushita Electric Works Ltd 一致検出回路
CN1703880A (zh) * 2002-10-03 2005-11-30 In4S公司 位串的校验方法及装置
JP2006162645A (ja) * 2004-12-02 2006-06-22 Oki Electric Ind Co Ltd 液晶駆動回路および液晶表示装置ならびに昇圧周波数制御方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103744827A (zh) * 2014-01-10 2014-04-23 浪潮电子信息产业股份有限公司 一种提高芯片逻辑时序的串行数据帧匹配方法
CN104331467A (zh) * 2014-10-31 2015-02-04 上海玮舟微电子科技有限公司 一种数据查询方法及系统
CN105512310A (zh) * 2015-12-11 2016-04-20 中国航空工业集团公司西安航空计算技术研究所 一种基于fc-ae-asm协议的数据精确及模糊搜索方法
CN105553545A (zh) * 2015-12-11 2016-05-04 中国航空工业集团公司西安航空计算技术研究所 一种fc数据采集记录仪记录条件控制策略
CN106201440A (zh) * 2016-06-28 2016-12-07 上海兆芯集成电路有限公司 字符串比较指令优化的中央处理单元以及其操作方法
CN106201440B (zh) * 2016-06-28 2018-10-23 上海兆芯集成电路有限公司 字符串比较指令优化的中央处理单元以及其操作方法
CN106776394A (zh) * 2017-01-11 2017-05-31 深圳大普微电子科技有限公司 一种数据转换的硬件系统和存储器
CN106776394B (zh) * 2017-01-11 2019-05-14 深圳大普微电子科技有限公司 一种数据转换的硬件系统和存储器

Also Published As

Publication number Publication date
CN102736888B (zh) 2016-02-17

Similar Documents

Publication Publication Date Title
CN108256164B (zh) 状态机晶格中的布尔逻辑
US9647684B2 (en) Memory-based history search
CN108292222B (zh) 用于数据解压缩的硬件装置和方法
CN107608750B (zh) 用于型式辨识的装置
CN102736888B (zh) 与数据流同步的数据检索电路
TWI515668B (zh) 用於一狀態機中偵測之方法及系統
CN107609644B (zh) 用于状态机中的数据分析的方法及系统
US8972450B2 (en) Multi-stage parallel multi-character string matching device
CN104487956B (zh) 用于使用状态机引擎中的状态向量数据的方法及系统
CN115577149B (zh) 一种数据处理方法、装置、设备及可读存储介质
US10949290B2 (en) Validation of a symbol response memory
US10430210B2 (en) Systems and devices for accessing a state machine
US20250165265A1 (en) Systems and devices for accessing a state machine
US12130774B2 (en) Devices for time division multiplexing of state machine engine signals
CN110633154B (zh) 一种数据全排序方法及系统
WO2015011907A1 (ja) k近傍法連想メモリ
CN119045778B (zh) 指数和归一化电路、最大值搜索电路、mac电路及芯片
JP2016143430A (ja) k近傍法連想メモリ
TWI443538B (zh) Multi - hierarchical parallel multi - character string alignment device
CN113703737A (zh) 一种寄存器传输级代码生成方法、装置、设备及介质
WO2024194646A1 (en) Method and apparatus for a bit-parallel inference architecture for tsetlin machines
TWI509441B (zh) Can flexibly set the data width of the multi-character string alignment device
CN115729966A (zh) 一种基于DFA算法的卡bin匹配方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160217