CN106375249B - 交换芯片的控制方法及控制系统 - Google Patents
交换芯片的控制方法及控制系统 Download PDFInfo
- Publication number
- CN106375249B CN106375249B CN201610842213.8A CN201610842213A CN106375249B CN 106375249 B CN106375249 B CN 106375249B CN 201610842213 A CN201610842213 A CN 201610842213A CN 106375249 B CN106375249 B CN 106375249B
- Authority
- CN
- China
- Prior art keywords
- pointer
- information
- memory
- queue
- vector registor
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
- H04L49/109—Integrated on microchip, e.g. switch-on-chip
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供的一种交换芯片的控制方法及控制系统,所述交换芯片包括:多个独立维护的存储单元,所述存储单元包括:信息存储器、空闲指针存储器、指针信息存储器、尾指针存储器、头指针存储器、首信息指针存储器、空指示标志向量寄存器、首信息标志向量寄存器;其中,所述空指示标志向量寄存器的宽度以及所述首信息标志向量寄存器的宽度均等于队列的个数。本发明的交换芯片的控制方法及控制系统,减少了存储器端口的数量,降低了控制逻辑复杂度,节省了芯片面积,并利于芯片后端实现。
Description
技术领域
本发明涉及网络通信领域,尤其涉及一种交换芯片的控制方法及控制系统。
背景技术
近年来,随着智能手机和移动互联网的普及,以及大数据、云计算的出现和运用,互联网迎来了加速度裂变式的新一轮革命;这场变革加速了核心交换机特别是数据中心交换机的端口带宽的演进,出现了10Gbps、40Gbps、100Gbps等许多高速端口,从而对交换机芯片内部处理带宽提出了严峻的要求;同时,随着互联网应用范围的不断扩大,支持的服务类型越来越多,从而要求核心交换芯片满足不同层次的QoS需求(QoS为Quality of Service的简称,中文译文为:服务质量)。为此,交换芯片往往需要将报文分发到多个队列进行调度处理。
图1所示为一般队列管理逻辑的结构图;为了满足出端口的高带宽,队列信息存储逻辑需要对不同队列的报文信息(以下简称信息)进行高速存取;一般采用链表的方式灵活地为不同队列分配存储器的存储地址;每个队列维护一个链表;要实现信息的高速存取,需要采用流水线的架构,同时必须保证在芯片的每个时钟周期都能同时读写信息。
结合图2所示,现有技术中,一种交换芯片数据架构图,包括:信息存储器,用于存储经过所述交换芯片的报文的转发信息;空闲指针存储器,用于存储信息存储器中未被使用的指针;指针信息存储器,用于存储各个相互链接的指针;以及队列链表存储器,用于存储各个队列的链表信息,包括:头指针信息、尾指针信息以及空指示标志;其中,所述指针信息存储器与信息存储器的条目相等;所述链接表示:信息存储器中存储属于同一个队列在时间顺序上相邻的两个信息的任意地址之间所构成的逻辑联系,所述链表表示,信息存储器中相互链接的所有地址所组成数据结构,一个链表地址所存储的信息属于同一个队列;信息表示:固定长度的一段数据,可以分成多个字段,包含与报文转发相关的某些处理信息;指针表示,信息在存储器中的存储地址;头指针表示当前队列中最早存入信息存储器,即下一个即将被读出的信息所在的地址;尾指针表示当前队列最后存入信息存储器的地址;空指示标志:若其对应的队列标识为使能,则表示所述队列没有信息存储在信息存储器中;反之,表示一个队列有信息存储在信息存储器中。
针对现有技术的交换芯片,读写过程中,均需要访问队列链表存储器,并对其相应的参数进行修改。对于现有的交换芯片,要满足同一个时钟周期同时执行1个入队列信息存储和1个出队列信息读取的操作,需要同时对队列链表存储器执行2次读操作和2次写操作;因此,队列链表存储器需要2个读端口和2个写端口,即要设计成2读2写的存储器,进一步的,如果要满足同一个时钟周期同时执行2个入队列信息存储和2个出队列读取的操作,由于需要同时对队列链表存储器执行4次读操作和4次写操作,如此,需要4读4写的存储器才能满足需求,现今的工艺还没有4读4写的存储器,只能采用特殊存储结构,其控制逻辑更为复杂,同时,相比2读2写的存储器面积会更大,同时也会带来后端布局布线拥塞的问题。
发明内容
为解决上述技术问题,本发明的目的在于提供一种交换芯片的控制方法及控制系统。
为实现上述发明目的之一,本发明一实施方式提供的交换芯片包括:信息存储器,用于存储经过所述交换芯片的报文的转发信息;
空闲指针存储器,用于存储所述信息存储器中未被使用的地址;
指针信息存储器,用于存储各个相互链接的指针;
尾指针存储器,用于存储队列的尾指针;
头指针存储器,用于存储对转发信息执行读取操作时所维护的队列头指针;
首信息指针存储器,用于存储转发信息写入所述交换芯片过程中所维护队列的首信息指针;
空指示标志向量寄存器,用于维护每个队列的空指示标志;
首信息标志向量寄存器,用于记录每个队列的首信息是否有效;
其中,所述空指示标志向量寄存器的宽度以及所述首信息标志向量寄存器的宽度均等于队列的个数。为实现上述发明目的之一,本发明一实施方式提供的交换芯片的控制方法包括:转发信息写入所述交换芯片过程中,
获取转发信息的输入队列号及所述输入队列号对应的信息;
查询所述空闲指针存储器,获取空闲指针作为写指针;
将所述转发信息写入所述信息存储器对应所述写指针的地址中;
依据所述输入队列号调取所述空指示标志向量寄存器中相应的使能标识,
根据所述空指示标志向量寄存器中相应的使能状态标识修改所述存储单元中的参数。
作为本发明一实施方式的进一步改进,“根据所述空指示标志向量寄存器中相应的使能状态标识修改所述存储单元中的参数”具体包括:
若所述空指示标志向量寄存器对应当前输入队列号的使能标识为使能状态,
则将首信息标志向量寄存器中对应当前输入队列的使能标识修改为使能,将写指针写入至首信息指针存储器对应当前输入队列号的地址中,并将所述空指示标志向量寄存器对应的当前输入队列号的使能标识修改为非使能;
同时,将所述写指针写入所述尾指针寄存器对应当前输入队列号的地址中;
若所述空指示标志向量寄存器对应当前输入队列号的使能标识为非使能状态,
则依据所述输入队列号调取其在所述尾指针存储器中对应尾指针的地址;
将所述写指针写入所述指针信息寄存器对应所述尾指针的地址中;同时,将所述写指针写入所述尾指针寄存器对应当前输入队列号的地址中。
为实现上述发明目的之一,本发明一实施方式提供的交换芯片的控制方法包括:所述方法包括:
转发信息从所述交换芯片读出过程中,
获取转发信息的输出队列号及所述输出队列号对应的信息;
实时获取所述首信息标志向量寄存器对应当前输出队列的使能状态标识,并根据其读取当前输出队列号对应的读指针;
调取所述信息存储器对应所述读指针中的转发信息,并释放所述读指针。
作为本发明一实施方式的进一步改进,“实时获取所述首信息标志向量寄存器对应当前输出队列的使能状态标识,并根据其读取当前输出队列号对应的读指针”具体包括:
若所述首信息标志向量寄存器对应当前输出队列号的使能标识为使能状态,
则依据所述输出队列号调取其所在首信息指针寄存器中对应的首信息指针作为读指针,并将所述首信息标志向量寄存器对应的当前输出队列号的使能标识修改为非使能;
若所述首信息标志向量寄存器对应当前输出队列号的使能标识为非使能状态,
则依据所述输出队列号调取其所在头指针存储器中对应的队列头指针作为读指针。
作为本发明一实施方式的进一步改进,转发信息从所述交换芯片读出过程中,所述方法还包括:
每次获取所述读指针后,依据所述输出队列号调取其在所述尾指针存储器中的对应尾指针;
判断所述尾指针和所述读指针是否相同,
若是,将所述空指示标志向量寄存器对应的当前输出队列号的使能标识修改为使能;
若否,依据所述读指针从所述指针信息存储器读取与当前所述读指针相邻的下一个读指针;
将获得的下一读指针写入至所述头指针存储器对应的当前输出队列号中。
为实现上述发明目的之一,本发明一实施方式提供的交换芯片的控制系统包括:所述系统包括:
存储模块,用于存储各个存储单元;
输入数据获取模块,用于将转发信息写入所述交换芯片过程中,获取转发信息的输入队列号及所述输入队列号对应的信息;
输入数据查询处理模块,用于查询所述空闲指针存储器,获取空闲指针作为写指针;
将所述转发信息写入所述信息存储器对应所述写指针的地址中;
依据所述输入队列号调取所述空指示标志向量寄存器中相应的使能标识,
根据所述空指示标志向量寄存器中相应的使能状态标识修改所述存储单元中的参数。
作为本发明一实施方式的进一步改进,所述输入数据查询处理模块具体用于:
若所述空指示标志向量寄存器对应当前输入队列号的使能标识为使能状态,
则将首信息标志向量寄存器中对应当前输入队列的使能标识修改为使能,将写指针写入至首信息指针存储器对应当前输入队列号的地址中,并将所述空指示标志向量寄存器对应的当前输入队列号的使能标识修改为非使能;
同时,将所述写指针写入所述尾指针寄存器对应当前输入队列号的地址中;
若所述空指示标志向量寄存器对应当前输入队列号的使能标识为非使能状态,
则依据所述输入队列号调取其在所述尾指针存储器中对应尾指针的地址;
将所述写指针写入所述指针信息寄存器对应所述尾指针的地址中;同时,将所述写指针写入所述尾指针寄存器对应当前输入队列号的地址中。
为实现上述发明目的之一,本发明一实施方式提供的交换芯片的控制系统包括:所述系统包括:
存储模块,用于存储各个存储单元;
输出数据获取模块,用于将转发信息从所述交换芯片读出过程中,
获取转发信息的输出队列号及所述输出队列号对应的信息;
输出数据查询处理模块,用于实时获取所述首信息标志向量寄存器对应当前输出队列的使能状态标识,并根据其读取当前输出队列号对应的读指针;
调取所述信息存储器对应所述读指针中的转发信息,并释放所述读指针。
作为本发明一实施方式的进一步改进,所述输出数据查询处理模块具体用于:
若所述首信息标志向量寄存器对应当前输出队列号的使能标识为使能状态,
则依据所述输出队列号调取其所在首信息指针寄存器中对应的首信息指针作为读指针,并将所述首信息标志向量寄存器对应的当前输出队列号的使能标识修改为非使能;
若所述首信息标志向量寄存器对应当前输出队列号的使能标识为非使能状态,
则依据所述输出队列号调取其所在头指针存储器中对应的队列头指针作为读指针。
作为本发明一实施方式的进一步改进,所述输出数据查询处理模块还用于:
每次获取所述读指针后,依据所述输出队列号调取其在所述尾指针存储器中的对应尾指针;
判断所述尾指针和所述读指针是否相同,
若是,将所述空指示标志向量寄存器对应的当前输出队列号的使能标识修改为使能;
若否,依据所述读指针从所述指针信息存储器读取与当前所述读指针相邻的下一个读指针;
将获得的下一读指针写入至所述头指针存储器对应的当前输出队列号中。
与现有技术相比,本发明的交换芯片的控制方法及控制系统,通过对头指针、尾指针、首信息指针、空指示标志、首信息标志分别维护,减少了存储器端口的数量,降低了控制逻辑复杂度,节省了芯片面积,并利于芯片后端实现。
附图说明
图1是现有技术中队列管理的结构图;
图2是现有技术中交换芯片数据架构图;
图3是本发明一实施方式中交换芯片数据架构图;
图4是本发明一实施方式转发信息写入所述交换芯片的流程示意图;
图5是本发明一实施方式转发信息从所述交换芯片读出的流程示意图;
图6是本发明一实施方式中换芯片的控制系统的模块示意图。
具体实施方式
以下将结合附图所示的各实施方式对本发明进行详细描述。但这些实施方式并不限制本发明,本领域的普通技术人员根据这些实施方式所做出的结构、方法、或功能上的变换均包含在本发明的保护范围内。
如图3所示,本发明的交换芯片包括:多个独立维护的存储单元,所述存储单元包括:信息存储器10,用于存储经过所述交换芯片的报文的转发信息;空闲指针存储器11,用于存储所述信息存储器中未被使用的指针;指针信息存储器12,用于存储各个相互链接的指针;尾指针存储器13,用于存储队列的尾指针;头指针存储器14,用于存储对转发信息执行读取操作时所维护的队列头指针;首信息指针存储器15,用于存储转发信息写入所述交换芯片过程中所维护队列的首信息指针;空指示标志向量寄存器16,用于维护每个队列的空指示标志;首信息标志向量寄存器17,用于记录每个队列的首信息是否有效;其中,所述空指示标志向量寄存器的宽度以及所述首信息标志向量寄存器的宽度均等于队列的个数。
如上所述交换芯片,若需要满足在一个时钟周期同时对一个转发信息进行写入和一个转发信息进行读出的要求,首信息指针存储器仅需设计为1读1写,尾指针存储器设计为2读1写、头指针存储器设计为1读1写即可以满足需求,如此,避免了使用2读2写的存储器,减少了端口数目,节省了芯片面积;进一步的,若需要满足在一个时钟周期同时对2个转发信息进行写入和2个转发信息进行读出,仅需要对上述存储器进行扩展,将首信息指针存储器扩展为2读2写,尾指针存储器扩展为4读2写、头指针存储器扩展为2读2写即可以满足需求,相应的,由于避免了4读4写操作,以上数据结构都可以用存储器实现。所述存储器为芯片中用来存储数据的部件,一般用RAM(随机访问存储器)实现,因为RAM的密度比寄存器阵列高,而且后端提前优化,没有布局布线拥塞的问题。
结合图4所示,本发明一实施方式中提供的交换芯片的控制方法,所述方法包括:
S1、转发信息写入所述交换芯片过程中,
获取转发信息的输入队列号及所述输入队列号对应的信息。
数据报文通过所述交换芯片转发过程中,根据事先设定的规则,会选择交换机的其中一个通道进行转发并生成转发信息,对应每个通道均具有相应的队列号,同时,对于每一个报文,其自身也会携带相应的信息,例如:源地址、目标地址、转发路径、报头、报尾等。
S2、查询所述空闲指针存储器,获取空闲指针作为写指针,同时将读指针随读操作进行累加。
所述空闲指针的提取,可以按序提取,也可以按照一定的规则进行提取,在此不做详细赘述。
S3、将所述转发信息写入所述信息存储器对应所述写指针的地址中;
所述转发信息写入过程中,若其包含若干数据段,则各个数据段依次写入所述信息存储器中,同时,依据各个数据段的属性修改其他存储单元的参数,以下将会描述。
S4、依据所述输入队列号调取所述空指示标志向量寄存器中相应的使能标识,根据所述空指示标志向量寄存器中相应的使能状态标识修改所述存储单元中的参数。
本发明一实施方式中,所述步骤S4具体包括:
若所述空指示标志向量寄存器对应当前输入队列号的使能标识为使能状态,
则将首信息标志向量寄存器中对应当前输入队列的使能标识修改为使能,将写指针写入至首信息指针存储器对应当前输入队列号的地址中,并将所述空指示标志向量寄存器对应的当前输入队列号的使能标识修改为非使能;
同时,将所述写指针写入所述尾指针寄存器对应当前输入队列号的地址中;
若所述空指示标志向量寄存器对应当前输入队列号的使能标识为非使能状态,
则依据所述输入队列号调取其在所述尾指针存储器中对应尾指针的地址;
将所述写指针写入所述指针信息寄存器对应所述尾指针的地址中;同时,将所述写指针写入所述尾指针寄存器对应当前输入队列号的地址中。
本发明一具体实施方式中,所述使能和非使能以二进制数字“1”和“0”进行区分,即,当其标志位为“1”时,表示使能,当其标志位为“0”时,表示非使能,在此不做详细赘述。
结合图5所示,进一步的,所述方法还包括:
P1、转发信息从所述交换芯片读出过程中,
获取转发信息的输出队列号及所述输出队列号对应的信息;
P2、实时获取所述首信息标志向量寄存器对应当前输出队列的使能状态标识,并根据其读取当前输出队列号对应的读指针;
本发明一实施方式中,所述步骤P2具体包括:
若所述首信息标志向量寄存器对应当前输出队列号的使能标识为使能状态,
则依据所述输出队列号调取其所在首信息指针寄存器中对应的首信息指针作为读指针,并将所述首信息标志向量寄存器对应的当前输出队列号的使能标识修改为非使能;
若所述首信息标志向量寄存器对应当前输出队列号的使能标识为非使能状态,
则依据所述输出队列号调取其所在头指针存储器中对应的队列头指针作为读指针。
P3、调取所述信息存储器中对应所述读指针中的转发信息,并释放所述读指针。
释放所述读地址的方法为:将所述读指针写入空闲指针存储器,写指针随写操作累加。
进一步的,所述交换芯片读出过程中,所述方法还包括:
每次获取所述读地址后,均依据所述输出队列号调取其在所述尾指针存储器中的对应尾指针;
判断所述尾指针和所述读指针是否相同,
若是,将所述空指示标志向量寄存器对应的当前输出队列号的使能标识修改为使能;
若否,依据所述读指针从所述指针信息存储器读取与当前所述读地址相邻的下一个读指针;
将获得的下一读指针写入至所述头指针存储器对应的当前输出队列号中。
结合图6所示,本发明一实施方式中,交换芯片的控制系统包括:存储模块100、输入数据获取模块200、输入数据查询处理模块300、输出数据获取模块400、输出数据查询处理模块500。
存储模块100,用于存储各个存储单元,所述存储单元结合图3及上述内容所示,在此不做继续赘述。
输入数据获取模块200用于将转发信息写入所述交换芯片过程中,
获取转发信息的输入队列号及所述输入队列号对应的信息。
报文通过所述交换芯片转发过程中,根据事先设定的规则,会选择交换机的其中一个通道进行转发并生成转发信息,对应每个通道均具有相应的队列号,同时,对于每一个报文,其自身也会携带相应的信息,例如:源地址、目标地址、转发路径、报头、报尾等。
输入数据查询处理模块300用于查询所述空闲指针存储器,获取空闲指针作为写指针,同时将读指针随读操作进行累加。
所述空闲指针的提取,可以按序提取,也可以按照一定的规则进行提取,在此不做详细赘述。
进一步的,输入数据查询处理模块300还用于将所述转发信息写入所述信息存储器对应所述写指针的地址中;
所述转发信息写入过程中,若其包含若干数据段,则各个数据段依次写入所述信息存储器中,同时,依据各个数据段的属性修改其他存储单元的参数,以下将会描述。
进一步的,输入数据查询处理模块300还用于依据所述输入队列号调取所述空指示标志向量寄存器中相应的使能标识,根据所述空指示标志向量寄存器中相应的使能状态标识修改所述存储单元中的参数。
本发明一实施方式中,所述数据查询处理模块300具体用于:
若所述空指示标志向量寄存器对应当前输入队列号的使能标识为使能状态,
则将首信息标志向量寄存器中对应当前输入队列的使能标识修改为使能,将写指针写入至首信息指针存储器对应当前输入队列号的地址中,并将所述空指示标志向量寄存器对应的当前输入队列号的使能标识修改为非使能;
同时,将所述写指针写入所述尾指针寄存器对应当前输入队列号的地址中;
若所述空指示标志向量寄存器对应当前输入队列号的使能标识为非使能状态,
则依据所述输入队列号调取其在所述尾指针存储器中对应尾指针的地址;
将所述写指针写入所述指针信息寄存器对应所述尾指针的地址中;同时,将所述写指针写入所述尾指针寄存器对应当前输入队列号的地址中。
本发明一具体实施方式中,所述使能和非使能以二进制数字“1”和“0”进行区分,即,当其标志位为“1”时,表示使能,当其标志位为“0”时,表示非使能,在此不做详细赘述。
输出数据获取模块400用于将转发信息从所述交换芯片读出过程中,
获取转发信息的输出队列号及所述输出队列号对应的信息;
输出数据查询处理模块500用于实时获取所述首信息标志向量寄存器对应当前输出队列的使能状态标识,并根据其读取当前输出队列号对应的读指针;
本发明一实施方式中,所述输出数据查询处理模块500具体用于:
若所述首信息标志向量寄存器对应当前输出队列号的使能标识为使能状态,
则依据所述输出队列号调取其所在首信息指针寄存器中对应的首信息指针作为读指针,并将所述首信息标志向量寄存器对应的当前输出队列号的使能标识修改为非使能;
若所述首信息标志向量寄存器对应当前输出队列号的使能标识为非使能状态,
则依据所述输出队列号调取其所在头指针存储器中对应的队列头指针作为读指针。
输出数据查询处理模块500还用于调取所述信息存储器中对应所述读指针中的转发信息,并释放所述读指针。
释放所述读地址的方法为:将所述读指针写入空闲指针存储器,写指针随写操作累加。
进一步的,所述交换芯片读出过程中输出数据查询处理模块500还用于在每次获取所述读地址后,均依据所述输出队列号调取其在所述尾指针存储器中的对应尾指针;
判断所述尾指针和所述读指针是否相同,
若是,将所述空指示标志向量寄存器对应的当前输出队列号的使能标识修改为使能;
若否,依据所述读指针从所述指针信息存储器读取与当前所述读地址相邻的下一个读指针;
将获得的下一读指针写入至所述头指针存储器对应的当前输出队列号中。
综上所述,本发明的交换芯片的控制方法及控制系统,通过对头指针、尾指针、首信息指针、空指示标志、首信息标志分别维护,减少了存储器端口的数量,降低了控制逻辑复杂度,节省了芯片面积,并利于芯片后端实现。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本申请时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。
以上所描述的装置实施方式仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施方式方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施方式中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方式或变更均应包含在本发明的保护范围之内。
Claims (6)
1.一种交换芯片的控制方法,其特征在于,
所述交换芯片包括:多个独立维护的存储单元,所述存储单元包括:
信息存储器,用于存储经过所述交换芯片的报文的转发信息;
空闲指针存储器,用于存储所述信息存储器中未被使用的指针;
指针信息存储器,用于存储各个相互链接的指针;
尾指针存储器,用于存储队列的尾指针;
头指针存储器,用于存储对转发信息执行读取操作时所维护的队列头指针;
首信息指针存储器,用于存储转发信息写入所述交换芯片过程中所维护队列的首信息指针;
空指示标志向量寄存器,用于维护每个队列的空指示标志;
首信息标志向量寄存器,用于记录每个队列的首信息是否有效;
其中,所述空指示标志向量寄存器的宽度以及所述首信息标志向量寄存器的宽度均等于队列的个数;
所述方法包括:
转发信息写入所述交换芯片过程中,
获取转发信息的输入队列号及所述输入队列号对应的信息;
查询所述空闲指针存储器,获取空闲指针作为写指针;
将所述转发信息写入所述信息存储器对应所述写指针的地址中;
依据所述输入队列号调取所述空指示标志向量寄存器中相应的使能标识,
根据所述空指示标志向量寄存器中相应的使能状态标识修改所述存储单元中的参数;
若所述空指示标志向量寄存器对应当前输入队列号的使能标识为使能状态,则将首信息标志向量寄存器中对应当前输入队列的使能标识修改为使能,将写指针写入至首信息指针存储器对应当前输入队列号的地址中,并将所述空指示标志向量寄存器对应的当前输入队列号的使能标识修改为非使能;同时,将所述写指针写入所述尾指针寄存器对应当前输入队列号的地址中;
若所述空指示标志向量寄存器对应当前输入队列号的使能标识为非使能状态,则依据所述输入队列号调取其在所述尾指针存储器中对应尾指针的地址;
将所述写指针写入所述指针信息寄存器对应所述尾指针的地址中;同时,将所述写指针写入所述尾指针寄存器对应当前输入队列号的地址中。
2.一种交换芯片的控制方法,其特征在于,
所述交换芯片包括:多个独立维护的存储单元,所述存储单元包括:
信息存储器,用于存储经过所述交换芯片的报文的转发信息;
空闲指针存储器,用于存储所述信息存储器中未被使用的指针;
指针信息存储器,用于存储各个相互链接的指针;
尾指针存储器,用于存储队列的尾指针;
头指针存储器,用于存储对转发信息执行读取操作时所维护的队列头指针;
首信息指针存储器,用于存储转发信息写入所述交换芯片过程中所维护队列的首信息指针;
空指示标志向量寄存器,用于维护每个队列的空指示标志;
首信息标志向量寄存器,用于记录每个队列的首信息是否有效;
其中,所述空指示标志向量寄存器的宽度以及所述首信息标志向量寄存器的宽度均等于队列的个数;
所述方法包括:
转发信息从所述交换芯片读出过程中,
获取转发信息的输出队列号及所述输出队列号对应的信息;
实时获取所述首信息标志向量寄存器对应当前输出队列的使能状态标识,并根据首信息标志向量寄存器对应当前输出队列的使能状态标识读取当前输出队列号对应的读指针;
若所述首信息标志向量寄存器对应当前输出队列号的使能标识为使能状态,则依据所述输出队列号调取其所在首信息指针寄存器中对应的首信息指针作为读指针,并将所述首信息标志向量寄存器对应的当前输出队列号的使能标识修改为非使能;
若所述首信息标志向量寄存器对应当前输出队列号的使能标识为非使能状态,则依据所述输出队列号调取其所在头指针存储器中对应的队列头指针作为读指针;
调取所述信息存储器对应所述读指针中的转发信息,并释放所述读指针。
3.根据权利要求2所述的交换芯片的控制方法,转发信息从所述交换芯片读出过程中,所述方法还包括:
每次获取所述读指针后,依据所述输出队列号调取其在所述尾指针存储器中的对应尾指针;
判断所述尾指针和所述读指针是否相同,
若是,将所述空指示标志向量寄存器对应的当前输出队列号的使能标识修改为使能;
若否,依据所述读指针从所述指针信息存储器读取与当前所述读指针相邻的下一个读指针;
将获得的下一读指针写入至所述头指针存储器对应的当前输出队列号中。
4.一种交换芯片的控制系统,其特征在于,所述交换芯片包括:多个独立维护的存储单元,所述存储单元包括:
信息存储器,用于存储经过所述交换芯片的报文的转发信息;
空闲指针存储器,用于存储所述信息存储器中未被使用的指针;
指针信息存储器,用于存储各个相互链接的指针;
尾指针存储器,用于存储队列的尾指针;
头指针存储器,用于存储对转发信息执行读取操作时所维护的队列头指针;
首信息指针存储器,用于存储转发信息写入所述交换芯片过程中所维护队列的首信息指针;
空指示标志向量寄存器,用于维护每个队列的空指示标志;
首信息标志向量寄存器,用于记录每个队列的首信息是否有效;
其中,所述空指示标志向量寄存器的宽度以及所述首信息标志向量寄存器的宽度均等于队列的个数;
所述系统包括:
存储模块,用于存储各个存储单元;
输入数据获取模块,用于将转发信息写入所述交换芯片过程中,获取转发信息的输入队列号及所述输入队列号对应的信息;
输入数据查询处理模块,用于查询所述空闲指针存储器,获取空闲指针作为写指针;
将所述转发信息写入所述信息存储器对应所述写指针的地址中;
依据所述输入队列号调取所述空指示标志向量寄存器中相应的使能标识,
根据所述空指示标志向量寄存器中相应的使能状态标识修改所述存储单元中的参数;
若所述空指示标志向量寄存器对应当前输入队列号的使能标识为使能状态,则将首信息标志向量寄存器中对应当前输入队列的使能标识修改为使能,将写指针写入至首信息指针存储器对应当前输入队列号的地址中,并将所述空指示标志向量寄存器对应的当前输入队列号的使能标识修改为非使能;同时,将所述写指针写入所述尾指针寄存器对应当前输入队列号的地址中;
若所述空指示标志向量寄存器对应当前输入队列号的使能标识为非使能状态,则依据所述输入队列号调取其在所述尾指针存储器中对应尾指针的地址;
将所述写指针写入所述指针信息寄存器对应所述尾指针的地址中;同时,将所述写指针写入所述尾指针寄存器对应当前输入队列号的地址中。
5.一种交换芯片的控制系统,其特征在于,
所述交换芯片包括:多个独立维护的存储单元,所述存储单元包括:
信息存储器,用于存储经过所述交换芯片的报文的转发信息;
空闲指针存储器,用于存储所述信息存储器中未被使用的指针;
指针信息存储器,用于存储各个相互链接的指针;
尾指针存储器,用于存储队列的尾指针;
头指针存储器,用于存储对转发信息执行读取操作时所维护的队列头指针;
首信息指针存储器,用于存储转发信息写入所述交换芯片过程中所维护队列的首信息指针;
空指示标志向量寄存器,用于维护每个队列的空指示标志;
首信息标志向量寄存器,用于记录每个队列的首信息是否有效;
其中,所述空指示标志向量寄存器的宽度以及所述首信息标志向量寄存器的宽度均等于队列的个数;
所述系统包括:
存储模块,用于存储各个存储单元;
输出数据获取模块,用于将转发信息从所述交换芯片读出过程中,
获取转发信息的输出队列号及所述输出队列号对应的信息;
输出数据查询处理模块,用于实时获取所述首信息标志向量寄存器对应当前输出队列的使能状态标识,并根据所述首信息标志向量寄存器对应当前输出队列的使能状态标识读取当前输出队列号对应的读指针;
若所述首信息标志向量寄存器对应当前输出队列号的使能标识为使能状态,
则依据所述输出队列号调取其所在首信息指针寄存器中对应的首信息指针作为读指针,并将所述首信息标志向量寄存器对应的当前输出队列号的使能标识修改为非使能;
若所述首信息标志向量寄存器对应当前输出队列号的使能标识为非使能状态,
则依据所述输出队列号调取其所在头指针存储器中对应的队列头指针作为读指针;
调取所述信息存储器对应所述读指针中的转发信息,并释放所述读指针。
6.根据权利要求5所述的交换芯片的控制系统,其特征在于,所述输出数据查询处理模块还用于:
每次获取所述读指针后,依据所述输出队列号调取其在所述尾指针存储器中的对应尾指针;
判断所述尾指针和所述读指针是否相同,
若是,将所述空指示标志向量寄存器对应的当前输出队列号的使能标识修改为使能;
若否,依据所述读指针从所述指针信息存储器读取与当前所述读指针相邻的下一个读指针;
将获得的下一读指针写入至所述头指针存储器对应的当前输出队列号中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610842213.8A CN106375249B (zh) | 2016-09-22 | 2016-09-22 | 交换芯片的控制方法及控制系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610842213.8A CN106375249B (zh) | 2016-09-22 | 2016-09-22 | 交换芯片的控制方法及控制系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106375249A CN106375249A (zh) | 2017-02-01 |
CN106375249B true CN106375249B (zh) | 2019-10-01 |
Family
ID=57898046
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610842213.8A Active CN106375249B (zh) | 2016-09-22 | 2016-09-22 | 交换芯片的控制方法及控制系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106375249B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10559351B2 (en) * | 2017-02-20 | 2020-02-11 | Texas Instruments Incorporated | Methods and apparatus for reduced area control register circuit |
FR3084179A1 (fr) * | 2018-07-19 | 2020-01-24 | Stmicroelectronics (Grenoble 2) Sas | Acces direct en memoire |
CN112822126B (zh) * | 2020-12-30 | 2022-08-26 | 苏州盛科通信股份有限公司 | 报文存储方法、报文出入队列方法及存储调度装置 |
CN114817091B (zh) * | 2022-06-28 | 2022-09-27 | 井芯微电子技术(天津)有限公司 | 基于链表的fwft fifo系统、实现方法及设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101009649A (zh) * | 2006-01-24 | 2007-08-01 | 三星电子株式会社 | 网络处理器中的队列管理 |
CN102437929A (zh) * | 2011-12-16 | 2012-05-02 | 华为技术有限公司 | 队列管理中的数据出队方法及装置 |
CN103309626A (zh) * | 2013-07-03 | 2013-09-18 | 盛科网络(苏州)有限公司 | 实现网络芯片多读写端口存储器的方法及相应存储器 |
-
2016
- 2016-09-22 CN CN201610842213.8A patent/CN106375249B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101009649A (zh) * | 2006-01-24 | 2007-08-01 | 三星电子株式会社 | 网络处理器中的队列管理 |
CN102437929A (zh) * | 2011-12-16 | 2012-05-02 | 华为技术有限公司 | 队列管理中的数据出队方法及装置 |
CN103309626A (zh) * | 2013-07-03 | 2013-09-18 | 盛科网络(苏州)有限公司 | 实现网络芯片多读写端口存储器的方法及相应存储器 |
Non-Patent Citations (1)
Title |
---|
高速路由器中并行化调度器的体系结构;樊金斗;《清华大学学报(自然科学版)》;20131231;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN106375249A (zh) | 2017-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106375249B (zh) | 交换芯片的控制方法及控制系统 | |
CN110806986B (zh) | 提高网络芯片报文存储效率的方法、设备及存储介质 | |
CN101252536B (zh) | 路由器多队列数据包缓存管理与输出队列调度系统 | |
CN103946803B (zh) | 具有高效工作排队的处理器 | |
CN103135957B (zh) | 使用、管理多队列数据的共用缓存空间的方法和系统 | |
US9841913B2 (en) | System and method for enabling high read rates to data element lists | |
CN102437929B (zh) | 队列管理中的数据出队方法及装置 | |
CN101582092B (zh) | 一种实现保存内存中的数据的方法及装置 | |
CN102549552A (zh) | 用于处理流感知网络节点中的数据分组的方法 | |
CN101635682B (zh) | 一种存储管理的方法和系统 | |
CN104778025B (zh) | 基于随机访问存储器的先入先出存储器的电路结构 | |
CN106537858B (zh) | 一种队列管理的方法和装置 | |
CN104461400B (zh) | 处理访存请求冲突的方法和装置 | |
US20030056073A1 (en) | Queue management method and system for a shared memory switch | |
US11385900B2 (en) | Accessing queue data | |
CN113032162B (zh) | 一种基于共享内存备份机制的多进程通讯方法 | |
CN110058816A (zh) | 一种基于ddr的高速多用户队列管理器及方法 | |
CN108090018A (zh) | 数据交换方法及系统 | |
CN103064749B (zh) | 一种进程间通信方法 | |
CN116955247B (zh) | 一种缓存描述符管理装置及其方法、介质、芯片 | |
CN109857553A (zh) | 内存管理方法及装置 | |
CN116107762A (zh) | 内存分配方法、装置、电子设备和存储介质 | |
CN109495400A (zh) | 光纤网络交换机 | |
CN102930898B (zh) | 一种构建多端口异步存储模块的方法 | |
CN102073539B (zh) | 队列请求处理方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: 215000 unit 13 / 16, 4th floor, building B, No.5 Xinghan street, Suzhou Industrial Park, Jiangsu Province Patentee after: Suzhou Shengke Communication Co.,Ltd. Address before: Xinghan Street Industrial Park of Suzhou city in Jiangsu province 215021 B No. 5 Building 4 floor 13/16 unit Patentee before: CENTEC NETWORKS (SU ZHOU) Co.,Ltd. |
|
CP03 | Change of name, title or address |