任务处理装置制造方法及图纸

技术编号:7319047 阅读:151 留言:0更新日期:2012-05-04 14:51
一种任务处理装置(100),包括CPU(150)、保存电路(120)以及任务控制电路(200)。CPU(150)配置有处理寄存器、和将数据从存储器加载到处理寄存器中并按照处理寄存器中的数据来执行任务的执行控制电路(152)。保存电路(120)配置有分别对应多个任务的多个保存寄存器(110)。当执行规定的系统调用命令时,执行控制电路(152)将通知任务控制电路(200)。当收到系统调用命令执行通知时,任务控制电路(200)将处理寄存器中的数据保存到与执行中的任务相对应的保存寄存器(110)中,接着选择下一个应被执行的任务,并将与所选择任务相对应的保存寄存器(110)中的数据加载到处理寄存器(154)中,从而切换执行对象的任务。

【技术实现步骤摘要】

本专利技术涉及一种OS (Operating System,操作系统)的功能,特别是涉及一种任务调度技术。
技术介绍
不仅是如个人计算机一样的通用设备用0S,就连如移动电话一样的专用设备用 OS中也逐渐要求高级功能。特别是能够用一个CPU (Central Processing Unit,中央处理器)执行多个任务的0S(以下将这种类型的OS称作“多任务OS”)现已经被配置在很多的电子装置中。多任务OS将CPU的处理时间分割为单位时间(时间片),并为多个任务顺序分配时间片。只有当从OS获得时间片时,各任务才能够使用CPU。在一个时间片中执行一个任务。由于时间片是非常短的时间,对于用户而言,多个任务看似是同时执行的。根据这种处理方法,通过在任务A到达等待输入的状态因而不需要用到CPU的处理能力时,将执行权交给其它任务B,能够有效利用CPU的处理能力。这里所说的执行权等同于使用CPU的权利。多任务OS进行的执行权转移被称作“任务切换”。任务切换是在时间片已经届满、 或任务执行规定命令时发生。当到达任务切换的执行时刻时,多任务OS将执行中的任务的上下文信息保存到TCB (Task Control Block 任务控制块)中。上下文信息是指任务执行时存储在CPU的寄存器中的数据、或与任务执行状态有关的数据。TCB是指为了存储只有任务才有的信息而在存储器中预留的区域。多任务OS将执行中的任务的上下文信息保存到 TCB中后,选择将分配给执行权的任务,从TCB中读出上下文信息,并将该信息加载到CPU寄存器中。由此,各任务以时间片为单位一点点地执行自身的处理。多任务OS具有能够高效地执行多个任务的优点,但是也具有产生与上下文信息保存/加载相对应的开销的缺点。通常多任务OS的优点远远大于与任务切换有关的开销。日本特开平11-272480号公报日本特开2001-75820号公报森久直,坂卷佳寿美,重松宏志,“用于嵌入式控制系统的实时OS 的硬件实现”(“組込办制御〉7于A向什,J 了义夕4 A OS乃八一卜·、々工7化(Hardware implementation of a read-time operating system for embedded control system)”), 东京都立产业技术研究所研究报告,日本,2005年8月4日(收稿),8,p. 55-58。
技术实现思路
本专利技术要解决的问题近年来,严格要求在规定时间内完成处理的实时OS (以下称作“RT0S (Real-TimeOperating System)”)被特别广泛地应用于嵌入式系统(Embedded System)中。在这种时间要求严格的RTOS中,存在任务切换时的开销大大影响系统整体性能的情况。本专利技术人意识到为了进一步提高多任务处理的效率,需要降低与任务切换有关的开销。本专利技术是鉴于上述问题而作出的,其主要目的在于提供一种用于在多任务处理中更高效地控制任务执行的技术。用于解决问题的手段本专利技术的一个方面涉及一种任务处理装置。所述任务处理装置包括处理寄存器、将数据从存储器加载到所述处理寄存器中并按照该处理寄存器中的所述数据执行任务的执行控制电路、分别与多个任务对应的多个保存寄存器、以及任务控制电路;当执行规定的系统调用命令时,执行控制电路将通知所述任务控制电路;当收到系统调用命令执行通知时,任务控制电路将所述处理寄存器中的所述数据保存到与执行中的任务相对应的保存寄存器中,接着选择下一个应被执行的任务,并将与所选择任务相对应的保存寄存器中的数据加载到所述处理寄存器中,从而切换执行对象的任务。加载到所述处理寄存器中的数据可以包括命令(instruction)和操作数、不具有操作数的命令、或者诸如程序计数器或堆栈指针的简单数据。根据这种处理方法,通过在对应每个任务的保存寄存器和执行用处理寄存器之间适当调换上下文信息,能够实现上下文信息的保存及加载。由于这样实质上不需要为了处理寄存器中数据的保存/加载而访问 TCB,因此实现了高速的任务切换。此外,以上结构要素的任意组合、以及通过方法、系统、记录介质、计算机程序来表现本专利技术的实现方式,也可以作为本专利技术的有效方式。本专利技术的有益效果根据本专利技术,能够在多任务处理中更高效地控制任务执行。 附图说明图1为任务的状态转换图;图2为普通RTOS的概念图;图3为执行软件RTOS的普通CPU的电路图;图4为一个实施例中的RTOS的概念图;图5为本实施例中的任务处理装置的电路图;图6为图5所示CPU的电路图;图7为表示执行控制电路152使CPU时钟停止的构造的电路图;图8(a)为表示中断请求信号发生时各种信号之间关系的时序图;图8(b)为表示执行系统调用时各种信号之间关系的时序图;图9为用于说明流水线(pipeline)处理中CPU时钟停止时刻的示意图;图10为表示状态存储单元和任务切换电路之间关系的电路图;图11为表示普通RTOS进行RUN-任务选择时所采用的任务就绪表的图;图12为执行选择电路的电路图13为表示普通RTOS进行信号量(Semaphore)处理时所采用的等待信号量表 (wait semaphore list)的图;图14为信号量选择电路的电路图;图15为任务切换电路的状态转换图;图16为图5所示的任务处理装置中未配置任务控制电路时的任务处理装置的电路图;图17为图5所示的任务处理装置中未配置保存电路时的任务处理装置的电路图。 具体实施例方式本专利技术实施例所示的任务处理装置100由电子电路来实现多任务OS的任务调度功能。在详细说明任务处理装置100之前,首先参照图1说明任务的状态转换。这里虽然是对普通多任务OS中的任务状态转换进行说明,但是这些说明对于任务处理装置100中的任务状态转换同样适用。另外,还对在任务处理装置100中执行的系统调用进行概述。在参照图2和图3描述普通多任务OS的设计思想的基础上,参照图4至图10详细描述本实施例中的任务处理装置100的处理方法。并且,对于与信号量或互斥(Mutex)、事件等有关的处理,也适当通过与一般技术进行比较来说明任务处理装置100的特征。任务的状态转换图1是任务的状态转换图。在多任务处理中,各任务都具有“状态(State) ”。各任务在多个状态之间转换,通常是处于某一个状态。状态转换由“系统调用的执行”和“检测出中断请求信号”来触发。系统调用是各任务执行的命令中的特殊命令。中断请求信号是在按下键盘或点击鼠标、接收通信数据等从外围设备接收规定数据时发生的信号。当然, 当分配给各任务的时间片耗尽时也发生状态转换。任务大致分为“常规任务”和“特殊任务”。常规任务是响应系统调用而执行的非特殊任务。特殊任务是响应检测出中断请求信号而执行的任务,即所谓的中断处理程序。首先描述各个任务状态,然后说明各种系统调用命令。(1) STOP状态(休眠状态)表示任务处于休眠状态。常规任务和特殊任务都能够处于STOP状态。以下将处于STOP状态的任务称作“STOP-任务”。1-1.常规任务当其它任务执行指示启动另一项任务的系统调用(以下称作“启动系统调用”) 时,处于STOP状态的常规任务转换到后述的READY状态。1-2.特殊任务特殊任务通常处于STOP状态。当通过后述的任务切本文档来自技高网
...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:丸山修孝
申请(专利权)人:科尼龙硅公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术