CN1313551A - 完成高速低开销上下文切换的设备和方法 - Google Patents

完成高速低开销上下文切换的设备和方法 Download PDF

Info

Publication number
CN1313551A
CN1313551A CN01101251A CN01101251A CN1313551A CN 1313551 A CN1313551 A CN 1313551A CN 01101251 A CN01101251 A CN 01101251A CN 01101251 A CN01101251 A CN 01101251A CN 1313551 A CN1313551 A CN 1313551A
Authority
CN
China
Prior art keywords
context
task
register file
current
memory module
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.)
Granted
Application number
CN01101251A
Other languages
English (en)
Other versions
CN1189820C (zh
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.)
NXP USA Inc
Original Assignee
Motorola Inc
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 Motorola Inc filed Critical Motorola Inc
Publication of CN1313551A publication Critical patent/CN1313551A/zh
Application granted granted Critical
Publication of CN1189820C publication Critical patent/CN1189820C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • 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/461Saving or restoring of program or task context
    • G06F9/462Saving or restoring of program or task context with multiple register sets

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

完成高速低开销上下文切换的设备(10)和方法,特别是在处理多层嵌套任务的处理器中。设备(10)处理前向请求(81)和反向请求(82)。设备(10)连接到CPU(50)上并有多个寄存器堆(20,30)和直接存储器访问机理,此机理允许处理器用使用第一寄存器堆(20)开始处理较高优先级任务同时将停止的任务的上下文传送到存储器模块(60)中的上下文保存区的方法来响应前向请求(81)。处理器用使用存储在第一寄存器堆(20)中的上下文,同时将较低优先级任务的上下文传送到第二寄存器堆(30)去的方法来响应反向请求(82)。

Description

