CN110060198B - 基于多核处理器的图形库应用支持装置、方法及应用 - Google Patents

基于多核处理器的图形库应用支持装置、方法及应用 Download PDF

Info

Publication number
CN110060198B
CN110060198B CN201910334723.8A CN201910334723A CN110060198B CN 110060198 B CN110060198 B CN 110060198B CN 201910334723 A CN201910334723 A CN 201910334723A CN 110060198 B CN110060198 B CN 110060198B
Authority
CN
China
Prior art keywords
core
image
library
application
inter
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
CN201910334723.8A
Other languages
English (en)
Other versions
CN110060198A (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 Yinwo Automotive Technology Co ltd
Original Assignee
Beijing Yinwo Automotive 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 Yinwo Automotive Technology Co ltd filed Critical Beijing Yinwo Automotive Technology Co ltd
Priority to CN201910334723.8A priority Critical patent/CN110060198B/zh
Publication of CN110060198A publication Critical patent/CN110060198A/zh
Application granted granted Critical
Publication of CN110060198B publication Critical patent/CN110060198B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供了一种基于多核处理器的图形库应用支持装置、方法及应用,其充分利用多核处理器多个核心的优势,提高了处理器的图像处理的能力,提高了系统运行的整体性能,包括:ARM核心包括图形应用程序;图形库;Framebuffer设备;用于存放图形库绘制的图像;Vfb模块,用于在内核中作为显卡驱动模型驱动Framebuffer设备;Netlink模块,用于实现内核态和用户态之间的图像传递;Netlink库;核间通信应用,图像通过核间通信应用传递给Cortex核心;Cortex核心包括:核间通信应用,SYS/BIOS系统,用于创建task任务,提供驱动将核间通信应用传递的图像传递给LCD控制器进行显示。

Description

基于多核处理器的图形库应用支持装置、方法及应用
技术领域
本发明涉及图像处理技术领域,具体涉及基于多核处理器的图形库应用支持装置、方法及应用。
背景技术
在嵌入式系统中,一般的图形库都是运行在arm处理器下的Linux操作系统中,通过Wayland、X11和Framebuffer等图形服务器进行显示,目前图形库应用显示的流程,是单核架构的,但是对于多核处理器,有多个CPU,多个操作系统,让每个处理器同时运行,相对于单核处理器,有更强大的功能,目前的图形库应用显示方案在多核架构中运行时,仍然只调用单核心,不是很高效,没有发挥出多核处理器的优势。
发明内容
针对上述问题,本发明提供了一种基于多核处理器的图形库应用支持装置,同时还提供了采用上述的基于多核处理器的图形库应用支持装置进行图像显示的方法和其应用,其充分利用多核处理器多个核心的优势,提高了处理器的图像处理的能力,提高了系统运行的整体性能。
其技术方案是这样的:基于多核处理器的图形库应用支持装置,其特征在于,包括:
ARM核心,用于进行业务逻辑处理和图形库支持,
Cortex核心,用于显示图像;
所述ARM核心包括:
图形应用程序,所述ARM核心支持所述图形应用程序输入待显示的图像数据;
图形库,用于在用户态中根据所述图形应用程序输入的图像数据绘制图像;
Framebuffer设备,用于存放所述图形库绘制的图像;
Vfb模块,用于在内核中作为显卡驱动模型驱动所述Framebuffer设备;
Netlink模块,用于实现内核态和用户态之间的图像传递;
Netlink库,用于支持所述Netlink模块传递图像;
核间通信应用,所述Netlink模块将图像传递到用户态的核间通信应用,图像通过所述核间通信应用传递给Cortex核心;
所述Cortex核心包括:
核间通信应用,用于与所述ARM核心的核间通信应用进行通讯;
SYS/BIOS系统,用于创建task任务,提供驱动将所述核间通信应用传递的图像传递给LCD控制器进行显示。
进一步的,所述Cortex核心为Cortex-M4核心。
进一步的,所述基于多核处理器的图形库应用支持装置运行在linux操作系统下。
进一步的,所述图形库为QT图形库。
一种上述的基于多核处理器的图形库应用支持装置进行图像显示的方法,其特征在于,包括以下步骤:在ARM核心中,ARM核心支持所述图形应用程序输入待显示的图像数据,通过图形库将所述图形应用程序输入的图像数据绘制成图像,图像存放在Framebuffer设备中,内核态中的Vfb模块读取Framebuffer设备中的图像,通过Netlink模块将图像传递给用户态的核间通信应用程序,ARM核心的核间通信应用程序与Cortex核心的核间通信应用程序进行通讯,Cortex核心接收来自ARM核心的图像,通过SYS/BIOS系统创建task任务,提供驱动将图像传递给LCD控制器,LCD控制器控制LCD显示器显示图像。
本发明的基于多核处理器的图形库应用支持装置,通过ARM核心进行业务逻辑处理和图形库支持,通过Cortex核心进行显示图像,不同的任务在两个处理器同时工作处理,比起传统方法中,所有任务都在一个CPU的核心上运行的方式更加高效,其很好的发挥了多核处理器多核心的优势,在嵌入式系统中,对于多核处理器,有多个CPU,多个操作系统,每个处理器的各自优点能否都发挥出来,直接影响到整体的性能,本发明的基于多核处理器的图形库应用支持装置进行图像显示时,能让多个核心同时工作,又不提高图形库应用的开发难度,在满足图形库支持的条件下,充分利用了各个核心的优点,提高了整体系统的性能。
附图说明
图1为本发明的基于多核处理器的图形库应用支持装置的系统框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
见图1,本发明的基于多核处理器的图形库应用支持装置,同时,基于多核处理器的图形库应用支持装置运行在linux操作系统下,其包括:
ARM核心1,用于进行业务逻辑处理和图形库支持,
Cortex核心2,用于显示图像;
ARM核心1包括:
图形应用程序11,ARM核心支持图形应用程序11输入待显示的图像数据;
图形库12,用于在用户态中根据图形应用程序11输入的图像数据绘制图像;
Framebuffer设备13,用于存放图形库绘制的图像;
Vfb模块14,用于在内核中作为显卡驱动模型驱动Framebuffer设备13;
Netlink模块15,用于实现内核态和用户态之间的图像传递;
Netlink库16,用于支持Netlink模块传递图像;
核间通信应用17,Netlink模块15将图像传递到用户态的核间通信应用17,图像通过核间通信应用17传递给Cortex核心2;
Cortex核心2包括:
核间通信应用21,用于与ARM核心的核间通信应用17进行通讯;
SYS/BIOS系统22,用于创建task任务,提供驱动将核间通信应用传递的图像传递给LCD控制器进行显示。
在本实施例中,Cortex核心为Cortex-M4核心。
Linux操作系统,是指大多数操作系统的核心部分。它由操作系统中用于管理存储器、文件、外设和系统资源的那些部分组成。操作系统内核通常运行进程,并提供进程间的通信。
SYS/BIOS操作系统,是一个可扩展的实时内核,或者说是操作系统,其提供了许多模块化的APIs(应用程序接口),支持抢占式多线程,硬件抽象,实时分析和配置工具,其设计目的是为了最大限度地减少对内存和CPU的要求。其拥有很多实时嵌入式操作系统的功能,如任务的调度,任务间的同步和通信,内存管理,实时时钟管理,中断服务管理等。
Vfb模块,全称叫Virtual frame buffer device,它是一个虚拟的framebuffer驱动程序,实现了framebuffer设备驱动显示相关的函数逻辑,可以通过/dev/fb设备节点进行读写操作。
Netlink,是用以实现用户进程与内核进程通信的一种特殊的进程间通信(IPC),也是网络应用程序与内核通信的最常用的接口。
一种上述的基于多核处理器的图形库应用支持装置进行图像显示的方法,包括以下步骤:在ARM核心中,ARM核心支持图形应用程序输入待显示的图像数据,通过图形库将图形应用程序输入的图像数据绘制成图像,图像存放在Framebuffer设备中,内核态中的Vfb模块读取Framebuffer设备中的图像,通过Netlink模块将图像传递给用户态的核间通信应用程序,ARM核心的核间通信应用程序与Cortex核心的核间通信应用程序进行通讯,Cortex核心接收来自ARM核心的图像,通过SYS/BIOS系统创建task任务,提供驱动将图像传递给LCD控制器,LCD控制器控制LCD显示器显示图像。
一种上述的基于多核处理器的图形库应用支持装置的应用,其特征在于:在ADAS系统中,系统的交互图片由arm核心生成后通过Cortex核心进行显示,同时Cortex核心控制显示摄像头传递的图像到显示器上,从而提高了ADAS系统的整体性能,使得ADAS系统更为高效。
本发明的基于多核处理器的图形库应用支持装置,通过ARM核心进行业务逻辑处理和图形库支持,通过Cortex核心进行显示图像,不同的任务在两个处理器同时工作处理,比起传统方法中,所有任务都在一个CPU的核心上运行的方式更加高效,其很好的发挥了多核处理器多核心的优势,在嵌入式系统中,对于多核处理器,有多个CPU,多个操作系统,每个处理器的各自优点能否都发挥出来,直接影响到整体的性能,本发明的基于多核处理器的图形库应用支持装置进行图像显示时,能让多个核心同时工作,又不提高图形库应用的开发难度,在满足图形库支持的条件下,充分利用了各个核心的优点,提高了整体系统的性能。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。

Claims (6)

1.基于多核处理器的图形库应用支持装置,其特征在于,包括:
ARM核心,用于进行业务逻辑处理和图形库支持,
Cortex核心,用于显示图像;
所述ARM核心包括:
图形应用程序,所述ARM核心支持所述图形应用程序输入待显示的图像数据;
图形库,用于在用户态中根据所述图形应用程序输入的图像数据绘制图像;
Framebuffer设备,用于存放所述图形库绘制的图像;
Vfb模块,用于在内核中作为显卡驱动模型驱动所述Framebuffer设备;
Netlink模块,用于实现内核态和用户态之间的图像传递;
Netlink库,用于支持所述Netlink模块传递图像;
核间通信应用,所述Netlink模块将图像传递到用户态的核间通信应用,图像通过所述核间通信应用传递给Cortex核心;
所述Cortex核心包括:
核间通信应用,用于与所述ARM核心的核间通信应用进行通讯;
SYS/BIOS系统,用于创建task任务,提供驱动将所述核间通信应用传递的图像传递给LCD控制器进行显示。
2.根据权利要求1所述的基于多核处理器的图形库应用支持装置,其特征在于:所述Cortex核心为Cortex-M4核心。
3.根据权利要求1所述的基于多核处理器的图形库应用支持装置,其特征在于:所述基于多核处理器的图形库应用支持装置运行在linux操作系统下。
4.根据权利要求1所述的基于多核处理器的图形库应用支持装置,其特征在于:所述图形库为QT图形库。
5.一种权利要求1所述的基于多核处理器的图形库应用支持装置进行图像显示的方法,其特征在于,包括以下步骤:在ARM核心中,ARM核心支持所述图形应用程序输入待显示的图像数据,通过图形库将所述图形应用程序输入的图像数据绘制成图像,图像存放在Framebuffer设备中,内核态中的Vfb模块读取Framebuffer设备中的图像,通过Netlink模块将图像传递给用户态的核间通信应用程序,ARM核心的核间通信应用程序与Cortex核心的核间通信应用程序进行通讯,Cortex核心接收来自ARM核心的图像,通过SYS/BIOS系统创建task任务,提供驱动将图像传递给LCD控制器,LCD控制器控制LCD显示器显示图像。
6.一种权利要求1所述的基于多核处理器的图形库应用支持装置的应用,其特征在于:在ADAS系统中,系统的交互图片由arm核心生成后通过Cortex核心进行显示,同时Cortex核心控制显示摄像头传递的图像到显示器上。
CN201910334723.8A 2019-04-24 2019-04-24 基于多核处理器的图形库应用支持装置、方法及应用 Active CN110060198B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910334723.8A CN110060198B (zh) 2019-04-24 2019-04-24 基于多核处理器的图形库应用支持装置、方法及应用

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910334723.8A CN110060198B (zh) 2019-04-24 2019-04-24 基于多核处理器的图形库应用支持装置、方法及应用

Publications (2)

Publication Number Publication Date
CN110060198A CN110060198A (zh) 2019-07-26
CN110060198B true CN110060198B (zh) 2023-03-07

Family

ID=67320536

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910334723.8A Active CN110060198B (zh) 2019-04-24 2019-04-24 基于多核处理器的图形库应用支持装置、方法及应用

Country Status (1)

Country Link
CN (1) CN110060198B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103412619A (zh) * 2013-07-30 2013-11-27 中国科学院上海技术物理研究所 一种异构多核的红外图像处理系统及方法
CN104820657A (zh) * 2015-05-14 2015-08-05 西安电子科技大学 一种基于嵌入式异构多核处理器上的核间通信方法及并行编程模型
CN107241591A (zh) * 2017-06-30 2017-10-10 中国航空工业集团公司雷华电子技术研究所 一种机载雷达嵌入式3d视频图像显示方法及系统
CN109101286A (zh) * 2014-07-08 2018-12-28 北京航空航天大学 一种基于多核处理器架构的机器人混合系统应用框架

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103412619A (zh) * 2013-07-30 2013-11-27 中国科学院上海技术物理研究所 一种异构多核的红外图像处理系统及方法
CN109101286A (zh) * 2014-07-08 2018-12-28 北京航空航天大学 一种基于多核处理器架构的机器人混合系统应用框架
CN104820657A (zh) * 2015-05-14 2015-08-05 西安电子科技大学 一种基于嵌入式异构多核处理器上的核间通信方法及并行编程模型
CN107241591A (zh) * 2017-06-30 2017-10-10 中国航空工业集团公司雷华电子技术研究所 一种机载雷达嵌入式3d视频图像显示方法及系统

Also Published As

Publication number Publication date
CN110060198A (zh) 2019-07-26

Similar Documents

Publication Publication Date Title
KR101900172B1 (ko) 가상화 환경에서의 지능형 gpu 스케줄링
US8350864B2 (en) Serializing command streams for graphics processors
US8310491B2 (en) Asynchronous notifications for concurrent graphics operations
RU2595909C2 (ru) Способ и аппарат для отображения образа прикладного объекта
US20160350245A1 (en) Workload batch submission mechanism for graphics processing unit
US20070101325A1 (en) System and method for utilizing a remote memory to perform an interface save/restore procedure
US10970129B2 (en) Intelligent GPU scheduling in a virtualization environment
US8085280B2 (en) Asymmetric two-pass graphics scaling
US20170069054A1 (en) Facilitating efficient scheduling of graphics workloads at computing devices
US9384583B2 (en) Network distributed physics computations
CN110352403B (zh) 图形处理器寄存器重命名机制
US10089264B2 (en) Callback interrupt handling for multi-threaded applications in computing environments
CN114138423B (zh) 基于国产gpu显卡的虚拟化构建系统及方法
US10410311B2 (en) Method and apparatus for efficient submission of workload to a high performance graphics sub-system
US7308565B2 (en) Saving/restoring task state data from/to device controller host interface upon command from host processor to handle task interruptions
CN105701037B (zh) 车载娱乐系统中weston与DRM同时访问显示控制器的系统及方法
US20140237017A1 (en) Extending distributed computing systems to legacy programs
CN114968152A (zh) 减少virtio-gpu额外性能损耗的方法
EP2677427B1 (en) Techniques for directly accessing a graphical processing unit memory by an application
CN110060198B (zh) 基于多核处理器的图形库应用支持装置、方法及应用
CN111598767B (zh) 基于多核处理器的3d图形加速的方法、系统以及介质
WO2019079940A1 (zh) 图形处理方法及相关装置和设备
CN117151966A (zh) 一种分布式游戏引擎
CN111598767A (zh) 基于多核处理器的3d图形加速的方法、系统以及介质

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