CN102799212A - 用于多核多处理器并行系统的全局时钟系统及其使用方法 - Google Patents
用于多核多处理器并行系统的全局时钟系统及其使用方法 Download PDFInfo
- Publication number
- CN102799212A CN102799212A CN2012102449340A CN201210244934A CN102799212A CN 102799212 A CN102799212 A CN 102799212A CN 2012102449340 A CN2012102449340 A CN 2012102449340A CN 201210244934 A CN201210244934 A CN 201210244934A CN 102799212 A CN102799212 A CN 102799212A
- Authority
- CN
- China
- Prior art keywords
- clock
- global
- processor
- global clock
- module
- 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.)
- Granted
Links
Images
Landscapes
- Multi Processors (AREA)
Abstract
本发明提供了一种用于多核多处理器并行系统的全局时钟系统及其使用方法。所述全局时钟系统包括全局时钟子系统,多核多处理器并行系统的每个处理器节点上均设有全局时钟子系统,该子系统包括全局时钟同步模块、多核时钟设置模块和全局时钟中断服务模块。所述使用方法依次包括:设置主从处理器节点;系统初始化;禁止时基寄存器;创建核时钟设置单元,并开始时钟设置任务;等待所有处理器核上的时钟设置任务完成;若为主处理器节点,则发送全局硬件中断,否则进入下一步;对全局硬件中断进行处理;对系统资源进行回收。本发明使得多核多处理器并行系统具有统一的时间,并且在保证时间精度和误差的同时,又不影响系统性能。
Description
技术领域
本发明涉及嵌入式领域,尤其是涉及一种用于多核多处理器并行系统的全局时钟系统及其使用方法。
背景技术
在嵌入式系统中,时钟管理是至关重要的,它不仅要维护系统内部的时间,而且还需要用来控制任务延时,防止任务在等待事件、消息、信号量等时的无限期等待。时钟管理主要是利用时钟滴答中断来完成的,一旦设定的时间片到达,就会引起时钟滴答中断,每响应一次时钟滴答中断,将累加系统时钟。
在多核多处理器并行系统中,每个处理器节点上都将运行一个嵌入式操作系统,甚至同一个处理器节点的不同处理器核都有可能运行一个嵌入式操作系统。这样,每个操作系统都将单独地通过时钟滴答中断来实现时钟管理。由于系统上电后,处理器节点的运行有先后,导致每个处理器节点上的系统时钟并不同步。同时,由于同一个处理器节点上的处理器核运行负载不均衡等原因,不同处理器核的系统时钟也不能保持同步。缺乏一个全局的时钟(即同步的时钟),会导致多个事件之间的顺序和因果关系的偏差。特别地,对于那些对系统时间同步要求高的应用,例如对并行应用程序的跟踪、时间统计、性能分析等,这种多个处理器节点乃至多个处理器核系统时钟的不同步将严重影响应用开发。
时钟滴答中断的频率决定了系统的时间分辨率,中断频率越高,系统对时间的分辨率越高,但同时,任务调度也越频繁,系统开销也越大,系统的性能将受到较大的影响。因此,嵌入式操作系统设置的时钟滴答中断发生间隔不会太频繁,以至于系统时钟精度并不高。当对并行应用进行跟踪、时间统计、性能分析时,在很短的时间间隔内将发生许多次的事件,那么,就需要精度更高的系统时钟来记录这些情况。
现有技术中关于多处理器节点之间时间的同步采用以下方式:
方式一,选择一个处理器节点作为主处理器节点,其它处理器节点为从处理器节点。执行系统时钟同步时,主处理器节点将当前自身的系统时钟打包成消息发送给从处理器节点;从处理器节点收到该消息后,将本地的系统时钟进行校正,以达到各个处理器节点之间的同步。这种方式的缺点是,发送消息具有一定的延迟。尤其当系统规模较大时,从主处理器节点达到最远的从处理器节点所耗费的时间将更长,这样,校正后的系统时钟也不十分精确。因此,对于对时间同步要求高的应用,这种方式并不适合。
方式二,利用一个外部定时器对各个处理器节点周期性地同时发出时钟滴答中断,每个处理器节点通过对该定时器中断进行累加以达到各个处理器节点之间的时钟同步。这种方式的缺点是:首先,并不是所有的并行系统都具有这样的外部定时器。其次,即使存在这样的外部定时器,需要每个处理器节点都以一定的频率不断地响应该中断,从而增加了各处理器节点的开销,较大地影响了系统性能。并且,中断频率的设置不合适,也将极大地影响系统时间精度。
因此,针对多核多处理器并行系统,有必要设计并实现一个精度高,同时又不影响系统性能的全局时钟。
发明内容
本发明的目的是针对现有的多核多处理器并行系统中时间同步精度不够、存在误差、以及对系统性能有影响等缺陷,提出的一种用于多核多处理器并行系统的全局时钟系统及其使用方法。本发明可以有效地实现多核多处理器并行系统的时钟同步(具有统一的时间),并且在保证时间精度和误差的同时,不需要每个处理器核周期性地响应时钟滴答中断,从而降低该中断对系统性能的影响。
本发明采用的技术方案如下:多核多处理器并行系统包括至少一个处理器节点,每个处理器节点包括至少一个处理器核,处理器节点的处理器核上设有时基寄存器,至少一个处理器节点能发送全局硬件中断。用于多核多处理器并行系统的全局时钟系统包括全局时钟子系统,多核多处理器并行系统的每个处理器节点上均设有全局时钟子系统,该子系统包括全局时钟同步模块、多核时钟设置模块和全局时钟中断服务模块。
全局时钟同步模块用于系统初始化,回收系统资源,禁止时基寄存器,创建多核时钟设置模块,以及产生全局硬件中断;多核时钟设置模块,用于设置该模块所在处理器节点上的所有处理器核的时基寄存器;全局时钟中断服务模块,用于处理全局时钟同步模块发出的全局硬件中断。
所述的系统,多核时钟设置模块包括至少一个核时钟设置单元,每个处理器核上均设置有一个核时钟设置单元,该单元用于设置所在处理器核上的时基寄存器。
用于多核多处理器并行系统的全局时钟系统的使用方法包括:
S0)从能发送全局硬件中断的处理器节点中任选一个设置为主处理器节点,其余处理器节点作为从处理器节点;全局硬件中断是由一个处理器节点产生,所有处理器节点均能响应的中断;
S1)通过全局时钟同步模块对系统初始化;
S2)禁止所有处理器核上的时基寄存器;
S3)根据所在处理器节点上处理器核的总数创建每个处理器核上的核时钟设置单元,并开始时钟设置任务;
S4)等待所有处理器核上的时钟设置任务完成,然后进入下一步;
S5)若所在的处理器节点为主处理器节点,则发送全局硬件中断,否则直接进入步骤S6;
S6)全局时钟中断服务模块对全局硬件中断进行处理,处理完成后进入下一步;
S7)通过全局时钟同步模块对系统资源进行回收。
所述的方法,所述步骤S1具体包括:
S11)创建同步机制;
S12)安装全局硬件中断。
所述的方法,所述步骤S3的时钟设置任务包括:
a)设置时钟设置任务所在处理器核上的时基寄存器为初始值;
b)通知时钟设置任务所在处理器节点上的全局时钟同步模块设置任务完成。
所述的方法,所述步骤S6的中断处理过程包括:
a)使能全局时钟中断服务模块所在处理器节点上所有处理器核的时基寄存器;
b)通知全局时钟中断服务模块所在处理器节点上的全局时钟同步模块设置完成。
所述的方法,所述步骤S7具体包括:
S71)删除同步机制;
S72)卸载全局硬件中断。
所述的方法,步骤S11或步骤S71的同步机制采用信号量或消息队列的方法,具体包括时钟设置同步机制和全局时钟中断服务同步机制;其中,时钟设置同步机制用于全局时钟同步模块与多核时钟设置模块之间的同步,全局时钟中断服务同步机制用于全局时钟同步模块与全局时钟中断服务模块之间的同步。
本发明具有的有益效果是:原理简单,易于实现,通过控制多核处理器上的64位时基寄存器的禁止/使能以及读/写时机,有效地实现了多核多处理器并行系统的全局时钟,并且,实现了不同处理器节点不同处理器核上的程序对时间的精确度量。首先,时基寄存器代表的时间分辨率相当高,因此,根据该寄存器读取的全局时钟精度也很高,可以满足应用程序对时间精度的要求。其次,当时基寄存器初始化成功后,主处理器节点将发送一个全局硬件中断,通知所有处理器节点使能时基寄存器,中断响应时间非常迅速,因此,各处理器节点上的时基寄存器几乎不存在误差。最后,仅在使能时基寄存器时,各处理器节点才需要响应全局硬件中断,而不是像通常的时钟滴答中断需要周期性地响应,因此,对系统性能的影响较小。
附图说明
图1是本发明全局时钟系统示意图。
图2是本发明全局时钟同步程序流程图。
图3是本发明系统初始化流程图。
图4是本发明回收系统资源流程图。
图5是本发明处理器核时钟设置任务程序流程图。
图6是本发明全局时钟中断服务处理程序流程图。
具体实施方式
在多核多处理器并行系统中,每个处理器核都有一个64位的时基寄存器,并以恒定的速率递增。因此,针对多核多处理器并行系统,利用该时基寄存器,可以设计并实现一个精度高,同时又不影响系统性能的全局时钟。
用于多核多处理器并行系统的全局时钟系统,包括多个处理器节点,每个所述处理器节点包括全局时钟子系统。所述全局时钟子系统包括:
全局时钟同步模块,用于系统初始化,回收系统资源,禁止时基寄存器,创建多核时钟设置模块,以及产生全局硬件中断;
多核时钟设置模块,用于设置该模块所在处理器节点上的所有处理器核的时基寄存器;
全局时钟中断服务模块,用于处理全局时钟同步模块发出的全局硬件中断。
所述的系统,在多核多处理器并行系统中,所述全局硬件中断是一种由一个处理器节点产生,所有处理器节点(包括发出该中断的处理器节点)均能响应的中断。
所述的系统,所述多核多处理器并行系统包括:
至少一个处理器节点;
每个处理器节点具有至少一个处理器核;
每个处理器核具有时基寄存器;
选择可产生全局硬件中断的处理器为主处理器节点,其它处理器为从处理器节点。
所述的系统,所述全局时钟同步模块,还包括:仅主处理器节点上的全局时钟同步模块向所有处理器节点发送全局硬件中断。
所述的系统,所述多核时钟设置模块由核时钟设置单元组成。核时钟设置单元用于设置所在处理器核上的时基寄存器,按下列方法定义:
设多核时钟设置模块所在的处理器节点具有m个处理器核,依次定义为核0、核1、……、核m-1;
每个处理器核上均设置有一个核时钟设置单元,根据处理器核名称,依次定义为核0时钟时钟设置单元、核1时钟设置单元、……、核m-1时钟设置单元。
本发明还公开了一种用于多核多处理器并行系统的全局时钟系统使用方法,定义该方法使用全局时钟同步程序、核时钟设置任务程序和全局时钟中断服务程序。全局时钟同步程序运行在多核多处理器并行系统中的每个处理器节点,具体包括以下步骤:
S1)系统初始化;
S2)禁止所在处理器节点上所有处理器核上的时基寄存器;
S3)根据所在处理器节点上处理器核的总数,创建每个处理器核上的时钟设置任务;
S4)等待所在处理器节点的所有处理器核上的时钟设置任务完成;
S5)若所在的处理器节点为主处理器节点,则发送全局硬件中断,否则进入步骤S6;
S6)等待所在处理器节点上的全局时钟中断服务处理程序完成;
S7)回收系统资源。
所述的方法,步骤S1具体包括以下步骤:
S11)创建同步机制;
S12)安装全局硬件中断。
所述的方法,步骤S11中所述的同步机制为信号量或消息队列,具体包括:时钟设置同步机制;全局时钟中断服务同步机制;其中,时钟设置同步机制用于全局时钟同步程序与核时钟设置任务程序之间的同步,全局时钟中断服务同步机制用于全局时钟同步程序与全局时钟中断服务程序之间的同步。
所述的方法,步骤S3包括:
设所在处理器节点上处理器核的总数为m,应用操作系统创建任务或线程函数,依次创建每个处理器核上的时钟设置任务,分别定义为核0时钟设置任务、核1时钟设置任务、……、核m-1时钟设置任务;
每个处理器核上的核时钟设置任务程序的具体步骤包括:
设置所在处理器核上的时基寄存器值为初始值(该值可以为0,也可以为其它值);
通过时钟设置同步机制,通知所在处理器节点上的全局时钟同步程序,已完成时钟设置(即时钟设置任务已完成)。
所述的方法,步骤S6中涉及的全局时钟中断服务程序具体步骤包括:
使能所在处理器节点上所有处理器核的时基寄存器;
通过全局时钟中断服务同步机制,通知所在处理器节点上的全局时钟同步程序,全局时钟中断服务处理程序已完成。
下面结合附图与具体实施方式对本发明进行详细说明。
本发明是针对多核多处理器并行系统,利用时基寄存器,设计并实现的一个精度高,同时又不影响系统性能的全局时钟。这种多核多处理器并行系统具有如下特点:
(1)具有至少一个处理器节点(图1中有n个);
(2)每个处理器节点具有至少一个处理器核(图1中分别有k、p…m个);
(3)每个处理器核具有时基寄存器;
(4)具有全局硬件中断,该类中断由一个处理器节点产生,所有处理器节点(包括发出该类中断的处理器节点)均能响应。
(5)选择可产生全局硬件中断的处理器节点为主处理器节点,其它处理器节点为从处理器节点。
用于多核多处理器并行系统的全局时钟系统,如图1所示,包括至少一个处理器节点,每个处理器节点包括全局时钟子系统。所述全局时钟子系统包括:
(1)全局时钟同步模块。
全局时钟同步模块用于系统初始化,回收系统资源,禁止时基寄存器,创建多核时钟设置模块,以及产生全局硬件中断。其中,仅主处理器节点上的全局时钟同步模块才能产生全局硬件中断。
(2)多核时钟设置模块。
多核时钟设置模块用于设置所在处理器节点上的所有处理器核的时基寄存器,当设置完成后,通知全局时钟同步模块。
多核时钟设置模块由核时钟设置单元组成:设该模块所在的处理器节点具有m个处理器核,依次定义为核0、核1、……、核m-1。那么,这m个处理器核上各有一个核时钟设置单元,根据处理器核名称,依次定义为核0时钟时钟设置单元、核1时钟设置单元、……、核m-1时钟设置单元。
核时钟设置单元用于设置所在处理器核上的时基寄存器,当设置完成后,通知该处理器核所在处理器节点上的全局时钟同步模块。
(3)全局时钟中断服务模块。
全局时钟中断服务模块用于处理由主处理器节点上的全局时钟同步模块发出的全局硬件中断,当处理完成后通知该全局时钟中断服务模块所在处理器节点上的全局时钟同步模块。
用于多核多处理器并行系统的全局时钟系统使用方法,包括全局时钟同步程序、核时钟设置任务程序和全局时钟中断服务程序。其中,全局时钟同步程序运行在全局时钟同步模块上,核时钟设置任务程序运行在多核时钟设置模块上,全局时钟中断服务程序运行在全局时钟中断服务模块上,并且,全局时钟同步程序是本方法的核心。
(1)全局时钟同步程序。
该程序运行于多核多处理器并行系统中的每个处理器节点,如图2所示,包括以下步骤:
S1)系统初始化。
如图3所示,在步骤S1中,具体包括如下步骤:
S11)创建同步机制。
同步机制为信号量或消息队列,具体包括:时钟设置同步机制;全局时钟中断服务同步机制。其中,时钟设置同步机制用于全局时钟同步程序与核时钟设置任务程序之间的同步,全局时钟中断服务同步机制用于全局时钟同步程序与全局时钟中断服务程序之间的同步。
S12)安装全局硬件中断。
S2)禁止所在处理器节点上所有处理器核的时基寄存器。
S3)根据所在处理器节点上处理器核的总数,创建每个处理器核上的时钟设置任务。
设全局时钟同步程序所在的处理器节点具有m个处理器核,依次定义为核0、核1、……、核m-1。那么,该同步程序将创建m个核时钟设置任务,这些任务分别运行在这m个处理器核上。根据处理器核名称,依次定义为核0时钟设置任务、核1时钟设置任务、……、核m-1时钟设置任务。每个核时钟设置任务运行同样的程序,称为核时钟设置任务程序。
S4)等待所在处理器节点的所有处理器核上的时钟设置任务完成。
S5)判断所在处理器节点类型,若所在处理器节点是主处理器节点,则发送全局硬件中断,否则直接进入步骤S6。
S6)等待所在处理器节点上的全局时钟中断服务处理程序完成。
S7)回收系统资源。
如图4所示,在步骤S7中,具体包括如下步骤:
S71)删除同步机制;
S72)卸载全局硬件中断。
所有操作完成后返回,进入应用系统的其它操作。这时,已实现了全局时钟,即系统所有处理器节点及处理器核将具有相同的时间。
(2)核时钟设置任务程序。
每个处理器核上都有一个时基寄存器,核时钟设置任务程序主要对该时基寄存器进行设置,其流程图如图5,包括以下步骤:
a)设置时基寄存器。
具体地,将该程序所在处理器核上的时基寄存器值设置为初始值。该初始值是预先设定的值,每个处理器节点以及每个处理器核上都设置相同的值。一般地,该初始值是大于等于0的数值,且不宜太大。
b)通知全局时钟同步程序设置完成。
通过时钟设置同步机制,通知所在处理器节点上的全局时钟同步程序,该处理器核上的时钟设置任务程序已完成。
(3)全局时钟中断服务程序。
全局时钟中断服务程序主要用于处理全局时钟同步程序发出的全局硬件中断,该程序运行于多核多处理器并行系统中的每个处理器节点,其流程图如图6,包括以下步骤:
a)使能所在处理器节点上所有处理器核的时基寄存器。
b)通知全局时钟同步程序设置完成。
通过全局时钟中断服务同步机制,通知所在处理器节点上的全局时钟同步程序,全局时钟中断服务处理程序已完成。
按照所述的全局时钟系统使用方法,下面以基于MPC8641D芯片的双核多处理器并行系统,且以VxWorks为底层操作系统的例子,具体说明本发明的全局时钟系统使用方法工作流程:
步骤(1)创建全局时钟同步程序。
具体步骤包括:
步骤(11)创建同步机制。
方法一,应用VxWorks操作系统的信号量机制作为同步机制。具体包括:应用VxWorks操作系统的创建信号量函数,创建时钟设置信号量和全局时钟中断服务信号量。其中,时钟设置信号量用于全局时钟同步程序与核时钟设置任务程序之间的同步,全局时钟中断服务信号量用于全局时钟同步程序与全局时钟中断服务程序之间的同步。
方法二,应用VxWorks操作系统的消息队列机制作为同步机制。具体包括:应用VxWorks操作系统的创建消息队列函数,创建时钟设置消息队列和全局时钟中断服务消息队列。其中,时钟设置消息队列用于全局时钟同步程序与核时钟设置任务程序之间的同步,全局时钟中断服务消息队列用于全局时钟同步程序与全局时钟中断服务程序之间的同步。
步骤(12)安装全局硬件中断。
应用MPC8641D芯片的外部中断IRQ10(该款芯片包括外部中断IRQ0~IRQ11,本实施例选择IRQ10)作为全局硬件中断,同时应用VxWorks操作系统提供的中断函数进行IRQ10中断安装并使能该中断。
步骤(13)禁止所在处理器节点上两个处理器核的时基寄存器。
对MPC8641D芯片的DEVDISR(Device Disable Register)寄存器进行设置,禁止MPC8641D芯片两个处理器核上的时基寄存器。
步骤(14)创建所在处理器节点的两个处理器核上的时钟设置任务。
应用VxWorsk提供的任务创建函数,创建两个时钟设置任务分别运行在核0、核1上。
步骤(15)等待所在处理器节点的两个处理器核上的时钟设置任务完成。
方法一,应用VxWorks提供的获取信号量函数,等待时钟设置任务完成,伪代码如下:
#define CORE_SUM 2 /*根据处理器节点上处理器核的数目进行设置*/
for(i = 0; i < CORE_SUM; i++)
{
无限期获取时钟设置信号量;
}
方法二,应用VxWorks提供的接收消息函数,等待时钟设置任务完成,伪代码如下:
#define CORE_SUM 2
for(i = 0; i < CORE_SUM; i++)
{
无限期等待从时钟设置消息队列中接收消息;
}
步骤(16)判断处理器节点类型,若处理器节点是主处理器节点,则发送全局硬件中断(IRQ10中断),否则直接进入步骤(17)。
步骤(17)等待所在处理器节点上的全局时钟中断服务处理程序完成。
方法一,应用VxWorks提供的获取信号量函数,等待全局时钟中断服务处理程序完成,伪代码如下:
{
无限期获取全局时钟中断服务信号量;
}
方法二,应用VxWorks提供的接收消息函数,等待全局时钟中断服务处理程序完成,伪代码如下:
{
无限期等待从全局时钟中断服务消息队列中接收消息;
}
步骤(18)删除同步机制。
若使用信号量机制作为同步机制,那么,应用VxWorks提供的删除信号量函数,将时钟设置信号量和全局时钟中断服务信号量删除。
若使用消息队列机制作为同步机制,那么,应用VxWorks提供的删除消息队列函数,将时钟设置消息队列和全局时钟中断服务消息队列删除。
步骤(19)卸载全局硬件中断。
应用VxWorks操作系统提供的中断函数卸载IRQ10中断并禁止该中断。
所有操作完成后返回,进入应用系统的其它操作。这时,已实现了全局时钟,即系统所有处理器节点及处理器核将具有相同的时间。
步骤(2)创建核时钟设置任务程序。
具体步骤包括:
步骤(21)设置时基寄存器。
将初始值0写入MPC8641D的时基寄存器(Time Base Register)。
步骤(22)通知全局时钟同步程序设置完成。
方法一,应用VxWorks提供的释放信号量函数,通知所在处理器节点上的全局时钟同步程序时钟设置任务完成,伪代码如下:
{
释放时钟设置信号量;
}
方法二,应用VxWorks提供的发送消息函数,通知所在处理器节点上的全局时钟同步程序时钟设置任务完成,伪代码如下:
{
无限期等待向时钟设置消息队列发送消息;
}
步骤(3)创建全局时钟中断服务程序。
具体步骤包括:
步骤(31)使能所在处理器节点上所有处理器核的时基寄存器。
对MPC8641D的DEVDISR寄存器进行设置,使能MPC8641D的两个处理器核上的时基寄存器。
步骤(32)通知全局时钟同步程序设置完成。
方法一,应用VxWorks提供的释放信号量函数,通知所在处理器节点上的全局时钟同步程序,全局时钟中断服务处理程序已完成,伪代码如下:
{
释放全局时钟中断服务信号量;
}
方法二,应用VxWorks提供的发送消息函数,通知所在处理器节点上的全局时钟同步程序,全局时钟中断服务处理程序已完成,伪代码如下:
{
无等待向全局时钟中断服务消息队列发送消息;
}
以上所述内容,仅为本发明具体的实施方式及优选实施例,不能认定本发明的具体实施仅局限于此。对于本技术领域的技术人员而言,在不脱离本发明构思的前提下,还可以根据本发明作出各种相应的更改、替换和变化,这些都应当涵盖在本发明的保护范围内。
Claims (8)
1.用于多核多处理器并行系统的全局时钟系统,其特征在于:所述全局时钟系统包括全局时钟子系统,多核多处理器并行系统的每个处理器节点上均设有全局时钟子系统,该子系统包括全局时钟同步模块、多核时钟设置模块和全局时钟中断服务模块;
全局时钟同步模块用于系统初始化,回收系统资源,禁止时基寄存器,创建多核时钟设置模块,以及产生全局硬件中断;多核时钟设置模块,用于设置该模块所在处理器节点上的所有处理器核的时基寄存器;全局时钟中断服务模块,用于处理全局时钟同步模块发出的全局硬件中断。
2.根据权利要求1所述的系统,其特征在于:多核时钟设置模块包括至少一个核时钟设置单元,每个处理器核上均设置有一个核时钟设置单元,该单元用于设置所在处理器核上的时基寄存器。
3.用于多核多处理器并行系统的全局时钟系统的使用方法,其特征在于包括:
S0)从能发送全局硬件中断的处理器节点中任选一个设置为主处理器节点,其余处理器节点作为从处理器节点;全局硬件中断是由一个处理器节点产生,所有处理器节点均能响应的中断;
S1)通过全局时钟同步模块对系统初始化;
S2)禁止所有处理器核上的时基寄存器;
S3)根据所在处理器节点上处理器核的总数创建每个处理器核上的核时钟设置单元,并开始时钟设置任务;
S4)等待所有处理器核上的时钟设置任务完成,然后进入下一步;
S5)若所在的处理器节点为主处理器节点,则发送全局硬件中断,否则直接进入步骤S6;
S6)全局时钟中断服务模块对全局硬件中断进行处理,处理完成后进入下一步;
S7)通过全局时钟同步模块对系统资源进行回收。
4.根据权利要求3所述的方法,其特征在于,所述步骤S1具体包括:
S11)创建同步机制;
S12)安装全局硬件中断。
5.根据权利要求3所述的方法,其特征在于,所述步骤S3的时钟设置任务包括:
a)设置时钟设置任务所在处理器核上的时基寄存器为初始值;
b)通知时钟设置任务所在处理器节点上的全局时钟同步模块设置任务完成。
6.根据权利要求3所述的方法,其特征在于,所述步骤S6的中断处理过程包括:
a)使能全局时钟中断服务模块所在处理器节点上所有处理器核的时基寄存器;
b)通知全局时钟中断服务模块所在处理器节点上的全局时钟同步模块设置完成。
7.根据权利要求3所述的方法,其特征在于,所述步骤S7具体包括:
S71)删除同步机制;
S72)卸载全局硬件中断。
8.根据权利要求4或权利要求6所述的方法,其特征在于:步骤S11或步骤S71的同步机制采用信号量或消息队列的方法,具体包括时钟设置同步机制和全局时钟中断服务同步机制;其中,时钟设置同步机制用于全局时钟同步模块与多核时钟设置模块之间的同步,全局时钟中断服务同步机制用于全局时钟同步模块与全局时钟中断服务模块之间的同步。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210244934.0A CN102799212B (zh) | 2012-07-16 | 2012-07-16 | 用于多核多处理器并行系统的全局时钟系统及其使用方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210244934.0A CN102799212B (zh) | 2012-07-16 | 2012-07-16 | 用于多核多处理器并行系统的全局时钟系统及其使用方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102799212A true CN102799212A (zh) | 2012-11-28 |
CN102799212B CN102799212B (zh) | 2015-05-27 |
Family
ID=47198337
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210244934.0A Expired - Fee Related CN102799212B (zh) | 2012-07-16 | 2012-07-16 | 用于多核多处理器并行系统的全局时钟系统及其使用方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102799212B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104462004A (zh) * | 2013-08-28 | 2015-03-25 | 威盛电子股份有限公司 | 微处理器及其处理核间同步运作的方法 |
CN104750223A (zh) * | 2013-12-26 | 2015-07-01 | 联芯科技有限公司 | 一种降低多核终端内存访问功耗的方法和系统 |
CN106708168A (zh) * | 2015-11-13 | 2017-05-24 | 华为技术有限公司 | 多处理器系统及时钟同步方法 |
CN111107020A (zh) * | 2019-12-31 | 2020-05-05 | 盛科网络(苏州)有限公司 | 一种多核心以太网交换芯片时间同步的方法 |
CN111506156A (zh) * | 2020-06-17 | 2020-08-07 | 北京机电工程研究所 | 一种处理器阵列的授时方法及系统 |
CN113326221A (zh) * | 2021-06-30 | 2021-08-31 | 上海阵量智能科技有限公司 | 数据处理装置、方法、芯片、计算机设备及存储介质 |
CN116938379A (zh) * | 2023-09-18 | 2023-10-24 | 湖北芯擎科技有限公司 | 时间同步的方法、装置、电子设备及计算机可读存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1326150A (zh) * | 2000-05-25 | 2001-12-12 | 国际商业机器公司 | 用于numa系统的基于开关的时间同步协议 |
CN101405676A (zh) * | 2006-03-22 | 2009-04-08 | 罗伯特·博世有限公司 | 用于在数据传输系统与数据传输系统的用户的主处理器之间传送数据的方法和数据传输系统 |
-
2012
- 2012-07-16 CN CN201210244934.0A patent/CN102799212B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1326150A (zh) * | 2000-05-25 | 2001-12-12 | 国际商业机器公司 | 用于numa系统的基于开关的时间同步协议 |
CN101405676A (zh) * | 2006-03-22 | 2009-04-08 | 罗伯特·博世有限公司 | 用于在数据传输系统与数据传输系统的用户的主处理器之间传送数据的方法和数据传输系统 |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104462004A (zh) * | 2013-08-28 | 2015-03-25 | 威盛电子股份有限公司 | 微处理器及其处理核间同步运作的方法 |
CN104462004B (zh) * | 2013-08-28 | 2018-09-21 | 威盛电子股份有限公司 | 微处理器及其处理核间同步运作的方法 |
CN104750223A (zh) * | 2013-12-26 | 2015-07-01 | 联芯科技有限公司 | 一种降低多核终端内存访问功耗的方法和系统 |
CN104750223B (zh) * | 2013-12-26 | 2017-05-17 | 联芯科技有限公司 | 一种降低多核终端内存访问功耗的方法和系统 |
CN106708168A (zh) * | 2015-11-13 | 2017-05-24 | 华为技术有限公司 | 多处理器系统及时钟同步方法 |
CN106708168B (zh) * | 2015-11-13 | 2019-12-06 | 华为技术有限公司 | 多处理器系统及时钟同步方法 |
CN111107020A (zh) * | 2019-12-31 | 2020-05-05 | 盛科网络(苏州)有限公司 | 一种多核心以太网交换芯片时间同步的方法 |
CN111107020B (zh) * | 2019-12-31 | 2022-01-11 | 苏州盛科通信股份有限公司 | 一种多核心以太网交换芯片时间同步的方法 |
CN111506156A (zh) * | 2020-06-17 | 2020-08-07 | 北京机电工程研究所 | 一种处理器阵列的授时方法及系统 |
CN113326221A (zh) * | 2021-06-30 | 2021-08-31 | 上海阵量智能科技有限公司 | 数据处理装置、方法、芯片、计算机设备及存储介质 |
CN113326221B (zh) * | 2021-06-30 | 2024-03-22 | 上海阵量智能科技有限公司 | 数据处理装置、方法、芯片、计算机设备及存储介质 |
CN116938379A (zh) * | 2023-09-18 | 2023-10-24 | 湖北芯擎科技有限公司 | 时间同步的方法、装置、电子设备及计算机可读存储介质 |
CN116938379B (zh) * | 2023-09-18 | 2023-12-15 | 湖北芯擎科技有限公司 | 时间同步的方法、装置、电子设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN102799212B (zh) | 2015-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102799212A (zh) | 用于多核多处理器并行系统的全局时钟系统及其使用方法 | |
EP3091434B1 (en) | Chip starting method, multi-core processor chip and storage medium | |
EP3352083A1 (en) | Debugging method, multi-core processor, and debugging equipment | |
CN101236515B (zh) | 多核系统单核异常的恢复方法 | |
US20170329632A1 (en) | Device scheduling method, task manager and storage medium | |
CN108563557B (zh) | 一种多通道计算机的通道同步方法及装置 | |
CN103268251A (zh) | 一种基于时戳截流的并行离散事件仿真时间同步方法 | |
CN103744716A (zh) | 一种基于当前vcpu调度状态的动态中断均衡映射方法 | |
CN103678024A (zh) | 容错系统和用于执行容错的方法 | |
JP2010182101A (ja) | フィールド制御システム | |
CN103678022A (zh) | 容错系统和用于执行容错的方法 | |
CN102073572A (zh) | 用于多核处理器的监控方法及系统 | |
CN106406974B (zh) | 一种用于虚拟机的高性能定时器实现方法、虚拟机 | |
CN104346307A (zh) | 用于直接存储器访问传输的系统和方法 | |
CN111475312B (zh) | 基于实时操作系统的消息驱动方法和装置 | |
CN102707765A (zh) | 一种使用混合时钟源的计时方法 | |
CN102281105A (zh) | 光纤状态检测方法和设备 | |
CN101526831B (zh) | 用于在多个时钟域之间提升确定性的装置、方法和系统 | |
CN116089049B (zh) | 基于异步并行i/o请求的进程同步调度方法、装置以及设备 | |
EP3792757A1 (en) | Method, apparatus, device, and storage medium for performing processing task | |
CN109753314B (zh) | 一种可配置的流程自动执行方法及系统 | |
CN115793822A (zh) | 基于状态跳转的多核处理器的复位系统设计 | |
CN104268020A (zh) | 基于嵌入式操作系统的通用定时器及其工作方法 | |
CN103678023A (zh) | 容错系统和用于执行容错的方法 | |
JPH11312148A (ja) | バリア同期方法及び装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150527 Termination date: 20190716 |