CN103389950A - 一种基于能力预测的防阻塞多通道数据传输方法 - Google Patents

一种基于能力预测的防阻塞多通道数据传输方法 Download PDF

Info

Publication number
CN103389950A
CN103389950A CN2013103014853A CN201310301485A CN103389950A CN 103389950 A CN103389950 A CN 103389950A CN 2013103014853 A CN2013103014853 A CN 2013103014853A CN 201310301485 A CN201310301485 A CN 201310301485A CN 103389950 A CN103389950 A CN 103389950A
Authority
CN
China
Prior art keywords
buffer
instruction
data
address
level cache
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
CN2013103014853A
Other languages
English (en)
Other versions
CN103389950B (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.)
Wuhan Zhongyuan Huadian Science & Technology Co., Ltd.
State Grid Anhui Electric Power Co Ltd
Original Assignee
Wuhan Zhongyuan Huadian Science & Technology Co Ltd
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 Wuhan Zhongyuan Huadian Science & Technology Co Ltd filed Critical Wuhan Zhongyuan Huadian Science & Technology Co Ltd
Priority to CN201310301485.3A priority Critical patent/CN103389950B/zh
Publication of CN103389950A publication Critical patent/CN103389950A/zh
Application granted granted Critical
Publication of CN103389950B publication Critical patent/CN103389950B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供的一种基于能力预测的防阻塞多通道数据传输方法,包括数据接收和数据发送两部分,采用了多级缓存结构和主动式DMA技术并结合了能力预测机制。本发明的技术方案减少了CPU同外设之间的交互信息,降低了带宽的占用,释放了CPU资源并节省了芯片资源,从而避免了多功能外设各虚拟设备间的相互阻塞并保证了各虚拟设备的传输带宽。

Description

