(57)【要約】【課題】タスクを時分割で実行する場合に、キャッシュメモリの利用効率を向上させる。【解決手段】本発明に係るプロセッサは、実行タスク決定部１と、プロセッサコア２と、キャッシュメモリ３とを備えている。キャッシュメモリ３は、データ保存部４とエントリ選択部５とを有し、エントリ選択部５は、領域管理テーブル７と、領域選択部８と、キャッシュヒット判定部９とを有する。複数のタスクに関するタスク情報をデータ保存部４に保存しておき、新しいタスクを実行する予定がある場合には、そのタスク情報を最も優先順位の低いタスクのタスク情報と入れ替えるようにしたため、タスク切替時にデータ保存部４のデータを入れ替えるのに時間がかからなくなり、タスクの切替を短時間で行うことができる。【選択図】  図２
2004326175.tif 000002
【特許請求の範囲】
【請求項１】
メインメモリとは別に、前記メインメモリに記憶すべきデータを、前記メインメモリに記憶するデータとの一貫性を保証するように一時的に記憶するキャッシュメモリを備え、複数のタスクを時分割で処理するプロセッサにおいて、
次に実行すべきタスクと、実行待機状態のタスクのうち最も優先順位の低いタスクと、を決定する実行タスク決定手段を備え、
前記キャッシュメモリは、
各タスクで使用するデータと該データに対応するタグ情報とを格納するタスク情報格納領域をタスクごとに有するタスク情報格納手段と、
前記実行タスク決定手段の決定に従って、次に実行すべきタスクで使用する前記タスク情報格納領域を選択するとともに、前記実行タスク決定手段により決定された最も優先順位の低いタスクに対応する前記タスク情報格納領域の書き換えを制御する領域選択手段と、
前記領域選択手段で選択された前記タスク情報格納領域を用いてタスクを実行する際、発行されたアドレスに対応するデータが該タスク情報格納領域に存在するか否かを判定する判定手段と、を備えることを特徴とするプロセッサ。
【請求項２】
メインメモリとは別に、前記メインメモリに記憶すべきデータを、前記メインメモリに記憶するデータとの一貫性を保証するように一時的に記憶するキャッシュメモリを備え、複数のタスクを時分割で処理するプロセッサにおいて、
次に実行すべきタスクを決定する実行タスク決定手段を備え、
前記キャッシュメモリは、
次に実行すべきタスクで使用されるデータと該データに対応するタグ情報とを格納するキャッシュ手段と、
実行予定の複数のタスクのそれぞれごとに、対応するタスクで使用されるデータに対応するタグ情報を格納するタグ情報格納手段と、
前記実行タスク決定手段の決定に応じて、前記キャッシュ手段と前記タグ情報格納手段との間で前記タグ情報の入れ替えを行う第１転送手段と、
前記実行タスク決定手段の決定に応じて、次に実行すべきタスクで使用されるデータを前記メインメモリから前記キャッシュ手段に転送する第２転送手段と、前記キャッシュ手段を利用してタスクを実行する際、発行されたアドレスに対応するデータが前記キャッシュ手段に存在するか否かを判定する判定手段と、を有することを特徴とするプロセッサ。
【請求項３】
前記第１転送手段は、前記実行タスク決定手段の決定に応じて、実行すべきタスクに対応するタグ情報を前記タグ情報格納手段から読み出して前記キャッシュ手段に格納し、かつ前記キャッシュ手段に格納されていたタグ情報を前記タグ情報格納手段に格納することを特徴とする請求項２に記載のプロセッサ。
【請求項４】
前記第２転送手段は、前記実行タスク決定手段の決定に応じて、実行すべきタスクに対応するデータを前記メインメモリから読み出して前記キャッシュ手段に格納し、かつ前記キャッシュ手段に格納されていたデータのうち前記メインメモリに書き戻していないデータを前記メインメモリに格納することを特徴とする請求項２または３に記載のプロセッサ。
【請求項５】
前記キャッシュ手段は、複数のエントリのそれぞれごとに、データと、該データに対応するタグ情報と、タグ情報の書き換えを行ったか否かを示す書き換え判別情報とを格納し、
前記第２転送手段は、前記書き換え判別情報により、タグ情報の書き換えを行ったエントリのデータのみ、前記メインメモリから前記キャッシュ手段に転送することを特徴とする請求項２乃至４のいずれかに記載のプロセッサ。
【請求項６】
前記キャッシュ手段は、複数のエントリのそれぞれごとに、データと、該データに対応するタグ情報と、を格納し、
前記第１転送手段は、タグ情報の書き換えを行ったエントリと、該エントリに格納されるべきデータに対応する前記メインメモリのアドレス情報とを前記第２転送手段に通知し、
前記第２転送手段は、前記第１転送手段から通知されたアドレス情報に対応するデータを前記メインメモリから読み出して、該データを前記第１転送手段から通知されたエントリに転送することを特徴とする請求項２乃至４のいずれかに記載のプロセッサ。
【請求項７】
メインメモリとは別に、前記メインメモリに記憶すべきデータを、前記メインメモリに記憶するデータとの一貫性を保証するように一時的に記憶するキャッシュメモリを備え、複数のタスクを時分割で処理するプロセッサにおいて、
次に実行すべきタスクを決定する実行タスク決定手段を備え、
前記キャッシュメモリは、
実行すべきタスクで使用されるデータと該データに対応するタグ情報とを格納する第１及び第２キャッシュ手段と、
実行予定の複数のタスクのそれぞれに対応するタグ情報を格納する複数のタグ保存部を有するタグ情報格納手段と、
前記実行タスク決定手段の決定に応じて、前記第１または第２キャッシュ手段と、前記タグ情報格納手段と、の間でタグ情報の入れ替えを行う第１転送手段と、
前記メインメモリと、前記第１転送手段がタグ情報を入れ替えた前記第１または第２キャッシュ手段との間で、前記入れ替えたタグ情報に対応するデータの入れ替えを行う第２転送手段と、
前記第１キャッシュ手段を利用してタスクを実行する際、発行されたアドレスに対応するデータが前記第１キャッシュ手段に存在するか否かを判定する第１判定手段と、
前記第２キャッシュ手段を利用してタスクを実行する際、発行されたアドレスに対応するデータが前記第２キャッシュ手段に存在するか否かを判定する第２判定手段と、
前記第１及び第２判定手段の判定結果のいずれか一方を選択して出力する判定選択手段と、を備えることを特徴とするプロセッサ。
【請求項８】
前記判定選択手段は、前記第１及び第２キャッシュ手段のうち、タスクの実行に用いられた方に対応する前記第１または第２の判定手段の判定結果を選択して出力することを特徴とする請求項７に記載のプロセッサ。
【請求項９】
前記第１転送手段は、前記第１及び第２キャッシュ手段のうち一方がタスクの実行に使用されている間に、他方と前記タグ情報格納手段との間でタグ情報の入れ替えを行うことを特徴とする請求項７または８に記載のプロセッサ。
【請求項１０】
前記第１及び第２キャッシュ手段は、複数のエントリのそれぞれごとに、データと、該データに対応するタグ情報と、タグ情報の書き換えを行ったか否かを示す書き換え判別情報とを格納し、
前記第２転送手段は、前記書き換え判別情報により、タグ情報の書き換えを行ったエントリのデータのみ、前記メインメモリから前記第１または第２キャッシュ手段に転送することを特徴とする請求項７乃至９のいずれかに記載のプロセッサ。
【請求項１１】
前記第１及び第２キャッシュ手段は、複数のエントリのそれぞれごとに、データと、該データに対応するタグ情報と、を格納し、
前記第１転送手段は、タグ情報の書き換えを行ったエントリと、該エントリに格納されるべきデータに対応する前記メインメモリのアドレス情報とを前記第２転送手段に通知し、
前記第２転送手段は、前記第１転送手段から通知されたアドレス情報に対応するデータを前記メインメモリから読み出して、該データを前記第１転送手段から通知されたエントリに転送することを特徴とする請求項７乃至９のいずれかに記載のプロセッサ。
【請求項１２】
前記タグ情報は、対応するデータが有効か否かを示す有効判別情報と、該データをアクセスするためのアドレス情報とを含むことを特徴とする請求項１乃至１１のいずれかに記載のプロセッサ。
【請求項１３】
予め定めたタスクに対して、該タスクの処理で使用されるデータを記憶する１以上の第１のＦＩＦＯ（Ｆｉｒｓｔ  Ｉｎ  Ｆｉｒｓｔ  Ｏｕｔ）型記憶手段と、
前記第１のＦＩＦＯ型記憶手段から取得したデータを使用して前記タスクの処理を行った後の処理結果を記憶するとともに、この記憶した処理結果を使用する他のタスクがある場合には該他のタスクの処理で使用されるデータを記憶する１以上の第２のＦＩＦＯ型記憶手段と、
前記第１のＦＩＦＯ型記憶手段が前記タスクの処理に使用するデータを保持しているか否か、および前記タスクの処理結果を記憶する空き領域を前記第２のＦＩＦＯ型記憶手段が有しているか否かを判断するタスク判断手段と、を備え、
前記実行タスク決定手段は、前記タスク判断手段の判断結果に基づいて、前記複数のタスクのうちから次に起動すべきタスクを決定することを特徴とする請求項１乃至１２のいずれかに記載のプロセッサ。
【請求項１４】
メインメモリに記憶すべきデータを、該メインメモリに記憶するデータとの一貫性を保証するように一時的に記憶するキャッシュシステムにおいて、
プロセッサが次に実行すべきタスクと、実行待機状態のタスクのうち最も優先順位の低いタスクと、を決定する実行タスク決定手段と、
各タスクで使用するデータと該データに対応するタグ情報とを格納するタスク情報格納領域をタスクごとに有するタスク情報格納手段と、
前記実行タスク決定手段の決定に従って、次に実行すべきタスクで使用する前記タスク情報格納領域を選択するとともに、前記実行タスク決定手段により決定された最も優先順位の低いタスクに対応する前記タスク情報格納領域の書き換えを制御する領域選択手段と、
前記領域選択手段で選択された前記タスク情報格納領域を用いてタスクを実行する際、発行されたアドレスに対応するデータが該タスク情報格納領域に存在するか否かを判定する判定手段と、を備えることを特徴とするキャッシュシステム。
【請求項１５】
メインメモリとは別に、前記メインメモリに記憶すべきデータを、前記メインメモリに記憶するデータとの一貫性を保証するように一時的に記憶するキャッシュメモリにおいて、
プロセッサが各タスクで使用するデータと該データに対応するタグ情報とを格納するタスク情報格納領域をタスクごとに有するタスク情報格納手段と、
前記プロセッサの決定に従って、次に実行すべきタスクで使用する前記タスク情報格納領域を選択するとともに、前記プロセッサにより決定された最も優先順位の低いタスクに対応する前記タスク情報格納領域の書き換えを制御する領域選択手段と、
前記領域選択手段で選択された前記タスク情報格納領域を用いてタスクを実行する際、発行されたアドレスに対応するデータが該タスク情報格納領域に存在するか否かを判定する判定手段と、を備えることを特徴とするキャッシュメモリ。
【請求項１６】
メインメモリに記憶すべきデータを、前記メインメモリに記憶するデータとの一貫性を保証するように一時的に記憶するキャッシュシステムにおいて、
プロセッサが次に実行すべきタスクを決定する実行タスク決定手段と、
前記プロセッサが次に実行すべきタスクで使用されるデータと該データに対応するタグ情報とを格納するキャッシュ手段と、
実行予定の複数のタスクのそれぞれごとに、対応するタスクで使用されるデータに対応するタグ情報を含むタスク情報格納領域を有するタグ情報格納手段と、前記実行タスク決定手段の決定に応じて、前記キャッシュ手段及びタグ情報格納手段の間で前記タグ情報の入れ替えを行う第１転送手段と、
前記実行タスク決定手段の決定に応じて、次に実行すべきタスクで使用されるデータを前記メインメモリから前記キャッシュ手段に転送する第２転送手段と、前記キャッシュ手段を利用してタスクを実行する際、発行されたアドレスに対応するデータが前記キャッシュ手段に存在するか否かを判定する判定手段と、を有することを特徴とするキャッシュシステム。
【請求項１７】
メインメモリとは別に、前記メインメモリに記憶すべきデータを、前記メインメモリに記憶するデータとの一貫性を保証するように一時的に記憶するキャッシュメモリにおいて、
プロセッサが次に実行すべきタスクで使用されるデータと該データに対応するタグ情報とを格納するキャッシュ手段と、
実行予定の複数のタスクのそれぞれごとに、対応するタスクで使用されるデータに対応するタグ情報を含むタスク情報格納領域を有するタグ情報格納手段と、前記プロセッサの決定に応じて、前記キャッシュ手段及びタグ情報格納手段の間で前記タグ情報の入れ替えを行う第１転送手段と、
前記プロセッサの決定に応じて、次に実行すべきタスクで使用されるデータを前記メインメモリから前記キャッシュ手段に転送する第２転送手段と、
前記キャッシュ手段を利用してタスクを実行する際、発行されたアドレスに対応するデータが前記キャッシュ手段に存在するか否かを判定する判定手段と、を有することを特徴とするキャッシュメモリ。
【請求項１８】
メインメモリに記憶すべきデータを、前記メインメモリに記憶するデータとの一貫性を保証するように一時的に記憶するキャッシュシステムにおいて、
プロセッサが次に実行すべきタスクを決定する実行タスク決定手段と、
前記プロセッサが実行すべきタスクで使用されるデータと該データに対応するタグ情報とを格納する第１キャッシュ手段と、
前記プロセッサが実行すべきタスクで使用するデータと該データのタグ情報とを格納する第２キャッシュ手段と、
前記プロセッサが実行予定の複数のタスクのそれぞれに対応するタグ情報を格納する複数のタグ保存部を有するタグ情報格納手段と、
前記実行タスク決定手段の決定に応じて、前記第１または第２キャッシュ手段と、前記タグ情報格納手段と、の間でタグ情報の入れ替えを行う第１転送手段と、
前記メインメモリと、前記第１転送手段がタグ情報を入れ替えた前記第１または第２キャッシュ手段との間で、前記入れ替えたタグ情報に対応するデータの入れ替えを行う第２転送手段と、
前記第１キャッシュ手段を利用してタスクを実行する際、発行されたアドレスに対応するデータが前記第１キャッシュ手段に存在するか否かを判定する第１判定手段と、
前記第２キャッシュ手段を利用してタスクを実行する際、発行されたアドレスに対応するデータが前記第２キャッシュ手段に存在するか否かを判定する第２判定手段と、
前記第１及び第２判定手段の判定結果のいずれか一方を選択して出力する判定選択手段と、を備えることを特徴とするキャッシュシステム。
【請求項１９】
メインメモリとは別に、前記メインメモリに記憶すべきデータを、前記メインメモリに記憶するデータとの一貫性を保証するように一時的に記憶するキャッシュメモリにおいて、
プロセッサが実行すべきタスクで使用されるデータと該データに対応するタグ情報とを格納する第１キャッシュ手段と、
前記プロセッサが実行すべきタスクで使用するデータと該データのタグ情報とを格納する第２キャッシュ手段と、
前記プロセッサが実行予定の複数のタスクのそれぞれに対応するタグ情報を格納する複数のタグ保存部を有するタグ情報格納手段と、
前記プロセッサの決定に応じて、前記第１または第２キャッシュ手段と、前記タグ情報格納手段と、の間でタグ情報の入れ替えを行う第１転送手段と、
前記メインメモリと、前記第１転送手段がタグ情報を入れ替えた前記第１または第２キャッシュ手段との間で、前記入れ替えたタグ情報に対応するデータの入れ替えを行う第２転送手段と、
前記第１キャッシュ手段を利用してタスクを実行する際、発行されたアドレスに対応するデータが前記第１キャッシュ手段に存在するか否かを判定する第１判定手段と、
前記第２キャッシュ手段を利用してタスクを実行する際、発行されたアドレスに対応するデータが前記第２キャッシュ手段に存在するか否かを判定する第２判定手段と、
前記第１及び第２判定手段の判定結果のいずれか一方を選択して出力する判定選択手段と、を備えることを特徴とするキャッシュメモリ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、メインメモリに記憶すべきデータを、該メインメモリに記憶するデータとの一貫性を保証するように一時的に記憶するキャッシュメモリを用いて複数のタスクを時分割で実行するプロセッサ、キャッシュシステム及びキャッシュメモリに関する。
【０００２】
【従来の技術】
プロセッサは、メインメモリに格納されているプログラムを読み出して、プログラムに記述されている処理を行う。メインメモリはＤＲＡＭで構成されるのが一般的であり、プロセッサの動作速度より遅い速度で動作する。また、プログラムが求めるメインメモリのメモリ容量は年々増える傾向にあるため、メインメモリをプロセッサに近接して配置できるとは限らず、プロセッサとは別の基板にメインメモリを実装することも多い。このため、プロセッサがメインメモリにアクセスするのにはかなりの時間を要し、プロセッサの処理性能が低下する要因になる。
【０００３】
このような不具合を解消するために、プロセッサとメインメモリとの間に高速アクセスが可能なキャッシュメモリを設け、プロセッサがメインメモリにアクセスする頻度を少なくして、プロセッサの全体的な処理性能を上げる技術が一般的に用いられている。キャッシュメモリを用いることにより、プロセッサが同一アドレスに対するアクセスを複数回行った場合に、２回目以降のアクセスについてはメインメモリへのアクセスを不要となる。
【０００４】
キャッシュメモリは、ＤＲＡＭよりも価格の高い高速ＳＲＡＭで構成されるのが一般的であり、価格的にもメモリ容量をあまり増やせない。このため、必要に応じて、キャッシュメモリ内のデータを更新する必要がある。
【０００５】
例えば、リアルタイム処理等のタスクを頻繁に切り替える必要のある処理の場合、処理を切り替えるたびにタスクの情報をメインメモリから読み出してキャッシュメモリに書き込まなければならない。キャッシュメモリはメモリ容量が大きくないため、次々に異なるタスクの情報を書き込むと、古いデータがどんどん上書きされて消去されてしまう（特許文献１参照）。
【０００６】
また、繰り返し処理することが予想されるタスクに専用のキャッシュを割り当てる方法も提案されているが、他のタスクに対するキャッシュメモリの汎用性を損ないかねない（特許文献２参照）。
【０００７】
【特許文献１】
特表２０００−５０９５２８公報
【特許文献２】
特開２００１−２５６１０７公報
【０００８】
【発明が解決しようとする課題】
キャッシュメモリは、プロセッサが同一アドレスに対するアクセスを何回も行う場合に、高速アクセスの効果を発揮する。ところが、プロセッサが頻繁にタスクを切り替えて、その切り替えのたびにキャッシュメモリ内のデータを更新する場合、プロセッサが発行したアドレスに対応するデータがキャッシュメモリに格納されていないことが多くなり、キャッシュメモリのアクセス速度が低下してしまう。
【０００９】
本発明は、このような点に鑑みてなされたものであり、その目的は、タスクを時分割で実行する場合に、キャッシュメモリの利用効率を向上させることができるプロセッサ、キャッシュシステム及びキャッシュメモリを提供することにある。
【００１０】
【課題を解決するための手段】
上述した課題を解決するために、本発明は、メインメモリとは別に、前記メインメモリに記憶すべきデータを、前記メインメモリに記憶するデータとの一貫性を保証するように一時的に記憶するキャッシュメモリを備え、複数のタスクを時分割で処理するプロセッサにおいて、次に実行すべきタスクと、実行待機状態のタスクのうち最も優先順位の低いタスクと、を決定する実行タスク決定手段を備え、前記キャッシュメモリは、各タスクで使用するデータと該データに対応するタグ情報とを格納するタスク情報格納領域をタスクごとに有するタスク情報格納手段と、前記実行タスク決定手段の決定に従って、次に実行すべきタスクで使用する前記タスク情報格納領域を選択するとともに、前記実行タスク決定手段により決定された最も優先順位の低いタスクに対応する前記タスク情報格納領域の書き換えを制御する領域選択手段と、前記領域選択手段で選択された前記タスク情報格納領域を用いてタスクを実行する際、発行されたアドレスに対応するデータが該タスク情報格納領域に存在するか否かを判定する判定手段と、を備える。
【００１１】
また、本発明は、メインメモリとは別に、前記メインメモリに記憶すべきデータを、前記メインメモリに記憶するデータとの一貫性を保証するように一時的に記憶するキャッシュメモリを備え、複数のタスクを時分割で処理するプロセッサにおいて、次に実行すべきタスクを決定する実行タスク決定手段を備え、前記キャッシュメモリは、次に実行すべきタスクで使用されるデータと該データに対応するタグ情報とを格納するキャッシュ手段と、実行予定の複数のタスクのそれぞれごとに、対応するタスクで使用されるデータに対応するタグ情報を格納するタグ情報格納手段と、前記実行タスク決定手段の決定に応じて、前記キャッシュ手段と前記タグ情報格納手段との間で前記タグ情報の入れ替えを行う第１転送手段と、前記実行タスク決定手段の決定に応じて、次に実行すべきタスクで使用されるデータを前記メインメモリから前記キャッシュ手段に転送する第２転送手段と、前記キャッシュ手段を利用してタスクを実行する際、発行されたアドレスに対応するデータが前記キャッシュ手段に存在するか否かを判定する判定手段と、を有する。
【００１２】
また、メインメモリとは別に、前記メインメモリに記憶すべきデータを、前記メインメモリに記憶するデータとの一貫性を保証するように一時的に記憶するキャッシュメモリを備え、複数のタスクを時分割で処理するプロセッサにおいて、次に実行すべきタスクを決定する実行タスク決定手段を備え、前記キャッシュメモリは、実行すべきタスクで使用されるデータと該データに対応するタグ情報とを格納する第１及び第２キャッシュ手段と、実行予定の複数のタスクのそれぞれに対応するタグ情報を格納する複数のタグ保存部を有するタグ情報格納手段と、前記実行タスク決定手段の決定に応じて、前記第１または第２キャッシュ手段と、前記タグ情報格納手段と、の間でタグ情報の入れ替えを行う第１転送手段と、前記メインメモリと、前記第１転送手段がタグ情報を入れ替えた前記第１または第２キャッシュ手段との間で、前記入れ替えたタグ情報に対応するデータの入れ替えを行う第２転送手段と、前記第１キャッシュ手段を利用してタスクを実行する際、発行されたアドレスに対応するデータが前記第１キャッシュ手段に存在するか否かを判定する第１判定手段と、前記第２キャッシュ手段を利用してタスクを実行する際、発行されたアドレスに対応するデータが前記第２キャッシュ手段に存在するか否かを判定する第２判定手段と、前記第１及び第２判定手段の判定結果のいずれか一方を選択して出力する判定選択手段と、を備える。
【００１３】
【発明の実施の形態】
以下、本発明に係るプロセッサ、キャッシュシステム及びキャッシュメモリについて、図面を参照しながら具体的に説明する。
【００１４】
（第１の実施形態）
図１は本発明に係るプロセッサの第１の実施形態のブロック図、図２は図１の詳細ブロック図である。
【００１５】
図１及び図２に示すように、本実施形態のプロセッサは、実行タスク決定部１と、プロセッサコア２と、キャッシュメモリ３とを備えている。実行タスク決定部１は、実行中のタスク、実行予定のタスク、及び実行待機状態のタスクのうち最も優先順位の低いタスクを決定し、決定したタスクに関する情報（以下、タスク情報）をキャッシュメモリ３に通知する。プロセッサコア２は、実行タスク決定部１からのタスク情報に基づいてタスクの処理を行う。
【００１６】
キャッシュメモリ３は、データ保存部４とエントリ選択部５とを有する。データ保存部４は、図２に示すように、複数のタスク情報格納領域６を有する。これら各タスク情報格納領域６はそれぞれ別個のタスクに対応して設けられ、対応するタスクで使用するデータと該データに対応するタグ情報とを格納する。図２の例では、データ保存部４は、タスクＡ，Ｂ，Ｅ，Ｄのそれぞれについてのタスク情報格納領域６を有する。
【００１７】
ここで、タグ情報とは、対応するデータにアクセスするためのアドレス情報と、該データが有効か否かを示す有効フラグとを含んでいる。アドレス情報は、物理アドレスでもよいし、仮想アドレスでもよい。
【００１８】
タスク情報格納領域６の数は、キャッシュメモリ３の容量やプロセッサで実行されるタスクの特性などに応じて定めるのが望ましい。本実施形態では、一例として、プロセッサが持つレジスタセットの数だけタスク情報格納領域６を設けるものとする。
【００１９】
エントリ選択部５は、図２に示すように、領域管理テーブル７と、領域選択部８と、キャッシュヒット判定部９とを有する。領域管理テーブル７は、各タスク情報格納領域６にどのタスクのデータ及びタグ情報を格納するかを管理する。
【００２０】
プロセッサがメモリアクセスを行う場合、領域選択部８は、現在プロセッサが実行しているタスクＩＤを実行タスク決定部１から取得し、そのタスクＩＤのデータやタグ情報がどのタスク情報格納領域６に格納されているかを領域管理テーブル７に基づいて検出し、アクセスすべきタスク情報格納領域６を選択する。
【００２１】
プロセッサの実行タスクが切り替わると、領域選択部８により選択されるタスク情報格納領域６も切り替わる。領域選択部８は、実行タスク決定部１からのタスク情報に基づいて、いずれかのタスク情報格納領域６を選択する。
【００２２】
タスク情報格納領域６内のデータ構成は特に問わないが、図２の例では、ダイレクト・マッピング（ｄｉｒｅｃｔ  ｍａｐｐｉｎｇ）と呼ばれる方式を採用している。この他、セット・アソシアティブ（ｓｅｔ  ａｓｓｏｃｉａｔｉｖｅ）方式やフル・アソシアティブ（ｆｕｌｌ  ａｓｓｏｃｉａｔｉｖｅ）方式を採用してもよいし、それ以外の方式を採用してもよい。
【００２３】
タスク情報格納領域６のデータサイズは、プロセッサの種類や、プロセッサが実行するタスクの性質に応じて適宜定めるのが望ましい。対応するデータとタグ情報の１組をエントリと呼び、各タスク情報格納領域６は、複数のエントリを有する。エントリはキャッシュラインとも呼ばれる。
【００２４】
図２はデータ保存部４内にタスクＡ，Ｂ，Ｅ，Ｄの４つのタスク情報格納領域６を設ける例を示しているが、タスク情報格納領域６の数には特に制限はない。また、各タスク情報格納領域６内に格納する情報の種類にも特に制限はない。
【００２５】
プロセッサが実行したタスクが新規のタスクで、その新規のタスクに対応する領域がデータ保存部４に存在しない場合、領域選択部８は、その新規のタスクに対していずれかのタスク情報格納領域６を割当てる。このとき、すべてのタスク情報格納領域６が使用中の場合、起動される可能性が最も低い（すなわち最も優先順位が低い）タスクに割当てられていたタスク情報格納領域６を、その新規のタスクに対して割当てる。
【００２６】
実行タスク決定部１は、次に実行すべきタスクを決定するだけでなく、実行待機中の各タスクの優先順位も管理している。領域管理テーブル７は、実行タスク決定部１からのタスク情報に基づいて、各タスクの実行優先順位を保持する。この保持内容に基づいて、領域選択部８は、最も優先順位の低いタスクを特定する。
【００２７】
エントリ選択部５内のキャッシュヒット判定部９は、メモリアクセスで要求されるアドレスと、領域選択部８で選択された領域の該当エントリのタグ情報とを比較する。両者が一致すれば、メモリアクセスで要求されたアドレスに対応するデータがキャッシュメモリ３内に存在すると判断して、キャッシュヒットしたことをプロセッサコア２に伝達する。両者が一致しなければ、キャッシュミスしたことをプロセッサコア２に伝達するとともに、メインメモリ１０に対して要求データを送信するよう指示する。
【００２８】
キャッシュメモリ３にデータの書き込みがあった場合の管理手法には、キャッシュへの書き込みがあった場合にすぐにメインメモリ１０にデータを書き戻すライトスルー手法と、すぐには書き込まずに後に必要が生じたときのみ書き戻すライトバック手法とがある。
【００２９】
ライトスルー手法を利用する場合は特に問題は生じないが、ライトバック手法を用いる場合、タスク間で共有するデータがあった場合にデータの一貫性に関する問題が生じる。
【００３０】
そこで、ライトバック手法を用いる場合、キャッシュメモリ３内のデータをメインメモリ１０に書き戻す場合以外に、タスクの切替に伴ってデータの更新を行う必要のあるタスク情報格納領域６のデータを書き戻す必要がある。
【００３１】
このように、第１の実施形態では、複数のタスクに関するタスク情報をデータ保存部４に保存しておき、新しいタスクを実行する予定がある場合には、そのタスク情報を最も優先順位の低いタスクのタスク情報と入れ替えるようにしたため、タスク切替時にデータ保存部４のデータを入れ替えるのに時間がかからなくなり、タスクの切替を短時間で行うことができる。また、どのタスクを実行する場合でも、そのタスクで使用されるデータやタグ情報を予めデータ保存部４に保存しておくため、キャッシュミスを低減でき、メモリアクセスの高速化が図れる。
【００３２】
（第２の実施形態）
第２の実施形態は、キャッシュデータとは別に、複数のタスクについてのタグ情報だけを格納する領域を設けるものである。
【００３３】
図３は本発明に係るプロセッサの第２の実施形態のブロック図である。図３では、図２と共通する構成部分には同一符号を付しており、以下では相違点を中心に説明する。
【００３４】
図３のプロセッサは、実行中または実行すべきタスクで使用するデータと該データに対応するタグ情報とを格納するキャッシュ部１１と、実行予定の複数のタスクそれぞれに対応するタグ情報を格納するタグ保存部１２と、キャッシュ部１１とタグ保存部１２との間でタグ情報の入れ替えを行うタグ転送部１３と、キャッシュ部１１とメインメモリ１０との間でデータの入れ替えを行うデータ転送部１４と、キャッシュヒットしたか否かを判定するキャッシュヒット判定部９とを備えている。
【００３５】
図３に示すように、プロセッサコア２から出力されるアドレス２ａは３つの部分に分かれており、上位ビット列はキャッシュビット判定部９に供給され、中位ビット列はインデックスアドレスとしてキャッシュ部１１に供給される。
【００３６】
タグ保存部１２は、複数のタスクのそれぞれごとに、キャッシュ部１１のエントリ数と同じ数だけタグ情報を格納する。タグ情報は、データに対応するアドレス情報と、該データが有効か否かを示す有効フラグとを含む。
【００３７】
図３では、キャッシュ部１１がダイレクトマップ方式で構成される例を示しているが、セット・アソシアティブ方式やフル・アソシアティブ方式で構成されていてもよい。
【００３８】
例えば、図４は、キャッシュ部１１とタグ保存部１２を４ウェイｗａｙ１〜ｗａｙ４のセット・アソシアティブ方式で構成する場合のブロック図である。この場合、キャッシュ部１１は、４つのウェイｗａｙ１〜ｗａｙ４それぞれについてのデータ及びタグ情報を格納する。
【００３９】
タグ転送部１３は、実行タスク決定部１にて新たなタスクの実行が決定されると、キャッシュ部１１に格納されているタグ情報をタグ保存部１２に転送するとともに、新たなタスクに対応するタグ情報をタグ保存部１２からキャッシュ部１１に転送する。
【００４０】
また、データ転送部１４は、実行タスク決定部１にて新たなタスクの実行が決定されると、キャッシュ部１１に格納されているデータを必要に応じてメインメモリ１０に転送するとともに、新たなタスクに対応するデータをメインメモリ１０からキャッシュ部１１に転送する。より具体的には、キャッシュ部１１がライトバックで動作している場合、メインメモリ１０にまだ書き戻していないキャッシュ部１１のデータをメインメモリ１０に書き戻す。
【００４１】
以下、図３のプロセッサの動作を説明する。実行タスク決定部１が新たなタスクの実行を決定すると、プロセッサコア２は現在実行中のタスクを停止する。タグ転送部１３は、キャッシュ部１１のタグ情報をタグ保存部１２に転送する。このとき、タグ保存部１２に空きがない場合には、最も優先順位の低いタスクのタグ情報を削除して、その領域に、キャッシュ部１１のタグ情報を格納する。また、データ転送部１４は、キャッシュ部１１のデータを必要に応じてメインメモリ１０に転送する。
【００４２】
次に、タグ転送部１３は、次に実行すべきタスクのタグ情報をタグ保存部１２から読み出してキャッシュ部１１に転送する。転送完了後、タグ転送部１３は、データ転送部１４に対して開始信号を通知する。データ転送部１４は、キャッシュ部１１のタグ情報を読み出し、そのタグ情報に対応するデータをメインメモリ１０から読み出して、タグ情報と対応づけてキャッシュ部１１に格納する。
【００４３】
キャッシュ部１１には、エントリの数分だけタグ情報とデータを格納でき、インデックスの値によりキャッシュ部１１の特定のエントリを指定できる。すなわち、プロセッサコア２は、タグ情報とインデックスの値を指定することで、キャッシュ部１１内の特定のデータにアクセスできる。
【００４４】
データ転送部１４は、タグ情報の一部である有効フラグが「０」であれば、メインメモリ１０からのデータ転送を行わない。これにより、データ転送量を削減できる。
【００４５】
キャッシュ部１１のすべてのエントリについてのデータ転送が完了すると、データ転送部１４は完了信号を送出する。この信号を受けて、プロセッサコア２は新たなタスクの実行を開始する。
【００４６】
上述した実施形態において、タグ転送部１３は、有効フラグを確認し、「１」であるタグ情報のみをキャッシュ部１１からタグ保存部１２に転送してもよい。また、タグ転送部１３がキャッシュ部１１にタグ情報を転送した後、キャッシュ部１１内のすべての有効フラグをリセット（「１」に設定）してもよい。
【００４７】
このように、第２の実施形態では、実行予定の複数のタスクのタグ情報だけをタグ保存部１２に保存しておき、タスクの切替を行う際には、タグ転送部１３を用いてキャッシュ部１１とタグ保存部１２との間でタグ情報の入れ替えを行い、かつデータ転送部１４を用いてキャッシュ部１１とメインメモリ１０との間でデータの入れ替えを行うため、タスクの切替を迅速に行うことができ、タスクを切り替えた直後でもキャッシュメモリ３のキャッシュヒット率が低下しなくなる。
【００４８】
また、タグ転送部１３やデータ転送部１４でタグ情報やデータの転送を行う際には、有効フラグを確認して必要なものだけ転送を行うため、転送時間を短縮できることから、タスクの切替を迅速化できる。
【００４９】
（第３の実施形態）
第３の実施形態は、第２の実施形態の変形例であり、キャッシュ部１１のすべてのエントリに対応して書き換えフラグを設けるものである。
【００５０】
図５は本発明に係るプロセッサの第３の実施形態の概略構成の一例を示すブロック図である。図５のプロセッサは、キャッシュ部１１の構成のみが図３と異なっている。図５のキャッシュ部１１は、データ及びタグ情報の他に、各エントリごとに書き換えフラグｆ１を有する。この書き換えフラグｆ１は、タグ転送部１３がキャッシュ部１１内のタグ情報を書き換えたか否かを表すものであり、例えば「１」が書き換えられたことを示し、「０」が書き換えられなかったことを示す。書き換えフラグｆ１は、キャッシュ部１１の各エントリごとに設けられる。
【００５１】
実行タスク決定部１が実行タスクの変更を決定すると、プロセッサコア２はタスクの実行を停止する。タグ転送部１３は、キャッシュ部１１内で有効フラグが「１」であるタグ情報の内容を、タグ保存部１２内の対応領域に格納する。また、キャッシュがライトバックで動作している場合には、キャッシュ内でメインメモリ１０に書き戻していないデータをメインメモリ１０に書き戻す。その後、キャッシュ部１１のすべての書き換えフラグｆ１をリセット（「０」に設定）する。
【００５２】
次に、タグ転送部１３は、次に実行予定のタスクのタグ情報のうち、有効フラグが「１」であるタグ情報をタグ保存部１２からキャッシュ部１１に転送する。このとき、転送を行ったタグ情報に対応するエントリの書き込みフラグを「１」にセットする。
【００５３】
転送完了後、タグ転送部１３はデータ転送部１４に開始信号を送信する。データ転送部１４は、キャッシュ部１１内のタグ情報を読み取り、そのタグ情報に対応する書き込みフラグが「１」の場合のみ、対応するデータをメインメモリ１０から読み出して、キャッシュ部１１内の対応領域に格納する。
【００５４】
データ転送部１４が、キャッシュ部１１内の書き換えフラグｆ１が「１」であるすべてのタグ情報に対応するデータの転送を終了すると、データ転送部１４は完了信号を出力する。これにより、プロセッサコア２は新たなタスクの実行を開始する。
【００５５】
このように、第３の実施形態では、キャッシュ部１１の各エントリごとに、タグ転送部１３がタグ情報の書き換えを行ったか否かを示す書き換えフラグｆ１を設けるため、データ転送部１４は、タグ情報の書き換えを行ったエントリだけ、データを転送すればよくなり、データの転送量を大幅に削減でき、タスクの切替を迅速化できる。
【００５６】
（第４の実施形態）
第４の実施形態は、第２の実施形態の変形例であり、書き換えフラグｆ１を設けることなく、第３の実施形態と同様に、書き換えを行ったエントリだけデータ転送部１４がデータの転送を行うものである。
【００５７】
図６は本発明に係るプロセッサの第４の実施形態の概略構成の一例を示すブロック図である。図６のプロセッサは、タグ転送部１３の機能が異なる他は、図３と同様に構成されている。
【００５８】
タグ転送部１３は、タグ保存部１２からキャッシュ部１１への転送を行った場合、転送したキャッシュ部１１のエントリと転送したタグ情報に対応するメインメモリ１０のアドレスとをデータ転送部１４に通知する。データ転送部１４は、通知されたアドレスのデータをメインメモリ１０から読み出し、そのデータを通知されたキャッシュ部１１のエントリに転送する。
【００５９】
次に、第４の実施形態のプロセッサの動作を説明する。実行タスク決定部１が実行タスクの変更を決定すると、プロセッサコア２はタスクの実行を停止する。タグ転送部１３は、キャッシュ部１１の中から有効フラグが「１」のタグ情報を読み出して、タグ保存部１２に転送する。
【００６０】
また、データ転送部１４は、キャッシュ部１１がライトバックで動作している場合には、まだメインメモリ１０に書き戻していないキャッシュ部１１のデータをメインメモリ１０に書き戻す。
【００６１】
次に、タグ転送部１３は、キャッシュ部１１の全エントリの中から有効フラグが「１」のタグ情報とエントリを抽出する。そして、抽出したエントリとそのタグ情報に対応するメインメモリ１０のアドレスとをデータ転送部１４に通知する。
【００６２】
データ転送部１４は、通知されたアドレスのデータをメインメモリ１０から読み出して、通知されたエントリに転送する。
【００６３】
データ転送部１４がすべてのエントリについてのデータ転送を終えると、タグ転送部１３は完了信号を出力し、これにより、プロセッサコア２は新たなタスクの実行を開始する。
【００６４】
このように、第４の実施形態では、タグ転送部１３がデータ転送部１４に対して、データ転送を行うべきエントリとアドレスを通知するため、データ転送部１４は、必要最小限のデータ転送だけを行えばよくなり、データの転送効率が向上し、タスクの切替を迅速化できる。
【００６５】
（第５の実施形態）
第５の実施形態は、複数のキャッシュ部１１を備えたものである。
【００６６】
図７は本発明に係るプロセッサの第５の実施形態の概略構成の一例を示すブロック図である。図７のプロセッサは、２つのキャッシュ部１１ａ，１１ｂと、各キャッシュ部１１ａ，１１ｂに専用のキャッシュヒット判定部９ａ，９ｂと、これらキャッシュヒット判定部９ａ，９ｂの判定結果のいずれか一方を選択するキャッシュ選択部１５とを備えている。その他の構成は図３と同様である。
【００６７】
キャッシュ部１１のうちいずれか一方が有効であり、他方は無効である。プロセッサコア２は、有効であるキャッシュ部１１ａまたは１１ｂを用いてタスクを実行する。２つのキャッシュ部１１ａ，１１ｂのどちらが有効かは、タグ転送部１３が決定する。キャッシュ選択部１５は、有効なキャッシュ部に対応するキャッシュヒット判定部９ａ，９ｂの判定結果を選択する。
【００６８】
実行タスク決定部１が実行タスクの切替を決定しても、プロセッサコア２はタスクの切替を行わず、切替前のタスクの実行を継続する。
【００６９】
タグ転送部１３は、次に実行すべきタスクのタグ情報を、タグ保存部１２から読み出して、現在有効でないキャッシュ部１１ａまたは１１ｂに転送する。転送完了後、タグ転送部１３は、データ転送部１４に開始信号を通知する。
【００７０】
データ転送部１４は、有効でないキャッシュ部１１ａまたは１１ｂのタグ情報を読み出し、そのタグ情報に対応するアドレスのデータをメインメモリ１０から読み出して、そのタグ情報に対応するキャッシュ部１１ａまたは１１ｂの特定インデックスに書き込む。
【００７１】
このとき、タグ情報の一部である有効フラグが「０」のデータについてはデータ転送を省いてもよい。データ転送部１４によるデータ転送が終了すると、データ転送部１４は完了信号を出力する。
【００７２】
次に、タグ転送部１３は、今まで有効でなかったキャッシュ部１１ａまたは１１ｂを有効であるとし、今まで有効であったキャッシュ部１１ａまたは１１ｂを有効でないとする。この切替と同時に、プロセッサコア２は実行タスクの切替を行い、新たなタスクを実行する。
【００７３】
上述した実施形態では、２つのキャッシュ部１１ａ，１１ｂを設ける例を説明したが、３つ以上設けてもよい。この場合、各キャッシュ部を順に有効にすればよい。キャッシュ部を３つ以上設けることにより、頻繁にタスクが切り替わる場合でも、タスク切替時にキャッシュ部内のデータやタグ情報の入れ替えが間に合わないおそれがなくなる。
【００７４】
このように、第５の実施形態では、キャッシュ部を複数設け、いずれかのキャッシュ部を有効にしてタスクの処理を行っている間に、他のキャッシュ部に実行予定のタスクで利用するデータやタグ情報を格納する準備を行うため、タスクの切替時に要する時間を大幅に削減でき、プロセッサの処理効率を向上できる。
【００７５】
（第６の実施形態）
第６の実施形態は、第５の実施形態で説明した複数のキャッシュ部にそれぞれ書き込みフラグを設けたものである。
【００７６】
図８は本発明に係るプロセッサの第６の実施形態の概略構成を示すブロック図である。図８に示す２つのキャッシュ部１１ａ，１１ｂはそれぞれ、エントリごとに書き込みフラグｆ１を有する。この書き込みフラグｆ１は、図５と同様に、タグ転送部１３がタグ保存部１２からのタグ情報の転送を行った場合に「１」に設定される。
【００７７】
タグ転送部１３は、データ転送部１４に対して、タグ情報の転送を行ったキャッシュ部１１ａまたは１１ｂのエントリとメインメモリ１０の対応アドレスとを通知する。データ転送部１４は、通知されたメインメモリ１０の対応アドレスのデータを読み出して、そのデータを通知されたエントリに転送する。
【００７８】
実行タスク決定部１は、実行するタスクの切替を決定しても、プロセッサコア２はタスクの切替を行わずに、切替前のタスクの実行を継続する。タグ転送部１３は、タグ保存部１２内の実行予定タスクで使用するデータに対応するタグ情報を、現在有効でないキャッシュ部１１ａまたは１１ｂに転送する。転送を行ったタグ情報に対応するエントリの書き込みフラグｆ１を「１」にセットする。
【００７９】
転送完了後、タグ転送部１３は、データ転送部１４に対して開始信号を通知する。データ転送部１４は、有効でないキャッシュ部１１ａまたは１１ｂ内の書き込みフラグｆ１が「１」でないタグ情報に対応するデータをメインメモリ１０から読み出して、そのキャッシュ部内の対応するエントリに格納する。
【００８０】
キャッシュ部の全エントリについてのデータ転送が完了すると、データ転送部１４は完了信号を出力する。タグ転送部１３は、今まで有効でなかったキャッシュ部１１ａまたは１１ｂを有効にし、今まで有効であったキャッシュ部１１ａまたは１１ｂを無効とする。この切替と同時に、プロセッサコア２は、実行タスクの切替を行う。
【００８１】
このように、第６の実施形態は、各キャッシュ部がエントリごとに書き換えフラグｆ１を有するため、書き換えフラグｆ１が「１」のエントリのみ、データ転送部１４がデータ転送を行えばよくなり、データ転送量を削減できる。
【００８２】
（第７の実施形態）
第７の実施形態は、第５の実施形態の変形例であり、書き換えフラグｆ１の代わりに、タグ情報の書き換えを行ったキャッシュメモリ３のエントリと書き換えるべきデータのアドレスとをデータ転送部１４に通知するものである。
【００８３】
図９は本発明に係るプロセッサの第７の実施形態の概略構成の一例を示すブロック図である。図９のプロセッサは、タグ転送部１３の機能が異なる他は、図７と同様に構成されている。
【００８４】
タグ転送部１３は、現在有効でないキャッシュ部１１ａまたは１１ｂに対して、次に実行予定のタスクで使用するデータのタグ情報をタグ保存部１２から転送する。そして、タグ情報の中の有効フラグが「１」であるタグ情報のエントリと対応データのアドレスとをデータ転送部１４に通知する。
【００８５】
データ転送部１４は、通知されたアドレスのデータをメインメモリ１０から読み出し、そのキャッシュ部の通知されたエントリに転送する。キャッシュ部の全エントリ分のデータ転送が終了すると、データ転送部１４はタグ転送部１３に完了信号を送信する。
【００８６】
この完了信号を受けて、タグ転送部１３は、有効なキャッシュ部１１ａまたは１１ｂを切り替える。これにより、プロセッサコア２は、有効なキャッシュ部１１ａまたは１１ｂ内のデータを利用して新たなタスクを起動する。
【００８７】
このように、第７の実施形態では、タグ転送部１３からデータ転送部１４に、書き換えを行ったタグ情報の対応アドレスと対応エントリを通知するため、データ転送部１４は必要なデータだけを転送することになり、データの転送量を減らすことができる。
【００８８】
（第８の実施形態）
上述した第１〜第７の実施形態において、オペレーティングシステムなしでタスクのスケジューリングができるような機能を追加してもよい。この場合のプロセッサの概略構成は図１０のようなブロック図で表される。なお、図１０では、上述した図１〜図９に示すキャッシュメモリは省略している。
【００８９】
図１０のプロセッサは、複数のタスクそれぞれが起動可能か否かを判断するタスク起動部２１と、タスク起動部２１の判断結果に基づいて起動すべきタスクを決定する実行タスク決定部１と、実行タスク決定部１で決定されたタスクを実行するプロセッサコア２とを備えている。
【００９０】
タスク起動部２１には、複数のＦＩＦＯ２２が接続されている。タスク起動部２１は各ＦＩＦＯ２２間でデータの受け渡しを行う。より具体的には、タスク起動部２１は、タスクに入力されるべきＦＩＦＯ２２の出力データを保持するとともに、タスクの処理結果を格納すべき他のＦＩＦＯ２２に空き領域が存在するか否かを確認する。そして、タスクに入力されるべきＦＩＦＯ２２の出力データが存在し、かつタスクの処理結果を格納すべき他のＦＩＦＯ２２に空き領域が存在する場合に限り、タスクを起動すべきと判断する。
【００９１】
実行タスク決定部１は、起動可能なタスクが複数存在する場合には、その中からいずれか１つのタスクを選択する。例えば、各タスクを識別するためのタスクＩＤが最小のタスクを実行する。
【００９２】
プロセッサコア２は、例えば、命令取得部、命令解釈部、命令実行部、命令実行結果を格納する命令実行結果格納部、及び命令の実行状態を格納する命令実行状態格納部を有する。
【００９３】
このように、タスクに入力されるべきデータをＦＩＦＯ２２が保持し、かつタスクの実行結果を格納すべき他のＦＩＦＯ２２に空き領域が存在するか否かをタスク起動部２１で判断し、その判断結果に基づいて実行タスク決定部１が起動すべきタスクを決定するようにすれば、オペレーティングシステムなしでタスクのスケジューリングを行うことができ、オペレーティングシステムのオーバーヘッドの影響を受けなくなり、タスクのリアルタイム処理が可能になる。
【００９４】
【発明の効果】
以上詳細に説明したように、本発明によれば、複数のタスクで使用するデータやタグ情報を予め保存しておき、タスクの切替時にこれらデータやタグ情報をキャッシュメモリ上で入れ替えるようにしたため、タスクの切替に要する時間を短縮できるとともに、どのタスクを実行する場合でもキャッシュヒット率を向上でき、メモリアクセスの高速化が図れる。
【図面の簡単な説明】
【図１】本発明に係るプロセッサの第１の実施形態のブロック図。
【図２】図１の詳細ブロック図。
【図３】本発明に係るプロセッサの第２の実施形態のブロック図。
【図４】キャッシュ部１１とタグ保存部１２を４ウェイｗａｙ１〜ｗａｙ４のセット・アソシアティブ方式で構成する場合のブロック図。
【図５】本発明に係るプロセッサの第３の実施形態の概略構成の一例を示すブロック図。
【図６】本発明に係るプロセッサの第４の実施形態の概略構成の一例を示すブロック図。
【図７】本発明に係るプロセッサの第５の実施形態の概略構成の一例を示すブロック図。
【図８】本発明に係るプロセッサの第６の実施形態の概略構成を示すブロック図。
【図９】本発明に係るプロセッサの第７の実施形態の概略構成の一例を示すブロック図。
【図１０】ＦＩＦＯを備えたプロセッサの概略構成の一例を示すブロック図。
【符号の説明】
１  実行タスク決定部
２  プロセッサコア
３  キャッシュメモリ
４  データ保存部
５  エントリ選択部
６  タスク情報格納領域
７  領域管理テーブル
８  領域選択部
９  キャッシュヒット判定部
１０  メインメモリ
１１  キャッシュ部
１２  タグ保存部
１３  タグ転送部
１４  データ転送部
【図１】
2004326175.tif 000003
【図２】
2004326175.tif 000004
【図３】
2004326175.tif 000005
【図４】
2004326175.tif 000006
【図５】
2004326175.tif 000007
【図６】
2004326175.tif 000008
【図７】
2004326175.tif 000009
【図８】
2004326175.tif 000010
【図９】
2004326175.tif 000011
【図１０】
2004326175.tif 000012