CN108228496B - 一种直接内存访问内存管理方法、装置和主控设备 - Google Patents

一种直接内存访问内存管理方法、装置和主控设备 Download PDF

Info

Publication number
CN108228496B
CN108228496B CN201711266106.6A CN201711266106A CN108228496B CN 108228496 B CN108228496 B CN 108228496B CN 201711266106 A CN201711266106 A CN 201711266106A CN 108228496 B CN108228496 B CN 108228496B
Authority
CN
China
Prior art keywords
memory
dma
application program
file
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.)
Active
Application number
CN201711266106.6A
Other languages
English (en)
Other versions
CN108228496A (zh
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.)
Beijing Watertek Information Technology Co Ltd
Original Assignee
Beijing Watertek Information Technology 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 Beijing Watertek Information Technology Co Ltd filed Critical Beijing Watertek Information Technology Co Ltd
Priority to CN201711266106.6A priority Critical patent/CN108228496B/zh
Publication of CN108228496A publication Critical patent/CN108228496A/zh
Application granted granted Critical
Publication of CN108228496B publication Critical patent/CN108228496B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • 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/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • G06F9/4451User profiles; Roaming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Abstract

本发明公开了一种直接内存访问内存管理方法、装置和主控设备,其中,该直接内存访问内存管理方法包括:读取应用程序的驱动安装文件,驱动安装文件中包含有DMA内存配置文件,安装驱动安装文件,根据DMA内存配置文件在注册表中记录DMA内存的配置信息,以使在应用程序启动时,DMA控制器根据配置信息为应用程序一次性分配匹配的DMA内存。本发明公开的直接内存访问内存管理方法、装置和主控设备在驱动启动时为应用程序一次性分配匹配的DMA内存,避免了在应用程序的使用过程中动态分配DMA内存时频繁操作导致大量内存碎片的问题。

Description

