一种DMA二维数据传输/清零参数配置方法技术

技术编号:33351365 阅读:31 留言:0更新日期:2022-05-08 09:57
本发明专利技术公开了一种DMA二维数据传输/清零参数配置方法,DMA二维数据传输/清零指令的指令机器码采用64位双字指令,内部包含或者隐含所有DMA传输/清零参数。本发明专利技术从指令形式设计、指令机器码设计层面,提出一种DMA二维数据传输/清零参数配置方法,通过采用单条指令在单个时钟周期完成DMA传输/清零参数配置;与“魂芯”处理器现有的DMA传输参数配置方式以及其他处理器目前采用多条指令完成DMA传输参数配置相比,本发明专利技术大大提高了DMA传输参数的配置效率,减少了汇编代码体积,缩短了DMA控制器启动DMA二维数据传输的时间。启动DMA二维数据传输的时间。启动DMA二维数据传输的时间。

【技术实现步骤摘要】
一种DMA二维数据传输/清零参数配置方法


[0001]本专利技术涉及DMA二维数据传输
,尤其是一种DMA二维数据传输/清零参数配置方法。

技术介绍

[0002]魂芯,是由中国电子科技集团公司第三十八研究所设计,在一秒钟内能完成千亿次浮点操作运算的高性能通用数字信号处理器。2012年,该所推出高性能浮点通用DSP芯片——“魂芯一号”,性能相当于同期市场同类DSP芯片的4

6倍,可应用于高性能计算的信号处理领域,已经在多款重大装备中成功应用。魂芯二号A,发布于2018年,是中国电子科技集团公司第三十八研究所在信号处理器领域的新突破。DMA数据传输可分成一维DMA数据传输和DMA二维数据传输。针对DMA二维数据传输来说,在DMA数据传输启动前,需配置DMA传输参数,参数包括源端地址、目标端地址、优先级、源端递增/递减步长,目标端递增/递减步长、传输数据长度、传输模式控制等。
[0003]在现有的“魂芯一号”或“魂芯二号”的处理器设计中,DMA传输参数是逐条配置的,每条指令占用一个指令执行行,每个指令执行行耗费1个时钟周期,因此DMA参数配置需要多个时钟周期来完成。以如下11行的代码段为例,二维DMA参数配置共需11个时钟周期。
[0004]L1
ꢀꢀ
目标端起始地址:DMA0_DSAH=0x00000000
[0005]L2
ꢀꢀ
目标端起始地址:DMA0_DSAL=xr10
[0006]L3
ꢀꢀ
目标端X维长度:DMA0_DLX=xr16
[0007]L4
ꢀꢀ
目标端X维步长:DMA0_DAS=xr21
[0008]L5
ꢀꢀ
目标端Y维长度:DMA0_DLY=xr26
[0009]L6
ꢀꢀ
源端起始地址:DMA0_SSA=xr12
[0010]L7
ꢀꢀ
源端X维长度:DMA0_SLX=xr16
[0011]L8
ꢀꢀ
源端X维步长:DMA0_SAS=xr21
[0012]L9
ꢀꢀ
源端Y维长度:DMA0_SLY=xr26
[0013]L10 DMA传输模式控制:DMA0_CTL=0x00010203
[0014]L11 DMA传输启动:DMA0_START=0x00000001

技术实现思路

