CN110231988B - 显存访问方法、装置及存储介质 - Google Patents

显存访问方法、装置及存储介质 Download PDF

Info

Publication number
CN110231988B
CN110231988B CN201810180585.8A CN201810180585A CN110231988B CN 110231988 B CN110231988 B CN 110231988B CN 201810180585 A CN201810180585 A CN 201810180585A CN 110231988 B CN110231988 B CN 110231988B
Authority
CN
China
Prior art keywords
video memory
virtual address
address space
processor
memory
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
CN201810180585.8A
Other languages
English (en)
Other versions
CN110231988A (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.)
Loongson Technology Corp Ltd
Original Assignee
Loongson Technology Corp 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 Loongson Technology Corp Ltd filed Critical Loongson Technology Corp Ltd
Priority to CN201810180585.8A priority Critical patent/CN110231988B/zh
Publication of CN110231988A publication Critical patent/CN110231988A/zh
Application granted granted Critical
Publication of CN110231988B publication Critical patent/CN110231988B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供一种显存访问方法、装置及存储介质,该方法适用于运行操作系统的计算机、且该计算机的处理器工作在用户模式下,该方法包括:所述处理器获取显存访问请求,所述显存访问请求包括应用程序待访问的显存的虚拟地址,所述显存的虚拟地址所属的虚拟地址空间属于用户模式下的内存的虚拟地址空间;所述处理器根据所述显存的虚拟地址,访问所述显存。本发明提供的显存访问方法、装置及存储介质,能够提高处理器访问显存的效率。

Description