一种直接内存访问内存管理方法、装置和主控设备
技术领域
本发明涉及计算机技术,尤指一种直接内存访问内存管理方法、装置和主控设备。
背景技术
直接内存访问(Direct Memory Access,简称DMA)是一种高效的数据传输方式,在一定时间段内,由DMA控制器取代中央处理器(Central Processing Unit,简称CPU)获得总线控制权,使应用程序运行的数据从附加设备(如磁盘驱动器)直接发送到计算机主板的内存上。由于采用DMA数据传输方式,因此,需要分配DMA内存来存储采用DMA数据传输方式发送的数据。
目前,主要是在应用程序的使用过程中,为应用程序运行的数据动态分配DMA内存,以存储采用DMA数据传输方式发送的数据。然而,由于在应用程序的使用过程中动态分配DMA内存时,频繁分配、释放内存会产生大量内存碎片,导致内存分配失败,DMA无法实现。
发明内容
为了解决上述技术问题,本发明提供了一种直接内存访问内存管理方法、装置和主控设备,避免了在应用程序的使用过程中动态分配DMA内存时频繁操作导致大量内存碎片的问题。
为了达到本发明目的,第一方面,本发明提供了一种直接内存访问内存管理方法,包括:
读取应用程序的驱动安装文件,所述驱动安装文件中包含有DMA内存配置文件;
安装所述驱动安装文件,根据所述DMA内存配置文件在注册表中记录DMA内存的配置信息,以使在所述应用程序启动时,DMA控制器根据所述配置信息为所述应用程序一次性分配匹配的DMA内存。
第二方面,本发明供了一种直接内存访问内存管理方法,包括:
启动驱动时,从注册表中读取DMA内存的配置信息,按照所述配置信息为应用程序一次性分配匹配的DMA内存;
其中,所述配置信息是根据所述应用程序的驱动安装文件中的DMA内存配置文件记录在所述注册表中的;
按照所分配的DMA内存进行数据传输。
第三方面,本发明供了一种直接内存访问内存管理装置,包括:
读取模块,用于读取应用程序的驱动安装文件,所述驱动安装文件中包含有DMA内存配置文件;
配置模块,用于安装所述驱动安装文件,根据所述DMA内存配置文件在注册表中记录DMA内存的配置信息,以使在所述应用程序启动时,DMA控制器根据所述配置信息为所述应用程序一次性分配匹配的DMA内存。
第四方面,本发明供了一种直接内存访问内存管理装置,包括:
分配模块,用于启动驱动时,从注册表中读取DMA内存的配置信息,按照所述配置信息为应用程序一次性分配匹配的DMA内存;
其中,所述配置信息是根据驱动安装文件中的DMA内存配置文件记录在所述注册表中的;
传输模块,用于按照所分配的DMA内存进行数据传输。
第五方面,本发明供了一种主控设备,包括:存储器和DMA控制器,所述存储器用于存储执行指令;所述DMA控制器调用所述执行指令,用于执行如第一方面实施例所述的内存管理方法。
第六方面,本发明供了一种主控设备,包括:存储器和DMA控制器,所述存储器用于存储执行指令;所述DMA控制器调用所述执行指令,用于执行如第二方面实施例所述的内存管理方法。
本发明提供的直接内存访问内存管理方法、装置和主控设备,通过读取驱动安装文件中的DMA内存配置文件,安装驱动安装文件时,根据DMA内存配置文件在注册表中记录DMA内存的配置信息,使得驱动启动时从注册表读取内存的配置信息,根据配置信息即可为应用程序一次性匹配不同的DMA需求,为应用程序一次性分配匹配的DMA内存,避免了在应用程序的使用过程中动态分配DMA内存时频繁操作导致大量内存碎片的问题。同时,通过在驱动安装文件中写入配置文件,只需要修改驱动安装文件即可来实现不同的DMA需求,从而灵活适配变动的需求。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1为本发明实施例一提供的直接内存访问内存管理方法的流程图;
图2为本发明实施例二提供的直接内存访问内存管理方法的流程图;
图3为本发明实施例提供的直接内存访问内存管理示意图;
图4为本发明实施例提供的DMA下行数据传输过程示意图;
图5为本发明实施例提供的DMA上行数据传输过程示意图;
图6为本发明实施例一提供的直接内存访问内存管理装置的结构示意图;
图7为本发明实施例一提供的主控设备的结构示意图;
图8为本发明实施例二提供的直接内存访问内存管理装置的结构示意图;
图9为本发明实施例二提供的主控设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本发明实施例主要以Windows操作系统的视窗驱动程序模块(Windows DriverModel,简称WDM)驱动为运行平台,在驱动层实现对内存的管理,实现满足不同DMA需求的通用内存管理。
由于在应用程序使用过程中动态分配DMA内存,会导致内存碎片,如果内存块较大,且频繁操作,会导致大量内存碎片,导致内存分配失败,DMA无法实现的问题,本发明实施例一方面提出在驱动启动时就为应用程序一次性分配内存,全程使用,避免了频繁操作导致大量内存碎片的问题。进一步地,为避免分配内存时存在以下两个问题:一个是内存块大小和内存块个数无法确定,分多了导致内存资源的浪费,分少了则无法满足需要;另一个是无法灵活适配变动的需求,为了解决这两个问题,本发明实施例另一方面提出通过配置文件实现不同的应用程序的DMA需求,只需要修改驱动安装文件即可,内存的配置信息被写入操作系统注册表,驱动启动时从注册表读取内存的配置信息,根据配置信息中的块数和块大小分配,以匹配应用程序的DMA需求。
图1为本发明实施例一提供的直接内存访问内存管理方法的流程图,如图1所示,本发明实施例提供的DMA内存管理方法主要为通过配置文件如何实现不同的DMA需求,该DMA内存管理方法主要用于PCIE板卡DMA操作,具体包括:
S101:读取应用程序的驱动安装文件,驱动安装文件中包含有DMA内存配置文件。
具体的,本发明实施例的执行主体为DMA控制器。驱动安装文件中的DMA内存配置文件可以是在驱动安装文件中新写入的内存配置文件,也可以是根据不同的DMA需求在已有的内存配置文件修改后的内存配置文件。通过在驱动安装文件中写入配置文件,只需要修改驱动安装文件即可来实现不同的DMA需求。
S102:安装驱动安装文件,根据DMA内存配置文件在注册表中记录DMA内存的配置信息,以使在应用程序启动时,DMA控制器根据配置信息为应用程序一次性分配匹配的DMA内存。
具体的,安装驱动时,内存的配置信息被写入操作系统注册表,以使驱动启动时通过从注册表读取内存的配置信息,即可根据配置信息为应用程序一次性分配匹配的DMA内存,为应用程序分配DMA内存时一次性分配可以避免多次频繁分配产生的碎片。
进一步地,配置信息包括:内存块大小和内存块个数。
具体的,在驱动程序安装文件中,添加Install.NT.HW节,描述内存分配配置,具体配置如下:
[Install.NT.HW]
AddReg=AR2001DeviceReg
[AR2001DeviceReg]
HKR,,UpBufferSize,0x00010001,0x1000000
HKR,,DownBufferSize,0x00010001,0x1000
HKR,,ChannelNumber,0x00010001,0x0F
上行DMA的内存块大小为16M字节,下行DMA的内存块大小为4K字节,内存块数各为16块。安装完驱动后,在注册表中就会记录字段上行内存块大小UpBufferSize、下行内存块大小DownBufferSize和内存块个数ChannelNumber的值,根据配置信息中的块数和块大小分配,以匹配应用程序的DMA需求。
本发明实施例提供的DMA内存管理方法,通过读取驱动安装文件中的DMA内存配置文件,安装驱动安装文件时,根据DMA内存配置文件在注册表中记录DMA内存的配置信息,使得驱动启动时从注册表读取内存的配置信息,根据配置信息即可为应用程序一次性匹配不同的DMA需求,为应用程序一次性分配匹配的DMA内存,避免了在应用程序的使用过程中动态分配DMA内存时频繁操作导致大量内存碎片的问题。同时,通过在驱动安装文件中写入配置文件,只需要修改驱动安装文件即可来实现不同的DMA需求,从而灵活适配变动的需求。
图2为本发明实施例二提供的直接内存访问内存管理方法的流程图,如图2所示,本发明实施例提供的DMA内存管理方法主要为通过启动驱动时如何实现不同的DMA需求,该DMA内存管理方法主要用于PCIE板卡DMA操作,具体包括::
S201:启动驱动时,从注册表中读取DMA内存的配置信息,按照配置信息为应用程序一次性分配匹配的DMA内存。
其中,配置信息是根据应用程序的驱动安装文件中的DMA内存配置文件记录在注册表中的。
具体的,内存的配置信息被写入操作系统注册表,驱动安装文件中的DMA内存配置文件可以是在驱动安装文件中新写入的内存配置文件,也可以是根据不同的DMA需求在已有的内存配置文件修改后的内存配置文件。驱动启动时从注册表读取内存的配置信息,根据配置信息分配DMA内存,以匹配应用程序的不同DMA需求。
进一步地,配置信息包括:内存块大小和内存块个数;按照配置信息为应用程序一次性分配匹配的DMA内存,包括:按照内存块大小和内存块个数为应用程序一次性分配匹配大小和个数的DMA内存。
具体的,按照配置信息中的块数和块大小分配,以匹配应用程序的不同DMA需求。图3为本发明实施例提供的直接内存访问内存管理的示意图,如图3所示,驱动启动时,在IRP_START_DEVICE的响应函数中,通过读注册表,获取内存块数量和块大小,为应用程序分配DMA内存。
S202:按照所分配的DMA内存进行数据传输。
具体的,应用程序启动后,通过输入输出(input/output,简称I/O)通信接口将需要使用的内存块地址映射到应用空间,并获取内存块的物理地址、虚拟地址等信息。如图3所示,应用程序通过I/O通信接口,调用内存映射接口,将分配的物理内存地址映射为虚拟地址,同时获取映射内存地址对应的物理地址,将物理地址通过I/O通信接口配置给底层硬件,这样底层对物理内存的操作,同时会同步到虚拟地址,反之,应用程序对虚拟地址的操作,会同步到对应的物理地址,这样就实现了DMA的上、下行数据传输。
图4为本发明实施例提供的DMA下行数据传输过程示意图,如图4所示,应用程序将数据写入相应内存块的虚拟地址,然后通知底层硬件,硬件从对应的物理地址读取数据。图5为本发明实施例提供的DMA上行数据传输过程示意图,DMA上行则是下行相反的过程,如图5所示,应用程序将接收数据的内存块的物理地址配置给底层硬件,硬件将需要上传的数据写入内存块物理地址,然后通知应用程序,应用程序从内存块对应的虚拟地址读取数据。
本发明实施例提供的DMA内存管理方法,启动驱动时,从注册表中读取DMA内存的配置信息,按照配置信息为应用程序一次性分配匹配的DMA内存,按照所分配的DMA内存进行数据传输,使得驱动启动时从注册表读取内存的配置信息,根据配置信息即可一次性匹配不同的DMA需求,为应用程序一次性分配匹配的DMA内存,避免了在程序的使用过程中动态分配DMA内存时频繁操作导致大量内存碎片的问题。同时,通过配置信息是根据在驱动安装文件中写入的DMA内存配置文件记录在注册表中的,只需要修改驱动安装文件即可来实现不同的DMA需求,从而灵活适配变动的需求。
图6为本发明实施例一提供的直接内存访问内存管理装置的结构示意图,如图6所示,本发明实施例提供的DMA内存管理装置,包括:读取模块61和配置模块62。
读取模块61,用于读取应用程序的驱动安装文件,所述驱动安装文件中包含有DMA内存配置文件;
配置模块62,用于安装所述驱动安装文件,根据所述DMA内存配置文件在注册表中记录DMA内存的配置信息,以使在所述应用程序启动时,DMA控制器根据所述配置信息为所述应用程序一次性分配匹配的DMA内存。
进一步地,所述配置信息包括:内存块大小和内存块个数。
本发明实施例中提供的DMA内存管理装置用于执行图1所示方法实施例的技术方案,其实现原理和实现效果类似,此处不再赘述。
图7为本发明实施例一提供的主控设备的结构示意图,如图7所示,本发明实施例提供的主控设备,包括:存储器71和DMA控制器72。
存储器71用于存储执行指令,DMA控制器72为一种能够通过一组专用总线将内部和外部存储器与每个具有DMA能力的外设连接起来的控制器。DMA控制器72是在处理器的编程控制下来执行传输的,一个处理器可以包含多个DMA控制器,处理器可以是一个中央处理器(Central Processing Unit,CPU),或者是特定集成电路(ApplicatI/On SpecificIntegrated Circuit,ASIC),或者完成实施本发明实施例的一个或多个集成电路。当主控设备运行时,DMA控制器72与存储器71之间通信,DMA控制器72调用执行指令,用于执行以下操作:
读取应用程序的驱动安装文件,所述驱动安装文件中包含有DMA内存配置文件;
安装所述驱动安装文件,根据所述DMA内存配置文件在注册表中记录DMA内存的配置信息,以使在所述应用程序启动时,DMA控制器根据所述配置信息为所述应用程序一次性分配匹配的DMA内存。
进一步地,所述配置信息包括:内存块大小和内存块个数。
需要说明的是,本发明实施例中的DMA控制器与现有技术中的DMA控制器将内部和外部存储器与每个具有DMA能力的外设连接起来的实现原理相同,本发明实施例在此不进行赘述。
图8为本发明实施例二提供的直接内存访问内存管理装置的结构示意图,如图8所示,本发明实施例提供的DMA内存管理装置,包括:分配模块81和传输模块82。
分配模块81,用于启动驱动时,从注册表中读取DMA内存的配置信息,按照所述配置信息为应用程序一次性分配匹配的DMA内存;
其中,所述配置信息是根据驱动安装文件中的DMA内存配置文件记录在所述注册表中的;
传输模块82,用于按照所分配的DMA内存进行数据传输。
进一步地,所述配置信息包括:内存块大小和内存块个数;
所述分配模块81按照所述配置信息为应用程序一次性分配匹配的DMA内存,包括:
按照所述内存块大小和所述内存块个数为应用程序一次性分配匹配大小和个数的DMA内存。
本发明实施例中提供的DMA内存管理装置用于执行图2所示方法实施例的技术方案,其实现原理和实现效果类似,此处不再赘述。
图9为本发明实施例二提供的主控设备的结构示意图,如图9所示,本发明实施例提供的主控设备,包括:存储器91和DMA控制器92。
存储器91用于存储执行指令,DMA控制器92为一种能够通过一组专用总线将内部和外部存储器与每个具有DMA能力的外设连接起来的控制器。DMA控制器92是在处理器的编程控制下来执行传输的,一个处理器可以包含多个DMA控制器,处理器可以是一个中央处理器(Central Processing Unit,CPU),或者是特定集成电路(ApplicatI/On SpecificIntegrated Circuit,ASIC),或者完成实施本发明实施例的一个或多个集成电路。当主控设备运行时,DMA控制器92与存储器91之间通信,DMA控制器92调用执行指令,用于执行以下操作:
启动驱动时,从注册表中读取DMA内存的配置信息,按照所述配置信息为应用程序一次性分配匹配的DMA内存;
其中,所述配置信息是根据所述应用程序的驱动安装文件中的DMA内存配置文件记录在所述注册表中的;
按照所分配的DMA内存进行数据传输。
进一步地,所述配置信息包括:内存块大小和内存块个数;
DMA控制器92按照所述配置信息为应用程序一次性分配匹配的DMA内存,包括:
按照所述内存块大小和所述内存块个数为应用程序一次性分配匹配大小和个数的DMA内存。
虽然本发明所揭露的实施方式如上,但所述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。

