CN108337286A - 一种切包方法及装置 - Google Patents

一种切包方法及装置 Download PDF

Info

Publication number
CN108337286A
CN108337286A CN201710051983.5A CN201710051983A CN108337286A CN 108337286 A CN108337286 A CN 108337286A CN 201710051983 A CN201710051983 A CN 201710051983A CN 108337286 A CN108337286 A CN 108337286A
Authority
CN
China
Prior art keywords
transmission request
source
request
address
transmission
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.)
Withdrawn
Application number
CN201710051983.5A
Other languages
English (en)
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.)
Sanechips Technology Co Ltd
Shenzhen ZTE Microelectronics Technology Co Ltd
Original Assignee
Shenzhen ZTE Microelectronics 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 Shenzhen ZTE Microelectronics Technology Co Ltd filed Critical Shenzhen ZTE Microelectronics Technology Co Ltd
Priority to CN201710051983.5A priority Critical patent/CN108337286A/zh
Priority to PCT/CN2017/099344 priority patent/WO2018133414A1/zh
Publication of CN108337286A publication Critical patent/CN108337286A/zh
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1078Resource delivery mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种切包方法及装置,其中,所述方法包括:获取上游设备发送的源传输请求;判断是否需要对所述源传输请求进行切包处理;当判断出需要对所述源传输请求进行切包处理时,将所述源传输请求拆成多个子传输请求;判断是否需要对所述多个子传输请求进行标识号(ID)转换,若需要进行ID转换,则对所述多个子传输请求进行ID转换,并记录所述多个子传输请求之间的顺序关系;获取下游设备针对所述多个子传输请求的响应;基于所述多个子传输请求之间的顺序关系,向所述上游设备返回针对所述源传输请求的响应。

Description