完成高速低开销上下文切换的设备和方法
完成高速低开销上下文切换的设备和方法,特别是在允许多层嵌套的中断和异常的处理器中完成高速低开销上下文切换(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”)。
本发明提供多个寄存器堆和直接存储器访问机理,此机理允许处理器这样来响应前向请求,即使用第一寄存器堆开始处理较高优先级的任务同时将停止的任务上下文从第二寄存器堆中传送到存储器模块中的上下文保存区。此外,处理器这样来响应反向请求,即使用存储在第一寄存器堆中的上下文,同时将较低优先级的任务上下文传送到第二寄存器堆。
通常给中断和异常以较高的优先级。在各种处理器中,如PowerPC601,将较高的优先级给某些异常,如异步、不精确异常,而其他异常,如同步精确异常,给以较低的优先级。
当在流水线处理器中出现精确异常时,在执行完指令流中所有前面的指令后发出前向请求81。
图1是说明完成高速低开销上下文切换的设备10的图。设备10方便地形成具有一个CPU的处理器的一部分。设备10包括第一寄存器堆20,第二寄存器堆30,控制单元40,和存储器模块60。CPU50经过数据总线21和控制及地址总线31连接到寄存器堆20和寄存器堆30上。控制单元40分别经过第一控制总线41和第二控制总线42连接到寄存器堆20和30上,并进一步经过第三控制总线43和经过存储器地址总线44连接到存储器模块60上。寄存器堆20和30经DMA数据总线33连接到存储器模块60。
控制单元40接收前向请求81和反向请求82并确定CPU50可以访问哪一个寄存器堆20/30,以及哪一个上下文是要在寄存器堆20/30和存储器模块60中的上下文保存区之间传送的。通常称前向请求81为“中断请求”,而称反向请求82为“中断返回请求”。控制单元40分别经过控制总线41和42发送控制信号CPU183和CPU284,它确定CPU50可以访问哪一个寄存器堆20和30,以CPU50在每个给定的时刻可以访问一个寄存器堆20/30的方式。控制单元40分别经过控制总线41和42发送控制信号DMA185和DMA286,以确定在上下文传送中涉及哪一个寄存器堆20/30以及是否将上下文从寄存器堆20/30传送到上下文保存区或反过来传送。
存储器模块60有多个可以保存上下文的上下文保存区。方便地,有N-1个上下文保存区,其中N是嵌套深度。
方便地,控制单元40有直接存储器访问(DMA)控制器,它允许上下文在寄存器堆20和30以及存储器模块60中的上下文保存区之间进行DMA传送。使用地址总线44和控制总线43,以及控制总线41和42,DMA控制器确定参加上下文事务的上下文保存区的地址以及上下文是从寄存器堆发送到上下文保存区或是反过来发送。
方便地,为了加快写及存储过程,DMA数据总线33相对较宽。
参考图2,在T1时刻,CPU50处理P4优先级任务。存储器模块60中的所有上下文保存区是空的。第一个,第二个和第三个上下文保存区71,72和73的地址相应地是0000,0100和1000。寄存器堆20保存P4优先级任务上下文。
在T2时刻,要求CPU50处理P3优先级任务。相应地,前向请求81变高,并引起控制单元40开始上下文切换。一小会以后前向请求81变低。控制信号CPU183变低而控制信号CPU284变高,指示CPU50访问寄存器堆30而不是寄存器堆20。控制信号DMA185和CMR191变高开始从寄存器堆20DMA传送P4优先级任务上下文。经过总线44发送到存储器模块60的地址信号ADDS75的值是0000。从寄存器堆20到第一上下文保存区71的P4优先级任务上下文的传送在T3结束,此处ADDS75,DMA185和CMR191变低。
在T4时刻,要求CPU50处理P2优先级任务。相应地,前向请求81变高,并引起控制单元40开始上下文切换。一小会以后前向请求81变低。控制信号CPU183变高而控制信号CPU284变低,指示CPU50访问寄存器堆20而不是寄存器堆30。控制信号DMA286和CMR292变高开始从寄存器堆30DMA传送P3优先级任务上下文。经过总线44发送到存储器模块60的地址信号ADDS75的值是0100。从寄存器堆30向第二上下文保存区72的P3优先级任务上下文的传送在T5结束,此处ADDS75,DMA286和CMR292变低。
在T6时刻,要求CPU50处理P1优先级任务。相应地,前向请求81变高,并引起控制单元40开始上下文切换。一小会以后前向请求81变低。控制信号CPU183变低而控制信号CPU284变高,指示CPU50访问寄存器堆30而不是寄存器堆20。控制信号DMA185和CMR191变高开始从寄存器堆20DMA传送P2优先级任务上下文。经过总线44发送到存储器模块60的地址信号ADDS75的值是1000。从寄存器堆20向第三上下文保存区73的P2优先级任务上下文的传送在T7结束,此处ADDS75,DMA185和CMR191变低。
在T8时刻,P1优先级任务结束,相应地反向请求82变高。一小会以后反向请求82变低。CPU50重新开始处理P2优先级任务,而P2优先级任务上下文存储在寄存器堆20中。控制信号CPU183变高而控制信号CPU284变低,指示CPU50访问寄存器堆20而不是寄存器堆30。控制信号DMA286和CMW294变高开始DMA传送P3优先级任务上下文到寄存器堆30。经过总线44发送到存储器模块60的地址信号ADDS75的值是0100。从第二上下文保存区72到寄存器堆30的P3优先级任务上下文的传送在T9结束,此处ADDS75,DMA286和CMW294变低。
在T10时刻,P2优先级任务结束,相应地反向请求82变高。一小会以后反向请求82变低。CPU50重新开始处理P3优先级任务,而P3优先级任务上下文存储在寄存器堆30中。控制信号CPU183变低而控制信号CPU284变高,指示CPU50访问寄存器堆30而不是寄存器堆20。控制信号DMA185和CMW193变高开始DMA传送P4优先级任务上下文到寄存器堆20。经过总线44发送到存储器模块60的地址信号ADDS75的值是0000。从第一上下文保存区71到寄存器堆20的P4优先级任务上下文的传送在T11结束,此处ADDS75,DMA185和CMW193变低。
在T12时刻,P3优先级任务结束,相应地反向请求82变高。一小会以后反向请求82变低。CPU50重新开始处理P4优先级任务,而P4优先级任务上下文存储在寄存器堆20中。控制信号CPU183变高而控制信号CPU284变低,指示CPU50访问寄存器堆20而不是寄存器堆30。
方便地,在将上下文在存储器模块60和寄存器堆20或寄存器堆30之间传送时,将前向请求信号81和反向请求信号82屏蔽,以便保证上下文不被破坏。
通过使上下文的大小可变并且采用在寄存器堆和上下文保存区之间只有一部分寄存器堆传送的方式可进一步加速上下文切换。为了实现这种方案控制单元40必须接收指示被传送的上下文的大小的大小信号,并且必须存储以前的大小信号以便它可以将该上下文恢复到寄存器堆。此外,ADDS75信号的值随以前的ADDS75的值以及以前的大小信号的值而定。上下文保存区有对应于大小信号的可变大小。DMA控制器接收大小信号并相应地只传送所述大小长度的上下文。
用具有多于两个寄存器堆的方法可进一步加速上下文切换,使得CPU50可以在多于两个任务之间切换而无需完成从存储器模块60至寄存器堆的上下文传送。为实现这种方案,控制单元40要给附加的寄存器堆和存储器模块60提供附加的控制信号。附加的寄存器堆最好类似于寄存器堆20和30,并且以相同的方式连接到CPU50,控制单元40和存储器模块60上。例如,如果有一个附加的寄存器堆(未画出),控制单元40会给它提供控制信号如CPU3和DMA3,相应地类似于CPU1、CPU2和DMA1/DMA2。附加的寄存器堆经过第三DMA总线连接到存储器模块60上,控制单元40给存储器模块60提供控制信号CMR3和CMW3,类似于CMR1/CMR2和CMW1/CMW2
图3是使CPU50完成高速低开销上下文切换的方法的流程图。
称当前处理的任务为“当前任务”。与当前任务有关的上下文称为“当前优先级任务上下文”。在处理当前任务的同时访问的寄存器堆称为“当前寄存器堆”。具有比当前任务的优先级较高优先级的任务称为“较高优先级的任务”。与较高优先级的任务有关的上下文称为“较高优先级任务上下文”。存储较高优先级任务上下文的寄存器堆称为“较高优先级寄存器堆”。具有比当前任务的优先级较低优先级的任务称为“较低优先级的任务”。与较低优先级的任务有关的上下文称为“较低优先级任务上下文”。存储较低优先级任务上下文的寄存器堆称为“较低优先级寄存器堆”。具有比较低优先级任务的优先级更低的优先级的任务称为“更低优先级的任务”。与更低优先级的任务有关的上下文称为“更低优先级任务上下文”。存储更低优先级任务上下文的寄存器堆称为“更低优先级寄存器堆”。
矩形方框110,120和130表示方法步骤。方法包括以下步:
由CPU50处理(110步)当前任务,而在处理过程中,允许CPU50访问当前寄存器堆。可以把较低优先级任务上下文存储在较低优先级寄存器堆中和存储器模块60中的上下文保存区中。如果CPU50已经先停止处理较低优先级的任务以便处理相对较低优先级的任务有较高优先级的任务,则存储较低优先级任务的上下文。如由路径112指示的,如果需要处理较高优先级的任务,120步跟在110步后面。如由路径118指示的,如果当前的任务结束了并且需要重新开始处理较低优先级的任务,则130步跟在110步后面。
如果接收到处理较高优先级的任务的请求,完成前向上下文切换(120步)。在120步期间用较高优先级寄存器堆切换当前寄存器堆而把当前任务的上下文传送到存储器模块60去。方便地,阻止CPU50访问当前的寄存器堆直至当前任务上下文传送到存储器模块60去;如由路径122指示的,当当前任务成为较低优先级的任务而较高优先级的任务成为当前的任务后跳到110步。
如果接收到重新开始处理较低优先级的任务的请求,完成后向上下文切换(130步)。在130步期间用较低优先级寄存器堆切换当前寄存器堆。如果存储器模块60存储有效的更低优先级的上下文,则把更低优先级的上下文传送到更低的寄存器堆去;如由路径132指示的,当将较低优先级的任务成为当前任务而如果有有效的更低优先级的任务它就成为较低优先级的任务后跳到110步。
例如,假设有三级优先级P1,P2和P3,而P1是最高优先级而P3有最低优先级;有两个寄存器堆20和30并且在存储器模块60中有两个上下文保存区71和72。
在110步期间,CPU50处理P2优先级任务,而允许CPU50访问寄存器堆20。P2优先级任务是当前任务而寄存器堆20是当前寄存器堆。此前,当处理P2优先级任务的请求到达时CPU50停止处理P3优先级任务。此P3优先级任务是较低优先级任务。P3优先级任务的上下文是较低优先级任务上下文。它存储存寄存器堆30(称为“较低优先级寄存器堆”)和第一上下文保存区71中(称为“较低优先级上下文保存区”)。
当CPU50结束处理P2优先级任务时,并且如由路径118指示的,130步跟在110步后面,在其中处理P3优先级任务,而CPU50访问寄存器堆20。因此寄存器堆20成为当前寄存器堆而P3优先级任务成为当前任务。
如果在110步期间,要求CPU50处理P1优先级任务,120步跟在110步后面,在其中完成第一类型上下文切换。P1优先级任务是当前任务。P2优先级任务成为较低优先级任务而P3优先级任务成为更低优先级任务。在120步期间将P2优先级任务上下文(即较低优先级任务上下文)传送到存储器模块60中的上下文保存区去。如由路径122指示的110步跟在120步后面,在其中处理P1优先级任务。
应当注意到使用的特定的术语和表达以及在详细说明中及附图中详细公开的特定的结构和工作,只是为了说明的目的并不打算以任何方式限制在后附的权利要求书中说明的发明的范围。
因此这里已经说明的实施方式包括对于用于完成高速低开销上下文切换的设备和方法改善的方法和装置的至少一个优选实施方式。对那些熟练技术的人显然可以以很多方法修正公开的主题内容,并且可以假定不同于上面陈述和说明的特定的优选形式的很多
实施方式。
因此,上面公开的主题内容被认为是用作说明而不是限制,并且被法律允许到最大范围,想要由后附的权利要求书覆盖属于本发明的真实的精神和范围的所有的修正和其他的实施方式。用广泛的可允许的解释下面的权利要求书及其等效而不是用先前详细说明的东西来确定本发明的范围。