显存访问方法、装置及存储介质
技术领域
本发明涉及计算机技术,尤其涉及一种显存访问方法、装置及存储介质。
背景技术
威克沃(vxWorks)操作系统是一种嵌入式实时操作系统,具有良好的可靠性和卓越的实时性。因此,vxWorks操作系统被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中,例如卫星通讯、军事演习、弹道制导、飞机导航等。
目前,运行vxWorks操作系统的计算机的处理器有两个不同模式:“用户模式”和“内核模式”。因此,处理器可以根据运行的代码的类型,在两个模式之间切换。例如,应用程序在用户模式下运行,核心操作系统组件在内核模式下运行。多个驱动程序在内核模式下运行,但某些驱动程序在用户模式下运行。
现有技术中,处理器将内存的物理位置分别映射到用户模式下的内存的虚拟地址空间和内核模式下的内存的虚拟地址空间。其中,显存的虚拟地址空间属于内核模式下的内存的虚拟地址空间。因此,当处理器在用户模式下运行应用程序时,无法通过显存的虚拟地址直接访问显存,使得访问显存的效率较低。
发明内容
本发明提供一种显存访问方法、装置及存储介质,用于解决现有技术中处理器在用户模式下运行应用程序时,无法通过显存的虚拟地址直接访问显存,使得访问显存的效率较低的技术问题。
本发明第一方面提供一种显存访问方法,该方法适用于运行操作系统的计算机、且该计算机的处理器工作在用户模式下,该方法包括:
所述处理器获取显存访问请求,所述显存访问请求包括应用程序待访问的显存的虚拟地址,所述显存的虚拟地址所属的虚拟地址空间属于用户模式下的内存的虚拟地址空间;
所述处理器根据所述显存的虚拟地址,访问所述显存。
在一种可能的实施方式中,所述处理器获取显存访问请求之前,还包括:
所述处理器在显卡驱动初始化时,根据所述显存的大小,在所述用户模式下的内存的虚拟地址空间为所述显存分配所述显存的虚拟地址空间。
在一种可能的实施方式中,所述处理器在根据所述显存的大小,在所述用户模式下的内存的虚拟地址空间中为所述显存分配所述显存的虚拟地址空间之后,且在获取显存访问请求之前,还包括:
所述处理器获取分配请求,所述分配请求用于请求对所述应用程序进行显存分配;
所述处理器根据所述分配请求,在所述显存的虚拟地址空间中,为所述应用程序分配所述应用程序对应的显存的虚拟地址空间;所述应用程序对应的显存的虚拟地址空间包括所述显存的虚拟地址。
在一种可能的实施方式中,所述处理器根据所述显存的虚拟地址,访问所述显存,包括:
所述处理器根据所述显存的虚拟地址,调用图形接口访问所述显存。
在一种可能的实施方式中,所述操作系统为嵌入式实时操作系统。
本发明第二方面提供一种显存访问装置,所述显存访问装置可以应用于运行操作系统的计算机、且所述计算机的处理器工作在用户模式下,所述装置包括:
获取模块,用于获取显存访问请求,所述显存访问请求包括应用程序待访问的显存的虚拟地址,所述显存的虚拟地址所属的虚拟地址空间属于用户模式下的内存的虚拟地址空间;
处理模块,用于根据所述显存的虚拟地址,访问所述显存。
在一种可能的实施方式中,所述处理模块,还用于在所述获取模块获取显存访问请求之前,在显卡驱动初始化时,根据所述显存的大小,在所述用户模式下的内存的虚拟地址空间中为所述显存分配所述显存的虚拟地址空间。
在一种可能的实施方式中,所述获取模块,还用于在所述处理模块根据所述显存的大小,在所述用户模式下的内存的虚拟地址空间中为所述显存分配所述显存的虚拟地址空间之后,且在获取显存访问请求之前,获取分配请求,所述分配请求用于请求对所述应用程序进行显存分配;
所述处理模块,还用于根据所述分配请求,在所述显存的虚拟地址空间中,为所述应用程序分配所述应用程序对应的显存的虚拟地址空间;所述应用程序对应的显存的虚拟地址空间包括所述显存的虚拟地址。
在一种可能的实施方式中,所述处理模块,具体用于根据所述显存的虚拟地址,调用图形接口访问所述显存。
在一种可能的实施方式中,所述操作系统为嵌入式实时操作系统。
本发明第三方面提供一种显存访问装置,所述显存访问装置可以应用于运行操作系统的计算机、且所述计算机的处理器工作在用户模式下,所述装置包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;所述至少一个处理器执行所述存储器存储的计算机执行指令,以执行第一方面任一项所述的方法。
本发明第四方面提供一种计算机可读存储介质,该计算机可读存储介质中存储有程序指令,所述程序指令被处理器执行时实现第一方面任一项所述的方法。
本发明提供的显存访问方法、装置及存储介质,通过将内核模式下的显存分离到用户模式下,即,在用户模式下的内存的虚拟地址空间中为显存分配虚拟地址空间,使得处理器工作在用户模式下时,可以直接使用显存的虚拟地址,访问显存,而不再需要通过系统调用的方式实现显存的访问,提高了处理器访问显存的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中的显存访问的示意图;
图2为本发明提供的显存访问的示意图;
图3为本发明提供的一种显存访问方法的流程示意图;
图4为本发明提供的一种显存访问装置的结构示意图;
图5为本发明提供的另一种显存访问装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前,运行vxWorks操作系统的计算机的处理器有两个不同模式:“用户模式”和“内核模式”。因此,处理器可以根据运行的代码的类型,在两个模式之间切换。例如,应用程序在用户模式下运行,核心操作系统组件在内核模式下运行。多个驱动程序在内核模式下运行,但某些驱动程序在用户模式下运行。
处理器可以为内存的物理位置映射用户模式下的内存的虚拟地址空间或内核模式下的内存的虚拟地址空间。其中,处理器在内核模式下可以使用内核模式下的内存的虚拟地址空间中的虚拟地址,访问该虚拟地址对应的内存的物理位置,也可以使用用户模式下的内存的虚拟地址空间中的虚拟地址,访问该虚拟地址对应的内存的物理位置。而处理器在用户模式下,仅能使用用户模式下的内存的虚拟地址空间中的虚拟地址,访问该虚拟地址对应的内存的物理位置。
图1为现有技术中的显存访问的示意图。如图1所示,现有技术中,处理器在对显卡驱动初始化时,根据显存的大小,在内核模式下的内存的虚拟地址空间中选择了一段虚拟地址空间,作为显存的虚拟地址空间。即,处理器为显存的每个物理位置映射了内核模式下的内存的虚拟地址空间。这样,处理器在内核模式下,可以使用显存的虚拟地址空间中的虚拟地址,访问该虚拟地址对应的显存的物理位置。
由于处理器在用户模式下,无法使用内核模式的内存的虚拟地址,访问该虚拟地址对应的内存的物理位置。因此,当处理器在用户模式下运行某一应用程序时,也就无法直接使用显存的虚拟地址,访问显存。
目前,处理器在用户模式下运行某一应用程序时,需要通过图形接口调用系统调用,将用户模式下的内存的某一虚拟地址映射到“内核模式下该应用程序待访问的显存的虚拟地址所映射的显存的实际物理位置”。这样,处理器可以通过用户模式下的内存的虚拟地址,访问显存,以执行读操作或写操作。但是,处理器在采用这种方式访问显存时,需要通过调用内核模式下的显存的虚拟地址,进而访问虚拟地址对应的显存的物理位置,而不能在用户模式下直接访问显存,使得访问显存的效率较低。
考虑到上述问题,本发明提供了一种显存访问方法,通过将内核模式下的显存分离到用户模式下,即,在用户模式下的内存的虚拟地址空间中为显存分配虚拟地址空间,使得处理器工作在用户模式下时,可以直接使用显存的虚拟地址,访问显存,而不再需要通过系统调用的方式实现显存的访问,提高了处理器访问显存的效率。
本发明所提供的显存访问方法的执行主体可以为显存访问装置。该显存访问装置可以为驱动程序、程序代码软件,也可以为存储有相关执行代码的介质,例如,U盘等。
在一些实施例中,显存访问装置还可以为集成或安装有相关执行代码的实体装置,例如,处理器、芯片、微控制单元(Microcontroller Unit,简称MCU)、电脑、计算机等。
举例来说,该方案可应用于安装有嵌入式实时操作系统、或、安装有linux操作系统的计算机中。
作为示例说明,本方案可应用于无内部互锁流水级的微处理器(Microprocessorwithout interlocked piped stages,简称MIPS)。MIPS处理器具有高性能低功耗的特点,可应用于服务器、高性能计算机、低能耗数据中心、个人高性能计算机、高端桌面应用、高吞吐计算应用、工业控制、数字信号处理、高端嵌入式应用等产品。
下面以集成或安装有相关执行代码的计算机的处理器为例,以具体地实施例对本发明的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图2为本发明提供的显存访问的示意图。如图2所示,在本实施例中,处理器可以在显卡驱动初始化时,根据显存的大小,在用户模式下的内存的虚拟地址空间中为显存分配显存的虚拟地址空间,并记录该显存的虚拟地址空间的起始地址和显存的虚拟地址空间的大小。其中,显存的每个物理位置对应一个用户模式下的内存的虚拟地址。因此,显存的大小与显存的虚拟地址空间成正比,即,显存越大,处理器为显存分配的显存的虚拟地址空间越大。这样,处理器在用户模式下,可以使用显存的虚拟地址空间中的虚拟地址,访问该虚拟地址对应的显存的物理位置。具体实现时,处理器可以通过操作系统中的内存分配函数,在用户模式下的内存的虚拟地址空间中为显存分配显存的虚拟地址空间。
可以理解,上述所示的在用户模式下的内存的虚拟地址空间中为显存分配显存的虚拟地址空间的方式仅是一种示例,本实施例并不以此为限,只要能够在用户模式下的内存的虚拟地址空间中为显存分配显存的虚拟地址空间即可。
在本实施例中,处理器在用户模式下的内存的虚拟地址空间中为显存分配显存的虚拟地址空间之后,处理器还可以在用户模式下运行应用程序(也可以说运行应用程序的进程)时,获取到应用程序触发的分配请求。其中,该分配请求用于请求处理器对该应用程序进行显存分配。该分配请求中可以指示请求处理器对该应用程序分配的显存的大小。
处理器在获取到该分配请求之后,可以根据该分配请求所指示的显存的大小,在显存的虚拟地址空间中,为该应用程序分配该应用程序对应的显存的虚拟地址空间。即,该应用程序专属的显存的虚拟地址空间,以使得处理器在运行该应用程序时,可以通过该虚拟地址空间中的虚拟地址,访问该应用程序专属的显存的物理位置。
具体实现时,处理器可以将显存的虚拟地址空间视为一个内存池。这样,处理器可以采用内存池分配内存块的方式,根据分配请求所指示的显存的大小,为该应用程序分配一个或多个内存块,以将该一个或多个内存块对应的虚拟地址空间作为该应用程序对应的显存的虚拟地址空间。其中,如何采用内存池分配内存块可以参见现有技术,对此不再赘述。
处理器在显存的虚拟地址空间中,为该应用程序分配该应用程序对应的显存的虚拟地址空间之后,处理器可以在用户模式下运行应用程序时,直接根据应用程序触发的显存访问请求,直接访问显存。具体地,
图3为本发明提供的一种显存访问方法的流程示意图。本实施例涉及的是处理器如何根据应用程序待访问的显存的虚拟地址,直接访问显存的具体过程。如图3所示,该方法包括:
S101、处理器获取显存访问请求,显存访问请求包括应用程序待访问的显存的虚拟地址,显存的虚拟地址所属的虚拟地址空间属于用户模式下的内存的虚拟地址空间。
S102、处理器根据显存的虚拟地址,访问显存。
由于处理器为显存的每个物理位置映射了用户模式下的内存的虚拟地址。所以处理器在用户模式下,可以使用显存的虚拟地址空间中的虚拟地址,访问该虚拟地址对应的显存的物理位置。
因此,当处理器在用户模式下运行应用程序时,处理器在获取到应用程序触发的显存访问请求后,处理器可以根据显存访问请求中包括的应用程序待访问的显存的虚拟地址,直接访问显存中该虚拟地址对应的物理位置,以进行读操作或者写操作。
其中,本实施例不限定上述处理器如何根据应用程序待访问的显存的虚拟地址,直接访问显存中该虚拟地址对应的物理位置的方式。例如,上述处理器可以根据应用程序待访问的显存的虚拟地址,调用图形接口访问显存中对应该虚拟地址的物理位置,以在该物理位置上对显存进行读操作或写操作等。
通过本实施提供的方法,使得处理器在用户模式下,可以通过显存的虚拟地址,直接访问显存,而不再需要通过系统调用的方式实现显存的访问。即不再需要调用系统调用,将用户模式下的内存的某一虚拟地址映射到“该应用程序待访问的显存的虚拟地址所映射的显存的实际物理位置”,来实现显存的访问,提高了处理器访问显存的效率。
需要说明的是,处理器通过上述方式,在显存的虚拟地址空间中,为应用程序分配该应用程序对应的显存的虚拟地址空间之后,若处理器对该应用程序对应的显存的虚拟地址空间进行销毁(即显存销毁),则原本对应该应用程序的显存的虚拟地址空间归还给总的显存的虚拟地址空间,不再对应于该应用程序。
相应地,处理器在显卡驱动结束(即显卡关闭)时,可以对显存的虚拟地址空间进行回收。即将显存的虚拟地址空间销毁,以将原本分配给显存的虚拟地址空间归还给用户模式下的内存的虚拟地址空间。
其中,处理器如何对应用程序对应的显存的虚拟地址空间进行销毁,以及,如何对显存的虚拟地址空间进行回收,具体可以参见现有技术,对此不再加以赘述。
本发明提供的显存访问方法,通过将内核模式下的显存分离到用户模式下,即,在用户模式下的内存的虚拟地址空间中为显存分配虚拟地址空间,使得处理器工作在用户模式下时,可以直接使用显存的虚拟地址,访问显存,而不再需要通过系统调用的方式实现显存的访问,提高了处理器访问显存的效率。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
图4为本发明提供的一种显存访问装置的结构示意图。该显存访问装置可以通过软件、硬件或者两者的结合实现计算机的部分或者全部。在本实施例中,该显存访问装置可以应用于运行操作系统(例如嵌入式实时操作系统或linux操作系统)的计算机,且该计算机的处理器工作在用户模式下。
如图4所示,该显存访问装置可以包括:获取模块11和处理模块12。其中,
获取模块11,用于获取显存访问请求,显存访问请求包括应用程序待访问的显存的虚拟地址,显存的虚拟地址所属的虚拟地址空间属于用户模式下的内存的虚拟地址空间;
处理模块12,用于根据显存的虚拟地址,访问显存。例如,处理模块12,具体用于根据显存的虚拟地址,调用图形接口访问显存。
可选的,上述处理模块12,还用于在获取模块11获取显存访问请求之前,在显卡驱动初始化时,根据显存的大小,在用户模式下的内存的虚拟地址空间中为显存分配显存的虚拟地址空间。
可选的,上述获取模块11,还用于在处理模块12根据显存的大小,在用户模式下的内存的虚拟地址空间中为显存分配显存的虚拟地址空间之后,且在获取显存访问请求之前,获取分配请求,该分配请求用于请求对应用程序进行显存分配。
上述处理模块12,还用于根据分配请求,在显存的虚拟地址空间中,为应用程序分配应用程序对应的显存的虚拟地址空间;应用程序对应的显存的虚拟地址空间包括显存的虚拟地址。
本发明提供的显存访问装置,可以执行上述图3所示的方法实施例,其实现原理和技术效果类似,在此不再赘述。
图5为本发明提供的另一种显存访问装置的结构示意图。如图5所示,该显存访问装置可以应用于运行操作系统(例如嵌入式实时操作系统或linux操作系统)的计算机,且该计算机的处理器工作在用户模式下。该显存访问装置可以包括:至少一个处理器21和存储器22。图5示出的是以一个处理器为例的显存访问装置。
存储器22,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。
存储器22可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。
处理器21用于执行存储器22存储的计算机执行指令,以实现显存访问方法。具体地:
获取显存访问请求,显存访问请求包括应用程序待访问的显存的虚拟地址,显存的虚拟地址所属的虚拟地址空间属于用户模式下的内存的虚拟地址空间;
根据显存的虚拟地址,访问显存。
可选的,上述获取显存访问请求之前,还包括:
在显卡驱动初始化时,根据显存的大小,在用户模式下的内存的虚拟地址空间中为显存分配显存的虚拟地址空间。
可选的,上述根据显存的大小,在用户模式下的内存的虚拟地址空间中为显存分配显存的虚拟地址空间之后,且在获取显存访问请求之前,还包括:
获取分配请求,分配请求用于请求对应用程序进行显存分配;
根据分配请求,在显存的虚拟地址空间中,为应用程序分配应用程序对应的显存的虚拟地址空间;应用程序对应的显存的虚拟地址空间包括显存的虚拟地址。
可选的,上述根据显存的虚拟地址,访问显存,包括:
根据显存的虚拟地址,调用图形接口访问显存。
可选的,上述操作系统为嵌入式实时操作系统。
其中,处理器21可能是一个中央处理器(Central Processing Unit,简称为CPU),或者是特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者是被配置成实施本申请实施例的一个或多个集成电路。
可选的,在具体实现上,如果通信接口、存储器22和处理器21独立实现,则通信接口、存储器22和处理器21可以通过总线相互连接并完成相互间的通信。所述总线可以是工业标准体系结构(Industry Standard Architecture,简称为ISA)总线、外部设备互连(Peripheral Component,简称为PCI)总线或扩展工业标准体系结构(Extended IndustryStandard Architecture,简称为EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果通信接口、存储器22和处理器21集成在一块芯片上实现,则通信接口、存储器22和处理器21可以通过内部接口完成相同间的通信。
本发明还提供了一种计算机可读存储介质,该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random AccessMemory)、磁盘或者光盘等各种可以存储程序代码的介质,具体的,该计算机可读存储介质中存储有程序指令,程序指令用于上述实施例中的方法。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (10)