[0015]针对现有DMA二维数据传输前DMA传输参数配置耗费多个时间周期的技术问题,本专利技术提供了一种DMA二维数据传输/清零参数配置方法,可在单周期内完成DMA传输参数的配置,大大缩短DMA启动时间。
[0016]本专利技术保护一种DMA二维数据传输/清零参数配置方法,DMA二维数据传输/清零指令的指令机器码采用64位双字指令,内部包含或者隐含所有DMA传输/清零参数;
[0017]寄存器参数配置方法具体包括以下步骤:
[0018]步骤1,指令通道分配单元根据输入的指令进行通道分配,DMA二维数据传输/清零
指令占用8/5个控制寄存器写通道,分别为4/2个通用寄存器访问控制寄存器通道和4/3个立即数访问控制寄存器通道;
[0019]步骤2,指令识别单元识别指令行中的DMA二维数据传输/清零指令,当指令行中含有DMA二维数据传输/清零指令时,识别其中的操作码,并输出DMA二维传输/清零的标志信息;指令输出单元监测到DMA二维传输/清零的标志信息,通过选择器选出对应的DMA二维数据传输/清零指令,输出至DMA译码单元;
[0020]步骤4,条件受控单元根据谓词条件判断的输入,通过逻辑判断得到DMA二维数据传输/清零指令的条件受控使能结果,输出至DMA译码单元;
[0021]步骤5,DMA译码单元通过DMA二维数据传输/清零指令,结合谓词条件受控使能输入,译出DMA控制寄存器配置信息;
[0022]步骤6,控制信号合成单元对DMA二维数据传输/清零指令的译出信息与其他控制寄存器通道的译出信息进行合成,输出DMA控制寄存器的全部配置信息;
[0023]步骤7,根据控制信号合成单元输出的DMA控制寄存器的全部配置信息,对DMA控制寄存器进行写入操作,完成DMA传输/清零参数的配置。
[0024]进一步的,将DMA传输模式控制寄存器中的2个位段分别设置为完成一条指令完成二维数据传输/清零的DMA设置位,当二维数据传输/清零DMA设置位=1(即有效),自动启动DMA二维数据传输/清零,处理器流水线执行时,该条指令对DMA配置的8/5个控制寄存器的写操作在同一周期内执行完成。
[0025]进一步的,DMA二维数据传输指令占用的4个通用寄存器访问控制寄存器通道传输的数据分别为:
[0026]控制寄存器与通用寄存器通道x,传输“目标端起始地址”控制寄存器的地址、使能及数据;
[0027]控制寄存器与通用寄存器通道y,传输“目标端步长”控制寄存器的地址、使能及数据;
[0028]控制寄存器与通用寄存器通道z,传输“源端起始地址”控制寄存器的地址、使能及数据;
[0029]控制寄存器与通用寄存器通道t,传输“源端步长”控制寄存器的地址、使能及数据;
[0030]DMA二维数据传输指令占用的4个立即数访问控制寄存器通道传输的数据分别为:
[0031]控制寄存器立即数通道0,传输“模式”控制寄存器的地址、使能及数据;
[0032]控制寄存器立即数通道1,传输“源端X维长度”控制寄存器的地址、使能及数据;
[0033]控制寄存器立即数通道2,传输“源端Y维长度”控制寄存器的地址、使能及数据;
[0034]控制寄存器立即数通道3,传输“目标端X维长度”控制寄存器的地址、使能及数据。
[0035]DMA二维数据传输指令的指令形式为[xRd,yRd,p]=[zRs,tRs,n,m]:
[0036]①
zRs表示存储DMA的源地址;
[0037]②
xRd表示存储DMA的目标地址,源地址和目标地址均支持片内或片外地址;
[0038]③
tRs表示存储源端二维数据的宽度,即DMA传输中源端Y维步长;
[0039]④
yRd表示存储目标二维数据的宽度,即DMA传输中目标端Y维步长。
[0040]⑤
n表示待传输数据在源图像中的列数,即DMA传输中源端X维长度,其中X维步长
固定为1;
[0041]⑥
m表示待传输数据在源图像中的行数,即DMA传输中源端Y维长度,其中Y维步长为tRs;
[0042]⑦
p为待传输数据在目标图像中的列数,即DMA传输中目标端X维长度,其中X维步长固定为1;
[0043]⑧
目标端Y维长度为n*m/p,其中Y维步长为yRd。
[0044]DMA二维数据清零指令占用的2个通用寄存器访问控制本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种DMA二维数据传输/清零参数配置方法,其特征在于,DMA二维数据传输/清零指令的指令机器码采用64位双字指令,内部包含或者隐含所有DMA传输/清零参数;寄存器参数配置方法具体包括以下步骤:步骤1,指令通道分配单元根据输入的指令进行通道分配,DMA二维数据传输/清零指令占用8/5个控制寄存器写通道,分别为4/2个通用寄存器访问控制寄存器通道和4/3个立即数访问控制寄存器通道;步骤2,指令识别单元识别指令行中的DMA二维数据传输/清零指令,当指令行中含有DMA二维数据传输/清零指令时,识别其中的操作码,并输出DMA二维传输/清零的标志信息;指令输出单元监测到DMA二维传输/清零的标志信息,通过选择器选出对应的DMA二维数据传输/清零指令,输出至DMA译码单元;步骤4,条件受控单元根据谓词条件判断的输入,通过逻辑判断得到DMA二维数据传输/清零指令的条件受控使能结果,输出至DMA译码单元;步骤5,DMA译码单元通过DMA二维数据传输/清零指令,结合谓词条件受控使能输入,译出DMA控制寄存器配置信息;步骤6,控制信号合成单元对DMA二维数据传输/清零指令的译出信息与其他控制寄存器通道的译出信息进行合成,输出DMA控制寄存器的全部配置信息;步骤7,根据控制信号合成单元输出的DMA控制寄存器的全部配置信息,对DMA控制寄存器进行写入操作,完成DMA传输/清零参数的配置。2.根据权利要求1所述的DMA二维数据传输/清零参数配置方法,其特征在于,将DMA传输模式控制寄存器中的2个保留位分别设置为采用一条指令完成二维数据传输/清零的DMA设置位,当二维数据传输/清零DMA设置位=1,自动启动DMA二维数据传输/清零,处理器流水线执行时,该条指令对DMA配置的8/5个控制寄存器的写操作在同一周期内执行完成。3.根据权利要求1所述的DMA二维数据传输/清零参数配置方法,其特征在于,DMA二维数据传输指令占用的4个通用寄存器访问控制寄存器通道传输的数据分别为:控制寄存器与通用寄存器通道x,传输“目标端起始地址”控制寄存器的地址、使能及数据;控制寄存器与通用寄存器通道y,传输“目标端步长”控制寄存器的地址、使能及数据;控制寄存器与通用寄存器通道z,传输“源端起始地址”控制寄存器的地址、使能及数据;控制寄存器与通用寄存器通道t,传输“源端步长”控制寄存器的地址、使能及数据;DMA二维数据传输指令占用的4个立即数访问控制寄存器通道传输的数据分别为:控制寄存器立即数通道0,传输“模式”控制寄存器的地址、使能及数据;控制寄存器立即数通道1,传输“源端X维长度”控制寄存器的地址、使能及数据;控制寄存器立即数通道2,传输“源端Y维长度”控制寄存器的地址、使能及数据;控制寄存器立即数通道3,传输“目标端X维长度”控制寄存器的地址、使能及数据。4.根据权利要求3所述的DMA二维数据传输/清零参数配置方法,其特征在于,DMA二维数据传输指令的指令形式为[xRd,yRd,p]=[zRs,tRs,n,m],zRs表示存储DMA的源地址,xRd表示存储DMA的目标地址,源地址和目标地址均支持片内或片外地址;
tRs表示存储源端二维数据的宽度,即DMA传输中源端Y维步长;yRd表示存储目标二维数据的宽度,即DMA传输中目标端Y维步长;n表...

【专利技术属性】
技术研发人员:孙立宏韩琼磊宋何娟付秀兰孙大成张杰李泉泉
申请(专利权)人:安徽芯纪元科技有限公司
类型:发明
国别省市:

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

1