CN112100090A - 数据访问请求处理方法、装置、介质及内存映射控制器 - Google Patents

数据访问请求处理方法、装置、介质及内存映射控制器 Download PDF

Info

Publication number
CN112100090A
CN112100090A CN202010973055.6A CN202010973055A CN112100090A CN 112100090 A CN112100090 A CN 112100090A CN 202010973055 A CN202010973055 A CN 202010973055A CN 112100090 A CN112100090 A CN 112100090A
Authority
CN
China
Prior art keywords
access request
data access
request
ddr
configuration information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
CN202010973055.6A
Other languages
English (en)
Inventor
王峰
任智新
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Beijing Electronic Information Industry Co Ltd
Original Assignee
Inspur Beijing Electronic Information Industry Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Inspur Beijing Electronic Information Industry Co Ltd filed Critical Inspur Beijing Electronic Information Industry Co Ltd
Priority to CN202010973055.6A priority Critical patent/CN112100090A/zh
Publication of CN112100090A publication Critical patent/CN112100090A/zh
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System (AREA)

Abstract

本申请公开了一种数据访问请求处理方法、装置、计算机可读存储介质及内存映射控制器。其中,方法应用于内存映射控制器,包括当接收到多个CPU同时发送的数据访问请求,根据各数据访问请求的访问配置信息仲裁优先级最高的目标数据访问请求,并记录各数据访问请求的状态信息。根据目标数据访问请求及其相应的访问配置信息生成访问DDR数据请求,以使DDR可识别CPU下发的数据访问请求。根据各数据访问请求的状态信息和相应访问配置信息生成各数据访问请求的中断处理结果,标识各数据访问请求是否被处理以使各CPU根据对应中断处理结果进行下一步行为,从而能够响应多个CPU同时下发的数据访问请求,完成多个CPU对DDR实际地址的访问。

Description

