内存访问电路、方法、电子设备、存储介质及芯片与流程

摘要: 本技术属于计算机,具体涉及一种内存访问电路、方法、电子设备、存储介质及程序产品。背景技术:1、电子设备可以通过图像信号处理器(imagesignalproces...
内存访问电路、方法、电子设备、存储介质及芯片与流程

本技术属于计算机,具体涉及一种内存访问电路、方法、电子设备、存储介质及程序产品。

背景技术:

1、电子设备可以通过图像信号处理器(image signalprocessor,isp)对图像进行降噪、色彩校正、锐化等处理,在这个过程中,isp需要从内存读取大量图像数据。通常,电子设备可以利用缓存(cache)电路和内存访问电路,通过块数据的形式从内存中读取图像数据,从而使得isp可以获取到需要使用的图像数据。

2、例如,电子设备可以通过cache电路,将需要使用的块数据的访问地址发送给内存访问电路,以使得内存访问电路可以基于该访问地址,从总线内存中获取固定缓存行(cacheline)长度的数据。然后,在内存访问电路获取对应数据(rdata)后,可以将cache访问地址和数据发送给cache电路。从而实现对总线上的内存映射到cache line的数据搬运。

3、然而,上述方法中,在部分图像处理的过程中,相邻输出的像素可能会映射到输入图像的非相邻区域,从而会使得总线上突发传输事务变得碎片化,突发事务长度小,进一步使得访问总线次数增多,总线的利用率下降。如此,导致内存访问的效率较差。

技术实现思路

1、本技术实施例的目的是提供一种内存访问电路、方法、电子设备、存储介质及程序产品,能够提高总线利用率,提高内存访问效率。

2、第一方面,本技术实施例提供了一种内存访问电路,内存访问电路包括地址映射模块和数据处理模块,地址映射模块包括突发事务合并模块、内存地址转换模块和突发事务长度计算模块;突发事务合并模块,用于接收至少两个块数据访问地址,并基于至少两个块数据访问地址,对连续的n个块数据访问地址进行突发事务合并处理,以及将n个块数据访问地址对应的连续标志位发送至内存地址转换模块和突发事务长度计算模块,n个块数据访问地址为至少两个块数据访问地址中的至少部分访问地址,n为大于1的整数;内存地址转换模块,用于将n个块数据访问地址中的第一个块数据访问地址映射为内存物理地址;突发事务长度计算模块,用于基于块数据位宽和总线位宽,计算n个块数据访问地址对应的总线数据量;数据处理模块,用于在内存访问电路接收到总线数据的情况下,对接收到的总线数据进行编辑处理,得到连续的n个块数据,并将n个块数据访问地址和n个块数据,发送至缓存器。

3、第二方面,本技术实施例提供了一种图像处理装置,图像处理装置包括地址映射模块和数据处理模块,地址映射模块包括突发事务合并模块、内存地址转换模块和突发事务长度计算模块;突发事务合并模块,用于接收至少两个块数据访问地址,并基于至少两个块数据访问地址,对连续的n个块数据访问地址进行突发事务合并处理,以及将n个块数据访问地址对应的连续标志位发送至内存地址转换模块和突发事务长度计算模块,n个块数据访问地址为至少两个块数据访问地址中的至少部分访问地址,n为大于1的整数;内存地址转换模块,用于将n个块数据访问地址中的第一个块数据访问地址映射为内存物理地址;突发事务长度计算模块,用于基于块数据位宽和总线位宽,计算n个块数据访问地址对应的总线数据量;数据处理模块,用于在图像处理装置接收到总线数据的情况下,对接收到的总线数据进行编辑处理,得到连续的n个块数据,并将n个块数据访问地址和n个块数据,发送至缓存器。

4、第三方面,本技术实施例提供了一种内存访问方法,该内存访问方法应用于如第一方面所述的内存访问电路,或者如第二方面所述的图像处理装置,该内存访问电路包括地址映射模块和数据处理模块;该内存访问方法包括:通过地址映射模块中的突发事务合并模块,接收至少两个块数据访问地址,并基于至少两个块数据访问地址,对连续的n个块数据访问地址进行突发事务合并处理,以及将n个块数据访问地址对应的连续标志位发送至地址映射摸模块中的内存地址转换模块和突发事务长度计算模块,n个块数据访问地址为至少两个块数据访问地址中的至少部分访问地址,n为大于1的整数;通过内存地址转换模块,将n个块数据访问地址中的第一个块数据访问地址映射为内存物理地址;通过突发事务长度计算模块,基于块数据位宽和总线位宽,计算n个块数据访问地址对应的总线数据量;通过地址映射模块,将内存物理地址和总线数据量,传输至内存;在内存访问电路接收到内存发送的总线数据的情况下,通过数据处理模块,基于总线数据进行编辑处理,得到连续的n个块数据,并将n个块数据访问地址和n个块数据,发送至缓存器。

5、第四方面,本技术实施例提供了一种电子设备,该电子设备包括如第一方面所述的内存访问电路,或者如第二方面所述的图像处理装置。

6、第五方面,本技术实施例提供了一种电子设备,该电子设备包括处理器和存储器,所述存储器存储可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第三方面所述的方法的步骤。

7、第六方面,本技术实施例提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第三方面所述的方法的步骤。

8、第七方面,本技术实施例提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现如第三方面所述的方法。

9、第八方面,本技术实施例提供一种计算机程序/程序产品,该程序/程序产品被存储在存储介质中,该程序/程序产品被至少一个处理器执行以实现如第三方面所述的方法。

10、在本技术实施例中,内存访问电路包括地址映射模块和数据处理模块,该地址映射模块包括突发事务合并模块、内存地址转换模块和突发事务长度计算模块;该突发事务合并模块,用于接收至少两个块数据访问地址,并基于至少两个块数据访问地址,对连续的n个块数据访问地址进行突发事务合并处理,以及将n个块数据访问地址对应的连续标志位发送至内存地址转换模块和突发事务长度计算模块,n个块数据访问地址为至少两个块数据访问地址中的至少部分访问地址,n为大于1的整数;该内存地址转换模块,用于将n个块数据访问地址中的第一个块数据访问地址映射为内存物理地址;突发事务长度计算模块,用于基于块数据位宽和总线位宽,计算n个块数据访问地址对应的总线数据量;数据处理模块,用于在内存访问电路接收到总线数据的情况下,对接收到的总线数据进行编辑处理,得到连续的n个块数据,并将n个块数据访问地址和n个块数据,发送至缓存器。本方案中,在通过内存访问电路从内存中读取数据的过程中,该内存访问电路可以对该连续的n个块数据访问地址进行突发事务合并处理,然后再将该n个块数据访问地址所对应的连续标志位发送至内存地址转换模块和突发事务长度计算模块。于是,该内存地址转换模块可以将n个块数据访问地址中的第一个块数据访问地址映射为内存物理地址,以使得内存访问电路可以通过该第一个块数据访问地址,表示该n个块数据访问地址,从而无需为剩余的n-1个块数据访问地址进行内存地址的转换,能够减少需要发送的块数据访问地址的数量。而突发事务长度计算模块可以计算该连续的n个块数据访问地址对应的总线数据量,能够减少对单个块数据访问地址分别进行计算再相加的过程中,对边界处总线数据的重复统计。如此,降低了该内存访问电路访问总线的次数,减少了对总线数据的重复读取,能够提升总线的利用率,从而进一步提升了内存访问的效率。