[发明专利]嵌入式多核中央处理器任务调度方法与装置在审
申请号: | 201710379984.2 | 申请日: | 2017-05-25 |
公开(公告)号: | CN108958903A | 公开(公告)日: | 2018-12-07 |
发明(设计)人: | 路向峰;王树珂 | 申请(专利权)人: | 北京忆恒创源科技有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/50 |
代理公司: | 北京卓特专利代理事务所(普通合伙) 11572 | 代理人: | 段宇 |
地址: | 100192 北京市海淀区西小口*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 应用程序编程接口 多核中央处理器 处理函数 发送消息 任务调度 嵌入式 队列 任务调度装置 队列发送 可用 调用 发送 响应 申请 | ||
本申请公开了嵌入式多核中央处理器任务调度方法与装置。所公开的任务调度装置发送消息的方法包括:通过应用程序编程接口注册队列的发送消息的处理函数;通过应用程序编程接口指示要发送的消息;响应于队列可用,调用所述处理函数,通过所述队列发送所述消息。
技术领域
本申请涉及嵌入式多核中央处理器任务调度方法与装置,尤其涉及对嵌入式多核中央处理器上处理的任务的调度。
背景技术
嵌入式多核CPU(中央处理器,Central Processing Unit)的各个核处理各自的任务。CPU的各个核之间有对通信、协同的大量需求。任务之间有顺序性,一项任务的开始依赖于在前的一个或多个任务的处理完成。CPU的各个核处理多种事件,依据事件知晓在前任务的处理进度。例如,事件包括队列中出现待处理的条目、指定长度时间的流逝、中断、处理任务过程中产生的自定义事件等。
图1是现有技术的嵌入式多核CPU系统的框图。CPU 0与CPU 1为同构或异构的CPU核,通过总线相耦合。每个CPU具有本地存储器,CPU可低延迟地访问自己的本地存储器。CPU还通过总线耦合到外部存储器,例如DDR(Dual Data Rate,双倍速率)存储器。外部存储器提供大的存储容量,但访问延迟较高。因此,CPU访问外部存储器时,通常通过队列来缓存高延迟的命令。命令的形式可以是具有指定数据格式的消息。
队列的条目是消息。CPU从入站队列接收消息,而通过出站队列发送消息。CPU可拥有多种数量的队列。示例性地,参看图1,CPU 0包括入站(Inbound)队列0、入站(Inbound)队列1、出站(Outbound)队列0与出站(Outbound)队列1。
为访问外部存储器,CPU 0向出站队列0添加消息。消息被总线转发给外部存储器。外部存储器输出存储器访问结果,通过总线转发给入站队列0。
CPU之间通过队列交换消息。例如,CPU 0向出战队列1添加消息。消息被总线转发给CPU 1的入站队列0。CPU 1从入站队列0获取CPU 0发送的消息。
发明内容
以访问外部存储器为例,CPU向出站队列添加消息需检查队列状态,并在出站队列未满时进行操作,而从CPU向出站队列添加访问外部存储器的消息,到CPU从入站队列接收外部存储器的访问结果之间,有较长的时间。在等待入站队列变为非空,或者等待访问外部存储器的结果这段时间,CPU需要调度处理其他任务来提升CPU利用率。当CPU同时处理多个相同或不同任务、使用多个队列和/或响应不同种类的事件时,对CPU上运行的多个任务的有效调度变得复杂。
CPU可以轮询队列状态,在出站队列非满时向出站队列添加消息,或者在入站队列非空时,从入站队列取出消息并进行处理。但轮询队列状态造成对CPU处理能力的浪费。CPU可以响应由队列状态产生的中断,识别事件类型并进行处理。但是当队列事件频繁发生时,大量中断处理带来的开销严重增加了CPU负担。
在桌面CPU、服务器CPU中,通过运行操作系统,由操作系统调度在CPU上运行的多个进程和/或线程,用户无须过多干预进程/线程之间的切换,而由操作系统选择恰当的进程/线程进行调度,以充分利用CPU计算能力。然而,在嵌入式多核CPU中,可使用的存储器、CPU处理能力等资源都受限,难以负担进程/线程管理引入的开销。以及一些嵌入式系统对性能,特别是任务处理延迟有严格要求,操作系统对此场景也难以适用。
根据本申请的第一方面,提供了本申请第一方面的第一任务调度方法,其中,任务调度方法包括:通过应用程序编程接口注册第一事件以及执行第一事件所需的第一条件;根据硬件资源状态更新第一条件;在第一条件满足后,调度第一事件的处理函数。
根据本申请第一方面的第一任务调度方法,提供了本申请第一方面的第二任务调度方法,其中,向应用程序编程接口注册第一事件的处理函数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京忆恒创源科技有限公司,未经北京忆恒创源科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710379984.2/2.html,转载请声明来源钻瓜专利网。