数据访问请求处理方法、装置、介质及内存映射控制器
技术领域
本申请涉及异构计算技术领域,特别是涉及一种数据访问请求处理方法、装置、计算机可读存储介质及内存映射控制器。
背景技术
随着异构加速技术的快速发展以及日益广泛的应用,基于FPGA(FieldProgrammable Gate Array,现场可编程与门阵列)的加速卡也得到相应快速的发展。FPGA加速卡通过PCIE(peripheral component interconnect express,一种高速串行计算机扩展总线标准)接口与服务器主机CPU(central processing unit,中央处理器)连接,服务器主机通过PCIE接口将需要加速的数据发送给FPGA加速卡,FPGA加速卡处理完成后返回相关数据。在这个过程中会有大量数据的访问和传输,FPGA加速卡中通常设置有32G的DDR(Double Data Rate SDRAM,双倍速率同步动态随机存储器)。CPU需要访问FPGA加速卡的DDR,但是在某些情况下DDR的映射空间有限,CPU不能直接遍历整个DDR,这就需要通过mmap(memory map,内存映射)方式对DDR进行访问。
mmap可以将某个设备或者文件映射到应用进程的内存空间中,通过直接的内存操作即可完成对设备或文件的读写。相关技术的mmap实现方式为通过基地址加偏移地址,然后窗口移动式的遍历整个DDR。在该种实施方式中,Memory map控制器的原理如图1所示,通过基地址加偏移地址的方式去访问DDR的小范围区域,随着基地址的增加,可以遍历整个DDR空间。但是,这种memory map控制器在只有单一CPU访问的情况下是可以正常工作的。如果有多个CPU同时向FPGA加速卡发送数据访问请求,memory map控制器就无法响应各CPU的数据访问请求。
鉴于此,如何实现响应多个CPU同时下发的数据访问请求,完成CPU对DDR实际地址的访问,是所属领域技术人员需要解决的技术问题。
发明内容
本申请提供了一种数据访问请求处理方法、装置、计算机可读存储介质及内存映射控制器,能够响应多个CPU同时下发的数据访问请求,完成多个CPU对DDR实际地址的访问。
为解决上述技术问题,本发明实施例提供以下技术方案:
本发明实施例一方面提供了一种数据访问请求处理方法,应用于内存映射控制器,包括:
当接收到多个CPU同时发送的数据访问请求,根据各数据访问请求的访问配置信息仲裁优先级最高的目标数据访问请求,并记录各数据访问请求的状态信息;
根据所述目标数据访问请求及其相应的访问配置信息生成访问DDR数据请求;
根据各数据访问请求的状态信息和相应访问配置信息生成各数据访问请求的中断处理结果,以标识各数据访问请求是否被处理;所述中断处理结果为屏蔽中断或生成中断。
可选的,所述根据各数据访问请求的状态信息和相应访问配置信息生成各数据访问请求的中断处理结果之后,还包括:
将所述中断处理结果发送给相应CPU,以告知各CPU所下发的数据访问请求是否被处理。
可选的,所述根据各数据访问请求的状态信息和相应访问配置信息生成各数据访问请求的中断处理结果之后,还包括:
当接收到当前CPU以轮询模式发送的数据访问请求的状态信息获取请求,向所述当前CPU反馈与所述状态信息获取请求携带的CPU标识相匹配的数据访问请求处于等待处理状态还是正在处理状态。
可选的,所述根据各数据访问请求的访问配置信息仲裁优先级最高的目标数据访问请求包括:
预先将各CPU发送的待访问DDR的起始地址、基地址和访问空间、请求优先级作为访问配置信息进行存储;
读取各数据访问请求的请求优先级,通过比对各请求优先级仲裁得到所述目标数据访问请求。
可选的,所述根据所述目标数据访问请求及其相应的访问配置信息生成访问DDR数据请求包括:
读取所述目标访问请求的目标DDR的起始地址、基地址和访问空间;
根据所述目标数据访问请求、所述目标DDR的起始地址、基地址和访问空间生成访问所述目标DDR的Avalon-MM接口类型的请求。
本发明实施例另一方面提供了一种数据访问请求处理装置,应用于内存映射控制器,包括:
配置模块,用于预先存储各CPU的访问配置信息;
访问请求接收模块,用于当接收到多个CPU同时发送的数据访问请求,根据各数据访问请求的访问配置信息仲裁优先级最高的目标数据访问请求;
状态记录模块,用于根据所述访问请求接收模块发送的各数据请访问请求的仲裁结果记录各数据访问请求的状态信息;
映射访问模块,用于根据所述访问请求接收模块发送的所述目标数据访问请求及其相应的访问配置信息生成访问DDR数据请求;
中断模块,用于根据各数据访问请求的状态信息和相应访问配置信息生成各数据访问请求的中断处理结果,以标识各数据访问请求是否被处理;所述中断处理结果为屏蔽中断或生成中断。
可选的,所述访问请求接收模块包括:
配置信息存储子模块,用于预先将各CPU发送的待访问DDR的起始地址、基地址和访问空间、请求优先级作为访问配置信息进行存储;
仲裁子模块,用于读取各数据访问请求的请求优先级,通过比对各请求优先级仲裁得到所述目标数据访问请求。
本发明实施例还提供了一种数据访问请求处理装置,包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如前任一项所述数据访问请求处理方法的步骤。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有数据访问请求处理程序,所述数据访问请求处理程序被处理器执行时实现如前任一项所述数据访问请求处理方法的步骤。
本发明实施例最后还提供了一种内存映射控制器,包括如上所述数据访问请求处理装置、第一总线接口和第二总线接口;
所述第一总线接口用于与各CPU进行数据交互,所述第二总线接口用于与FPGA加速卡的DDR进行数据交互。
本申请提供的技术方案的优点在于,将内存映射控制器封装为IP独立使用,占用资源较少,能够接收来自多个CPU的配置信息,然后根据配置信息与对应CPU发起的访问请求转换成DDR能识别的访问请求,完成对DDR实际地址的访问,从而实现灵活地应用于多个处理器同时对DDR的数据访问请求,且各数据访问请求间互不影响,操作方便,有效增强了内存映射控制器的灵活性、可移植性和可拓展性,可独立应用于各种加速卡的应用开发,在项目开发过程中可直接调用,缩短项目研发周期,降低研发成本。
此外,本发明实施例还针对数据访问请求处理方法提供了相应的实现装置、计算机可读存储介质及内存映射控制器,进一步使得所述方法更具有实用性,所述装置、计算机可读存储介质及内存映射控制器具有相应的优点。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
为了更清楚的说明本发明实施例或相关技术的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的相关技术的内存映射控制器的工作原理示意图;
图2为本发明实施例提供的一种数据访问请求处理方法的流程示意图;
图3为本发明实施例提供的数据访问请求处理装置的一种具体实施方式结构图;
图4为本发明实施例提供的数据访问请求处理装置的另一种具体实施方式结构图;
图5为本发明实施例提供的数据访问请求处理装置的另一种具体实施方式结构图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等是用于区别不同的对象,而不是用于描述特定的顺序。此外术语“包括”和“具有”以及他们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可包括没有列出的步骤或单元。
在介绍了本发明实施例的技术方案后,下面详细的说明本申请的各种非限制性实施方式。
首先参见图2,图2为本发明实施例提供的一种数据访问请求处理方法的流程示意图,例如可应用于FPGA加速卡的内存映射控制器,本发明实施例可包括以下内容:
S201:当接收到多个CPU同时发送的数据访问请求,根据各数据访问请求的访问配置信息仲裁优先级最高的目标数据访问请求。
在本申请中,访问配置信息为预先存储在系统中的,CPU在访问FPGA加速卡的DDR之前,需要将访问配置信息预先发送给FPGA加速卡中,访问配置信息例如可包括但并不限制于其要访问的DDR的起始地址、访问空间的大小、要访问DDR的基地址和请求优先级。DDR的起始地址、访问空间的大小、要访问DDR的基地址用于共同决定待访问DDR的位置,请求优先级用于标识该数据访问请求在一堆数据访问请求中被处理的顺序。内存映射控制器在接收到多个CPU同时下发的数据访问请求后,依次读取各数据访问请求的请求优先级信息,比对各数据访问请求的请求优先级确定出请求优先级最高的数据访问请求,将该数据访问请求作为目标数据访问请求最先处理。也就是说,系统需要预先将各CPU发送的待访问DDR的起始地址、基地址和访问空间、请求优先级作为访问配置信息进行存储;在接收到访问请求时,可先读取各数据访问请求的请求优先级,通过比对各请求优先级仲裁得到目标数据访问请求。
S202:记录各数据访问请求的状态信息。
在S202步骤中,选取优先级最高的目标数据访问请求之后,目标数据访问请求的状态信息为正在处理,而其余各数据访问请求的状态信息为等待处理。
S203:根据目标数据访问请求及其相应的访问配置信息生成访问DDR数据请求。
S201确定最先处理的目标数据访问请求后,读取目标数据访问请求待访问的DDR的起始地址、访问空间的大小和基地址生成DDR可识别的访问DDR数据请求,并将该访问DDR数据请求发送给DDR,DDR通过识别该访问DDR数据请求后向相应CPU提供数据访问功能。
可以理解的是,目标数据访问请求需要转换为DDR可以识别的访问请求后,DDR才允许该数据访问请求去访问数据,而DDR与内存映射控制器是通过接口进行数据处理的,在转化过程中,还需考虑接口格式,对于Avalon总线来说,该步骤的实施方式可为:读取目标访问请求的目标DDR的起始地址、基地址和访问空间;根据目标数据访问请求、目标DDR的起始地址、基地址和访问空间生成访问目标DDR的Avalon-MM接口类型的请求。
S204:根据各数据访问请求的状态信息和相应访问配置信息生成各数据访问请求的中断处理结果,以标识各数据访问请求是否被处理。
可以理解的是,中断是指计算机运行过程中出现某些意外情况需主机干预时,机器能自动停止正在运行的程序并转入处理新情况的程序,处理完毕后又返回原被暂停的程序继续运行。本申请的中断处理结果为屏蔽中断或生成中断,屏蔽中断表示该数据访问请求可被立即处理,生成中断表示该数据访问请求等待处理。各数据访问请求具有中断处理结果,以使CPU根据中断处理结果决定其是去访问DDR还是等待一段时间在去访问DDR。
在本发明实施例提供的技术方案中,将内存映射控制器封装为IP独立使用,占用资源较少,能够接收来自多个CPU的配置信息,然后根据配置信息与对应CPU发起的访问请求转换成DDR能识别的访问请求,完成对DDR实际地址的访问,从而实现灵活地应用于多个处理器同时对DDR的数据访问请求,且各数据访问请求间互不影响,操作方便,有效增强了内存映射控制器的灵活性、可移植性和可拓展性,可独立应用于各种加速卡的应用开发,在项目开发过程中可直接调用,缩短项目研发周期,降低研发成本。
需要说明的是,本申请中各步骤之间没有严格的先后执行顺序,只要符合逻辑上的顺序,则这些步骤可以同时执行,也可按照某种预设顺序执行,图2只是一种示意方式,并不代表只能是这样的执行顺序。
在上述实施中,内存映射控制器对多个CPU同时下发的数据访问请求进行了处理,并仲裁得到当前时刻最先处理的数据访问请求同时为各数据访问请求生成相应的中断处理结果,以使CPU根据中断处理结果执行下一步行为。而至于CPU如何获知自己下发的数据访问请求是否被处理,上述实施例并未进行限定,本实施例中给出一种实施方式,在S204之后,还可包括如下步骤:
将中断处理结果发送给相应CPU,以告知各CPU所下发的数据访问请求是否被处理。在本实施例中,中断处理结果可携带标识CPU信息的字段,系统通过识别中断处理结果中的CPU标识确定这条中断处理结果是属于哪个CPU的,然后将其发送给相应CPU,CPU在接收到该中断处理结果之后,便可确定下一步行为。
作为与上述方式并列的另一种可选的实施方式,在S204之后,还可包括如下步骤:
当接收到当前CPU以轮询模式发送的数据访问请求的状态信息获取请求,向当前CPU反馈与状态信息获取请求携带的CPU标识相匹配的数据访问请求处于等待处理状态还是正在处理状态。
在本实施例中,CPU无需被动等待系统反馈的中断处理结果,通过轮询方式不断获取自己下发的数据访问请求或其他CPU下发的数据访问请求的状态信息,来屏蔽中断,通过判断自己数据访问请求的状态或者是其他CPU下发数据访问请求的状态可以知道自己的下一步行为,当查询到自己下发的数据访问请求为正在处理,即可去访问DDR,当查询到自己下发的数据访问请求为等待处理,可以隔一段时间去查询或者是运行其他业务。
本实施例提供两种不同的CPU数据访问请求的处理状态信息获取方式,所属领域技术人员可根据实际情况进行选择,提升灵活性。
本发明实施例还针对数据访问请求处理方法提供了相应的装置,进一步使得所述方法更具有实用性。其中,装置可从功能模块的角度和硬件的角度分别说明。下面对本发明实施例提供的数据访问请求处理装置进行介绍,下文描述的数据访问请求处理装置与上文描述的数据访问请求处理方法可相互对应参照。
基于功能模块的角度,参见图3,图3为本发明实施例提供的数据访问请求处理装置在一种具体实施方式下的结构图,应用于内存映射控制器,该装置可包括:
配置模块301,用于预先存储各CPU的访问配置信息。
访问请求接收模块302,用于当接收到多个CPU同时发送的数据访问请求,根据各数据访问请求的访问配置信息仲裁优先级最高的目标数据访问请求。
状态记录模块303,用于根据访问请求接收模块发送的各数据请访问请求的仲裁结果记录各数据访问请求的状态信息。
映射访问模块304,用于根据访问请求接收模块发送的目标数据访问请求及其相应的访问配置信息生成访问DDR数据请求。
中断模块305,用于根据各数据访问请求的状态信息和相应访问配置信息生成各数据访问请求的中断处理结果,以标识各数据访问请求是否被处理;中断处理结果为屏蔽中断或生成中断。
可选的,在本实施例的一些实施方式中,所述访问请求接收模块302可包括:
配置信息存储子模块,用于预先将各CPU发送的待访问DDR的起始地址、基地址和访问空间、请求优先级作为访问配置信息进行存储;
仲裁子模块,用于读取各数据访问请求的请求优先级,通过比对各请求优先级仲裁得到目标数据访问请求。
可选的,在本实施例的另一些实施方式中,所述映射访问模块304例如可以包括:
信息读取子模块,用于读取目标访问请求的目标DDR的起始地址、基地址和访问空间;
请求生成子模块,用于根据目标数据访问请求、目标DDR的起始地址、基地址和访问空间生成访问目标DDR的Avalon-MM接口类型的请求。
作为本实施例的一些可选的实施方式,所述装置例如还可包括请求状态获知模块,所述请求状态获知模块用于将中断处理结果发送给相应CPU,以告知各CPU所下发的数据访问请求是否被处理。
作为与上述实施例并列的另外一些可选的实施方式,所述请求状态获知模块还可用于当接收到当前CPU以轮询模式发送的数据访问请求的状态信息获取请求,向当前CPU反馈与状态信息获取请求携带的CPU标识相匹配的数据访问请求处于等待处理状态还是正在处理状态。
本发明实施例所述数据访问请求处理装置的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可知,本发明实施例能够响应多个CPU同时下发的数据访问请求,完成多个CPU对DDR实际地址的访问。
上文中提到的数据访问请求处理装置是从功能模块的角度描述,进一步的,本申请还提供一种数据访问请求处理装置,是从硬件角度描述。图4为本申请实施例提供的另一种数据访问请求处理装置的结构图。如图4所示,该装置包括存储器40,用于存储计算机程序;
处理器41,用于执行计算机程序时实现如上述任一实施例提到的数据访问请求处理方法的步骤。
其中,处理器41可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器41可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器41也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器41可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器41还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器40可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器40还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器40至少用于存储以下计算机程序401,其中,该计算机程序被处理器41加载并执行之后,能够实现前述任一实施例公开的数据访问请求处理方法的相关步骤。另外,存储器40所存储的资源还可以包括操作系统402和数据403等,存储方式可以是短暂存储或者永久存储。其中,操作系统402可以包括Windows、Unix、Linux等。数据403可以包括但不限于测试结果对应的数据等。
在一些实施例中,数据访问请求处理装置还可包括有显示屏42、输入输出接口43、通信接口44、电源45以及通信总线46。
本领域技术人员可以理解,图4中示出的结构并不构成对数据访问请求处理装置的限定,可以包括比图示更多或更少的组件,例如还可包括传感器47。
本发明实施例所述数据访问请求处理装置的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可知,本发明实施例能够响应多个CPU同时下发的数据访问请求,完成多个CPU对DDR实际地址的访问。
可以理解的是,如果上述实施例中的数据访问请求处理方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、磁碟或者光盘等各种可以存储程序代码的介质。
基于此,本发明实施例还提供了一种计算机可读存储介质,存储有数据访问请求处理程序,所述数据访问请求处理程序被处理器执行时如上任意一实施例所述数据访问请求处理方法的步骤。
本发明实施例所述计算机可读存储介质的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可知,本发明实施例能够响应多个CPU同时下发的数据访问请求,完成多个CPU对DDR实际地址的访问。
本发明实施例还提供了一种内存映射控制器,可包括如上任意一个实施例所述的数据访问请求处理装置51、第一总线接口52和第二总线接口53,总线为Avalon时,如图5所示,第一总线接口52为Avalon_master,即Avalon-MM接口,第二总线接口53为Avalon_slave。第一总线接口52用于与各CPU进行数据交互,通过该接口FPGA加速卡与主机进行数据传输和数据交互。第二总线接口53用于与FPGA加速卡的DDR进行数据交互,通过该接口FPGA加速卡的DDR与内数据访问请求处理装置51进行数据传输和数据交互。
如图5所示,数据访问请求处理装置51由五个模块构成:配置模块,访问请求接收模块,映射模块,状态记录模块,中断模块。配置模块接收来自各个CPU的配置信息,包括各个CPU要访问DDR的基地址,要访问的空间大小,各个CPU的请求优先级等等。访问请求接收模块执行仲裁功能,当多个CPU的访问请求同时到来时,该模块会根据优先级选出对应的访问请求。状态记录模块的功能是记录各个CPU的请求在当前的状态,各个CPU都可以通过访问该模块,来获取自己或者其他CPU的访问信息。映射模块的功能是接收CPU的访问请求,然后根据配置模块的信息,生成正常的DDR访问请求。中断模块的功能是根据状态记录模块的状态信息和相关配置信息,生成或者屏蔽对应的中断,CPU根据对应的中断进行下一步行为。基于这种结构,内存映射控制器的工作流程为:首先各个CPU将自己要访问的DDR的起始地址和空间以及DDR的基地址和请求优先级,写入配置模块;然后多个CPU发起访问请求,访问接收模块会根据相关的配置仲裁出优先级最高的请求,将该请求发给映射模块,同时将各个请求的信息发给status模块,状态记录模块会记录各个CPU的请求的状态信息;然后映射模块根据配置信息和访问请求,生成访问DDR的Avalon-MM接口类型的请求,以实现对DDR的访问。中断模块会根据各个CPU的配置和请求信息,决定是否屏蔽或者发起对应的中断,以告知对应的CPU,当前请求是否已经被处理。CPU也可以选择轮询模式,屏蔽中断,一直轮询状态记录模块,也能知道请求的状态。
本发明实施例所述内存映射控制器的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可知,本发明实施例能够响应多个CPU同时下发的数据访问请求,完成多个CPU对DDR实际地址的访问。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
以上对本申请所提供的一种数据访问请求处理方法、装置、计算机可读存储介质及内存映射控制器进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