一种切包方法及装置
技术领域
本发明涉及无线通讯网络领域中基带芯片架构技术,尤其涉及一种切包方法及装置。
背景技术
目前各大运营商都存在多种制式并存的问题,并将长期存在,运营商普遍采用基站机柜插不同制式的基带板卡的方式来实现一体化基站,造成基站机房建设支出巨大,运维成本非常高。运营商希望通讯设备商提供的基站能够支持2G/3G/4G等网络的平滑升级,机柜小型化,绿色低功耗,以减少设备投资,降低运维成本。
为应对这一需求,各主流通讯设备商启动了支持LTE(3GPP Long TermEvolution,长期演进技术)、UMTS(Universal Mobile Telecommunications System,环球移动通信系统)、GSM(Global System for Mobile Communication,全球移动通信系统)等多种制式共存的单芯片软基带芯片研发。芯片内嵌适合多种制式处理的基带专用加速器和众多中央处理器/数字信号处理器。专用加速器和中央处理器上的内嵌软件协同分工,共同完成多种混合制式上下行的所有基带功能。整个芯片根据功能分为时钟复位管理、P子系统和U子系统,其中P子系统包括与数字信号处理器有紧密联系的互联矩阵及加速器,U子系统包括与中央处理器有紧密联系的CCN(Cache Coherent Network,一致性高速缓存网络)及加速器,其架构如图1所示。
其中,CCN为环状拓扑结构,对外互联关系如图2所示,四组一致性总线接口分别连接一簇中央处理器,每簇包含四个处理器,AXI_SLV为CCN芯片的存储器、低速外设接口;AXI_MST为本芯片的加速器、DMA(Direct Memory Access,直接存储器存取设备)、高速/中速外设等,通过RNI(IO coherent Request Node,输入输出一致性请求节点)接口接入CCN。根据CCN的资料描述,由于RNI只有在前一个请求的响应返回后才会发下一个相同AxID(Advanced eXtensible Interface,AXI标准协议中的awid和arid的总称)的读或写请求;且当收到的请求大于64字节或者小于64字节但跨64字节边界时,RNI会自动将请求拆分为多个AxID相同的64字节边界对齐的请求,并按顺序逐一执行。
实际应用中,CCN芯片的加速器、DMA、高速/中速外设等端口发出的请求中的AxID值多数情况下是固定的或者在很小的范围内变化,而且一个请求携带的数据多数情况下会大于64字节和小于64字节但是跨64字节边界,此种场景下CCN将对该请求按64字节边界对齐进行切包,然后按顺序处理,因此,处理效率低,带宽利用率小。
发明内容
为解决上述技术问题,本发明实施例提供了一种切包方法及装置,能提高处理效率,提升带宽利用率。
一方面,本发明实施例提供了一种切包方法,所述方法包括:
获取上游设备发送的源传输请求;
判断是否需要对所述源传输请求进行切包处理;
当判断出需要对所述源传输请求进行切包处理时,将所述源传输请求拆分成多个子传输请求;
判断是否需要对所述多个子传输请求进行标识号(ID,Identity)转换,若需要进行ID转换,则对所述多个子传输请求进行ID转换,并记录所述多个子传输请求之间的顺序关系;
获取下游设备针对所述多个子传输请求的响应;
基于所述多个子传输请求之间的顺序关系,向所述上游设备返回针对所述源传输请求的响应。
上述方案中,可选地,所述判断是否需要对所述源传输请求进行切包处理,包括:
检测静态bypass的状态;
若所述静态bypass处于无效状态,则判定需要对所述源传输请求进行切包处理;
若所述静态bypass处于有效状态,则判定不需要对所述源传输请求进行切包处理,且直接将所述源传输请求发送至下游设备。
上述方案中,可选地,所述将所述源传输请求拆分成多个子传输请求,包括:
结合源传输请求的首地址、大小、长度,对源传输请求进行切包处理,并拆分成多个子传输请求。
上述方案中,可选地,所述结合源传输请求的首地址、大小、长度,对源传输请求进行切包处理,并拆分成多个子传输请求,包括:
如果源传输请求的数据包大于64字节,则对最后一个子传输之前的各个子传输按照64字节进行划分,从首地址开始到第1个64字节对齐地址之前为第一个子传输,第i个64字节对齐地址到第i+1个字节对齐地址之前为第i+1个子传输,其中,i为大于或等于1的正整数,以此类推,直至最后一个子传输的起始地址为第i+1个64字节对齐地址,且所述最后一个子传输为第i+1个64字节对齐地址到传输结束的位置;
如果源传输请求的数据包小于64字节但是跨64字节边界,则切包后,从首地址开始到第一个64字节对齐地址之前为第一个子传输,从第一个64字节对齐地址到传输结束的位置为第二个子传输。
上述方案中,可选地,所述判断是否需要对所述多个子传输请求进行ID转换,包括:
根据配置寄存器中的动态bypass地址段和使能位来判断是否需要进行ID转换。
上述方案中,可选地,所述根据配置寄存器中的动态bypass地址段和使能位来判断是否需要进行ID转换,包括:
若使能位处于无效状态,判定不需要进行ID转换;
若使能位处于有效状态,判断子传输请求对应的地址是否在动态bypass地址段中,如果不在,判定需要对所述子传输请求进行ID转换;如果在,判定不需要对所述子传输请求进行ID转换。
上述方案中,可选地,所述对所述多个子传输请求进行ID转换,包括:
从资源ID中选择最小的空闲ID值作为所述子传输请求的ID。
上述方案中,可选地,所述基于所述多个子传输请求之间的顺序关系,向所述上游设备返回针对所述源传输请求的响应,包括:
若所述源传输请求为读请求,则当接收到下游设备反馈的针对各个子传输请求的响应时,按照同一源传输请求的各个子传输请求之间的顺序关系向上游设备返回针对所述同一源传输请求的各个子传输请求的读响应;
若所述源传输请求为写请求,则当接收到下游设备反馈的针对各个子传输请求的响应时,对针对同一源传输请求的所有子传输请求的响应进行合并,并在合并后向所述上游设备返回针对所述同一源传输请求的写响应。
另一方面,本发明实施例还提供了一种切包装置,所述切包装置包括:
第一判断模块,用于获取上游设备发送的源传输请求,判断是否需要对所述源传输请求进行切包处理;
切包模块,用于当所述第一判断模块判断出需要对所述源传输请求进行切包处理时,将所述源传输请求拆分成多个子传输请求;
第二判断模块,用于判断是否需要对所述多个子传输请求进行ID转换;
ID转换模块,用于若所述第二判断模块判定需要进行ID转换,则对所述多个子传输请求进行ID转换;
保序模块,用于记录所述多个子传输请求之间的顺序关系;获取下游设备针对所述多个子传输请求的响应;基于所述多个子传输请求之间的顺序关系,向所述上游设备返回针对所述源传输请求的响应。
上述方案中,可选地,所述第一判断模块,还用于:
检测静态bypass的状态;
若所述静态bypass处于无效状态,则判定需要对所述源传输请求进行切包处理;
若所述静态bypass处于有效状态,则判定不需要对所述源传输请求进行切包处理,且直接将所述源传输请求发送至下游设备。
上述方案中,可选地,所述切包模块,还用于:
结合源传输请求的首地址、大小、长度,对源传输请求进行切包处理,并拆分成多个子传输请求。
上述方案中,可选地,所述切包模块,具体用于:
如果源传输请求的数据包大于64字节,则对最后一个子传输之前的各个子传输按照64字节进行划分,从首地址开始到第1个64字节对齐地址之前为第一个子传输,第i个64字节对齐地址到第i+1个字节对齐地址之前为第i+1个子传输,其中,i为大于或等于1的正整数,以此类推,直至最后一个子传输的起始地址为第i+1个64字节对齐地址,且所述最后一个子传输为第i+1个64字节对齐地址到传输结束的位置;
如果源传输请求的数据包小于64字节但是跨64字节边界,则切包后,从首地址开始到第一个64字节对齐地址之前为第一个子传输,从第一个64字节对齐地址到传输结束的位置为第二个子传输。
上述方案中,可选地,所述第二判断模块,还用于:
根据配置寄存器中的动态bypass地址段和使能位来判断是否需要进行ID转换。
上述方案中,可选地,所述第二判断模块,具体用于:
若使能位处于无效状态,判定不需要进行ID转换;
若使能位处于有效状态,判断子传输请求对应的地址是否在动态bypass地址段中,如果不在,判定需要对所述子传输请求进行ID转换;如果在,判定不需要对所述子传输请求进行ID转换。
上述方案中,可选地,所述ID转换模块,还用于:
从资源ID中选择最小的空闲ID值作为所述子传输请求的ID。
上述方案中,可选地,所述保序模块,还用于:
若所述源传输请求为读请求,则当接收到下游设备反馈的针对各个子传输请求的响应时,按照同一源传输请求的各个子传输请求之间的顺序关系向上游设备返回针对所述同一源传输请求的各个子传输请求的读响应;
若所述源传输请求为写请求,则当接收到下游设备反馈的针对各个子传输请求的响应时,对针对同一源传输请求的所有子传输请求的响应进行合并,并在合并后向所述上游设备返回针对所述同一源传输请求的写响应。
本发明实施例的技术方案中,获取上游设备发送的源传输请求;判断是否需要对所述源传输请求进行切包处理;当判断出需要对所述源传输请求进行切包处理时,将所述源传输请求拆分成多个子传输请求;判断是否需要对所述多个子传输请求进行ID转换,若需要进行ID转换,则对所述多个子传输请求进行ID转换,并记录所述多个子传输请求之间的顺序关系;获取下游设备针对所述多个子传输请求的响应;基于所述多个子传输请求之间的顺序关系,向所述上游设备返回针对所述源传输请求的响应。通过本发明实施例所述技术方案,在需要进行ID转换时,对所述多个子传输请求进行ID转换,能够提高处理效率,提升带宽利用率。
附图说明
图1为软基带芯片的系统结构框图;
图2为加速器、外设等与CCN的一种连接关系示意图;
图3为本发明实施例提供的一种切包方法的流程示意图;
图4为本发明实施例提供的切包装置与上游设备、下游设备连接关系示意图;
图5为本发明实施例的切包装置的一种实现原理框图;
图6为本发明实施例的切包装置的一种结构组成示意图;
图7为本发明实施例的切包装置接收到上游设备发送的源传输请求之后的处理流程示意图。
具体实施方式
为了能够更加详尽地了解本发明实施例的特点与技术内容,下面结合附图对本发明实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本发明实施例。
实施例一
图3为本发明实施例提供的一种切包方法的流程示意图,应用于切包装置中,如图3所示,所述切包方法包括以下步骤:
步骤301:获取上游设备发送的源传输请求。
这里,所述源传输请求包括但不限于:
读请求、写请求。
本实施例中,所述切包装置位于上游设备与下游设备之间,当所述上游设备向所述下游设备发送源传输请求时,所述切包装置获取所述源传输请求,并对所述源传输请求进行分析判断,以便于确定是否需要对所述源传输请求进行切包处理。
这里,所述下游设备是指CCN设备。
这里,所述上游设备是指与CCN设备连接的AXI_MST,包括网络加速器、DMA、高速/中速外设,等。
本实施例中,所述切包装置与上游设备、下游设备连接关系示意图如图4所示,具体地,所述切包装置的输入端与AXI_MST连接,所述切包装置的输出端与所述CCN设备中的RNI接口连接。
步骤302:判断是否需要对所述源传输请求进行切包处理。
作为一种可选实施方式,所述判断是否需要对所述源传输请求进行切包处理,包括:
检测静态bypass的状态;
若所述静态bypass处于无效状态,则判定需要对所述源传输请求进行切包处理;
若所述静态bypass处于有效状态,则判定不需要对所述源传输请求进行切包处理,且直接将所述源传输请求发送至下游设备。
也就是说,若所述静态bypass处于有效状态,则无需要对所述源传输请求进行切包处理,直接将所述源传输请求发送至下游设备。
步骤303:当判断出需要对所述源传输请求进行切包处理时,将所述源传输请求拆成多个子传输请求。
作为一种可选实施方式,所述将所述源传输请求拆成多个子传输请求,包括:
结合源传输请求的首地址、大小、长度,对源传输请求进行切包处理,并拆分成多个子传输请求。
其中,对源传输请求进行切包处理,拆分成的多个子传输请求的ID与源传输请求的ID相同。
举例来说,源传输请求的ID记为A,那么,该源传输请求拆分为3个子传输请求,那么,所述3个子传输请求的ID均为A。
在一具体实施方式中,所述结合源传输请求的首地址、大小、长度,对源传输请求进行切包处理,并拆分成多个子传输请求,包括:
如果源传输请求的数据包大于64字节,则对最后一个子传输之前的各个子传输按照64字节进行划分,从首地址开始到第1个64字节对齐地址之前为第一个子传输,第i个64字节对齐地址到第i+1个字节对齐地址之前为第i+1个子传输,其中,i为大于或等于1的正整数,以此类推,直至最后一个子传输的起始地址为第i+1个64字节对齐地址,且所述最后一个子传输为第i+1个64字节对齐地址到传输结束的位置。
也就是说,对于大于64字节的源传输请求,至少能拆成两个子传输请求。
举例来说,若一源传输请求可拆分成4个子传输请求,则从首地址开始到第1个64字节对齐地址之前为第一个子传输,第1个64字节对齐地址到第2个字节对齐地址之前为第二个子传输,第2个64字节对齐地址到第3个字节对齐地址之前为第三个子传输,第四个子传输为第3个64字节对齐地址到传输结束的位置。
在另一具体实施方式中,所述结合源传输请求的首地址、大小、长度,对源传输请求进行切包处理,并拆分成多个子传输请求,包括:
如果源传输请求的数据包小于64字节但是跨64字节边界,则切包后,从首地址开始到第一个64字节对齐地址之前为第一个子传输,从第一个64字节对齐地址到传输结束的位置为第二个子传输。
也就是说,对于小于64字节但是跨64字节边界的源传输请求,只能拆成两个子传输请求。
步骤304:判断是否需要对所述多个子传输请求进行ID转换,若需要进行ID转换,则对所述多个子传输请求进行ID转换,并记录所述多个子传输请求之间的顺序关系。
这里,对所述多个子传输请求进行ID转换的目的是,使同一源传输请求对应的各个子传输请求的ID不同,如此,能够使得CCN设备中的RNI将所述属于同一源传输请求的各个不同的子传输请求能够并行下发至CCN设备的下游处理模块,进而提升带宽利用率,也有助于提高对所述源传输请求的处理效率。
作为一种可选实施方式,所述判断是否需要对所述多个子传输请求进行ID转换,包括:
根据配置寄存器中的动态bypass地址段和使能位来判断是否需要进行ID转换。
作为一种具体实施方式,所述根据配置寄存器中的动态bypass地址段和使能位来判断是否需要进行ID转换,包括:
若使能位处于无效状态,判定不需要进行ID转换;
若使能位处于有效状态,判断子传输请求对应的地址是否在动态bypass地址段中,如果不在,判定需要对所述子传输请求进行ID转换;如果在,判定不需要对所述子传输请求进行ID转换。
作为一种可选实施方式,所述对所述多个子传输请求进行ID转换,包括:
从资源ID中选择最小的空闲ID值作为所述子传输请求的ID。
这里,选择最小的空闲ID值作为所述子传输请求的ID,是为了便于更有序地确定各个子传输请求的ID值。
当然,也可以从资源ID中选择任意一空闲ID值作为所述子传输请求的ID。
例如,假设资源ID包括0~31共32个ID值,且当前处于空闲状态的资源ID有5、13、17、19、21、30六个可用资源ID,那么,可以将资源ID=5作为子传输请求A1的ID值,并在将资源ID=5作为所述子传输请求A1的ID值后,将资源ID=5标记为当前已被占用。这样,后续的子传输请求A2则从当前处于空闲状态的资源ID即13、17、19、21、30五个可用资源ID值中,选择一个空闲ID值作为所述子传输请求A2的ID值。
进一步地,所述方法还包括:
若不需要进行ID转换,则按照现有处理方式进行处理。
其中,所述现有处理方式包括:将所述多个子传输请求按照顺序依次下发至下游设备,且每次下发一个,并在接收到下游设备对所述多个子传输请求中的一个传输请求的反馈后,才下发下所述多个子传输请求中的另一个相同ID的子传输请求。
步骤305:获取下游设备针对所述多个子传输请求的响应。
进一步地,在所述获取下游设备针对所述多个子传输请求的响应之前,所述方法还包括:
将所述多个子传输请求下发至下游设备,以由所述下游设备对所述多个子传输请求作出响应。
步骤306:基于所述多个子传输请求之间的顺序关系,向所述上游设备返回针对所述源传输请求的响应。
作为一种可选实施方式,所述基于所述多个子传输请求之间的顺序关系,向所述上游设备返回针对所述源传输请求的响应,包括:
若所述源传输请求为读请求,则当接收到下游设备反馈的针对各个子传输请求的响应时,按照同一源传输请求的各个子传输请求之间的顺序关系向上游设备返回针对所述同一源传输请求的各个子传输请求的读响应;
若所述源传输请求为写请求,则当接收到下游设备反馈的针对各个子传输请求的响应时,对针对同一源传输请求的所有子传输请求的响应进行合并,并在合并后向所述上游设备返回针对所述同一源传输请求的写响应。
本发明实施例提供的切包方法,在需要进行ID转换时,对所述多个子传输请求进行ID转换,由于同一源传输请求对应的各个子传输请求在转换之后对应的ID不同,CCN设备中的RNI能够一次性下发ID不同的所述同一源传输请求对应的各个子传输请求,从而能够提高处理效率,提升带宽利用率。
实施例二
基于上述实施例一所述技术方案,本实施例给出了切包装置的一种实现原理框图,如图5所示,在切包装置中主要分为切包处理、ID转换处理、保序处理三大部分,各部分的功能如下:
切包处理部分:结合收到的AXI总线中请求的首地址、大小、长度三者信息对源传输请求进行切包处理,拆分成多个子传输。
ID转换处理部分:将切包后的子传输请求与动态bypass配置窗口和使能位进行比较,判断是否需要进行ID转换,如果匹配有效,则跨过ID转换模块,并将AxID的第六比特位置为1,低五位保持不变,表示该传输没有进行AxID值的转换,直接输出到保序模块;与动态bypass配置窗口和使能位匹配失败的传输,将AxID的第六比特位置零,重新生成低五位后,输出到保序模块。
保序处理部分:对收到的传输进行保序处理,由于同一个源传输切包后,各个子传输的AxID不同,下游设备对子传输是并行处理的,因此各个子传输的响应返回顺序可能乱序。将收到来自下游设备的响应进行暂存,并按照与发送给下游设备的相同顺序将响应返回给上游设备。
有益效果:理性情况下,切包装置的实际流量如下:
1)写数据,在切包装置的Master口方向,每两个源传输之间的写数据只有一个时钟周期间隔;
2)读数据,在切包装置的Slave口方向,来自上游设备的AxID相同的情况下,每两个子传输之间的读数据只有一个时钟周期的间隔;来自上游设备的AxID不同的情况下,读数据达到满带宽。
经实测发现,在RNI工作频率1.4GHz,理想激励情况下,即AXI_MST最大限度的发送相同和不同AxID的激励给RNI处理,其带宽分别为5GB/s和20GN/s,相差达4倍之多。
实施例三
本实施例提供了一种切包装置,所述切包装置的组成结构示意图如图6所示,所述切包装置包括:第一判断模块61、切包模块62、第二判断模块63、ID转换模块64、保序模块65;其中,
所述第一判断模块61,用于获取上游设备发送的源传输请求,判断是否需要对所述源传输请求进行切包处理;
所述切包模块62,用于当所述第一判断模块61判断出需要对所述源传输请求进行切包处理时,将所述源传输请求拆成多个子传输请求;
第二判断模块63,用于判断是否需要对所述多个子传输请求进行ID转换;
所述ID转换模块64,用于若所述第二判断模块63判定需要进行ID转换,则对所述多个子传输请求进行ID转换;
所述保序模块65,用于记录所述多个子传输请求之间的顺序关系;获取下游设备针对所述多个子传输请求的响应;基于所述多个子传输请求之间的顺序关系,向所述上游设备返回针对所述源传输请求的响应。
在一可选实施方式中,所述第一判断模块61,还用于:
检测静态bypass的状态;
若所述静态bypass处于无效状态,则判定需要对所述源传输请求进行切包处理;
若所述静态bypass处于有效状态,则判定不需要对所述源传输请求进行切包处理,且直接将所述源传输请求发送至下游设备。
在一可选实施方式中,所述切包模块62,还用于:
结合源传输请求的首地址、大小、长度,对源传输请求进行切包处理,并拆分成多个子传输请求。
在一具体实施方式中,所述切包模块62,具体用于:
如果源传输请求的数据包大于64字节,则对最后一个子传输之前的各个子传输按照64字节进行划分,从首地址开始到第1个64字节对齐地址之前为第一个子传输,第i个64字节对齐地址到第i+1个字节对齐地址之前为第i+1个子传输,其中,i为大于或等于1的正整数,以此类推,直至最后一个子传输的起始地址为第i+1个64字节对齐地址,且所述最后一个子传输为第i+1个64字节对齐地址到传输结束的位置;
如果源传输请求的数据包小于64字节但是跨64字节边界,则切包后,从首地址开始到第一个64字节对齐地址之前为第一个子传输,从第一个64字节对齐地址到传输结束的位置为第二个子传输。
在一可选实施方式中,所述第二判断模块63,还用于:
根据配置寄存器中的动态bypass地址段和使能位来判断是否需要进行ID转换。
在一具体实施方式中,所述第二判断模块63,具体用于:
若使能位处于无效状态,判定不需要进行ID转换;
若使能位处于有效状态,判断子传输请求对应的地址是否在动态bypass地址段中,如果不在,判定需要对所述子传输请求进行ID转换;如果在,判定不需要对所述子传输请求进行ID转换。
在一可选实施方式中,所述ID转换模块64,具体用于:
从资源ID中选择最小的空闲ID值作为所述子传输请求的ID。
在一可选实施方式中,所述保序模块65,还用于:
若所述源传输请求为读请求,则当接收到下游设备反馈的针对各个子传输请求的响应时,按照同一源传输请求的各个子传输请求之间的顺序关系向上游设备返回针对所述同一源传输请求的各个子传输请求的读响应;
若所述源传输请求为写请求,则当接收到下游设备反馈的针对各个子传输请求的响应时,对针对同一源传输请求的所有子传输请求的响应进行合并,并在合并后向所述上游设备返回针对所述同一源传输请求的写响应。
本领域技术人员应当理解,本发明实施例的切包装置中各处理模块的功能,可参照前述切包方法的相关描述而理解,本发明实施例的切包装置中各处理模块,可通过实现本发明实施例所述的功能的模拟电路而实现,也可以通过执行本发明实施例所述的功能的软件在智能终端上的运行而实现。
本实施例中,所述切包装置中的第一判断模块61、切包模块62、第二判断模块63、ID转换模块64、保序模块65,在实际应用中可由所述切包装置中的中央处理器(CPU,Central Processing Unit)、数字信号处理器(DSP,Digital Signal Processor)或可编程门阵列(FPGA,Field-Programmable Gate Array)等实现。
其中,所述切包装置可设置于上游设备和下游设备之间。这里,所述下游设备是指CCN设备。所述上游设备是指与CCN设备连接的AXI_MST,包括网络加速器、DMA、高速/中速外设,等。
具体地,所述切包装置的输入端与AXI_MST连接,所述切包装置的输出端与所述CCN设备中的RNI接口连接。
本发明实施例的切包装置,能够提高处理效率,提升带宽利用率。
实施例四
对于大于64字节的源传输请求,本实施例提供了切包装置接收到上游设备发送的源传输请求之后的一种处理流程,如图7所示,具体处理步骤如下:
步骤701:切包装置判断静态bypass的状态,如果静态bypass处于有效状态,将源传输请求发送至下游设备中的RNI;如果静态bypass处于无效状态,执行步骤702;
具体地,切包装置中的第一判断模块通过判断静态bypass的状态来判断是否需要对收到的源传输请求进行切包。如果静态bypass处于有效状态,来自上游设备的源传输请求将跨过切包装置的后续处理流程,直接与下游设备连通。
步骤702:切包装置对收到的源传输请求进行切包,然后执行步骤703;
具体地,由切包装置中的切包模块对源传输请求进行切包。
例如,对于地址递增类型的源传输请求,如果整个源传输请求的数据包大于64字节,从首地址开始到第一个64字节对齐地址之前为第一个子传输,后续第一个64字节对齐地址到下一个64字节对齐地址位置按照64字节进行切分,以此类推,最后一个子传输为64字节对齐地址到传输结束的位置。
步骤703:切包装置根据动态bypass判断是否需要进行ID转换,如果需要,执行步骤704;如果不需要,执行步骤705;
具体地,源传输请求经过切包处理后,由切包装置中的第二判断模块根据配置寄存器中的动态bypass地址段和使能位来判断是否需要进行ID转换。
举例来说,一切包装置支持最多32个可配置bypass地址段,地址段颗粒度为2兆字节;每个地址段支持读、写动态bypass使能位对读写通道进行是否ID转换的分别控制,其中,32个地址段的控制信息都由dynbp_addr_begin、dynbp_addr_end和dynbp_addr_bypass组成,即起始段地址,结束段地址和使能信号组成。其中,dynbp_addr_begin和dynbp_addr_end为14位信号,对应35位AXI地址的高14位;dynbp_addr_bypass为2位信号,高低位分别控制该地址段写和读通道的动态bypass使能。
在动态bypass使能位处于使能的情况下,对应地址段的内的源传输请求将不进行ID转换,通过该配置,可以让切包装置灵活应用于不同的场景,且两者可以并存。例如,对于数据空间通常需要切包和ID转换处理以提高系统性能,而对于一些配置空间,对配置的先后顺序有严格要求,此时把相应的地址段配置到动态bypass窗口,以使其严格按照原始请求的顺序执行。
步骤704:切包装置进行ID转换,然后执行步骤705;
具体地,由切包装置中的ID转换模块进行ID转换。
例如,一切包装置支持最多32个读请求和32个写请求,经过bypass判断后,若子传输需要进行ID转换,将从资源ID中选择最小的空闲ID值作为该子传输的AxID,然后将该子传输发给切包装置中的保序模块。
步骤705:切包装置进行保序处理,然后将经保序处理之后的子传输请求发送至下游设备中的RNI。
具体地,由切包装置中的保序模块进行保序处理。
这里,为保证在所支持的outstanding内AxID值不同,对返回的响应和数据要求根据ID转换前的源AxID信息进行保序处理。这里,所述outstanding包括读请求和写请求。
以读传输为例,每一笔发到下游设备中的读请求都将占用一个不同的AxID值,下游设备收到读数据先暂存,收齐全部读数据并把数据返回给上游设备,再释放该AxID。由于下游设备收到的是不同AxID的子传输,因此返回给切包装置的读数据将会是乱序的。对于同一个源传输切包后的子传输,切包装置中的保序模块将对乱序返回的读数据进行保序处理,按照发给下游设备的相同顺序将响应返回给上游设备,保序的方式主要通过对同一源传输对应的子传输的AxID组链来实现。
例如,某源传输的AxID为1,切分成3个子传输后顺序发到下游设备时的AxID分别为4,5,6。在ID转换内部会将这三个AxID值组成一条链,id4->id5->id6,id4前面没有其他的AxID,说明收到id4的读数据可以按源传输的AxID返回给上游设备,等id4的数据全部返回给上游设备后,更新该链表为id5->id6,以此类推将id5和id6的数据按源传输的AxID返回给上游设备。
对于写传输,写通道ID转换和保序处理方式与读通道基本相同,区别在于对同一个源传输的几个子传输写响应,会进行“或”的逻辑操作合并成一笔响应后再返回给上游设备。
对于小于64字节但是跨64字节边界的源传输请求,处理步骤与大于64字节的源传输请求类似,区别在于:步骤602切包处理和步骤605保序处理。具体地,步骤602切包处理包括:对于小于64字节但是跨64字节边界的源传输,切包后第一个子传输为从首地址开始到第一个64字节对齐地址之前为第一个子传输,第二个子传输为64字节对齐地址到传输结束的位置,一共只有两个子传输。同理,对于小于64字节但是跨64字节边界的源传输,步骤605保序处理的时候,源传输的AxID为7,只会切分成2个子传输。在ID转换时,会将这二个AxID值组成一条链,id8->id9,id8前面没有其他的AxID,说明收到id8的读数据可以按源传输的AxID返回给上游设备,等id8的数据全部返回给上游设备后,更新该链表为id9,id9的数据按源传输的AxID返回给上游设备。
这里,需要说明的是,当切包装置接收到下游设备反馈的针对各个子传输请求的响应时,基于步骤705中进行保序处理时记录的所述多个子传输请求之间的顺序关系,向所述上游设备返回针对所述源传输请求的响应。
具体地,若所述源传输请求为读请求,则当接收到下游设备反馈的针对各个子传输请求的响应时,按照同一源传输请求的各个子传输请求之间的顺序关系向上游设备返回针对所述同一源传输请求的各个子传输请求的读响应;若所述源传输请求为写请求,则当接收到下游设备反馈的针对各个子传输请求的响应时,对针对同一源传输请求的所有子传输请求的响应进行合并,并在合并后向所述上游设备返回针对所述同一源传输请求的写响应。
需要说明的是,当切包装置向上游设备反馈下游设备的响应时,对于切包装置中的一些模块只经过,不进行任何处理,例如,步骤701中的第一判断模块、步骤702中的切包模块、步骤703中的第二判断模块不需要进行任何处理。
本发明实施例提供的切包处理流程,能够提高处理效率,提升带宽利用率。
本发明实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
在本发明所提供的几个实施例中,应该理解到,所揭露的方法和智能设备,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以全部集成在一个第二处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。