一种基于能力预测的防阻塞多通道数据传输方法
技术领域
本发明涉及数据传输领域,具体涉及一种基于能力预测的防阻塞多通道数据传输方法。
背景技术
目前,主机同多功能外设之间通过高速接口传输数据,“多功能外设”指的是实现了多种相同或不同速率虚拟设备的外设。例如,电能质量检测设备,通常会在一个可编程芯片上实现FT3, Ethernet, AD采集,DA转换等多种虚拟设备,而可编程芯片和CPU之间采用PCIE之类的高速接口。现有技术中大多采用CPU同外设间交互描述符的方式进行数据的收发:芯片内部为各虚拟设备开辟发送缓冲池,外设根据缓冲池的状态调度发送数据。但是,采用这种数据传输方式时, CPU同外设之间每传递一个报文需要交互两次描述符信息,占用传输带宽;此外,描述符存在外设中,需要消耗较多的片上内存。
发明内容
有鉴于此,本发明提供了一种基于能力预测的防阻塞多通道数据传输方法,通过采用多级缓存结构和主动式DMA技术并结合能力预测机制,避免了多功能外设各虚拟设备间的相互阻塞并保证了各虚拟设备的传输带宽。
本发明提供了一种基于能力预测的防阻塞多通道数据传输方法,包括数据接收和数据发送两部分,其中,
所述数据接收包括如下步骤:
步骤1.1:在CPU中创建地址缓存,将地址缓存的相关信息写入可编程逻辑器件;
步骤1.2:在CPU中创建报文缓存,将报文缓存的地址依次写入地址缓存中,并更新可编程逻辑器件中地址缓存的写指针;
步骤1.3:实时判断地址缓存中是否存储有报文缓存的地址信息,并且判断可编程逻辑器件的一级缓存是否有缓存能力;
步骤1.4:如果地址缓存中存储有报文缓存的地址信息并且一级缓存有缓存能力,则将报文缓存的地址信息从地址缓存中搬移到一级缓存中,并更新地址缓存的读指针;否则转入步骤1.3;
步骤1.5:当多通道中的某一通道有数据到达时,判断该通道对应的一级缓存中是否有地址信息;
步骤1.6:如果一级缓存中有地址信息,则采用一级缓存中的地址对数据进行封装后发送给CPU并更新一级缓存的缓存能力;否则不对数据进行封装和发送;
所述数据发送包括如下步骤:
步骤2.1:在CPU中创建指令缓存,将指令缓存的相关信息写入可编程逻辑器件;
步骤2.2:当应用层有数据发送时,将待发送数据的相关信息写入所述指令缓存中,并更新可编程逻辑器件中指令缓存的写指针;
步骤2.3:实时判断指令缓存中是否有可取的指令,并且判断可编程逻辑器件的一级缓存是否有缓存能力;
步骤2.4:如果指令缓存中存储有可取的指令并且一级缓存有缓存能力,则将可取的指令从指令缓存中搬移到一级缓存中,并更新指令缓存的读指针;否则转入步骤2.3;
步骤2.5:从多通道中的某一通道的一级缓存中取出指令并与该通道的发送能力做比较;
步骤2.6:如果该发送通道的发送能力大于等于待发送数据的长度,则减少该通道的发送能力,然后将待发送数据从CPU内存载入到可编程逻辑器件的数据缓存中,最后将待发送数据从该通道进行发送。
优选地,在所述步骤1.3中,通过实时检测地址缓存的写指针,并与地址缓存的读指针进行对比,确定地址缓存中是否存储有报文缓存的地址信息。
优选地,在所述步骤1.4中,计算可预取的地址数量,将相应数量的报文缓存的地址信息从地址缓存中搬移到一级缓存中。
优选地,在所述步骤2.3中,通过实时检测指令缓存的写指针,并与指令缓存的读指针进行对比,确定指令缓存中是否有可取的指令。
优选地,在所述步骤2.4中,计算可预取的指令数量,将相应数量的指令从指令缓存中搬移到一级缓存中。
优选地,所述地址缓存和指令缓存是二级缓存。
由上述技术方案可知,本发明的一种基于能力预测的防阻塞多通道数据传输方法,通过采用多级缓存结构和主动式DMA技术并结合能力预测机制,减少了CPU同外设之间的交互信息,降低了带宽的占用,释放了CPU资源并节省了芯片资源,从而避免了多功能外设各虚拟设备间的相互阻塞并保证了各虚拟设备的传输带宽。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面对本发明实施例中的技术方案进行进一步的描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明一实施例提供的一种基于能力预测的防阻塞多通道数据传输方法,包括数据接收和数据发送两部分,其中,
所述数据接收包括如下步骤:
步骤1.1:在CPU中创建地址缓存,将地址缓存的相关信息写入可编程逻辑器件;
可选地,所述地址缓存可以是二级缓存,该二级缓存的队列深度可以为2^N;可以将该地址缓存的队列首地址,深度等信息写入可编程逻辑器件;
步骤1.2:在CPU中创建报文缓存,将报文缓存的地址依次写入地址缓存中,并更新可编程逻辑器件中地址缓存的写指针;
可选地,可以申请2^N个报文缓存;
步骤1.3:实时判断地址缓存中是否存储有报文缓存的地址信息,并且判断可编程逻辑器件的一级缓存是否有缓存能力;
可选地,可以对地址缓存的写指针进行实时检测,并与地址缓存的读指针进行对比,从而判断地址缓存中是否存储有报文缓存的地址信息。
步骤1.4:如果地址缓存中存储有报文缓存的地址信息并且一级缓存有缓存能力,则将报文缓存的地址信息从地址缓存中搬移到一级缓存中,并更新地址缓存的读指针;否则转入步骤1.3;
可选地,可以通过计算确定可预取的地址数量,将相应数量的报文缓存的地址信息从地址缓存中搬移到一级缓存中。每个通道的地址缓存和一级缓存是相互独立设置的。
步骤1.5:当多通道中的某一通道有数据到达时,判断该通道对应的一级缓存中是否有地址信息;
步骤1.6:如果一级缓存中有地址信息,则采用一级缓存中的地址对数据进行封装后发送给CPU并更新一级缓存的缓存能力;否则不对数据进行封装和发送;
所述数据发送包括如下步骤:
步骤2.1:在CPU中创建指令缓存,将指令缓存的相关信息写入可编程逻辑器件;
可选地,所述指令缓存可以是二级缓存,该二级缓存的队列深度可以为2^N;可以将该指令缓存的队列首地址,深度等信息写入可编程逻辑器件;
步骤2.2:当应用层有数据发送时,将待发送数据的相关信息写入所述指令缓存中,并更新可编程逻辑器件中指令缓存的写指针;
可选地,所述相关信息可以是待发送数据的地址信息,长度信息等;
步骤2.3:实时判断指令缓存中是否有可取的指令,并且判断可编程逻辑器件的一级缓存是否有缓存能力;
可选地,可以对指令缓存的写指针进行实时检测,并与指令缓存的读指针进行对比,从而判断指令缓存中是否有可取的指令;
步骤2.4:如果指令缓存中存储有可取的指令并且一级缓存有缓存能力,则将可取的指令从指令缓存中搬移到一级缓存中,并更新指令缓存的读指针;否则转入步骤2.3;
可选地,可以通过计算确定可预取的指令数量,然后将相应数量的指令从指令缓存中搬移到一级缓存中;每个通道的指令缓存和一级缓存是相互独立设置的;
步骤2.5:从多通道中的某一通道的一级缓存中取出指令并与该通道的发送能力做比较;
可选地,可以取出指令,并对比该指令记载的数据长度与相应通道的发送能力,确定是否能够将待发送数据从该通道进行发送;
步骤2.6:如果该发送通道的发送能力大于等于待发送数据的长度,则减少该通道的发送能力,然后将待发送数据从CPU内存载入到可编程逻辑器件的数据缓存中,最后将待发送数据从该通道进行发送。
可选地,发送通道将数据发送成功后,发送能力相应增加;通过这种能力计算控制,可以做到对每个通道按需分配,防止阻塞。
由上述技术方案可知,本发明的一种基于能力预测的防阻塞多通道数据传输方法,通过采用多级缓存结构和主动式DMA技术并结合能力预测机制,减少了CPU同外设之间的交互信息,降低了带宽的占用,释放了CPU资源并节省了芯片资源,从而避免了多功能外设各虚拟设备间的相互阻塞并保证了各虚拟设备的传输带宽。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换,而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (6)