Claims (10)

1.一种数据访问请求处理方法,其特征在于,应用于内存映射控制器,包括:
当接收到多个CPU同时发送的数据访问请求,根据各数据访问请求的访问配置信息仲裁优先级最高的目标数据访问请求,并记录各数据访问请求的状态信息;
根据所述目标数据访问请求及其相应的访问配置信息生成访问DDR数据请求;
根据各数据访问请求的状态信息和相应访问配置信息生成各数据访问请求的中断处理结果,以标识各数据访问请求是否被处理;所述中断处理结果为屏蔽中断或生成中断。
2.根据权利要求1所述的数据访问请求处理方法,其特征在于,所述根据各数据访问请求的状态信息和相应访问配置信息生成各数据访问请求的中断处理结果之后,还包括:
将所述中断处理结果发送给相应CPU,以告知各CPU所下发的数据访问请求是否被处理。
3.根据权利要求1所述的数据访问请求处理方法,其特征在于,所述根据各数据访问请求的状态信息和相应访问配置信息生成各数据访问请求的中断处理结果之后,还包括:
当接收到当前CPU以轮询模式发送的数据访问请求的状态信息获取请求,向所述当前CPU反馈与所述状态信息获取请求携带的CPU标识相匹配的数据访问请求处于等待处理状态还是正在处理状态。
4.根据权利要求1至3任意一项所述的数据访问请求处理方法,其特征在于,所述根据各数据访问请求的访问配置信息仲裁优先级最高的目标数据访问请求包括:
预先将各CPU发送的待访问DDR的起始地址、基地址和访问空间、请求优先级作为访问配置信息进行存储;
读取各数据访问请求的请求优先级,通过比对各请求优先级仲裁得到所述目标数据访问请求。
5.根据权利要求4所述的数据访问请求处理方法,其特征在于,所述根据所述目标数据访问请求及其相应的访问配置信息生成访问DDR数据请求包括:
读取所述目标访问请求的目标DDR的起始地址、基地址和访问空间;
根据所述目标数据访问请求、所述目标DDR的起始地址、基地址和访问空间生成访问所述目标DDR的Avalon-MM接口类型的请求。
6.一种数据访问请求处理装置,其特征在于,应用于内存映射控制器,包括:
配置模块,用于预先存储各CPU的访问配置信息;
访问请求接收模块,用于当接收到多个CPU同时发送的数据访问请求,根据各数据访问请求的访问配置信息仲裁优先级最高的目标数据访问请求;
状态记录模块,用于根据所述访问请求接收模块发送的各数据请访问请求的仲裁结果记录各数据访问请求的状态信息;
映射访问模块,用于根据所述访问请求接收模块发送的所述目标数据访问请求及其相应的访问配置信息生成访问DDR数据请求;
中断模块,用于根据各数据访问请求的状态信息和相应访问配置信息生成各数据访问请求的中断处理结果,以标识各数据访问请求是否被处理;所述中断处理结果为屏蔽中断或生成中断。
7.根据权利要求6所述的数据访问请求处理装置,其特征在于,所述访问请求接收模块包括:
配置信息存储子模块,用于预先将各CPU发送的待访问DDR的起始地址、基地址和访问空间、请求优先级作为访问配置信息进行存储;
仲裁子模块,用于读取各数据访问请求的请求优先级,通过比对各请求优先级仲裁得到所述目标数据访问请求。
8.一种数据访问请求处理装置,其特征在于,包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求1至6任一项所述数据访问请求处理方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有数据访问请求处理程序,所述数据访问请求处理程序被处理器执行时实现如权利要求1至6任一项所述数据访问请求处理方法的步骤。
10.一种内存映射控制器,其特征在于,包括如权利要求8所述数据访问请求处理装置、第一总线接口和第二总线接口;
所述第一总线接口用于与各CPU进行数据交互,所述第二总线接口用于与FPGA加速卡的DDR进行数据交互。
CN202010973055.6A 2020-09-16 2020-09-16 数据访问请求处理方法、装置、介质及内存映射控制器 Withdrawn CN112100090A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010973055.6A CN112100090A (zh) 2020-09-16 2020-09-16 数据访问请求处理方法、装置、介质及内存映射控制器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010973055.6A CN112100090A (zh) 2020-09-16 2020-09-16 数据访问请求处理方法、装置、介质及内存映射控制器