Claims (16)

1.一种切包方法,其特征在于,所述方法包括:
获取上游设备发送的源传输请求;
判断是否需要对所述源传输请求进行切包处理;
当判断出需要对所述源传输请求进行切包处理时,将所述源传输请求拆分成多个子传输请求;
判断是否需要对所述多个子传输请求进行标识号ID转换,若需要进行ID转换,则对所述多个子传输请求进行ID转换,并记录所述多个子传输请求之间的顺序关系;
获取下游设备针对所述多个子传输请求的响应;
基于所述多个子传输请求之间的顺序关系,向所述上游设备返回针对所述源传输请求的响应。
2.根据权利要求1所述的切包方法,其特征在于,所述判断是否需要对所述源传输请求进行切包处理,包括:
检测静态bypass的状态;
若所述静态bypass处于无效状态,则判定需要对所述源传输请求进行切包处理;
若所述静态bypass处于有效状态,则判定不需要对所述源传输请求进行切包处理,且直接将所述源传输请求发送至下游设备。
3.根据权利要求1所述的切包方法,其特征在于,所述将所述源传输请求拆分成多个子传输请求,包括:
结合源传输请求的首地址、大小、长度,对源传输请求进行切包处理,并拆分成多个子传输请求。
4.根据权利要求3所述的切包方法,其特征在于,所述结合源传输请求的首地址、大小、长度,对源传输请求进行切包处理,并拆分成多个子传输请求,包括:
如果源传输请求的数据包大于64字节,则对最后一个子传输之前的各个子传输按照64字节进行划分,从首地址开始到第1个64字节对齐地址之前为第一个子传输,第i个64字节对齐地址到第i+1个字节对齐地址之前为第i+1个子传输,其中,i为大于或等于1的正整数,以此类推,直至最后一个子传输的起始地址为第i+1个64字节对齐地址,且所述最后一个子传输为第i+1个64字节对齐地址到传输结束的位置;
如果源传输请求的数据包小于64字节但是跨64字节边界,则切包后,从首地址开始到第一个64字节对齐地址之前为第一个子传输,从第一个64字节对齐地址到传输结束的位置为第二个子传输。
5.根据权利要求1所述的切包方法,其特征在于,所述判断是否需要对所述多个子传输请求进行ID转换,包括:
根据配置寄存器中的动态bypass地址段和使能位来判断是否需要进行ID转换。
6.根据权利要求5所述的切包方法,其特征在于,所述根据配置寄存器中的动态bypass地址段和使能位来判断是否需要进行ID转换,包括:
若使能位处于无效状态,判定不需要进行ID转换;
若使能位处于有效状态,判断子传输请求对应的地址是否在动态bypass地址段中,如果不在,判定需要对所述子传输请求进行ID转换;如果在,判定不需要对所述子传输请求进行ID转换。
7.根据权利要求6所述的切包方法,其特征在于,所述对所述多个子传输请求进行ID转换,包括:
从资源ID中选择最小的空闲ID值作为所述子传输请求的ID。
8.根据权利要求1所述的切包方法,其特征在于,所述基于所述多个子传输请求之间的顺序关系,向所述上游设备返回针对所述源传输请求的响应,包括:
若所述源传输请求为读请求,则当接收到下游设备反馈的针对各个子传输请求的响应时,按照同一源传输请求的各个子传输请求之间的顺序关系向上游设备返回针对所述同一源传输请求的各个子传输请求的读响应;
若所述源传输请求为写请求,则当接收到下游设备反馈的针对各个子传输请求的响应时,对针对同一源传输请求的所有子传输请求的响应进行合并,并在合并后向所述上游设备返回针对所述同一源传输请求的写响应。
9.一种切包装置,其特征在于,所述切包装置包括:
第一判断模块,用于获取上游设备发送的源传输请求,判断是否需要对所述源传输请求进行切包处理;
切包模块,用于当所述第一判断模块判断出需要对所述源传输请求进行切包处理时,将所述源传输请求拆分成多个子传输请求;
第二判断模块,用于判断是否需要对所述多个子传输请求进行ID转换;
ID转换模块,用于若所述第二判断模块判定需要进行ID转换,则对所述多个子传输请求进行ID转换;
保序模块,用于记录所述多个子传输请求之间的顺序关系;获取下游设备针对所述多个子传输请求的响应;基于所述多个子传输请求之间的顺序关系,向所述上游设备返回针对所述源传输请求的响应。
10.根据权利要求9所述的切包装置,其特征在于,所述第一判断模块,还用于:
检测静态bypass的状态;
若所述静态bypass处于无效状态,则判定需要对所述源传输请求进行切包处理;
若所述静态bypass处于有效状态,则判定不需要对所述源传输请求进行切包处理,且直接将所述源传输请求发送至下游设备。
11.根据权利要求9所述的切包装置,其特征在于,所述切包模块,还用于:
结合源传输请求的首地址、大小、长度,对源传输请求进行切包处理,并拆分成多个子传输请求。
12.根据权利要求11所述的切包装置,其特征在于,所述切包模块,具体用于:
如果源传输请求的数据包大于64字节,则对最后一个子传输之前的各个子传输按照64字节进行划分,从首地址开始到第1个64字节对齐地址之前为第一个子传输,第i个64字节对齐地址到第i+1个字节对齐地址之前为第i+1个子传输,其中,i为大于或等于1的正整数,以此类推,直至最后一个子传输的起始地址为第i+1个64字节对齐地址,且所述最后一个子传输为第i+1个64字节对齐地址到传输结束的位置;
如果源传输请求的数据包小于64字节但是跨64字节边界,则切包后,从首地址开始到第一个64字节对齐地址之前为第一个子传输,从第一个64字节对齐地址到传输结束的位置为第二个子传输。
13.根据权利要求9所述的切包装置,其特征在于,所述第二判断模块,还用于:
根据配置寄存器中的动态bypass地址段和使能位来判断是否需要进行ID转换。
14.根据权利要求13所述的切包装置,其特征在于,所述第二判断模块,具体用于:
若使能位处于无效状态,判定不需要进行ID转换;
若使能位处于有效状态,判断子传输请求对应的地址是否在动态bypass地址段中,如果不在,判定需要对所述子传输请求进行ID转换;如果在,判定不需要对所述子传输请求进行ID转换。
15.根据权利要求14所述的切包装置,其特征在于,所述ID转换模块,还用于:
从资源ID中选择最小的空闲ID值作为所述子传输请求的ID。
16.根据权利要求9所述的切包装置,其特征在于,所述保序模块,还用于:
若所述源传输请求为读请求,则当接收到下游设备反馈的针对各个子传输请求的响应时,按照同一源传输请求的各个子传输请求之间的顺序关系向上游设备返回针对所述同一源传输请求的各个子传输请求的读响应;
若所述源传输请求为写请求,则当接收到下游设备反馈的针对各个子传输请求的响应时,对针对同一源传输请求的所有子传输请求的响应进行合并,并在合并后向所述上游设备返回针对所述同一源传输请求的写响应。
CN201710051983.5A 2017-01-20 2017-01-20 一种切包方法及装置 Withdrawn CN108337286A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201710051983.5A CN108337286A (zh) 2017-01-20 2017-01-20 一种切包方法及装置
PCT/CN2017/099344 WO2018133414A1 (zh) 2017-01-20 2017-08-28 切包方法、请求处理方法、装置和计算机存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710051983.5A CN108337286A (zh) 2017-01-20 2017-01-20 一种切包方法及装置