1.一种基于能力预测的防阻塞多通道数据传输方法,其特征在于,所述方法包括数据接收和数据发送两部分,其中,
所述数据接收包括如下步骤:
步骤1.1:在CPU中创建地址缓存,将地址缓存的相关信息写入可编程逻辑器件;
步骤1.2:在CPU中创建报文缓存,将报文缓存的地址依次写入地址缓存中,并更新可编程逻辑器件中地址缓存的写指针;
步骤1.3:实时判断地址缓存中是否存储有报文缓存的地址信息,并且判断可编程逻辑器件的一级缓存是否有缓存能力;
步骤1.4:如果地址缓存中存储有报文缓存的地址信息并且一级缓存有缓存能力,则将报文缓存的地址信息从地址缓存中搬移到一级缓存中,并更新地址缓存的读指针;否则转入步骤1.3;
步骤1.5:当多通道中的某一通道有数据到达时,判断该通道对应的一级缓存中是否有地址信息;
步骤1.6:如果一级缓存中有地址信息,则采用一级缓存中的地址对数据进行封装后发送给CPU并更新一级缓存的缓存能力;否则不对数据进行封装和发送;
所述数据发送包括如下步骤:
步骤2.1:在CPU中创建指令缓存,将指令缓存的相关信息写入可编程逻辑器件;
步骤2.2:当应用层有数据发送时,将待发送数据的相关信息写入所述指令缓存中,并更新可编程逻辑器件中指令缓存的写指针;
步骤2.3:实时判断指令缓存中是否有可取的指令,并且判断可编程逻辑器件的一级缓存是否有缓存能力;
步骤2.4:如果指令缓存中存储有可取的指令并且一级缓存有缓存能力,则将可取的指令从指令缓存中搬移到一级缓存中,并更新指令缓存的读指针;否则转入步骤2.3;
步骤2.5:从多通道中的某一通道的一级缓存中取出指令并与该通道的发送能力做比较;
步骤2.6:如果该发送通道的发送能力大于等于待发送数据的长度,则减少该通道的发送能力,然后将待发送数据从CPU内存载入到可编程逻辑器件的数据缓存中,最后将待发送数据从该通道进行发送。
2.根据权利要求1所述的数据传输方法,其特征在于,在所述步骤1.3中,通过实时检测地址缓存的写指针,并与地址缓存的读指针进行对比,确定地址缓存中是否存储有报文缓存的地址信息。
3.根据权利要求2所述的数据传输方法,其特征在于,在所述步骤1.4中,计算可预取的地址数量,将相应数量的报文缓存的地址信息从地址缓存中搬移到一级缓存中。
4.根据权利要求1所述的数据传输方法,其特征在于,在所述步骤2.3中,通过实时检测指令缓存的写指针,并与指令缓存的读指针进行对比,确定指令缓存中是否有可取的指令。
5.根据权利要求1所述的数据传输方法,其特征在于,在所述步骤2.4中,计算可预取的指令数量,将相应数量的指令从指令缓存中搬移到一级缓存中。
6.根据权利要求1-5之一所述的数据传输方法,其特征在于,所述地址缓存和指令缓存是二级缓存。
CN201310301485.3A 2013-07-15 2013-07-15 一种基于能力预测的防阻塞多通道数据传输方法 Active CN103389950B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310301485.3A CN103389950B (zh) 2013-07-15 2013-07-15 一种基于能力预测的防阻塞多通道数据传输方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310301485.3A CN103389950B (zh) 2013-07-15 2013-07-15 一种基于能力预测的防阻塞多通道数据传输方法

