存储器中非对齐数据传输方法、写入方法和装置制造方法及图纸

技术编号:35707952 阅读:43 留言:0更新日期:2022-11-23 15:05
本公开涉及计算机技术领域,具体涉及一种存储器中非对齐数据传输方法、写入方法和装置,所述存储器基于AHB总线进行数据传输,所述方法包括:获取源地址与第一地址之间的第一字节差p1,所述第一地址为所述源地址的首地址的上一个双字对齐首地址;获取所述源地址的位宽L1,所述源地址的位宽为源地址中包含的字节数;基于所述第一字节差p1和源地址的位宽L1对所述源地址中的数据进行拼接,得到包括N个双字的待传输数据,其中,N=[L1/4]+1,[]为向下取整运算;将所述待传输数据传输至目标地址,实现了使不满足双字对齐的源地址中的数据也可在使用了DMA控制器的存储器中采用AHB总线进行双字传输,提高了数据传输的效率。提高了数据传输的效率。提高了数据传输的效率。

【技术实现步骤摘要】
存储器中非对齐数据传输方法、写入方法和装置


[0001]本公开涉及计算机
,具体涉及一种存储器中非对齐数据传输方法、写入方法和装置。

技术介绍

[0002]直接存储器访问(Direct Memory Access,DMA)是一种允许在外部设备和存储器、存储器与存储器之间直接读写数据的高速传输操作,该传输过程既不通过CPU,也不需要CPU干预,整个数据传输操作在一个称为“DMA控制器”的控制下进行。
[0003]在芯片设计中,DMA主接口控制电路一般使用高级微控制器总线架构(Advanced Microcontroller Bus Architecture,AMBA)系列中的高级高性能总线(Advanced High performance Bus,AHB)对数据进行搬移操作。由于AHB总线在传统的DMA控制器实现中,按照双字进行数据的搬移操作,因此数据需要将源地址与目的地址按照4的倍数进行配置,且所述源地址与目标地址需要满足双字对齐才能够正确执行DMA传输。在源地址与目标地址需要不满足双字对齐时,使用传统的DMA控制器只能按照字节本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种存储器中非对齐数据传输方法,所述存储器基于AHB总线进行数据传输,其特征在于,包括:获取源地址与第一地址之间的第一字节差p1,所述第一地址为所述源地址的首地址的上一个双字对齐首地址;获取所述源地址的位宽L1,所述源地址的位宽为源地址中包含的字节数;基于所述第一字节差p1和源地址的位宽L1对所述源地址中的数据进行拼接,得到包括N个双字的待传输数据,其中,N=[L1/4]+1,[]为向下取整运算;将所述待传输数据传输至目标地址。2.根据权利要求1所述的方法,其特征在于,所述非对齐数据包括:数据的源地址的首地址不满足双字对齐,和/或数据长度大于4且不为4的整数倍的数据。3.根据权利要求1所述的方法,其特征在于,所述获取源地址与第一地址之间的第一字节差p1,包括:获取所述源地址的首地址与所述第一地址之间相差的字节数作为所述第一字节差p1。4.根据权利要求1所述的方法,其特征在于,所述基于所述第一字节差p1和源地址的位宽L1对所述源地址中的数据进行拼接,包括:自所述第一地址起,读取两个双字的数据;将自所述第一地址起第一个双字中的后(4

p1)个字节的数据作为低位数据,自所述第一地址起第二个双字中前p1个字节的数据作为高位数据进行拼接,得到拼接后的第一个双字的数据。5.根据权利要求4所述的方法,其特征在于,还包括:将自所述第一地址起第二个双字中的后(4

p1)个字节的数据作为低位数据,自所述第一地址起第三个双字中前p1个字节的数据作为高位数据进行拼接,得到拼接后的第二个双字的数据;重复执行上述低位数据和高位数据的拼接操作直至完成第N

1个双字的拼接。6.根据权利要求5所述的方法,其特征在于,还包括:将所述源地址中剩余的L1

4*(N

1)个字节的数据作为低位数据;对其余高位字节进行补位处理,得到拼接后的第N个双字的数据。7.根据权利要求6所述的方法,其特征在于,所述对其余高位字节进行补位处理,包括:对所述高位字节赋零;或者对所述高位字节赋无效值。8.根据权利要求1

7中任一项所述的方法,其特征在于,还包括:将所述待传输数据存入数据通道缓存;自所述数据通道缓存传输所述待传输数据至目标地址。9.一种存储器中非对齐数据写入方法,所述存储器基于AHB总线进行数据写入,其特征在于,包括:获取目标地址与第二地址之间的第二字节差p2,所述第二地址为所述目标地址的首地址的上一个双字对齐首地址;获取所述目标地址的位宽L2,所述目标地址的位宽为目标地址中包含的字节数;
接收自源地址传输的数据,基于所述第二字节差p2和目标地址的位宽L2对接收到的数据进行拼接,得到包括M个双字的待写入数据, M=[L2/4]+1,[]为向下取整运算;将所述待写入数据写入所述目标地址。10.根据权利要求9所述的方法,其特征在于,所述非对齐数据包括:数据的目标地址的首地址不满足双字对齐,和/或数据长度大于4且不为4的整数倍的数据。11.根据权利要求9所述的方法,其特征在于,所述获取目标地址与第二地址之间的第二字节差p2,包括:获取所述目标地址的首地址与所述第二地址之间相差的字节数作为所述第二字节差p2。12.根据权利要求9所述的方法,其特征在于,所述基于所述第二字节差p2和目标地址的位宽L2对接收到的数据进行拼接,包括:自第二地址起,读取一个双字的数据;将读取的所述双字中前p2个字节中的数据作为低位数据,接收到的数据中的前(4

p2)个字节中的数据作为高位数据,得到拼接后的第一个双字的数据。13.根据权利要求12所述的方法,其特征在于,还包括:将所述接收到的数据自第(4

p2+1)个字节开始进行双字拼接,直至完成第M

1个双字的拼接。14.根据权利要求13所述的方法,其特征在于,还包括:将所述接收到的数据中未进行拼接的剩余数据的有效数据作为低位数据,从所述目标地址的尾地址的下一个字节到所述目标地址的尾地址的下一个双字对齐尾地址中的数据作为高位数据,得到拼接后的第M个双字的数据。15.根据权利要求9

14中任一项所述的方法,其特征在于,所述接收自源地址传输的数据还包括:接收自数据通道缓存传输的数据,所述数据通道缓存中的数据自源地址传输得到。16.一种存储器中非对齐数据传输装置,所述存储器基于AHB总线进行数据传输,其特征在于,所述装置包括:第一获取模块,被配置为获取源地址与第一地址之间的第一字节差p1,所述第一地址为所述源地址的首地址的上一个双字对齐首地址;第二获取模块,被配置为获取所述源地址的位宽L1,所述源地址的位宽为源地址中包含的字节数;第一拼接模块,被配置为基于所述第一字...

【专利技术属性】
技术研发人员:潘金龙李德建刘亮董长征冯曦
申请(专利权)人:国网江苏省电力有限公司国家电网有限公司
类型:发明
国别省市:

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

1