1.一种显存访问方法,其特征在于,所述方法适用于运行操作系统的计算机、且所述计算机的处理器工作在用户模式下,所述方法包括:
所述处理器获取显存访问请求,所述显存访问请求包括应用程序待访问的显存的虚拟地址,所述显存的虚拟地址所属的虚拟地址空间属于用户模式下的内存的虚拟地址空间;
所述处理器根据所述显存的虚拟地址,访问所述显存;
其中,所述处理器获取显存访问请求之前,还包括:
所述处理器在显卡驱动初始化时,根据所述显存的大小,在所述用户模式下的内存的虚拟地址空间中为所述显存分配所述显存的虚拟地址空间;所述显存的每个物理位置分别对应一个所述用户模式下的所述分配的显存的虚拟地址空间中的虚拟地址。
2.根据权利要求1所述的方法,其特征在于,所述处理器在根据所述显存的大小,在所述用户模式下的内存的虚拟地址空间中为所述显存分配所述显存的虚拟地址空间之后,且在获取所述显存访问请求之前,还包括:
所述处理器获取分配请求,所述分配请求用于请求对所述应用程序进行显存分配;
所述处理器根据所述分配请求,在所述显存的虚拟地址空间中,为所述应用程序分配所述应用程序对应的显存的虚拟地址空间;所述应用程序对应的显存的虚拟地址空间包括所述显存的虚拟地址。
3.根据权利要求1所述的方法,其特征在于,所述处理器根据所述显存的虚拟地址,访问所述显存,包括:
所述处理器根据所述显存的虚拟地址,调用图形接口访问所述显存。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述操作系统为嵌入式实时操作系统。
5.一种显存访问装置,其特征在于,所述显存访问装置应用于运行操作系统的计算机、且所述计算机的处理器工作在用户模式下,所述装置包括:
获取模块,用于获取显存访问请求,所述显存访问请求包括应用程序待访问的显存的虚拟地址,所述显存的虚拟地址所属的的虚拟地址空间属于用户模式下的内存的虚拟地址空间;
处理模块,用于根据所述显存的虚拟地址,访问所述显存;
所述处理模块,还用于在所述获取模块获取显存访问请求之前,在显卡驱动初始化时,根据所述显存的大小,在所述用户模式下的内存的虚拟地址空间中为所述显存分配所述显存的虚拟地址空间;所述显存的每个物理位置分别对应一个所述用户模式下的所述分配的显存的虚拟地址空间中的虚拟地址。
6.根据权利要求5所述的装置,其特征在于,所述获取模块,还用于在所述处理模块根据所述显存的大小,在所述用户模式下的内存的虚拟地址空间为所述显存分配所述显存的虚拟地址空间之后,且在获取所述显存访问请求之前,获取分配请求,所述分配请求用于请求对所述应用程序进行显存分配;
所述处理模块,还用于根据所述分配请求,在所述显存的虚拟地址空间中,为所述应用程序分配所述应用程序对应的显存的虚拟地址空间;所述应用程序对应的显存的虚拟地址空间包括所述显存的虚拟地址。
7.根据权利要求5所述的装置,其特征在于,所述处理模块,具体用于根据所述显存的虚拟地址,调用图形接口访问所述显存。
8.根据权利要求5-7任一项所述的装置,其特征在于,所述操作系统为嵌入式实时操作系统。
9.一种显存访问装置,其特征在于,所述显存访问装置应用于运行操作系统的计算机、且所述计算机的处理器工作在用户模式下,所述装置包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;所述至少一个处理器执行所述存储器存储的计算机执行指令,以执行如权利要求1-4中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有程序指令,所述程序指令被处理器执行时实现权利要求1-4中任一项所述的方法。
CN201810180585.8A 2018-03-05 2018-03-05 显存访问方法、装置及存储介质 Active CN110231988B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810180585.8A CN110231988B (zh) 2018-03-05 2018-03-05 显存访问方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810180585.8A CN110231988B (zh) 2018-03-05 2018-03-05 显存访问方法、装置及存储介质

