专利名称:信息处理装置和任务切换方法
技术领域:
本发明涉及ー种信息处理装置以及ー种任务切換方法,并且更具体地涉及ー种在多个协处理器(coprocessor)中切换任务的技术。
背景技术:
近年来,通过将专用协处理器连接到嵌入的处理器核而不是使用专用硬件来执行信号处理的专用LSI (大規模集成)变得普遍以增强处理的灵活性。在这种情况下,出现了在一个处理器核中处理多个任务以便提高面积效率的需要。特别地,在一个处理器核中执行具有不同属性的多个任务的情况下,将增加多个协处理器被连接到一个处理器核的情形。通常,在切换任务的情况下,协处理器和存在于协处理器中的运算寄存器 (arithmetic register)的数据被临时地保存。然后,当被切换回原始的任务时,被保存的数据需要被恢复到运算寄存器。在大多数情况下,数据保存/恢复处理由处理器核根据在软件中描述的指令序列来执行。然而,该方法要求毎次切換任务时针对运算寄存器中的每ー个执行以下处理从运算寄存器读取当前任务的数据;将该数据写入到存储器中;从存储器读取下一个任务的数据;以及将该数据写入到运算寄存器中。另外,在连接了多个协处理器的情况下,处理器核需要针对多个协处理器中的每ー个逐个地执行上述处理。因此,当频繁地进行任务切换吋,由对于保存和恢复操作所需要的处理时间引起的开销增加。这引起了在实时处理中难于进行任务切换的问题。为了解决这个问题,专利文献I和2例如提出了通过区分使用协处理器的任务和不使用协处理器的任务并且跳过保存和恢复协处理器上下文来加速任务切换处理的技木。另外,专利文献3例如提出了通过仅保存用于任务的运算寄存器来加速任务切换的技木。然而,即使使用那些技术,当所使用的协处理器的数目增加时,也需要在任务切换时对于相关协处理器中的每ー个执行运算寄存器保存/恢复处理。另外,因为直到保存/恢复操作结束才进行任务切换,所以对于任务切换仍然花费长的时间。引用列表专利文献PTL I日本未审查专利申请公报Νο·Η04-09513PTL 2日本未审查专利申请公报Νο·Η04-051329PTL 3日本未审查专利申请公报Νο·Η06-00430
发明内容
技术问题如在上文背景技术中所描述的,毎次切換任务时,处理器核需要针对运算寄存器中的每ー个执行以下处理从运算寄存器读取当前任务的数据;将该数据写入到存储器中;从存储器读取下一个任务的数据;以及将该数据写入到运算寄存器中。另外,在连接了多个协处理器的情况下,处理器核需要针对多个协处理器中的每ー个逐个地执行上述处理。因此,存在在多个协处理器中切換任务花费长时间的问题。为了解决上述问题,本发明的示例性目的因此提供一种能够減少对于在多个协处理器中的任务切换所需要的时间的信息处理装置和任务切换方法。问题的解决方案根据本发明的第一示例性方面的信息处理装置包括处理器核;多个协处理器,协处理器包括用于响应于来自处理器核的请求执行操作的操作装置,以及用于存储操作装置的操作的内容的操作存储装置;多个保存存储装置,用于存储从操作存储装置保存的操作的内容,该多个保存存储装置分别与多个协处理器相对应;任务切换控制装置,用于当多个协处理器中的至少ー个执行操作的任务从第一任务切换到第二任务时输出请求保存/恢复操作的内容的保存/恢复请求信号;以及多个保存/恢复装置,分别与多个协处理器相对应,其中多个保存/恢复装置中的每ー个执行将与在操作存储装置中存储的第一任务有 关的操作的内容保存到保存存储装置和将与在保存存储装置中存储的第二任务有关的操作的内容恢复到操作存储装置中的至少ー个。根据本发明的第二示例性方面的任务切换方法是响应于来自处理器核的请求切换执行任务的操作的多个协处理器执行操作的任务的任务切换方法,该方法包括当多个协处理器中的至少ー个执行操作的任务从第一任务切换到第二任务时,处理器核将请求保存/恢复任务的操作的内容的保存/恢复请求信号输出到多个协处理器;以及多个协处理器中的每ー个响应于从处理器核输出的保存/恢复请求信号,执行保存第一任务的操作的内容和恢复第二任务的操作的内容中的至少ー个。发明的有益效果根据上文描述的本发明的示例性方面,能够提供一种能够減少对于在多个协处理器中的任务切换所需要的时间的信息处理装置和任务切换方法。
图I是示出了根据本发明的示例性实施例的信息处理装置的配置的方框图;图2是示出了根据本发明的示例性实施例的任务切换加速电路的配置的方框图;图3是示出了根据本发明的示例性实施例的处理器与协处理器之间的关系的方框图;图4是示出了根据相关技术的任务切换处理的流程的示例的流程图;图5是示出了根据本发明的示例性实施例的任务切换处理的流程的示例的流程图;图6是示出了根据本发明的示例性实施例的在任务切换加速电路中使用的任务切换控制电路的示例的方框图;图7是示出了根据本发明的示例性实施例的在任务切换加速电路中使用的运算寄存器数据保存/恢复电路的示例的方框图;图8是示出了根据本发明的示例性实施例的在任务切换加速电路中使用的等待控制电路的示例的方框图。
具体实施例方式參照图1,信息处理装置被描述为根据本发明的示例性实施例的任务切换加速电路的概要。图I是示出了根据本发明的示例性实施例的信息处理装置的配置的方框图。信息处理装置30包括处理器核301、协处理器311至31η以及保存存储单元351至35η。η为任何正整数。处理器核301包括任务切换控制单元302。协处理器311包括操作単元321、操作存储单元331以及保存/恢复单元341。协处理器312至31η具有与协处理器311相同的配置并且因此省略了其描述。处理器核301向协处理器311至31η做出对于任务的操作的请求。当多个协处理器311至31η中的至少ー个执行操作的任务从第一任务切换到第二任务时,任务切换控制单元302将保存/恢复请求信号输出到协处理器。保存/恢复请求 信号是请求保存或恢复在操作存储单元中存储的操作的内容的信号。协处理器311至31η执行任务的操作。操作単元321至32η响应于来自处理器核301的请求执行运算操作。操作存储单元331至33η分别存储操作单元321至32η的操作的内容。响应于保存/恢复请求信号,保存/恢复单元341至34η执行分别将与在操作存储单元331至33η中存储的第一任务有关的操作的内容保存到保存存储单元351至35η和分别将与在保存存储单元351至35η中存储的第二任务有关的操作的内容恢复到操作存储单元331至33η中的至少ー个。因此,保存/恢复单元341至34η分别与多个协处理器311至31η相对应。保存存储单元351至35η分别存储从操作存储单元331至33η保存的操作的内容。因此,保存存储单元351至35η分别与多个协处理器311至31η相对应。在下文中描述了根据本发明的示例性实施例的信息处理装置的处理。当多个协处理器311至31η中的至少ー个执行操作的任务从第一任务切换到第ニ任务时,任务切换控制单元302将保存/恢复请求信号输出到在协处理器中包括的保存/恢复单元。假定保存/恢复请求信号被输出到在协处理器311中包括的保存/恢复单元341。响应于保存/恢复请求信号,保存/恢复单元341执行将与在操作存储单元331中存储的第一任务有关的操作的内容保存到保存存储单元351和将与在保存存储单元351中存储的第二任务有关的操作的内容恢复到操作存储单元331中的至少ー个。在下文中參照附图对本发明的示例性实施例进行详细的描述。图2是示出了根据本发明的示例性实施例的任务切换加速电路的配置的方框图。任务切换加速电路10包括处理器核101、协处理器102、103和104以及数据存储器 112 至 114。处理器核101包括任务切换控制电路105、等待控制电路107、任务-协处理器对应信息表108以及处理器核控制电路120。任务切换控制电路105包括在用协处理器存储寄存器151和协处理器状态寄存器152。协处理器102包括运算寄存器数据保存/恢复电路106、协处理器操作控制电路109、协处理器操作単元110以及运算寄存器111。注意,协处理器103和104具有与协处理器102相同的配置并且因此省略了其描述。运算寄存器数据保存/恢复电路106包括任务号存储寄存器161。处理器核101包括操作単元(未示出)。处理器核控制电路120使操作单元执行决定用于执行的任务。另外,处理器核控制电路120将任务切换请求信号输出到任务切换控制电路105。任务切换请求信号是请求切換到决定用于执行的任务的信号。此外,处理器核控制电路120将切换到任务号信号输出到任务切换控制电路105。切換到任务号信号是指示已经决定用于执行的切換到的任务的任务号的信号。协处理器102至104响应于来自处理器核101的请求执行任务的运算操作。任务切换请求信号和切換到任务号信号从处理器核101中的处理器核控制电路120被输入到任务切换控制电路105。当在被请求任务切换的协处理器中完成任务切换吋,任务切换控制电路105将任务切换结束信号输出到处理器核控制电路120。
另外,任务切换控制电路105将运算寄存器值保存/恢复请求信号和切換到任务号信号输出到协处理器102、103以及104。协处理器102至104中的每ー个响应于运算寄存器数据保存/恢复请求信号执行要存储到运算寄存器111中的数据的保存/恢复。要执行的任务从而在协处理器102至104中的每ー个中被切換。当数据的保存/恢复结束时,协处理器102至104中的每ー个将运算寄存器保存/恢复结束信号输出到任务切换控制电路 105。任务-协处理器对应信息表108还被连接到任务切换控制电路105。任务切换控制电路105使用任务-协处理器对应信息表108获取关于要用于每个任务的协处理器的信息。任务切换控制电路105基于所获取的信息将运算寄存器值保存/恢复请求信号输出到协处理器。另外,任务切换控制电路105将指示协处理器102至104中的每ー个是否在任务切换处理中的协处理器状态信号输出到等待控制电路107。任务切换控制电路105充当任务切换控制单元302。运算寄存器数据保存/恢复电路106响应于运算寄存器数据保存/恢复请求信号执行将被存储在运算寄存器111中的、与切换之前的任务有关的操作的内容保存到数据存储器112和将被存储在数据存储器112中的、与切換之后的任务有关的操作的内容恢复到运算寄存器111中的至少ー个。当任务的操作的内容的保存/恢复结束时,运算寄存器数据保存/恢复电路106将运算寄存器保存/恢复结束信号输出到任务切换控制电路105。在当与任务有关的操作的内容的保存/恢复在协处理器中结束的时候,在协处理器中的任务切换结束。运算寄存器数据保存/恢复电路106充当保存/恢复单元341至34η。操作控制信号和协处理器号信号被从处理器核控制电路120输入到等待控制电路107。操作控制信号是控制在协处理器102至104上的运算操作的信号。协处理器号信号是指示被操作控制信号控制的协处理器号的信号。等待控制电路107基于从处理器核控制电路120输出的操作控制信号和从任务切换控制电路105输出的协处理器状态信号将协处理器操作控制信号输出到协处理器操作控制电路109。另外,当协处理器102至104之中的、理器核101打算通过协处理器操作控制信号控制其操作的协处理器在任务切换处理中时,等待控制电路107基于协处理器状态信号将等待信号输出到处理器核控制电路120。等待信号是停止处理器核101中的处理的信号。任务-协处理器对应信息表108存储将任务和执行任务的协处理器关联的对应信息。任务-协处理器对应关系表108响应于从任务切换控制电路105输出的切换到任务号信号将协处理器信号输出到任务切换控制电路105。协处理器信号是指示执行具有由切換到任务号信号指不的任务号的任务的协处理器的信号。注意,任务-协处理器对应关系表108基于存储在其中的对应信息来指定执行具有由切換到任务号信号指示的任务号的任务的处理器。例如,任务-协处理器对应信息表108包括诸如存储器或硬盘的存储装置。例如,在启动包含要在此示例性实施例中执行的任务的程序时,对应信息被从另一存储装置加载到任务-协处理器对应信息表108。协处理器操作控制电路109控制协处理器操作単元110。协处理器操作控制电路109响应于从处理器核101通过等待控制电路107输出的协处理器操作控制信号,使协处理器操作単元110执行任务的运算操作。协处理器操作単元110执行要执行的任务的运算操作。协处理器操作単元110将任务的操作的内容存储到运算寄存器111中。协处理器操作単元Iio充当操作単元321至 32η。 作为任务的操作的内容的数据由协处理器操作単元110存储到运算寄存器111中。运算寄存器111充当操作存储单元331至33η。在当协处理器102切换要执行的任务的时候,在运算寄存器111中存储的数据被保存到数据存储器112。同样地,在当协处理器103和104切换要执行的任务的时候,在相应运算寄存器(未示出)中存储的数据分别被保存到数据存储器113和114。数据存储器112至114充当保存存储单元35135η。处理器核控制电路120管理待在处理器核101和协处理器102至104中要执行的任务。处理器核控制电路120通过任务切换请求信号向任务切换控制电路105做出对于在协处理器102至104中切換任务的请求。处理器核控制电路120通过操作控制信号向协处理器102至104做出对于任务的操作的请求。在用协处理器存储寄存器151存储指示被使用用于执行任务的协处理器的信息。在当协处理器102切换要执行的任务的时候,在在用协处理器存储寄存器151中存储的信息被用作指示已经执行切換之前的任务的协处理器的信息。协处理器状态寄存器152存储指示协处理器102至104是否处在任务切换处理中
的信息。任务号存储寄存器161存储指示在切换之前的任务的任务号的信息。操作的描述在下文中将參照图2的方框图描述根据本发明的示例性实施例的任务切换加速电路10的操作。当任务切换请求信号和切換到任务号信号被从处理器核101的处理器核控制电路120通知时,任务切换控制电路105将切换到任务号信号输出到任务-协处理器对应信息表108。任务-协处理器对应信息表108将指执行具有由从任务切换控制电路105输出的切换到任务号信号指不的任务号的任务的协处理器的协处理器号信号输出到任务切换控制电路105。按照这种方式,任务切换控制电路105获取执行要被切換的任务的协处理器的协处理器号。接下来,任务切换控制电路105基于在包括在其中的在用协处理器存储寄存器151中存储的信息,将通知其是否已经被用于切换之前的任务和是否将被用于切换之后的任务的信号输出到协处理器102至104中的每ー个。该信号实际上充当运算寄存器数据保存/恢复请求信号。在在用协处理器存储寄存器151中存储的信息充当指示用于切换之前的任务的协处理器的信息。具体地,当切換任务时,已经被用于切换之前的任务的协处理器需要保存在运算寄存器111中存储的操作的内容。另外,当切换任务时,将被用于切换之后的任务的协处理器需要将所保存的操作的内容恢复到运算寄存器111。因此,运算寄存器数据保存/恢复请求信号是通知协处理器是否保存操作的内容和是否恢复操作的内容的信号。与此信号一起,任务切换控制电路105向协处理器102至104中的每ー个通知切換到任务号。切換到任务号由切換到任务号信号来通知。
·
另外,任务切换控制电路105将协处理器102至104的当前状态设置到指示协处理器102至104中的每ー个的任务切换状态的协处理器状态寄存器152。位于协处理器102至104中的每ー个中的运算寄存器数据保存/恢复电路106接收来自任务切换控制电路105的运算寄存器数据保存/恢复请求信号和切換到任务号信号。如果协处理器在任务切换之前已经被使用,则在该协处理器中包括的运算寄存器数据保存/恢复电路106将运算寄存器111的数据保存到数据存储器112中的与切換之前的任务号相对应的存储器区域。另外,如果协处理器在任务切换之后将被使用,则在该协处理器中包括的运算寄存器数据保存/恢复电路106恢复运算寄存器111中的与切換之后的任务号相对应的数据。切換之前的任务号被从位于运算寄存器数据保存/恢复电路106中的任务号存储寄存器161读取。在当保存/恢复处理结束的时候,运算寄存器数据保存/恢复电路106将任务号存储寄存器161的值更新为切换后的任务号。在保存/恢复处理结束之后,运算寄存器数据保存/恢复电路106将运算寄存器保存/恢复结束信号输出到任务切换控制电路105。当运算寄存器保存/恢复结束信号被从运算寄存器数据保存/恢复电路106输出时,任务切换控制电路105清除在协处理器状态寄存器152中存储的值之中的、与已经输出运算寄存器保存/恢复结束信号的协处理器相对应的值。协处理器状态寄存器152的值总是被输出到等待控制电路107。在当处理器核101访问协处理器102至104中的任何一个的时候,如果在要访问的协处理器中的任务切换处理还未结束,则等待控制电路107将等待信号输出到处理器核101。等待信号是停止处理器核101的处理直到任务切换处理结束为止的信号。当在协处理器102至104中的任务切换处理结束吋,任务切换控制电路105更新在用协处理器存储寄存器151的值。在下文中參照图3、4以及5针对使用根据相关技术的技术和使用根据示例性实施例的任务切换加速电路10的两种情况描述在多个协处理器所连接到的处理器核中的任务切换处理的流程的示例。具体地,描述了在图3中所示出的配置中应用了根据相关技术的技术的情况下和应用了根据示例性实施例的技术的情况下的处理。图3是示出了每种技术所应用于的配置中的处理器核与协处理器之间的关系的方框图。多个协处理器202至204被连接到处理器核201。数据存储器205至208被分别连接到处理器核201和协处理器202至204。在任务切换时,在位于处理器核201和协处理器202至204中的运算寄存器(未示出)中存储的数据的保存/恢复处理分别由处理器核201和协处理器202至204在与他们连接的数据存储器205至208上执行。另外,处理器核201和协处理器202至204能够访问数据存储器205至208、通过总线控制器210访问外部存储器(未示出)以及彼此的1/0(输入/输出)接ロ。图4示出了在根据相关技术的技术被应用到图3中所示出的配置的情况下的任务切换处理的流程的示例。在根据相关技术的任务切换处理中,处理器核201对协处理器202至204中的每ー个逐个地执行对运算寄存器中的数据的保存/恢复处理。首先假定,处理器核201和协处理器202至204处于执行任务I的状态下(S200)。例如,在如图4中从任务I切換到任务2的时候,处理器核201首先执行对处理器
核201中的运算寄存器的数据的保存/恢复处理(S210)。具体地,处理器核201将被存储在包括在其中的运算寄存器中的任务I的操作的内容保存到数据存储器205。然后,处理器核201将被存储在数据存储器205中的任务2的操作的内容恢复到包括在其中的运算寄存器。接下来,处理器核201执行对协处理器202中的运算寄存器的数据的保存/恢复处理(S211)。具体地,处理器核201将被存储在协处理器202中包括的运算寄存器中的任务I的操作的内容保存到数据存储器206。然后,处理器核201将被存储在数据存储器206中的任务2的操作的内容恢复到包括在其中的运算寄存器。因此,处理器核201从在协处理器202中包括的运算寄存器获取任务I的操作的内容并且将所获取的任务I的操作的内容存储到数据存储器206中。另外,处理器核201获取在数据存储器206中存储的任务2的操作的内容并且将所获取的任务2的操作的内容存储到在协处理器202中包括的运算寄存器中。然后,处理器核201执行对在协处理器203中的运算寄存器的数据的保存/恢复处理(S212)。在这个步骤中,处理器核201按照与步骤S211中相同的方式来执行对操作的内容的保存/恢复处理。最后,处理器核201执行对在协处理器204中的运算寄存器的数据的保存/恢复处理(S213)。在这个步骤中,处理器核201按照与步骤S211和S212中的相同的方式来执行对操作的内容的保存/恢复处理。用于从任务I切換到任务2的保存/恢复处理从而在处理器核201和协处理器202至204中结束。因此,处理器核201和协处理器202至204开始执行任务2的处理(S220)。当从任务2切换到任务3吋,处理器核201按照与步骤S210至S213中的相同的方式来执行对运算寄存器的数据的保存/恢复处理(S221至S224)。然后,处理器核201和协处理器202至204开始执行对任务3的处理(S230)。如上文所描述的,在根据相关技术的任务切换处理中,处理器核201通过顺序地访问在协处理器202至204中包括的运算寄存器来执行对数据的保存/恢复。因此,仅能够逐个地完成协处理器202至204的保存/恢复处理,其花费非常长的时间。图5示出了在根据示例性实施例的技术被应用到在图3中所示出的配置的情况下的任务切换处理的流程的示例。根据示例性实施例的技术到图3中所示出的配置的应用产生了任务切换加速电路10。任务切换控制电路105、等待控制电路107以及任务-协处理器对应信息表108到处理器核201的应用产生处理器核101。运算寄存器数据保存/恢复电路106到协处理器202至204的应用产生了协处理器102至104。数据存储器206相当于数据存储器112,数据存储器207相当于数据存储器113,并且数据存储器208相当于数据存储器114。图5示出了作为任务切換的示例的当按照任务I、任务2、任务3、任务I和任务3的顺序切換任务时的处理的流程。在这个示例中假定,任务I使用协处理器102和103,任务2使用协处理器103和104,并且任务3使用协处理器104。因此,任务-协处理器对应信息表108包含将任务I和协处理器102和103关联的信息、将任务2和协处理器103和104关联的信息以及将任务3和协处理器104关联的信息。还假定对在处理器核101的运算寄存器中存储的数据的保存处理和恢复处理被每次执行。
首先,处理器核101和协处理器102和103正在执行任务I (S100)。在处理器核101和协处理器102和103中执行的任务被从任务I切換到任务2 (SllO)。具体地,处理器核控制电路120将任务切换请求信号输出到任务切换控制电路105。另外,处理核控制电路120将指示任务2的任务号的切換到任务号信号输出到任务切换控制电路105。此外,处理器核控制电路120将被存储在包括在其中的运算寄存器(未示出)中的任务I的操作的内容保存到数据存储器205并且将被存储在数据存储器205中的任务2的操作的内容恢复到包括在其中的运算寄存器(Slll)。协处理器102和103被用于任务I,并且协处理器103和104被用于任务2。因此,因为协处理器102被用于切换之前的任务I但是不用于切换之后的任务2,所以仅需要执行保存处理。另外,因为协处理器103被用于切换之前的任务I并且还用于切换之后的任务2,所以需要执行保存处理和恢复处理。此外,因为协处理器104没被用于切换之前的任务I但是用于切换之后的任务2,所以仅需要执行恢复处理。具体地描述关于是否在这个步骤中执行保存/恢复处理的确定。任务切换控制电路105通过使用任务-协处理器对应信息表108来确定需要对其做出执行恢复处理的请求的协处理器。具体地,任务切换控制电路105将被从处理器核控制电路120输出的切換到任务号信号输出到任务-协处理器对应信息表108。任务-协处理器对应信息表108响应于被从任务切换控制电路105输出的切換到任务号信号,将指示执行具有由切換到任务号信号指示的任务号的任务的协处理器的协处理器信号输出到任务切换控制电路105。因为由切換到任务号信号指示的任务号是任务2,所以被从任务-协处理器对应信息表108输出的协处理器信号指示协处理器103和104。因此,任务切换控制电路105确定需要向由被从任务_协处理器对应信息表108输出的协处理器信号指不的协处理器103和104做出执行恢复处理的请求。另外,任务切换控制电路105基于在在用协处理器存储寄存器151中存储的信息确定需要对其做出执行保存处理的请求的协处理器。因为在切換之前被执行的任务是任务1,所以指示由任务I使用的协处理器102和103的信息被存储在在用协处理器存储寄存器151中。因此,任务切换控制电路105确定需要向协处理器102和103做出执行保存处理的请求。另外,任务切换控制电路105将在协处理器状态寄存器152中存储的信息中的、与对其请求保存处理或恢复处理的协处理器102至104相对应的值更新为指示其在任务切换处理的值。因此,任务切换控制电路105将请求执行保存处理的运算寄存器数据保存/恢复请求信号输出到协处理器102。响应于被从任务切换控制电路105输出的运算寄存器数据保存/恢复请求信号,协处理器102的运算寄存器数据保存/恢复电路106将在包括在其中的运算寄存器111中存储的任务I的操作的内容保存到数据存储器112(S112)。当保存处理结束时,运算寄存器数据保存/恢复电路106将运算寄存器数据保存/恢复结束信号输出到任务切换控制电路105。另外,任务切换控制电路105将请求执行保存处理和恢复处理的运算寄存器数据保存/恢复请求信号输出到协处理器103。响应于被从任务切换控制电路105输出的运算寄存器数据保存/恢复请求信号,协处理器103的运算寄存器数据保存/恢复电路将在包括在其中的运算寄存器(未示出)中存储的任务I的操作的内容保存到数据存储器113并且将在数据存储器113中存储的任务2的操作的内容恢复到包括在其中的运算寄存器(S113)。当保存处理和恢复处理结束时,运算寄存器数据保存/恢复电路将运算寄存器保存/恢复结束信号输出到任务切换控制电路105。此外,任务切换控制电路105将请求执行恢复处理的运算寄存器数据保存/恢复请求信号输出到协处理器104。响应于被从任务切换控制电路105输出的运算寄存器数据保存/恢复请求信号,协处理器104的运算寄存器数据保存/恢复电路将在数据存储器114中存储的任务2的操作的内容恢复到包括在其中的运算寄存器(未示出)(S114)。当恢复处理结束时,运算寄存器数据保存/恢复电路将运算寄存器保存/恢复结束信号输出到任务切换控制电路105。当运算寄存器数据保存/恢复结束信号被从协处理器102至104输出时,任务切换控制电路105将在协处理器状态寄存器152中存储的信息中的、与已经输出运算寄存器数据保存/恢复结束信号的协处理器相对应的值更新为指示其不在任务切换处理中的值。当运算寄存器数据保存/恢复结束信号被从已被请求保存处理或恢复处理的所有协处理器102至104输出时,任务切换控制电路105将任务切换结束信号输出到处理器核控制电路120。另外,任务切换控制电路105将在用协处理器存储寄存器151的信息更新为指示执行任务2的协处理器103和104的信息。处理器核控制电路120响应于被从任务切换控制电路105输出的任务切换结束信号开始执行任务2(S120)。具体地,其使在处理器核101中包括的操作单元执行对任务2的运算操作。另外,处理器核控制电路120将指示协处理器103和104的协处理器号的协处理器号信号和请求对任务2的运算操作的操作控制信号输出到等待控制电路107。响应于那些信号,等待控制电路107将协处理器操作控制信号输出到协处理器103和104。对任务2的运算操作从而也在协处理器103和104的操作单元中被执行。 如上文所述,对协处理器102的运算寄存器的保存处理、对协处理器103的运算寄存器的保存处理和恢复处理以及对协处理器104的运算寄存器的恢复处理被执行。因为协处理器102不用于任务2,所以不需要在协处理器102的运算寄存器111的保存处理的结束之前进行。更具体地,因为在协处理器103和104的恢复处理的结束时任务2的执行变得可能,所以仅需要在协处理器103和104中的恢复处理的结束之前进行等待。换句话说,任务切换控制电路105可以在当执行切換之后的任务的所有协处理器中的恢复处理结束时的时间点,将任务切换结束信号输出到处理器核控制电路120。因此,任务切换控制电路105可以在当运算寄存器数据保存/恢复结束信号被从协处理器103和协处理器104输出时,将任务切换结束信号输出到处理器核控制电路120。可替代地,在仅执行保存处理的情况下,即使当保 存处理还未结束时,运算寄存器数据保存/恢复电路106也可以响应于运算寄存器数据保存/恢复请求信号立即输出运算寄存器数据保存/恢复请求信号。因此,在协处理器102中的保存处理在后台执行。从而能够在协处理器102中的保存处理时间长于协处理器103和104中的保存和恢复处理时间的情况下減少用于任务切換的时间。另ー方面,在当操作控制信号被从处理器核控制电路120输出时保存/恢复处理还未结束吋,等待控制电路107使处理器核101等待。具体地,当在从任务切换控制电路105输出的协处理器状态信号之中的、与由被从处理器核控制电路120输出的协处理器号信号指示的协处理器相对应的信号指示其在任务切换处理中时,等待控制电路107将等待信号输出到处理器核控制电路120。接下来,当从任务2切換到任务3时(S130),处理器核控制电路120将任务切换请求信号和指不任务3的任务号的切换到任务号信号输出到任务切换控制电路105。处理器核控制电路120保存任务2的操作的内容并且恢复任务3的操作的内容(S131)。因为协处理器102不被用于切换之前的任务2和切换之后的任务3,所以不需要对协处理器102做任何事情。因为协处理器103被用于切换之前的任务2但是不用于切换之后的任务3,所以仅需要执行保存处理。注意,因为协处理器103不执行切換之后的任务3,所以对在运算寄存器中存储的数据的保存处理能够在后台中执行。因为协处理器104被用于切换之前的任务2并且还用于切换之后的任务3,所以需要执行保存处理和恢复处理。在下文中具体地描述关于是否在此步骤中执行保存/恢复处理的确定。任务切换控制电路105将被从处理器核控制电路120输出的切换到任务号信号输出到任务-协处理器对应信息表108。因为由切換到任务号信号指示的任务号是任务3,所以任务-协处理器对应信息表108将指示协处理器104的协处理器信号输出到任务切换控制电路105。因此,任务切换控制电路105确定需要向由协处理器信号指示的协处理器104做出执行恢复处理的请求。另外,在在用协处理器存储寄存器151中存储的信息指示执行任务2的协处理器103和104。因此,任务切换控制电路105确定需要向协处理器103和104做出执行保存处理的请求。此外,任务切换控制电路105将在在协处理器状态寄存器152中存储的信息中的、与对其请求保存处理或恢复处理的协处理器103和104相对应的值更新为指示其在任务切换处理中的值。因此,因为对于协处理器102不需要保存处理和恢复处理,所以任务切换控制电路105不将运算寄存器数据保存/恢复请求信号输出到协处理器102。另外,任务切换控制电路105将请求执行保存处理的运算寄存器数据保存/恢复请求信号输出到协处理器103。协处理器103的运算寄存器数据保存/恢复电路从而执行保存处理(S133)。注意,在此步骤中的保存处理在后台执行,如上文所述。当保存处理结束时,运算寄存器数据保存/恢复电路将运算寄存器数据保存/恢复结束信号输出到任务切换控制电路105。另外,任务切换控制电路105将请求执行保存处理和恢复处理的运算寄存器数据保存/恢复请求信号输出到协处理器104。协处理器104的运算寄存器数据保存/恢复电路从而执行保存处理和恢复处理(S134)。当保存处理和恢复处理结束时,运算寄存器数据保存/恢复电路将运算寄存器数据保存/恢复结束信号输出到任务切换控制电路105。当运算寄存器数据保存/恢复结束信号被从协处理器103和104输出时,任务切换控制电路105将在协处理器状态寄存器152中存储的信息中的、与已经输出运算寄存器数据保存/恢复结束信号的协处理器相对应的值更新为指示其不在任务切换处理中的值。当运算寄存器数据保存/恢复结束信号被从已经对其请求保存处理或恢复处理的协处理器103和104中的两者都输出了时,任务切换控制电路105将任务切换结束信号输出到处理器核控制电路120。另外,任务切换控制电路105将在用协处理器存储寄存器151的信息 更新为指示执行任务3的协处理器104的信息。处理器核控制电路120响应于被从任务切换控制电路105输出的任务切换结束信号开始执行任务3 (S140)。接下来,当从任务3切換到任务I时(S150),处理器核控制电路120将任务切换请求信号和指不任务I的任务号的切换到任务号信号输出到任务切换控制电路105。处理器核控制电路120保存任务2的操作的内容并且恢复任务I的操作的内容(S151)。因为协处理器102被用于切换之后的任务I但是自从先前对任务I的执行起已经未被使用,所以不需要执行保存处理和恢复处理。因为协处理器103不被用于切换之前的任务3但是用于切换之后的任务1,所以仅需要执行恢复处理。因为协处理器104被用于切换之前的任务3但是不用于切换之后的任务1,所以仅需要执行保存处理。因为协处理器104不执行切換之后的任务1,所以能够在后台执行恢复处理。在下文中具体地描述关于是否在此步骤中执行保存/恢复处理的确定。任务切换控制电路105将被从处理器核控制电路120输出的切换到任务号信号输出到任务-协处理器对应信息表108。因为由切換到任务号信号指示的任务号是任务1,所以任务-协处理器对应信息表108将指示协处理器102和103的协处理器信号输出到任务切换控制电路105。因此,任务切换控制电路105确定需要对由协处理器信号指示的协处理器102和103做出执行恢复处理的请求。另外,在在用协处理器存储寄存器151中存储的信息指示执行任务3的协处理器104。因此,任务切换控制电路105确定需要向协处理器104做出执行保存处理的请求。此外,任务切换控制电路105将在存储在协处理器状态寄存器152中的信息中的、与对其请求保存处理或恢复处理的协处理器102至104相对应的值更新为指示其在任务切换处理中的值。因此,任务切换控制电路105将请求执行恢复处理的运算寄存器数据保存/恢复请求信号输出到协处理器102。然而,尽管协处理器102被用于切换之后的任务1,但是如上文所描述不需要恢复处理。因此,任务切换控制电路105可以抑制将运算寄存器数据保存/恢复请求信号输出到协处理器102。在这种情况下,任务切换控制电路105不更新在协处理器状态寄存器152中存储的信息中的、与协处理器102相对应的值。可替代地,协处理器102的运算寄存器数据保存/恢复电路106可以将运算寄存器数据保存/恢复结束信号输出到任务切换控制电路105而不用响应于运算寄存器数据保存/恢复请求信号执行恢复处理。例如,任务切换控制电路105或运算寄存器数据保存/恢复电路106可以存储指示运算寄存器111中存储的操作的内容是针对何任务的信息,使得能够基于该信息如上文所描述做出关于是否执行恢复处理的确定。另外,任务切换控制电路105将请求执行恢复处理的运算寄存器数据保存/恢复请求信号输出到协处理器103。协处理器103的运算寄存器数据保存/恢复电路从而执行恢复处理(S153)。当恢复处理结束时,运算寄存器数据保存/恢复电路将运算寄存器数据保存/恢复结束信号输出到任务切换控制电路105。此外,任务切换控制电路105将请求执行保存处理的运算寄存器数据保存/恢复 请求信号输出到协处理器104。协处理器104的运算寄存器数据保存/恢复电路从而执行保存处理(S154)。在此步骤中的保存处理在后台执行,如上文所描述。当保存处理结束吋,运算寄存器数据保存/恢复电路将运算寄存器数据保存/恢复结束信号输出到任务切换控制电路105。当运算寄存器数据保存/恢复结束信号被从已经对其请求保存处理或恢复处理的协处理器输出时,任务切换控制电路105将在存储在协处理器状态寄存器152中的信息中的、与已经输出运算寄存器数据保存/恢复结束信号的协处理器相对应的值更新为指示其不在任务切换处理中的值。当运算寄存器数据保存/恢复结束信号被从已经对其请求保存处理或恢复处理的所有协处理器都输出了时,任务切换控制电路105将任务切换结束信号输出到处理器核控制电路120。另外,任务切换控制电路105将在用协处理器存储寄存器151的信息更新为指示执行任务I的协处理器102和103的信息。处理器核控制电路响应于被从任务切换控制电路105输出的任务切换结束信号开始执行任务I (S160)。接下来,当从任务I切換到任务3时(S170),处理器核控制电路120将任务切换请求信号和指不任务3的任务号的切换到任务号信号输出到任务切换控制电路105。处理器核控制电路120保存任务I的操作的内容并且恢复任务3的操作的内容(S171)。因为协处理器104被用于切换之后的任务3但是由于自从先前对任务3的执行起已经未被使用,所以不需要执行恢复处理。因为协处理器102和103被用于切换之前的任务I但是不用于切换之后的任务3,所以仅需要执行保存处理。因为协处理器102和103不执行切換之后的任务3,所以能够在后台执行保存处理。在下文中具体地描述关于是否在此步骤中执行保存/恢复处理的确定。任务切换控制电路105将被从处理器核控制电路120输出的切换到任务号信号输出到任务-协处理器对应信息表108。因为由切換到任务号信号指示的任务号是任务3,所以任务-协处理器对应信息表108将指示协处理器104的协处理器信号输出到任务切换控制电路105。因此,任务切换控制电路105确定需要向由协处理器信号指示的协处理器104做出执行恢复处理的请求。另外,在在用处理器存储寄存器151中存储的信息指示执行任务I的协处理器102和103。因此,任务切换控制电路105确定需要向协处理器102和103做出执行保存处理的请求。此外,任务切换控制电路105将在存储在协处理器状态寄存器152中的信息中的、与对其请求保存处理或恢复处理的协处理器102至104相对应的值更新为指示其在任务切换处理中的值。因此,任务切换控制电路105将请求执行保存处理的运算寄存器数据保存/恢复请求信号输出到协处理器102和103。协处理器102和103的运算寄存器数据保存/恢复电路从而执行保存处理(S172、S173)。在此步骤中保存处理在后台执行,如上文所述。当保存处理结束时,运算寄存器数据保存/恢复电路将运算寄存器数据保存/恢复结束信号输出到任务切换控制电路105。 此外,任务切换控制电路105将请求执行恢复处理的运算寄存器数据保存/恢复请求信号输出到协处理器104。然而,尽管协处理器104被用于切换之后的任务1,但是如上文所描述不需要恢复处理。因此,任务切换控制电路105可以抑制执行恢复处理,正如在步骤S150中的协处理器102 —祥。当运算寄存器数据保存/恢复结束信号被从已经对其请求保存处理或恢复处理的协处理器输出时,任务切换控制电路105将在存储在协处理器状态寄存器152中的信息中的、与已经输出运算寄存器数据保存/恢复结束信息的协处理器相对应的值更新为指示其不在任务切换处理中的值。当运算寄存器数据保存/恢复结束信号被从已经对其请求保存处理或恢复处理的所有协处理器都输出了时,任务切换控制电路105将任务切换结束信号输出到处理器核控制电路120。另外,任务切换控制电路105将在用协处理器存储寄存器151的信息更新为指示执行任务3的协处理器104的信息。处理器核控制电路响应于被从任务切换控制电路105输出的任务切换结束信号开始执行任务3 (S180)。之后,任务切换加速电路10根据要执行的任务按照相同的方式来执行保存/恢复处理。当存在仅用于一个任务的协处理器时,对运算寄存器中存储的数据的保存/恢复处理可以被全部跳过。如上文中所描述的,在此示例性实施例中,包括了当多个协处理器102至104中的至少ー个执行的任务从第一任务切换到第二任务时,将请求保存/恢复存储在包括在协处理器中的运算寄存器中的操作的内容的运算寄存器数据保存/恢复请求信号输出到协处理器的任务切换控制电路105。另外,与协处理器102至104中的每ー个相对应,包括了响应于运算寄存器数据保存/恢复请求信号执行将与存储在运算寄存器中的第一任务有关的操作的内容保存到数据存储器和将与存储在数据存储器中的第二任务有关的操作的内容恢复到运算寄存器中的至少ー个的运算寄存器数据保存/恢复电路。在此配置中,运算寄存器数据保存/恢复请求信号被并行地从任务切换控制电路105输出到运算寄存器数据保存/恢复电路,使得能够并行地执行对操作的内容的保存/恢复处理。从而能够减少对于在多个协处理器中的任务切换所需要的时间。另外,根据示例性实施例,请求恢复操作的内容的运算寄存器数据保存/恢复请求信号被仅输出到与执行切換之后的第二任务的运算操作的协处理器相对应的运算寄存器数据保存/恢复电路。
此外,请求保存操作的内容的运算寄存器数据保存/恢复请求信号被仅输出到与基于在在用协处理器存储寄存器151中存储的信息执行切換之前的第一任务的运算操作的协处理器相对应的运算寄存器数据保存/恢复电路。此外,运算寄存器数据保存/恢复电路106包括存储指示切換之前的任务的信息的任务号存储寄存器161。当由被存储在任务号存储寄存器161中的信息指示的任务和由被从任务切换控制电路105输出的切換到任务号信号指示的任务相同时,运算寄存器数据保存/恢复电路160可以抑制执行操作的内容的保存和恢复中的至少ー个。在此配置中,能够仅针对需要保存/恢复操作的内容的协处理器执行对操作的内容的保存/恢复。因为不执行不需要的保存/恢复处理,所以能够减少对于在多个协处理器中的任务切换所需要的时间。此外,根据示例性实施例,当在多个运算寄存器数据保存/恢复电路之中的、与执 行切換之后的第二任务的运算操作的处理器相对应的多个运算寄存器数据保存/恢复电路中结束对操作的内容的恢复时,通知任务切换的结束的任务切换结束信号被输出到处理器核控制电路120。在此配置中,能够执行切换之后的第二任务的运算操作,同时在仅需要在后台保存操作的内容的协处理器中执行保存处理。这消除了对于等待在仅需要保存操作的内容的协处理器中的保存处理的需要,并且从而能够进ー步減少对于在多个协处理器中的任务切换所需要的时间。(示例 I)图6示出了根据本发明的示例性实施例的在任务切换加速电路10中使用的任务切换控制电路105的示例。在此示例中,示出了与三个协处理器102至104相对应的任务切换控制电路105的示例。任务切换控制电路105包括在用协处理器存储寄存器501至503、协处理器状态寄存器504至506、与(AND)电路511至516、或(ON)电路521至523以及或非(NOR)电路531。图6因此示出了其中在用协处理器存储寄存器151包括在用协处理器存储寄存器501至503,并且协处理器状态寄存器152包括协处理器状态寄存器504至506的情況。当切換要在处理器核102至104中执行的任务时,处理器核101的处理器核控制电路120将指示在切換之后的任务号的切換到任务号信号和指示请求任务切换的值“I”的任务切换请求信号输出到任务切换控制电路105。当切換到任务号信号和任务切换请求信号被从处理器核控制电路120通知时,任务切换控制电路105首先将切换到任务号信号输出到任务-协处理器对应信息表108。任务-协处理器对应信息表108输出与协处理器102至104相对应的信号。在此信号中,与被用于具有由切換到任务号信号指示的任务号的任务的协处理器相对应的信号是“1”,并且与其它协处理器相对应的信号是“O”。在那些信号当中,与协处理器102相对应的信号被输出到在用协处理器存储寄存器501和与电路511,与协处理器103相对应的信号被输出到在用协处理器存储寄存器502和与电路513,并且与协处理器104相对应的信号被输出到在用协处理器存储寄存器503和与电路513。与电路511、513以及515执行信号和任务切换请求信号的与运算。与电路511、513以及515将通过与运算生成的信号作为运算寄存器数据恢复请求信号分别输出到协处理器102至104。具体地,与电路511将所生成的信号输出到协处理器102和或电路521,与电路513将所生成的信号输出到协处理器103和或电路522,并且与电路515将所生成的信号输出到协处理器104和或电路523。另外,在用协处理器存储寄存器501至503与相应的协处理器102至104相对应。在用协处理器存储寄存器501至503中的每ー个存储指示对应的协处理器102至104是否用于切换之前的任务的信息。具体地,在用协处理器存储寄存器501至503中的每ー个在当对应的协处理器被用于切换之前的任务时存储“ 1”,并且在当其不,用于切换之前的任务时存储“O”。在用协处理器存储寄存器501将存储在其中的值输出到与电路512,在用协处理器存储寄存器502将存储在其中的值输出到与电路514,并且在用协处理器存储寄存器504将存储在其中的值输出到与电路516。与电路512、514以及516执行从在用协处理器存储寄存器501至503输出的值和任务切换请求信号的与运算。与电路512、514以及516将通过与运算生成的信号作为运算寄存器数据保存请求信号分别输出到协处理器102至104。具体地,与电路512将所生成 的信号输出到协处理器102和或电路521,与电路513将所生成的信号输出到协处理器103和或电路522,并且与电路514将所生成的信号输出到协处理器104和或电路523。或电路521至523将通过运算寄存器数据存储请求信号和用于协处理器102至104中的每ー个的运算寄存器数据保存请求信号的或运算获得的信号分别输出到协处理器状态寄存器504至506。从或电路521至523输出的信号的值从而被分别存储到与被请求恢复处理或保存处理的协处理器相对应的协处理器状态寄存器504至506中的一个中。协处理器状态寄存器504与协处理器102相对应,协处理器状态寄存器505与协处理器103相对应,并且协处理器状态寄存器506与协处理器104相对应。另外,协处理器状态寄存器504至506中的每ー个将存储在其中的值作为协处理器状态信号输出到等待控制电路107和或非电路531。协处理器状态寄存器504至506中的每ー个将存储在其中的值输出到或非电路531并且进ー步将其作为协处理器状态信号输出到等待控制电路107。当任务切换结束信号被从被请求恢复处理或保存处理的协处理器发送回时,与该协处理器相对应的协处理器状态寄存器清除存储在其中的值。任务切换结束信号是指示任务切换处理已经结束的信号。具体地,与正在执行切换处理的协处理器相对应的协处理器状态寄存器的协处理器状态信号为“I”,并且与未正在执行切换处理的协处理器相对应的协处理器状态寄存器的协处理器状态信号为“O”。当所有协处理器状态信号都变成“O”时,或非电路531将任务切換结束信号设置为“I”并且将其输出到处理器核控制电路120。当具有值“I”的任务切换结束信号被从或非电路531输出时,处理器核控制电路120将不请求任务切换的具有值“O”的任务切换请求信号输出到任务切换控制电路105。当具有值“O”的任务切换请求信号被从处理器核控制电路120输出时,在用协处理器存储寄存器501至503中的姆ー个存储从任务-协处理器对应信息表108输出的信号值。另外,与电路511至516将运算寄存器数据恢复请求信号和具有值“O”的运算寄存器数据保存请求信号输出到协处理器102至104和或电路521至523。图7示出了根据本发明的示例性实施例的在任务切换加速电路10中使用的运算寄存器数据保存/恢复电路106的示例。运算寄存器数据保存/恢复电路106位于连接到处理器核101的协处理器102至104中的每ー个。运算寄存器数据保存/恢复电路106包括任务号存储寄存器601、比较器602、寄存器保存/恢复控制电路603、寄存器地址生成电路604以及数据存储器地址生成电路605。任务号存储寄存器601存储协处理器上一次使用任务的任务号。任务号存储寄存器601相当于任务号存储寄存器161。任务号存储寄存器601将指示存储在其中的任务号的信号输出到比较器602和数据存储器地址生成电路605。比较器602将由被从任务切换控制电路105输出的切换到任务号信号指示的任务号与被从任务号存储寄存器601输出的信号指示的任务号进行比较。当任务号匹配吋,比较器602输出指示“I”的信号,并且当任务号不匹配时,其输出指示“O”的信号。从比较器602输出的信号被输入到与电路621和622以及或电路631。注意,从比较器602输出的信号被反转并且输入到与电路621和622。 与电路621和622执行被从任务切换控制电路105输出的运算寄存器数据保存请求信号和运算寄存器数据恢复请求信号和被从比较器602输出的信号的反信号的与运算。与电路621和622将通过与运算生成的信号输出到寄存器保存/恢复控制电路603。具体地,当任务号匹配时,运算寄存器数据保存请求信号和运算寄存器数据恢复请求信号被忽略。这是因为,当先前的任务号相同时,要使用的值已经被存储在运算寄存器111中并且因此不需要执行保存/恢复处理。另外,在这种情况下,或电路631执行被从比较器602输出的指示“I”的信号的或运算。因此,或电路631将指示通知保存/恢复处理已经结束的值“I”的运算寄存器数据保存/恢复结束信号输出到任务切换控制电路105。寄存器保存/恢复控制电路603通过与电路621和622接收运算寄存器数据保存请求信号和运算寄存器数据恢复请求信号并且然后根据那些信号的值开始保存处理或恢复处理。具体地,当被从与电路621输出的运算寄存器数据保存请求信号的值是“I”时,寄存器保存/恢复控制电路603执行保存处理。另外,当被从与电路622输出的运算寄存器数据恢复请求信号的值是“I”吋,寄存器保存/恢复控制电路603执行恢复处理。当执行保存处理或恢复处理时,寄存器保存/恢复控制电路603激活寄存器地址生成电路604和数据存储器地址生成电路605。寄存器地址生成电路604在保存或恢复时生成运算寄存器号。数据存储器地址生成电路605生成用于保存或恢复运算寄存器值的数据存储器的地址。注意,被从任务切换控制电路105输出的切換到任务号信号和被从任务号存储寄存器601输出的信号被输入到数据存储器地址生成电路605。因此,切換到任务号和切換原任务号还被用于数据存储器地址生成。这是因为需要改变数据存储器112的地址以根据任务号执行针对运算寄存器111的数据的保存或恢复。数据存储器地址生成电路605基于切换原任务号在运算寄存器111的数据要被保存到的数据存储器112中生成地址。数据存储器地址生成电路605基于切换到任务号在其中存储了要被恢复到运算寄存器111的数据的数据存储器112中生成地址。寄存器保存/恢复控制电路603通过使用由寄存器地址生成电路604和数据存储器地址生成电路605生成的地址在运算寄存器111与数据存储器112之间传送数据。当任务切换处理在所有协处理器102至104中都结束了时,运算寄存器数据恢复请求信号和具有值“O”的运算寄存器数据保存请求信号被输入到或电路611和与电路621和622。在这种情况下,或电路611将指示或运算结果“O”的信号输出到任务号存储寄存器601。当指示“O”的信号被从或电路611输出时,任务号存储寄存器601将存储在其中的值更新为由切換到任务号信号指示的切換到任务号。图8示出了根据本发明的示例性实施例的在任务切换加速电路10中使用的等待控制电路107的示例。等待控制电路107包括解码器701、选择器702至704、与电路711至716以及或电路721。当处理器核101的处理器核控制电路120进行诸如向协处理器102至104请求操作的控制时,其将指示要对其进行控制的协处理器的号的协处理器号信号和指示控制的细节的操作控制信号输出到等待控制电路107。解码器701将被从处理器核控制电路120输出的处理器号信号转换成具有协处理器的号的宽度的信号(其中,与由处理器核控制电路120指定为控制的目标的协处理器相对应的比特是“I”)并且输出该信号。具体地,解码器
701将与协处理器102相对应的信号输出到与电路711和714,将与协处理器103相对应的信号输出到与电路712和715,并且将与协处理器104相对应的信号输出到与电路713和716。与电路711至713执行被从解码器701输出的信号和从被从任务切换控制电路105输出的协处理器状态信号反转的信号的与运算。与电路711至713将通过与运算生成的信号作为数据选择信号输出到选择器702至704。具体地,被从协处理器状态寄存器504输出的协处理器状态信号被输入到与电路711和714,被从协处理器状态寄存器505输出的协处理器状态信号被输入到与电路712和715,并且被从协处理器状态寄存器506输出的协处理器状态信号被输入到与电路713和716。另外,与电路711将所生成的信号输出到选择器702,与电路712将所生成的信号输出到选择器703,并且与电路713将所生成的信号输出到选择器704。选择器702至704中的每ー个选择从处理器核控制电路120输出的操作控制信号或者对于每个处理器的“O”。当数据选择信号是“O”时,选择器702至704将“O”输出到对应的协处理器,并且当数据选择信号是“I”时,选择器702至704将操作控制信号输出到对应的协处理器。因此,操作控制信号仅当由协处理器号指定的协处理器的协处理器状态信号是“O”时才被作为协处理器操作控制信号输出到该协处理器。从而能够禁止从处理器核控制电路120向在任务切换处理中的处理器请求操作。另ー方面,与电路714至716执行被从解码器701输出的信号和被从任务切换控制电路105输出的协处理器状态信号的与运算。与电路714至716将通过与运算生成的信号输出到或电路712。或电路721执行被从与电路714至716输出的信号的或运算。或电路712将通过或运算生成的信号作为等待信号输出到处理器核控制电路120。因此,当由协处理器号指定的要被控制的协处理器的协处理器状态信号是“ I”吋,等待信号是“ I”,并且处理器核101的处理停止。因此这给出了当处理器核101访问对运算寄存器数据的保存处理或恢复处理还未结束的协处理器时停止处理器核101直到保存处理或恢复处理结束为止的功能。从而能够禁止从处理器核控制电路120向在任务切换处理中的协处理器请求操作。应该注意的是,本发明不局限于上述示例性实施例,并且在不背离本发明的范围的情况下可以做出各种改变和修改。尽管在示例性实施例中通过说明的方式描述了协处理器的数目是三的情况,但是协处理器的数目不限于此。另外,尽管在上述描述中被输入到电路105、106、107以及120或者从电路105、106,107以及120输出的信号的值是“O”或“ 1”,但是它们不限于这样的值。本发明还可以适用于在移动电话或AV装置中使用的信号处理LSI。本申请基于并且要求于2010年4月30日提交的日本专利申请No. 2010-104880的优先权权益,其公开内容以其整体通过引用结合于此。参考符号列表 10任务切换加速电路1030信息处理装置101,201,301 处理器核102,103,104,202,203,204,311,312,31N 协处理器105任务切换控制电路106运算寄存器数据保存/恢复电路107等待控制电路108任务-协处理器对应信息表109协处理器操作控制电路110协处理器操作単元111运算寄存器112,113,114,205,206,207,208 数据存储器120处理器核控制电路151在用协处理器存储寄存器152协处理器状态寄存器161任务号存储寄存器209指令存储器210总线控制器302任务切换控制单元321,322,32N 操作单元331,332,33N操作存储单元341,342,34N保存/存储单元351,352,35N保存存储单元501,502,503在用协处理器存储寄存器504,505,506协处理器状态寄存器601任务号存储寄存器602比较器603寄存器保存/存储控制电路604寄存器地址生成电路605数据存储器地址生成电路0205701解码器电路0206702,703,704选择器
权利要求
1.ー种信息处理装置,包括 处理器核; 多个协处理器,包括用于响应于来自所述处理器核的请求执行操作的操作装置,以及用于存储所述操作装置的操作的内容的操作存储装置; 多个保存存储装置,用于存储从所述操作存储装置保存的操作的内容,所述多个保存存储装置分别与所述多个协处理器相对应; 任务切换控制装置,用于当将所述多个协处理器中的至少ー个协处理器执行操作的任务从第一任务切换到第二任务时,输出请求保存/恢复操作的内容的保存/恢复请求信号;以及 多个保存/恢复装置,分别与所述多个协处理器相对应,其中所述多个保存/恢复装置中的每ー个响应于所述保存/恢复请求信号执行将所述操作存储装置中存储的与所述第一任务有关的操作的内容保存到所述保存存储装置和将所述保存存储装置中存储的与所述第二任务有关的操作的内容恢复到所述操作存储装置中的至少ー个。
2.根据权利要求I所述的信息处理装置,其中 所述保存/恢复装置包括用于存储指示切換之前的任务的任务信息的任务信息存储装置, 所述任务切换控制装置将指示所述第二任务的任务信息与所述保存/恢复请求信号一起输出到所述保存/恢复装置, 当从所述任务切换控制装置输出的任务信息与在所述任务信息存储装置中存储的任务信息相同时,所述保存/恢复装置不执行操作的内容的保存和恢复,并且将从所述任务切换控制装置输出的任务信息存储到所述任务信息存储装置中。
3.根据权利要求I或2所述的信息处理装置,其中 所述保存/恢复请求信号包含请求保存切換之前的任务的操作的内容的保存请求信号和请求恢复切换之后的任务的操作的内容的恢复请求信号,并且 所述任务切换控制装置将请求恢复所述第二任务的操作的内容的恢复请求信号仅输出到所述多个保存/恢复装置之中的、与执行所述第二任务的操作的协处理器相对应的保存/恢复装置。
4.根据权利要求3所述的信息处理装置,其中 所述任务切换控制装置包括用于存储指示执行切換之前的任务的操作的协处理器的协处理器信息的协处理器信息存储装置,并且 所述任务切换控制装置基于所述协处理器信息将所述保存请求信号仅输出到所述多个保存/恢复装置之中的、与执行所述第一任务的操作的协处理器相对应的保存/恢复装置,并且将指示执行所述第二任务的操作的协处理器的处理器信息存储到所述协处理器信息存储装置中。
5.根据权利要求4所述的信息处理装置,进ー步包括 对应信息存储装置,用于存储将任务和执行任务的操作的协处理器关联的对应信息,其中 所述处理器核包括用于管理所述多个协处理器执行操作的任务的处理器核控制装置,所述处理器核控制装置当从所述第一任务切换到所述第二任务时将指示所述第二任务的任务信息输出到所述任务切换控制装置,并且 所述任务切换控制装置基于所述协处理器信息指定执行由从所述处理器核控制装置输出的所述任务信息指示的所述第二任务的操作的协处理器,将所述恢复请求信号输出到与所指定的协处理器相对应的保存/恢复装置,并且将指示所指定的协处理器的协处理器信息存储到所述处理器信息存储装置中。
6.根据权利要求I至4中的任一项所述的信息处理装置,其中 所述处理器核包括用于管理所述多个协处理器执行操作的任务的处理器核控制装置, 所述任务切换控制装置当在所述多个保存/恢复装置之中的、与执行所述第二任务的操作的协处理器相对应的保存/恢复装置中的操作的内容的恢复结束时,将通知从所述第一任务切换到所述第二任务的结束的任务切换结束信号输出到所述处理器核控制装置,以及 所述处理器核控制装置响应于所述任务切换结束信号向所述协处理器请求所述第二任务的操作。
7.根据权利要求I至6中的任一项所述的信息处理装置,其中,当在与执行所述第二任务的运算的协处理器相对应的保存/恢复装置中的操作的内容的恢复还未结束时,所述信息处理装置禁止从所述处理器核向执行所述第二任务的操作的协处理器请求所述第二任务的操作。
8.根据权利要求I至7中的任一项所述的信息处理装置,其中 所述处理器核包括所述任务切换控制装置,并且 所述协处理器包括所述保存/恢复装置。
9.ー种任务切换方法,包括 当所述多个协处理器中的至少ー个执行操作的任务从第一任务切换到第二任务时,处理器核将请求保存/恢复任务的操作的内容的保存/恢复请求信号输出到响应于来自所述处理器核的请求执行任务的操作的多个协处理器,以及 所述多个协处理器中的每ー个响应于从所述处理器核输出的所述保存/恢复请求信号,执行保存所述第一任务的操作的内容和恢复所述第二任务的操作的内容中的至少ー个。
全文摘要
公开了一种能够减少对于在多个协处理器中切换任务所需要的时间的信息处理装置和任务切换方法。信息处理装置(30)包括处理器核(301);协处理器(311至31n),包括响应于来自处理器核(301)的请求执行操作的运算单元(321至32n)和存储操作单元(321至32n)的操作的内容的操作存储单元(331至33n);保存存储单元(351至35n),存储所保存的操作的内容;任务切换控制单元(302),当切换协处理器(311至31n)执行操作的任务时输出保存/恢复请求信号;以及保存/恢复单元(341至34n),响应于保存/恢复请求信号执行将在操作存储单元(331至33n)中的操作的内容保存到保存存储单元(351至35n)和将在保存存储单元(351至35n)中的操作的内容恢复到操作存储单元(331至33n)中的至少一个。
文档编号G06F9/48GK102870095SQ20118002192
公开日2013年1月9日 申请日期2011年1月21日 优先权日2010年4月30日
发明者井仓裕之 申请人:日本电气株式会社