一种数据缓存装置、系统及数据处理方法与流程

文档序号:30749257发布日期:2022-07-13 08:29阅读:67来源:国知局
一种数据缓存装置、系统及数据处理方法与流程

1.本技术涉及数据处理技术领域,具体涉及一种数据缓存装置、系统及数据处理方法。


背景技术:

2.在网络芯片的处理中,一般都需要从1个或多个端口接收数据报文,存到片内缓存中进行处理,处理完成后再从缓存读出转发到目标端口。片内数据缓存通常采用1块或多块ram实现,其结构包含写控制器和读控制器,以及把读出数据选择后送到目标端口的多路选择器。例如,以2个输入端口,2个输出端口的片内数据缓存设计实现如图1所示,其中,write from port0表示从端口0接收数据后产生的数据缓存写请求,包含写地址和数据,write from port1 表示从端口1接收数据后产生的数据缓存写请求,包含写地址和数据,read cmd from port0表示从端口0接收的数据读出发送请求,包含读请求的地址,read cmd from port1表示从端口0接收的数据读出发送请求,包含读请求的地址,read data to port0表示从一组ram读出并完成选择后,发到port0端口的数据,read data to port1表示从一组ram读出并完成选择后,发到port1端口的数据。
3.采用图1中的设计存在以下缺陷:1.所有端口的读写请求需要连接到全部的一组sram上,当sram数量和端口数量较大时,数据总线连线太多而且集中,会造成局部连线拥塞,后端实现困难;2.由于不同的端口读写同一组sram的时序相同,当数据缓存较大sram数量较多,连线到全部的sram不能在1个周期完成时,需要在读写路径上需要插入d类型触发器,以保证时序可以满足要求,此时需要按照最长路径把所有读写命令及数据路径进行对齐,会需要浪费额外的资源;3.当两个端口在芯片不同位置时,采用此种结构的数据缓存只能放在一个固定的位置,不能同时靠近所有的数据端口,所有端口的数据都需要汇聚写入到数据缓存,再从集中的数据缓存读出发送,一定有部分端口的路径很长,读写过冲数据很大,会引入额外的数据缓存和控制复杂度。


技术实现要素:

4.针对现有技术中的问题,本技术提供一种数据处理电路、系统及数据处理方法,以解决现有技术中实现数据位处理绕线复杂导致的拥塞以及需要的mux资源多等问题。
5.为了解决上述问题,本技术提供以下技术方案:本发明第一方面提供一种远程数据交换装置,所述数据缓存装置包括远程交换控制器、写控制器、读控制器以及存储单元,所述远程交换控制器用于接收并解析远程交换命令数据帧,至少获得远程交换命令和远程交换命令对应的第一目标地址,其中所述远程交换命令为第一读命令或第一写命令,所述第一目标地址至少包括第一目标数据缓存装置的id号;所述远程交换控制器还用于判断所述第一目标数据缓存装置的id号与当前数据缓存装置的id号的大小关系,并根据所述远程交换命令和第一目标地址生成第一数据帧,根据判断结果将所述第一数据帧发送给与当前数据缓存装置相邻的数据缓存装置或将所述第
一数据帧发送给所述读控制器或写控制器;所述读控制器用于接收并解析所述第一数据帧,获得所述第一读命令和第一读地址,并从所述第一读地址对应的存储单元中读取数据;所述写控制器用于接收并解析所述第一数据帧,获得所述第一写命令、第一写数据和第一写地址,并将所述第一写数据写入所述第一写地址对应的存储单元中。
6.优选地,所述远程交换控制器包括数据帧解析单元、读写命令访问地址判断单元、数据帧生成单元和路径选择单元,其中,数据帧解析单元,用于接收并解析远程交换命令数据帧,至少获得远程交换命令和第一目标地址,所述读写命令访问地址判断单元用于判断所述第一目标数据缓存装置的id号与所述当前数据缓存装置的id号之间的大小关系,若所述第一目标数据缓存装置的id号等于所述当前数据缓存装置的id号,则输出第一判断结果,若所述第一目标数据缓存装置的id号小于所述当前数据缓存装置的id号,则输出第二判断结果,若所述第一目标数据缓存装置的id号大于所述当前数据缓存装置的id号,则输出第三判断结果,数据帧生成单元,用于根据所述远程交换命令和第一目标地址生成第一数据帧;所述路径选择单元用于根据所述第一判断结果将所述第一数据帧发送给所述写控制器或读控制器,还用于根据所述第二判断结果将所述第一数据帧发送给所述当前数据缓存装置的一相邻数据缓存装置,所述一相邻数据缓存装置的id号小于所述当前数据缓存装置的id号,还用于根据所述第三判断结果将所述第一数据帧发送给另一相邻数据缓存装置,所述另一相邻数据缓存装置的id号大于所述当前数据缓存装置的id号。
7.优选地,所述数据帧解析单元还用于接收并解析所述一相邻数据缓存装置发送的第二数据帧,获得第二命令和第二目标地址,所述第二命令为第二读命令或第二写命令,所述第二目标地址至少包括第二目标数据缓存装置的id号;所述读写命令访问地址判断单元用于判断所述第二目标数据缓存装置的id号与所述当前数据缓存装置的id号之间的大小关系,若所述第二目标数据缓存装置的id号等于所述当前数据缓存装置的id号,则输出第四判断结果,若所述第二目标数据缓存装置的id号小于所述当前数据缓存装置的id号,则输出第五判断结果,若所述第二目标数据缓存装置的id号大于所述当前数据缓存装置的id号,则输出第六判断结果,所述数据帧生成单元还用于根据所述第二命令和第二地址生成第三数据帧;所述路径选择单元还用于根据所述第四判断结果将所述第三数据帧发送给所述写控制器或读控制器,或用于根据所述第五判断结果将所述第三数据帧发送给所述当前数据缓存装置的所述一相邻数据缓存装置,所述一相邻数据缓存装置的id号小于所述当前数据缓存装置的id号,或用于根据所述第六判断结果将所述第三数据帧发送给另一相邻数据缓存装置,所述另一相邻数据缓存装置的id号大于所述当前数据缓存装置的id号。
8.优选地,所述数据帧解析单元还用于接收并解析所述另一相邻数据缓存装置发送的第四数据帧,至少获得第三命令和第三目标地址,所述第三命令为第三读命令或第三写命令,所述第三目标地址至少包括第三目标数据缓存装置的id号;所述读写命令访问地址判断单元用于判断所述第三目标数据缓存装置的id号与所述当前数据缓存装置的id号之间的大小关系,若所述第三目标数据缓存装置的id号等于所述当前数据缓存装置的id号,则输出第七判断结果,若所述第三目标数据缓存装置的id号小于所述当前数据缓存装置的id号,则输出第八判断结果,若所述第三目标数据缓存装置的id号大于所述当前数据缓存装置的id号,则输出第九判断结果;所述数据帧生成单元用于根据所述第三命令和第三目标地址生成第五数据帧;所述路径选择单元还用于根据所述第七判断结果将所述第五数据
帧发送给所述写控制器或读控制器,或用于根据所述第八判断结果将所述第五数据帧发送给所述当前数据缓存装置的一相邻数据缓存装置,所述相邻数据缓存装置的id号小于所述当前数据缓存装置的id号,或用于根据所述第九判断结果将所述第五数据帧发送给另一相邻数据缓存装置,所述另一相邻数据缓存装置的id号大于所述当前数据缓存装置的id号。
9.优选地,所述写控制器还用于接收并解析通过所述当前数据缓存装置的写数据端口输入的第六数据帧,获得第四写命令、第四写数据和第四写地址,并将所述第四写命令、第四写数据和第四写地址发送给所述远程交换控制器,其中,所述第四写地址至少包括第四目标数据缓存装置的id号;所述读写命令访问地址判断单元用于判断所述第四目标数据缓存装置的id号与所述当前数据缓存装置的id号之间的大小关系,若所述第四目标数据缓存装置的id号等于所述当前数据缓存装置的id号,则输出第十判断结果,若所述第四目标数据缓存装置的id号小于所述当前数据缓存装置的id号,则输出第十一判断结果,若所述第二数据缓存装置的id号大于所述当前数据缓存装置的id号,则输出第十二判断结果;所述数据帧生成单元还用于根据所述第四写命令、第四写数据和第四写地址生成第六数据帧;所述路径选择单元用于根据所述第十判断结果将所述第六数据帧发送给所述写控制器,或用于根据所述第十一判断结果将所述第六数据帧发送给所述当前数据缓存装置的一相邻数据缓存装置,所述相邻数据缓存装置的id号小于所述当前数据缓存装置的id号,或用于根据所述第十二判断结果将所述第六数据帧发送给另一相邻数据缓存装置,所述另一相邻数据缓存装置的id号大于所述当前数据缓存装置的id号。
10.优选地,所述读控制器还用于接收并解析通过所述当前数据缓存装置的读数据端口输入的第七数据帧,获得第四读命令和第四读地址,并将所述第四读命令和第四读地址发送给所述远程交换控制器,其中,所述第四读地址至少包括第五目标数据缓存装置的id号;所述读写命令访问地址判断单元还用于判断所述第五目标缓存装置的id号与所述当前数据缓存装置的id号之间的大小关系,若所述第五目标缓存装置的id号与所述当前数据缓存装置的id号相等,则生成第十三判断结果,若所述第五目标缓存装置的id号小于当前缓存装置的id号,则生成第十四判断结果,若所述第三目标缓存装置的id号大于当前缓存装置的id号,则生成第十五判断结果;所述数据帧生成单元还用于根据所述第四读命令和第四读地址生成第八数据帧;所述路径选择单元用于根据所述第十三判断结果将所述第八数据帧发送给所述读控制器,还用于根据所述第十四判断结果将所述第八数据帧发送给所述一相邻数据缓存装置,所述一相邻数据缓存装置的id号小于所述当前数据缓存装置的id号,还用于根据所述第十五判断结果将所述第八数据帧发送给所述另一相邻数据缓存装置,所述另一相邻数据缓存装置的id号大于所述当前数据缓存装置的id号。
11.优选地,所述路径选择单元包括第一多路选择器、第二多路选择器、第三多路选择器,所述第一多路选择器的第一输入端与第一数据帧输出端连接,所述第一多路选择器的第二输入端与第五数据帧输出端连接,所述第一多路选择器的第三输入端与第六数据帧输出端连接,所述第一多路选择器的第四输入端与所述第八数据帧输出端连接,所述第一多路选择器的控制信号输入端分别与所述读写命令访问地址判断单元的第一判断结果输出端、第四判断结果输出端、第七判断结果输出端、第十判断结果输出端、第十三判断结果输出端连接,所述第一多路选择器的输出端与所述当前数据缓存装置的一相邻所述数据缓存装置的数据帧解析单元输入端连接;所述第二多路选择器的第一输入端与所述第八数据帧
输出端连接,所述第二多路选择器的第二输入端与第三数据帧输出端连接,所述第二多路选择器的第三输入端与所述第六数据帧的输出端连接,所述第二多路选择器的第四输入端与所述第一数据帧的输入端连接,所述第二多路选择器的控制信号输入端分别与所述读写命令访问地址判断单元的第二判断结果输出端、第五判断结果输出端、第八判断结果输出端、第十一判断结果输出端以及第十四判断结果输出端连接,所述第二多路选择器的输出端与所述另一相邻所述数据缓存装置的数据帧解析单元的输入端连接;所述第三多路选择器的第一输入端与所述第八数据帧输出端连接,所述第三多路选择器的第二输入端与所述第六数据帧输出端连接,所述第三多路选择器的第三输入端与所述第三数据帧输出端连接,所述第三多路选择器的第四输入端与所述第一数据帧输出端连接,所述第三多路选择器的控制信号输入端分别与所述读写命令访问地址判断单元的第三判断结果输出端、第六判断结果输出端、第九判断结果输出端、第十二判断结果输出端和第十五判断结果输出端连接,所述第三多路选择器的控制信号输出端与所述读控制器和所述写控制器的输入端连接。
12.本发明第二方面提供一种数据缓存系统,所述数据缓存系统包括d类触发器和至少两个如前所述的数据缓存装置,相邻两个所述数据缓存装置之间通过所述d类触发器连接。
13.本发明第三方面提供一种采用前述的数据缓存装置进行数据处理的方法,包括如下步骤:远程交换控制器接收并解析远程交换命令数据帧,至少获得远程交换命令和远程交换命令对应的第一目标地址,其中所述远程交换命令为第一读命令或第一写命令,所述第一目标地址至少包括第一目标数据缓存装置的id号;远程交换控制器接收并解析远程交换命令数据帧,至少获得远程交换命令和远程交换命令对应的第一目标地址,其中所述远程交换命令为第一读命令或第一写命令,所述第一目标地址至少包括第一目标数据缓存装置的id号;所述远程交换控制器判断所述第一目标数据缓存装置的id号与当前数据缓存装置的id号的大小关系,并根据所述远程交换命令和第一目标地址生成第一数据帧,根据判断结果将所述第一数据帧发送给与当前数据缓存装置相邻的数据缓存装置或将所述第一数据帧发送给所述读控制器或写控制器;若所述远程交换控制器将所述第一数据帧发送给所述写控制器,则所述写控制器接收并解析所述第一数据帧,获得所述第一写命令、第一写数据和第一写地址,并将所述第一写数据写入所述第一写地址对应的存储单元中;若所述远程交换控制器将所述第一数据帧发送给所述读控制器,则所述读控制器接收并解析所述第一数据帧,获得第一读命令和第一读地址,并从所述第一读地址对应的存储单元中读取数据。
14.优选地,所述远程交换控制器判断所述第一目标数据缓存装置的id号与当前数据缓存装置的id号的大小关系,并根据所述远程交换命令和第一目标地址生成第一数据帧,根据判断结果将所述第一数据帧发送给与当前数据缓存装置相邻的数据缓存装置或将所述第一数据帧发送给所述读控制器或写控制器:数据帧解析单元接收并解析远程交换命令数据帧,至少获得远程交换命令和第一目标地址,读写命令访问地址判断单元判断所述第一目标数据缓存装置的id号与所述当前数据缓存装置的id号之间的大小关系,若所述第一目标数据缓存装置的id号等于所述当前数据缓存装置的id号,则输出第一判断结果,若所述第一目标数据缓存装置的id号小于所述当前数据缓存装置的id号,则输出第二判断结
果,若所述第一目标数据缓存装置的id号大于所述当前数据缓存装置的id号,则输出第三判断结果,数据帧生成单元根据所述远程交换命令和第一目标地址生成第一数据帧;路径选择单元根据所述第一判断结果将所述第一数据帧发送给所述写控制器或读控制器,根据所述第二判断结果将所述第一数据帧发送给所述当前数据缓存装置的一相邻数据缓存装置,所述相邻数据缓存装置的id号小于所述当前数据缓存装置的id号,根据所述第三判断结果将所述第一数据帧发送给另一所述数据缓存装置,所述另一所述数据缓存装置的id号大于所述当前数据缓存装置的id号。
15.优选地,所述方法还包括:所述数据帧解析单元接收并解析所述一相邻数据缓存装置发送的第二数据帧,获得第二命令和第二目标地址,所述第二命令为第二读命令或第二写命令,所述第二目标地址至少包括第二目标数据缓存装置的id号;所述读写命令访问地址判断单元判断所述第二目标数据缓存装置的id号与所述当前数据缓存装置的id号之间的大小关系,若所述第二目标数据缓存装置的id号等于所述当前数据缓存装置的id号,则输出第四判断结果,若所述第二目标数据缓存装置的id号小于所述当前数据缓存装置的id号,则输出第五判断结果,若所述第二目标数据缓存装置的id号大于所述当前数据缓存装置的id号,则输出第六判断结果,所述数据帧生成单元根据所述第二命令和第二地址生成第三数据帧;所述路径选择单元根据所述第四判断结果将所述第三数据帧发送给所述写控制器或读控制器,或用于根据所述第五判断结果将所述第三数据帧发送给所述当前数据缓存装置的所述一相邻数据缓存装置,所述一相邻数据缓存装置的id号小于所述当前数据缓存装置的id号,或用于根据所述第六判断结果将所述第三数据帧发送给另一相邻数据缓存装置,所述另一相邻数据缓存装置的id号大于所述当前数据缓存装置的id号。
16.优选地,所述方法还包括:所述数据帧解析单元接收并解析所述另一相邻数据缓存装置发送的第四数据帧,至少获得第三命令和第三目标地址,所述第三命令为第三读命令或第三写命令,所述第三目标地址至少包括第三目标数据缓存装置的id号;所述读写命令访问地址判断单元判断所述第三目标数据缓存装置的id号与所述当前数据缓存装置的id号之间的大小关系,若所述第三目标数据缓存装置的id号等于所述当前数据缓存装置的id号,则输出第七判断结果,若所述第三目标数据缓存装置的id号小于所述当前数据缓存装置的id号,则输出第八判断结果,若所述第三目标数据缓存装置的id号大于所述当前数据缓存装置的id号,则输出第九判断结果;所述数据帧生成单元根据所述第三命令和第三目标地址生成第五数据帧;所述路径选择单元根据所述第七判断结果将所述第五数据帧发送给所述写控制器或读控制器,或用于根据所述第八判断结果将所述第五数据帧发送给所述当前数据缓存装置的一相邻数据缓存装置,所述相邻数据缓存装置的id号小于所述当前数据缓存装置的id号,或用于根据所述第九判断结果将所述第五数据帧发送给另一相邻数据缓存装置,所述另一相邻数据缓存装置的id号大于所述当前数据缓存装置的id号。
17.优选地,所述方法还包括: 所述写控制器接收并解析通过所述当前数据缓存装置的写数据端口输入的第六数据帧,获得第四写命令、第四写数据和第四写地址,并将所述第四写命令、第四写数据和第四写地址发送给所述远程交换控制器,其中,所述第四写地址至少包括第四目标数据缓存装置的id号;所述读写命令访问地址判断单元判断所述第四目标数据缓存装置的id号与所述当前数据缓存装置的id号之间的大小关系,若所述第四目标数据缓存装置的id号等于所述当前数据缓存装置的id号,则输出第十判断结果,若所述第四
目标数据缓存装置的id号小于所述当前数据缓存装置的id号,则输出第十一判断结果,若所述第二数据缓存装置的id号大于所述当前数据缓存装置的id号,则输出第十二判断结果;所述数据帧生成单元根据所述第四写命令、第四写数据和第四写地址生成第六数据帧;所述路径选择单元根据所述第十判断结果将所述第六数据帧发送给所述写控制器,或用于根据所述第十一判断结果将所述第六数据帧发送给所述当前数据缓存装置的一相邻数据缓存装置,所述相邻数据缓存装置的id号小于所述当前数据缓存装置的id号,或用于根据所述第十二判断结果将所述第六数据帧发送给另一相邻数据缓存装置,所述另一相邻数据缓存装置的id号大于所述当前数据缓存装置的id号。
18.优选地,所述方法还包括:所述读控制器接收并解析通过所述当前数据缓存装置的读数据端口输入的第七数据帧,获得第四读命令和第四读地址,并将所述第四读命令和第四读地址发送给所述远程交换控制器,其中,所述第四读地址至少包括第五目标数据缓存装置的id号;所述读写命令访问地址判断单元判断所述第五目标缓存装置的id号与所述当前数据缓存装置的id号之间的大小关系,若所述第五目标缓存装置的id号与所述当前数据缓存装置的id号相等,则生成第十三判断结果,若所述第五目标缓存装置的id号小于当前缓存装置的id号,则生成第十四判断结果,若所述第三目标缓存装置的id号大于当前缓存装置的id号,则生成第十五判断结果;所述数据帧生成单元根据所述第四读命令和第四读地址生成第八数据帧;所述路径选择单元根据所述第十三判断结果将所述第八数据帧发送给所述读控制器,还用于根据所述第十四判断结果将所述第八数据帧发送给所述一相邻数据缓存装置,所述一相邻数据缓存装置的id号小于所述当前数据缓存装置的id号,还用于根据所述第十五判断结果将所述第八数据帧发送给所述另一相邻数据缓存装置,所述另一相邻数据缓存装置的id号大于所述当前数据缓存装置的id号。
19.本发明的有益效果:本发明的数据缓存装置,内部的sram根据工艺性能选择合适的规模,物理实现的难度降低,该数据缓存装置解决了读写端口太多或者sram规模较大时,所有端口的数据都需要连接到全部的sram,导致连线过于庞大而且复杂难以实现的问题。此外,本实施例的数据缓存装置适合进行数据缓存容量和读写端口规模的扩展,当需要支持多个端口的读写规格时,或者更大的sram规格时,通过多个该数据缓存装置直接互联实现。
附图说明
20.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,图1为现有技术中数据缓存装置的结构示意图;图2为本发明实施例一的数据缓存装置的结构示意图;图3为本发明实施例一的远程交换数据控制器的结构示意图;图4为本发明实施例二的数据缓存系统的结构示意图;图5为本发明实施例三的一种数据处理方法的流程示意图。
具体实施方式
21.为使本技术实施例的目标、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
22.本发明实施例一提供一种数据缓存装置,如图2所示,该数据缓存装置包括写控制器、读控制器、存储单元以及远程交换控制器,其中,远程交换控制器用于接收并解析远程交换命令数据帧,至少获得远程交换命令和远程交换命令对应的第一目标地址,其中,远程交换命令为第一读命令或第一写命令,该第一目标地址至少包括第一目标数据缓存装置的id号,远程交换控制器还用于判断该第一目标数据缓存装置的id号与当前数据缓存装置的id号的大小关系,并根据远程交换命令和第一目标地址生成第一数据帧,根据判断结果将第一数据帧转发给与当前数据缓存装置相邻的数据缓存装置或将该第一数据帧发送给读控制器或写控制器,读控制器用于接收并解析该第一数据帧,获得第一读命令和第一读地址,并从该第一读地址对应的存储单元中读取数据,该写控制器用于接收并解析第一数据帧,获得第一写命令、第一写数据和第一写地址,并将该第一写数据写入第一写地址对应的存储单元中。
23.在一具体实施方式中,该第一目标地址包括对应的存储单元所在的数据缓存装置的id号、存储单元sram的id号,以及在该sram中的偏移量。举例说明,假设目标地址为{2,2,3},则其说明目标地址为id号为2的数据缓存装置中id号为2的sram单元的偏移量为3的地址中。
24.在一具体实施方式中,该控制命令还包括命令序列号,用于表明这是读控制器或写控制器当前处理的第多少条命令,以避免读数据或写数据出现错误。
25.举例说明,连续发送编号为1、2、3、4、5一共5个命令,对应的数据定义为a、b、c、d、e,该连续发送的命令读取的数据有顺序要求,这时就需要使用命令序列号来保证输出数据的顺序。假设命令1对应第1个缓存装置,从第1个缓存装置读取数据,数据从第1个缓存装置输出,路径最短,数据a返回时间最短,命令2、3对应读取第3个缓存装置,路径最长,数据bc返回时间最长,命令4、5对应读取第2个缓存装置,路径比命令1长,比命令2和3短,数据de返回时间在读取数据缓存1和数据缓存3之间,因而接收到数据顺序为a(命令编号1)、d(命令编号4)、e(命令编号5)、b(命令编号2)、c(命令编号3),在发送数据的时候,使用对应的命令编号1-5,按顺序发送,得到连续的a、b、c、d、e 5个数据输出。
26.如图3所示,该远程交换控制器包括数据帧解析单元、读写命令访问地址判断单元、数据帧生成单元和路径选择单元,其中,数据帧解析单元用于接收并解析远程交换命令数据帧,至少获得远程交换命令和第一目标地址,该读写命令访问地址判断单元用于判断该第一目标数据缓存装置的id号与当前数据缓存装置的id号之间的大小关系,若该第一目标数据缓存装置的id号等于当前数据缓存装置的id号,则输出第一判断结果,若该第一目标数据缓存装的id号小于当前数据缓存装置的id号,则输出第二判断结果,若该第一目标数据缓存装置的id号大于当前数据缓存装置的id号,则输出第三判断结果。数据帧生成单元用于根据远程交换命令和第一目标地址生成第一数据帧。路径选择单元用于根据第一判断结果将第一数据帧发送给读控制器或写控制器,还用于根据第二判断结果将第一数据帧
发送给与当前数据缓存装置的一相邻数据缓存装置,该一相邻数据缓存装置的id号比当前数据缓存装置的id号小1,还用于根据第三判断结果将第一数据帧发送给与当前数据缓存装置的另一相邻数据缓存装置,该另一相邻数据缓存装置的id号比当前数据缓存装置的id号大1。
27.具体地,在读写命令访问地址判断单元输出第一判断结果时,如果该远程交换命令为第一读命令,则将该第一数据帧发送给读控制器,如果该远程交换命令为第一写命令,则将该第一数据帧发送给写控制器,当读写命令访问地址判断单元输出第二判断结果时,则将第一数据帧发送给该一相邻数据帧,当读写命令访问地址判断单元输出第三判断结果时,则将第一数据帧发送给另一相邻数据帧。
28.在一具体实施方式中,该一相邻数据缓存装置为当前缓存装置的左边的缓存装置,其id号比当前数据缓存装置的id号小1,另一相邻数据缓存装置为当前数据缓存装置右边的数据缓存装置,其id号比当前数据缓存装置的id号大1。
29.具体地,该第一目标地址包括第一目标数据缓存装置的id号、第一目标数据缓存装置中的目标sram的id号,以及存储地址在该目标sram中的偏移量。
30.在一具体实施方式中,数据帧解析单元还用于接收并解析该一相邻数据缓存装置发送的第二数据帧,获得第二命令和第二目标地址,其中,第二命令为第二读命令或第二写命令,该第二目标地址至少包括第二目标数据缓存装置的id号,读写命令访问地址判断单元用于判断第二目标数据缓存装置的id号与当前数据缓存装置的id号之间的大小关系,若第二目标数据缓存装置的id号等于当前数据缓存装置的id号,则输出第四判断结果,若第二目标数据缓存装置的id号小于当前数据缓存装置的id号,则输出第五判断结果,若第二目标数据缓存装置的id号大于当前数据缓存装置的id号,则输出第六判断结果。数据帧生成单元还用于根据第二命令和第二地址生成第三数据帧,路径选择单元根据第四判断结果将第三数据帧发送给写控制器或读控制器,或用于根据第五判断结果将第三数据帧发送给当前数据缓存装置的一相邻数据缓存装置,该一相邻数据缓存装置的id号与当前数据缓存装置的id号之间差值为1,或用于根据第六判断结果将第三数据帧发送给另一相邻数据缓存装置,另一相邻数据缓存装置的id号大于当前数据缓存装置的id号。
31.在一具体实施方式中,数据帧解析单元还用于接收并解析另一相邻数据缓存装置发送的第四数据帧,至少获得第三命令和第三目标地址,该第三目标地址至少包括第三目标数据缓存装置的id号。读写命令访问地址判断单元还用于判断第三目标数据缓存装置的id号与当前数据缓存装置的id号之间的大小关系,若第三目标数据缓存装置的id号等于当前数据缓存装置的id号,则输出第七判断结果,若第三目标数据缓存装置的id号小于当前数据缓存装置的id号,则输出第八判断结果,若第三目标数据缓存装置的id号大于当前数据缓存装置的id号,则输出第九判断结果。路径选择单元用于根据第七判断结果将第五数据帧发送给写控制器或读控制器,或用于根据第八判断结果将第五数据帧发送给当前数据缓存装置的一相邻数据缓存装置,还用于根据第九判断结果将第五数据帧发送给另一相邻数据缓存装置,另一相邻数据缓存装置的id号大于当前数据缓存装置的id号。
32.在一具体实施方式中,该写控制器还用于接收并解析通过当前数据缓存装置的写数据端口输入的第六数据帧,获得第四写命令、第四写数据和第四写地址,并将该第四写命令、第四写数据和第四写地址发送给远程交换控制器,其中,该写地址至少包括目标存储单
元所在的第二数据缓存装置的id号,该读写命令访问地址判断单元用于判断所述第四目标数据缓存装置的id号与所述当前数据缓存装置的id号之间的大小关系,若该第四目标数据缓存装置的id号等于当前数据缓存装置的id号,则输出第十判断结果,若第四目标数据缓存装置的id号小于当前数据缓存装置的id号,则输出第十一判断结果,若第四目标数据缓存装置的id号大于当前数据缓存装置的id号,则输出第十二判断结果,数据帧生成单元还用于根据第四写命令,第四写数据和第四写地址生成第六数据帧,路径选择单元用于根据第十判断结果将第六数据帧发送给写控制器,或用于根据第十一判断结果将第六数据帧发送给当前数据缓存装置的一相邻数据缓存装置,还用于根据第十二判断结果将第六数据帧发送给另一相邻数据缓存装置,另一相邻数据缓存装置的id号大于当前数据缓存装置的id号。
33.在一具体实施方式中,读控制器还用于接收并解析通过当前数据缓存装置的读数据端口输入的第七数据帧,获得第四读命令和第四读地址,并将第四读命令和第四读地址发送给远程交换控制器,其中,第四读地址至少包括第五目标数据缓存装置的id号,读写命令访问地址判断单元用于判断第五目标缓存装置的id号与当前数据缓存装置的id号之间的大小关系,若第五目标缓存装置的id号与当前数据缓存装置的id号相等,则生成第十三判断结果,若第五目标缓存装置的id号小于当前数据缓存装置的id号,则生成第十四判断结果,若第五目标缓存装置的id号大于当前数据缓存装置的id号,则生成第十五判断结果。数据帧生成单元还用于根据第四读命令和第四读地址生成第八数据帧,路径选择单元用于根据所述第十三判断结果将所述第八数据帧发送给所述读控制器,还用于根据所述第十四判断结果将所述第八数据帧发送给所述一相邻数据缓存装置,所述一相邻数据缓存装置的id号小于所述当前数据缓存装置的id号,还用于根据所述第十五判断结果将所述第八数据帧发送给所述另一相邻数据缓存装置,所述另一相邻数据缓存装置的id号大于所述当前数据缓存装置的id号。
34.在一具体实施方式中,所述路径选择单元包括第一多路选择器、第二多路选择器、第三多路选择器,所述第一多路选择器的第一输入端与第一数据帧输出端连接,所述第一多路选择器的第二输入端与第五数据帧输出端连接,所述第一多路选择器的第三输入端与第六数据帧输出端连接,所述第一多路选择器的第四输入端与所述第八数据帧输出端连接,所述第一多路选择器的控制信号输入端分别与所述读写命令访问地址判断单元的第一判断结果输出端、第四判断结果输出端、第七判断结果输出端、第十判断结果输出端、第十三判断结果输出端连接,所述第一多路选择器的输出端与所述当前数据缓存装置的一相邻所述数据缓存装置的数据帧解析单元输入端连接,所述第二多路选择器的第一输入端与所述第八数据帧输出端连接,所述第二多路选择器的第二输入端与第三数据帧输出端连接,所述第二多路选择器的第三输入端与所述第六数据帧的输出端连接,所述第二多路选择器的第四输入端与所述第一数据帧的输入端连接,所述第二多路选择器的控制信号输入端分别与所述读写命令访问地址判断单元的第二判断结果输出端、第五判断结果输出端、第八判断结果输出端、第十一判断结果输出端以及第十四判断结果输出端连接,所述第二多路选择器的输出端与所述另一相邻所述数据缓存装置的数据帧解析单元的输入端连接,所述第三多路选择器的第一输入端与所述第八数据帧输出端连接,所述第三多路选择器的第二输入端与所述第六数据帧输出端连接,所述第三多路选择器的第三输入端与所述第三数据
帧输出端连接,所述第三多路选择器的第四输入端与所述第一数据帧输出端连接,所述第三多路选择器的控制信号输入端分别与所述读写命令访问地址判断单元的第三判断结果输出端、第六判断结果输出端、第九判断结果输出端、第十二判断结果输出端和第十五判断结果输出端连接,所述第三多路选择器的控制信号输出端与所述读控制器和所述写控制器的输入端连接。
35.本发明实施例一的数据缓存装置,只支持1个外部数据交换命令接口、1个端口的读和写,内部的sram根据工艺性能选择合适的规模,物理实现的难度降低,该数据缓存装置解决了读写端口太多或者sram规模较大时,所有端口的数据都需要连接到全部的sram,导致连线过于庞大而且复杂难以实现的问题。此外,本实施例的数据缓存装置适合进行数据缓存容量和读写端口规模的扩展,当需要支持多个端口的读写规格时,或者更大的sram规格时,通过多个该数据缓存装置直接互联实现。减少端口收发数据读写缓存的距离,降低写入延迟和读出过冲,通过把数据缓存装置部署在对应的端口附近,接收的数据可以很快写入,需要发送的数据可以就近读取,路径上的过冲数量很小,不需要额外的缓存,支持不同端口或者处理单元之间数据交换,将需要处理的数据交换到本地处理,可以提高多处理单元系统的数据处理效率。
36.本发明实施例二提供一种数据缓存系统,如图4所示,该数据缓存系统包括至少两个前述的数据缓存装置以及多个d类出发器,其中该至少两个数据缓存装置通过该多个d类触发器进行级联。
37.具体地,当前数据缓存装置的第一命令发送端通过d类触发器与上一数据缓存装置的第二命令接收端连接,当前数据缓存装置的第二命令发送端通过d类触发器与另一相邻数据缓存装置的第一接收端连接,当前数据缓存装置的第一命令接收端通过d类触发器与上一数据缓存装置的第二命令发送端连接,当前数据缓存装置的第二命令接收端通过d类触发器与另一数据缓存装置的第一命令发送端连接。
38.需要说明的是,该数据缓存系统中并不限定数据缓存装置为2个,当有多个数据缓存装置时,相邻两个数据缓存装置之间通过d类触发器进行连接。
39.本发明实施例一的数据缓存系统,数据缓存装置只支持1端口的读、写,以及1个外部数据交换命令接口,内部的sram根据工艺性能选择合适的规模,物理实现的难度降低,该数据缓存装置解决了读写端口太多或者sram规模较大时,所有端口的数据都需要连接到全部的sram,导致连线过于庞大而且复杂难以实现的问题。此外,本实施例的数据缓存装置适合进行数据缓存容量和读写端口规模的扩展,当需要支持多个端口的读写规格时,或者更大的sram规格时,通过多个该数据缓存装置直接互联实现。减少端口收发数据读写缓存的距离,降低写入延迟和读出过冲,通过把数据缓存装置部署在对应的端口附近,接收的数据可以很快写入,需要发送的数据可以就近读取,路径上的过冲数量很小,不需要额外的缓存,支持不同端口或者处理单元之间数据交换,将需要处理的数据交换到本地处理,可以提高多处理单元系统的数据处理效率。
40.基于本发明实施例一,本发明实施例三提供一种采用前述的数据缓存装置进行数据处理的方法,如图5所示,该方法包括:s1、远程交换控制器接收并解析远程交换命令数据帧,至少获得远程交换命令和远程交换命令对应的第一目标地址,其中所述远程交换命令为第一读命令或第一写命令,
所述第一目标地址至少包括第一目标数据缓存装置的id号;s2、远程交换控制器接收并解析远程交换命令数据帧,至少获得远程交换命令和远程交换命令对应的第一目标地址,其中所述远程交换命令为第一读命令或第一写命令,所述第一目标地址至少包括第一目标数据缓存装置的id号。
41.s3、所述远程交换控制器判断所述第一目标数据缓存装置的id号与当前数据缓存装置的id号的大小关系,并根据所述远程交换命令和第一目标地址生成第一数据帧,根据判断结果将所述第一数据帧发送给与当前数据缓存装置相邻的数据缓存装置或将所述第一数据帧发送给所述读控制器或写控制器。
42.s4、若所述远程交换控制器将所述第一数据帧发送给所述写控制器,则所述写控制器接收并解析所述第一数据帧,获得所述第一写命令、第一写数据和第一写地址,并将所述第一写数据写入所述第一写地址对应的存储单元中;若所述远程交换控制器将所述第一数据帧发送给所述读控制器,则所述读控制器接收并解析所述第一数据帧,获得第一读命令和第一读地址,并从所述第一读地址对应的存储单元中读取数据。
43.具体地,数据帧解析单元接收并解析远程交换命令数据帧,至少获得远程交换命令和第一目标地址,读写命令访问地址判断单元判断所述第一目标数据缓存装置的id号与所述当前数据缓存装置的id号之间的大小关系,若所述第一目标数据缓存装置的id号等于所述当前数据缓存装置的id号,则输出第一判断结果,若所述第一目标数据缓存装置的id号小于所述当前数据缓存装置的id号,则输出第二判断结果,若所述第一目标数据缓存装置的id号大于所述当前数据缓存装置的id号,则输出第三判断结果,数据帧生成单元根据所述远程交换命令和第一目标地址生成第一数据帧;路径选择单元根据所述第一判断结果将所述第一数据帧发送给所述写控制器或读控制器,根据所述第二判断结果将所述第一数据帧发送给所述当前数据缓存装置的一相邻数据缓存装置,所述相邻数据缓存装置的id号小于所述当前数据缓存装置的id号,根据所述第三判断结果将所述第一数据帧发送给另一所述数据缓存装置,所述另一所述数据缓存装置的id号大于所述当前数据缓存装置的id号。
44.具体地,所述读写命令访问地址判断单元判断所述第二目标数据缓存装置的id号与所述当前数据缓存装置的id号之间的大小关系,若所述第二目标数据缓存装置的id号等于所述当前数据缓存装置的id号,则输出第四判断结果,若所述第二目标数据缓存装置的id号小于所述当前数据缓存装置的id号,则输出第五判断结果,若所述第二目标数据缓存装置的id号大于所述当前数据缓存装置的id号,则输出第六判断结果,所述数据帧生成单元根据所述第二命令和第二地址生成第三数据帧;所述路径选择单元根据所述第四判断结果将所述第三数据帧发送给所述写控制器或读控制器,或用于根据所述第五判断结果将所述第三数据帧发送给所述当前数据缓存装置的所述一相邻数据缓存装置,所述一相邻数据缓存装置的id号小于所述当前数据缓存装置的id号,或用于根据所述第六判断结果将所述第三数据帧发送给另一相邻数据缓存装置,所述另一相邻数据缓存装置的id号大于所述当前数据缓存装置的id号。
45.具体地,所述数据帧解析单元接收并解析所述另一相邻数据缓存装置发送的第四数据帧,至少获得第三命令和第三目标地址,所述第三命令为第三读命令或第三写命令,所述第三目标地址至少包括第三目标数据缓存装置的id号,所述读写命令访问地址判断单元
判断所述第三目标数据缓存装置的id号与所述当前数据缓存装置的id号之间的大小关系,若所述第三目标数据缓存装置的id号等于所述当前数据缓存装置的id号,则输出第七判断结果,若所述第三目标数据缓存装置的id号小于所述当前数据缓存装置的id号,则输出第八判断结果,若所述第三目标数据缓存装置的id号大于所述当前数据缓存装置的id号,则输出第九判断结果,所述数据帧生成单元根据所述第三命令和第三目标地址生成第五数据帧,所述路径选择单元根据所述第七判断结果将所述第五数据帧发送给所述写控制器或读控制器,或用于根据所述第八判断结果将所述第五数据帧发送给所述当前数据缓存装置的一相邻数据缓存装置,所述相邻数据缓存装置的id号小于所述当前数据缓存装置的id号,或用于根据所述第九判断结果将所述第五数据帧发送给另一相邻数据缓存装置,所述另一相邻数据缓存装置的id号大于所述当前数据缓存装置的id号。
46.具体地,所述写控制器接收并解析通过所述当前数据缓存装置的写数据端口输入的第六数据帧,获得第四写命令、第四写数据和第四写地址,并将所述第四写命令、第四写数据和第四写地址发送给所述远程交换控制器,其中,所述第四写地址至少包括第四目标数据缓存装置的id号,所述读写命令访问地址判断单元判断所述第四目标数据缓存装置的id号与所述当前数据缓存装置的id号之间的大小关系,若所述第四目标数据缓存装置的id号等于所述当前数据缓存装置的id号,则输出第十判断结果,若所述第四目标数据缓存装置的id号小于所述当前数据缓存装置的id号,则输出第十一判断结果,若所述第二数据缓存装置的id号大于所述当前数据缓存装置的id号,则输出第十二判断结果,所述数据帧生成单元根据所述第四写命令、第四写数据和第四写地址生成第六数据帧,所述路径选择单元根据所述第十判断结果将所述第六数据帧发送给所述写控制器,或用于根据所述第十一判断结果将所述第六数据帧发送给所述当前数据缓存装置的一相邻数据缓存装置,所述相邻数据缓存装置的id号小于所述当前数据缓存装置的id号,或用于根据所述第十二判断结果将所述第六数据帧发送给另一相邻数据缓存装置,所述另一相邻数据缓存装置的id号大于所述当前数据缓存装置的id号。
47.具体地,所述读控制器接收并解析通过所述当前数据缓存装置的读数据端口输入的第七数据帧,获得第四读命令和第四读地址,并将所述第四读命令和第四读地址发送给所述远程交换控制器,其中,所述第四读地址至少包括第五目标数据缓存装置的id号,所述读写命令访问地址判断单元判断所述第五目标缓存装置的id号与所述当前数据缓存装置的id号之间的大小关系,若所述第五目标缓存装置的id号与所述当前数据缓存装置的id号相等,则生成第十三判断结果,若所述第五目标缓存装置的id号小于当前缓存装置的id号,则生成第十四判断结果,若所述第三目标缓存装置的id号大于当前缓存装置的id号,则生成第十五判断结果,所述数据帧生成单元根据所述第四读命令和第四读地址生成第八数据帧,所述路径选择单元根据所述第十三判断结果将所述第八数据帧发送给所述读控制器,还用于根据所述第十四判断结果将所述第八数据帧发送给所述一相邻数据缓存装置,所述一相邻数据缓存装置的id号小于所述当前数据缓存装置的id号,还用于根据所述第十五判断结果将所述第八数据帧发送给所述另一相邻数据缓存装置,所述另一相邻数据缓存装置的id号大于所述当前数据缓存装置的id号。
48.举例说明,假设该远程交换命令为向第2个数据缓存装置中写入数据data1,当前数据缓存装置的id号为0,结合图4进行说明,则远程交换命令为写数据data1,命令序列号
为7,远程交换命令地址为{dbuf 2sram2offset2 },其中,远程交换命令地址表示将写数据存在id号为2的数据缓存装置中的第2个sram单元中的偏移量为2的位置处,当前id号为0的数据缓存装置接收该远程交换命令和远程交换命令地址后,由于第一目标数据缓存装置的id号2大于当前数据缓存装置的id号0,因而id号为0的数据缓存装置将该远程交换命令转发给id号为1的数据缓存装置,id号为1的数据缓存装置接收并解析远程交换命令数据帧,获得远程交换命令地址对应的目标数据缓存装置的id号为2,因而将远程交换命令数据帧发送给id号为2的数据缓存装置,id号为2的数据缓存装置判断目标数据缓存装置和自身的数据缓存装置id号,由于两者相等,因而id号为2的数据缓存装置将远程交换命令数据帧发送给id号为2的数据缓存装置中的写控制器,写控制器接收并解析数据帧获得写数据和写地址,并将写数据写入对应的写地址中。
49.举例说明,假设通过当前数据缓存装置的读数据端口输入的命令为读取数据,其对应的命令序列号为8,读地址为{ dbuf 2sram2offset2},即目标数据缓存装置的id号为2,若当前数据缓存装置的id号为0,则当前数据缓存装置接收读命令数据帧,解析该读命令数据帧获得读命令和读地址,当前数据缓存装置的读写命令访问地址判断单元判断目标数据缓存装置的id号大于自身的id号,将该读命令数据帧发送给id号为1的数据缓存装置,id号为1的数据缓存装置接收并解析该读命令数据帧,获得目标数据缓存装置的id号,id号为1的数据缓存装置判断自身的id号与目标数据缓存装置的id号的大小,由于目标数据缓存装置的id号大于自身的id号,因而将读命令数据帧发送给id号为2的数据缓存装置,id号为2的数据缓存装置判断自身的id号与目标数据缓存装置的id号相等,因而将读数据帧发送给自身的读控制器,读控制器接收并解析数据帧,获得目标地址,从对应的存储单元中读取数据。在读取数据后,需要将读取的数据发送给id号为0的数据缓存装置,因而在将读取的数据返回给id号为0的数据缓存装置后,在返回的过程中,id号为0的数据缓存装置为目标数据缓存装置,当id号为2的数据缓存装置读取数据后,由于当前的目标数据缓存装置的id号为0,因而id号为2的数据缓存装置判断自身的id号大于0,将读取的数据以及写指令发送给id号为1的数据缓存装置,id号为1的数据缓存装置进行同样的判断后,将读取的数据和写地址发送给id号为0的数据缓存装置,id号为0的数据缓存装置在进行判断后,将读取的数据和写指令发送给其写控制器,写控制器将写数据写入对应的写地址中。
50.本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1