Publications (2)

Publication Number Publication Date
CN110231988A CN110231988A (zh) 2019-09-13
CN110231988B true CN110231988B (zh) 2021-08-03

Family

ID=67861631

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810180585.8A Active CN110231988B (zh) 2018-03-05 2018-03-05 显存访问方法、装置及存储介质

Country Status (1)

Country Link
CN (1) CN110231988B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112465689B (zh) * 2020-10-21 2023-04-07 武汉凌久微电子有限公司 基于可见显存交换区的gpu不可见显存管理方法及系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7003586B1 (en) * 2002-02-27 2006-02-21 Advanced Micro Devices, Inc. Arrangement for implementing kernel bypass for access by user mode consumer processes to a channel adapter based on virtual address mapping
CN102402472A (zh) * 2010-09-17 2012-04-04 鸿富锦精密工业(深圳)有限公司 内存检测系统及其检测方法
CN103164348A (zh) * 2013-02-28 2013-06-19 浙江大学 一种多系统下对实时操作系统所占用内存的保护方法
CN104077190A (zh) * 2014-06-09 2014-10-01 汉柏科技有限公司 一种arm网口驱动的用户态移植方法和系统
CN106406977A (zh) * 2016-08-26 2017-02-15 山东乾云启创信息科技股份有限公司 一种gpu虚拟化实现系统及方法
CN106683035A (zh) * 2015-11-09 2017-05-17 龙芯中科技术有限公司 Gpu加速方法和装置
CN107729159A (zh) * 2017-09-29 2018-02-23 华为技术有限公司 一种共享内存的地址映射方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101369244A (zh) * 2007-08-14 2009-02-18 鸿富锦精密工业(深圳)有限公司 图形显示卡测试方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7003586B1 (en) * 2002-02-27 2006-02-21 Advanced Micro Devices, Inc. Arrangement for implementing kernel bypass for access by user mode consumer processes to a channel adapter based on virtual address mapping
CN102402472A (zh) * 2010-09-17 2012-04-04 鸿富锦精密工业(深圳)有限公司 内存检测系统及其检测方法
CN103164348A (zh) * 2013-02-28 2013-06-19 浙江大学 一种多系统下对实时操作系统所占用内存的保护方法
CN103164348B (zh) * 2013-02-28 2016-06-08 浙江大学 一种多系统下对实时操作系统所占用内存的保护方法
CN104077190A (zh) * 2014-06-09 2014-10-01 汉柏科技有限公司 一种arm网口驱动的用户态移植方法和系统
CN106683035A (zh) * 2015-11-09 2017-05-17 龙芯中科技术有限公司 Gpu加速方法和装置
CN106406977A (zh) * 2016-08-26 2017-02-15 山东乾云启创信息科技股份有限公司 一种gpu虚拟化实现系统及方法
CN107729159A (zh) * 2017-09-29 2018-02-23 华为技术有限公司 一种共享内存的地址映射方法及装置