Publications (1)

Publication Number Publication Date
CN112100090A true CN112100090A (zh) 2020-12-18

Family

ID=73759672

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010973055.6A Withdrawn CN112100090A (zh) 2020-09-16 2020-09-16 数据访问请求处理方法、装置、介质及内存映射控制器

Country Status (1)

Country Link
CN (1) CN112100090A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113157603A (zh) * 2021-04-29 2021-07-23 上海阵量智能科技有限公司 数据读取装置、方法、芯片、计算机设备及存储介质
CN113835855A (zh) * 2021-09-08 2021-12-24 深圳市道通智能汽车有限公司 基于中断系统的多任务访问方法、处理器及任务访问系统
CN114090479A (zh) * 2021-11-30 2022-02-25 上海阵量智能科技有限公司 访问报告系统、方法、装置、芯片及电子设备
CN114489506A (zh) * 2022-01-21 2022-05-13 杭州海康存储科技有限公司 存储访问控制装置、方法及存储设备
CN116679986A (zh) * 2023-08-02 2023-09-01 苏州浪潮智能科技有限公司 寄存器的访问方法、装置、服务器、系统及存储介质
CN117807000A (zh) * 2024-02-29 2024-04-02 浪潮电子信息产业股份有限公司 通道总线仲裁电路、加速装置、方法、系统、装置及介质
CN117807000B (zh) * 2024-02-29 2024-05-28 浪潮电子信息产业股份有限公司 通道总线仲裁电路、加速装置、方法、系统、装置及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1922597A (zh) * 2003-12-30 2007-02-28 索尼爱立信移动通讯股份有限公司 具有共享存储器判优的多处理器移动终端
CN1952916A (zh) * 2006-11-28 2007-04-25 北京中星微电子有限公司 一种内存访问仲裁装置和方法
CN102331977A (zh) * 2011-09-07 2012-01-25 上海交通大学 内存控制器、处理器系统及内存访问控制方法
CN102402422A (zh) * 2010-09-10 2012-04-04 北京中星微电子有限公司 处理器组件及该组件内存共享的方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1922597A (zh) * 2003-12-30 2007-02-28 索尼爱立信移动通讯股份有限公司 具有共享存储器判优的多处理器移动终端
CN1952916A (zh) * 2006-11-28 2007-04-25 北京中星微电子有限公司 一种内存访问仲裁装置和方法
CN102402422A (zh) * 2010-09-10 2012-04-04 北京中星微电子有限公司 处理器组件及该组件内存共享的方法
CN102331977A (zh) * 2011-09-07 2012-01-25 上海交通大学 内存控制器、处理器系统及内存访问控制方法

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113157603A (zh) * 2021-04-29 2021-07-23 上海阵量智能科技有限公司 数据读取装置、方法、芯片、计算机设备及存储介质
WO2022227561A1 (zh) * 2021-04-29 2022-11-03 上海阵量智能科技有限公司 用于数据读取的装置、方法、芯片、计算机设备及存储介质
CN113835855A (zh) * 2021-09-08 2021-12-24 深圳市道通智能汽车有限公司 基于中断系统的多任务访问方法、处理器及任务访问系统
CN114090479A (zh) * 2021-11-30 2022-02-25 上海阵量智能科技有限公司 访问报告系统、方法、装置、芯片及电子设备
CN114090479B (zh) * 2021-11-30 2023-12-15 上海阵量智能科技有限公司 访问报告系统、方法、装置、芯片及电子设备
CN114489506A (zh) * 2022-01-21 2022-05-13 杭州海康存储科技有限公司 存储访问控制装置、方法及存储设备
CN114489506B (zh) * 2022-01-21 2024-02-27 杭州海康存储科技有限公司 存储访问控制装置、方法及存储设备
CN116679986A (zh) * 2023-08-02 2023-09-01 苏州浪潮智能科技有限公司 寄存器的访问方法、装置、服务器、系统及存储介质
CN117807000A (zh) * 2024-02-29 2024-04-02 浪潮电子信息产业股份有限公司 通道总线仲裁电路、加速装置、方法、系统、装置及介质
CN117807000B (zh) * 2024-02-29 2024-05-28 浪潮电子信息产业股份有限公司 通道总线仲裁电路、加速装置、方法、系统、装置及介质

