数据传输方法、设备及系统技术方案

技术编号:26689602 阅读:18 留言:0更新日期:2020-12-12 02:38
本发明专利技术实施例提供数据传输方法、设备及系统。该方法包括:从设备接收主设备发送的一笔事务的数据请求信息;数据请求信息至少包括:起始地址和数据长度L;其中,L表示:L+1个数据单元待传输;从设备根据预设的地址非连续递增方式,基于起始地址以及数据单元的位宽,计算每一数据单元所对应的地址;其中,在L+1个数据单元中,部分或全部数据单元与相邻数据单元之间的地址是不连续的;从设备按照计算出的地址,对相应的数据单元执行传输操作。这样,可不需要将一笔数据请求拆分成多笔请求,同时又可实现地址非连续递增。

【技术实现步骤摘要】
数据传输方法、设备及系统
本专利技术涉及通信
,特别涉及数据传输方法、设备及系统。
技术介绍
随着芯片技术的发展,对于高性能大芯片的需求日益增长,SoC(System-on-Chip)芯片也成为工业界最重要的产品开发方式。一个典型的SoC芯片系统主要包括:片上互联总线、主设备以及从设备。主设备以及从设备主要通过接口进行连接。上述主设备、从设备和片上互联总线相连接的接口处都有相应的总线协议,目前业界使用比较广泛的总线协议是AXI(AdvancedeXtensibleInterface)协议。在AXI协议中,一笔读请求或者一笔写请求可以称为一笔transaction(事务)数据请求。在一笔transaction的数据请求中可包括多个数据单元,每一数据单元称为一个transfer。在AXI协议一共有3种突发传输机制,包含FIXED、INCR、WRAP这3种机制,以INCR机制应用最为广泛。INCR机制包括:对于一笔transaction中的每一个transfer的地址进行连续递增式的增加,其中,第一个transfer的地址为AXADDR(起始地址),后续transfer的地址是基于前面的transfer的地址进行递增,直到最后一个transfer传输完成。专利技术人发现,随着AI(ArtificialIntelligence)技术的发展,以及对于高性能、多样化总线传输的需求,有越来越多的需求需要数据在传输过程中,地址可以进行非连续递增式的增加。基于目前的AXI协议,只能将一笔transaction数据请求拆分成多笔transaction请求才能实现。也即,假定一笔transaction数据请求中包括16个数据单元,若需要地址非连续递增,则需要拆分成16笔transaction数据请求。上述处理方式,会增加读地址通道和写地址通道的资源消耗。仍沿用前例,若将一笔transaction数据请求拆分成16笔transaction数据请求,那么就需要额外增加发送15transaction数据请求的总线协议信号;同时,在整个片上总线传输中会增加仲裁的次数(这是因为主设备不仅一个,同时有多个主设备发起数据请求会需要仲裁,而若将一笔数据请求拆分成16笔数据请求,仲裁的次数也会随之增加),影响请求数据的完整性以及响应效率。
技术实现思路
有鉴于此,本专利技术实施例提供数据传输方法、设备及系统,以实现地址非连续递增同时不增加资源消耗及仲裁的次数。为实现上述目的,本专利技术实施例提供如下技术方案:一种数据传输方法,包括:从设备接收主设备发送的一笔事务的数据请求信息;所述数据请求信息至少包括:起始地址和数据长度L;其中,所述L表示:L+1个数据单元待传输;所述从设备根据预设的地址非连续递增方式,基于起始地址以及数据单元的位宽,计算每一数据单元所对应的地址;其中,在所述L+1个数据单元中,部分或全部数据单元与相邻数据单元之间的地址是不连续的;所述从设备按照计算出的地址,对相应的数据单元执行传输操作。可选的,所述数据请求信息还包括:非连续递增信息;上述地址非连续递增方式包括地址非连续递增公式;所述从设备根据预设的地址非连续递增方式,基于起始地址以及数据单元的位宽,计算每一数据单元所对应的地址包括:所述从设备根据预设的地址非连续递增公式,基于起始地址、数据单元的位宽以及所述非连续递增信息,计算每一数据单元所对应的地址。可选的,所述非连续递增信息包括:长度步进信息Len_Stripe和偏移地址信息Stripe_Offset_Addr;所述地址非连续递增公式包括:Address_N=Start_Address+((N-1)*Number_Bytes)+(INT((N-1)/Len_stripe)*Stripe_Offset_Addr*Number_Bytes);或者,Address_N=Start_Address+((N-1)*Number_Bytes)+(INT((N-1)/Len_stripe)*Stripe_Offset_Addr);其中,N大于等于1,小于等于Burst_Length,Address_N表征第N个数据单元的地址;Burst_Length=L+1;Number_Bytes表征数据单元的位宽;Start_Address表征所述起始地址。可选的,若所述事务为读事务,Len_Stripe和Stripe_Offset_Addr通过AXI协议的ARUSER信号传输;若所述事务为写事务,Len_Stripe和Stripe_Offset_Addr通过AXI协议的AWUSER信号传输。可选的,ARUSER信号和AWUSER信号位宽为X比特,其中,a比特用于传输所述Len_Strip,X-a比特用于传输所述Stripe_Offset_Addr;a大于等于1,小于X。可选的,所述非连续递增信息包括偏移地址信息Stripe_Offset_Addr;所述地址非连续递增公式包括:Adress_M=Adress_M-1+Number_Bytes+Stripe_Offset_Addr;或者,Adress_M=Adress_M-1+Number_Bytes+Stripe_Offset_Addr*Number_Bytes;其中,Number_Bytes表征数据单元的位宽;Adress_M-1表示第M-1个数据单元的地址,Adress_M表示第M个数据单元的地址;M大于等于2,小于等于Burst_Length;第一个数据单元的地址为所述起始地址;Burst_Length=L+1。可选的,所述数据请求信息还包括:指示是否进行地址非连续递增的指示信息。一种数据传输设备,作为数据传输系统中的从设备,包括:接收单元,用于:接收主设备发送的一笔事务的数据请求信息;所述数据请求信息至少包括:起始地址和数据长度L;其中,所述L表示:L+1个数据单元待传输;计算单元,用于:根据预设的地址非连续递增方式,基于起始地址以及数据单元的位宽,计算每一数据单元所对应的地址;其中,在所述L+1个数据单元中,部分或全部数据单元与相邻数据单元之间的地址是不连续的;第一传输单元,用于:按照计算出的地址,对相应的数据单元执行传输操作。一种数据传输设备,作为数据传输系统中的主设备,包括:数据请求信息发送单元,用于向从设备发送一笔事务的数据请求信息;所述数据请求信息至少包括:起始地址和数据长度L;其中,所述L表示:L+1个数据单元待传输;所述起始地址和数据长度L用于所述从设备根据预设的地址非连续递增方式计算每一数据单元所对应的地址;其中,在所述L+1个数据单元中,部分或全部数据单元与相邻数据单元之间的地址是不连续的;所述事务为读事务或写事务;第二传输单元,用于:接收从设备根据计算出的地址而读取并返回的L+1个数据单元;或者,向所述从设备发送L+1个数据单元,所发送的L+1个数据单元被所述从设备写入计算出本文档来自技高网
...