Also Published As

Publication number Publication date
CN110231988A (zh) 2019-09-13

Similar Documents

Publication Publication Date Title
US6003112A (en) Memory controller and method for clearing or copying memory utilizing register files to store address information
US20230196502A1 (en) Dynamic kernel memory space allocation
US8395631B1 (en) Method and system for sharing memory between multiple graphics processing units in a computer system
EP3195128B1 (en) Memory management in virtualized environment
US10565131B2 (en) Main memory including hardware accelerator and method of operating the same
KR20150036627A (ko) 코드 실행의 유연한 가속
US11836091B2 (en) Secure memory access in a virtualized computing environment
WO2020061805A1 (en) Power Off and Power On Method and Apparatus For an In-Vehicle System
CN111090521A (zh) 内存分配方法、装置、存储介质及电子设备
CN114327777B (zh) 确定全局页目录的方法、装置、电子设备及存储介质
US8930968B2 (en) Method and driver for processing data in a virtualized environment
US11934698B2 (en) Process isolation for a processor-in-memory (“PIM”) device
CN110231988B (zh) 显存访问方法、装置及存储介质
US10664282B1 (en) Runtime augmentation of engine instructions
US9792042B2 (en) Systems and methods for set membership matching
CN112330229B (zh) 资源调度方法、装置、电子设备及计算机可读存储介质
US20220335109A1 (en) On-demand paging support for confidential computing
US11526358B2 (en) Deterministic execution replay for multicore systems
US20210081328A1 (en) Unified kernel virtual address space for heterogeneous computing
CN116685947A (zh) 虚拟功能资源的基于硬件的保护
CN116755843B (zh) 虚拟资源创建方法及装置、电子设备、芯片、存储介质
US11385927B2 (en) Interrupt servicing in userspace
CN118034958A (zh) 一种多进程场景的任务状态通知系统及方法
EP4323868A1 (en) System and method of dynamically partitioning computers at runtime
Kcholi The Foundation of Device Driver Development for Windows Embedded Compact

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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 100095 Building 2, Longxin Industrial Park, Zhongguancun environmental protection technology demonstration park, Haidian District, Beijing

Applicant after: Loongson Zhongke Technology Co.,Ltd.

Address before: 100095 Building 2, Longxin Industrial Park, Zhongguancun environmental protection technology demonstration park, Haidian District, Beijing

Applicant before: LOONGSON TECHNOLOGY Corp.,Ltd.

GR01 Patent grant
GR01 Patent grant