Claims (10)

1.一种直接内存访问内存管理方法,包括:
读取应用程序的驱动安装文件,所述驱动安装文件中包含有直接内存访问DMA内存配置文件;
安装所述驱动安装文件,根据所述DMA内存配置文件在注册表中记录DMA内存的配置信息,以使在所述应用程序启动时,DMA控制器根据所述配置信息为所述应用程序一次性分配匹配的DMA内存;
其中,所述DMA内存配置文件是根据不同的DMA需求在已有的内存配置文件修改后的内存配置文件,所述DMA内存配置文件写入在所述驱动安装文件中,以通过修改所述驱动安装文件实现不同的DMA需求。
2.根据权利要求1所述的直接内存访问内存管理方法,其特征在于,所述配置信息包括:内存块大小和内存块个数。
3.一种直接内存访问内存管理方法,包括:
启动驱动时,从注册表中读取直接内存访问DMA内存的配置信息,按照所述配置信息为应用程序一次性分配匹配的DMA内存;
其中,所述配置信息是根据所述应用程序的驱动安装文件中的DMA内存配置文件记录在所述注册表中的;所述DMA内存配置文件是根据不同的DMA需求在已有的内存配置文件修改后的内存配置文件,所述DMA内存配置文件写入在所述驱动安装文件中,以通过修改所述驱动安装文件实现不同的DMA需求;
按照所分配的DMA内存进行数据传输。
4.根据权利要求3所述的直接内存访问内存管理方法,其特征在于,所述配置信息包括:内存块大小和内存块个数;
所述按照所述配置信息为应用程序一次性分配匹配的DMA内存,包括:
按照所述内存块大小和所述内存块个数为应用程序一次性分配匹配大小和个数的DMA内存。
5.一种直接内存访问内存管理装置,其特征在于,包括:
读取模块,用于读取应用程序的驱动安装文件,所述驱动安装文件中包含有直接内存访问DMA内存配置文件;所述DMA内存配置文件是根据不同的DMA需求在已有的内存配置文件修改后的内存配置文件,所述DMA内存配置文件写入在所述驱动安装文件中,以通过修改所述驱动安装文件实现不同的DMA需求;
配置模块,用于安装所述驱动安装文件,根据所述DMA内存配置文件在注册表中记录DMA内存的配置信息,以使在所述应用程序启动时,DMA控制器根据所述配置信息为所述应用程序一次性分配匹配的DMA内存。
6.根据权利要求5所述的直接内存访问内存管理装置,其特征在于,所述配置信息包括:内存块大小和内存块个数。
7.一种直接内存访问内存管理装置,其特征在于,包括:
分配模块,用于启动驱动时,从注册表中读取直接内存访问DMA内存的配置信息,按照所述配置信息为应用程序一次性分配匹配的DMA内存;
其中,所述配置信息是根据驱动安装文件中的DMA内存配置文件记录在所述注册表中的;所述DMA内存配置文件是根据不同的DMA需求在已有的内存配置文件修改后的内存配置文件,所述DMA内存配置文件写入在所述驱动安装文件中,以通过修改所述驱动安装文件实现不同的DMA需求;
传输模块,用于按照所分配的DMA内存进行数据传输。
8.根据权利要求7所述的直接内存访问内存管理装置,其特征在于,所述配置信息包括:内存块大小和内存块个数;
所述分配模块按照所述配置信息为应用程序一次性分配匹配的DMA内存,包括:
按照所述内存块大小和所述内存块个数为应用程序一次性分配匹配大小和个数的DMA内存。
9.一种主控设备,其特征在于,包括:存储器和直接内存访问DMA控制器,所述存储器用于存储执行指令;所述DMA控制器调用所述执行指令,用于执行如权利要求1或2所述的内存管理方法。
10.一种主控设备,其特征在于,包括:存储器和直接内存访问DMA控制器,所述存储器用于存储执行指令;所述DMA控制器调用所述执行指令,用于执行如权利要求3或4所述的内存管理方法。
CN201711266106.6A 2017-12-04 2017-12-04 一种直接内存访问内存管理方法、装置和主控设备 Active CN108228496B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711266106.6A CN108228496B (zh) 2017-12-04 2017-12-04 一种直接内存访问内存管理方法、装置和主控设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711266106.6A CN108228496B (zh) 2017-12-04 2017-12-04 一种直接内存访问内存管理方法、装置和主控设备