【技术保护点】
1.一种数据传输方法,其特征在于,包括:/n从设备接收主设备发送的一笔事务的数据请求信息;所述数据请求信息至少包括:起始地址和数据长度L;其中,所述L表示:L+1个数据单元待传输;/n所述从设备根据预设的地址非连续递增方式,基于起始地址以及数据单元的位宽,计算每一数据单元所对应的地址;其中,在所述L+1个数据单元中,部分或全部数据单元与相邻数据单元之间的地址是不连续的;/n所述从设备按照计算出的地址,对相应的数据单元执行传输操作。/n

【技术特征摘要】
1.一种数据传输方法,其特征在于,包括:
从设备接收主设备发送的一笔事务的数据请求信息;所述数据请求信息至少包括:起始地址和数据长度L;其中,所述L表示:L+1个数据单元待传输;
所述从设备根据预设的地址非连续递增方式,基于起始地址以及数据单元的位宽,计算每一数据单元所对应的地址;其中,在所述L+1个数据单元中,部分或全部数据单元与相邻数据单元之间的地址是不连续的;
所述从设备按照计算出的地址,对相应的数据单元执行传输操作。


2.如权利要求1所述的方法,其特征在于,
所述数据请求信息还包括:非连续递增信息;
上述地址非连续递增方式包括地址非连续递增公式;
所述从设备根据预设的地址非连续递增方式,基于起始地址以及数据单元的位宽,计算每一数据单元所对应的地址包括:
所述从设备根据预设的地址非连续递增公式,基于起始地址、数据单元的位宽以及所述非连续递增信息,计算每一数据单元所对应的地址。


3.如权利要求2所述的方法,其特征在于,
所述非连续递增信息包括:长度步进信息Len_Stripe和偏移地址信息Stripe_Offset_Addr;
所述地址非连续递增公式包括:
Address_N=Start_Address+((N-1)*Number_Bytes)
+(INT((N-1)/Len_stripe)*Stripe_Offset_Addr*Number_Bytes);
或者,
Address_N=Start_Address+((N-1)*Number_Bytes)
+(INT((N-1)/Len_stripe)*Stripe_Offset_Addr)
其中,N大于等于1,小于等于Burst_Length,Address_N表征第N个数据单元的地址;Burst_Length=L+1;
Number_Bytes表征数据单元的位宽;
Start_Address表征所述起始地址。


4.如权利要求2所述的方法,其特征在于,
若所述事务为读事务,Len_Stripe和Stripe_Offset_Addr通过AXI协议的ARUSER信号传输;
若所述事务为写事务,Len_Stripe和Stripe_Offset_Addr通过AXI协议的AWUSER信号传输。


5.如权利要求4所述的方法,其特征在于,
ARUSER信号和AWUSER信号位宽为X比特,其中,a比特用于传输所述Len_Strip,X-a比特用于传输所述Stripe_Offset_Addr;a大于等于1,小于X。


6.如权利要求2所述的方法,其特征在于,
所述非连续递增信息包括偏移地址信息Stripe_Offset_A...

【专利技术属性】
技术研发人员:沈蔚炜邓良策
申请(专利权)人:上海燧原科技有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1