CN113515359A - 基于m2微处理器的线程调度方法、系统及计算机存储介质 - Google Patents

基于m2微处理器的线程调度方法、系统及计算机存储介质 Download PDF

Info

Publication number
CN113515359A
CN113515359A CN202110598122.5A CN202110598122A CN113515359A CN 113515359 A CN113515359 A CN 113515359A CN 202110598122 A CN202110598122 A CN 202110598122A CN 113515359 A CN113515359 A CN 113515359A
Authority
CN
China
Prior art keywords
thread
time
hardware timer
task thread
preset time
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
Application number
CN202110598122.5A
Other languages
English (en)
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.)
Guanghua Lingang Engineering Application Technology Research and Development Shanghai Co Ltd
Original Assignee
Guanghua Lingang Engineering Application Technology Research and Development Shanghai 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 Guanghua Lingang Engineering Application Technology Research and Development Shanghai Co Ltd filed Critical Guanghua Lingang Engineering Application Technology Research and Development Shanghai Co Ltd
Priority to CN202110598122.5A priority Critical patent/CN113515359A/zh
Publication of CN113515359A publication Critical patent/CN113515359A/zh
Pending legal-status Critical Current

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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4887Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/14Time supervision arrangements, e.g. real time clock
    • 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Debugging And Monitoring (AREA)

Abstract

提供了一种基于M2微处理器的线程调度方法、系统及计算机存储介质,方法包括:创建至少一个任务线程,其中所述至少一个任务线程的优先级均相同;启动M2微处理器的硬件定时器中断功能,并按照创建时间的先后顺序执行所述至少一个任务线程;基于所述硬件定时器确定当前任务线程的执行时间是否达到预设时间;如果确定当前任务线程的执行时间达到预设时间,则进入系统中断程序;当所述系统中断程序结束后,切换至下一个任务线程。根据本公开,通过硬件定时器实现对时钟的精准控制,进而实现精准及时的线程调度,增强了嵌入式操作系统的实时性,能够保证任务在确定的时间里运行,并且减少了对时间片的检测流程,以及减少了系统的上下文切换时间。

Description

