CN103955436B - 一种数据处理装置和终端 - Google Patents
一种数据处理装置和终端 Download PDFInfo
- Publication number
- CN103955436B CN103955436B CN201410181402.6A CN201410181402A CN103955436B CN 103955436 B CN103955436 B CN 103955436B CN 201410181402 A CN201410181402 A CN 201410181402A CN 103955436 B CN103955436 B CN 103955436B
- Authority
- CN
- China
- Prior art keywords
- data
- input
- target
- moderator
- module
- 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
- 230000008707 rearrangement Effects 0.000 claims abstract description 104
- 230000005540 biological transmission Effects 0.000 claims description 18
- 238000007726 management method Methods 0.000 description 62
- 238000013500 data storage Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 7
- 238000000034 method Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 3
- 241001522296 Erithacus rubecula Species 0.000 description 2
- 230000004075 alteration Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 206010038743 Restlessness Diseases 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
Classifications
-
- 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/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- 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/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0811—Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
-
- 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/103—Packet switching elements characterised by the switching fabric construction using a shared central buffer; using a shared memory
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
- H04L49/253—Routing or path finding in a switch fabric using establishment or release of connections between ports
- H04L49/254—Centralised controller, i.e. arbitration or scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3018—Input queuing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/28—Using a specific disk cache architecture
- G06F2212/283—Plural cache memories
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/625—Queue scheduling characterised by scheduling criteria for service slots or service orders
- H04L47/6255—Queue scheduling characterised by scheduling criteria for service slots or service orders queue load conditions, e.g. longest queue first
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/625—Queue scheduling characterised by scheduling criteria for service slots or service orders
- H04L47/6275—Queue scheduling characterised by scheduling criteria for service slots or service orders based on priority
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例公开了一种数据处理装置和终端,该装置中的输入交换模块的第一个输出端至第N个输出端分别与缓存模块包括的第一个缓存单元至第N个缓存单元的输入端连接;写仲裁器的控制端与输入交换模块的控制端连接;输出交换模块的第一个输入端至第N个输入端分别与第一个缓存单元至第N个缓存单元的输出端连接,输出交换模块的第一个输出端至第N个输出端分别与重排器的第一个输入端至第N个输入端连接;读仲裁器的控制端与输出交换模块的控制端连接;重排器的第一个输出端至第N个输出端分别与数据处理装置的第一个输出端至第N个输出端连接。本发明实施例可以提高缓存单元的利用率。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种数据处理装置和终端。
背景技术
数据存储和数据交换是通信设备中一项核心技术,目前的数据存储和交换过程如下:
通信设备通过输入端接收数据,再将数据存储在片内或者片外数据缓存中,在转发时,先从缓存中读取出数据,再将数据交换到目标输出端,进行数据输出。
另外,目前通信设备中每个数据输入端接收到的数据都是缓存至与该数据输入端对应的缓存,例如:通信设备包括输入端1、输入端2、输入端3…输入端n,而缓存包括缓存1、缓存2、缓存3…缓存n,这样输入端1接收到数据就存储至缓存1,输入端2接收到数据就存储至缓存2,输入端3接收到数据就存储至缓存3,输入端n接收到数据就存储至缓存n。然而在实际应用中,不同的输入端可能接收到的数据的量是不同的,这样就会导致不同的缓存所存储的数据的量不同,即不同的缓存的数据空间被占用量不同,例如:有些缓存的数据空间全部被占用,导致该缓存对应的输入端接收的数据无法存储,或者有些缓存的数据空间被占用的很少,导致该缓存的数据空间利用率低。可见,目前的通信设备中缓存利用不高。
发明内容
本发明实施例提供了一种数据处理装置和终端,可以解决通信设备中缓存利用不高的问题。
第一方面,本发明提供一种数据处理装置,包括:
输入交换模块、缓存模块、输出交换模块、写仲裁器、读仲裁器和重排器,所述缓存模块包括N个缓存单元,所述N为大于1的正整数,其中:
所述输入交换模块的第一个输入端至第N个输入端分别与所述数据处理装置的第一个输入端至第N个输入端连接,所述输入交换模块的第一个输出端至第N个输出端分别与所述缓存模块包括的第一个缓存单元至第N个缓存单元对应;
所述输出交换模块的第一个输入端至第N个输入端分别与所述第一个缓存单元至第N个缓存单元对应,所述输出交换模块的第一个输出端至第N个输出端分别与所述数据处理装置的第一个输出端至第N个输出端连接;所述输入交换模块用于获取所述数据处理装置的目标输入端传输的目标数据,所述目标输入端为所述数据处理装置中的一个或者多个输入端;
所述装置还包括:
写仲裁器,所述写仲裁器的控制端与所述输入交换模块的控制端连接,所述写仲裁器用于控制所述输入交换模块将所述目标数据存储至目标缓存单元中,所述目标缓存单元为所述N个缓存单元中的任意一个或者多个缓存单元;
读仲裁器,所述读仲裁器的控制端与所述输出交换模块的控制端连接,所述读仲裁器用于控制所述输出交换模块读取所述目标缓存单元中的所述目标数据;
重排器,所述重排器的第一个输出端至第N个输出端分别与所述数据处理装置的第一个输出端至第N个输出端连接;
所述读仲裁器还用于控制所述输出交换模块将所述目标数据传输至所述重排器的目标输入端,所述目标输入端为所述重排器中用于将数据传输至所述重排器的目标输出端的输入端,所述目标输出端为所述重排器中与所述目标数据的目的端口连接的输出端,所述目标数据的目的端口为目标数据处理装置中的一个或者多个的输出端;
所述重排器,用于当所述重排器的存储空间中存在目的端口与所述目标数据的目的端口相同的数据为多个时,对目的端口相同的数据进行排序,再按照所述排序结果将所述目的端口相同的数据输出至该目的端口。
结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述装置还包括:缓存管理模块,其中:
所述缓存管理模块的第一端与所述读仲裁器的地址输出端连接,所述缓存管理模块的第二端与所述写仲裁器的地址输入端连接;
所述写仲裁器用于从所述缓存管理模块获取所述目标缓存单元的目标地址,再将控制所述输入交换模块将所述目标数据存储至所述目标缓存单元的所述目标地址中;
所述读仲裁器用于控制所述输出交换模块读取所述目标缓存单元的所述目标地址中的所述目标数据,并将所述目标地址发送给所述缓存管理模块,控制所述输出交换模块将所述目标数据传输至所述重排器的所述目标输入端。
结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述写仲裁器用于统计所述缓存模块中每个缓存单元的数据存储状态,并根据所述数据存储状态从所述N个缓存单元中选择存在空闲存储空间的一个或者多个缓存单元作为目标缓存单元,并向所述缓存管理模块发送用于获取所述目标缓存单元的空闲存储空间的地址的请求信息;
所述缓存管理模块用于根据所述请求信息向所述写仲裁器发送所述目标缓存单元的目标地址,所述目标地址为空闲存储空间的地址;
所述写仲裁器还用于获取所述缓存管理模块传输的所述目标地址,并将控制所述输入交换模块将所述目标数据存储至所述目标地址中。
结合第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,所述写仲裁器的反馈接收端与所述读仲裁器的反馈端连接;
所述读仲裁器用于控制所述输出交换模块读取所述目标缓存单元的所述目标地址中的所述目标数据,并将所述目标地址发送给所述缓存管理模块,控制所述输出交换模块将所述目标数据传输至所述重排器的所述目标输入端,以及向所述写仲裁器反馈所述目标地址的存储的所述目标数据已经被读取的反馈信息;
所述写仲裁器还用于根据所述反馈信息更新所述目标缓存单元的数据存储状态。
结合第一方面的第三种可能的实现方式,在第一方面的第五种可能的实现方式中,所述写仲裁器用于统计所述缓存模块中每个缓存单元的数据存储状态,并根据所述目标数据的存储状态采用负载均衡算法或者最小负载优先算法,从所述N个缓存单元中选择存在空闲存储空间的一个或者多个缓存单元作为目标缓存单元,并向所述缓存管理模块发送用于获取所述目标缓存单元的空闲存储空间的地址的请求信息。
结合第一方面的第二种可能的实现方式,在第一方面的第六种可能的实现方式中,所述装置还包括:队列管理模块,其中:
所述队列管理模块的输入端与所述写仲裁器的输出端连接,所述队列管理模块的输出端与所述读仲裁器的第一输入端连接;
所述队列管理模块用于获取所述写仲裁器传输的数据信息,所述数据信息包括所述目标数据的源端口、目的端口和所述目标地址,以及基于所述数据信息生成包括所述目标数据的源端口、目的端口和所述目标地址的信源描述符CD,并将所述CD加入目标输出队列,以及在所述输出队列输出所述CD给所述读仲裁器,所述目标输出队列的源端口为所述目标数据的源端口,所述目标输出队列的目的端口为所述目标数据的目的端口;
所述读仲裁器用于获取所述队列管理模块传输的所述CD,并根据所述CD控制所述输出交换模块读取所述目标缓存单元的所述目标地址中的所述目标数据,并将所述目标地址发送给所述缓存管理模块,控制所述输出交换模块将所述目标数据传输至所述重排器的所述目标输入端。
结合第一方面的第六种可能的实现方式,在第一方面的第七种可能的实现方式中,所述重排器的反馈端与所述读仲裁器的反馈接收端连接;
当所述重排器的存储空间所存储的目的端口与所述目标数据的目的端口相同的缓存数据的数据量超过预设门限,且所述缓存数据不包括输入时间在所述缓存数据的输入时间之前的所述目标数据时,所述重排器向所述读仲裁器输出用于获取所述目标数据的请求消息;
所述读仲裁器用于获取所述队列管理模块传输的所述CD,以及获取所述重排器输出的所述请求消息,并根据所述请求消息以及所述CD控制所述输出交换模块读取所述目标缓存单元的所述目标地址中的所述目标数据,并将所述目标地址发送给所述缓存管理模块,控制所述输出交换模块将所述目标数据传输至所述重排器的所述目标输入端;
所述重排器还用于对所述缓存数据和所述目标数据进行排序,再按照对所述缓存数据和所述目标数据进行排序的结果将所述目的端口相同的数据输出至所述目的端口。
结合第一方面的第六种可能的实现方式,在第一方面的第八种可能的实现方式中,所述队列管理模块还用于为目的端口相同的数据分配序号,以及将所述目标数据的序号输出至所述读仲裁器;
所述读仲裁器还用于将所述目标数据的序号发送至所述重排器;
所述重排器还用于当所述重排器的存储空间中存在目的端口与所述目标数据的目的端口相同的数据为多个时,根据目的端口相同数据的序号对目的端口相同的数据进行排序,再按照根据目的端口相同数据的序号对目的端口相同的数据进行排序的结果将所述目的端口相同的数据输出至该目的端口。
结合第一方面的第二种可能的实现方式,在第一方面的第九种可能的实现方式中,所述数据处理装置的第一个输入端至第N个输入端还分别与所述写仲裁器的第一个输入端至第N个输入端连接;
所述写仲裁器用于获取所述数据处理装置的目标输入端输出的用于请求将所述目标数据写入所述缓存模块的写入请求,所述数据处理装置的目标输入端为所述数据处理装置包括N个输入端中的一个或者多个输入端;
所述写仲裁器还用于从所述缓存管理模块获取所述目标缓存单元的目标地址,以及将控制所述输入交换模块从所述数据处理装置的目标输入端中获取所述目标数据,再控制所述输入交换模块将所述目标数据存储至所述目标缓存单元的所述目标地址中。
第二方面,本发明提供一种终端,该终端包括本发明第一方面提供的任一一种数据处理装置。
上述技术方案中,由于数据处理装置的输入端是通过输入交换模块与缓存模块的N个缓存单元对应,这样输入交换模块可以将数据处理装置输入端传输的数据存储至缓存模块的任一个或者多个缓存单元,另外,输出交换模块还可以从存储单元中读取将发送至数据处理装置的输出端。相比现有技术中每个数据输入端接收到的数据都是缓存至与该数据输入端对应的缓存,本发明可以提高缓存单元的利用率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种数据处理装置的结构示意图;
图2是本发明实施例提供的另一种数据处理装置的结构示意图;
图3是本发明实施例提供的另一种数据处理装置的结构示意图;
图4是本发明实施例提供的另一种数据处理装置的结构示意图;
图5是本发明实施例提供的一种数据处理方法的流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的数据处理装置可以应用于任何具备数据处理功能的设备,对此本发明实施例不作限定。例如,数据处理装置应用的设备包括但不限于:服务器、基站、基站控制器、接入点设备、平板电脑、手机、电子阅读器、遥控器、个人计算机(PersonalComputer,PC)、笔记本电脑、车载设备、网络电视、可穿戴设备等具备数据处理功能的设备。
请参阅图1,图1是本发明实施例提供的一种数据处理装置的结构示意图,如图1所示,包括:输入交换模块11、缓存模块12和输出交换模块13,所述缓存模块13包括N个缓存单元,所述N为大于1的正整数,其中:
输入交换模块11的第一个输入端1101至第N个输入端110N分别与数据处理装置的第一个输入端0001至第N个输入端000N连接,所述输入交换模块11的第一个输出端1111至第N个输出端111N分别与所述缓存模块12包括的第一个缓存单元至第N个缓存单元对应;
输出交换模块13的第一个输入端1301至第N个输入端130N分别与所述第一个缓存单元至第N个缓存单元对应,输出交换模块13的第一个输出端1311至第N个输出端131N分别与所述数据处理装置的第一个输出端0011至第N个输出端001N连接。
上述输入交换模块11的输出端与缓存单元对应,可以理解为输入交换模块11的输出端可以向该输出端对应的缓存单元中写入数据;输出交换模块13的输入端与缓存单元对应,可以输出交换模块13的输入端可以从该输入端对应的缓存单元中读取数据。
另外,上述输入交换模块11的输出端以及输出交换模块13的输入端都可以是虚拟的端口。
另外,当上述缓存单元包括输入端和输出端时,输入交换模块11的第一个输出端1111至第N个输出端111N分别与所述缓存模块12包括的第一个缓存单元至第N个缓存单元对应,可以理解为输入交换模块11的第一个输出端1111至第N个输出端111N分别与所述缓存模块12包括的第一个缓存单元至第N个缓存单元的输入端连接。输出交换模块13的第一个输入端1301至第N个输入端130N分别与所述第一个缓存单元至第N个缓存单元对应,可以理解为输出交换模块13的第一个输入端1301至第N个输入端130N分别与所述第一个缓存单元至第N个缓存单元的输出端连接。
可选的,输入交换模块11可以是输入交换开关(Input Cross-Bar,IXBAR),其中,IXBAR可以包括N个N选1的选择器(例如:16个16选1的选择器)。输出交换模块13可以是输出交换开关(Output Cross-Bar,IXBAR)其中,OXBAR可以包括N个N选1的选择器(例如:16个16选1的选择器)。
可选的,上述缓存单元可以包括只读存储记忆体(Read-Only Memory,ROM)或随机存取存储器(Random Access Memory,RAM)。
上述技术方案中,由于数据处理装置的输入端是通过输入交换模块与缓存模块的N个缓存单元对应,这样输入交换模块可以将数据处理装置输入端传输的数据存储至缓存模块的任一个或者多个缓存单元,另外,输出交换模块还可以从存储单元中读取将发送至数据处理装置的输出端。相比现有技术中每个数据输入端接收到的数据都是缓存至与该数据输入端对应的缓存,本发明可以提高缓存单元的利用率。
可选的,如图2所示,所述装置还可以包括:写仲裁器14、读仲裁器15和重排器16,其中:
输入交换模块11可以用于获取所述数据处理装置的目标输入端传输的目标数据,所述目标输入端为所述数据处理装置中的一个或者多个输入端;
写仲裁器14的控制端1401与输入交换模块11的控制端连接1120,可以用于控制输入交换模块11将所述目标数据存储至目标缓存单元中,目标缓存单元为所述N个缓存单元中的任意一个或者多个缓存单元;
读仲裁器15的控制端1501与所述输出交换模块13的控制端连接1320,读仲裁器15可以用于控制输出交换模块13读取所述目标缓存单元中的所述目标数据;
输出交换模块13的第一个输出端1311至第N个输出端131N分别与所述重排器16的第一个输入端1601至第N个输入端连接160N;
重排器16的第一个输出端1611至第N个输出端161N分别与所述数据处理装置的第一个输出端0011至第N个输出端001N连接;
读仲裁器15还可以用于控制输出交换模块13将所述目标数据传输至重排器16的目标输入端,该目标输入端为重排器16中用于将数据传输至重排器16的目标输出端的输入端,该目标输出端为重排器16中与所述目标数据的目的端口连接的输出端,所述目标数据的目的端为所述目标数据处理装置中的一个或者多个的输出端;
重排器16可以用于当重排器16的存储空间中存在目的端口与所述目标数据的目的端口相同的数据为多个时,对目的端口相同的数据进行排序,再按照所述排序结果将所述目的端口相同的数据输出至该目的端口。
当然,重排器16还可以用于当重排器16的存储空间中存在目的端口与所述目标数据的目的端口相同的数据为一个时(例如:除了目标数据外,不存与所述目标数据的目的端口相同的数据,且目标数据为一个数据),将所述目标数据输出至该目的端口。
可选的,重排器16的每个输入端可以单独对应一个存储空间,且该输入端对应的存储空间还对应序号与该输入端序号相同的输出端,例如:第一输入端1601对应存储空间1,第一输出端1611也对应的存储空间1,即第一输入端1601接收到的数据存储在存储空间1,第一输出端1611再对存储空间1的数据进行输出。上述存储空间可以为存储空间。为以方便说明,输入端对应的存储空间可以理解序号与该输入端序号相同的输出端的存储空间。通过上述方式可以实现每个存储空间所存储的数据为同一目的端口的数据。
本实施例中,上述目标数据可以是指一个数据或者多个数据,当目标数据一个数据时,上述数据处理装置的目标输入端就可以为一个输入端,上述目标缓存单元可以为一个缓存单元,上述重排器16的目标输入端可以为一个输入端,重排器16的目标输出端可以为一个输出端。这样只需要重排器16的存储空间(例如:缓存空间)包括目标数据,以及包括另一个或者多个目的端口与目标数据的目的端口相同的数据时,重排器16就对这些数据进行排序,再按照所述排序结果将这些数据输出至该目的端口。其中,排序可以是按照先入先输出的原则进行排序,即同一个目的端口的数据按照在缓存单元中缓存时间的先后顺序进行输出。
另外,当上述目标数据多个数据时,上述数据处理装置的目标输入端就可以为一个输入端或者多个输入端,例如:一个输入端输入多个数据,或者多个输入端各输入一个数据;上述目标缓存单元可以为一个缓存单元或者多个缓存单元,例如:一个缓存单元缓存多个数据,或者多个缓存单元各缓存一个数据;上述重排器16的目标输入端可以为一个输入端或者多个输入端,例如,上述目标数据包括的多个数据的目标端口相同时,重排器16就可以对目标数据进行排序,再按照排序结果进行输出。或者当上述目标数据包括的多个数据的目标端口不相同时,重排器16就查看重排器16的存储空间是否存在其余的目的端口与这多个数据中的数据的目的端口相同的数据,若有,则分别对不同目的端口的数据进行排序,再按照排序结果进行输出。
例如:上述输入交换模块11通过第一个输入端1101接收数据处理装置的第一个输入端0001传输的目标数据,写仲裁器14再控制输入交换模块11将该目标数据缓存至缓存模块12的第二个缓存单元(例如:第二个缓存单元中存储的数据最少),即输入交换模块11将第一个输入端1101接收到目标数据从第二输出端1112输出至第二个缓存单元;当该目标数据需要输出时,读仲裁器15就可以控制输出交换模块13的第二个输入端1302从第二个缓存单元中读取出目标数据,另外,读仲裁器15发现目标数据的目的端口为数据处理装置的第三个输出端0013时,读仲裁器15就可以控制输出交换模块13将目标数据从第三个输出端1413输出至重排器16的第三个输入端1603,当重排器16的存储空间还包括另一个或者多个目的端口为数据处理装置的第三个输出端0013的数据时,重排器16就对这目的端口为数据处理装置的第三个输出端0013的多个数据进行排序,再按照排序结果将这些数据传输至数据处理装置的第三个输出端0013。
例如:上述输入交换模块11通过第一个输入端1101和第二个输入端1102分别接收数据处理装置的第一个输入端0001和第二输入端0002传输的第一数据和第二数据,写仲裁器14再控制输入交换模块11将该第一数据和第二数据分别缓存至缓存模块12的第三个缓存单元和第四个缓存单元(例如:第三个缓存单元和第四个缓存单元中存储的数据最少),即输入交换模块11将第一数据和第二数据分别从第三输出端1113和第四输出端1114输出至第三个缓存单元和第四缓存单元;当该第一数据和第二数据需要输出时,读仲裁器15就可以控制输出交换模块13的第三个输入端1303从第三个缓存单元中读取出第一数据,以及输出交换模块13的第四个输入端1304从第四个缓存单元中读取出第二数据,另外,读仲裁器15发现第一数据的目的端口为数据处理装置的第五个输出端0015,第二数据的目的端口为第六个输出端0016时,读仲裁器15就可以控制输出交换模块14将第一数据从第五个输出端1415输出至重排器16的第五个输入端1605,将第二数据从第六个输出端1416输出至重排器16的第六个输入端1606,当重排器16第五个输入端1605对应的存储空间包括多个数据时,即重排器16的存储空间包括多个目的端口为数据处理装置的第五个输出端0015的数据时,重排器16就对这目的端口为数据处理装置的第五个输出端0015的多个数据进行排序,再按照排序结果将这些数据传输至数据处理装置的第五个输出端0015。当重排器16第六个输入端1606对应的存储空间包括多个数据时,即重排器16的存储空间包括多个目的端口为数据处理装置的第六个输出端0016的数据时,重排器16就对这目的端口为数据处理装置的第六个输出端0016的多个数据进行排序,再按照排序结果将这些数据传输至数据处理装置的第六个输出端0015。
可见,本实施例中可以实现同时处理多个数据,即同时对多个数据进行缓存,以及同时对多个数据进行交换输出,以实现提高处理数据的效率。
可选的,如图3所示,所述数据处理装置还可以包括:缓存管理模块17,其中:
缓存管理模块17的第一端1701与所述读仲裁器15的地址输出端1502连接,缓存管理模块17的第二端1702与所述写仲裁器14的地址输入端1402连接;
写仲裁器14可以用于从缓存管理模块17获取所述目标缓存单元的目标地址,再将控制所述输入交换模块11将所述目标数据存储至所述目标缓存单元的所述目标地址中;
读仲裁器15可以用于控制所述输出交换模块13读取所述目标缓存单元的所述目标地址中的所述目标数据,并将所述目标地址发送给所述缓存管理模块17,控制所述输出交换模块13将所述目标数据传输至所述重排器的所述目标输入端。
可选的,当缓存管理模块17接收到上述目标地址时,缓存管理模块17就可以确定该目标地址存储的数据已经被读取,确定目标地址的存储空间为空闲状态。
该实施方式,可以实现由缓存管理模块17单独管理缓存模块12的各个缓存单元的地址,由于写仲裁14控制输入交换模块11输入的数据都是写在从缓存管理模块17获取的地址的存储空间中,而读仲裁器15从缓存模块12读出数据后,会将读取的数据的存储地址发送给缓存管理模块17,这样缓存管理模块17就可以知道缓存模块12中每个缓存单元中哪些地址存储了数据,哪些地址没有存储数据,从而实现对缓存模块12的地址的管理。
可选的,写仲裁器14可以用于统计缓存模块12中每个缓存单元的数据存储状态,并根据所述数据存储状态从所述N个缓存单元中选择存在空闲存储空间的一个或者多个缓存单元作为目标缓存单元,并向所述缓存管理模块17发送用于获取所述目标缓存单元的空闲存储空间的地址的请求信息;
缓存管理模块17可以用于根据所述请求信息向所述写仲裁器14发送所述目标缓存单元的目标地址,所述目标地址为空闲存储空间的地址;
写仲裁器14还可以用于获取所述缓存管理模块17传输的所述目标地址,并将控制所述输入交换模块11将所述目标数据存储至所述目标地址中。
可选的,由于是写仲裁器14从N个缓存单元中选择存在空闲存储空间的一个或者多个缓存单元作为目标缓存单元,再将目标数据存储至目标缓存单元,这样可以避免将目标数据存储至不存在空闲存储空间的缓存单元。另外,写仲裁器14还可以通过负载均衡算法或者最小负载优先算法等算法从缓存模块12的N个缓存单元中选择一个或者多个缓存单元作为目标缓存单元,例如:写仲裁器14可以用于统计所述缓存模块中每个缓存单元的数据存储状态,并根据所述目标数据的存储状态采用负载均衡算法或者最小负载优先算法,从所述N个缓存单元中选择存在空闲存储空间的一个或者多个缓存单元作为目标缓存单元,并向所述缓存管理模块发送用于获取所述目标缓存单元的空闲存储空间的地址的请求信息。其中,上述采用负载均衡算法或者最小负载优先算法可以是从上述N个缓存单元中选择存储数据量最少的一个作为上述目标缓存单元,或者从N个缓存单元中选择按照存储数据量从多到少排名中倒数一个或者多个缓存单元作为上述目标缓存单元。
可选的,写仲裁器14采用负载均衡算法可以包括:轮叫调度(round robin,RR)算法,其中,采用RR算法的过程如下:
当输入交换模块11接收到目标数据时,设置一个指针指示当前写入的第一个缓存单元。比如,当前指针指向3,而上述目标数据包括数据处理装置的5个输入端同时输入的数据,则实际的写入行为:第1个输入端0001的数据写入第3个缓存单元,第2个输入端0002写入第4缓存单元,依次类推。
可选的,写仲裁器14采用采用的最小负载优先方法的过程如下:对每个缓存单元中存储的数据进行计数,然后对计数进行排序,计数值最小(即存储的数据最少)的优先级最高。例如,现在有4个缓存单元,计数器值依次分别为10、20、15和18,则缓存单元分配优先级从高到低为:第一缓存单元、第三个缓存单元、第四个缓存单元、第二个缓存单元。此时如果数据处理装置有2个输入端有数据输入时,则前面第一个输入端的数据写入第一缓存单元,第二个输入端的数据写入第三个缓存单元。
当然,写仲裁器14在选择目标缓存单元时,包括但不需要上述列出的两种自满,写仲裁器14还可以采用其他的负载分担算法,在此不一一列出。
可选的,写仲裁器14的反馈接收端1403与读仲裁器15的反馈端1503连接;
读仲裁器15可以用于控制所述输出交换模块13读取所述目标缓存单元的所述目标地址中的所述目标数据,并将所述目标地址发送给所述缓存管理模块17,控制输出交换模块13将所述目标数据传输至所述重排器16的所述目标输入端,以及向写仲裁器14反馈所述目标地址的存储的所述目标数据已经被读取的反馈信息;
写仲裁器14还可以用于根据所述反馈信息更新所述目标缓存单元的数据存储状态。
该实施方式,可以实现读仲裁器15控制输出交换模块13从缓存模块12中每读取出一个数据,就向写仲裁器14反馈该数据读出,这样写仲裁器14就可以及时更新缓存模块12中每个缓存单元的数据存储状态。
可选的,如图4所示,装置还包括:队列管理模块18,其中:
队列管理模块18的输入端1801与所述写仲裁器14的输出端1404连接,队列管理模块18的输出端1802与读仲裁器15的第一输入端1504连接;
队列管理模块18用于获取所述写仲裁器14传输的数据信息,所述数据信息包括所述目标数据的源端口、目的端口和所述目标地址,以及基于所述数据信息生成包括所述目标数据的源端口、目的端口和所述目标地址的信源描述符CD,并将所述CD加入目标输出队列,以及在所述输出队列输出所述CD给所述读仲裁器15,所述目标输出队列的源端口为所述目标数据的源端口,所述目标输出队列的目的端口为所述目标数据的目的端口;
读仲裁器15可以用于获取队列管理模块18传输的所述CD,并根据所述CD控制所述输出交换模块13读取所述目标缓存单元的所述目标地址中的所述目标数据,并将所述目标地址发送给所述缓存管理模块17,控制所述输出交换模块14将所述目标数据传输至所述重排器16的所述目标输入端。
可选的,当上述目标数据包括多个数据时,写仲裁器14可以为每个数据发送上述数据信息,这样队列管理模块18就可以为每个数据生成CD。例如:上述目标数据包括数据处理装置的第一个输入端0001的第一数据和第二个输入端0002输入的第二数据,其中,第一数据的目的端口为数据处理装置的第三个输出端0013,第二数据的目的端口为数据处理装置的第四个输出端0014时,队列管理模块18可以将第一数据的CD加入第三输出队列,其中,第三队列的输入端为数据处理装置的第一个输入端0001,目的输出端为数据处理装置的第三个输出端0013;队列管理模块18可以将第二数据的CD加入第四输出队列,其中,第三队列的输入端为数据处理装置的第二个输入端0002,目的输出端为数据处理装置的第四个输出端0014。
可选的,队列管理模块18管理的输出队列可以是按照先入先输的原则进行管理。另外,队列管理模块18可以包括N乘以N个输出队列,例如:包括源端口为数据处理装置的第一个输入端0001,目的端口为数据处理装置的第一个输出端0011的输出队列,以及包括源端口为数据处理装置的第一个输入端0001,目的端口为数据处理装置的第N个输出端001N的输出队列,以及包括源端口为数据处理装置的第N个输入端000N,目的端口为数据处理装置的第一个输出端0011的输出队列。即队列管理模块18可以包括数据处理装置的任意输入端与任意输出端构成的输出队列,此处不一一列出。当然,这些队列可以是预先设置的,也可以是当任何一个输出队列对应的第一个数据到来时,设置的输出队列。
可选的,重排器16的反馈端1620与读仲裁器15的反馈接收端1505连接;当重排器16的存储空间所存储的目的端口与所述目标数据的目的端口相同的缓存数据,且所述缓存数据不包括输入时间在所述缓存数据的输入时间之前的所述目标数据时,重排器16可以向所述读仲裁器15输出用于获取所述目标数据的请求消息;
读仲裁器15可以用于获取所述队列管理模块传输的所述CD,以及获取所述重排器16输出的所述请求消息,并根据所述请求消息以及所述CD控制所述输出交换模块读取所述目标缓存单元的所述目标地址中的所述目标数据,并将所述目标地址发送给所述缓存管理模块17,控制所述输出交换模块14将所述目标数据传输至所述重排器16的所述目标输入端。
重排器16还可以用于对所述缓存数据和所述目标数据进行排序,再按照所述排序结果将所述目的端口相同的数据输出至所述目的端口。
可选的,上述存储空间所存储的目的端口与所述目标数据的目的端口相同的缓存数据,可以是重排器16中目标输出端的缓存空间所存储的目的端口与所述目标数据的目的端口相同的缓存数据。
该实施方式,可以实现当重排器16的目标输出端的乱序深度达到上述预设门限时,优先读取输入时间在目标输出端当前缓存的数据的输入时间之前的目标数据,从而保证重排器16的目标输出端不被阻塞。另外,当上述乱充深度比较低时,可以输出交换模块13可以读取多个数据至重排器16的输出端的缓存,以保证提高读取带宽。其中,上述乱序可以理解为重排器16的输出端的缓存所存储的数据并不是该输出端当前需要输出的数据,即重排器16的输出端当前需要输出的数据,未存储在该输出端的缓存。下面以一个实例进行介绍:
队列管理模块17可以向读仲裁器15同时输出多个CD,或者在不同的时候输出多个CD。例如:当这多个CD包括CD1、CD2、CD3和CD4时,其中,CD1对应的第一数据存储在目标缓存单元,CD2对应的目标数据也存储在目标缓存单元,CD3对应的第三数据存储在第一个数据单元,CD4对应的第四数据存储在第二个缓存单元;另外,目标数据、第三数据和第四数据的CD属于同一输出队列,即目标数据、第三数据和第四数据的源端口和目的端口相同,且CD2在该输出队列中位于CD3和CD4之前,即目标数据输入时间在第三数据和第四数据之前。这样当读仲裁器15同时接收到CD1、CD2、CD3和CD4时,读仲裁器15可能是先就控制输出交换模块13将第一数据读取至重排器16,由于读仲裁器15不能控制输出交换模块13同时读取同一个缓存单元中的两个数据,即在读仲裁器15控制输出交换模块13读取第一数据时,读仲裁器16不能控制输出交换模块13读取目标数据,这时读仲裁器15就会控制输出交换模块13读取第三数据和第四数据,这样第三数据和第四位置就会优先缓存至重排器16的目标输出端的缓存,但重排器16必须是按照先入先出的顺序进行输出,重排器16在未接收到目标数据之前不能输出第三数据和第四数据,此时可以称为乱序。当上述预设门限设置为2个数据时,这样重排器16就可以向读仲裁器15发送获取所述目标数据的请求消息,读仲裁器15就可以控制输出交换模块13优先读取目标数据。
可选的,当重排器16的所述目标输出端的缓存所存储的缓存数据量超过预设门限,且所述缓存数据不包括缓存模块12存储的且目的端口为所述目标输出端的输入时间最早的所述目标数据时,重排器16可以向所述读仲裁器15输出用于获取所述目标数据的请求消息。该实施方式中,可以实现当重排器16的目标输出端乱序深度达到上述预设门限时,优先读取输入时间最早的数据,从而保证重排器16的目标输出端不被阻塞。
可选的,上述数据的输入时间可以是指输入交换模块11获取数据的获取时间,其中,表示数据的输入时间可以通过数据序号表示,例如:输入时间越早的数据的序号越小,如最早输入的数据的序号为0,然而其次为1。另外,数据的序号可以是队列管理模块17生成的,因为输入交换模块11每向存储单元写入一个数据时,都可以向队列管理模块17发送该数据的数据信息,这样队列管理模块17就可以根据该数据的输入时间以及目的端口为该数据生成一个序号。另外,队列管理模块17在为数据生成序号时,可以是以目的端口进行队列区分,即目的端口相同的数据为一个队列,再为每个队列中数据按照输入时间的先后生成序号。从而实现每个数据的序号用于表示该数据在相应队列中的输出顺序,以保证先入先出。例如:队列管理模块17还可以用于为目的端口相同的数据分配序号,以及将所述目标数据的序号输出至所述读仲裁器15。
读仲裁器15还可以用于将所述目标数据的序号发送至重排器16;具体可以是通过输出交换模块13将所述目标数据的序号发送至所述重排器16,例如,向重排器16发送目标数据时,该目标数据携带有序号。
重排器16还可以用于当重排器16的存储空间中存在目的端口与所述目标数据的目的端口相同的数据为多个时,根据目的端口相同数据的序号对目的端口相同的数据进行排序,再按照所述排序结果将所述目的端口相同的数据输出至该目的端口。
该实施方式,可以保证输出数据时,采用先入先出的原则进行输出。
可选的,所述数据处理装置的第一个输入端0001至第N个输入端000N还分别与所述写仲裁器13的第一个输入端1351至第N个输入端135N连接;
写仲裁器13可以用于获取所述数据处理装置的目标输入端输出的用于请求将所述目标数据写入所述缓存模块12的写入请求,数据处理装置的目标输入端为所述数据处理装置包括N个输入端中的一个或者多个输入端;
写仲裁器13还可以用于从缓存管理模块17获取目标缓存单元的目标地址,以及将控制所述输入交换模块11从所述数据处理装置的目标输入端中获取所述目标数据,再控制所述输入交换模块11将所述目标数据存储至所述目标缓存单元的所述目标地址中。
该实施方式中,可以实现每输入一个数据,都写仲裁器13控制,这样可以保证数据输入不会错乱。
可选的,本实施例还提供一种终端,该终端可以包括本发明实施例中提供的任一实施方式的数据处理装置。
请参阅图5,图5是本发明实施例提供的一种数据处理方法的流程示意图,如图5,所示,包括:
501、接收目标数据;
502、向写仲裁提出目标数据写入请求;
503、写仲裁器根据各缓存单元的数据存储状态,选择至少一个缓存单元作为目标缓存单元,并向缓存管理模块获取目标缓存单元的地址信息;
504、写仲裁器控制输入交换模块将目标数据写入目标缓存单元;
505、写仲裁器将目标数据的源端口、目的端口和上述地址信息发送给队列管理模块;
506、队列管理模块生成包括目标数据的源端口、目的端口和上述地址信息的CD,并将该CD写对应的输出队列;
507、队列管理模块向读仲裁器输出上述CD;
508、读仲裁器向输出交换模块输出读取目标数据的请求;
509、输出交换模块从目标缓存单元中读取目标数据传输到重排器进行排序;
510、读仲裁器将上述地址信息发送给缓存管理模块进行回收;
511、重排器排序完后,将目标数据从对应的目的端口输出。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (10)
1.一种数据处理装置,其特征在于,包括:输入交换模块、缓存模块、输出交换模块,所述缓存模块包括N个缓存单元,所述N为大于1的正整数,其中:
所述输入交换模块的第一个输入端至第N个输入端分别与所述数据处理装置的第一个输入端至第N个输入端连接,所述输入交换模块的第一个输出端至第N个输出端分别与所述缓存模块包括的第一个缓存单元至第N个缓存单元对应;
所述输出交换模块的第一个输入端至第N个输入端分别与所述第一个缓存单元至第N个缓存单元对应,所述输出交换模块的第一个输出端至第N个输出端分别与所述数据处理装置的第一个输出端至第N个输出端连接;
所述输入交换模块用于获取所述数据处理装置的目标输入端传输的目标数据,所述目标输入端为所述数据处理装置中的一个或者多个输入端;
所述装置还包括:写仲裁器、读仲裁器和重排器,其中:
所述写仲裁器的控制端与所述输入交换模块的控制端连接,所述写仲裁器用于控制所述输入交换模块将所述目标数据存储至目标缓存单元中,所述目标缓存单元为所述N个缓存单元中的任意一个或者多个缓存单元;
所述读仲裁器的控制端与所述输出交换模块的控制端连接,所述读仲裁器用于控制所述输出交换模块读取所述目标缓存单元中的所述目标数据;
所述输出交换模块的第一个输出端至第N个输出端分别与所述重排器的第一个输入端至第N个输入端连接;
所述重排器的第一个输出端至第N个输出端分别与所述数据处理装置的第一个输出端至第N个输出端连接;
所述读仲裁器还用于控制所述输出交换模块将所述目标数据传输至所述重排器的目标输入端,所述目标输入端为所述重排器中用于将数据传输至所述重排器的目标输出端的输入端,所述目标输出端为所述重排器中与所述目标数据的目的端口连接的输出端,所述目标数据的目的端口为目标数据处理装置中的一个或者多个的输出端;
所述重排器,用于当所述重排器的存储空间中存在目的端口与所述目标数据的目的端口相同的数据为多个时,对目的端口相同的数据进行排序,再按照所述排序结果将所述目的端口相同的数据输出至该目的端口。
2.如权利要求1所述的装置,其特征在于,所述装置还包括:缓存管理模块,其中:
所述缓存管理模块的第一端与所述读仲裁器的地址输出端连接,所述缓存管理模块的第二端与所述写仲裁器的地址输入端连接;
所述写仲裁器用于从所述缓存管理模块获取所述目标缓存单元的目标地址,再将控制所述输入交换模块将所述目标数据存储至所述目标缓存单元的所述目标地址中;
所述读仲裁器用于控制所述输出交换模块读取所述目标缓存单元的所述目标地址中的所述目标数据,并将所述目标地址发送给所述缓存管理模块,控制所述输出交换模块将所述目标数据传输至所述重排器的所述目标输入端。
3.如权利要求2所述的装置,其特征在于,所述写仲裁器用于统计所述缓存模块中每个缓存单元的数据存储状态,并根据所述数据存储状态从所述N个缓存单元中选择存在空闲存储空间的一个或者多个缓存单元作为目标缓存单元,并向所述缓存管理模块发送用于获取所述目标缓存单元的空闲存储空间的地址的请求信息;
所述缓存管理模块用于根据所述请求信息向所述写仲裁器发送所述目标缓存单元的目标地址,所述目标地址为空闲存储空间的地址;
所述写仲裁器还用于获取所述缓存管理模块传输的所述目标地址,并将控制所述输入交换模块将所述目标数据存储至所述目标地址中。
4.如权利要求3所述的装置,其特征在于,所述写仲裁器的反馈接收端与所述读仲裁器的反馈端连接;
所述读仲裁器用于控制所述输出交换模块读取所述目标缓存单元的所述目标地址中的所述目标数据,并将所述目标地址发送给所述缓存管理模块,控制所述输出交换模块将所述目标数据传输至所述重排器的所述目标输入端,以及向所述写仲裁器反馈所述目标地址的存储的所述目标数据已经被读取的反馈信息;
所述写仲裁器还用于根据所述反馈信息更新所述目标缓存单元的数据存储状态。
5.如权利要求3所述的装置,其特征在于,所述写仲裁器用于统计所述缓存模块中每个缓存单元的数据存储状态,并根据所述目标数据的存储状态采用负载均衡算法或者最小负载优先算法,从所述N个缓存单元中选择存在空闲存储空间的一个或者多个缓存单元作为目标缓存单元,并向所述缓存管理模块发送用于获取所述目标缓存单元的空闲存储空间的地址的请求信息。
6.如权利要求2所述的装置,其特征在于,所述装置还包括:队列管理模块,其中:
所述队列管理模块的输入端与所述写仲裁器的输出端连接,所述队列管理模块的输出端与所述读仲裁器的第一输入端连接;
所述队列管理模块用于获取所述写仲裁器传输的数据信息,所述数据信息包括所述目标数据的源端口、目的端口和所述目标地址,以及基于所述数据信息生成包括所述目标数据的源端口、目的端口和所述目标地址的信源描述符CD,并将所述CD加入目标输出队列,以及在所述输出队列输出所述CD给所述读仲裁器,所述目标输出队列的源端口为所述目标数据的源端口,所述目标输出队列的目的端口为所述目标数据的目的端口;
所述读仲裁器用于获取所述队列管理模块传输的所述CD,并根据所述CD控制所述输出交换模块读取所述目标缓存单元的所述目标地址中的所述目标数据,并将所述目标地址发送给所述缓存管理模块,控制所述输出交换模块将所述目标数据传输至所述重排器的所述目标输入端。
7.如权利要求6所述的装置,其特征在于,所述重排器的反馈端与所述读仲裁器的反馈接收端连接;
当所述重排器的存储空间所存储的目的端口与所述目标数据的目的端口相同的缓存数据的数据量超过预设门限,且所述缓存数据不包括输入时间在所述缓存数据的输入时间之前的所述目标数据时,所述重排器向所述读仲裁器输出用于获取所述目标数据的请求消息;
所述读仲裁器用于获取所述队列管理模块传输的所述CD,以及获取所述重排器输出的所述请求消息,并根据所述请求消息以及所述CD控制所述输出交换模块读取所述目标缓存单元的所述目标地址中的所述目标数据,并将所述目标地址发送给所述缓存管理模块,控制所述输出交换模块将所述目标数据传输至所述重排器的所述目标输入端;
所述重排器还用于对所述缓存数据和所述目标数据进行排序,再按照对所述缓存数据和所述目标数据进行排序的结果将所述目的端口相同的数据输出至所述目的端口。
8.如权利要求6所述的装置,其特征在于,所述队列管理模块还用于为目的端口相同的数据分配序号,以及将所述目标数据的序号输出至所述读仲裁器;
所述读仲裁器还用于将所述目标数据的序号发送至所述重排器;
所述重排器还用于当所述重排器的存储空间中存在目的端口与所述目标数据的目的端口相同的数据为多个时,根据目的端口相同数据的序号对目的端口相同的数据进行排序,再按照根据目的端口相同数据的序号对目的端口相同的数据进行排序的结果将所述目的端口相同的数据输出至该目的端口。
9.如权利要求2所述的装置,其特征在于,所述数据处理装置的第一个输入端至第N个输入端还分别与所述写仲裁器的第一个输入端至第N个输入端连接;
所述写仲裁器用于获取所述数据处理装置的目标输入端输出的用于请求将所述目标数据写入所述缓存模块的写入请求,所述数据处理装置的目标输入端为所述数据处理装置包括N个输入端中的一个或者多个输入端;
所述写仲裁器还用于从所述缓存管理模块获取所述目标缓存单元的目标地址,以及将控制所述输入交换模块从所述数据处理装置的目标输入端中获取所述目标数据,再控制所述输入交换模块将所述目标数据存储至所述目标缓存单元的所述目标地址中。
10.一种终端,其特征在于,包括:如权利要求1-9中任一项所述的数据处理装置。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410181402.6A CN103955436B (zh) | 2014-04-30 | 2014-04-30 | 一种数据处理装置和终端 |
PCT/CN2015/077777 WO2015165398A1 (zh) | 2014-04-30 | 2015-04-29 | 一种数据处理装置和终端 |
EP15786051.1A EP3131017B1 (en) | 2014-04-30 | 2015-04-29 | Data processing device and terminal |
US15/337,612 US10169280B2 (en) | 2014-04-30 | 2016-10-28 | Data processing apparatus and terminal |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410181402.6A CN103955436B (zh) | 2014-04-30 | 2014-04-30 | 一种数据处理装置和终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103955436A CN103955436A (zh) | 2014-07-30 |
CN103955436B true CN103955436B (zh) | 2018-01-16 |
Family
ID=51332711
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410181402.6A Active CN103955436B (zh) | 2014-04-30 | 2014-04-30 | 一种数据处理装置和终端 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10169280B2 (zh) |
EP (1) | EP3131017B1 (zh) |
CN (1) | CN103955436B (zh) |
WO (1) | WO2015165398A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103955436B (zh) * | 2014-04-30 | 2018-01-16 | 华为技术有限公司 | 一种数据处理装置和终端 |
CN106330834B (zh) * | 2015-06-30 | 2020-02-14 | 华为技术有限公司 | 一种虚拟通道连接建立方法及装置 |
US10467195B2 (en) | 2016-09-06 | 2019-11-05 | Samsung Electronics Co., Ltd. | Adaptive caching replacement manager with dynamic updating granulates and partitions for shared flash-based storage system |
US10455045B2 (en) | 2016-09-06 | 2019-10-22 | Samsung Electronics Co., Ltd. | Automatic data replica manager in distributed caching and data processing systems |
KR20180079584A (ko) * | 2016-12-30 | 2018-07-11 | 에스케이하이닉스 주식회사 | 컨트롤러 및 컨트롤러의 동작 방법 |
CN106886498B (zh) | 2017-02-28 | 2020-06-26 | 华为技术有限公司 | 数据处理装置和终端 |
CN108572930B (zh) * | 2017-03-14 | 2021-09-10 | 航天信息股份有限公司 | 缓存控制方法及装置 |
CN111124953B (zh) * | 2019-12-18 | 2021-04-27 | 海光信息技术股份有限公司 | 数据交换方法、装置、处理器及计算机系统 |
CN114450672A (zh) * | 2020-11-06 | 2022-05-06 | 深圳市大疆创新科技有限公司 | 存储器的访问控制方法、装置和存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102857446A (zh) * | 2011-06-30 | 2013-01-02 | 中兴通讯股份有限公司 | 以太网交换芯片的缓存管理方法及装置 |
CN103117962A (zh) * | 2013-01-21 | 2013-05-22 | 西安空间无线电技术研究所 | 一种星载共享存储交换装置 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5440752A (en) * | 1991-07-08 | 1995-08-08 | Seiko Epson Corporation | Microprocessor architecture with a switch network for data transfer between cache, memory port, and IOU |
EP0884876B1 (en) * | 1997-05-31 | 2010-02-03 | Texas Instruments Incorporated | Improved packet switching |
US6501757B1 (en) * | 2000-02-29 | 2002-12-31 | Centre For Development Of Telematics | ATM switch |
DE10243278A1 (de) | 2002-09-18 | 2004-03-25 | Volkswagen Ag | Vorrichtung zur Synchronisierung eines Doppelkupplungsgetriebes |
US7076609B2 (en) * | 2002-09-20 | 2006-07-11 | Intel Corporation | Cache sharing for a chip multiprocessor or multiprocessing system |
US7555593B1 (en) * | 2006-01-31 | 2009-06-30 | Netlogic Microsystems, Inc. | Simultaneous multi-threading in a content addressable memory |
JP4867778B2 (ja) * | 2007-05-07 | 2012-02-01 | 株式会社日立製作所 | 分散型スイッチファブリックシステム |
US8359417B2 (en) * | 2010-07-16 | 2013-01-22 | Miranda Technologies Inc. | Audio/video router |
WO2013033882A1 (en) * | 2011-09-05 | 2013-03-14 | Huawei Technologies Co., Ltd. | A method and apparatus for storing data |
CN103955436B (zh) * | 2014-04-30 | 2018-01-16 | 华为技术有限公司 | 一种数据处理装置和终端 |
-
2014
- 2014-04-30 CN CN201410181402.6A patent/CN103955436B/zh active Active
-
2015
- 2015-04-29 EP EP15786051.1A patent/EP3131017B1/en active Active
- 2015-04-29 WO PCT/CN2015/077777 patent/WO2015165398A1/zh active Application Filing
-
2016
- 2016-10-28 US US15/337,612 patent/US10169280B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102857446A (zh) * | 2011-06-30 | 2013-01-02 | 中兴通讯股份有限公司 | 以太网交换芯片的缓存管理方法及装置 |
CN103117962A (zh) * | 2013-01-21 | 2013-05-22 | 西安空间无线电技术研究所 | 一种星载共享存储交换装置 |
Also Published As
Publication number | Publication date |
---|---|
US20170046296A1 (en) | 2017-02-16 |
US10169280B2 (en) | 2019-01-01 |
EP3131017A1 (en) | 2017-02-15 |
WO2015165398A1 (zh) | 2015-11-05 |
CN103955436A (zh) | 2014-07-30 |
EP3131017B1 (en) | 2019-01-02 |
EP3131017A4 (en) | 2017-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103955436B (zh) | 一种数据处理装置和终端 | |
CN103647807B (zh) | 一种信息缓存方法、装置和通信设备 | |
CN101873253B (zh) | 带缓冲的纵横式交换机系统 | |
CN106537858B (zh) | 一种队列管理的方法和装置 | |
CN103914341B (zh) | 数据队列出队管控方法和装置 | |
CN104796337A (zh) | 一种转发报文的方法及装置 | |
US10917361B2 (en) | Data processing apparatus and terminal | |
CN109558344A (zh) | 一种适用于网络传输的dma传输方法及dma控制器 | |
CN110995598B (zh) | 一种变长报文数据处理方法和调度装置 | |
JP7074839B2 (ja) | パケット処理 | |
CN107145459A (zh) | 一种级联板、ssd远程共享访问的系统和方法 | |
CN108090018A (zh) | 数据交换方法及系统 | |
CN103581050B (zh) | 一种以太网数据汇聚方法 | |
CN101753580B (zh) | 包处理芯片及其数据存储、转发方法 | |
CN107018087A (zh) | 数据通信方法及系统 | |
CN102902593B (zh) | 基于缓存机制的协议分发处理系统 | |
CN105512075B (zh) | 高速输出、输入接口电路及数据传输方法 | |
CN103905339A (zh) | 电脑仲裁系统、其带宽分配设备以及方法 | |
WO2019095942A1 (zh) | 一种数据传输方法及通信设备 | |
CN109495400A (zh) | 光纤网络交换机 | |
CN110096456A (zh) | 一种高速率大容量缓存方法与装置 | |
CN106372013A (zh) | 远程内存访问方法、装置和系统 | |
CN103384225A (zh) | 基于输入交叉点缓存快速分组交换网络的流量控制方法 | |
US10069767B1 (en) | Method of dynamically allocating buffers for packet data received onto a networking device | |
CN105743803B (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 |