Publications (2)

Publication Number Publication Date
CN108228496A CN108228496A (zh) 2018-06-29
CN108228496B true CN108228496B (zh) 2020-10-02

Family

ID=62653221

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711266106.6A Active CN108228496B (zh) 2017-12-04 2017-12-04 一种直接内存访问内存管理方法、装置和主控设备

Country Status (1)

Country Link
CN (1) CN108228496B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110209434B (zh) * 2019-04-23 2022-04-22 努比亚技术有限公司 一种内存管理方法、装置及计算机可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101937406A (zh) * 2009-06-29 2011-01-05 研祥智能科技股份有限公司 一种VxWorks操作系统中实现驱动1394设备的方法和系统
CN103019760A (zh) * 2012-04-28 2013-04-03 珠海市君天电子科技有限公司 安装软件的结构及安装方法
US8832663B2 (en) * 2009-11-23 2014-09-09 International Business Machines Corporation Thread serialization and disablement tool

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101937406A (zh) * 2009-06-29 2011-01-05 研祥智能科技股份有限公司 一种VxWorks操作系统中实现驱动1394设备的方法和系统
US8832663B2 (en) * 2009-11-23 2014-09-09 International Business Machines Corporation Thread serialization and disablement tool
CN103019760A (zh) * 2012-04-28 2013-04-03 珠海市君天电子科技有限公司 安装软件的结构及安装方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
WiMAX基站系统中关键软件模块的设计与实现;曹迎心;《中国优秀博硕士学位论文全文数据库 (硕士) 信息科技辑》;20061115;第13、30-31页,图4-7 *

