数据处理方法、装置、模组及芯片与流程

文档序号:21847964发布日期:2020-08-14 17:15阅读:185来源:国知局
数据处理方法、装置、模组及芯片与流程

本申请涉及芯片技术领域,具体而言,涉及一种数据处理方法、装置、模组及芯片。



背景技术:

芯片的ip(intellectualproperty)核的设计中通常采用apb(advancedperipheralbus)总线或ahb(advancedhighperformancebus)总线来进行参数配置,常用的数据位宽不超过32bit。

在现有技术中,芯片需要发出指令需要通过处理器来发起,处理器每通过apb总线或者ahb总线发出一个指令都需要进行一次处理器响应,导致对于指令的处理效率较低,并且,当发出的指令较多时,处理器的工作负载压力较大。

针对上述问题,目前尚未有有效的技术解决方案。



技术实现要素:

本申请实施例的目的在于提供一种数据处理方法、装置、模组及芯片,可以提供指令处理效率,降低处理器的工作压力。

第一方面,本申请实施例提供了一种数据处理模组,用于芯片中,所述芯片还包括分别与所述连接的处理器、存储控制器以及多个功能单元,该存储控制器与外部存储器连接,所述数据处理模组包括:

一axi总线,其与所述存储控制器连接;

一第一ahb总线,其与所述处理器连接;

一ahb配置单元,其与所述第一ahb总线连接以获取所述处理器发送的第一指令;

一axi读控制单元,其与所述axi总线连接,以用于根据所述第一指令控制所述存储控制器从外部存储器读取对应的帧配置参数;

一解析单元,其与所述axi读控制单元连接,其用于将所述帧配置参数解析成基于ahb协议的多个第一数据包;

一第二ahb总线,其一端与所述解析单元连接,其另一端与所述多个功能单元连接,用于将所述多个第一数据包传输给对应的功能单元。

可选地,在本申请实施例所述的数据处理模组中,所述外部存储器包括第一存储区域;

所述ahb总线用于接收所述处理器发送的多个原始数据包,所述原始数据包为所述第一指令,或者为用于直接发送至对应功能单元的第二数据包;

所述ahb配置单元用于对每一所述原始数据包内的地址进行识别,以筛选出其中的第一指令,并将第一指令发送给所述axi读控制单元,所述第一指令中的地址位于所述第一存储区域的地址范围内。

可选地,在本申请实施例所述的数据处理模组中,还包括一仲裁单元,所述解析单元通过所述仲裁单元与所述第二ahb总线连接;

所述仲裁单元的两个输入端分别与所述第一ahb总线以及所述解析单元连接;

所述仲裁单元的输出端与所述第二ahb总线连接;

所述仲裁单元用于接收所述处理器发送的第二数据包以及所述解析单元发送的第一数据包,并以分时复用的方式将所述第二数据包以及所述第一数据包依次传输给对应的功能单元。

可选地,在本申请实施例所述的数据处理模组中,所述axi读控制单元包括:

一读控制子单元,其用于根据所述第一指令从所述存储控制器读取对应的帧配置参数;

一缓存子单元,其用于将所述读控制子单元读取的多个帧配置参数进行缓存并生成缓存队列;

所述解析单元用于从所述缓存子单元的缓存队列依次读取帧配置参数进行解析。

可选地,在本申请实施例所述的数据处理模组中,所述缓存队列为先入先出队列。

可选地,在本申请实施例所述的数据处理模组中,所述帧配置参数包括帧头、帧连续地址参数配置段以及帧离散地址参数配置段;

所述帧连续地址参数配置段包括首地址以及多个依次排列的数据包,所述多个依次排列的数据包分别与以所述首地址为起点的多个连续地址一一对应,所述多个连续地址为对应多个功能单元的地址;

所述帧离散地址参数配置段包括多个“地址-数据包”组合,所述“地址-数据包”内的地址为与该数据包对应的功能单元的地址。

可选地,在本申请实施例所述的数据处理模组中,所述帧配置参数包括帧头以及帧连续地址参数配置段;

所述帧连续地址参数配置段包括首地址以及多个依次排列的数据包,所述多个依次排列的数据包分别与以所述首地址为起点的多个连续地址一一对应。

第二方面,本申请实施例还提供了一种芯片,包括上述任一项所述的数据处理模组。

第三方面,本申请实施例还提供了一种数据处理方法,用于芯片的数据处理模组中,所述芯片还包括分别与所述数据处理模组连接的处理器、存储控制器以及多个功能单元,该存储控制器与外部存储器连接,其特征在于,所述方法包括:

