一种DMA内嵌的上采样传输电路及其工作方法
本发明涉及集成电路设计,具体为一种dma内嵌的上采样传输电路及其工作方法。
背景技术:
1、在深度学习推理、图像处理与视频编解码等应用场景中,特征图或图像数据需在集成电路的片内高速存储器(如sram、片上缓存、寄存器文件等)与片外大容量存储器(经ddr/lpddr控制器及phy接口连接的dram)之间高频搬运,且常伴随分辨率或特征图尺寸的空间变换操作,其中上采样(如最近邻放大、行 /列复制以匹配网络层输入尺寸)是典型的空间变换操作之一。
2、传统soc架构通常将数据搬运与上采样计算解耦设计:由独立dma引擎或通用拷贝ip完成二维/三维块传输,再由cpu核、可编程逻辑或片上向量/张量运算单元根据目标尺寸计算目的地址、循环写回或进行插值运算。这种搬运ip +计算单元的分立方案,在人工智能加速器芯片、边缘soc等对面积(area)、带宽与功耗(power)敏感的集成电路产品中存在明显不足,具体体现在以下三个方面:
3、其一,dma通道配置寄存器与上采样参数配置逻辑相互独立,需额外增设专用寄存器组存储上采样相关参数,导致芯片面积增加、寄存器配置负担加重,且多组参数同步易出现偏差。
4、其二,现有dma内嵌上采样功能的方案多依赖独立乘法运算单元或插值运算模块实现数据扩展,不仅增加芯片面积与功耗,还会引入时序延迟,无法适配边缘计算、npu等对ppa指标高度敏感的应用场景。
5、其三,在内部存储器地址空间受严格约束的ai专用集成电路中,通用dma的三维块传输语义与“单次聚集读、按二维网格多次写”的上采样语义不匹配;若采用多条普通dma描述符模拟上采样操作,描述符深度、中断次数与配置寄存器写次数会随放大倍数近似成倍增加,不利于多通道dma ip在有限芯片面积下的并行调度。
6、随着多通道dma控制器、片内ibus与片外axi主口并存成为主流soc存储子系统拓扑,业界亟需在数字集成电路实现层面,提供一种在单一dma宏内完成 片内聚集读+片外扩展写的机制,使数据搬运与最近邻式空间扩展在硬件请求层一体化完成。
技术实现思路
1、为解决上述的问题,本发明一方面提供了一种dma内嵌的上采样传输电路,集成于dma控制器的硬件通道内,包括通道上采样控制与请求接口模块、上采样地址与节拍生成电路、读通路接口模块、写请求展开电路、写通路接口模块,以及读数据缓冲单元、写数据缓冲单元;
2、所述通道上采样控制与请求接口模块与dma通道原有配置寄存器直接连接,用于在配置为上采样工作模式时,将dma通道的源传输配置寄存器、目的传输配置寄存器的字段映射为上采样几何参数,并输出上采样使能信号与对应几何参数;
3、所述上采样地址与节拍生成电路与通道上采样控制与请求接口模块连接,用于接收几何参数,通过内置有限状态机调度读相位与写相位,生成读子请求与写子请求,并生成读地址与写地址;
4、所述读通路接口模块分别与上采样地址与节拍生成电路、读数据缓冲单元连接,用于根据所述读子请求从源存储单元读取源数据并存入所述读数据缓冲单元;
5、所述写请求展开电路与通道上采样控制与请求接口模块连接,用于接收上采样地址与节拍生成电路生成的写子请求,并将写子请求拆分生成符合片外总线协议的写突发事务,并标记上采样事务类型;
6、所述写通路接口模块与写数据缓冲单元连接,写数据缓冲单元连接读数据缓冲单元;所述写数据缓冲单元用于根据写子请求接收目的地址与类型,从读数据缓冲单元载入源数据;写通路接口模块用于将写数据缓冲单元中上采样的目标数据写入目的存储单元。
7、所述通道上采样控制与请求接口模块的寄存器映射规则具体为:
8、源传输配置寄存器中的源传输次数寄存器值映射为水平放大倍数,源宽度、源步长、源地址间隙、源基地址字段分别映射为上采样读侧的行宽、行步长、行间隙、源数据起始地址;
9、目的传输配置寄存器中的目的传输次数寄存器值映射为垂直放大倍数,目的宽度、目的步长、目的地址间隙、目的基地址字段分别映射为上采样写侧的行宽、行步长、行间隙、目的数据起始地址。
10、所述通道上采样控制与请求接口模块内置上采样会话状态机,用于在dma启动且配置为上采样模式时进入上采样启动状态,置位上采样请求有效信号;并在接收到所述上采样地址与节拍生成电路返回的请求完成信号时,退出上采样启动状态;
11、在上采样有效期间,所述通道上采样控制与请求接口模块将读侧信号来源、写侧信号来源均切换为上采样地址与节拍生成电路,并将写子请求的应答信号与完成信号反馈至所述上采样地址与节拍生成电路,作为状态推进条件。
12、所述上采样地址与节拍生成电路内置有限状态机,包括空闲状态、读相位状态、写相位状态、写等待状态、写完成状态、请求完成状态,各状态流转路径为:
13、空闲状态下,配置完成且模式为上采样时,跳转至读相位状态;
14、读相位状态下,发出读子请求后跳转至写相位状态;
15、写相位状态下,若写子请求当拍完成则跳转至写完成状态,若未当拍完成则跳转至写等待状态;
16、写等待状态下,接收到写完成有效信号后跳转至写完成状态;
17、写完成状态下,若当前源块对应的全部写操作未完成,则返回写相位状态;若当前源块写操作全部完成且源数据未读完,则返回读相位状态;若源数据全部读完,则跳转至请求完成状态;
18、请求完成状态下,整次上采样传输结束产生请求完成信号,返回空闲状态。
19、上采样地址与节拍生成电路的读地址生成方式为:
20、读地址由源行内偏移累加值与源行基址累加值相加得到;源行内偏移寄存器按每次读宽度递增,计满源行宽后归零;源行基址寄存器在完成一整行源数据读取后,按源行步长递增;
21、读传输长度取当前切片宽度与剩余源字节数的较小值,剩余源字节数不大于当前切片宽度时置位读末拍标记;
22、已读字节累加寄存器在每次写子请求应答后,累加本次读长度;当累加值等于源传输总字节数时产生源读完成信号。
23、上采样地址与节拍生成电路的写地址生成方式为:
24、写地址由源行内偏移寄存器、目的基址寄存器、目的水平步长累加寄存器、垂直间隙累加寄存器的数值相加得到,初始写地址复用dma通道原有写地址寄存器;
25、所述源行内偏移寄存器记录当前写入位置的单行内的偏移,计满单行宽度后归零;
26、所述目的基址寄存器每完成一轮水平方向复制,叠加目的行步长,水平方向全部复制完成后归零;
27、所述目的水平步长累加寄存器在每次写应答后叠加目的行步长,计满水平放大倍数后归零;
28、所述垂直间隙累加寄存器每完成一轮水平全部复制,叠加目的地址间隙,计满垂直放大倍数后归零。
29、所述读数据缓冲单元由位宽与片内总线宽度一致、深度为4拍的寄存器组构成,配置有读指针与写指针,指针位宽包含2位地址位与1位空满判断位;
30、所述写指针由读相位的读请求控制,读回数据写入对应位置后指针递增;
31、所述读指针由写数据缓冲单元控制,取数时指针递增;接收到清空信号时,读指针与写指针同时归零复位。
32、所述写数据缓冲单元由位宽为8bit、总容量为2拍总线宽度的寄存器组构成;配置有写指针与读指针,指针位宽由寄存器数量的对数位宽和1位空满状态指示位组成,用于判断缓冲空满状态以防止数据覆盖;
33、所述写数据缓冲单元的写入逻辑为:根据总容量、读指针、写指针计算空位,当空位大于等于当前待输出数据长度时,从读数据缓冲单元载入数据,写指针按输出字节数递增;
34、所述写数据缓冲单元的读出逻辑为:根据写指针与读指针计算待输出数据量,当待输出数据量大于等于一拍数据长度时,输出数据至片外写通道,读指针按输出字节数递增。
35、所述读数据缓冲单元与写数据缓冲单元设置有读写指针回绕控制逻辑,所述读写指针回绕控制逻辑包括复制回绕与全局回绕;
36、复制回绕:单块源数据完成一次写出后,需继续复制到其他目的地址时,仅将写数据缓冲单元的读指针回绕至缓冲起始位置,写指针保持不变;读数据缓冲单元的读指针也同步回绕至起始位置,写指针不变;
37、全局回绕:整次上采样传输全部结束后,读数据缓冲单元与写数据缓冲单元的读写指针同时归零复位。
38、本发明另一方面提供了一种基于如上所述的dma内嵌的上采样传输电路的上采样工作方法,包括:
39、s1、配置dma通道控制寄存器为上采样工作模式,复用源传输配置寄存器、目的传输配置寄存器的字段作为上采样几何参数,其中源传输次数映射为水平放大倍数,目的传输次数映射为垂直放大倍数;
40、s2、dma通道启动进入上采样工作状态,上采样地址与节拍生成电路进入读相位;
41、s3、读通路接口模块根据读子请求从源存储单元读取一块源数据,存入读数据缓冲单元;
42、s4、进入写相位,写请求展开电路发起第一次片外写操作;写通道接口模块得到展开的写请求,从读数据缓冲单元中读出指定的源数据块载入写数据缓冲单元,并将写数据缓冲单元的目标数据写到目标存储单元;单次写出完成后,写数据缓冲单元的读指针回绕至起始位置,同时更新目的地址,重复发起写操作,直至完成水平放大倍数与垂直放大倍数乘积次数的复制写出;
43、s5、当前源块的全部复制写操作完成后,若源数据未全部读取完毕,返回s3读取下一块源数据;若源数据全部读取完毕,进入s6;
44、s6、所有源数据均完成读取与复制写出后,产生请求完成信号,dma通道退出上采样工作状态。
45、有益效果:本发明完全复用dma通道原有配置寄存器承载全部上采样几何参数,无需增设任何独立的上采样参数寄存器组,减少了寄存器硬件开销,降低了配置复杂度,避免了多组参数同步偏差的问题。
46、本发明摒弃了独立乘法运算单元与插值运算单元,仅通过地址与计数寄存器阵列配合写缓冲读指针回绕的纯组合逻辑,即可实现最近邻块复制式上采样,简化了硬件结构,降低了芯片设计复杂度与时序延迟。
47、同时,采用源块单次片内读、目的端按水平与垂直倍数多次片外写的调度机制,通过写缓冲读指针回绕复用已采样数据,避免对片内源数据的重复读取,有效降低片内ibus/noc的带宽压力;并且,本发明将数据搬运与上采样扩展在单一dma硬件宏内深度融合,全程由硬件状态机自动调度,无需cpu软件干预,减少了固件开销与描述符链长度,满足硬实时推理与硬件调度的确定性要求。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com