基于M2微处理器的线程调度方法、系统及计算机存储介质
技术领域
本公开涉及计算机领域,更具体地涉及线程调度方法、系统及计算机存储介质。
背景技术
实时操作系统对外部事件的响应时间决定着操作系统的性能,现有嵌入式实时操作系统都采用软件定时器来实现对时钟的控制,而软件定时器具有定时不精准、响应不及时的缺点。
发明内容
本公开实施例提供一种基于M2微处理器的线程调度方法、系统及计算机存储介质,以至少解决上述实时操作系统定时不精准、响应不及时的问题之一。
根据本公开的第一方面,提供了一种基于M2微处理器的线程调度方法,所述方法包括:
创建至少一个任务线程,其中所述至少一个任务线程的优先级均相同;
启动M2微处理器的硬件定时器中断功能,并按照创建时间的先后顺序执行所述至少一个任务线程;
基于所述硬件定时器确定当前任务线程的执行时间是否达到预设时间;
如果确定当前任务线程的执行时间达到预设时间,则进入系统中断程序;
当所述系统中断程序结束后,切换至下一个任务线程。
可选地,基于硬件定时器确定当前任务线程的执行时间是否达到预设时间,包括:
从当前任务线程开始执行时,所述硬件定时器开始计数;
确定所述计数的数值是否达到所述预设时间的数值。
可选地,如果当前任务线程的执行时间达到预设时间,则进入系统中断程序,包括:
当所述计数的数值达到所述预设时间的数值,所述硬件定时器产生内部中断信号;
基于所述内部中断信号进入所述系统中断程序。
可选地,当所述系统中断程序结束后,所述硬件定时器的计数清零。
可选地,所述M2微处理器硬件定时器的时钟频率包括:1.5MHz-11718.75Hz。
可选地,所述预设时间包括:21.76ms-85us。
可选地,所述方法还包括:
创建空闲线程;
当系统中没有要执行的任务线程时,切换至所述空闲线程。
可选地,所述方法还包括:
如果当前任务线程的执行时间未达到预设时间,则继续执行所述当前任务线程。
根据本公开的第二方面,提供了一种基于M2微处理器的线程调度系统,包括存储器、处理器及存储在所述存储器上且在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现第一方面所述方法的步骤。
根据本公开的第三方面,提供了一种计算机存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述方法的步骤。
根据本公开实施例的基于M2微处理器的线程调度方法、系统及计算机存储介质,通过硬件定时器实现对时钟的精准控制,进而实现精准及时的线程调度,增强了嵌入式操作系统的实时性,能够保证任务在确定的时间里运行,并且减少了对时间片的检测流程,以及减少了系统的上下文切换时间。
附图说明
通过结合附图对本公开实施例进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显。附图用来提供对本公开实施例的进一步理解,并且构成说明书的一部分,与本公开实施例一起用于解释本公开,并不构成对本公开的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
图1是根据本公开实施例的基于M2微处理器的线程调度装置的示意性框图;
图2是根据本公开实施例的基于M2微处理器的线程调度方法的示意性流程图;
图3是根据本公开实施例的基于M2微处理器的线程调度方法的示例;
图4是根据本公开实施例的基于M2微处理器的线程调度系统的示意性框图;
图5是根据本公开实施例的基于M2微处理器的线程调度系统的又一示意性框图。
具体实施方式
为了使得本公开的目的、技术方案和优点更为明显,下面将参照附图详细描述根据本公开的示例实施例。显然,所描述的实施例仅仅是本公开的一部分实施例,而不是本公开的全部实施例,应理解,本公开不受这里描述的示例实施例的限制。基于本公开中描述的本公开实施例,本领域技术人员在没有付出创造性劳动的情况下所得到的所有其它实施例都应落入本公开的保护范围之内。
随着嵌入式操作系统的发展,实时操作系统对时间的要求也越来越严格。目前,嵌入式实时操作系统的时间管理主要采用软件定时器来进行时间的管理和线程的调度。软件定时器以时钟为节拍产生一个周期中断,每当达到设定的时间时,相应的函数会提供中断服务和线程调度。而系统对外部事件的反应时间通常由两方面决定,一方面是上下文切换的时间,另一方面是中断的响应时间。其中影响上下文切换时间最重要的因素就是线程调度的策略。
目前的嵌入式实时操作系统的线程调度方主要有抢占式调度和基于时间片的轮询调度。抢占式调度允许高优先级的任务随时抢占低优先级的任务,这样就可以使得关键的代码可以按时得到执行。时间片轮询调度为每个任务分配一个时间片,如果时间片没用完任务就执行完了,那就立即切换到下一个任务,不用等待,如果时间片用完了任务还没执行完,那就会被就绪表中最高优先级的任务抢占,自己挂起到末端去排队等下一次调度。抢占式调度和时间片轮询调度无法保障系统的实时性,因为任务的执行周期不一定,高优先级的任务无法随时抢占低优先级任务,需要等低优先级任务时间片用完了才能抢占,并且时间片轮询调度方法要随时检查时间片是否被用完,增大了反应的时间。
基于上述考虑,提出了根据本公开实施例的基于M2微处理器的线程调度方法。参见图1,图1示出了根据本公开实施例的基于M2微处理器的线程调度装置的示意性框图。如图1所示,所述基于M2微处理器的线程调度装置100包括:处理组件110、硬件定时器120和总线130,其中,
所述总线130包括一通路,用于在所述处理组件110、所述通信接口120和所述硬件定时器120之间进行信息传输;
所述处理组件110连接至所述总线130,用于创建至少一个任务线程,其中所述至少一个任务线程的优先级均相同;以及启动所述硬件定时器120的中断功能,并按照创建时间的先后顺序执行所述至少一个任务线程;
所述硬件定时器120连接至所述总线130,用于判断当前任务线程的执行时间是否达到预设时间;
所述处理组件110还响应于确定当前任务线程的执行时间达到预设时间,进入系统中断程序;以及在所述系统中断程序结束后,切换至下一个任务线程。
其中,在线程调度装置中设置硬件定时器,并采用硬件定时器对于当前执行的任务线程即当前任务线程的执行时间进行计时,当执行时间达到预设时间,则进入系统中断程序;等到系统中断程序结束后转换到下一个任务线程继续执行。可见,相比于传统的线程调度装置采用软件定时器,根据本公开实施例的线程调度装置增加了硬件定时器,并通过硬件定时器实现对时钟的精准控制,进而实现精准及时的线程调度,增强了嵌入式操作系统的实时性,能够保证任务在确定的时间里运行,并且减少了对时间片的检测流程,以及减少了系统的上下文切换时间。
可选地,所述处理组件110包括至少一个处理核心。
可选地,所述装置100还包括:通信接口140,连接至所述总线130,用于从外部设备150接收外部信息。在一些实施例中,所述通信接口包括至少一个串口通信接口。进一步地,在一些实施例中,所述串口通信接口包括通用异步收发传输器(UART,UniversalAsynchronous Receiver/Transmitter)。
在一些实施例中,外部设备150可以是具有计算能力的设备。如,个人计算机、笔记本电脑、智能终端等。其中,外部设备可以生成外部事件。
需要说明的是,尽管上述设备仅示出了处理组件110、硬件定时器120、总线130和通信接口140,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述装置中也可以仅包含实现本公开实施例方案所必需的组件,而不必包含图中所示的全部组件。
参见图2,图2示出了根据本公开实施例的基于M2微处理器的线程调度方法的示意性流程图。如图2所示,所述方法200包括:
步骤S210,创建至少一个任务线程,其中所述至少一个任务线程的优先级均相同;
步骤S220,启动M2微处理器的硬件定时器中断功能,并按照创建时间的先后顺序执行所述至少一个任务线程;
步骤S230,基于所述硬件定时器确定当前任务线程的执行时间是否达到预设时间;
步骤S240,如果确定当前任务线程的执行时间达到预设时间,则进入系统中断程序;
步骤S250,当所述系统中断程序结束后,切换至下一个任务线程。
其中,任务线程具有相同的优先级,系统按照创建时间的先后顺序执行任务线程,即从最先创建的任务线程开始执行,采用硬件定时器对于当前执行的任务线程即当前任务线程的执行时间进行计时,当执行时间达到预设时间,则进入系统中断程序;等到系统中断程序结束后转换到下一个任务线程继续执行。根据本公开实施例的线程调度方法,通过硬件定时器实现对时钟的精准控制,进而实现精准及时的线程调度,增强了嵌入式操作系统的实时性,能够保证任务在确定的时间里运行,并且减少了对时间片的检测流程,以及减少了系统的上下文切换时间。
可选地,所述硬件定时器包括32位微处理器中的硬件定时器。其中,32位微处理器可以是基于MIPS架构的微处理器,例如M2微处理器。
其中,硬件定时器工作在定时模式时,将在设定的预设时间到达时产生硬件定时器内部中断。具体地,硬件定时器可以使用1个比较寄存器保存预置的预设时间数值。硬件定时器在执行当前任务线程时开始计数,当硬件定时器内计数的数值与比较寄存器内保存的预设时间数值相等时,硬件定时器即发生内部中断并置位特殊寄存器SYS_IRQ_REG对应中断标志位(IRQ_TC0),引导对应的系统中断程序进行相应处理。在系统执行完对应的系统中断程序,在系统中断程序返回前,执行写寄存器T0_CLRCNT_REG和T0_CLRIRQ_REG,将硬件定时器计数的数值清零、中断标志位复位,硬件定时器将在下一个任务线程开始执行时再次从零开始计数。
在一些实施例中,所述硬件定时器的时钟频率包括:1.5MHz-11718.75Hz。
其中,硬件定时器的计数时钟频率由公式:3M/(Ref+1)计算得到,可以基于计算得到时钟频率,执行写入T0_CLK_REG寄存器,从而完成对硬件定时器的计数时钟频率的设置。具体地,当硬件定时器TCx的Tx_REF_REG寄存器内数值设定为=0时,硬件定时器TCx的计数器必须累计计满32位才产生中断,此时,可以利用读取Tx_READ_REG寄存器,得到当前实时的预设时间。在读取Tx_READ_REG的过程中,只能显示前20位信息。当硬件定时器TCx的Tx_REF_REG寄存器内数值设定为≠0时,如果硬件定时器TCx在开启中断的状态下,硬件定时器TCx的计数器只要累计计满8位或累计达到Tx_REF_REG中的预设时间即产生中断,可见,硬件定时器的定时功能可以根据调整定硬件定时器的时钟频率、预设时间的设置来选择预设时间,这为用户使提供极大方便。
在一些实施例中,所述预设时间包括:21.76ms-85us。
在一些实施例中,硬件定时器的设置可以包括:
void RT_T0_Set1u(n,irq);//n是对应us数,irq=1触发中断void RT_T0_Set100u(n,irq);//n是对应100us数,irq=1触发中断
void RT_T0_Stop(); //停止T0运行
void RT_T0_Clr(); //停止并清零T0
int RT_T0_Flag(); //读回标志位
可选地,在步骤S230中,基于硬件定时器判断当前任务线程的执行时间是否达到预设时间,包括:
从当前任务线程开始执行时,所述硬件定时器开始计数;
判断所述计数的数值是否达到所述预设时间的数值。
在一些实施例中,如果当前任务线程的执行时间达到预设时间,则进入系统中断程序,包括:
当所述计数的数值达到所述预设时间的数值,所述硬件定时器产生内部中断信号;
基于所述内部中断信号进入所述系统中断程序。
在一些实施例中,所述方法还包括:
如果当前任务线程的执行时间未达到预设时间,则继续执行所述当前任务线程。
在一些实施例中,所述方法还包括:当所述系统中断程序结束后,所述硬件定时器的计数清零。
可选地,所述方法还包括:
创建空闲线程;
当系统中没有要执行的任务线程时,切换至所述空闲线程。
其中,空闲线程是系统线程中一个比较特殊的线程,它具有最低的优先级,当系统中无其他线程可运行时,调度器将调度到空闲线程。
下面,参见图3,图3示出了根据本公开实施例的基于M2微处理器的线程调度方法的示例。如图3所示,方法300包括:
首先,嵌入式操作系统可以开始运行时,创建一个空闲线程和至少一个任务线程;其中,创建事先定义好的任务线程,并采用线程控制块的方式,给每个任务线程分配私有栈空间;
然后,由于任务线程具有相同的优先级,处理组件110从最先创建的第一个任务线程开始执行;
接着,处理组件110启动硬件定时器120的中断功能,并从第一个任务线程开始执行时开始计数;
接着,硬件定时器120确定计数的数值是否到达设定的预设时间,如果是,则处理组件110关闭硬件定时器120的中断功能,进入系统中断程序;如果否,则继续执行当前任务线程以及继续计数;
接着,当系统中断程序执行结束后,在系统中断程序返回前,硬件定时器120计数的数值清零、中断标志位复位,进入线程调度器;
接着,线程调度器切换到下一个任务线程,继续启动硬件定时器120的中断功能,硬件定时器120将在下一个任务线程开始执行时再次从零开始计数,依次类推,硬件定时器120确定当前任务线程的执行时间是否达到预设时间;如果当前任务线程的执行时间达到预设时间,则处理组件110进入所述系统中断程序;如果当前任务线程的执行时间未达到预设时间,则处理组件110继续执行所述当前任务。当系统中无其他线程可运行时,调度器将调度到空闲线程。
可见,根据本公开实施例的线程调度方法,基于32位微处理器的硬件定时器来实现对时钟的精准控制,进而实现精准及时的线程调度。严格时间的周期性调度,增强了嵌入式操作系统的实时性,能够保证任务会在确定的时间里运行,并且减少了对时间片的检测流程,一定程度上减少了系统的上下文切换时间。
根据本公开实施例,还提出了一种基于M2微处理器的线程调度系统。参见图4图4示出了根据本公开实施例的基于M2微处理器的线程调度系统的示意性框图。如图4所示,所述系统400包括:存储器410、以及处理器420;
所述存储器410存储用于实现根据本公开实施例的线程调度方法中的相应步骤的程序代码;
所述处理器420用于运行所述存储器410中存储的程序代码,以执行以上根据本公开实施例的线程调度方法的相应步骤。
在一个实施例中,在所述程序代码被所述处理器420运行时执行以上根据本公开实施例的前述线程调度方法的相应步骤。
此外,根据本公开的另一方面,还提供了一种计算机可读存储介质,在所述存储介质上存储了程序指令,在所述程序指令被计算机或处理器运行时用于执行本公开实施例的线程调度方法的相应步骤,并且用于实现根据本公开实施例的线程调度系统。
根据本公开实施例,还提出了一种基于M2微处理器的线程调度系统。参见图5,图5示出了根据本公开实施例的基于M2微处理器的线程调度系统的又一示意性框图。如图5所示,所述系统500包括:
外部设备510,用于生成外部事件;
根据本公开实施例所述的装置520,与所述外部设备510连接,用于基于所述硬件定时器响应所述外部事件。
可选地,所述外部设备包括计算设备。其中,计算设备可以是具有计算能力的设备。如,个人计算机、笔记本电脑、智能终端等。
综上所述,根据本公开实施例的线程调度方法、系统及计算机存储介质,通过硬件定时器实现对时钟的精准控制,进而实现精准及时的线程调度,增强了嵌入式操作系统的实时性,能够保证任务在确定的时间里运行,并且减少了对时间片的检测流程,以及减少了系统的上下文切换时间。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本公开的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个设备,或一些特征可以忽略,或不执行。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本公开的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个公开方面中的一个或多个,在对本公开的示例性实施例的描述中,本公开的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该本公开的方法解释成反映如下意图:即所要求保护的本公开要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如相应的权利要求书所反映的那样,其公开点在于可以用少于某个公开的单个实施例的所有特征的特征来解决相应的技术问题。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本公开的单独实施例。
本领域的技术人员可以理解,除了特征之间相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本公开的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
应该注意的是上述实施例对本公开进行说明而不是对本公开进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本公开可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
以上所述,仅为本公开的具体实施方式或对具体实施方式的说明,本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本公开的保护范围之内。本公开的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种基于M2微处理器的线程调度方法,其特征在于,所述方法包括:
创建至少一个任务线程,其中所述至少一个任务线程的优先级均相同;
启动M2微处理器的硬件定时器中断功能,并按照创建时间的先后顺序执行所述至少一个任务线程;
基于所述硬件定时器确定当前任务线程的执行时间是否达到预设时间;
如果确定当前任务线程的执行时间达到预设时间,则进入系统中断程序;
当所述系统中断程序结束后,切换至下一个任务线程。
2.根据权利要求1所述的方法,其特征在于,基于硬件定时器确定当前任务线程的执行时间是否达到预设时间,包括:
从当前任务线程开始执行时,所述硬件定时器开始计数;
确定所述计数的数值是否达到所述预设时间的数值。
3.根据权利要求2所述的方法,其特征在于,如果确定当前任务线程的执行时间达到预设时间,则进入系统中断程序,包括:
当所述计数的数值达到所述预设时间的数值,所述硬件定时器产生内部中断信号;
基于所述内部中断信号进入所述系统中断程序。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:当所述系统中断程序结束后,所述硬件定时器的计数清零。
5.根据权利要求1所述的方法,其特征在于,所述硬件定时器的时钟频率包括:1.5MHz-11718.75Hz。
6.根据权利要求1所述的方法,其特征在于,所述预设时间包括:21.76ms-85us。
7.根据权利要求1所述的方法,其特征在于,
创建空闲线程;
当系统中没有要执行的任务线程时,切换至所述空闲线程。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
如果确定当前任务线程的执行时间未达到所述预设时间,则继续执行所述当前任务线程。
9.一种基于M2微处理器的线程调度系统,包括存储器、处理器及存储在所述存储器上且在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8中任一项所述方法的步骤。
10.一种计算机存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述方法的步骤。
CN202110598122.5A 2021-05-31 2021-05-31 基于m2微处理器的线程调度方法、系统及计算机存储介质 Pending CN113515359A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110598122.5A CN113515359A (zh) 2021-05-31 2021-05-31 基于m2微处理器的线程调度方法、系统及计算机存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110598122.5A CN113515359A (zh) 2021-05-31 2021-05-31 基于m2微处理器的线程调度方法、系统及计算机存储介质