获取通过第一ahb总线接收自所述处理器发送的第一指令;

根据所述第一指令并通过axi总线从所述存储控制器读取对应的帧配置参数;

将所述帧配置参数解析成基于ahb协议的多个第一数据包;

将所述多个第一数据包通过第二ahb总线传输给对应的功能单元。

可选地,在本申请实施例所述的数据处理方法中,所述外部存储器包括第一存储区域;

所述ahb总线用于接收所述处理器发送的多个原始数据包;

所述获取通过第一ahb总线接收自所述处理器发送的第一指令,包括:

对通过所述第一ahb总线接收自所述处理器发送的原始数据包的地址进行识别,以筛选出其中的第一指令,所述第一指令中的地址位于所述第一存储区域的地址范围内。

可选地,在本申请实施例所述的数据处理方法中,所述所述原始数据包为所述第一指令,或者为用于直接发送至对应功能单元的第二数据包;

所述将所述多个第一数据包通过第二ahb总线传输给对应的功能单元,包括:

以分时复用的方式将所述第二数据包以及所述第一数据包依次传输所述第二ahb总线,以将所述多个第一数据包以及所述第二数据包通过第二ahb总线传输给对应的功能单元。

可选地,在本申请实施例所述的数据处理方法中,所述帧配置参数包括帧头、帧连续地址参数配置段和\或帧离散地址参数配置段;

所述帧连续地址参数配置段包括首地址以及多个依次排列的数据包,所述多个依次排列的数据包分别与以所述首地址为起点的多个连续地址一一对应,所述多个连续地址为对应多个功能单元的地址;

所述帧离散地址参数配置段包括多个“地址-数据包”组合,所述“地址-数据包”内的地址为与该数据包对应的功能单元的地址。

第四方面,本申请实施例还提供了一种数据处理装置,用于芯片的数据处理模组中,所述芯片还包括分别与所述数据处理模组连接的处理器、存储控制器以及多个功能单元,该存储控制器与外部存储器连接,其特征在于,所述装置包括:

获取模块,用于获取通过第一ahb总线接收自所述处理器发送的第一指令;

读取模块,用于根据所述第一指令并通过axi总线从所述存储控制器读取对应的帧配置参数;

解析模块,用于将所述帧配置参数解析成基于ahb协议的多个第一数据包;

传输模块,用于将所述多个第一数据包通过第二ahb总线传输给对应的功能单元。

由上可知,本申请实施例通过将多个指令以帧配置参数的形式打包存储在外部存储器中,并采用axi总线以直接从外部存储器读取帧配置参数,然后进一步解析并转换为基于ahb总线协议对应的多个第一数据包,然后通过ahb总线将该多个第一数据包传输给对应的功能单元进行执行,从而在需要发出多个指令给功能单元时,无需处理器进行多次响应,可以提高指令处理效率,降低处理器的负担。

本申请的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请实施例了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本申请实施例提供的数据处理模组的一种结构示意图。

图2为本申请实施例中是帧连续地址参数配置段的数据结构图。

图3为本申请实施例中是帧离散地址参数配置段的数据结构图。

图4为本申请实施例提供的数据处理模组的另一种结构示意图。

图5为本申请实施例提供的数据处理方法的流程图。

图6为本申请实施例提供的数据处理装置的结构示意图。

具体实施方式

下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

请参照图1,图1是本申请一些实施例中的数据处理模组的结构示意图。该数据处理模组100,用于芯片中。该芯片还包括处理器300、存储控制器200以及多个功能单元400。该处理器300与该数据处理模组100连接,该存储控制器200与该数据处理模组100连接,该多个功能单元400与该参数配置模组100连接。该存储控制器200与外部存储器连接。该处理器300发送第一指令给该数据处理模组100,该数据处理模组100根据该第一指令控制该存储控制器200从该外部存储器读取对应的帧配置参数。其中,该存储控制器200可以为ddr存储控制器,对应的,该外部存储器为ddr存储器(双倍速率同步动态随机存储器),当然,其并不限于此。该多个功能单元400分别用于实现不同功能。

其中,由于该数据处理模组100与外部存储器不是直接连接的,而是通过该存储控制器连接的,因此,实际上该数据处理模组100读取的数据是通过该存储控制器来实现的,当然,也可以说是从该存储控制器中读取的。

