プロセッサコアと、前記プロセッサコアからの要求に応じて演算を行う演算手段と、前記演算手段の演算内容を格納する演算記憶手段と、を有する複数のコプロセッサと、前記複数のコプロセッサのそれぞれに対応し、前記演算記憶手段から退避した演算内容を格納する複数の退避記憶手段と、前記複数のコプロセッサのうち少なくとも1つによって演算されるタスクを、第1のタスクから第2のタスクに切り替える場合に、前記演算内容の退避復元を要求する退避復元要求信号を出力するタスク切替制御手段と、前記複数のコプロセッサのそれぞれに対応した複数の退避復元手段と、を備え、前記複数の退避復元手段のそれぞれは、前記退避復元要求信号に応じて、前記演算記憶手段に格納された第1のタスクに関する演算内容の前記退避記憶手段への退避、及び、前記退避記憶手段に格納された第2のタスクに関する演算内容の前記演算記憶手段への復元、のうち少なくとも1つを実行する情報処理装置。前記退避復元手段は、切り替え前のタスクを示すタスク情報を格納するタスク情報記憶手段を有し、前記タスク切替制御手段は、前記復元退避要求信号とともに、前記第2のタスクを示すタスク情報を前記退避復元手段に出力し、前記退避復元手段は、前記タスク切替制御手段から出力されたタスク情報と、前記タスク情報記憶手段に格納されたタスク情報とが同じ場合に、前記演算内容の退避及び復元を実行しないようにするとともに、前記タスク切替制御手段から出力されたタスク情報を前記タスク情報記憶手段に格納する請求項1に記載の情報処理装置。前記退避復元要求信号は、切り替え前のタスクの演算内容の退避を要求する退避要求信号と、切り替え先のタスクの演算内容の復元を要求する復元要求信号と、を含み、前記タスク切替制御手段は、前記複数の退避復元手段のうち、前記第2のタスクの演算を行うコプロセッサに対応する退避復元手段のみに前記第2のタスクの演算内容の復元を要求する復元要求信号を出力する請求項1又は2に記載の情報処理装置。前記タスク切替制御手段は、切り替え前のタスクの演算を行うコプロセッサを示すコプロセッサ情報を格納するコプロセッサ情報記憶手段を有し、前記タスク切替制御手段は、前記コプロセッサ情報に基づいて、前記複数の退避復元手段のうち、前記第1のタスクの演算を行うコプロセッサに対応する退避復元手段のみに前記退避要求信号を出力し、前記第2のタスクの演算を行うコプロセッサを示すプロセッサ情報を前記コプロセッサ情報記憶手段に格納する請求項3に記載の情報処理装置。前記情報処理装置は、前記タスクと、当該タスクの演算を行うコプロセッサとを対応付けた対応情報を格納する対応情報記憶手段をさらに備え、前記プロセッサコアは、前記複数のコプロセッサにおいて演算するタスクを管理するプロセッサコア制御手段を有し、前記プロセッサコア制御手段は、前記第1のタスクから第2のタスクに切り替える場合に、前記第2のタスクを示すタスク情報を前記タスク切替制御手段に出力し、前記タスク切替制御手段は、前記対応情報に基づいて、前記プロセッサコア制御手段から出力されたタスク情報が示す第2のタスクの演算を行うコプロセッサを特定し、特定したコプロセッサに対応する退避復元手段に前記復元要求信号を出力するとともに、特定したコプロセッサを示すプロセッサ情報を前記コプロセッサ情報記憶手段に格納する請求項4に記載の情報処理装置。前記プロセッサコアは、前記複数のコプロセッサにおいて演算するタスクを管理するプロセッサコア制御手段を有し、前記タスク切替制御手段は、前記複数の退避復元手段のうち、前記第2のタスクの演算を行うコプロセッサに対応する退避復元手段における演算内容の復元が終了した場合に、前記第1のタスクから第2のタスクへの切り替えの終了を通知するタスク切り替え終了信号を前記プロセッサコア制御手段に出力し、前記プロセッサコア制御手段は、前記タスク切り替え終了信号に応じて、前記第2のタスクの演算を前記コプロセッサに要求する請求項1乃至4のいずれか1項に記載の情報処理装置。前記情報処理装置は、前記第2のタスクの演算を行うコプロセッサに対応する退避復元手段における演算内容の復元が終了していない場合、前記プロセッサコアからの前記第2のタスクの演算を行うコプロセッサに対する前記第2のタスクの演算の要求を抑止する請求項1乃至6のいずれか1項に記載の情報処理装置。前記プロセッサコアは、前記タスク切替制御手段を有し、前記コプロセッサは、前記退避復元手段を有する請求項1乃至7のいずれか1項に記載の情報処理装置。プロセッサコアが、前記プロセッサコアからの要求に応じてタスクの演算を行う複数のコプロセッサのうち少なくとも1つによって演算を行うタスクを、第1のタスクから第2のタスクに切り替える場合に、前記タスクの演算内容の退避復元を要求する退避復元要求信号を前記複数のコプロセッサに対して出力し、前記複数のコプロセッサのそれぞれが、前記プロセッサコアから出力された退避復元要求信号に応じて、前記第1のタスクの演算内容の退避、及び、前記第2のタスクの演算内容の復元、のうち少なくとも1つを実行する、を備えたタスク切り替え方法。背景技術として説明したように、タスク切り替えを行う度に、プロセッサコアが、現在のタスクのデータの演算レジスタからの読み出し、データのメモリへの書き込み、次のタスクのデータのメモリからの読み出し、データの演算レジスタへの書き込みを演算レジスタの個数分だけ行う必要がある。また複数のコプロセッサを接続した場合、そのコプロセッサの個数分だけ上述した処理を順次行う必要がある。その結果、複数のコプロセッサにおいて、タスクを切り替えるための時間が大きくなってしまうという問題があった。本発明の目的は、上述した課題を解決するために、複数のコプロセッサにおけるタスクの切り替えに要する時間を短縮することのできる情報処理装置及びタスク切り替え方法を提供することにある。本発明の第1の態様にかかる情報処理装置は、プロセッサコアと、プロセッサコアからの要求に応じて演算を行う演算部と、前記演算部の演算内容を格納する演算記憶部と、を有する複数のコプロセッサと、前記複数のコプロセッサのそれぞれに対応し、前記演算記憶部から退避した演算内容を格納する複数の退避記憶部と、前記複数のコプロセッサのうち少なくとも1つによって演算されるタスクを、第1のタスクから第2のタスクに切り替える場合に、前記演算内容の退避復元を要求する退避復元要求信号を出力するタスク切替制御部と、前記複数のコプロセッサのそれぞれに対応した複数の退避復元部と、を備え、前記複数の退避復元部のそれぞれは、前記退避復元要求信号に応じて、前記演算記憶部に格納された第1のタスクに関する演算内容の前記退避記憶部への退避、及び、前記退避記憶部に格納された第2のタスクに関する演算内容の前記演算記憶部への復元、のうち少なくとも1つを実行するものである。本発明の第2の態様にかかるタスク切り替え方法は、プロセッサコアからの要求に応じてタスクの演算を行う複数のコプロセッサにおいて演算するタスクを切り替えるタスク切り替え方法であって、前記プロセッサコアが、前記複数のコプロセッサのうち少なくとも1つによって演算を行うタスクを、第1のタスクから第2のタスクに切り替える場合に、前記タスクの演算内容の退避復元を要求する退避復元要求信号を前記複数のコプロセッサに対して出力するステップと、前記複数のコプロセッサのそれぞれが、前記プロセッサコアから出力された退避復元要求信号に応じて、前記第1のタスクの演算内容の退避、及び、前記第2のタスクの演算内容の復元、のうち少なくとも1つを実行するものである。上述した本発明の各態様によれば、複数のコプロセッサにおけるタスクの切り替えに要する時間を短縮できることのできる情報処理装置及びタスク切り替え方法を提供することができる。まず、図1を参照して、本発明の実施の形態にかかるタスク切り替え高速化回路の概要となる情報処理装置について説明する。図1は、本発明の実施の形態にかかる情報処理装置の構成を示すブロック図である。情報処理装置30は、プロセッサコア301、コプロセッサ311~31n及び退避記憶部351~35nを有する。nは、任意の正整数である。プロセッサコア301は、タスク切り替え制御部302を有する。コアプロセッサ311は、演算部321、演算記憶部331及び退避復元部341を有する。コアプロセッサ312~コプロセッサ31nにいても、コアプロセッサ311と同様の構成であるため、説明を省略する。プロセッサコア301は、コプロセッサ311~31nに対して、タスクの演算を要求する。タスク切り替え制御部302は、複数のコプロセッサ311~31nのうち少なくとも1つによって演算されるタスクを、第1のタスクから第2のタスクに切り替える場合に、そのコプロセッサに退避復元要求信号を出力する。退避復元要求信号は、演算記憶部に格納された演算内容の退避復元を要求する信号である。コプロセッサ311~31nのそれぞれは、タスクの演算を実行する。演算部321~32nのそれぞれは、プロセッサコア301からの要求に応じて演算を行う。演算記憶部331~33nのそれぞれは、演算部321~32nのそれぞれの演算内容を格納する。退避復元部341~34nのそれぞれは、退避復元要求信号に応じて、演算記憶部331~33nのそれぞれに格納された第1のタスクに関する演算内容の退避記憶部351~35nのそれぞれへの退避、及び、退避記憶部351~35nのそれぞれに格納された第2のタスクに関する演算内容の演算記憶部331~33nのそれぞれへの復元、のうち少なくとも1つを実行する。つまり、退避復元部341~34nのそれぞれは、複数のコプロセッサ311~31nのそれぞれに対応する。退避記憶部351~35nのそれぞれは、演算記憶部331~33nのそれぞれから退避した演算内容を格納する。つまり、退避記憶部351~35nのそれぞれは、複数のコプロセッサ311~31nのそれぞれに対応する。続いて、本発明の実施の形態にかかる情報処理装置の処理について説明する。タスク切り替え制御部302は、複数のコプロセッサ311~31nのうち少なくとも1つによって演算されるタスクを、第1のタスクから第2のタスクに切り替える場合に、そのコプロセッサに含まれる退避復元部に退避復元要求信号を出力する。ここで、コプロセッサ311に含まれる退避復元部341に退避復元要求信号が出力されたものとする。退避復元部341は、退避復元要求信号に応じて、演算記憶部331に格納された第1のタスクに関する演算内容の退避記憶部351への退避、及び、退避記憶部351に格納された第2のタスクに関する演算内容の演算記憶部331への復元、のうち少なくとも1つを実行する。次に、本発明の実施の形態について図面を参照して詳細に説明する。図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からの要求に応じて、タスクの演算を実行する。タスク切り替え制御回路105は、プロセッサコア101内のプロセッサコア制御回路120から、タスク切り替え要求信号と切り替え先タスク番号信号が入力される。タスク切り替え制御回路105は、タスクの切り替えを要求したコプロセッサにおいて、タスクの切り替えが終了した場合、プロセッサコア制御回路120に対して、タスク切り替え終了信号を出力する。また、タスク切り替え制御回路105からは、個々のコプロセッサ102、103、104に対して、演算レジスタ値退避復元要求信号と切り替え先タスク番号信号が出力される。コプロセッサ102~104のそれぞれは、演算レジスタデータ退避復元要求信号に応じて、演算レジスタ111に格納されるデータの退避復元を行う。これによって、コプロセッサ102~104のそれぞれにおいて実行されるタスクが切り替わる。データの退避復元が終了した場合、コプロセッサ102~104のそれぞれは、演算レジスタ退避復元終了信号をタスク切り替え制御回路105に出力する。タスク切り替え制御回路105には、タスク毎使用コプロセッサ対応情報テーブル108も接続される。タスク切り替え制御回路105は、タスク毎使用コプロセッサ対応情報テーブル108を使用して、個々のタスク毎に使用されるコプロセッサに関する情報を取得する。タスク切り替え制御回路105は、取得した情報に基づいたコプロセッサに対して演算レジスタ値退避復元要求信号を出力する。さらに、タスク切り替え制御回路105は、ウェイト制御回路107に対して、コプロセッサ102~104のそれぞれがタスク切り替え中か否かを示すコプロセッサ状態信号を出力する。タスク切り替え制御回路105は、タスク切り替え制御部302として機能する。演算レジスタデータ退避復元回路106は、演算レジスタ値退避復元要求信号に応じて、演算レジスタ111に格納された切り替え前のタスクに関する演算内容のデータのメモリ112への退避、及び、データメモリ112に格納された切り替え先のタスクに関する演算内容の演算レジスタ111への復元、のうち少なくとも1つを実行する。演算レジスタデータ退避復元回路106は、タスクの演算内容の退避復元が終了した場合、演算レジスタ退避復元終了信号をタスク切り替え制御回路105に出力する。コプロセッサにおいて、タスクに関する演算内容の退避復元が終了したときに、そのコプロセッサにおけるタスクの切り替えが終了したことになる。演算レジスタデータ退避復元回路106は、退避復元部341~34nとして機能する。ウェイト制御回路107には、プロセッサコア制御回路120から演算制御信号及びコプロセッサ番号信号が入力される。演算制御信号は、コプロセッサ102~104における演算を制御する信号である。コプロセッサ番号信号は、演算制御信号によって制御するコプロセッサの番号を示す信号である。ウェイト制御回路107は、プロセッサコア制御回路120から出力された演算制御信号と、タスク切り替え制御回路105から出力されたコプロセッサ状態信号とに基づいて、コプロセッサ演算制御信号をコプロセッサ演算制御回路109に出力する。また、ウェイト制御回路107は、コプロセッサ状態信号に基づいて、コプロセッサ102~104のうち、プロセッサコア101がコプロセッサ演算制御信号によって演算を制御しようとしたコプロセッサがタスク切り替え中の場合、ウェイト信号をプロセッサコア制御回路120に出力する。ウェイト信号は、プロセッサコア101における処理を停止させる信号である。タスク毎使用コプロセッサ対応情報テーブル108は、タスクと、そのタスクを実行するコプロセッサとを対応付けた対応情報を格納する。タスク毎使用コプロセッサ対応情報テーブル108は、タスク切り替え制御回路105から出力された切り替え先タスク番号信号に応じて、コプロセッサ信号をタスク切り替え制御回路105に出力する。コプロセッサ信号は、切り替え先タスク番号信号が示すタスク番号のタスクを実行するコプロセッサを示す信号である。なお、タスク毎使用コプロセッサ対応情報テーブル108は、自身に格納する対応情報に基づいて、切り替え先タスク番号信号が示すタスク番号のタスクを実行するプロセッサを特定する。タスク毎使用コプロセッサ対応情報テーブル108は、例えば、メモリ、ハードディスク等の記憶装置を含む。対応情報は、例えば、本実施の形態において実行されるタスクを含んだプログラムを起動したときに、他の記憶装置からタスク毎使用コプロセッサ対応情報テーブル108にロードされる。コプロセッサ演算制御回路109は、コプロセッサ演算器110を制御する。コプロセッサ演算制御回路109は、ウェイト制御回路107を介してプロセッサコア101から出力されたコプロセッサ演算制御信号に応じて、コプロセッサ演算器110にタスクの演算を実行させる。コプロセッサ演算器110は、実行するタスクの演算を行う。コプロセッサ演算器110は、タスクの演算内容を演算レジスタ111に格納する。コプロセッサ演算器110は、演算部321~32nとして機能する。演算レジスタ111は、コプロセッサ演算器110によって、タスクの演算内容となるデータが格納される。演算レジスタ111は、演算記憶部33n~33nとして機能する。データメモリ112は、コプロセッサ102が実行するタスクを切り替える場合に、演算レジスタ111に格納されたデータが退避される。データメモリ113、114のそれぞれは、コプロセッサ103、104のそれぞれが実行するタスクを切り替える場合に、それぞれの演算レジスタに格納されたデータが退避される。データメモリ112~114は、退避記憶部351~35nとして機能する。プロセッサコア制御回路120は、プロセッサコア101及びコプロセッサ102~104において実行するタスクを管理する。プロセッサコア制御回路120は、タスク切り替え要求信号によって、タスク切り替え制御回路105に対してコプロセッサ102~104におけるタスクの切り替えを要求する。プロセッサコア制御回路120は、演算制御信号によって、コプロセッサ102~104に対してタスクの演算を要求する。使用中コプロセッサ記憶レジスタ151は、タスクを実行するために使用しているコプロセッサを示す情報を格納する。使用中コプロセッサ記憶レジスタ151に格納される情報は、コプロセッサ102が実行するタスクを切り替えるときに、切り替え前のタスクを実行していたコプロセッサを示す情報として使用される。コプロセッサ状態レジスタ152は、コプロセッサ102~104がタスク切り替え中であるか否かを示す情報が格納される。タスク番号記憶レジスタ161は、切り替え前のタスクのタスク番号を示す情報が格納される。[動作の説明]次に、本発明のタスク切り替え高速化回路10の動作について、図2のブロック図を用いて説明する。タスク切り替え制御回路105は、プロセッサコア101のプロセッサコア制御回路120より、タスク切り替え要求信号と切り替え先タスク番号信号が通知されると、その切り替え先タスク番号信号をタスク毎使用コプロセッサ対応情報テーブル108に出力する。タスク毎使用コプロセッサ対応情報テーブル108は、タスク切り替え制御回路105から出力された切り替え先タスク番号信号が示すタスク番号のタスクを実行するコプロセッサを示すコプロセッサ番号信号をタスク切り替え制御回路105に出力する。このようにして、タスク切り替え制御回路105は、切り替え先のタスクを実行するコプロセッサのコプロセッサ番号を取得する。次に、タスク切り替え制御回路105は、その内部に有する使用中コプロセッサ記憶レジスタ151に記憶されている情報に基づいて、個々のコプロセッサ102~104に対して、切り替え前のタスクで使用していたか、と、切り替え後のタスクで使用するかを通知する信号を出力する。これは、そのまま、演算レジスタデータ退避復元要求信号となる。使用中コプロセッサ記憶レジスタ151に記憶されている情報は、切り替え前のタスクで使用されているコプロセッサを示す情報となる。具体的には、タスクを切り替える場合、切り替え前のタスクで使用されていたコプロセッサは、演算レジスタ111に格納された演算内容を退避する必要がある。また、タスクを切り替える場合、切り替え先のタスクで使用するコプロセッサは、退避されていた演算内容を演算レジスタ111に復元する必要がある。つまり、演算レジスタデータ退避復元要求信号は、出力先のコプロセッサに対して、演算内容の退避を行わせるか否か、及び、演算内容の復元を行わせるか否かを示す信号である。この信号と同時に、タスク切り替え制御回路105は、個々のコプロセッサ102~104に対して、切り替え先タスク番号も通知する。この切り替え先タスク番号は、切り替え先タスク番号信号によって通知される。また、タスク切り替え制御回路105は、コプロセッサ102~104毎のタスク切り替え状態を示すコプロセッサ状態レジスタ152に、現在のコプロセッサ102~104の状態をセットする。個々のコプロセッサ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の処理を停止させる信号である。タスク切り替え制御回路105は、コプロセッサ102~104におけるタスク切り替え処理が終了したときに、使用中コプロセッサ記憶レジスタ151の値を更新する。次に、図3、図4、図5を用いて複数のコプロセッサを接続したプロセッサコアにおけるタスク切り替え処理の流れの例を、背景技術にかかる手法を用いた場合と、本実施の形態にかかるタスク切り替え高速化回路10を用いた場合について説明する。具体的には、図3に示す構成において、背景技術にかかる手法を適用した場合と、本実施の形態にかかる手法を適用した場合とのそれぞれの処理について説明する。図3には、それぞれの手法を適用する構成におけるプロセッサコアとコプロセッサの関係を示すブロック図を示す。プロセッサコア201には、複数のコプロセッサ202~204が接続されている。プロセッサコア201およびコプロセッサ202~204のそれぞれにはデータメモリ205~208のそれぞれが接続されている。タスク切り替え時には、プロセッサコア201およびコプロセッサ202~204内にある演算レジスタのそれぞれに格納されたデータの退避復元処理は、プロセッサコア201及びコプロセッサ202~204のそれぞれが、自身に接続されているデータメモリ205~208のそれぞれに対して行うものとする。また、プロセッサコア201及びコプロセッサ202~204は、バスコントローラ210を介して、データメモリ205~208、外部メモリ及びI/Oインタフェースに相互にアクセス可能である。図4には、図3に示す構成に、背景技術にかかる手法を適用した場合におけるタスク切り替え処理の流れの例を示している。背景技術にかかるタスク切り替え処理では、プロセッサコア201が個々のコプロセッサ202~204に対して演算レジスタのデータの退避復元処理を順に行なっていた。まず、プロセッサコア201及びコプロセッサ202~204がタスク1を実行している状態であるものとする。例えば、この図4のように、タスク1からタスク2に切り替えるとき、まず、プロセッサコア201は、プロセッサコア201における演算レジスタのデータ退避復元処理を行う。具体的には、プロセッサコア201は、自身が有する演算レジスタに格納されたタスク1の演算内容をデータメモリ205に退避する。そして、プロセッサコア201は、データメモリ205に格納されたタスク2の演算内容を自身が有する演算レジスタに復元する。次に、プロセッサコア201は、コプロセッサ202における演算レジスタのデータの退避復元処理を行う。具体的には、プロセッサコア201は、コプロセッサ202が有する演算レジスタに格納されたタスク1の演算内容をデータメモリ206に退避する。そして、プロセッサコア201は、データメモリ206に格納されたタスク2の演算内容を自身が有する演算レジスタに復元する。つまり、プロセッサコア201が、コプロセッサ202が有する演算レジスタから、タスク1の演算内容を取得して、取得したタスク1の演算内容をデータメモリ206に格納している。また、プロセッサコア201が、データメモリ206に格納されたタスク2の演算内容を取得して、取得したタスク2の演算内容をコプロセッサ202が有する演算レジスタに格納している。次に、プロセッサコア201は、コプロセッサ203における演算レジスタのデータの退避復元処理を行う。ここでも、ステップS211と同様に、プロセッサコア201が演算内容の退避復元処理を行う。最後に、プロセッサコア201は、コプロセッサ204における演算レジスタのデータの退避復元処理を行う。ここでも、ステップS211及びS212と同様に、プロセッサコア201が演算内容の退避復元処理を行う。ここまでで、プロセッサコア201及びコプロセッサ202~204において、タスク1からタスク2に切り替えるための退避復元処理が終了する。そのため、プロセッサコア201及びコプロセッサ202~204は、タスク2を実行する処理を開始する。次に、タスク2からタスク3に切り換える場合、ステップS210~S213と同様に、プロセッサコア201が演算レジスタのデータの退避復元処理を行う。次に、プロセッサコア201及びコプロセッサ202~204は、タスク3を実行する処理を開始する。このように、背景技術にかかるタスク切り替え処理では、プロセッサコア201がコプロセッサ202~204が有する演算レジスタのそれぞれに順次アクセスして、データの退避復元を行っていた。そのため、個々のコプロセッサ202~204の退避復元処理を順にしか行うことができず、非常に多くの時間を要していた。図5には、図3に示す構成に、本実施の形態にかかる手法を適用した場合におけるタスク切り替え処理の流れの例を示している。図3に示す構成に、本実施の形態にかかる手法を適用したものが、タスク切り替え高速化回路10となる。プロセッサコア201にタスク切り替え制御回路105、ウェイト制御回路107及びタスク毎使用コプロセッサ対応情報テーブル108を適用したものが、プロセッサコア101となる。コプロセッサ202~204に演算レジスタデータ退避復元回路106を適用したものが、コプロセッサ102~104となる。データメモリ206は、データメモリ112に相当し、データメモリ207は、データメモリ113に相当し、データメモリ208は、データメモリ114に相当する。この図5には、タスク切り替えの例として、タスク1、タスク2、タスク3、タスク1、タスク3の順番でタスクを切り替えるときの処理の流れを示している。ここで、タスク1はコプロセッサ102と103を使用し、タスク2はコプロセッサ103と104を使用し、タスク3はコプロセッサ104を使用すると仮定している。つまり、タスク毎使用コプロセッサ対応情報テーブル108は、タスク1とコプロセッサ102、103とを対応付けた情報と、タスク2とコプロセッサ103、104とを対応付けた情報と、タスク3とコプロセッサ104とを対応付けた情報とを含む。また、プロセッサコア101の演算レジスタに格納されたデータの退避処理、復元処理は毎回行うものとする。まず、プロセッサコア101及びコプロセッサ102、103がタスク1を実行している。プロセッサコア101及びコプロセッサ102~104において実行するタスクを、タスク1からタスク2に切り替える。具体的には、プロセッサコア制御回路120は、タスク切り替え要求信号をタスク切り替え制御回路105に出力する。また、プロセッサコア制御回路120は、タスク2のタスク番号を示す切り替え先タスク番号信号をタスク切り替え制御回路105に出力する。また、プロセッサコア制御回路120は、自身が有する演算レジスタに格納されたタスク1の演算内容をデータメモリ205に退避し、データメモリ205に格納されたタスク2の演算内容を自身が有する演算レジスタに復元する。演算レジスタデータ退避復元回路106は、退避処理が終了した場合、演算レジスタデータ退避復元終了信号をタスク切り替え制御回路105に出力する。また、タスク切り替え制御回路105は、退避処理及び復元処理の実行を要求する演算レジスタデータ退避復元要求信号をコプロセッサ103に出力する。コプロセッサ103の演算レジスタデータ退避復元回路は、タスク切り替え制御回路105から出力された演算レジスタデータ退避復元要求信号に応じて、自身が有する演算レジスタに格納されたタスク1の演算内容をデータメモリ113に退避し、データメモリ113に格納されたタスク2の演算内容を自身が有する演算レジスタに復元する。演算レジスタデータ退避復元回路は、退避処理及び復元処理が終了した場合、演算レジスタデータ退避復元終了信号をタスク切り替え制御回路105に出力する。また、タスク切り替え制御回路105は、復元処理の実行を要求する演算レジスタデータ退避復元要求信号をコプロセッサ104に出力する。コプロセッサ104の演算レジスタデータ退避復元回路は、タスク切り替え制御回路105から出力された演算レジスタデータ退避復元要求信号に応じて、データメモリ114に格納されたタスク2の演算内容を自身が有する演算レジスタに復元する。演算レジスタデータ退避復元回路は、復元処理が終了した場合、演算レジスタデータ退避復元終了信号をタスク切り替え制御回路105に出力する。タスク切り替え制御回路105は、コプロセッサ102~104から演算レジスタデータ退避復元終了信号が出力された場合、コプロセッサ状態レジスタ152に格納される情報のうち、演算レジスタデータ退避復元終了信号を出力したコプロセッサに対応する値を、タスク切り替え中でないことを示す値に更新する。タスク切り替え制御回路105は、退避処理又は復元処理を要求した全てのコプロセッサ102~104から演算レジスタデータ退避復元終了信号が出力された場合、タスク切り替え終了信号をプロセッサコア制御回路120に出力する。また、タスク切り替え制御回路105は、使用中コプロセッサ記憶レジスタ151の情報を、タスク2を実行するコプロセッサ103、104を示す情報に更新する。プロセッサコア制御回路120は、タスク切り替え制御回路105から出力されたタスク切り替え終了信号に応じて、タスク2の実行を開始する。具体的には、プロセッサコア101が有する演算器にタスク2の演算を行わせる。また、プロセッサコア制御回路120は、コプロセッサ103、104のコプロセッサ番号を示すコプロセッサ番号信号と、タスク2の演算を要求する演算制御信号とをウェイト制御回路107に出力する。これに応じて、ウェイト制御回路107は、コプロセッサ103、104に対してコプロセッサ演算制御信号を出力する。これによって、コプロセッサ103、104の演算器においてもタスク2の演算が行われる。このように、コプロセッサ102の演算レジスタの退避処理、コプロセッサ103の演算レジスタの退避復元処理、及び、コプロセッサ104の演算レジスタ復元処理が行なされる。ここで、タスク2では、コプロセッサ102を用いないため、コプロセッサ102の演算レジスタ111の退避処理の終了を待つ必要は無い。つまり、コプロセッサ103、104の復元処理が終了した時点でタスク2の実行が可能となるため、コプロセッサ103、104における復元処理の終了さえ待ち合わせればよい。言い換えると、タスク切り替え制御回路105は、切り替え先のタスクを実行するコプロセッサの全てにおいて、復元処理が終了した時点で、タスク切り替え終了信号をプロセッサコア制御回路120に出力するようにしてもよい。したがって、タスク切り替え制御回路105は、コプロセッサ103及びコプロセッサ104から演算レジスタデータ退避復元終了信号が出力された場合に、タスク切り替え終了信号をプロセッサコア制御回路120に出力するようにしてもよい。または、演算レジスタデータ退避復元回路106は、退避処理のみ実行する場合、退避処理が終了していなくても、演算レジスタデータ退避復元要求信号に応じて、すぐに演算レジスタデータ退避復元終了信号を出力するようにしてもよい。このようにすることで、コプロセッサ102における退避処理がバックグラウンドで実行される。これにより、コプロセッサ102における退避処理時間が、コプロセッサ103、104における退避復元処理時間よりも多い場合に、タスク切り替えに要する時間を短縮することができる。他方、ウェイト制御回路107は、プロセッサコア制御回路120から演算制御信号が出力されるときにまだ退避復元処理が終わっていないときにはプロセッサコア101にウェイトをかける。具体的には、ウェイト制御回路107は、タスク切り替え制御回路105から出力されるコプロセッサ状態信号のうち、プロセッサコア制御回路120から出力されたコプロセッサ番号信号が示すコプロセッサに対応する信号が、タスク切り替え中であることを示している場合、ウェイト信号をプロセッサコア制御回路120に出力する。次に、タスク2からタスク3に切り替えるときは、プロセッサコア制御回路120は、タスク切り替え要求信号と、タスク3のタスク番号を示す切り替え先タスク番号信号とをタスク切り替え制御回路105に出力する。プロセッサコア制御回路120は、タスク2の演算内容を退避し、タスク3の演算内容を復元する。なお、ここでの退避処理は、上述したように、バックグラウンドで実行する。演算レジスタデータ退避復元回路は、退避処理が終了した場合、演算レジスタデータ退避復元終了信号をタスク切り替え制御回路105に出力する。また、タスク切り替え制御回路105は、退避処理及び復元処理の実行を要求する演算レジスタデータ退避復元要求信号をコプロセッサ104に出力する。これによって、コプロセッサ104の演算レジスタデータ退避復元回路は、退避処理及び復元処理を実行する。演算レジスタデータ退避復元回路は、退避処理及び復元処理が終了した場合、演算レジスタデータ退避復元終了信号をタスク切り替え制御回路105に出力する。タスク切り替え制御回路105は、コプロセッサ103、104から演算レジスタデータ退避復元終了信号が出力された場合、コプロセッサ状態レジスタ152に格納される情報のうち、演算レジスタデータ退避復元終了信号を出力したコプロセッサに対応する値を、タスク切り替え中でないことを示す値に更新する。タスク切り替え制御回路105は、退避処理又は復元処理を要求した全てのコプロセッサ103、104から演算レジスタデータ退避復元終了信号が出力された場合、タスク切り替え終了信号をプロセッサコア制御回路120に出力する。また、タスク切り替え制御回路105は、使用中コプロセッサ記憶レジスタ151の情報を、タスク3を実行するコプロセッサ104を示す情報に更新する。プロセッサコア制御回路120は、タスク切り替え制御回路105から出力されたタスク切り替え終了信号に応じて、タスク3の実行を開始する。次に、タスク3からタスク1に切り替えるときは、プロセッサコア制御回路120は、タスク切り替え要求信号と、タスク1のタスク番号を示す切り替え先タスク番号信号とをタスク切り替え制御回路105に出力する。プロセッサコア制御回路120は、タスク2の演算内容を退避し、タスク1の演算内容を復元する。演算レジスタデータ退避復元回路は、復元処理が終了した場合、演算レジスタデータ退避復元終了信号をタスク切り替え制御回路105に出力する。また、タスク切り替え制御回路105は、退避処理の実行を要求する演算レジスタデータ退避復元要求信号をコプロセッサ104に出力する。これによって、コプロセッサ104の演算レジスタデータ退避復元回路は、退避処理を実行する。なお、ここでの退避処理は、上述したように、バックグラウンドで実行する。演算レジスタデータ退避復元回路は、退避処理が終了した場合、演算レジスタデータ退避復元終了信号をタスク切り替え制御回路105に出力する。タスク切り替え制御回路105は、退避処理又は復元処理を要求したコプロセッサから演算レジスタデータ退避復元終了信号が出力された場合、コプロセッサ状態レジスタ152に格納される情報のうち、演算レジスタデータ退避復元終了信号を出力したコプロセッサに対応する値を、タスク切り替え中でないことを示す値に更新する。タスク切り替え制御回路105は、退避処理又は復元処理を要求した全てのコプロセッサから演算レジスタデータ退避復元終了信号が出力された場合、タスク切り替え終了信号をプロセッサコア制御回路120に出力する。また、タスク切り替え制御回路105は、使用中コプロセッサ記憶レジスタ151の情報を、タスク1を実行するコプロセッサ102、103を示す情報に更新する。プロセッサコア制御回路は、タスク切り替え制御回路105から出力されたタスク切り替え終了信号に応じて、タスク1の実行を開始する。次に、タスク1からタスク3に切り替えるときは、プロセッサコア制御回路120は、タスク切り替え要求信号と、タスク3のタスク番号を示す切り替え先タスク番号信号とをタスク切り替え制御回路105に出力する。プロセッサコア制御回路120は、タスク1の演算内容を退避し、タスク3の演算内容を復元する。なお、ここでの退避処理は、上述したように、バックグラウンドで実行される。演算レジスタデータ退避復元回路は、退避処理が終了した場合、演算レジスタデータ退避復元終了信号をタスク切り替え制御回路105に出力する。また、タスク切り替え制御回路105は、復元処理の実行を要求する演算レジスタデータ退避復元要求信号をコプロセッサ104に出力する。しかし、コプロセッサ104は切り替え先のタスク1で使用されるが、上述したように、復元処理は不要である。そのため、ステップS150におけるコプロセッサ102のように、復元処理を行わないようにしてもよい。タスク切り替え制御回路105は、退避処理又は復元処理を要求したコプロセッサから演算レジスタデータ退避復元終了信号が出力された場合、コプロセッサ状態レジスタ152に格納される情報のうち、演算レジスタデータ退避復元終了信号を出力したコプロセッサに対応する値を、タスク切り替え中でないことを示す値に更新する。タスク切り替え制御回路105は、退避処理又は復元処理を要求した全てのコプロセッサから演算レジスタデータ退避復元終了信号が出力された場合、タスク切り替え終了信号をプロセッサコア制御回路120に出力する。また、タスク切り替え制御回路105は、使用中コプロセッサ記憶レジスタ151の情報を、タスク3を実行するコプロセッサ104を示す情報に更新する。プロセッサコア制御回路は、タスク切り替え制御回路105から出力されたタスク切り替え終了信号に応じて、タスク3の実行を開始する。タスク切り替え高速化回路10は、以降も同様にして、実行するタスクに応じて退避復元処理を実行する。もし、1つのタスクのみでしか使用されていないコプロセッサがあるときは、演算レジスタに格納されたデータの退避、復元処理を全て省略するようにしてもよい。以上に説明したように、本実施の形態では、複数のコプロセッサ102~104のうち少なくとも1つによって演算を行うタスクを、第1のタスクから第2のタスクに切り替える場合に、そのコプロセッサが有する演算レジスタに格納された演算内容の退避復元を要求する演算レジスタデータ退避復元要求信号をそのコプロセッサに出力するタスク切り替え制御回路105を有している。また、演算レジスタデータ退避復元要求信号に応じて、演算レジスタに格納された第1のタスクに関する演算内容のデータメモリへの退避、及び、データメモリに格納された第2のタスクに関する演算内容の演算レジスタへの復元、のうち少なくとも1つを実行する演算レジスタデータ退避復元回路を、複数のコプロセッサ102~104のそれぞれに対応して有している。このような構成とすることで、タスク切り替え制御回路105から、演算レジスタデータ退避復元回路に並列的に演算レジスタデータ退避復元要求信号を出力することによって、演算内容の退避復元処理を並列化して実行することができるようにしている。そのため、複数のコプロセッサにおけるタスクの切り替えに要する時間を短縮できることができる。また、本実施の形態によれば、切り替え先の第2のタスクの演算を行うコプロセッサに対応する演算レジスタデータ退避復元回路のみに演算内容の復元を要求する演算レジスタデータ退避復元要求信号を出力するようにしている。また、使用中コプロセッサ記憶レジスタ151に格納された情報に基づいて、切り替え前の第1のタスクの演算を行うコプロセッサに対応する演算レジスタデータ退避復元回路のみに演算内容の退避を要求する演算レジスタデータ退避復元要求信号を出力するようにしている。また、演算レジスタデータ退避復元回路106に、切り替え前のタスクを示す情報を格納するタスク番号記憶レジスタ161を有するようにしている。そして、演算レジスタデータ退避復元回路106は、タスク番号記憶レジスタ161に格納された情報が示すタスクと、タスク切り替え制御回路105から出力された切り替え先タスク番号信号が示すタスクとが同じ場合に、演算内容の退避及び復元のうち少なくとも1つを実行しないようにしてもよい。これらによれば、演算内容の退避復元が必要なコプロセッサに対してのみ、演算内容の退避復元を行うようにすることができる。つまり、余分な退避復元処理を行わないようにすることができるため、複数のコプロセッサにおけるタスクの切り替えに要する時間をより短縮できることができる。また、本実施の形態によれば、複数の演算レジスタデータ退避復元回路のうち、切り替え先の第2のタスクの演算を行うプロセッサに対応する複数の演算レジスタデータ退避復元回路における演算内容の復元が終了した場合に、タスクの切り替えの終了を通知するタスク切り替え終了信号をプロセッサコア制御回路120に出力するようにしている。これによれば、演算内容の退避のみ必要なコプロセッサにおける退避処理をバックグラウンドで実行しつつ、切り替え先の第2のタスクの演算を実行することができる。そのため、演算内容の退避のみ必要なコプロセッサにおける退避処理を待ち合わせる必要がなくなるため、複数のコプロセッサにおけるタスクの切り替えに要する時間をより短縮することができる。実施例1図6に本発明のタスク切り替え高速化回路10に用いられるタスク切り替え制御回路105の実施例を示す。この例では、3個のコプロセッサ102~104に対応したタスク切り替え制御回路105の例を示している。タスク切り替え制御回路105は、使用中コプロセッサ記憶レジスタ501~503、コプロセッサ状態レジスタ504~506、AND回路511~516、OR回路521~523、NOR回路531を有する。つまり、図6は、使用中コプロセッサ記憶レジスタ151が、使用中コプロセッサ記憶レジスタ501~503を含み、コプロセッサ状態レジスタ152が、コプロセッサ状態レジスタ504~506を含む場合について例示している。プロセッサコア101のプロセッサコア制御回路120は、プロセッサコア102~104で実行するタスクを切り替える場合、切り替え先のタスク番号を示す切り替え先タスク番号信号と、タスクの切り替えを要求する値1を示すタスク切り替え要求信号とをタスク切り替え制御回路105に出力する。プロセッサコア制御回路120より、切り替え先タスク番号信号、および、タスク切り替え要求信号が通知されると、タスク切り替え制御回路105は、まず、切り替え先タスク番号信号をタスク毎使用コプロセッサ対応情報テーブル108に出力する。タスク毎使用コプロセッサ対応情報テーブル108は、コプロセッサ102~104の個数幅の信号を出力する。この信号は、切り替え先タスク番号信号が示すタスク番号のタスクで使用するコプロセッサに対応する信号が1となり、それ以外のコプロセッサに対応する信号が0となる。この信号のうち、コプロセッサ102に対応する信号が使用中コプロセッサ記憶レジスタ501及びAND回路511に出力され、コプロセッサ103に対応する信号が使用中コプロセッサ記憶レジスタ502及びAND回路513に出力され、コプロセッサ104に対応する信号が使用中コプロセッサ記憶レジスタ503及びAND回路513出力される。AND回路511、513、515のそれぞれは、この信号とタスク切り替え要求信号をAND演算する。AND回路511、513、515のそれぞれは、AND演算によって生成した信号を、各コプロセッサ102~104に対して、演算レジスタデータ復元要求信号として出力する。具体的には、AND回路511は、生成した信号をコプロセッサ102及びOR回路521に出力し、AND回路513は、生成した信号をコプロセッサ103及びOR回路522に出力し、AND回路515は、生成した信号をコプロセッサ104及びOR回路523に出力する。また、使用中コプロセッサ記憶レジスタ501~503は、コプロセッサ102~104個数分存在する。使用中コプロセッサ記憶レジスタ501~503は、それぞれに対応するコプロセッサ102~104のそれぞれが、切り替え前のタスクで使用されているかどうかを示す情報が記憶されている。具体的には、使用中コプロセッサ記憶レジスタ501~503は、自身に対応するコプロセッサが、切り替え前のタスクで使用されている場合は1が格納され、切り替え前のタスクで使用されていない場合は0が格納されている。使用中コプロセッサ記憶レジスタ501は、自身に格納されている値をAND回路512に出力し、使用中コプロセッサ記憶レジスタ502は、自身に格納される値をAND回路514に出力し、使用中コプロセッサ記憶レジスタ504は、自身に格納される値をAND回路516に出力する。AND回路512、514、516のそれぞれは、使用中コプロセッサ記憶レジスタ501~503のそれぞれから出力された値とタスク切り替え要求信号をAND演算する。AND回路512、514、516のそれぞれは、AND演算によって生成した信号を、各コプロセッサ102~104に対して、演算レジスタ値退避要求信号として出力する。具体的には、AND回路512は、生成した信号をコプロセッサ102及びOR回路521に出力し、AND回路513は、生成した信号をコプロセッサ103及びOR回路522に出力し、AND回路514は、生成した信号をコプロセッサ104及びOR回路523に出力する。OR回路521~523のそれぞれは、コプロセッサ102~104毎に、演算レジスタデータ復元要求信号と演算レジスタデータ退避要求信号をOR演算することによって得られる信号をコプロセッサ状態レジスタ504~506のそれぞれに出力する。これによって、コプロセッサ状態レジスタ504~506のうち、復元処理、もしくは、退避処理が要求されたコプロセッサに対応するコプロセッサ状態レジスタに、OR回路521~523のそれぞれから出力された信号の値が格納される。ここで、コプロセッサ状態レジスタ504はコプロセッサ102に対応し、コプロセッサ状態レジスタ505はコプロセッサ103に対応し、コプロセッサ状態レジスタ506はコプロセッサ104に対応する。また、コプロセッサ状態レジスタ504~506のそれぞれは、自身に格納された値を、コプロセッサ状態信号としてウェイト制御回路107及びNOR回路531に出力する。コプロセッサ状態レジスタ504~506のそれぞれは、自身に格納された値を、NOR回路531に出力するとともに、コプロセッサ状態信号としてウェイト制御回路107に出力する。復元処理、もしくは、退避処理が要求されたコプロセッサからタスク切り替え終了信号が返ってくると、そのコプロセッサに対応するコプロセッサ状態レジスタは、自身に格納された値をクリアする。タスク切り替え終了信号は、タスク切り替え処理が終了したことを示す信号である。つまり、切り替え処理を行なっているコプロセッサに対応するコプロセッサ状態レジスタのコプロセッサ状態信号は1となり、切り替え処理を行なっていないコプロセッサ状態レジスタのコプロセッサ状態信号は0となる。全てのコプロセッサ状態信号が0となると、NOR回路531は、タスク切り替え終了信号を1として、プロセッサコア制御回路120に出力する。プロセッサコア制御回路120は、NOR回路531から1となったタスク切り替え終了信号が出力された場合、タスクの切り替えを要求しない値0を示すタスク切り替え要求信号をタスク切り替え制御回路105に出力する。プロセッサコア制御回路120から0となったタスク切り替え要求信号が出力された場合、使用中コプロセッサ記憶レジスタ501~503のそれぞれは、タスク毎使用コプロセッサ対応情報テーブル108から出力された信号の値を自身に格納する。また、AND回路511~516は、0となった演算レジスタデータ復元要求信号及び演算レジスタデータ退避要求信号をコプロセッサ102~104及びOR回路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は、もし、タスク番号が一致すれば、1を示す信号を出力し、タスク番号が一致しない場合は、0を示す信号を出力する。比較器602から出力された信号は、AND回路621、622及びOR回路631に入力される。なお、AND回路621、622には、比較器602から出力された信号が反転されて入力される。AND回路621、622のそれぞれは、タスク切り替え制御回路105から出力された演算レジスタデータ退避要求信号及び演算レジスタデータ復元要求信号と、比較器602から出力された信号を反転した信号とをAND演算する。AND回路621、622のそれぞれは、AND演算によって生成した信号を、レジスタ退避復元制御回路603に出力する。つまり、タスク番号が一致すると、演算レジスタデータ退避要求信号、および、演算レジスタデータ復元要求信号は無視される。これは、前回のタスク番号が同じ場合は、すでに演算レジスタ111には使用する値が格納されているため、退避復元処理を行なわなくてよいためである。また、この場合、OR回路631は、比較器602から出力された1を示す信号をOR演算することになる。よって、OR回路631は、退避復元処理が終了したことを通知する値1を示す演算レジスタデータ退避復元終了信号をタスク切り替え制御回路105に出力する。レジスタ退避復元制御回路603は、AND回路621、622を介して、演算レジスタデータ退避要求信号、および、演算レジスタデータ復元要求信号を受けると、それらの信号の値に応じて、退避処理、復元処理を開始する。具体的には、レジスタ退避復元制御回路603は、AND回路621から出力された演算レジスタデータ退避要求信号の値が1を示す場合、退避処理を実行する。また、レジスタ退避復元制御回路603は、AND回路622から出力された演算レジスタデータ復元要求信号の値が1を示す場合、復元処理を実行する。レジスタ退避復元制御回路603は、退避処理又は復元処理を実行する場合、レジスタアドレス生成回路604及びデータメモリアドレス生成回路605を起動する。レジスタアドレス生成回路604は退避復元するときの演算レジスタ番号を生成する。データメモリアドレス生成回路605は演算レジスタ値を退避復元するときのデータメモリのアドレスを生成する。ここで、タスク切り替え制御回路105から出力された切り替え先タスク番号信号と、タスク番号記憶レジスタ601から出力された信号は、データメモリアドレス生成回路605に入力される。つまり、データメモリのアドレス生成には、切り替え先タスク番号、および、切り替え前タスク番号も用いられる。これは、タスク番号に応じて、演算レジスタ111に対してデータの退避又は復元を行うデータメモリ112のアドレスを変える必要があるためである。データメモリアドレス生成回路605は、切り替え前のタスク番号に基づいて、データメモリ112のうち、演算レジスタ111のデータを退避するアドレスを生成する。データメモリアドレス生成回路605は、切り替え先のタスク番号に基づいて、データメモリ112のうち、演算レジスタ111に復元するデータが格納されたアドレスを生成する。レジスタ退避復元制御回路603は、レジスタアドレス生成回路604、データメモリアドレス生成回路605から生成されたアドレスを用いて、演算レジスタ111及びデータメモリ112間でデータを転送する。全てのコプロセッサ102~104において、タスク切り替え処理が終了した場合、0となった演算レジスタデータ復元要求信号及び演算レジスタデータ退避要求信号がOR回路611及びAND回路621、622に入力される。この場合、OR回路611は、OR演算結果である0を示す信号をタスク番号記憶レジスタ601に出力する。タスク番号記憶レジスタ601は、OR回路611から0を示す信号が出力された場合、自身に格納する値を、切り替え先タスク番号信号が示す切り替え先タスク番号に更新する。図8に本発明のタスク切り替え高速化回路10に用いられるウェイト制御回路107の実施例を示している。ウェイト制御回路107は、デコーダ701、セレクタ702~704、AND回路711~716及びOR回路721を有する。プロセッサコア101のプロセッサコア制御回路120は、コプロセッサ102~104に対して、演算の要求等の制御を行う場合、制御を行うコプロセッサの番号を示すコプロセッサ番号信号と、制御内容を示す演算制御信号と、をウェイト制御回路107に出力する。デコーダ701は、プロセッサコア制御回路120から出力されたプロセッサ番号信号を、プロセッサコア制御回路120が制御対象として指定するコプロセッサに対応するビットが1となるコプロセッサ数の幅を有する信号に変換して出力する。具体的には、デコーダ回路701は、コプロセッサ102に対応する信号をAND回路711、714に出力し、コプロセッサ103に対応する信号をAND回路712、715に出力し、コプロセッサ104に対応する信号をAND回路713、716に出力する。AND回路711~713のそれぞれは、デコーダ701から出力された信号と、タスク切り替え制御回路105から出力されたコプロセッサ状態信号を反転した信号とをAND演算する。AND回路711~713のそれぞれは、AND演算によって生成した信号を、セレクタ702~704のそれぞれにデータ選択信号として出力する。具体的には、コプロセッサ状態レジスタ504から出力されたコプロセッサ状態信号がAND回路711、714に対して入力され、コプロセッサ状態レジスタ505から出力されたコプロセッサ状態信号がAND回路712、715に対して入力され、コプロセッサ状態レジスタ506から出力されたコプロセッサ状態信号がAND回路713、716に対して入力される。また、AND回路711は、生成した信号をセレクタ702に出力し、AND回路712は、生成した信号をセレクタ703に出力し、AND回路713は、生成した信号をセレクタ704に出力する。セレクタ702~704のそれぞれは、プロセッサ毎に、プロセッサコア制御回路120から出力された演算制御信号か0を選択する。セレクタ702~704のそれぞれは、データ選択信号が0のときは、0を対応するコプロセッサに出力し、データ選択信号が1のときは、演算制御信号を対応するコプロセッサに出力する。これによって、コプロセッサ番号で指定されたコプロセッサに対して、そのコプロセッサのコプロセッサ状態信号が0のときだけ、演算制御信号がコプロセッサ演算制御信号として出力される。このようにすることで、プロセッサコア制御回路120からタスク切り替え中のコプロセッサに対する演算の要求を抑止することができる。他方、AND回路714~716のそれぞれは、デコーダ701から出力された信号と、タスク切り替え制御回路105から出力されたコプロセッサ状態信号とをAND演算する。AND回路714~716のそれぞれは、AND演算によって生成した信号を、OR回路721に出力する。OR回路721は、AND回路714~716のそれぞれから出力された信号をOR演算する。OR回路721は、OR演算によって生成した信号をプロセッサコア制御回路120にウェイト信号として出力する。これによって、制御を行うコプロセッサ番号として指定されたコプロセッサのコプロセッサ状態信号が1のときは、ウェイト信号が1になり、プロセッサコア101の処理が停止する。つまり、これは、プロセッサコア101が演算レジスタのデータの退避処理又は復元処理が終わっていないコプロセッサにアクセスした場合に、その退避処理又は復元処理が終了するまでプロセッサコア101を停止する機能を与えるものである。このようにすることで、プロセッサコア制御回路120からタスク切り替え中のコプロセッサに対する演算の要求を抑止することができる。なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。本実施の形態では、コプロセッサ数が3つの場合について例示したが、コプロセッサの数はこれに限られない。また、各回路105、106、107、120において入出力される信号の値が0又は1となるとして例示しているものがあるが、この値に限られない。また、本発明は、携帯電話やAV機器に用いられる信号処理LSIにも適用することができる。この出願は、2010年4月30日に出願された日本出願特願2010-104880を基礎とする優先権を主張し、その開示の全てをここに取り込む。