[发明专利]多任务处理器及其任务切换方法有效
申请号: | 200810149435.7 | 申请日: | 2008-09-12 |
公开(公告)号: | CN101673219A | 公开(公告)日: | 2010-03-17 |
发明(设计)人: | 林泰吉;黄保瑞;刘志尉;陈信凯;王炳勋 | 申请(专利权)人: | 财团法人工业技术研究院 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 北京市柳沈律师事务所 | 代理人: | 蒲迈文 |
地址: | 中国台*** | 国省代码: | 中国台湾;71 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 任务 处理器 及其 切换 方法 | ||
技术领域
本发明涉及一种多任务处理器及其任务切换方法。
背景技术
随着科技的蓬勃发展,使得通讯及多媒体的标准不断的更新,众家业 者为了应付通讯及多媒体标准的更新速度,于是以可编程处理器 (programmable processor)取代传统特定功能整合电路(application specified integrated circuit,ASIC),整合到嵌入式系统中。而新一代的通讯及多媒体的 应用倾向于提高多任务处理器运算复杂度,达到以较低位率提供高画质内 容的功能。为了符合通讯及多媒体上的即时(real-time)处理的需求(同时执行 多个应用程序、及时反应使用者需求等),可编程处理器(programmable processor)于是使用作业系统(operating system)或微核心(micro kernel)动态即 时管理的能力,并以分时(time slicing)多任务(multitasking)的方式来实现。
在分时多任务的环境下,可编程处理器必须常常切换所执行的工作(或 称任务,task),每进行一次任务切换,则必须进行一次内容切换(context switch),将现在进行的任务状态(包括寄存器以及其他任务信息)全部存到堆 迭(stack)中。现今可编程处理器的发展趋势倾向于增加寄存器的数量,以及 加长寄存器的字长度(word-length),以便于藉由单一指令多重数据(single instruction multiple data,简称SIMD)的技术,利用数据层级平行度(data-level parallelism,简称DLP)来提升运算能力。
市面上产品的微核心动态即时管理的方式大多以抢先式(preemptive)排 序的为主。图1为现有的多任务处理器的抢先式微核心的任务切换流程图。 当中断(interrupt)发生的时候(如步骤S101),微核心会控制多任务处理器先 暂停所有的任务。接着会执行步骤S102,先将中断处理(interrupt handler) 所需要的部份寄存器的内容保留(备份)至堆迭中。步骤S103会进行中断事 件的处理程序,此时微核心会控制多任务处理器先储存堆迭点,接着对所 有的任务(包含执行中、等待被执行及中断载入的任务)进行重新任务调度 (reschedule)。在执行到步骤S104的时候,会依据重新任务调度的结果,比 对是否有比目前执行中的任务具有更高优先权的任务。若有的话,便会做 一次完整的内容切换,使多任务处理器先载入优先权较高的任务(步骤 S110)。所谓内容切换,包含将原先任务的所有执行内容(寄存器的内容)备 份至堆迭中,然后将新任务的所有执行内容存回寄存器中。在完成内容切 换后,便可以开始执行新的任务(步骤S111)。若是没有更高优先权的任务, 则会将步骤S102所备份的寄存器内容存回寄存器中(步骤S120),以便让原 先执行中的任务继续执行(步骤S121)。
图1A为根据现有技术,说明图1的任务时序图。图中横轴表示时间t。 于图1中,抢先延迟时间为时间T11及T12。参照图1A,在时间T101之前, 多任务处理器执行第一任务。在时间T101发生中断事件后,多任务处理器 暂停执行第一任务,并在时间T101~T102的期间中进行中断事件的处理程 序(包含中断处理与重新任务调度)。其中,重新任务调度会对所有等待执行 的任务重新排序。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于财团法人工业技术研究院,未经财团法人工业技术研究院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810149435.7/2.html,转载请声明来源钻瓜专利网。