CN103034602B - 一种基于外设部件互联总线的内容查找芯片及系统 - Google Patents
一种基于外设部件互联总线的内容查找芯片及系统 Download PDFInfo
- Publication number
- CN103034602B CN103034602B CN201210519718.2A CN201210519718A CN103034602B CN 103034602 B CN103034602 B CN 103034602B CN 201210519718 A CN201210519718 A CN 201210519718A CN 103034602 B CN103034602 B CN 103034602B
- Authority
- CN
- China
- Prior art keywords
- bus
- peripheral component
- component interconnect
- protocol conversion
- data
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90339—Query processing by using parallel associative memories or content-addressable memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/387—Information transfer, e.g. on bus using universal interface adapter for adaptation of different data processing systems to different peripheral devices, e.g. protocol converters for incompatible systems, open system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4221—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0024—Peripheral component interconnect [PCI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/38—Universal adapter
- G06F2213/3852—Converter between protocols
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明公开一种基于外设部件互联总线的内容查找芯片及系统,该内容查找芯片包括第一外设部件互联接口模块、协议转换模块及内容存储模块,协议转换模块通过并行总线与外设部件互联接口模块连接,内容存储模块与协议转换模块通过指令总线、数据总线连接,第一外设部件互联接口模块通过外设部件互联总线获取第一处理层数据包;协议转换模块通过并行总线获取第一处理层数据包,对第一处理层数据包进行解析并转换为能够被内容存储模块识别的操作请求和数据;内容存储模块存储内容,并根据操作请求进行操作并返回操作响应数据;指令总线传输操作请求;数据总线传输数据。通过上述技术方案,本发明可有效缩减处理时间,并且降低功耗及成本。
Description
技术领域
本发明涉及通信以及信息技术领域,特别是涉及一种基于外设部件互联总线的内容查找芯片及系统。
背景技术
在通讯领域中,硬件查表都是通过内容存储模块完成,其中内容存储模块可由三态内容寻址存储器(ternarycontentaddressablememory,TCAM)芯片或内容寻址存储器(contentaddressablememory,CAM)芯片实现,而较新的TCAM芯片或者CAM芯片都是采用通信接口,例如高速串行接口协议(InterlakenLookAside,Interlaken-LA))接口,或者专用的CAM接口来收发串行数据包,因此,写入至TCAM芯片或者CAM芯片的操作请求、待写入数据、键值以及由TCAM芯片或者CAM芯片产生的操作响应数据需封装成串行数据包,然后在Interlaken-LA接口或者CAM接口输入或输出。并且,较老的TCAM或CAM芯片则使用特定的并行总线。
现有技术中的很多处理器往往只设置有PCI(PeripheralComponentInterconnect,外设部件互联)或高速外设部件互联(PeripheralComponentInterconnectExpress,PCIe)接口,而没有设置上述的Interlaken-LA或特定的CAM接口(如现阶段大量应用的X86系列处理器以及ARM系列处理器)。
但有时使用X86系列处理器的系统(比如应用安全系统)需要采用TCAM或CAM芯片来提高查表性能。现有技术中的一种实现方法如图1所示,将一片FPGA(Field-ProgrammableGateArray,现场可编程门阵列)芯片102设置于X86系列处理器101以及内容存储模块103之间,FPGA芯片102通过外设部件互联总线104与X86系列处理器101连接,通过串行总线105与内容存储模块103相连接,X86系列处理器101与FPGA芯片102之间利用外设部件互联总线104进行通信,FPGA芯片与TCAM或CAM芯片之间利用串行总线进行通信。FPGA芯片102将外设部件互联总线104中传输的物理层数据转换成在串行总线105传输的串行数据包,或将在串行总线105传输的串行数据包转换成外设部件互联总线104中传输的物理层数据。
在上述的现有技术方案中,由于需要设置FPGA芯片,并对其进行逻辑开发工作,应用门槛较高,另外FPGA芯片的功耗往往很大,因此采用FPGA芯片会增加功耗并且提高成本,另外,由于FPGA芯片需将外设部件互联总线中传输的物理层数据转换为串行数据包,该数据格式的转换也会导致数据处理需时较长。
发明内容
本发明主要解决的技术问题是提供一种基于外设部件互联总线的内容查找芯片及系统实施例,能有效缩减数据处理时间,并且可降低功耗及成本。
第一方面提供一种内容查找芯片,包括第一外设部件互联接口模块、协议转换模块以及内容存储模块,协议转换模块通过并行总线与外设部件互联接口模块连接,内容存储模块与协议转换模块通过指令总线、数据总线进行连接,其中:第一外设部件互联接口模块,用于通过外设部件互联总线从外部设备获取第一处理层数据包;协议转换模块,用于通过并行总线从第一外设部件互联接口模块获取第一处理层数据包,对第一处理层数据包进行解析并转换为能够被内容存储模块识别的操作请求和数据;内容存储模块,用于存储内容,并根据操作请求进行操作并返回操作响应数据;指令总线,用于传输操作请求;数据总线,用于传输数据。
结合第一方面的实施方式,在第一种可能的实施方式中,数据总线包括:键值总线,用于当操作请求为查找操作请求时,传输待查找的内容的键值;查找结果返回总线,用于传输内容存储模块根据查找操作请求进行查找后返回的查找结果,查找结果包括待查找内容的存储地址。
结合第一方面的实施方式,在第二种可能的实施方式中:内容存储模块,还用于通过查找结果返回总线将操作响应数据发送至协议转换模块;协议转换模块,还用于将操作响应数据封装为第二处理层数据包并通过并行总线发送至外设部件互联接口模块,第一外设部件互联接口模块将第二处理层数据包转换为第二处理层数据并发送至外设部件互联总线。
结合第一方面的实施方式,在第三种可能的实施方式中,协议转换模块根据第一处理层数据包的包头中的Fmt字段以及Type字段产生对应的操作请求。
结合第一方面的第三种可能的实施方式,在第四种可能的实施方式中,操作请求包括内容查找请求、表项读取请求、表项写入请求、寄存器读取请求或表项删除请求。
结合第一方面的第四种可能的实施方式,在第五种可能的实施方式中,协议转换模块在检测到第一处理层数据包的包头中的Fmt字段为00以及Type字段为00010时,产生内容查找请求;协议转换模块在检测到第一处理层数据包的包头中的Fmt字段为00或01以及Type字段为00000时,产生表项读取请求;协议转换模块在检测到第一处理层数据包的包头中的Fmt字段为10或11以及Type字段为00001时,产生表项写入请求;协议转换模块在检测到第一处理层数据包的包头中的Fmt字段为00以及Type字段为00100时,产生寄存器读取请求;协议转换模块在检测到第一处理包的包头中的Fmt字段为10以及Type字段为00100时,产生寄存器写入请求;协议转换模块在检测到第一处理层数据包的包头中的Fmt字段为10以及Type字段为00101时,产生表项删除请求。
第二方面提供一种内容查找系统,内容查找系统包括第一方面的实施方式、第一方面的第一至第七种可能的实施方式中的任一者所述的内容查找芯片,内容查找系统进一步包括:处理器芯片,处理器芯片设置有第二外设部件互联接口模块,第二外设部件互联接口模块通过外设部件互联总线与第一外设部件互联接口模块连接。
结合第二方面的实施方式,在第一种可能的实施方式中,处理器芯片为X86系列处理器芯片或ARM系列处理器芯片。
区别于现有技术的情况,本发明实施例的一种基于外设部件互联总线的内容查找芯片及系统通过设置外设部件互联接口模块、协议转换模块以及内容存储模块,利用外设部件互联接口模块对在外部外设部件互联总线传输的物理层数据以及内部的处理层数据包进行转换,利用协议转换模块将处理层数据包转换为适用于内容存储模块操作请求、待写入数据以及键值,并利用协议转换模块将内容存储模块产生的响应数据封装为处理层数据包,从而避免了对外设部件互联总线中的物理层数据以及内容存储模块专用的串行数据包进行相互转换,并且无需采用功耗很大的FPGA芯片,因此可有效缩减处理时间,并且降低功耗及成本。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是现有技术中采用FPGA芯片进行协议转换的内容查找系统的系统结构示意图;
图2是本发明实施例提供的一种基于外设部件互联总线的内容查找芯片的模块结构示意图;
图3是外设部件互联体系中的数据转换层数据包的包头数据格式示意图。
图4是本发明实施例提供的一种基于外设部件互联总线的内容查找系统的系统结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参见图2,图2是本发明实施例提供的一种基于外设部件互联总线的内容查找芯片的模块结构示意图,如图2所示,本发明第一实施例提供了一种基于外设部件互联总线的内容查找芯片,该内容查找芯片包括外设部件互联接口模块201、协议转换模块202以及内容存储模块203。协议转换模块201通过并行总线205与第一外设部件互联接口模块201连接,内容存储模块203与协议转换模块202通过指令总线206、数据总线207进行连接,其中:第一外设部件互联接口模块201通过外设部件互联总线204从外部设备(图2未绘示,于下文中会介绍)获取第一处理层数据包;协议转换模块202通过并行总线205从第一外设部件互联接口模块201获取第一处理层数据包,对第一处理层数据包进行解析并转换为能够被内容存储模块203识别的操作请求和数据;内容存储模块203用于存储内容,并根据操作请求进行操作并返回操作响应数据;指令总线206用于传输操作请求;数据总线207,用于传输数据。
内容查找芯片20设置有第一外设部件互联接口模块201、协议转换模块202以及内容存储模块203,利用第一外设部件互联接口模块201从外设部件互联总线204获取第一处理层数据包并通过并行总线205传输至协议转换模块202,利用协议转换模块202将第一处理层数据包转换为能够被内容存储模块203识别的操作请求与数据并发送至内容存储模块203,其中,内容存储模块可以识别的操作请求和数据包括基于二进制形式的操作请求和数据,协议转换模块202的处理避免了现有技术中通过FPGA芯片对在外设部件互联总线中传输的物理层数据内容与存储器芯片所专用的串行数据包进行数据格式转换,因此可有效缩减处理时间、降低功耗及成本。
在一种情形下,数据总线207可以包括键值总线2071与查找结果返回总线2072,键值总线2071用于当操作请求为查找操作请求时,传输待查找的内容的键值;查找结果返回总线2072,用于传输内容存储模块根据查找操作请求进行查找后返回的查找结果,查找结果包括待查找内容的存储地址,另外,查找结果返回总线2072也可传输内容存储模块203根据操作请求进行操作并的返回操作响应数据。当然可以理解的是,数据总线207除了可以包括键值总线2071与查找结果返回总线2072之外,还可以包括用于传输向所述写入数据的其他数据总线。
在一种情形下,当从内容查找芯片向外部设备输出数据时,内容存储模块203还用于通过查找结果返回总线2072将操作响应数据发送至协议转换模块202;协议转换模块202还用于将操作响应数据封装为第二处理层数据包并通过并行总线发送至第一外设部件互联接口模块201,第一外设部件互联接口模块201将第二处理层数据包转换为第二处理层数据并发送至外设部件互联总线204。
因此,本发明的内容查找芯片20更可通过上述方式将内容存储模块203产生的操作响应数据传输至外设部件互联总线204。
具体而言,内容存储模块203包括CAM存储器以及TCAM存储器,其中,CAM存储器以及TCAM存储器一般设置有指令总线接口、数据总线接口,因此,协议转换模块202可通过指令总线206与上述指令总线接口进行电路连接、通过数据总线与上述数据总线接口连接,以实现指令总线206传输操作指令至CAM存储器或TCAM存储器、数据总线207与CAM存储器或TCAM存储器之间进行数据传输的功能。
通常外设部件互联体系定义了3层结构,分别是物理层、数据链路层和处理层,具体而言,在本发明实施例中,第一外设部件互联接口模块201包括处理层控制模块、数据链路层控制模块以及物理层控制模块。物理层控制模块从外设部件互联总线204获取第一物理层数据,数据链路层控制模块将第一物理层数据转换为第一数据链路层数据,处理层控制模块将第一数据链路层数据封装为第一处理层数据包。
并且,处理层控制模块通过并行总线205获取第二处理层数据包,数据链路层控制模块将第二处理层数据包转换为第二数据链路层数据,处理层控制模块将第二物理层数据转换为第二物理层数据并发送至外设部件互联总线204。
在外设部件互联体系中,处理层数据包(即TLP数据包,TranslationLayerPacket)定义为处理层上传输的基本数据包。它主要包括三部分:处理层数据包包头(TLPHeader)、负载数据(DataPayload)及侦错码(TLPDigest),其中,处理层数据包包头的格式如图3所示。
如图3所示,在外设部件互联体系中,包头的Fmt字段和Type字段定义TLP数据包(即第一数据转换层数据包)的操作类型如下表所示:
TLP数据包类型 | Fmt字段 | Type字段 | TLP数据包表示的操作类型 |
MRd | 00或01 | 00000 | 读取存储器请求 |
MRdLk | 00或01 | 00001 | 读取存储器请求锁定 |
MWr | 1011 | 00000 | 存储器写入请求 |
IORd | 00 | 00010 | I/O读取请求 |
IOWr | 10 | 00010 | I/O写入请求 |
CfgRd0 | 00 | 00100 | 寄存器读取类型0 |
CfgWr0 | 10 | 00100 | 寄存器写入类型0 |
CfgRd1 | 00 | 00101 | 寄存器读取类型1 |
CfgWr1 | 10 | 00101 | 寄存器写入类型1 |
TCfgRd | 00 | 11011 | 弃用TLP类型3 |
TCfgWr | 10 | 11011 | 弃用TLP类型3 |
在本发明中,协议转换模块202将TLP数据包表示的操作类型转换为对内容存储模块203的操作请求,具体地,协议转换模块202根据第一处理层数据包的包头中的Fmt字段以及Type字段产生能够被内容存储模块203识别的操作请求,该操作请求可以包括表项读取请求、表项写入请求、寄存器读取请求、表项删除请求或内容查找请求。具体的:
当协议转换模块202在检测到第一处理层数据包的包头中的Fmt字段为00或01以及Type字段为00000时,产生表项读取请求,其中,该表项读取请求对应于TLP数据包(即第一处理层数据包)表示的读取存储器请求;
当协议转换模块202在检测到第一处理层数据包的包头中的Fmt字段为10或11以及Type字段为00001时,产生表项写入请求,其中,该表项写入请求对应于TLP数据包(即第一处理层数据包)表示的存储器写入请求;
当协议转换模块202在检测到第一处理层数据包的包头中的Fmt字段为00以及Type字段为00100时,产生寄存器读取请求,其中,该寄存器读取请求对应于TLP数据包(即第一处理层数据包)表示的寄存器读取类型0;
当协议转换模块202在检测到第一处理层数据包的包头中的Fmt字段为10以及Type字段为00100时,产生寄存器写入请求,其中,该寄存器写入请求对应于TLP数据包(即第一处理层数据包)表示的寄存器写入类型0;
当协议转换模块202在检测到第一处理层数据包的包头中的Fmt字段为10以及Type字段为00101时,产生表项删除请求,其中,该表项删除请求对应于TLP数据包(即第一处理层数据包)表示的寄存器写入类型1;
当协议转换模块202在检测到第一处理层数据包的包头中的Fmt字段为00以及Type字段为00010时,产生内容查找请求,其中,该内容查找请求对应于TLP数据包(即第一处理层数据包)表示的I/O读取请求。
另外,协议转换模块202可在处理层的负载数据(DataPayload)部分获取进行对应操作时所需的待写入数据以及键值。
因此,协议转换模块202可根据以上所介绍的转换方式将第一处理层数据包表示的操作类型转换为针对内容存储模块203的操作请求。其中,协议转换模块202可利用各种逻辑电路模块(如与非门等)或者内嵌处理器来实现。
并且,内容存储模块203通过指令总线206、数据总线207与协议转换模块202连接,通过指令总线206获取操作请求、通过数据总线207获取数据,根据操作请求以及数据对内容存储模块203进行对应操作并产生操作响应数据。具体而言,数据总线207包括键值总线2071、查找结果返回总线2072,待写入数据、键值通过键值总线2071输入内容存储模块203,内容存储模块203根据操作请求、待写入数据以及键值进行表项读取操作、表项写入操作、寄存器读取操作、表项删除操作或内容查找操作,并将上述操作所产生的操作响应数据通过查找结果返回总线2072输入至协议转换模块202,协议转换模块202将操作响应数据转换为第二处理层数据包并输入至第一外设部件互联接口模块201,第一外设部件互联接口模块201的处理层控制模块将第二处理层数据包转换为第二数据链路层数据,数据链路层控制模块将第二数据链路层数据转换为第二物理层数据并输出至外设部件互联总线204。
值得注意的是,现有可获得的内容存储模块均保留有上述的指令总线接口、键值总线接口、查找结果返回总线接口或其他能够实现传输数据、操作指令、键值以及返回结果等功能的并行接口。因此,内容存储模块203的上述接口通过指令总线206、键值总线2071、查找结果返回总线2072与协议转换模块202连接,可直接获取到协议转换模块202根据处理层数据包转换的表项读取请求、表项写入请求、寄存器读取请求、表项删除请求、内容查找请求、待写入数据或键值,从而可以根据表项读取请求对存储的内容进行表项读取,根据表项写入请求对内容进行表项写入,根据寄存器读取请求读取寄存器,根据表项删除请求对内容进行表项删除或者根据内容查找请求对内容进行查找,其中,以上操作所需的待写入数据或键值可从键值总线2071获得。
本发明实施例中,由于内容存储模块203直接受控于协议转换模块202,且协议转换模块202可从处理层数据包中解析出操作请求以及进行对应操作时所需的待写入数据或键值,因此本发明的内容查找芯片20相对于现有技术方案一而言,无需将处理层数据包转换为串行数据包,再从串行数据包解析出表项读取请求、表项写入请求、寄存器读取请求、表项删除请求、内容查找请求、待写入数据或键值等数据。并且,无需采用功耗很大的FPGA芯片,从而可有效缩减处理时间,并且降低功耗及成本。
另外,本发明实施例的内容查找芯片20主要由硬件实现对内容存储模块203的操作,其处理速度相对于软件处理方法而言更加快速。
在操作请求为表项读取请求时,内容存储模块203从指令总线206获取到表项读取请求后,根据该表项读取请求在内部进行表项读取操作,并产生包括表项读取结果的响应数据,并利用查找结果返回总线209将包括表项读取结果的操作响应数据发送至协议转换模块202。另外,内容存储模块203更可在键值总线2071中获取到表项读取操作中所需的数据及键值,其中,该数据及键值存储于处理层数据包的负载数据(DataPayload)部分。
同理,内容存储模块203从指令总线206获取到表项写入请求、寄存器读取请求、表项删除请求或内容查找请求后,根据对应请求在内部进行对应的操作,并产生包括对应操作结果的响应数据,并利用查找结果返回总线209将包括对应操作结果的操作响应数据发送至协议转换模块202。在必要时,内容存储模块203更可在键值总线2071中获取到操作中所需的数据及键值,其中,该数据及键值存储于处理层数据包的负载数据(DataPayload)部分。
上述的操作响应数据包括表项读取结果、表项写入结果、寄存器读取结果、寄存器写入结果、表项删除结果、内容查找结果。
本发明实施例进一步揭示一种基于外设部件互联总线的内容查找系统,以下请参见图4,图4是对本发明实施例提供的基于外设部件互联总线的内容查找系统的系统结构示意图。
如图4所示,本发明的基于外设部件互联总线的内容查找系统,包括:处理器芯片40以及图2所述的基于外设部件互联总线的内容查找芯片20。
处理器芯片40设置有第二外设部件互联接口模块401。第二外设部件互联接口模块401通过外设部件互联总线204与第一外设部件互联接口模块201连接。
处理器芯片举例而言可为X86系列处理器芯片或ARM系列处理器芯片。
其中,第二外设部件互联接口模块401通过外设部件互联总线204发送第一物理层数据,第一外设部件互联接口模块201从外设部件互联总线204获取第一物理层数据转换为第一传输层数据。第一外设部件互联接口模块201将第二传输层数据转换为第二物理层数据并发送至外设部件互联总线204,第二外设部件互联接口模块401通过外设部件互联总线204获取第二物理层数据并进行对应处理,从而实现了处理器芯片40与内容查找芯片30之间的通信。
因此,本发明实施例的一种基于外设部件互联总线的内容查找芯片及系统通过设置外设部件互联接口模块、协议转换模块以及内容存储模块,利用外设部件互联接口模块对在外部外设部件互联总线传输的物理层数据以及内部的处理层数据包进行转换,利用协议转换模块将处理层数据包转换为适用于内容存储模块操作请求、待写入数据以及键值,并利用协议转换模块将内容存储模块产生的响应数据封装为处理层数据包,从而避免了对外设部件互联总线中的物理层数据以及内容存储模块专用的串行数据包进行相互转换,并且无需采用功耗很大的FPGA芯片,因此可有效缩减处理时间,并且降低功耗及成本。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个设备中,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部,模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (8)
1.一种内容查找芯片,其特征在于,包括第一外设部件互联接口模块、协议转换模块以及内容存储模块,所述协议转换模块通过并行总线与所述第一外设部件互联接口模块连接,所述内容存储模块与所述协议转换模块通过指令总线、数据总线进行连接,其中:
所述第一外设部件互联接口模块,用于通过外设部件互联总线从外部设备获取第一物理层数据,将所述第一物理层数据转换为第一处理层数据包;
所述协议转换模块,用于通过所述并行总线从所述第一外设部件互联接口模块获取所述第一处理层数据包,对所述第一处理层数据包进行解析并转换为能够被所述内容存储模块识别的操作请求和数据;
所述内容存储模块,用于存储内容,并根据所述操作请求进行操作并返回操作响应数据;
所述协议转换模块通过所述指令总线传输所述操作请求至所述内容存储模块的指令总线接口;
所述协议转换模块通过所述数据总线传输所述数据至所述内容存储模块的键值总线接口。
2.根据权利要求1所述的内容查找芯片,其特征在于,所述数据总线包括:
键值总线,用于当所述操作请求为查找操作请求时,传输待查找的内容的键值;
查找结果返回总线,用于传输所述内容存储模块根据所述查找操作请求进行查找后返回的查找结果,所述查找结果包括所述待查找内容的存储地址。
3.根据权利要求2所述的内容查找芯片,其特征在于:
所述内容存储模块,还用于通过所述查找结果返回总线将所述操作响应数据发送至所述协议转换模块;
所述协议转换模块,还用于将所述操作响应数据封装为第二处理层数据包并通过所述并行总线发送至所述第一外设部件互联接口模块,所述第一外设部件互联接口模块将所述第二处理层数据包转换为第二物理层数据并发送至所述外设部件互联总线。
4.根据权利要求1所述的内容查找芯片,其特征在于,所述协议转换模块根据所述第一处理层数据包的包头中的Fmt字段以及Type字段产生对应的操作请求。
5.根据权利要求4所述的内容查找芯片,其特征在于,所述操作请求包括内容查找请求、表项读取请求、表项写入请求、寄存器读取请求、寄存器写入请求或表项删除请求。
6.根据权利要求5所述的内容查找芯片,其特征在于:
所述协议转换模块在检测到所述第一处理层数据包的包头中的Fmt字段为00以及Type字段为00010时,产生所述内容查找请求;
所述协议转换模块在检测到所述第一处理层数据包的包头中的Fmt字段为00或01以及Type字段为00000时,产生所述表项读取请求;
所述协议转换模块在检测到所述第一处理层数据包的包头中的Fmt字段为10或11以及Type字段为00001时,产生所述表项写入请求;
所述协议转换模块在检测到所述第一处理层数据包的包头中的Fmt字段为00以及Type字段为00100时,产生所述寄存器读取请求;
所述协议转换模块在检测到所述第一处理包的包头中的Fmt字段为10以及Type字段为00100时,产生所述寄存器写入请求;
所述协议转换模块在检测到所述第一处理层数据包的包头中的Fmt字段为10以及Type字段为00101时,产生所述表项删除请求。
7.一种内容查找系统,其特征在于,所述内容查找系统包括权利要求1至6任一项所述的内容查找芯片,所述内容查找系统进一步包括:
处理器芯片,所述处理器芯片设置有第二外设部件互联接口模块,所述第二外设部件互联接口模块通过所述外设部件互联总线与所述第一外设部件互联接口模块连接。
8.根据权利要求7所述的内容查找系统,其特征在于,所述处理器芯片为X86系列处理器芯片或ARM系列处理器芯片。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210519718.2A CN103034602B (zh) | 2012-12-06 | 2012-12-06 | 一种基于外设部件互联总线的内容查找芯片及系统 |
PCT/CN2013/086543 WO2014086219A1 (zh) | 2012-12-06 | 2013-11-05 | 一种基于外设部件互联总线的内容查找芯片及系统 |
US14/708,791 US9342629B2 (en) | 2012-12-06 | 2015-05-11 | Content searching chip based protocol conversion |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210519718.2A CN103034602B (zh) | 2012-12-06 | 2012-12-06 | 一种基于外设部件互联总线的内容查找芯片及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103034602A CN103034602A (zh) | 2013-04-10 |
CN103034602B true CN103034602B (zh) | 2015-11-25 |
Family
ID=48021510
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210519718.2A Active CN103034602B (zh) | 2012-12-06 | 2012-12-06 | 一种基于外设部件互联总线的内容查找芯片及系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9342629B2 (zh) |
CN (1) | CN103034602B (zh) |
WO (1) | WO2014086219A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103034602B (zh) | 2012-12-06 | 2015-11-25 | 华为技术有限公司 | 一种基于外设部件互联总线的内容查找芯片及系统 |
CN106372014A (zh) * | 2016-08-25 | 2017-02-01 | 天津市英贝特航天科技有限公司 | 一种pcie总线转换cpci总线的实现方法 |
CN114008601B (zh) * | 2019-06-19 | 2023-11-10 | 三菱电机株式会社 | 命令变换装置、方法及记录介质 |
CN113157609A (zh) * | 2021-04-20 | 2021-07-23 | 北京达佳互联信息技术有限公司 | 存储系统、数据处理方法、装置、电子设备及存储介质 |
CN113971143B (zh) * | 2021-10-22 | 2023-12-05 | 展讯半导体(成都)有限公司 | 一种内存控制器、物联网芯片及电子设备 |
CN114710237B (zh) * | 2022-03-25 | 2024-01-26 | 湖南鼎一致远科技发展有限公司 | 通讯接口的数据处理方法、装置、电子设备及存储介质 |
CN115292237B (zh) * | 2022-10-09 | 2022-12-20 | 中科声龙科技发展(北京)有限公司 | 一种芯片及其数据传输方法 |
CN117370231B (zh) * | 2023-12-07 | 2024-04-12 | 芯动微电子科技(武汉)有限公司 | 实现gpu核内片上网络总线访问的协议转换模块及方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7185172B1 (en) * | 2003-10-31 | 2007-02-27 | Integrated Device Technology, Inc. | CAM-based search engine devices having index translation capability |
CN101635747A (zh) * | 2008-07-24 | 2010-01-27 | 信息产业部电信传输研究所 | 非ptdn网络与ptdn网络的网间地址解析装置 |
CN102291472A (zh) * | 2011-09-09 | 2011-12-21 | 华为数字技术有限公司 | 一种网络地址查找方法及装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US2010025A (en) * | 1932-12-14 | 1935-08-06 | Carborundum Co | Floor surface |
US6961796B2 (en) * | 2001-07-26 | 2005-11-01 | Hewlett-Packard Development Company, L.P. | Extendable bus interface |
US7246191B2 (en) * | 2005-03-31 | 2007-07-17 | Intel Corporation | Method and apparatus for memory interface |
US8762595B1 (en) * | 2005-04-05 | 2014-06-24 | Oracle America, Inc. | Method for sharing interfaces among multiple domain environments with enhanced hooks for exclusiveness |
CN101217468A (zh) * | 2007-12-28 | 2008-07-09 | 华为技术有限公司 | 路由查表系统、三态内容寻址存储器和网络处理器 |
CN101221538B (zh) * | 2008-01-24 | 2010-10-13 | 杭州华三通信技术有限公司 | 实现对缓存中数据快速查找的系统和方法 |
CN101833424B (zh) | 2010-03-26 | 2013-07-10 | 中国科学院光电技术研究所 | 基于fpga的高速存储与传输装置 |
CN103034602B (zh) * | 2012-12-06 | 2015-11-25 | 华为技术有限公司 | 一种基于外设部件互联总线的内容查找芯片及系统 |
-
2012
- 2012-12-06 CN CN201210519718.2A patent/CN103034602B/zh active Active
-
2013
- 2013-11-05 WO PCT/CN2013/086543 patent/WO2014086219A1/zh active Application Filing
-
2015
- 2015-05-11 US US14/708,791 patent/US9342629B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7185172B1 (en) * | 2003-10-31 | 2007-02-27 | Integrated Device Technology, Inc. | CAM-based search engine devices having index translation capability |
CN101635747A (zh) * | 2008-07-24 | 2010-01-27 | 信息产业部电信传输研究所 | 非ptdn网络与ptdn网络的网间地址解析装置 |
CN102291472A (zh) * | 2011-09-09 | 2011-12-21 | 华为数字技术有限公司 | 一种网络地址查找方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
US9342629B2 (en) | 2016-05-17 |
WO2014086219A1 (zh) | 2014-06-12 |
CN103034602A (zh) | 2013-04-10 |
US20150242535A1 (en) | 2015-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103034602B (zh) | 一种基于外设部件互联总线的内容查找芯片及系统 | |
CN101853237B (zh) | 片上系统及axi总线下的传输方法 | |
CN105721357A (zh) | 交换设备、外围部件互连高速系统及其初始化方法 | |
CN101770442A (zh) | 具有多个外设接口的数据交互系统和方法 | |
CN101937412B (zh) | 一种片上系统及其访问方法 | |
CN103873324A (zh) | 一种通用总线测试系统 | |
CN107967194B (zh) | 一种基于冗余以太网的安全计算机系统 | |
KR102350379B1 (ko) | 복수의 칩 사이의 통신 지원 방법, 장치, 전자 기기 및 컴퓨터 저장 매체 | |
CN103873489A (zh) | 具有PCIe接口的装置共享系统及方法 | |
CN110502799B (zh) | 一种芯片引脚自动化配置方法与装置 | |
CN104298579A (zh) | 一种逻辑芯片以及包含该逻辑芯片的板卡装置 | |
CN103927233A (zh) | 多节点内存互联装置及一种大规模计算机集群 | |
CN104714907A (zh) | 一种pci总线转换为isa和apb总线设计方法 | |
CN105359122A (zh) | 多cpu系统中的增强型数据传输 | |
US7206889B2 (en) | Systems and methods for enabling communications among devices in a multi-cache line size environment and disabling communications among devices of incompatible cache line sizes | |
US11132313B2 (en) | Data conversion control apparatus, memory device and memory system | |
US9449714B2 (en) | Flexible interrupt generation mechanism | |
US11082327B2 (en) | System and method for computational transport network-on-chip (NoC) | |
CN1142499C (zh) | 利用片上总线传输数据的装置和方法 | |
CN103389923A (zh) | 随机存储器访问总线ecc校验装置 | |
CN104836710A (zh) | 一种基于分布式系统一主多从通信的方法与装置 | |
CN104834644A (zh) | 一种自搜索存储装置 | |
CN111159070B (zh) | 基于ahb总线的标记压缩系统和片上系统 | |
CN103389924A (zh) | 应用于随机存储器的ecc存储系统 | |
US11042497B2 (en) | Communication between field programmable gate arrays |
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 |