Claims (10)

1、在中央处理单元(CPU)50中完成上下文切换的设备(10),其中CPU(50)适合于处理不同优先级的任务,设备(10)的特征在于包括:
多个寄存器堆(20,30),连接到CPU(50)上;
存储器模块(60),连接到多个寄存器堆(20,30)上,适合于存储任务上下文;
控制单元(40),连接到CPU(50)上,寄存器堆(20,30)上和存储器模块(60)上;以及
其中控制单元(40)适合于接收请求处理具有比由CPU(50)处理的当前任务较高优先级的任务的前向请求(81),把存储当前任务上下文的当前寄存器堆(20)切换至另一个寄存器堆(30)从而CPU(50)能访问另一个寄存器堆(30),并且将当前任务上下文从当前寄存器堆(20)传送到存储器模块(60)。
2、权利要求1的设备(10),其中控制单元(40)适合于接收请求重新开始处理先前的任务的反向请求(82),处理由于要求处理较高优先级的任务而先前被停止的先前的任务,把存储较高优先级任务上下文的寄存器堆(20)切换至存储先前的任务上下文的先前的寄存器堆(30)从而CPU(50)能访问先前的寄存器堆(30),并且如果存储器模块(60)存储着比先前的任务具有较低的优先级的任务的上下文,将较低优先级任务上下文传送到另一个寄存器堆。
3、权利要求2的设备(10),其中在任何寄存器堆和存储器模块(60)之间传送上下文期间,屏蔽反向请求(82)和前向请求(81)。
4、权利要求2的设备(10),其中存储器模块(60)有多个上下文保存区(71,72,73),每个上下文保存区适合于存储一个上下文。
5、权利要求2的设备(10),其中控制单元(40)有直接存储器访问控制器,用于控制上下文在存储器模块(60)和寄存器堆(20,30)之间的传送。
6、权利要求2的设备(10),其中寄存器堆(20,30)经过宽的数据总线(33)连接到存储器模块(60)上。
7、权利要求2的设备(10),其中设备(10)适合于处理不同大小的上下文,其中设备(10)适合于接收前向请求(81)和定义当前任务上下文大小信息,从当前寄存器堆(20)传送当前任务上下文至存储器模块(60),保存大小信息;以及
其中设备(10)适合于接收反向请求(82)并使用存储的大小信息以便从存储器模块(60)传送先前的任务上下文至先前的寄存器堆(30)。
8、具有高速低开销上下文切换能力的处理器,处理器适合于处理不同优先级的任务,处理器的特征在于:
中央处理单元(CPU50);
多个寄存器堆(20,30),连接到CPU(50)上;
存储器模块(60),连接到寄存器堆(20,30)上,适合于存储任务上下文;
控制器单元(40),连接到CPU(50)上,寄存器堆(20,30)上和存储器模块(60)上;以及
其中控制单元(40)适合于接收请求处理具有比处理器处理的当前任务较高优先级的任务的前向请求(81),把存储当前任务上下文的当前寄存器堆(20)切换至另一个寄存器堆(30)从而使CPU(50)能访问另一个寄存器堆(30),并且将当前任务上下文从当前寄存器堆(20)传送到存储器模块(60)。
9、用于在处理器中完成高速低开销的上下文切换的方法,方法的特征在于包括下面的步:
处理当前上下文,其中允许处理器的CPU(50)访问当前寄存器堆(20);
接收处理较高优先级任务的请求,并相应地将当前的寄存器堆(20)切换到较高优先级寄存器堆(30)并将当前任务上下文从当前寄存器堆(20)传送到存储器模块(60)去,跳到处理当前任务的步去,其中较高优先级的任务成为当前任务而较高优先级寄存器堆(30)成为当前寄存器堆;以及
接收重新开始处理较低优先级的任务的请求,并相应地把当前的寄存器堆切换到较低优先级寄存器堆,如果存储器模块(60)存储了更低优先级任务的上下文,则把更低优先级任务的上下文传送到当前的寄存器堆去,跳到处理当前任务的步,其中较低优先级的任务成为当前任务并且如果有更低优先级的任务它就成为较低优先级的任务。
10、权利要求9的方法,其中上下文存储在存储器模块(60)中的上下文保存区(71,72,73)中,其中每个上下文保存区适合于存储一个上下文。
CNB01101251XA 2000-01-07 2001-01-05 完成高速低开销上下文切换的设备和方法 Expired - Fee Related CN1189820C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/479,200 2000-01-07
US09/479,200 US6553487B1 (en) 2000-01-07 2000-01-07 Device and method for performing high-speed low overhead context switch