Publications (1)

Publication Number Publication Date
CN108337286A true CN108337286A (zh) 2018-07-27

Family

ID=62909011

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710051983.5A Withdrawn CN108337286A (zh) 2017-01-20 2017-01-20 一种切包方法及装置

Country Status (2)

Country Link
CN (1) CN108337286A (zh)
WO (1) WO2018133414A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112328520A (zh) * 2020-09-30 2021-02-05 郑州信大捷安信息技术股份有限公司 一种pcie设备、基于pcie设备的数据传输方法和系统

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111988235B (zh) * 2020-08-13 2023-05-09 暨南大学 一种基于多http/3连接的并行传输方法
CN113051076A (zh) * 2021-03-23 2021-06-29 湖南快乐阳光互动娱乐传媒有限公司 一种请求数据处理方法和装置
CN113691630B (zh) * 2021-08-26 2023-04-07 北京字节跳动网络技术有限公司 Dns请求处理方法、装置、系统、电子设备和存储介质
CN115374032B (zh) * 2022-10-24 2023-02-17 北京智芯微电子科技有限公司 存储器中非对齐数据传输方法、写入方法和装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101321293A (zh) * 2007-06-06 2008-12-10 中兴通讯股份有限公司 一种实现多路节目复用的装置和方法
CN103532875A (zh) * 2013-10-12 2014-01-22 江苏华丽网络工程有限公司 一种用于pcie应用层接口的重排序技术

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101382955B (zh) * 2008-09-28 2011-01-12 中国科学院计算技术研究所 一种机群文件系统中文件读取的方法及系统
CN102014111B (zh) * 2009-09-04 2013-09-18 无锡江南计算技术研究所 数据传输方法、消息引擎、通信节点及网络系统
CN102609378B (zh) * 2012-01-18 2016-03-30 中国科学院计算技术研究所 一种消息式内存访问装置及其访问方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101321293A (zh) * 2007-06-06 2008-12-10 中兴通讯股份有限公司 一种实现多路节目复用的装置和方法
CN103532875A (zh) * 2013-10-12 2014-01-22 江苏华丽网络工程有限公司 一种用于pcie应用层接口的重排序技术

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112328520A (zh) * 2020-09-30 2021-02-05 郑州信大捷安信息技术股份有限公司 一种pcie设备、基于pcie设备的数据传输方法和系统
CN112328520B (zh) * 2020-09-30 2022-02-11 郑州信大捷安信息技术股份有限公司 一种pcie设备、基于pcie设备的数据传输方法和系统