Publications (2)

Publication Number Publication Date
CN103389950A true CN103389950A (zh) 2013-11-13
CN103389950B CN103389950B (zh) 2015-03-04

Family

ID=49534228

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310301485.3A Active CN103389950B (zh) 2013-07-15 2013-07-15 一种基于能力预测的防阻塞多通道数据传输方法

Country Status (1)

Country Link
CN (1) CN103389950B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104794069A (zh) * 2015-04-01 2015-07-22 北京创毅视讯科技有限公司 一种cpu中缓存的用户态分配方法和系统
CN105095109A (zh) * 2014-05-21 2015-11-25 华为技术有限公司 缓存访问方法、缓存访问路由器和计算机系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050050244A1 (en) * 2003-09-03 2005-03-03 Hitachi, Ltd. Method for controlling data transfer unit, data transfer unit, channel control unit, and storage device control unit
CN101087256A (zh) * 2007-07-13 2007-12-12 杭州华三通信技术有限公司 报文传输方法、系统及端设备处理器
CN101976229A (zh) * 2010-11-09 2011-02-16 北京星网锐捷网络技术有限公司 一种系统中外部设备的数据读取方法、系统及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050050244A1 (en) * 2003-09-03 2005-03-03 Hitachi, Ltd. Method for controlling data transfer unit, data transfer unit, channel control unit, and storage device control unit
CN101087256A (zh) * 2007-07-13 2007-12-12 杭州华三通信技术有限公司 报文传输方法、系统及端设备处理器
CN101976229A (zh) * 2010-11-09 2011-02-16 北京星网锐捷网络技术有限公司 一种系统中外部设备的数据读取方法、系统及装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105095109A (zh) * 2014-05-21 2015-11-25 华为技术有限公司 缓存访问方法、缓存访问路由器和计算机系统
CN105095109B (zh) * 2014-05-21 2018-07-20 华为技术有限公司 缓存访问方法、缓存访问路由器和计算机系统
CN104794069A (zh) * 2015-04-01 2015-07-22 北京创毅视讯科技有限公司 一种cpu中缓存的用户态分配方法和系统
CN104794069B (zh) * 2015-04-01 2017-12-12 北京创毅视讯科技有限公司 一种cpu中缓存的用户态分配方法和系统