Publications (2)

Publication Number Publication Date
CN1313551A true CN1313551A (zh) 2001-09-19
CN1189820C CN1189820C (zh) 2005-02-16

Family

ID=23903051

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB01101251XA Expired - Fee Related CN1189820C (zh) 2000-01-07 2001-01-05 完成高速低开销上下文切换的设备和方法

Country Status (6)

Country Link
US (1) US6553487B1 (zh)
EP (1) EP1115060A3 (zh)
JP (1) JP2001209549A (zh)
KR (1) KR100766732B1 (zh)
CN (1) CN1189820C (zh)
TW (1) TW589580B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1936847B (zh) * 2005-09-19 2012-10-03 英特尔公司 用于上下文状态管理的装置、方法和系统
CN106663076A (zh) * 2014-06-18 2017-05-10 高通股份有限公司 存储介质之间的时间约束型数据复制
CN107870878A (zh) * 2017-10-31 2018-04-03 深圳清华大学研究院 存储系统、终端及计算机装置
CN110633132A (zh) * 2018-06-21 2019-12-31 瑞萨电子株式会社 存储器模块
CN111124624A (zh) * 2019-12-24 2020-05-08 浙江大学 一种基于TriCore架构处理器的操作系统任务上下文管理方法
WO2021208097A1 (en) * 2020-04-17 2021-10-21 Huawei Technologies Co., Ltd. Methods and apparatuses for resource management of a network connection to process tasks across the network

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6823517B1 (en) * 2000-01-27 2004-11-23 Andrew E. Kalman Multi-tasking-real-time operating system for microprocessors with limited memory that constrains context switching to occur only at task level
US7246220B1 (en) * 2001-07-27 2007-07-17 Magnum Semiconductor, Inc. Architecture for hardware-assisted context switching between register groups dedicated to time-critical or non-time critical tasks without saving state
FR2840702B1 (fr) * 2002-06-06 2004-11-26 Tak Asic Procede de changement de taches de codage d'image
KR100505638B1 (ko) * 2002-08-28 2005-08-03 삼성전자주식회사 워킹 콘텍스트 저장 및 복구 장치 및 방법
ATE495490T1 (de) * 2002-09-03 2011-01-15 Silicon Hive Bv Vorrichtung und verfahren zur verarbeitung von geschachtelten unterbrechungen
US7313797B2 (en) * 2002-09-18 2007-12-25 Wind River Systems, Inc. Uniprocessor operating system design facilitating fast context switching
US6981083B2 (en) 2002-12-05 2005-12-27 International Business Machines Corporation Processor virtualization mechanism via an enhanced restoration of hard architected states
US7739451B1 (en) * 2002-12-27 2010-06-15 Unisys Corporation Method and apparatus for stacked address, bus to memory data transfer
US7487288B2 (en) * 2004-05-14 2009-02-03 International Business Machines Corporation Dynamic loading of virtual volume data in a virtual tape server
WO2006081092A2 (en) * 2005-01-27 2006-08-03 Innovasic, Inc. Deterministic microcontroller with configurable input/output interface
US7606363B1 (en) 2005-07-26 2009-10-20 Rockwell Collins, Inc. System and method for context switching of a cryptographic engine
WO2007034265A1 (en) * 2005-09-21 2007-03-29 Freescale Semiconductor, Inc. System and method for storing state information
KR100770034B1 (ko) * 2006-03-02 2007-10-26 삼성전자주식회사 복수의 레지스터 파일을 이용한 문맥 교환 방법 및 시스템
JP2007257257A (ja) * 2006-03-23 2007-10-04 Matsushita Electric Ind Co Ltd マルチタスクシステムにおけるタスク実行環境切替え方法
JP5316407B2 (ja) * 2007-06-20 2013-10-16 富士通株式会社 演算処理装置および演算処理装置の制御方法
WO2009022371A1 (ja) * 2007-08-16 2009-02-19 Netcleus Systems Corporation タスク処理装置
US8762692B2 (en) 2007-09-27 2014-06-24 Intel Corporation Single instruction for specifying and saving a subset of registers, specifying a pointer to a work-monitoring function to be executed after waking, and entering a low-power mode
US8417842B2 (en) * 2008-05-16 2013-04-09 Freescale Semiconductor Inc. Virtual direct memory access (DMA) channel technique with multiple engines for DMA controller
KR101014028B1 (ko) * 2008-11-26 2011-02-14 한양대학교 산학협력단 고속 블록 입출력을 위한 적응성 문맥전환 방법 및 장치
US8825926B2 (en) 2009-04-13 2014-09-02 Microchip Technology Incorporated Processor with assignable general purpose register set
US9195497B2 (en) * 2012-03-21 2015-11-24 Microchip Technology Incorporated Microcontroller with context switch
US9898330B2 (en) 2013-11-11 2018-02-20 Intel Corporation Compacted context state management

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5398753A (en) * 1977-02-09 1978-08-29 Nippon Telegr & Teleph Corp <Ntt> Interrupt processing system
JPS5616248A (en) * 1979-07-17 1981-02-17 Matsushita Electric Ind Co Ltd Processing system for interruption
JPS57106960A (en) * 1980-12-23 1982-07-03 Nippon Telegr & Teleph Corp <Ntt> Data processor with interruption control facility
JPS6151243A (ja) * 1984-08-20 1986-03-13 Toshiba Corp レジスタ式演算処理装置
JPH02148223A (ja) * 1988-11-30 1990-06-07 Toshiba Corp レジスタ退避復活装置
JPH0630063B2 (ja) * 1989-02-17 1994-04-20 株式会社東芝 マイクロプロセッサ
US5036539A (en) * 1989-07-06 1991-07-30 Itt Corporation Real-time speech processing development system
JPH0340139A (ja) * 1989-07-07 1991-02-20 Fujitsu Ltd マルチタスクシステムにおけるコンテキスト切換方法
JPH04358227A (ja) * 1991-06-04 1992-12-11 Nec Corp マイクロプロセッサ
US5655132A (en) * 1994-08-08 1997-08-05 Rockwell International Corporation Register file with multi-tasking support
US5966529A (en) 1995-05-15 1999-10-12 Zsp Corporation Processor having auxiliary operand register file and complementary arrangements for non-disruptively performing adjunct execution
US5815701A (en) 1995-06-29 1998-09-29 Philips Electronics North America Corporation Computer method and apparatus which maintains context switching speed with a large number of registers and which improves interrupt processing time
US6247040B1 (en) * 1996-09-30 2001-06-12 Lsi Logic Corporation Method and structure for automated switching between multiple contexts in a storage subsystem target device

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1936847B (zh) * 2005-09-19 2012-10-03 英特尔公司 用于上下文状态管理的装置、方法和系统
CN106663076A (zh) * 2014-06-18 2017-05-10 高通股份有限公司 存储介质之间的时间约束型数据复制
CN107870878A (zh) * 2017-10-31 2018-04-03 深圳清华大学研究院 存储系统、终端及计算机装置
CN110633132A (zh) * 2018-06-21 2019-12-31 瑞萨电子株式会社 存储器模块
CN111124624A (zh) * 2019-12-24 2020-05-08 浙江大学 一种基于TriCore架构处理器的操作系统任务上下文管理方法
CN111124624B (zh) * 2019-12-24 2023-05-02 浙江大学 一种基于TriCore架构处理器的操作系统任务上下文管理方法
WO2021208097A1 (en) * 2020-04-17 2021-10-21 Huawei Technologies Co., Ltd. Methods and apparatuses for resource management of a network connection to process tasks across the network

