Nova Patents
JP2006023902A

Microprocessor

Abstract

Problem to be solved.To provide a microprocessor capable of safely managing information used by a task executed by a pipeline.

Solution.In a microprocessor that executes a program by a pipeline, when a switching instruction to a second task is issued when a plurality of units 1121 to 1125 are executing a first task. After the execution of the first task is completed, the value of the task register 115 is switched to the second register information used when the second task is executed. The task register management means 131 and the second register information are switched to. After that, the value of the task identification information register 114 is switched to the second task identifier, and each unit 1121 to 1125 is provided with the task management means 161 for permitting the execution of the second task. [Selection diagram] Fig. 1

Term

Term ended

Projected expiry passed 7 July 2024, 2.2 years ago.

  1. Priority and filed
  2. Published
  3. Projected expiry
  4. Today

11 claims: 4 independent, 7 dependent

  1. 1
    パイプライン方式によりタスクを実行するマイクロプロセッサであって、 第1のタスクを実行する複数のユニットと、 前記マイクロプロセッサが前記第1のタスクを識別する第1のタスク識別情報を保持するタスク識別情報レジスタと、 前記複数のユニットが第1のタスクを実行するときに利用する第1のレジスタ情報を保持するタスクレジスタと、 前記複数のユニットのうち命令実行ユニットが前記第1のタスクを実行しているときに第2のタスクへの切替命令が発行された場合に前記第1のタスクを実行しているユニットに既にエントリされている前記第1のタスクの実行が総て完了したことを検出するタスク完了検出手段と、 前記タスク完了検出手段が前記第1のタスクの実行が完了したことを検出した場合に、前記タスクレジスタの値を前記第2のタスクを実行するときに利用する第2のレジスタ情報に切り替えるタスクレジスタ管理手段と、 前記タスクレジスタ管理手段が前記第2のレジスタ情報に切り替えた場合に、前記タスク識別情報レジスタの値を前記第2のタスクを識別する第2のタスク識別情報に切り替え、前記各ユニットに対し前記第2のタスクの実行を許可するタスク管理手段とを備えたことを特徴とするマイクロプロセッサ。
  2. 2
    前記切替命令が発行されてから前記タスクレジスタ管理手段が前記第2のレジスタ情報への切り替えが完了するまでの間に、前記ユニットに対して命令フェッチの待ち合わせを設定するタスク設定手段をさらに備えたことを特徴とするマイクロプロセッサ。
  3. 3
    前記切替命令が発行されたときに、前記複数のユニットのうち命令を実行する実行ユニットが実行していた前記第1のタスクに対して切替フラグを付与する切替フラグ付与手段をさらに備え、 前記実行ユニットは、前記第1のタスクを当該第1のタスクとともに、前記切替フラグ付与手段によって付与された前記切替フラグを次のユニットに受け渡し、 前記タスク完了検出手段は、前記パイプラインの最終ユニットが前記切替フラグを取得した場合に、前記第1のタスクの実行が完了したことを検出することを特徴とする請求項1または2に記載のマイクロプロセッサ。
  4. 4
    パイプラインによりプログラムを実行するマイクロプロセッサであって、 タスクを実行する複数のユニットと、 各ユニットが実行している前記タスクを識別するタスク識別情報を、対応するユニットを認識可能な形式で保持するタスク識別情報レジスタと、 前記ユニットから所定の処理要求を取得した場合に、前記タスク識別情報レジスタが前記ユニットに対して保持している前記タスク識別情報を特定するタスク識別情報特定手段と、 前記タスク識別情報特定手段が特定した前記タスク識別情報に基づいて、前記処理要求にかかる処理を制御する制御手段とを備えたことを特徴とするマイクロプロセッサ。
  5. 5
    前記複数のユニットが前記タスクを実行するときに利用するレジスタ情報を保持するタスクレジスタをさらに備え、 前記タスク識別情報特定手段は、前記ユニットから前記レジスタ情報へのアクセス要求を取得した場合に、前記タスク識別情報レジスタが保持している前記ユニットの前記タスク識別情報を特定し、 前記制御手段は、前記タスク識別情報特定手段が特定した前記タスク識別情報に基づいて前記タスクレジスタに保持されている前記レジスタ情報へのアクセスを制御することを特徴とする請求項4に記載のマイクロプロセッサ。
  6. 6
    前記制御手段は、前記タスクレジスタが保持している前記レジスタ情報に対応付けて予め設定されたタスク識別情報以外のタスク識別情報に対応する前記ユニットから前記タスクレジスタへのアクセスを禁止することを特徴とする請求項5に記載のマイクロプロセッサ。
  7. 7
    前記タスクレジスタを複数備え、 前記タスクレジスタが保持する前記レジスタ情報を識別するレジスタ情報識別情報と、前記タスク識別情報とを対応付けて保持するレジスタテーブルをさらに備え、 前記制御手段は、前記レジスタテーブルにおいて前記タスク識別情報に対応付けられた前記レジスタ情報識別情報で識別される前記レジスタ情報以外のレジスタ情報を保持する前記タスクレジスタへのアクセスを禁止することを特徴とする請求項6に記載のマイクロプロセッサ。
  8. 8
    前記レジスタ情報識別情報と前記タスク識別情報をと対応付けて前記レジスタテーブルに設定するレジスタテーブル設定手段をさらに備え、 前記レジスタテーブルは、前記レジスタテーブル設定手段によって設定された前記レジスタ情報識別情報と、前記タスク識別情報とを対応付けて保持することを特徴とする請求項7に記載のマイクロプロセッサ。
  9. 9
    前記複数のユニットが前記タスクを実行するときに利用する情報を保持するメモリをさらに備え、 前記タスク識別情報特定手段は、前記ユニットから前記メモリへのアクセス要求を取得した場合に、前記タスク識別情報レジスタが保持している前記ユニットの前記タスク識別情報を特定し、 前記制御手段は、前記タスク識別情報特定手段が特定した前記タスク識別情報に基づいて前記メモリに保持されている前記メモリ情報へのアクセスを制御することを特徴とする請求項4に記載のマイクロプロセッサ。
  10. 10
    パイプラインによりプログラムを実行するマイクロプロセッサであって、 タスクを実行する複数のユニットと、 各ユニットが利用するレジスタセットを識別するレジスタ情報識別情報を、対応するユニットを認識可能な形式で保持するレジスタ情報識別情報レジスタと、 前記ユニットから所定の処理要求を取得した場合に、前記レジスタ情報識別情報レジスタが前記ユニットに対して保持している前記レジスタ情報識別情報を特定するレジスタ情報識別情報特定手段と、 前記レジスタ情報識別情報特定手段が特定した前記レジスタ情報識別情報に基づいて、メモリアクセス処理要求にかかる処理を制御する制御手段とを備えたことを特徴とするマイクロプロセッサ。
  11. 11
    前記複数のユニットが前記タスクを実行するときに利用する情報を保持するメモリを備え、前記タスク識別子情報と前記タスクレジスタの対応付けをするタスク識別情報テーブル設定手段と、 レジスタ識別情報とタスク識別情報を対応付けて保持するタスク識別情報テーブルと、 前記ユニットから前記メモリへのアクセス要求を取得した場合に、前記タスク識別情報テーブルにおいて前記レジスタ識別情報に対応付けられた前記タスク識別情報を特定するタスク識別情報特定手段とをさらに備え、 前記制御手段はタスク識別情報特定手段が特定したタスク識別情報を用いてメモリアクセスを制御することを特徴とする 請求項9に記載のマイクロプロセッサ。
Independent claims11