CN105528196A - 多核流水线工作方式的海图数据处理与显示系统及方法 - Google Patents
多核流水线工作方式的海图数据处理与显示系统及方法 Download PDFInfo
- Publication number
- CN105528196A CN105528196A CN201510993183.6A CN201510993183A CN105528196A CN 105528196 A CN105528196 A CN 105528196A CN 201510993183 A CN201510993183 A CN 201510993183A CN 105528196 A CN105528196 A CN 105528196A
- Authority
- CN
- China
- Prior art keywords
- chart
- task
- sea chart
- sea
- reading
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 135
- 238000012856 packing Methods 0.000 claims description 14
- 238000009877 rendering Methods 0.000 claims description 14
- 230000003213 activating effect Effects 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000001737 promoting effect Effects 0.000 description 3
- 239000002699 waste material Substances 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 230000001351 cycling effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
- G06F9/3889—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute
- G06F9/3891—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute organised in groups of units sharing resources, e.g. clusters
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Image Processing (AREA)
Abstract
本发明涉及一种多核流水线工作方式的海图数据处理与显示系统及方法,该系统包括初始化模块、读取海图数据任务模块、以及处理海图逻辑任务模块;所述初始化模块与所述读取海图数据任务模块和所述处理海图逻辑任务模块连接,用于为所述读取海图数据任务模块绑定内核A,为所述处理海图逻辑任务模块绑定内核B;所述读取海图数据任务模块用于通过绑定的所述内核A读取海图数据;以及所述处理海图逻辑任务模块用于通过绑定的所述内核B将所述内核A读取的海图数据进行处理画图予以显示。采用内核A和内核B并行运行,本发明在节约内存空间的情况下大大的提高了显示速度。
Description
技术领域
本发明涉及海图数据与显示的处理系统,特指一种多核流水线工作方式的海图数据处理与显示系统及方法。
背景技术
现有海图数据处理与显示大都使用一个CPU内核来处理,这样使得海图数据处理与显示的速度较慢,为加快数据处理与显示的速度,现有做法中还有使用比较大的中间数据进行海图数据的处理与电子海图的显示,这样的的做法可以加快海图的显示速度,但是使用了过大的内存或数据存储空间,需要较高的硬件配置。
发明内容
本发明的目的在于克服现有技术的缺陷,提供一种多核流水线工作方式的海图数据处理与显示系统及方法,解决现有海图数据处理与显示中存在的显示速度慢和占用过大内存的问题。
实现上述目的的技术方案是:
本发明一种多核流水线工作方式的海图数据处理与显示方法,包括:
将多核中的内核A与读取海图数据任务进行绑定,将多核中的内核B与处理画图逻辑任务进行绑定;
通过所述内核A读取海图数据并按照读取的顺序存入至缓存数据结构中,同时通过所述内核B按照存入顺序读取所述缓存数据结构中的海图数据进行画图处理及显示,以实现与所述内核A协同完成海图的绘制命令。
采用内核A和内核B并行运行,使得数据的读取和海图的显示同时进行,与现有的单核工作方式或者消耗内存技术来比,本发明在节约内存空间的情况下大大的提高了显示速度。本发明能够有效防止多核处理器上出现处理器空闲浪费的现象,有效的利用空闲资源来达到提升显示速度的目的。
本发明多核流水线工作方式的海图数据处理与显示方法的进一步改进在于,通过所述内核A读取海图数据,包括:
激活所述内核A以令所述内核A根据显示参数进行读取海图数据任务;
将所读取的海图数据转化为海图元素并按照转化的顺序将海图元素存入到缓存数据结构中,直至完成读取海图数据任务;
所述内核A进入待命状态等待激活。
本发明多核流水线工作方式的海图数据处理与显示方法的进一步改进在于,同时通过所述内核B按照存入顺序读取所述缓存数据结构中的海图数据进行画图处理及显示,包括:
激活所述内核B以令所述内核B进行画图任务;
所述内核B持续扫描所述缓存数据结构中是否存有海图元素,若存在海图元素,则按照所述海图元素存入的顺序进行读取并作画图处理;若不存在海图元素,则查看所述内核A是否完成读取海图数据任务,若所述内核A完成读取海图数据任务,则进行刷新显示经画图处理所形成的海图图像;若所述内核A未完成读取海图数据任务,则继续扫描所述缓存数据结构;
所述内核B进行刷新显示海图图像后进入待命状态等待激活。
本发明多核流水线工作方式的海图数据处理与显示方法的进一步改进在于,所述内核B按照所述海图元素存入顺序进行读取并作画图处理时,将所读取的所述海图元素从所述缓存数据结构中删除。
本发明多核流水线工作方式的海图数据处理与显示方法的进一步改进在于,还包括:
将所述缓存数据结构划分为队列缓存区、读取任务完成标识位、以及当前海图元素数量标识位;
通过所述内核A向所述队列缓存区内按照顺序写入海图元素,同时通过所述内核B从所述队列缓存区内按照顺序读取海图元素;
在所述内核A向所述队列缓存区内写入海图元素时,每存入一个海图元素即将当前的当前海图元素数量标识位加1;
在所述内核B从所述队列缓存区内读取海图元素时,每读取一个海图元素即将当前的当前海图元素数量标识位减1;
所述内核A在完成读取海图数据任务时,向所述读取任务完成标识位写入已完成以供所述内核B读取。
本发明还提供了一种多核流水线工作方式的海图数据处理与显示系统,包括初始化模块、读取海图数据任务模块、以及处理海图逻辑任务模块;
所述初始化模块与所述读取海图数据任务模块和所述处理海图逻辑任务模块连接,用于为所述读取海图数据任务模块绑定多核中的内核A,为所述处理海图逻辑任务模块绑定多核中的内核B;
所述读取海图数据任务模块用于通过绑定的所述内核A读取海图数据并将所读取的海图数据按照读取顺序存入至缓存数据结构中;以及
所述处理海图逻辑任务模块用于通过绑定的所述内核B按照存入顺序从所述缓存数据结构中读取海图数据进行画图处理及显示,以实现与所述内核A协同完成海图的绘制命令。
本发明多核流水线工作方式的海图数据处理与显示系统的进一步改进在于,所述缓存数据结构与所述读取海图数据任务模块连接,所述读取海图数据任务模块包括读取子模块和转化子模块;
所述读取子模块用于激活所述内核A以令所述内核A根据显示参数进行读取海图数据任务;
所述转换子模块与所述读取子模块连接,所述转换子模块用于通过所述内核A将所读取的海图数据转化为海图元素并将所述海图元素按照转化的顺序存入到所述缓存数据结构中,直至完成读取海图数据任务并使所述内核A进入待命状态等待激活。
本发明多核流水线工作方式的海图数据处理与显示系统的进一步改进在于,所述处理海图逻辑任务模块与所述缓存数据结构连接,用于激活所述内核B以令所述内核B进行画图任务,所述内核B持续扫描所述缓存数据结构中是否存有海图元素,若存在海图元素,则按照所述海图元素存入的顺序进行读取并作画图处理;若不存在海图元素,则查看所述内核A是否完成读取海图数据任务,若所述内核A完成读取海图数据任务,则进行刷新显示经画图处理形成的海图图像并进入待命状态等待激活;若所述内核A未完成读取海图数据任务,则继续扫描所述缓存数据结构。
本发明多核流水线工作方式的海图数据处理与显示系统的进一步改进在于,所述处理海图逻辑任务模块通过所述内核B读取所述缓存数据结构中的海图元素后将读取的海图元素从所述缓存数据结构中删除。
本发明多核流水线工作方式的海图数据处理与显示系统的进一步改进在于,所述缓存数据结构内划分为队列缓存区、读取任务完成标识位、以及当前海图元素数量标识位,所述队列缓存区用于按照顺序存储海图元素所述读取任务完成标识位用于标识读取海图数据任务是否完成;所述当前海图元素数量标识位用于显示当前队列缓存区内的海图元素的数量。
附图说明
图1为本发明多核流水线工作方式的海图数据处理与显示系统的系统图。
图2为本发明多核流水线工作方式的海图数据处理与显示系统中缓存数据结构缓存区的数据结构示意图。
图3为本发明多核流水线工作方式的海图数据处理与显示方法中内核A和内核B协同完成画图的流程图。
图4为本发明多核流水线工作方式的海图数据处理与显示系统及方法中并行流水线方式协作处理的职能分配图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明。
本发明提供了一种本发明多核流水线工作方式的海图数据处理与显示系统及方法,主要应用于船舶航行时提供电子海图的显示,能够在使用与源数据大小相同空间的情况下,利用多核CPU并行流水线方式处理数据和显示来提升海图的显示速度。本发明的主要目的是提升电子海图的显示速度,将现有的资源有效的利用起来,防止多核处理器上出现处理器空闲浪费的现象,有效利用空闲资源来达到提升显示速度的目的。本发明通过将任务与多核CPU中的内核进行对应的绑定,使得读取海图数据和显示海图数据能够同时进行,两者在占用内存较小的情况下保持并行工作,较好的提升了显示速度。下面结合附图对本发明多核流水线工作方式的海图数据处理与显示系统及方法进行说明。
参阅图1,显示了本发明多核流水线工作方式的海图数据处理与显示系统的系统图。下面结合图1,对本发明多核流水线工作方式的海图数据处理与显示系统进行说明。
如图1所示,本发明多核流水线工作方式的海图数据处理与显示系统包括初始化模块11、读取海图数据任务模块12、处理海图逻辑任务模块13、以及缓存数据结构14,本发明的处理海图数据与海图显示的系统用于完成海图的绘制命令,其中的初始化模块11与读取海图数据任务模块12和处理海图逻辑任务模块13连接,初始化模块11用于为读取海图数据任务模块12绑定多核中的内核A,为处理海图逻辑任务模块绑定多核中的内核B;读取海图数据任务模块12用于通过绑定的内核A读取海图数据并将读取的海图数据存入至缓存数据结构14中,处理海图逻辑任务模块13用于通过绑定的内核B按照存入顺序从缓存数据结构14中读取海图数据画图处理及显示。本发明的处理海图数据与海图显示的系统将海图绘制命令分成两个独立的任务,即读取海图数据任务和处理海图逻辑任务,并为两个独立的任务分别对应指定单独的内核(处理器),使得两个独立的任务能够同时进行,以提升海图的显示速度。
读取海图数据任务模块12与缓存数据结构缓存区14连接,在读取海图数据任务模块12中包括有读取子模块和转化子模块,读取子模块与转化子模块连接,读取子模块用于激活内核A以令内核A根据显示参数进行读取海图数据任务,该读取子模块持续读取海图数据,该读取子模块通过形成读取指令,让内核A根据读取指令来执行读取海图数据,转化子模块用于将读取子模块读取的海图数据转化为海图元素,该转化子模块通过形成转化指令,让内核A根据转化指令将内核A读取的海图数据转化为海图元素,在转化为海图元素后内核A按照转化的顺序将海图元素存入到缓存数据结构14内,直至完成读取海图数据任务,转化子模块使内核A进入待命状态等待激活。
处理海图逻辑任务模块13与缓存数据结构14连接,处理海图逻辑任务模块13用于激活内核B以令内核B进行画图任务,通过内核B持续扫描缓存数据结构14中是否存有海图元素,若发现存在海图元素,处理海图逻辑任务模块13通过内核B按照海图元素存入的顺序进行读取并将读取的海图元素作画图处理以形成海图图像。处理海图逻辑任务模块13通过内核B读取缓存数据结构14内的海图元素后将读取的海图元素从缓存数据结构14中删除,以确保海图元素不会占用过大的内存。内核B在扫描缓存数据结构14中是否存有海图元素时,若发现不存在海图元素,则查看内核A是否完成读取海图数据任务,若内核A完成读取海图数据任务,则进行刷新显示经画图处理所形成的海图图像并进入待命状态等待激活,若内核A未完成读取海图数据任务,则继续扫描缓存数据结构14。
如图2所示,缓存数据结构14内划分为读取任务完成标识位141、当前海图元素数量标识位142、以及队列缓存区143,读取任务完成标识位141用于标识读取海图数据任务是否完成,也就是指海图的绘制命令是否完成;当前海图元素数量标识位142用于显示队列缓存区143内当前的海图元素的数量;队列缓存区143用于按照顺序存储海图元素。内核A21和内核B22分别与读取任务完成标识位141、当前海图元素数量标识位142、以及队列缓存区143连接,内核A21对读取任务完成标识位141、当前海图元素数量标识位142、以及队列缓存区143执行写入操作,内核B22对读取任务完成标识位141、当前海图元素数量标识位142、以及队列缓存区143执行读取操作,内核B22还对当前海图元素数量标识位142执行写入操作。具体地,内核A21控制读取任务完成标识位141,当本次画图的读取数据任务完成时,由内核A21将读取任务完成标识位141标识为已完成,读取数据任务未完成时,内核A21将读取任务完成标识位141标识为未完成。内核A21将读取的海图数据转化为海图元素,并将海图元素按照转化的顺序存入到队列缓存区143内,每存入一个海图元素,内核A21将当前海图元素数量标识位142的当前数值加1。内核B22从队列缓存区143内按照海图元素存入的顺序进行读取,将读取的海图元素进行画图处理并删除已读取的海图元素,在内核B22删除一条海图元素后,内核B22将当前海图元素数量标识位142的当前数据减1。当队列缓存区143内没有海图元素,也就是当前海图元素数量标识位142的数值为0时,内核B22查看读取任务完成标识位141的标识是否为已完成,若是,则表明本次画图任务完成;若否,则表明画图任务未完成,内核B22继续扫描队列缓存区143内是否有海图元素。
缓存数据结构14内的队列缓存区143用于临时存储海图元素,在队列缓存区143内按照顺序存有多个海图元素,多个海图元素即形成了海图元素队列。该队列缓存区143采用先进先出的原则,可通过如下方法实现先进先出,内核A将海图元素从队列的尾部进行数据的写入,内核B从队列的头部读取海图元素,当内核B读取了头部的海图元素后,将队列头指向头部挨着的后一个海图元素,依序循环,内核A不断地将海图元素存入到队列缓存区143,内核B也持续地从队列缓存区143提取海图元素进行画图处理,实现了内核A和内核B在互相不影响的情况下完成画图任务,节约了两个内核之间的交互过程,达到协同工作的效果,在提取海图元素后直接从队列缓存区内删除,保证内存中保存较少的海图元素,不会占用较大的内存空间。
初始化模块11的初始化过程为:读取操作系统中所含有的核心数,也就是多核中包含内核的数量,以核心数为n为例进行说明,在获取到核心数后,初始化模块11设置本进程所拥有的CPU资源,将内核至内核n-1分配给本系统,将内核按照顺序与对应的任务进行绑定,将内核A与读取海图数据任务进行绑定,将内核B与处理描画任务进行绑定,将内核C至内核n-1与其他的业务进行一一绑定,各个任务初始化完成后进行待命,等待激活指令以进行运行。初始化模块11预留了内核n,将内核n留给操作系统,让内核n用于执行操作系统的任务。较佳地,本发明处理海图数据与海图显示的系统装设于定制操作系统中,该定制操作系统默认支持本发明处理海图数据与海图显示的系统,而不含有其他不必要的软件。多核的核心数量至少为两个,当核心数为两个时,将两个核心分别分配给读取海图数据任务和处理描画任务。较佳地,多核的核心数量为四个,核心A分配给读取海图数据任务,核心B分配给处理描画任务,核心C分别给处理海图数据与海图显示的系统以执行任务,核心D预留给操作系统以执行操作系统的任务。保留一个内核不占用,防止操作系统在没有资源的情况下干扰到海图数据的读取和海图显示的资源。
下面对本发明多核流水线工作方式的海图数据处理与显示系统的提升显示速度的效果进行说明。
本发明的系统提速效果主要在于,让数据的读取和海图的显示同时进行,而不是以现有的单核工作方式或消耗内存技术来显示海图。而且,在节约内存空间的情况下以现有的中等频率的多核CPU来达到速度的提升。
下面使用一般的推算来描述该系统带来的速度提升,其中假设读取海图数据中的一个显示要素所需要的时间为:ReadTime(n),其中n为读取的要素编号,比如第一次读取的要素的时间为ReadTime(1)。假设显示一个要素的时间为DisplayTime(n),其中n为显示的要素编号,与读取的要素编号一致。
使用串行方式运行所花费的时间计算如下:
AllTime=ReadTime(1)+DisplayTime(1)+ReadTime(2)+DisplayTime(2)+...+ReadTime(n)+Display(n);
使用并行方式所花费的时间如下:
AllTime=ReadTime(1)+(DisplayTime(1)ORReadTime(2))+(DisplayTime(2)ORReadTime(3))+...(DisplayTime(n-1)ORReadTime(n))+DisplayTime(n);
上述公式中(DisplayTime(n-1)ORReadTime(n))所代表的意思为两个时间中取大的时间。
从上述公式中可以看出刨除第一次读取和最后一次显示的时间两者持平外,在并行方式的中间的每一次操作会节省出读取的时间或者显示的时间。这是流水线工作方式中带来的提速。由于每一次读取和显示的具体时间因为硬件的不稳定造成没有准确的时间,所以以变量的方式进行描述。
在内存的使用方面,根据每一次的读取或显示的时间的差异,内存中至多保存2-3个海图元素,而不是传统的海图显示每一次将要显示的元素全部读取到内存中,然后进行显示。
如图4所示,下面对本发明多核流水线工作方式的海图数据处理与显示系统及方法中并行流水线方式协作处理的职能分配的过程及原理进行说明。
在操作系统31上装设本发明的海图数据处理与显示系统32,为海图数据处理与显示系统32绑定内核A21、内核B22、以及内核C23,将内核n24预留给操作系统31。由海图数据处理与显示系统32下达画图命令至内核A21和内核B22,通过画图命令同时激活内核A21和内核B22,内核A21被激活后进行读取海图数据任务,内核B22被激活后进行显示海图任务。内核A21从系统电子航海图33中读取海图数据并转化为海图元素,将海图元素按照顺序存入到缓存数据结构14内的队列缓存区143。内核B22从队列缓存区143内读取海图数据进行画图处理形成最终要显示的海图图像34,当内核A21完成读取海图数据任务时,将读取任务完成标识位141标识为已完成,内核B22将队列缓存区143内所有的海图元素读取并做画图处理后,读取任务完成标识位141标识,发现任务完成标识位141为已完成,内核B22进行刷新显示将海图图像34显示于显示屏35。
内核A和内核B分别执行较少的机器指令来达到协同作业的目的,不浪费CPU资源,使每个内核作简单的计算处理,提升处理速度,同时还节约了内存资源。
下面对本发明多核流水线工作方式的海图数据处理与显示方法进行说明。
本发明多核流水线工作方式的海图数据处理与显示方法包括:将多核中的内核A与读取海图数据任务进行绑定,将多核中的内核B与处理画图逻辑任务进行绑定;通过内核A读取海图数据并按照读取的顺序存入缓存数据结构中,同时通过内核B按照存入顺序读取所述缓存数据结构中的海图数据进行画图处理及显示,以实现与内核A协同完成海图的绘制命令。
本发明的方法通过内核A持续进行海图数据的读取,通过内核B将内核A读取的海图数据进行显示,实现了文件读取的同时,海图能够进行显示操作,内核A和内核B并行工作,提升了海图的显示速度,且占用的内存较小。
本发明的方法中通过内核A读取海图数据,包括:激活内核A以令内核A根据显示参数进行读取海图数据任务;内核A将所读取的海图数据转化为海图元素;内核A按照转化的顺序将转化的海图元素存入到缓存数据结构中。通过缓存数据结构将海图元素进行临时存储,该缓存数据结构按照先进先出的原则进行写入和读取,直至完成读取海图数据任务,该内核A进入待命状态等待激活。
本发明的方法中同时通过内核B按照存入顺序读取缓存数据结构中的海图数据进行画图处理及显示,包括:激活内核B以令内核B进行画图任务;内核B持续扫描缓存数据结构中是否存有海图元素,若存在海图元素,则按照海图元素存入的顺序进行读取并作画图处理以形成海图图像;若不存在海图元素,则查看内核A是否完成读取海图数据任务,若内核A完成读取海图数据任务,则进行刷新显示经画图处理形成的海图图像;若内核A未完成读取海图数据任务,则继续扫描缓冲数据结构;内核B进行刷新显示海图图像后进入待命状态等待激活。内核B读取缓存数据结构中的海图元素后将读取的海图元素从缓存数据结构中删除,保证内存中保存的海图元素较少。
还包括:将缓存数据结构划分为队列缓存区、读取任务完成标识位、以及当前海图元素数量标识位;通过内核A向队列缓存区内按照顺序写入海图元素,同时通过内核B从队列缓存区内按照顺序读取海图元素;在内核A向队列缓存区内写入海图元素时,每存入一个海图元素即将当前海图元素数量标识位加1;在内核B从队列缓存区内读取海图元素时,每读取一个海图元素即将当前海图元素数量标识位减1;内核A在完成读取海图数据任务时,向读取任务完成标识位写入已完成以供内核B读取。其中:内核A控制读取任务完成标识位,当读取海图数据任务完成时,将读取任务完成标识位置为已完成,当读取海图数据任务未完成时,将读取任务完成标识位置为未完成。在执行一次画图任务时,内核A持续地从文件中读取海图数据并将海图数据转化为海图元素存入到队列缓存区,内核B不断地扫描队列缓存区内是否有海图元素,若有则读取海图元素进行画图处理并将读取的海图元素删除,当内核A将本次画图任务的海图数据读取完成后,内核A将读取任务完成标识位置为已完成,此时,内核B扫描到队列缓存区内没有海图元素,当前海图元素数量标识位为0,内核B查看读取任务完成标识位,发现该读取任务完成标识位为已完成,则证明本次画图任务结束,内核B进行刷新显示经画图处理形成的海图图像,而后就进入了重新待命的状态。本发明的方法实现了内核A和内核B协同工作,且节约了内核A和内核B交互过程,占用较小的内存资源,大大的提升了海图的显示速度。
如图3所示,下面一次绘制命令的处理过程,来说明本发明多核流水线工作方式的海图数据处理与显示方法。
执行步骤S101,使用者操作。
执行步骤S102,重画电子海图。
执行步骤S103,重置Cache(缓存数据结构)。使用者通过操作下达了一次绘制命令,通过该绘制命令激活读取数据任务和画图任务。接着执行步骤S104和步骤S111。
执行步骤S104,激活读取数据任务,该读取数据任务与内核A绑定,通过内核A进行执行处理。接着执行步骤S105。
执行步骤S105,根据当前显示参数选数据,根据绘制命令中的显示参数选取海图文件进行读取。接着执行步骤S106。
执行步骤S106,读取下一个元素,第一次读取第一个元素,读取的元素为海图数据中的海图元素,由内核A执行元素的读取。接着执行步骤S107。
执行步骤S107,处理数据后压入Cache中,内核A将读取的元素转化为海图元素后按照顺序压入到Cache中。接着执行步骤S108。
执行步骤S108,是否全部读取完成,判断本次绘制命令是否全部读取完成,若是则执行步骤S109,若否则执行步骤S106。
执行步骤S109,设置Cache中的完成标志为完成。表示绘制命令已完成。接着执行步骤S110。
执行步骤S110,待命等待激活,读取数据任务进入到待命状态。
执行步骤S111,激活画图任务,该画图任务与内核B绑定,通过内核B进行执行处理。接着执行步骤S112。
执行步骤S112,查看Cache。接着执行步骤S113。
执行步骤S113,是否有数据,查看Cache中是否有海图元素,若有则执行步骤S114,若没有则执行步骤S115。
执行步骤S114,获取数据并作画图处理,形成海图图像。接着执行步骤S112。
执行步骤S115,读取标识是否为完成,若是则执行步骤S116,若否则执行步骤S112。
执行步骤S116,刷新显示,将经画图处理形成的海图图像进行显示,接着执行步骤S117。
执行步骤S117,待命等待激活,画图任务进入到待命状态。
本发明中的海图数据为与业务相关的SENC(系统电子航海图)数据,是根据源数据转化后的数据。
以上结合附图实施例对本发明进行了详细说明,本领域中普通技术人员可根据上述说明对本发明做出种种变化例。因而,实施例中的某些细节不应构成对本发明的限定,本发明将以所附权利要求书界定的范围作为本发明的保护范围。
Claims (10)
1.一种多核流水线工作方式的海图数据处理与显示方法,其特征在于,包括:
将多核中的内核A与读取海图数据任务进行绑定,将多核中的内核B与处理画图逻辑任务进行绑定;
通过所述内核A读取海图数据并按照读取的顺序存入至缓存数据结构中,同时通过所述内核B按照存入顺序读取所述缓存数据结构中的海图数据进行画图处理及显示,以实现与所述内核A协同完成海图的绘制命令。
2.如权利要求1所述的多核流水线工作方式的海图数据处理与显示方法,其特征在于,通过所述内核A读取海图数据,包括:
激活所述内核A以令所述内核A根据显示参数进行读取海图数据任务;
将所读取的海图数据转化为海图元素并按照转化的顺序将海图元素存入到缓存数据结构中,直至完成读取海图数据任务;
所述内核A进入待命状态等待激活。
3.如权利要求2所述的多核流水线工作方式的海图数据处理与显示方法,其特征在于,同时通过所述内核B按照存入顺序读取所述缓存数据结构中的海图数据进行画图处理及显示,包括:
激活所述内核B以令所述内核B进行画图任务;
所述内核B持续扫描所述缓存数据结构中是否存有海图元素,若存在海图元素,则按照所述海图元素存入的顺序进行读取并作画图处理;若不存在海图元素,则查看所述内核A是否完成读取海图数据任务,若所述内核A完成读取海图数据任务,则进行刷新显示经画图处理所形成的海图图像;若所述内核A未完成读取海图数据任务,则继续扫描所述缓存数据结构;
所述内核B进行刷新显示海图图像后进入待命状态等待激活。
4.如权利要求3所述的多核流水线工作方式的海图数据处理与显示方法,其特征在于,所述内核B按照所述海图元素存入的顺序进行读取并作画图处理时,将所读取的海图元素从所述缓存数据结构中删除。
5.如权利要求3或4所述的多核流水线工作方式的海图数据处理与显示方法,其特征在于,还包括:
将所述缓存数据结构划分为队列缓存区、读取任务完成标识位、以及当前海图元素数量标识位;
通过所述内核A向所述队列缓存区内按照顺序写入海图元素,同时通过所述内核B从所述队列缓存区内按照顺序读取海图元素;
在所述内核A向所述队列缓存区内写入海图元素时,每存入一个海图元素即将当前海图元素数量标识位加1;
在所述内核B从所述队列缓存区内读取海图元素时,每读取一个海图元素即将当前海图元素数量标识位减1;
所述内核A在完成读取海图数据任务时,向所述读取任务完成标识位写入已完成以供所述内核B读取。
6.一种多核流水线工作方式的海图数据处理与显示系统,其特征在于,包括初始化模块、读取海图数据任务模块、以及处理海图逻辑任务模块;
所述初始化模块与所述读取海图数据任务模块和所述处理海图逻辑任务模块连接,用于为所述读取海图数据任务模块绑定多核中的内核A,为所述处理海图逻辑任务模块绑定多核中的内核B;
所述读取海图数据任务模块用于通过绑定的所述内核A读取海图数据并将所读取的海图数据按照读取顺序存入至缓存数据结构中;以及
所述处理海图逻辑任务模块用于通过绑定的所述内核B按照存入顺序从所述缓存数据结构中读取海图数据进行处理画图及显示,以实现与所述内核A协同完成海图的绘制命令。
7.如权利要求6所述的多核流水线工作方式的海图数据处理与显示系统,其特征在于,所述缓存数据结构与所述读取海图数据任务模块连接,所述读取海图数据任务模块包括读取子模块和转化子模块;
所述读取子模块用于激活所述内核A以令所述内核A根据显示参数进行读取海图数据任务;
所述转换子模块与所述读取子模块连接,所述转换子模块用于通过所述内核A将所读取的海图数据转化为海图元素并将所述海图元素按照转化的顺序存入到所述缓存数据结构中,直至完成读取海图数据任务并使所述内核A进入待命状态等待激活。
8.如权利要求7所述的多核流水线工作方式的海图数据处理与显示系统,其特征在于,所述处理海图逻辑任务模块与所述缓存数据结构连接,用于激活所述内核B以令所述内核B进行画图任务,所述内核B持续扫描所述缓存数据结构中是否存有海图元素,若存在海图元素,则按照所述海图元素存入的顺序进行读取并作画图处理;若不存在海图元素,则查看所述内核A是否完成读取海图数据任务,若所述内核A完成读取海图数据任务,则进行刷新显示经画图处理形成的海图图像并进入待命状态等待激活;若所述内核A未完成读取海图数据任务,则继续扫描所述缓存数据结构。
9.如权利要求8所述的多核流水线工作方式的海图数据处理与显示系统,其特征在于,所述处理海图逻辑任务模块通过所述内核B读取所述缓存数据结构中的海图元素后将读取的海图元素从所述缓存数据结构缓存区中删除。
10.如权利要求8或9所述的多核流水线工作方式的海图数据处理与显示系统,其特征在于,所述缓存数据结构内划分为队列缓存区、读取任务完成标识位、以及当前海图元素数量标识位,所述队列缓存区用于按照顺序存储海图元素;所述读取任务完成标识位用于标识读取海图数据任务是否完成;所述当前海图元素数量标识位用于显示当前队列缓存区内的海图元素的数量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510993183.6A CN105528196A (zh) | 2015-12-25 | 2015-12-25 | 多核流水线工作方式的海图数据处理与显示系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510993183.6A CN105528196A (zh) | 2015-12-25 | 2015-12-25 | 多核流水线工作方式的海图数据处理与显示系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105528196A true CN105528196A (zh) | 2016-04-27 |
Family
ID=55770446
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510993183.6A Pending CN105528196A (zh) | 2015-12-25 | 2015-12-25 | 多核流水线工作方式的海图数据处理与显示系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105528196A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110457123A (zh) * | 2018-09-13 | 2019-11-15 | 腾讯科技(深圳)有限公司 | 一种区块处理任务的控制方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101650820A (zh) * | 2009-09-24 | 2010-02-17 | 浙江大学 | 基于多核架构的大图像实时浏览方法 |
CN102446209A (zh) * | 2011-10-18 | 2012-05-09 | 北京航空航天大学 | 一种海量时域数据读取与图形显示的方法 |
US20130346778A1 (en) * | 2012-06-20 | 2013-12-26 | Douglas D. Boom | Controlling An Asymmetrical Processor |
CN104849698A (zh) * | 2015-05-21 | 2015-08-19 | 中国人民解放军海军工程大学 | 一种基于异构多核系统的雷达信号并行处理方法及系统 |
-
2015
- 2015-12-25 CN CN201510993183.6A patent/CN105528196A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101650820A (zh) * | 2009-09-24 | 2010-02-17 | 浙江大学 | 基于多核架构的大图像实时浏览方法 |
CN102446209A (zh) * | 2011-10-18 | 2012-05-09 | 北京航空航天大学 | 一种海量时域数据读取与图形显示的方法 |
US20130346778A1 (en) * | 2012-06-20 | 2013-12-26 | Douglas D. Boom | Controlling An Asymmetrical Processor |
CN104849698A (zh) * | 2015-05-21 | 2015-08-19 | 中国人民解放军海军工程大学 | 一种基于异构多核系统的雷达信号并行处理方法及系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110457123A (zh) * | 2018-09-13 | 2019-11-15 | 腾讯科技(深圳)有限公司 | 一种区块处理任务的控制方法和装置 |
CN110457123B (zh) * | 2018-09-13 | 2021-06-15 | 腾讯科技(深圳)有限公司 | 一种区块处理任务的控制方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106991011B (zh) | 基于cpu多线程与gpu多粒度并行及协同优化的方法 | |
TWI423162B (zh) | 在繪圖處理單元中處理資料的無死結管線化方法與處理器群組 | |
KR101952983B1 (ko) | 콘텐트의 타일-기반 렌더링을 위한 방법 및 콘텐트를 렌더링하기 위한 시스템 | |
US10157593B2 (en) | Cross-platform rendering engine | |
US8994750B2 (en) | Cell-based composited windowing system | |
US7805589B2 (en) | Relative address generation | |
TWI310527B (en) | Method for processing vertex, triangle, and pixel graphics data packets | |
CN109542382B (zh) | 手写输入内容的显示方法、电子设备及计算机存储介质 | |
JP2011129109A (ja) | フレームバッファにおけるウィンドウ表示の形成 | |
CN104199684B (zh) | 浏览器冷启动的实现方法及装置 | |
TW200923832A (en) | Systems and methods for managing texture descriptors in a shared texture engine | |
US10719970B2 (en) | Low latency firmware command selection using a directed acyclic graph | |
CN104751494A (zh) | 一种OpenGL超大纹理的处理和绘制方法 | |
CN115237599B (zh) | 一种渲染任务处理方法和装置 | |
US20160171750A1 (en) | Techniques for enhancing multiple view performance in a three dimensional pipeline | |
US10795606B2 (en) | Buffer-based update of state data | |
KR20210070369A (ko) | 3d 이미지 처리 중의 데이터 읽기/쓰기 방법 및 시스템, 저장 매체 및 단말 | |
US10140680B2 (en) | Hardware-accelerated resource tiling | |
CN110471700A (zh) | 图形处理方法、装置、存储介质及电子设备 | |
CN105528196A (zh) | 多核流水线工作方式的海图数据处理与显示系统及方法 | |
CN103049324A (zh) | 一种基于优先级位图的AUTOSAR NvM读写任务的管理方法 | |
US9042652B2 (en) | Techniques for connected component labeling | |
CA2817307C (en) | Cell-based composited windowing system | |
US20130235057A1 (en) | Area-based dependency chain analysis of shaders and command stream | |
WO2023077880A1 (zh) | 基于便笺存储器来共享数据的方法和电子装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160427 |
|
RJ01 | Rejection of invention patent application after publication |