具体,该数据处理模组100包括:一第一ahb总线101、一axi(advancedextensibleinterface)总线102、一第二ahb总线103、一ahb配置单元104、一axi读控制单元105以及一解析单元106。该axi总线102与存储控制器200连接;第一ahb总线101与所述处理器300连接;ahb配置单元104与第一ahb总线101连接,axi读控制单元105其与axi总线102连接,解析单元106与axi读控制单元105连接,第二ahb总线103一端与所述解析单元106连接,其另一端与所述多个功能单元400连接。

具体地,第一ahb总线101用于接收该处理器300发出的基于ahb协议的第一指令。该第一指令内携带的地址位于该外部存储器的第一存储区域的地址范围内。当然,可以理解地,该第一ahb总线101还可以接收该处理器300发出的基于ahb协议的第二数据包。该第二数据包可以通过该第二ahb总线103直接传输对应的功能单元400处。也即是,ahb总线用于接收所述处理器发送的多个原始数据包,所述原始数据包为所述第一指令,或者为用于直接发送至对应功能单元的第二数据包,该ahb配置单元104对原始数据包中的地址进行识别,以提取出其中的第一指令。其中,该第一数据包可以为多个配置参数结合该配置参数对应的功能单元的地址打包形成,也可以为多个控制指令及对应的功能单元的地址进行打包形成。该第二数据包可以配置参数也可以为控制指令。

具体地,该axi读控制单元105用于根据第一指令控制该存储控制器200从外部存储器读取对应的帧配置参数。该axi读控制单元105与该存储控制器200通过axi总线102连接,该axi总线102是基于axi协议传输数据的,而axi协议是基于突发的传输,是一种面向高性能、高带宽、低延迟的片内总线,定义了读地址、读数据、写地址、写数据和写响应五个通道。axi协议的传输特性为只需要一次突发的首地址,可以连续发送多个突发传输首地址而无需等待前次突发传输完成,大大提高了总线的利用率,减少了对处理器响应的依赖。

具体地,在一些实施例中,该axi读控制单元105包括读控制子单元以及缓存子单元,该读控制子单元用于根据所述第一指令从所述存储控制器读取对应的帧配置参数;该缓存子单元用于将所述读控制子单元读取的多个帧配置参数进行缓存并生成缓存队列。该缓存子单元可以降低读取速度与使用速度的不匹配,可以应对axi总线突发传输的延迟造成的性能损失。

其中,该帧配置参数包括:帧头、帧连续地址参数配置段、帧离散地址参数配置段。当然,可以理解地,该帧配置参数也可以只包括:帧头、帧连续地址参数配置段。或者,该帧配置参数也可以只包括:帧头、帧离散地址参数配置段。

其中,该帧头的数据结构为定长字节数据,主要表示当前帧号、当前帧配置参数的数据量等其他自定义信息。

其中,该帧连续地址参数配置段采用首地址加多个指令的方式可以实现连续地址的参数配置。例如,该帧连续地址参数配置段可以为以下格式:首地址1-数据包1-数据包2-数据包3-数据包4,其中每一数据包的长度可以为4个字节。或者如图2所示,图2为该帧连续地址参数配置段的数据结构。

其中,如图3所示,该帧离散地址参数配置段包括多个“地址-指令”组合,可以实现离散地址的参数配置,这种场景适合于普通参数寄存器等的帧间配置更新。ahb地址单位为byte,因此32比特数据位宽第二ahb总线的低2比特地址线不参与地址译码,可以用作连续地址(2’b01)和离散地址(2’b00)的区分标志。

其中,该帧连续地址参数配置段以及该帧离散地址参数配置段中的各个地址指的是对应需要接收对应功能单元的地址。

该解析单元106用于将帧配置参数解析成基于ahb协议的多个第一数据包;解析单元106具体用于从缓存子单元的缓存队列依次读取帧配置参数进行解析。

第二ahb总线103用于将多个第二数据包传输给对应的功能单元400。该解析单元106在对帧配置参数进行解析时,将该帧配置参数解析成基于ahb协议的多个第一数据包。

例如,对于该帧连续地址参数配置段而言,如果该帧连续地址参数配置段中包含的指令个数大于预设阈值,则需要将该帧连续地址参数配置段解析成多个连续段,每一连续段的格式为:首地址1-数据包数据包1-数据包数据包2-数据包数据包3。其中,该地址1指的是该数据包数据包1对应的功能单元的地址。该数据包数据包2对应的地址为数据包数据包1的地址加上对应的地址偏移量。该数据包数据包3对应的地址为数据包数据包1的地址加上对应的地址偏移量。