Publications (1)

Publication Number Publication Date
CN113515359A true CN113515359A (zh) 2021-10-19

Family

ID=78065240

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110598122.5A Pending CN113515359A (zh) 2021-05-31 2021-05-31 基于m2微处理器的线程调度方法、系统及计算机存储介质

Country Status (1)

Country Link
CN (1) CN113515359A (zh)

Similar Documents

Publication Publication Date Title
US7174554B2 (en) Tools and methods for discovering race condition errors
US20140298357A1 (en) Operating system and architecture for embedded system
CN112416546A (zh) 多任务调度方法、电子装置和计算机存储介质
US20110072434A1 (en) System, method and computer program product for scheduling a processing entity task
EP2790106A2 (en) Performance measurement unit, processor core including the same and process profiling method
CN111897637B (zh) 作业调度方法、装置、主机及存储介质
CN109308220B (zh) 共享资源分配方法及装置
WO2015052501A1 (en) Scheduling function calls
US20030177163A1 (en) Microprocessor comprising load monitoring function
US7225443B2 (en) Stack usage in computer-related operating systems
JP4614239B2 (ja) マルチタスクスケジューリング機能搭載装置及びプログラム
CN112579271A (zh) 用于非实时操作系统的实时任务调度方法、模块、终端和存储介质
KR101892273B1 (ko) 스레드 프로그레스 트래킹 방법 및 장치
CN113515359A (zh) 基于m2微处理器的线程调度方法、系统及计算机存储介质
KR101635816B1 (ko) 결정적 프로그레스 인덱스를 이용한 스레드 프로그레스 트래킹 방법 및 장치
US6499050B1 (en) Means used to allow driver software to select most appropriate execution context dynamically
Parikh et al. Performance parameters of RTOSs; comparison of open source RTOSs and benchmarking techniques
Leyva-del-Foyo et al. Predictable interrupt scheduling with low overhead for real-time kernels
CN114138341A (zh) 微指令缓存资源的调度方法、装置、程序产品以及芯片
EP2318924A1 (en) Synchronization of multiple processor cores
Brandenburg et al. Accounting for interrupts in multiprocessor real-time systems
KR101725408B1 (ko) 실시간 운영체제의 태스크 스케줄링 방법
Harbour Real-time POSIX: an overview
JPH08314740A (ja) プロセスディスパッチ方法
Deshmukh et al. Comparison of Open Source RTOSs Using Various Performance Parameters

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