Also Published As

Publication number Publication date
CN103389950B (zh) 2015-03-04

Similar Documents

Publication Publication Date Title
US8629544B2 (en) Integrated circuit package with multiple dies and a multiplexed communications interface
EP2333673B1 (en) Signal sampling and transfer
CN112115090A (zh) 用于事务的多协议支持
CN107204198B (zh) 高速访问双倍速率同步动态随机存储器的控制方法及装置
US8653638B2 (en) Integrated circuit package with multiple dies and bundling of control signals
KR101599843B1 (ko) 안전한 이벤트 인큐잉 방법 및 시스템
KR102427550B1 (ko) 재구성 가능한 멀티 포트들을 구비한 PCIe 스토리지 시스템을 위한 서비스 품질을 인식하는 입출력 관리
US11265235B2 (en) Technologies for capturing processing resource metrics as a function of time
CN106233269A (zh) 在存储器控制器中的精细粒度带宽供应
US20210359955A1 (en) Cache allocation system
CN105095109B (zh) 缓存访问方法、缓存访问路由器和计算机系统
US8886741B2 (en) Receive queue models to reduce I/O cache consumption
CN108366111A (zh) 一种用于交换设备的数据包低时延缓存装置与方法
CN105743690B (zh) 用于管理网络设备的功率和性能的技术
US20180121375A1 (en) Dynamically adjusting read data return sizes based on interconnect bus utilization
WO2016019554A1 (zh) 一种队列管理的方法和装置
US7506081B2 (en) System and method of maintaining high bandwidth requirement of a data pipe from low bandwidth memories
EP3326347B1 (en) Method and system for usb 2.0 bandwidth reservation
US20130061009A1 (en) High Performance Free Buffer Allocation and Deallocation
US20230409198A1 (en) Memory sharing control method and device, computer device, and system
CN105335323B (zh) 一种数据突发的缓存装置和方法
US10705985B1 (en) Integrated circuit with rate limiting
CN103389950B (zh) 一种基于能力预测的防阻塞多通道数据传输方法
CN115118668A (zh) 流控制技术
US20140372693A1 (en) System, method and a non-transitory computer readable medium for read throtling

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
C41 Transfer of patent application or patent right or utility model
CB03 Change of inventor or designer information

Inventor after: Wang Haigang

Inventor after: Xie Min

Inventor after: Wen Junliang

Inventor after: Cheng Huihui

Inventor after: Deng Zheng

Inventor after: Wang Tao

Inventor after: Zheng Rong

Inventor after: Gao Baohong

Inventor after: Yuan Chengwei

Inventor before: Cheng Huihui

Inventor before: Deng Zheng

Inventor before: Wang Tao

Inventor before: Zheng Rong

Inventor before: Gao Baohong

Inventor before: Yuan Chengwei

COR Change of bibliographic data
TR01 Transfer of patent right

Effective date of registration: 20170215

Address after: Mount Huangshan road in Baohe District of Hefei city of Anhui Province, No. 9 230000

Patentee after: State Grid Anhui Electric Power Company

Patentee after: Wuhan Zhongyuan Huadian Science & Technology Co., Ltd.

Address before: The Chinese science and Technology Park of East Lake Development Zone six road 430223 Hubei city of Wuhan province No. 6

Patentee before: Wuhan Zhongyuan Huadian Science & Technology Co., Ltd.