当然,如果该帧连续地址参数配置段中包括的指令个数小于预设阈值,则无需拆分成多个连续段。

对于帧离散地址参数配置段,需要将该帧离散地址参数配置段解析得到多个基于ahb协议的第一数据包,每一第一数据包的格式为“地址-数据包4”。“地址-数据包数据包4”中的地址是指该数据包数据包4所对应的功能单元的地址。

由上可知,本申请实施例通过将多个指令以帧配置参数的形式打包存储在外部存储器中,并采用axi总线以直接从外部存储器读取帧配置参数,然后进一步解析并转换为基于ahb总线协议对应的多个第一数据包,然后通过ahb总线将该多个第一数据包传输给对应的功能单元进行执行,从而在需要发出多个数据包给功能单元时,无需处理器进行多次响应,可以提高指令处理效率,降低处理器的负担;本申请还利用了axi总线数据位宽大、数据传输速率高的特点,可以快速地将需要配置的“地址-数据包”对从外部存储器载入到数据处理模组内。

可以理解地,在一些实施例中,如图4所示,该数据处理模组还包括一个仲裁单元107。该仲裁单元107的两个输入端分别与该解析单元106以及该第一ahb总线101连接,第二ahb总线103一端与仲裁单元107的输出端连接,其另一端与所述多个功能单元400连接,用于将多个第二数据包传输给对应的功能单元400。

该仲裁单元107用于接收处理器300发送的第二数据包以及所述解析单元106发送的第一数据包,并以分时复用的方式将所述第二数据包以及所述第一数据包依次传输给对应的功能单元400,避免访问冲突。当然,该仲裁单元107在执行仲裁操作时,可以优先执行将来自处理器300的第二数据包发送给对应的功能单元,后执行将解析单元106发送的第二数据包。当然,可以理解地,该仲裁单元107也可以采用先入先出原则,来对该第一数据包以及第二数据包进行传输操作。

请参照图5,图5是本申请一些实施例中的一种数据处理方法的流程图。该方法用于芯片的数据处理模组中,如图6所示,该芯片还包括分别与所述数据处理模组连接的处理器、存储控制器以及多个功能单元,该存储控制器与外部存储器连接。数据处理方法以计算机程序的形式集成在该数据处理模组中。

其中,该数据处理方法包括以下步骤:

s201、获取通过第一ahb总线接收自所述处理器发送的第一指令。

s202、根据所述第一指令并通过axi总线从所述存储控制器读取对应的帧配置参数。

s203、将所述帧配置参数解析成基于ahb协议的多个第一数据包。

s204、将所述多个第一数据包通过第二ahb总线传输给对应的功能单元。

其中,在该步骤s201中,该第一指令内携带的地址位于该外部存储器的第一存储区域的地址范围内。当然,可以理解地,该第一ahb总线还可以接收该处理器发出的基于ahb协议的第二数据包。该第二数据包可以通过该第二ahb总线103直接传输对应的功能单元处。

在一些实施例中,该外部存储器包括第一存储区域;所述ahb总线用于接收所述处理器发送的多个原始数据包;该步骤s201具体包括:对通过所述第一ahb总线接收自所述处理器发送的原始数据包的地址进行识别,以筛选出其中的第一指令,所述第一指令中的地址位于所述第一存储区域的地址范围内。

其中,在该步骤s202中,执行是根据第一指令控制该存储控制器从外部存储器读取对应的帧配置参数。该axi总线是基于axi协议传输数据的,而axi协议是基于突发的传输,是一种面向高性能、高带宽、低延迟的片内总线,定义了读地址、读数据、写地址、写数据和写响应五个通道。axi协议的传输特性为只需要一次突发的首地址,可以连续发送多个突发传输首地址而无需等待前次突发传输完成,大大提高了总线的利用率,减少了对处理器响应的依赖。

具体地,在一些实施例中,该步骤s202包括:

s2021、根据所述第一指令从所述存储控制器读取对应的帧配置参数;s2022、将读取的多个帧配置参数进行缓存并生成缓存队列。该通过将该多个帧配置参数生成缓存队列,可以降低读取速度与使用速度的不匹配,可以应对axi总线突发传输的延迟造成的性能损失。