Also Published As

Publication number Publication date
TW589580B (en) 2004-06-01
EP1115060A2 (en) 2001-07-11
US6553487B1 (en) 2003-04-22
EP1115060A3 (en) 2004-06-16
JP2001209549A (ja) 2001-08-03
KR100766732B1 (ko) 2007-10-15
KR20010070469A (ko) 2001-07-25
CN1189820C (zh) 2005-02-16

Similar Documents

Publication Publication Date Title
CN1189820C (zh) 完成高速低开销上下文切换的设备和方法
US6430594B1 (en) Real-time operating system and a task management system therefor
CN100535850C (zh) 用于在编程引擎之间传送数据的方法和装置
EP0447146A2 (en) Hardware distributor for distributing serial instruction stream data to parallel processors
US7937710B1 (en) Context switch signaling method and system
CN1009396B (zh) 具有指令予取换向中断服务的数据处理器控制部件
CN100369024C (zh) 直接存储访问控制装置和图像处理系统以及传输方法
KR100291301B1 (ko) 신호 데이터 처리 시스템 및 방법과 신호 데이터 처리 시스템을 구비한 통신 시스템
US7688815B2 (en) Method and system for a multi-stage interconnect switch
US8093485B2 (en) Method and system for prefetching sound data in a sound processing system
US7165128B2 (en) Multifunctional I/O organizer unit for multiprocessor multimedia chips
CN1719427A (zh) 存储器直接存取装置及其数据传输方法
US20080181254A1 (en) Data transmission method
US6633928B2 (en) Fast process context switching buffer
JPH09146839A (ja) キャッシュメモリ制御装置
KR100243101B1 (ko) 멀티미디어 서버에서의 윈도우 메모리의 구조
CN1234550A (zh) 加载/存储协助引擎
CN1602014A (zh) 为网络处理器调度连接的方法与装置
KR0168792B1 (ko) 비동기전송모드에 있어서 효율적인 셀수신 처리 방법 및 장치
JPH04274524A (ja) プロセス間通信制御方式
KR20020058194A (ko) 이중 버스 구조를 이용한 데이터 처리장치
JP2018113658A (ja) 画像処理装置、制御方法およびプログラム
JPH06332721A (ja) レジスタの使用方法
JPH0381856A (ja) データ転送制御方式
JPH076081A (ja) 数値データ処理装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: FREEDOM SEMICONDUCTORS CO.

Free format text: FORMER OWNER: MOTOROLA, INC.

Effective date: 20040820

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20040820

Address after: Texas in the United States

Applicant after: FreeScale Semiconductor

Address before: Illinois Instrunment

Applicant before: Motorola, Inc.

C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee

Owner name: FISICAL SEMICONDUCTOR INC.

Free format text: FORMER NAME: FREEDOM SEMICONDUCTOR CORP.

CP01 Change in the name or title of a patent holder

Address after: Texas in the United States

Patentee after: FREESCALE SEMICONDUCTOR, Inc.

Address before: Texas in the United States

Patentee before: FreeScale Semiconductor

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20050216

Termination date: 20200105

CF01 Termination of patent right due to non-payment of annual fee