Also Published As

Publication number Publication date
WO2018133414A1 (zh) 2018-07-26

Similar Documents

Publication Publication Date Title
CN108337286A (zh) 一种切包方法及装置
CN103064805B (zh) Spi控制器及通信方法
US6526462B1 (en) Programmable multi-tasking memory management system
CN106648896B (zh) 一种Zynq芯片在异构称多处理模式下双核共享输出外设的方法
CN106951388A (zh) 一种基于PCIe的DMA数据传输方法及系统
CN104242981B (zh) 一种基于软件无线电的嵌入式通讯装置
CN102693210B (zh) 一种处理器间传递参数的方法及装置
CN105281433A (zh) 一种配电终端通信系统
CN103019990B (zh) 一种采集端启动pci-e总线dma上传数据的方法
CN104699654A (zh) 一种基于chi片内互联总线与qpi片间互联总线互联适配系统和方法
CN105786741A (zh) 一种soc高速低功耗总线及转换方法
CN102063337B (zh) 多处理器核的信息交互和资源分配的方法及系统
CN114257245A (zh) 一种基于dsp-fpga的多通道ad采集系统
CN107957971A (zh) 一种基于fpga的多处理器之间的通信系统及通信方法
CN111581136B (zh) 一种dma控制器及其实现方法
CN107704407A (zh) 一种用于spi和uart之间数据处理的系统和方法
CN106776372A (zh) 基于fpga的仿真数据存取方法及装置
CN101764797B (zh) 一种时分多通道lapd处理器及其设计方法
CN106528475A (zh) 一种支持单八路和双四路动态分区的多路计算机系统
CN110008162A (zh) 一种缓冲接口电路及基于该电路传输数据的方法和应用
CN115794721A (zh) 一种基于多核的PCIe网卡及其工作方法
CN115756296A (zh) 缓存管理方法和装置、控制程序及控制器
CN107391403A (zh) 一种存储设备中多路控制器间的通信方法及装置
CN113625617A (zh) 一种基于国产mcu芯片的gmac通道复用系统
CN106326172A (zh) 一种APB总线slave接口扩展电路及其使用方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20180727