[发明专利]完成高速低开销上下文切换的设备和方法有效
申请号: | 01101251.X | 申请日: | 2001-01-05 |
公开(公告)号: | CN1313551A | 公开(公告)日: | 2001-09-19 |
发明(设计)人: | 维塔利·苏科尼克;亚历山大·米勒斯基;阿米特·多尔 | 申请(专利权)人: | 摩托罗拉公司 |
主分类号: | G06F13/18 | 分类号: | G06F13/18 |
代理公司: | 中国国际贸易促进委员会专利商标事务所 | 代理人: | 付建军 |
地址: | 美国伊*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 完成 高速 开销 上下文 切换 设备 方法 | ||
完成高速低开销上下文切换的设备和方法,特别是在允许多层嵌套的中断和异常的处理器中完成高速低开销上下文切换(contextswitch)的设备和方法。
大多数处理器有连接到寄存器堆的中央处理单元(CPU)。一般也把中央处理单元称为算术逻辑单元(ALU)。处理器处理任务,然而任务是独立的控制线索。与任何任务有关联的是任务上下文(context)。任务上下文是处理器需要的信息,以便定义相关的任务的状态并使其能继续执行。通常,任务上下文包括任务使用的一般寄存器的存储信息,任务的程序计数器和程序状态信息。任务上下文存储在CPU访问的寄存器堆中。
处理器处理一个任务直至该任务结束或直至要求此处理器处理较高优先级的任务。该任务被停止且处理器完成使处理器能处理较高优先级的任务的上下文切换。通常给中断和异常以相对高的优先级。
在某些现有技术方案中,在任务切换期间将任务上下文传送到一个内部或外部存储器模块去。在处理器结束处理较高优先级的任务后,从内部或外部存储器模块恢复任务上下文。
某些完成上下文切换的现有技术方法具有相对较高的开销。在西门子的三芯(TriCore)结构中实现了这么一种现有技术方案。将在三芯(Tricore)结构中使用的寄存器堆分割为两等份,称为上上下文和下上下文。在三芯(Tricore)的一个存储器模块有多个上下文保存区(CSA)。每一个CSA可以存储上上下文或下上下文。将不同的CSA互相连接。至少在较低的上下文传送到CSA之前处理器不能开始处理较高优先级的任务。这种方案消耗时间并导致相对高的开销。
摩托罗拉的M*Core芯片对于实时事件处理具有很低的开销的上下文切换能力。M*Core芯片有两个寄存器堆。一般的寄存器堆和替换寄存器堆。替换寄存器堆减小与上下文切换有关的开销和用于关键任务的保存/恢复时间。当被选择时,对于通常使用一般寄存器的所有指令,替换寄存器堆代替一般寄存器堆。可以将重要的参数和指针值保持替换堆中,因此当开始高优先级的任务时可以迅速地访问。当有多达两个优先级时M*Core是很有效的。两个优先级表示在每一给定时刻有多达两个有关系的上下文--较低优先级任务的上下文和较高优先级任务的上下文。可以将第一个存储在一般寄存器堆中而将第二个存储在替换寄存器堆中。所以,上下文切换不要求将任何上下文写入存储器模块中。因此,M*Core芯片的两个寄存器堆对于实时事件允许很低的开销的上下文切换能力。
在过去的几年中CPU的复杂性特别是它们处理任务的多样性得到了很大增长。这就要求处理器支持多层嵌套任务。现有技术方法和设备没有支持多层(>2)嵌套任务的高速低开销上下文切换能力。
需要在支持多层嵌套任务的处理器中提供以很低的开销完成快速上下文切换的设备和方法。
图1是说明根据本发明的优选实施方式的完成高速低开销上下文切换的设备的图;
图2是本发明的不同的工作条件的时间图;以及
图3是完成高速低开销上下文切换的方法的流程图。
应当注意到在详细说明中使用的特定的术语和表达以及附图中详细公开的特定的结构和工作,只是为了说明的目的并且不打算以任何方式限制在后附的权利要求书中说明的发明的范围。
本发明在支持多层嵌套任务的处理器中提供完成高速低开销的上下文切换的设备和方法。多个(N-1)寄存器堆使得只要服务的嵌套任务不多于N-1个,就允许处理器可以通过在寄存器堆之间的切换来完成上下文切换,而不用等待上下文传送到寄存器堆或从寄存器堆传送出。
本发明提供完成快速低开销的上下文切换的设备和方法。处理器将第一个任务上下文从存储器模块中的上下文保存区传送到寄存器堆去或者相反,同时用另一个寄存器堆处理第二个任务。
为便于解释,服务于比当前被处理器处理的任务具有较高优先级的请求称为前向请求(“FR”),而返回处理以前被停止的较低优先级的任务的请求称为反向请求(“BR”)。
本发明提供多个寄存器堆和直接存储器访问机理,此机理允许处理器这样来响应前向请求,即使用第一寄存器堆开始处理较高优先级的任务同时将停止的任务上下文从第二寄存器堆中传送到存储器模块中的上下文保存区。此外,处理器这样来响应反向请求,即使用存储在第一寄存器堆中的上下文,同时将较低优先级的任务上下文传送到第二寄存器堆。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于摩托罗拉公司,未经摩托罗拉公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/01101251.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:磁盘驱动器的结构和外壳装置
- 下一篇:N-(3-苯并呋喃基)脲衍生物