Similar Documents

Publication Publication Date Title
CN112100090A (zh) 数据访问请求处理方法、装置、介质及内存映射控制器
CN112363763B (zh) 数据处理方法、装置及计算机可读存储介质
CN111813713B (zh) 数据加速运算处理方法、装置及计算机可读存储介质
US11853767B2 (en) Inter-core data processing method, system on chip and electronic device
CN111143272A (zh) 异构计算平台的数据处理方法、装置及可读存储介质
CN113704301B (zh) 异构计算平台的数据处理方法、装置、系统、设备及介质
KR20200135718A (ko) 액세스 요청을 관리하기 위한 방법, 장치, 기기 및 저장 매체
CN112947857B (zh) 一种数据搬移方法、装置、设备及计算机可读存储介质
CN114816263A (zh) 存储访问方法及智能处理装置
CN116028455A (zh) 一种数据处理方法、装置、存储介质及电子设备
CN113849238B (zh) 数据通信方法、装置、电子设备及可读存储介质
CN111597553A (zh) 病毒查杀中的进程处理方法、装置、设备及存储介质
CN110515872B (zh) 直接内存存取方法、装置、专用计算芯片及异构计算系统
WO2022032990A1 (zh) 一种命令信息传输方法、系统、装置及可读存储介质
CN113918233A (zh) 一种ai芯片控制方法、电子设备及ai芯片
JP2000132430A (ja) 信号処理装置
CN111143092B (zh) 故障录波数据处理方法、系统及终端设备
CN115114042A (zh) 存储数据访问方法、装置、电子设备和存储介质
CN111444117A (zh) 存储空间碎片化实现方法、装置、存储介质及电子设备
CN115858535A (zh) 一种数据处理方法、装置、存储介质及终端
CN113220608A (zh) 一种NVMe命令处理器及其处理方法
CN115114192A (zh) 存储器接口、功能核、众核系统和存储数据访问方法
CN111625281A (zh) 一种数据处理方法、装置、设备及存储介质
CN112214444A (zh) 一种核间通信方法、arm、dsp及终端
CN112114931A (zh) 深度学习程序配置方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20201218