其中,该帧配置参数包括:帧头、帧连续地址参数配置段、帧离散地址参数配置段。当然,可以理解地,该帧配置参数也可以只包括:帧头、帧连续地址参数配置段。或者,该帧配置参数也可以只包括:帧头、帧离散地址参数配置段。

其中,该帧头的数据结构为定长字节数据,主要表示当前帧号、当前帧配置参数的数据量等其他自定义信息。

其中,该帧连续地址参数配置段采用首地址加多个指令的方式可以实现连续地址的参数配置。例如,该帧连续地址参数配置段可以为以下格式:首地址1-数据包1-数据包2-数据包3-数据包4,其中每一数据包的长度为4个字节。或者如图2所示,图2为该帧连续地址参数配置段的数据结构。

其中,如图3所示,该帧离散地址参数配置段包括多个“地址-数据包”组合,可以实现离散地址的参数配置,这种场景适合于普通参数寄存器等的帧间配置更新。ahb地址单位为byte,因此32比特数据位宽第二ahb总线的低2比特地址线不参与地址译码,可以用作连续地址(2’b01)和离散地址(2’b00)的区分标志。

其中,该帧连续地址参数配置段以及该帧离散地址参数配置段中的各个地址指的是对应需要接收对应功能单元的地址。

在该步骤s203中,具体执行时,可以从缓存队列依次读取帧配置参数进行解析。对于该帧连续地址参数配置段而言,如果该帧连续地址参数配置段中包含的指令个数大于预设阈值,则需要将该帧连续地址参数配置段解析成多个连续段,每一连续段的格式为:首地址1-数据包1-数据包2-数据包3。其中,该地址1指的是该数据包1对应的功能单元的地址。该数据包2对应的地址为数据包1的地址加上对应的地址偏移量。该数据包3对应的地址为数据包1的地址加上对应的地址偏移量。

当然,如果该帧连续地址参数配置段中包括的指令个数小于预设阈值,则无需拆分成多个连续段。

对于帧离散地址参数配置段,需要将该帧离散地址参数配置段解析得到多个基于ahb协议的第一数据包,每一第一数据包的格式为“地址-数据包4”。“地址-数据包4”中的地址是指该数据包4所对应的功能单元的地址。

在该步骤s204中,该处理器发出的多个原始数据包可以仅仅包括第一指令。当然,该多个原始数据包也可以包括第一指令以及多个第二数据包;对应地,该步骤s204,包括:以分时复用的方式将所述第二数据包以及所述第一数据包依次传输所述第二ahb总线,以将所述多个第一数据包以及所述多个第二数据包通过第二ahb总线传输给对应的功能单元。在该步骤s204中,可以优先执行将来自处理器的第二数据包发送给对应的功能单元,后执行发送解析得到的第一数据包。当然,可以理解地,该步骤s204中,还可以采用先入先出原则,来对该第一数据包以及第二数据包进行传输操作。

由上可知,本申请实施例通过将多个数据包以帧配置参数的形式打包存储在外部存储器中,并采用axi总线以直接从外部存储器读取帧配置参数,然后进一步解析并转换为基于ahb总线协议对应的多个第一数据包,然后通过ahb总线将该多个第一数据包传输给对应的功能单元进行执行,从而在需要发出多个数据包给功能单元时,无需处理器进行多次响应,可以提高指令处理效率,降低处理器的负担;本申请还利用了axi总线数据位宽大、数据传输速率高的特点,可以快速地将需要配置的“数据包-指令”对从外部存储器载入到数据处理模组内。

请参照图6,图6是本申请一些实施例中的一种数据处理装置,用于芯片的数据处理模组中。芯片还包括分别与所述数据处理模组连接的处理器、存储控制器以及多个功能单元,该存储控制器与外部存储器连接,该数据处理装置以计算机程序的形式集成在该数据处理模组内。该数据处理装置包括:第一获取模块301、读取模块302、解析模块303以及传输模块304。

其中,该第一获取模块301用于获取通过第一ahb总线接收自所述处理器发送的第一指令。

其中,该读取模块302用于根据所述第一指令并通过axi总线从所述存储控制器读取对应的帧配置参数。

其中,该解析模块303用于将所述帧配置参数解析成基于ahb协议的多个第一数据包。

其中,该传输模块304用于将所述多个第一数据包通过第二ahb总线传输给对应的功能单元。

在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

再者,在本申请各个实施例中的各功能单元可以集成在一起形成一个独立的部分,也可以是各个单元单独存在,也可以两个或两个以上单元集成形成一个独立的部分。

在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。

以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1