CN108460718B - 基于低功耗飞腾的三维图形显示系统优化方法及装置 - Google Patents
基于低功耗飞腾的三维图形显示系统优化方法及装置 Download PDFInfo
- Publication number
- CN108460718B CN108460718B CN201810185261.3A CN201810185261A CN108460718B CN 108460718 B CN108460718 B CN 108460718B CN 201810185261 A CN201810185261 A CN 201810185261A CN 108460718 B CN108460718 B CN 108460718B
- Authority
- CN
- China
- Prior art keywords
- module
- data
- gpu
- hardware
- data transmission
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/28—Indexing scheme for image data processing or generation, in general involving image processing hardware
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
本申请涉及一种基于低功耗飞腾的三维图形显示系统优化方法及装置。所述方法包括:识别三维图形显示系统的硬件框架;根据硬件框架,适配实时操作系统;控制CPU模块接收3D图形绘制命令和数据;基于适配的实时操作系统,采用层次结构,将3D图形绘制命令和数据提交至GPU模块进行硬件加速。采用本方法能够实现对三维图形处理硬件加速,从而可以高实时性地显示三维图形。
Description
技术领域
本申请涉及三维图形显示技术领域,特别是涉及一种基于低功耗飞腾的三维图形显示系统优化方法及装置。
背景技术
随着图形显示技术的发展,出现了三维图形显示技术,三维图形显示技术使得人们可以清晰、便捷地获取所需信息,但是随着显示分辨率的提高,不仅要处理大量像素,而且还要进行繁重的数据分析和数据通信工作。
然而,传统方法存在实时性差的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种高实时性的基于低功耗飞腾的三维图形显示系统优化方法及装置。
一种基于低功耗飞腾的三维图形显示系统优化方法,三维图形显示系统包括CPU(Central Processing Unit,中央处理器)模块和GPU(Graphic Processing Unit,图形处理器)模块,基于低功耗飞腾的三维图形显示系统优化方法包括:
识别三维图形显示系统的硬件框架;
根据硬件框架,适配实时操作系统;
控制CPU模块接收3D(3Dimensions,三维)图形绘制命令和数据;
基于适配的实时操作系统,采用层次结构,将3D图形绘制命令和数据提交至GPU模块进行硬件加速。
在其中一个实施例中,层次结构包括用户层、内核层和硬件层,用户层包括3D图形应用单元、窗口服务器单元和3D图形库单元。
在其中一个实施例中,将3D图形绘制命令和数据提交至GPU模块进行硬件加速包括:
在用户层将3D图形绘制命令和数据对应的图形与适配的实时操作系统中的显示窗口绑定,并发送3D图形绘制命令和数据;
当3D图形绘制命令支持GPU模块硬件加速时,将3D图形绘制命令和数据提交至内核层封装;
发送3D图形绘制命令和数据封装后至硬件层,由硬件层进行计算处理并显示。
在其中一个实施例中,在用户层将3D图形绘制命令和数据对应的图形与适配的实时操作系统中的显示窗口绑定,并发送3D图形绘制命令和数据包括:
控制3D图形应用单元启动窗口服务器单元,以使3D图形绘制命令和数据对应的图形与显示窗口绑定;
控制3D图形应用单元发送3D图形绘制命令和数据至3D图形库单元。
在其中一个实施例中,硬件框架还包括DMA(Direct Memory Access,直接内存存取)数据传输模块,DMA数据传输模块分别与CPU模块和GPU模块连接,还包括:
在DMA数据传输模块中构建数据传输数据命令包;
将命令包写入CPU模块与GPU模块共享的命令缓冲区;
控制CPU模块创建监测任务,监测任务用于监测GPU模块数据传输完成时发送的DMA数据传输完成信息;
当检测到DMA数据传输完成信息,控制CPU模块启用适配的实时操作系统辅助时钟唤醒等待队列中的监测任务,提取GPU模块传输的数据并执行GPU模块传输数据对应的操作。
在其中一个实施例中,在将命令包写入CPU模块与GPU模块共享的命令缓冲区之后还包括:
控制GPU模块读取并解析命令缓冲区中的命令;
根据命令缓冲区的命令,控制GPU模块获取显存数据;
控制GPU模块启动DMA数据传输模块,向CPU模块进行数据传输;
当数据传输完成时,控制GPU模块向CPU模块DMA数据传输完成信息。
在其中一个实施例中,还包括:
采用开放运算语言将CPU模块中对三维图形的浮点计算迁移至GPU模块进行计算。
在其中一个实施例中,适配的实时操作系统为VxWorks,根据硬件框架,适配实时操作系统包括:
设置板级支持包的参数,为VxWorks操作系统内核提供操作接口;
根据操作接口,移植VxWorks操作系统。
一种基于低功耗飞腾的三维图形显示系统优化装置,三维图形显示系统包括CPU模块和GPU模块,基于低功耗飞腾的三维图形显示系统优化装置包括:
识别模块,用于识别三维图形显示系统的硬件框架;
适配模块,用于根据硬件框架,适配实时操作系统;
接收模块,用于接收3D图形绘制命令和数据;
加速模块,用于基于适配的实时操作系统,采用层次结构,将3D图形绘制命令和数据提交至GPU模块进行硬件加速。
在其中一个实施例中,层次结构包括用户层、内核层和硬件层,用户层包括3D图形应用单元、窗口服务器单元和3D图形库单元;加速模块包括:
用户层单元,用于在用户层将3D图形绘制命令和数据对应的图形与适配的实时操作系统中的显示窗口绑定,并发送3D图形绘制命令和数据;
内核层单元,用于当3D图形绘制命令支持GPU模块硬件加速时,将3D图形绘制命令和数据提交至内核层封装;
硬件层单元,用于发送3D图形绘制命令和数据封装后至硬件层,由硬件层进行计算处理并显示。
上述基于低功耗飞腾的三维图形显示系统优化方法及装置,通过识别三维图形显示系统的硬件框架,适配实时操作系统,控制CPU模块接收3D图形绘制命令和数据,基于适配的实时操作系统,采用层次结构,将3D图形绘制命令和数据提交至GPU模块进行硬件加速。本申请通过采用层次结构,可以实现对三维图形处理硬件加速,从而可以高实时性地显示三维图形。
附图说明
图1为一个实施例中基于低功耗飞腾的三维图形显示系统优化方法的流程示意图;
图2为一个实施例中三维图形显示系统的结构示意图;
图3为一个实施例中层次结构的结构示意图;
图4为另一个实施例中基于低功耗飞腾的三维图形显示系统优化方法的流程示意图;
图5为一个实施例中基于低功耗飞腾的三维图形显示系统优化装置的结构框图;
图6为另一个实施例中基于低功耗飞腾的三维图形显示系统优化装置的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在一个实施例中,请参见图1,提供了一种基于低功耗飞腾的三维图形显示系统优化方法,三维图形显示系统包括CPU模块202和GPU模块204,请参见图2,CPU模块202包括CPU,CPU是超大规模的集成电路,是计算机的运算核心和控制核心,功能主要是解释计算机指令以及处理计算机软件中的数据;GPU模块204包括GPU(图形处理器)芯片,专为执行复杂数学和几何计算而设计的,这些计算是图形渲染所必需的;基于低功耗飞腾的三维图形显示系统优化方法包括以下步骤:
S120:识别三维图形显示系统的硬件框架。
其中,三维图形显示系统的硬件框架包括CPU模块和GPU模块,CPU模块可以为飞腾CPU、Power PC等处理器。
具体地,CPU模块包括低功耗飞腾CPU,低功耗飞腾CPU具有低功耗、高带宽的特点,低功耗飞腾CPU提供高效的计算服务,可以实现低功耗、快速的内存访问以及高速数据传输的效果。
S140:根据硬件框架,适配实时操作系统。
其中,实时操作系统是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统做出快速响应,并控制所有实时任务协调一致运行的操作系统。实时操作系统可以是VxWorks、Nucleus、QNX和Windows CE等。
S160:控制CPU模块接收3D图形绘制命令和数据。
S180:基于适配的实时操作系统,采用层次结构,将3D图形绘制命令和数据提交至GPU模块进行硬件加速。
其中,GPU模块包括GPU(图形处理器)芯片,专为执行复杂数学和几何计算而设计的,这些计算是图形渲染所必需的。将3D图形绘制命令和数据提交至计算能力比CPU模块强的GPU模块中进行渲染计算再显示,相比于在CPU模块中进行计算再通过GPU模块显示,S180中3D图像计算能力更强。
在本实施例中,通过识别三维图形显示系统的硬件框架,适配实时操作系统,控制CPU模块接收3D图形绘制命令和数据,基于适配的实时操作系统,采用层次结构,将3D图形绘制命令和数据提交至GPU模块进行三维图形硬件加速显示。通过采用层次结构,可以实现对三维图形处理硬件加速,从而可以高实时性地显示三维图形。
在其中一个实施例中,请参见图3,层次结构包括用户层320、内核层340和硬件层360,用户层包括3D图形应用单元322、窗口服务器单元324和3D图形库单元326。
在本实施例中,内核层340包括DRM(Direct Rendering Manager,直接渲染管理器),可以实现用户层320与硬件层360的连接,硬件层360包括GPU,可以实现对提交的3D图形数据进行渲染计算并显示,通过层次结构可以实现对三维图形处理硬件加速,从而可以高实时性地显示三维图形。
在其中一个实施例中,请参见图1、图2、图3和图4,S180包括:
S420:在用户层320将3D图形绘制命令和数据对应的图形与适配的实时操作系统中的显示窗口绑定,并发送3D图形绘制命令和数据。
其中,S420包括:
S422:控制3D图形应用单元322启动窗口服务器单元324,以使3D图形绘制命令和数据对应的图形与显示窗口绑定。
S424:控制3D图形应用单元322发送3D图形绘制命令和数据至3D图形库单元326。
具体地,在CPU接收3D图形绘制命令和数据之后,在适配的实时性操作系统VxWorks中控制3D图形应用单元322通过GLX(OpenGL Extension to the X WindowSystem,X窗口系统附加接口)启动窗口服务器单元324,将与3D图形绘制命令和数据对应的图形和显示窗口进行绑定,并且控制3D图形应用单元322通过DRI(Direct RendingInfrastructure,基层直接渲染)框架发送3D图形绘制命令和数据至3D图形库单元326。
S440:当3D图形绘制命令支持GPU模块硬件加速时,将3D图形绘制命令和数据提交至内核层340封装。
具体地,3D图形应用单元322利用DRI框架,直接将3D图形绘制命令和数据提交给3D图形库单元326,如果3D图形绘制命令支持GPU硬件加速,3D图形库单元326将3D图形绘制命令和数据提交给内核层340中的DRM处理。
S460:发送3D图形绘制命令和数据封装后至硬件层360,由硬件层360进行计算处理并显示。
其中,硬件层360包括GPU。如果3D图形绘制命令支持GPU硬件加速,发送3D图形绘制命令和数据至内核层340中的DRM封装后,再发送至硬件层360中的GPU,GPU进行渲染计算处理并在绑定的显示窗口中显示;如果3D图形绘制命令不支持GPU硬件加速,则调用3D图形库单元326绘制函数,生成相关渲染计算命令和渲染计算后的数据,再提交给内核层340中的DRM进行封装,封装后发送至硬件层360中的GPU,GPU在绑定的显示窗口中进行显示。
在本实施例中,通过发送3D图形绘制命令和数据至内核层340中的DRM封装后,再发送至硬件层360中的GPU,GPU进行渲染计算处理并在绑定的显示窗口中显示,减少了在CPU中的渲染计算,提高计算速度,从而可以实现高实时性地显示三维图形。
在其中一个实施例中,硬件框架还包括DMA数据传输模块,DMA数据传输模块分别与CPU模块和GPU模块连接,基于低功耗飞腾的三维图形显示系统优化方法还包括:在DMA数据传输模块中构建数据传输数据命令包;将命令包写入CPU模块与GPU模块共享的命令缓冲区;控制CPU模块创建监测任务,监测任务用于监测GPU模块数据传输完成时发送的DMA数据传输完成信息;当检测到DMA数据传输完成信息,控制CPU模块启用适配的实时操作系统辅助时钟唤醒等待队列中的监测任务,提取GPU模块传输的数据并执行GPU模块传输数据对应的操作。
在其中一个实施例中,在DMA数据传输模块中构建数据传输数据命令包以及将命令包写入CPU模块与GPU模块共享的命令缓冲区之后还包括:控制GPU模块读取并解析命令缓冲区中的命令;根据命令缓冲区的命令,控制GPU模块获取显存数据;控制GPU模块启动DMA数据传输模块,向CPU模块进行数据传输;当数据传输完成时,控制GPU模块向CPU模块发送DMA数据传输完成信息。
在其中一个实施例中,通过将CPU模块在DMA数据传输模块中构建数据传输数据命令包,将命令包写入CPU模块与GPU模块共享的命令缓冲区,使用CPU模块创建监测任务,监测任务用来监测GPU模块数据传输完成时发送的DMA数据传输完成信息。GPU模块读取并解析共享的命令缓冲区中的命令,根据解析后的命令获取显存数据,启动DMA数据传输模块,对CPU模块进行数据传输,当数据传输完成时,GPU模块向CPU模块发送DMA数据传输完成信息。当监测任务监测到DMA数据传输完成信息,CPU模块启用适配的实时操作系统辅助时钟唤醒等待队列中的监测任务,提取GPU模块传输的数据并执行GPU模块传输数据对应的操作。通过加入DMA数据传输模块,可以实现直接访问内存,加快CPU模块和GPU模块之间的数据传输。
在其中一个实施例中,基于低功耗飞腾的三维图形显示系统优化方法还包括:采用开放运算语言将CPU模块中对三维图形应用中的部分浮点计算迁移至GPU模块进行计算。
其中,浮点运算是实数运算,因为计算机只能存储整数,所以实数都是约数,这样浮点运算是很慢的而且会有误差。三维图形显示系统利用GPU模块进行图形渲染和显示,这些图形在CPU模块存在大量的浮点运算。基于低功耗飞腾的三维图形显示系统优化方法将CPU模块有关三维图形的部分计算利用OpenCL(Open Computing Language,开放运算语言)迁移到GPU模块上进行,然后直接调用OpenGL(Open Graphics Library,开放图形库)再进行渲染和显示。通过迁移浮点计算,一方面减少了CPU模块和GPU模块的数据传输量;另一方面也降低了CPU模块的计算负载,从而提高系统整体性能。
在其中一个实施例中,适配的实时操作系统为VxWorks,根据硬件框架,适配实时操作系统包括:针对特定硬件平台,设置板级支持包的参数,定制板级支持包,为VxWorks操作系统内核提供操作接口;根据操作接口,移植VxWorks操作系统。
在本实施例中,实时操作系统采用操作系统VxWorks,操作系统VxWorks是广泛应用于嵌入式领域,特别是应用于实时性要求高的机载、舰载以及车载等恶劣环境下图形实时操作系统。适配实时操作系统VxWorks包括两个方面,一方面是BSP(Board SupportPackage,板级支持包)定制,另一方面是VxWorks的移植。板级支持包的作用是针对特殊的硬件平台,为操作系统VxWorks内核提供操作接口,使操作系统VxWorks能够独立于底层硬件。在操作系统VxWorks中,BSP是介于底层硬件环境和VxWorks之间的一个软件接口,它的主要功能是加电后初始化目标机硬件和操作系统VxWorks,并提供部分硬件驱动程序。BSP基本模块包括:处理器复位、硬件初始化、中断的捕捉和处理、硬件时钟和定时器管理、内存地址映射,以及内存分配等。在本实施例中,BSP定制需要设置CPU模块的复位地址,针对硬件框架设计初始化参数,根据操作系统VxWorks内存设置分配内存空间以及硬件时钟等。通过板级支持包的定制可以实现软硬件的结合,实现操作系统的高移植性,并且通过采用VxWorks操作系统,可以实现高实时性。
在一个实施例中,提供一种基于低功耗飞腾的三维图形显示系统优化方法,包括:识别三维图形显示系统的硬件框架,硬件框架包括低功耗飞腾CPU和GPU;根据低功耗飞腾CPU和GPU定制BSP,适配实时操作系统VxWorks;采用层次结构将3D图形绘制命令和数据提交至GPU进行硬件加速,层次结构包括用户层、内核层和硬件层,用户层包括3D图形应用单元、窗口服务单元以及3D图形库单元,通过发送3D图形绘制命令和数据至内核层中的DRM封装后,再发送至硬件层中的GPU,GPU进行渲染计算处理并在绑定的显示窗口中显示。减少了在CPU中的渲染计算,提高计算速度,从而可以实现高实时性地显示三维图形,通过采用低功耗飞腾CPU降低了处理器功耗,从而可以实现三维图形显示系统的低功耗。
应该理解的是,虽然图1和图3流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1和图4中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,请参见图5,提供了一种基于低功耗飞腾的三维图形显示系统优化装置,三维图形显示系统包括CPU模块和GPU模块,基于低功耗飞腾的三维图形显示系统优化装置包括识别模块502、适配模块504、接收模块506和加速模块508。识别模块502,用于识别三维图形显示系统的硬件框架。适配模块504,用于根据硬件框架,适配实时操作系统。接收模块506,用于接收3D图形绘制命令和数据。加速模块508,用于基于适配的实时操作系统,采用层次结构,将3D图形绘制命令和数据提交至GPU模块进行硬件加速。
在本实施例中,通过识别模块502识别三维图形显示系统的硬件框架,通过适配模块504适配实时操作系统,通过接收模块506控制CPU模块接收3D图形绘制命令和数据,通过加速模块508基于适配的实时操作系统,采用层次结构,将3D图形绘制命令和数据提交至GPU模块进行硬件加速。通过采用层次结构,可以实现对三维图形处理硬件加速,从而可以高实时性地显示三维图形。
在其中一个实施例中,请参见图5和图6,层次结构包括用户层、内核层和硬件层,用户层包括3D图形应用单元、窗口服务器单元和3D图形库单元;加速模块508包括用户层单元602、内核层单元604和硬件层单元606。用户层单元602,用于在用户层将3D图形绘制命令和数据对应的图形与适配的实时操作系统中的显示窗口绑定,并发送3D图形绘制命令和数据;内核层单元604,用于当3D图形绘制命令支持GPU模块硬件加速时,将3D图形绘制命令和数据提交至内核层封装;硬件层单元606,用于发送3D图形绘制命令和数据封装后至硬件层,由硬件层进行计算处理并显示。
在本实施例中,通过用户层单元602在用户层将3D图形绘制命令和数据对应的图形与适配的实时操作系统中的显示窗口绑定,并发送3D图形绘制命令和数据;通过内核层单元604发送3D图形绘制命令和数据至内核层中的DRM封装,再通过硬件层单元606发送3D图形绘制命令和数据封装后至硬件层,由硬件层进行渲染计算处理并在绑定的显示窗口中显示,减少了在CPU中的渲染计算,提高计算速度,从而可以实现高实时性地显示三维图形。
在其中一个实施例中,硬件框架还包括DMA数据传输模块,DMA数据传输模块分别与CPU模块和GPU模块连接,基于低功耗飞腾的三维图形显示系统优化装置还包括CPU数据传输模块:CPU数据传输模块,用于在DMA数据传输模块中构建数据传输数据命令包;将命令包写入CPU模块与GPU模块共享的命令缓冲区;控制CPU模块创建监测任务,监测任务用于监测GPU模块数据传输完成时发送的DMA数据传输完成信息;当检测到DMA数据传输完成信息,控制CPU模块启用适配的实时操作系统辅助时钟唤醒等待队列中的监测任务,提取GPU模块传输的数据并执行GPU模块传输数据对应的操作。
在其中一个实施例中,基于低功耗飞腾的三维图形显示系统优化装置还包括GPU数据传输模块:GPU数据传输模块,用于控制GPU模块读取并解析命令缓冲区中的命令;根据命令缓冲区的命令,控制GPU模块获取显存数据;控制GPU模块启动DMA数据传输模块,向CPU模块进行数据传输;当数据传输完成时,控制GPU模块向CPU模块发送DMA数据传输完成信息。
在其中一个实施例中,通过CPU数据传输模块将CPU模块在DMA数据传输模块中构建数据传输数据命令包,将命令包写入CPU模块与GPU模块共享的命令缓冲区,使用CPU模块创建监测任务,监测任务用来监测GPU模块数据传输完成时发送的DMA数据传输完成信息。通过GPU数据传输模块控制GPU模块读取并解析共享的命令缓冲区中的命令,根据解析后的命令获取显存数据,启动DMA数据传输模块,对CPU模块进行数据传输,当数据传输完成时,GPU模块向CPU模块发送DMA数据传输完成信息。当监测任务监测到DMA数据传输完成信息,通过CPU数据传输模块控制CPU模块启用适配的实时操作系统辅助时钟唤醒等待队列中的监测任务,提取GPU模块传输的数据并执行GPU模块传输数据对应的操作。通过加入CPU数据传输模块和GPU数据传输模块,可以实现直接访问内存,加快CPU模块和GPU模块之间的数据传输。
在其中一个实施例中,基于低功耗飞腾的三维图形显示系统优化装置还包括:转移模块,转移模块用于采用开放运算语言将CPU模块中对三维图形的浮点计算迁移至GPU模块进行计算。
其中,浮点运算是实数运算,因为计算机只能存储整数,所以实数都是约数,这样浮点运算是很慢的而且会有误差。三维图形显示系统利用GPU模块进行图形渲染和显示,这些图形在CPU模块存在大量的浮点运算。基于低功耗飞腾的三维图形显示系统优化装置中的转移模块将CPU模块有关三维图形应用的部分浮点计算利用OpenCL(Open ComputingLanguage,开放运算语言)迁移到GPU模块上进行,然后直接调用OpenGL(Open GraphicsLibrary,开放图形库)再进行渲染和显示。通过迁移浮点计算,一方面减少了CPU模块和GPU模块的数据传输量;另一方面也降低了CPU模块的计算负载,从而提高系统整体性能。
关于基于低功耗飞腾的三维图形显示系统优化装置的具体限定可以参见上文中对于基于低功耗飞腾的三维图形显示系统优化方法的限定,在此不再赘述。上述基于低功耗飞腾的三维图形显示系统优化装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
上述基于低功耗飞腾的三维图形显示系统优化方法及装置,通过识别三维图形显示系统的硬件框架,适配实时操作系统,控制CPU模块接收3D图形绘制命令和数据,基于适配的实时操作系统,采用层次结构,将3D图形绘制命令和数据提交至GPU模块进行硬件加速。通过采用层次结构,可以实现对三维图形处理硬件加速,从而可以高实时性地显示三维图形。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种基于低功耗飞腾的三维图形显示系统优化方法,其特征在于,所述三维图形显示系统包括CPU模块和GPU模块,所述基于低功耗飞腾的三维图形显示系统优化方法包括:
识别所述三维图形显示系统的硬件框架;
根据所述硬件框架,适配实时操作系统;
控制所述CPU模块接收3D图形绘制命令和数据;
基于适配的实时操作系统,采用层次结构,将所述3D图形绘制命令和数据提交至所述GPU模块进行硬件加速;所述层次结构包括用户层、内核层和硬件层,所述用户层包括3D图形应用单元、窗口服务器单元和3D图形库单元;
所述将所述3D图形绘制命令和数据提交至所述GPU模块进行硬件加速包括:在用户层将所述3D图形绘制命令和数据对应的图形与适配的实时操作系统中的显示窗口绑定,并发送3D图形绘制命令和数据;当所述3D图形绘制命令支持所述GPU模块硬件加速时,将所述3D图形绘制命令和数据提交至所述内核层封装;发送所述3D图形绘制命令和数据封装后至所述硬件层,由所述硬件层进行计算处理并显示。
2.根据权利要求1所述的方法,其特征在于,所述在用户层将所述3D图形绘制命令和数据对应的图形与适配的实时操作系统中的显示窗口绑定,并发送3D图形绘制命令和数据包括:
控制所述3D图形应用单元启动所述窗口服务器单元,以使所述3D图形绘制命令和数据对应的图形与所述显示窗口绑定;
控制所述3D图形应用单元发送所述3D图形绘制命令和数据至所述3D图形库单元。
3.根据权利要求1所述的方法,其特征在于,所述硬件框架还包括DMA数据传输模块,所述DMA数据传输模块分别与所述CPU模块和所述GPU模块连接,所述方法还包括:
在所述DMA数据传输模块中构建数据传输数据命令包;
将所述命令包写入所述CPU模块与所述GPU模块共享的命令缓冲区;
控制所述CPU模块创建监测任务,所述监测任务用于监测所述GPU模块数据传输完成时发送的DMA数据传输完成信息;
当检测到所述DMA数据传输完成信息,控制所述CPU模块启用适配的实时操作系统辅助时钟唤醒等待队列中的监测任务,提取所述GPU模块传输的数据并执行所述GPU模块传输数据对应的操作。
4.根据权利要求3所述的方法,其特征在于,在所述将所述命令包写入所述CPU模块与所述GPU模块共享的命令缓冲区之后还包括:
控制所述GPU模块读取并解析所述命令缓冲区中的命令;
根据所述命令缓冲区的命令,控制所述GPU模块获取显存数据;
控制所述GPU模块启动所述DMA数据传输模块,向所述CPU模块进行数据传输;
当数据传输完成时,控制所述GPU模块向所述CPU模块发送DMA数据传输完成信息。
5.根据权利要求1所述的方法,其特征在于,还包括:
采用开放运算语言将所述CPU模块中对三维图形的浮点计算迁移至所述GPU模块进行计算。
6.根据权利要求1所述的方法,其特征在于,适配的实时操作系统为VxWorks,所述根据所述硬件框架,适配实时操作系统包括:
设置板级支持包的参数,为所述VxWorks操作系统内核提供操作接口;
根据所述操作接口,移植VxWorks操作系统。
7.一种基于低功耗飞腾的三维图形显示系统优化装置,其特征在于,所述三维图形显示系统包括CPU模块和GPU模块,所述基于低功耗飞腾的三维图形显示系统优化装置包括:
识别模块,用于识别所述三维图形显示系统的硬件框架;
适配模块,用于根据所述硬件框架,适配实时操作系统;
接收模块,用于接收3D图形绘制命令和数据;
加速模块,用于基于适配的实时操作系统,采用层次结构,将所述3D图形绘制命令和数据提交至所述GPU模块进行硬件加速;所述层次结构包括用户层、内核层和硬件层,所述用户层包括3D图形应用单元、窗口服务器单元和3D图形库单元;所述加速模块包括:用户层单元,用于在用户层将所述3D图形绘制命令和数据对应的图形与适配的实时操作系统中的显示窗口绑定,并发送3D图形绘制命令和数据;内核层单元,用于当所述3D图形绘制命令支持所述GPU模块硬件加速时,将所述3D图形绘制命令和数据提交至所述内核层封装;硬件层单元,用于发送所述3D图形绘制命令和数据封装后至所述硬件层,由所述硬件层进行计算处理并显示。
8.根据权利要求7所述的装置,其特征在于,所述硬件框架还包括DMA数据传输模块,DMA数据传输模块分别与CPU模块和GPU模块连接;
所述基于低功耗飞腾的三维图形显示系统优化装置还包括CPU数据传输模块;
所述CPU数据传输模块,用于在DMA数据传输模块中构建数据传输数据命令包;将命令包写入CPU模块与GPU模块共享的命令缓冲区;控制CPU模块创建监测任务,监测任务用于监测GPU模块数据传输完成时发送的DMA数据传输完成信息;当检测到DMA数据传输完成信息,控制CPU模块启用适配的实时操作系统辅助时钟唤醒等待队列中的监测任务,提取GPU模块传输的数据并执行GPU模块传输数据对应的操作。
9.根据权利要求7所述的装置,其特征在于,还包括GPU数据传输模块;
所述GPU数据传输模块,用于控制GPU模块读取并解析命令缓冲区中的命令;根据命令缓冲区的命令,控制GPU模块获取显存数据;控制GPU模块启动DMA数据传输模块,向CPU模块进行数据传输;当数据传输完成时,控制GPU模块向CPU模块发送DMA数据传输完成信息。
10.根据权利要求7所述的装置,其特征在于,还包括转移模块;
所述转移模块,用于采用开放运算语言将CPU模块中对三维图形的浮点计算迁移至GPU模块进行计算。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810185261.3A CN108460718B (zh) | 2018-03-06 | 2018-03-06 | 基于低功耗飞腾的三维图形显示系统优化方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810185261.3A CN108460718B (zh) | 2018-03-06 | 2018-03-06 | 基于低功耗飞腾的三维图形显示系统优化方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108460718A CN108460718A (zh) | 2018-08-28 |
CN108460718B true CN108460718B (zh) | 2022-04-12 |
Family
ID=63217462
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810185261.3A Active CN108460718B (zh) | 2018-03-06 | 2018-03-06 | 基于低功耗飞腾的三维图形显示系统优化方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108460718B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109857040A (zh) * | 2019-03-25 | 2019-06-07 | 哈尔滨工程大学 | 一种空间绘图装置及方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105630441A (zh) * | 2015-12-11 | 2016-06-01 | 中国航空工业集团公司西安航空计算技术研究所 | 一种基于统一染色技术的gpu体系架构 |
CN107077717A (zh) * | 2014-12-18 | 2017-08-18 | 英特尔公司 | 促进计算设备上的图形处理单元上的工作负荷执行的动态流水线化 |
CN107423019A (zh) * | 2017-07-31 | 2017-12-01 | 山东超越数控电子有限公司 | 一种基于飞腾平台控制3d图形加速的实现方法 |
CN107533463A (zh) * | 2015-03-18 | 2018-01-02 | 英特尔公司 | 用于软件不可知多gpu处理的设备和方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9710876B2 (en) * | 2015-01-16 | 2017-07-18 | Intel Corporation | Graph-based application programming interface architectures with equivalency classes for enhanced image processing parallelism |
US20170083790A1 (en) * | 2015-09-23 | 2017-03-23 | Behavioral Recognition Systems, Inc. | Detected object tracker for a video analytics system |
-
2018
- 2018-03-06 CN CN201810185261.3A patent/CN108460718B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107077717A (zh) * | 2014-12-18 | 2017-08-18 | 英特尔公司 | 促进计算设备上的图形处理单元上的工作负荷执行的动态流水线化 |
CN107533463A (zh) * | 2015-03-18 | 2018-01-02 | 英特尔公司 | 用于软件不可知多gpu处理的设备和方法 |
CN105630441A (zh) * | 2015-12-11 | 2016-06-01 | 中国航空工业集团公司西安航空计算技术研究所 | 一种基于统一染色技术的gpu体系架构 |
CN107423019A (zh) * | 2017-07-31 | 2017-12-01 | 山东超越数控电子有限公司 | 一种基于飞腾平台控制3d图形加速的实现方法 |
Non-Patent Citations (2)
Title |
---|
DMA-assisted, intranode communication in GPU accelerated system;Ji F 等;《2012 IEEE 14th International Conference on High Performance Computing and Communication & 2012 IEEE 9th International Conference on Embedded Software and Systems》;20121231;第461-468页 * |
基于邻域模型的协同过滤推荐算法的硬件加速系统设计与实现;马翔;《中国优秀硕士学位论文全文数据库信息科技辑》;20160915;第25页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108460718A (zh) | 2018-08-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210049729A1 (en) | Reconfigurable virtual graphics and compute processor pipeline | |
KR101855311B1 (ko) | 그래픽 처리 유닛을 위한 작업 부하 일괄 제출 메커니즘 | |
CN106663021B (zh) | 虚拟化环境中的智能gpu调度 | |
US11957974B2 (en) | System architecture for cloud gaming | |
RU2595909C2 (ru) | Способ и аппарат для отображения образа прикладного объекта | |
US8587594B2 (en) | Allocating resources based on a performance statistic | |
KR102605313B1 (ko) | 가상화된 가속 처리 디바이스를 위한 조기 가상화 컨텍스트 전환 | |
US20170069054A1 (en) | Facilitating efficient scheduling of graphics workloads at computing devices | |
CN110352403B (zh) | 图形处理器寄存器重命名机制 | |
WO2018026482A1 (en) | Mechanism to accelerate graphics workloads in a multi-core computing architecture | |
US20140198112A1 (en) | Method of controlling information processing apparatus and information processing apparatus | |
EP3862060A1 (en) | System architecture for cloud gaming | |
US20170154403A1 (en) | Triple buffered constant buffers for efficient processing of graphics data at computing devices | |
US10410311B2 (en) | Method and apparatus for efficient submission of workload to a high performance graphics sub-system | |
CN114528090A (zh) | 基于Vulkan实现图形渲染的方法及相关装置 | |
WO2018063554A1 (en) | Thread priority mechanism | |
WO2017099882A1 (en) | Accelerated touch processing at computing devices | |
CN115904617A (zh) | 一种基于sr-iov技术的gpu虚拟化实现方法 | |
US10769753B2 (en) | Graphics processor that performs warping, rendering system having the graphics processor, and method of operating the graphics processor | |
CN108460718B (zh) | 基于低功耗飞腾的三维图形显示系统优化方法及装置 | |
EP3113015B1 (en) | Method and apparatus for data communication in virtualized environment | |
US10678553B2 (en) | Pro-active GPU hardware bootup | |
CN111598767B (zh) | 基于多核处理器的3d图形加速的方法、系统以及介质 | |
US20220382587A1 (en) | Data processing systems | |
CN110060198B (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 |