Also Published As

Publication number Publication date
CN108228496A (zh) 2018-06-29

Similar Documents

Publication Publication Date Title
US12106134B2 (en) Mechanism to dynamically allocate physical storage device resources in virtualized environments
EP3798835B1 (en) Method, device, and system for implementing hardware acceleration processing
CN107729159B (zh) 一种共享内存的地址映射方法及装置
CN106874128B (zh) 数据传输方法及装置
US9798565B2 (en) Data processing system and method having an operating system that communicates with an accelerator independently of a hypervisor
CN103034524B (zh) 半虚拟化的虚拟gpu
JP6765322B2 (ja) メモリシステムおよび制御方法
US12117947B2 (en) Information processing method, physical machine, and PCIE device
CN109977037B (zh) 一种dma数据传输方法及系统
US6925546B2 (en) Memory pool configuration system
WO2016130487A1 (en) Resource management
CN105786589A (zh) 一种云渲染系统、服务器及方法
CN107077375B (zh) 用于多操作系统的显示方法、装置和电子设备
CN107077376B (zh) 帧缓存实现方法、装置、电子设备和计算机程序产品
CN114302040A (zh) 多应用共享单一摄像头的方法及相关产品
TWI616759B (zh) 設備分配控制器以及設備分配方法
KR20170128012A (ko) 플래시 기반 저장 장치 및 이를 포함하는 컴퓨팅 디바이스
CN108228496B (zh) 一种直接内存访问内存管理方法、装置和主控设备
US20150326684A1 (en) System and method of accessing and controlling a co-processor and/or input/output device via remote direct memory access
CN115454358B (zh) 数据的存储控制方法及其装置、图像处理系统
CN110795373A (zh) 一种i2c总线到并行总线的转换方法、终端及存储介质
US9569373B2 (en) Sharing message-signaled interrupts between peripheral component interconnect (PCI) I/O devices
KR20140079553A (ko) 입출력 가상화 네트워크 인터페이스 카드 기반 가상 데스크탑 서비스 방법 및 장치
CN113268356B (zh) 基于LINUX系统的多GPU板卡bounding的系统、方法及介质
CN116069451B (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
GR01 Patent grant
GR01 Patent grant