【手続補正書】
【提出日】平成16年11月10日(2004.11.10)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
超長命令語アーキテクチャを有するプロセッサ上の複数のクラスタの機能処理単位の間の所与の命令におけるサブ命令の共用方法であって、前記所与の命令は制御ビットの組および少なくとも１つのサブ命令を含み、前記プロセッサは複数のクラスタを含み、前記複数のクラスタの各々は複数の機能処理単位を含み、前記方法は、
所定の条件を識別するための制御ビットの組をテストするステップと、
前記所定の条件が識別された場合、所与の命令の前記サブ命令を、当該所定の条件によって定められる複数の機能処理単位に経路制御するステップと、
前記複数の機能処理単位においてサブ命令を同時実行するステップとを備えることを特徴とするサブ命令の共用方法。
【請求項２】
前記経路制御するステップは、前記所与の命令の前記サブ命令を、前記複数のクラスタの第１のクラスタの第１の機能処理単位および第２のクラスタの第１の機能処理単位に経路制御するステップを含み、前記実行するステップは、前記第１のクラスタの前記第１の機能処理単位および前記第２のクラスタの前記第１の機能処理単位で、サブ命令を同時実行するステップを含むことを特徴とする請求項１に記載のサブ命令の共用方法。
【請求項３】
前記所与の命令は第１および第２のサブ命令を含み、前記テストするステップは、制御ビットの組をテストして第１の所定の条件を識別するステップを含み、前記経路制御するステップは、前記第１のサブ命令を経路制御するステップを含み、前記方法はさらに、
前記制御ビットの組をテストして第２の所定の条件を識別するステップと、
前記第２の所定の条件が識別された場合、前記所与の命令の前記第２のサブ命令を、前記複数のクラスタの前記第１のクラスタの第２の機能処理単位および前記第２のクラスタの第２の機能処理単位に経路制御するステップと、
前記第１のサブ命令を前記第１のクラスタの前記第１の機能処理単位で、前記第１のサブ命令を前記第２のクラスタの前記第１の機能処理単位で、前記第２のサブ命令を前記第１のクラスタの前記第２の機能処理単位で、および前記第２のサブ命令を前記第２のクラスタの前記第２の機能処理単位で同時実行するステップとを備えることを特徴とする請求項２に記載のサブ命令の共用方法。
【請求項４】
超長命令語アーキテクチャを有するプロセッサで実行するべきコンピュータプログラムの命令のストア方法であって、
命令の各々は、少なくとも１つのサブ命令から第１の所定数のサブ命令までの間のサブ命令を含み、前記第１の所定数は少なくとも２であり、
前記プロセッサは、第２の所定数に等しい複数のクラスタに編成され、前記複数のクラスタの各々は、共通の個数の機能処理単位からなり、前記共通の個数と前記第２の所定数との積は前記第１の所定数と等しく、
前記第１の所定数のサブ命令を有する所与の命令に対しては、前記複数のクラスタの機能処理単位の各々が、前記所与の命令のそれぞれのサブ命令を実行するためのものであり、前記方法は、
前記所与の命令内で冗長なサブ命令が１度以上発生するパターンを識別するステップと、
前記パターンは所定のパターンの組の中のものか否かを判断するステップと、
前記パターンが前記所定のパターンの組の中のものである場合、前記命令に対する制御ビットの組を設定して前記パターンが存在することを示すステップとを備えることを特徴とする命令のストア方法。
【請求項５】
前記パターンが前記所定のパターンの組の中のものである場合、圧縮された命令を得るために所与の命令内の冗長なサブ命令の１つの発生を削除することにより、所与の命令を圧縮するステップをさらに含むことを特徴とする請求項４に記載の命令のストア方法。
【請求項６】
圧縮された命令を命令キャッシュ内に移動するステップと、
圧縮された命令の制御ビットの組をテストして、圧縮された命令に対してサブ命令共用が発生することを識別する条件を判断するステップと、
サブ命令共用が発生すると判断された場合、圧縮された命令をパーズして、冗長なサブ命令を識別された条件によって判断された複数の機能処理単位に経路制御するステップと、
サブ命令を、前記複数の機能処理単位で同時実行するステップとをさらに備えることを特徴とする請求項５に記載の命令のストア方法。
【請求項７】
超長命令語アーキテクチャを有するプロセッサ上で実行するためのコンピュータプログラムの命令のストア方法であって、
命令の各々は、少なくとも１つのサブ命令から第１の所定数までのサブ命令を含み、前記第１の所定数は少なくとも４であり、
プロセッサは第２の所定数に等しい複数のクラスタに編成され、前記複数のクラスタの各々は共通の個数の機能処理単位を含み、前記共通の個数と前記第２の所定数との積は前記第１の所定数と等しく、前記方法は、
所与の命令に対して、前記複数のクラスタの第１のクラスタの第１の機能単位によって処理されるべき第１のサブ命令と、前記複数のクラスタの第２のクラスタの第１の機能単位によって処理されるべき第２のサブ命令とを比較するステップと、
前記第１のサブ命令が前記第２のサブ命令と同じである場合、前記所与の命令に関連の制御ビットの組の第１の制御ビットを、前記第２のサブ命令が前記第１のサブ命令と等しいことを示す第１の論理状態に設定するステップと、
前記所与の命令に対して、前記複数のクラスタの前記第１のクラスタの第２の機能単位によって処理されるべき第３のサブ命令と、前記複数のクラスタの前記第２のクラスタの第２の機能単位によって処理されるべき第４のサブ命令とを比較するステップと、
第３のサブ命令が第４のサブ命令と同じである場合、前記所与の命令に関連の制御ビットの組の第２の制御ビットを第４のサブ命令が第３のサブ命令と等しいことを示す第２の論理状態に設定するステップと、
第１の制御ビットおよび第２の制御ビットを備えた前記所与の命令をストアするステップとを備えることを特徴とする命令のストア方法。
【請求項８】
前記ストアするステップは、所与の命令を圧縮されない形式にストアするステップを含み、所与の命令を圧縮された形式に圧縮するステップと、所与の命令を圧縮された形式でキャッシュにストアするステップとをさらに含み、前記圧縮するステップは、
所与の命令に関連する第１の制御ビットをテストするステップと、
前記第１の制御ビットが前記第１の論理状態と等しい場合に、所与の命令を圧縮してサイズを減じて、等しい前記第１のサブ命令と前記第２のサブ命令とのうちの１つのコピーを省いて、前記第１のサブ命令および前記第２のサブ命令の冗長な記憶を避けるステップと、
所与の命令に関連する前記第２の制御ビットをテストするステップと、
前記第２の制御ビットが前記第２の論理状態と等しい場合に、所与の命令を圧縮してサイズを減じて、等しい前記第３のサブ命令と前記第４のサブ命令とのうちの１つのコピーを省いて、前記第３のサブ命令および前記第４のサブ命令の冗長な記憶を省くステップ７２とを備えることを特徴とする請求項７に記載の命令のストア方法。
【請求項９】
前記ストアするステップは、所与の命令を圧縮された形式でストアするステップを含み、前記ストアするステップの前に、所与の命令を圧縮された形式に圧縮するステップをさらに含み、前記圧縮するステップは、
前記第１の制御ビットが前記第１の論理状態と等しい場合に、所与の命令を圧縮してサイズを減じて、等しい前記第１のサブ命令と前記第２のサブ命令とのうちの１つのコピーを省いて、前記第１のサブ命令および前記第２のサブ命令の冗長な記憶を避けるステップと、
前記第２の制御ビットが前記第２の論理状態に等しい場合に、所与の命令を圧縮してサイズを減じて、等しい前記第３のサブ命令と前記第４のサブ命令とのうちの１つのコピーを省いて、前記第３のサブ命令および前記第４のサブ命令の冗長な記憶を省くステップとを備えることを特徴とする請求項７に記載の命令のストア方法。
【請求項１０】
所与の命令を圧縮された形式でキャッシュにストアするステップをさらに含むことを特徴とする請求項９に記載の命令のストア方法。
【請求項１１】
所与の命令を前記第１の制御ビットおよび前記第２の制御ビットを備えて圧縮された形式でキャッシュにストアするステップを含み、前記圧縮された形式は、前記第１の制御ビットが前記第１の論理状態に設定されている場合に、前記第１のサブ命令の記憶と前記第２のサブ命令の記憶とを組合せて第１の組合された記憶にし、前記圧縮された形式は、前記第２の制御ビットが前記第２の論理状態に設定されている場合に、前記第３のサブ命令の記憶と前記第４のサブ命令の記憶とを組合せて第２の組合された記憶にし、
さらに前記第１の制御ビットをテストするステップと、
前記第１の制御ビットが前記第１の論理状態に設定されている場合、前記第１の組合された記憶の内容を、前記第１のクラスタの前記第１の機能処理単位および前記第２のクラスタの前記第１の機能処理単位に経路制御して、前記第１のクラスタの前記第１の機能処理単位および前記第２のクラスタの前記第１の機能処理単位による同時実行を行なわせるステップと、
前記第２の制御ビットをテストするステップと、
前記第２の制御ビットが前記第２の論理状態に設定されている場合、前記第２の組合された記憶の内容を、前記第１のクラスタの前記第２の機能処理単位および前記第２のクラスタの前記第２の機能処理単位に経路制御して、前記第１のクラスタの前記第２の機能処理単位および前記第２のクラスタの前記第２の機能処理単位による同時実行を行なわせるステップとを備えることを特徴とする請求項７に記載の命令のストア方法。
【請求項１２】
超長命令語アーキテクチャを有するプロセッサ上で実行するためのコンピュータプログラムの命令を圧縮された形式に圧縮する命令圧縮方法であって、
前記命令の各々は、少なくとも１つの第１の所定数までのサブ命令を含み、前記第１の所定数は少なくとも４であり、
前記プロセッサは、第２の所定数に等しい複数のクラスタに編成され、前記複数のクラスタの各々は、共通の個数の機能処理単位２８を含み、前記共通の個数と前記第２の所定数との積は前記第１の所定数に等しく、
前記方法は、
所与の命令に対して、前記複数のクラスタの第１のクラスタの第１の機能単位によって処理されるべき第１のサブ命令と、前記複数のクラスタの第２のクラスタの第１の機能単位によって処理されるべき第２のサブ命令とを比較するステップと、前記第１のサブ命令が前記第２のサブ命令と同じである場合、所与の命令を前記第１のサブ命令を備えるが前記第２のサブ命令を備えずにストアされるよう圧縮し、かつ所与の命令に関連の第１の制御ビットを、前記第２のサブ命令が前記第１のサブ命令に等しいことを示す論理状態に設定するステップと、
所与の命令に対して、前記複数のクラスタの前記第１のクラスタの第２の機能単位によって処理されるべき第３のサブ命令と、前記複数のクラスタの前記第２のクラスタの第２の機能単位によって処理されるべき第４のサブ命令とを比較するステップと、
前記第３のサブ命令が前記第４のサブ命令と同じであった場合、所与の命令を前記第３のサブ命令を備えるが前記第４のサブ命令を備えずにストアされるよう圧縮し、かつ所与の命令に関連の第２の制御ビットを、前記第４のサブ命令が前記第３のサブ命令に等しいことを示す論理状態に設定するステップとを備えることを特徴とする命令圧縮方法。
【請求項１３】
超長命令語アーキテクチャを有しかつ機能処理単位の複数のクラスタを含むプロセッサを備えたコンピュータシステムであって、
前記複数のクラスタのクラスタの各々は、共通の数ｍの機能処理単位を含み、前記プロセッサは、第１の所定数のクラスタを含み、前記超長命令語アーキテクチャは、命令が第２の所定数までのサブ命令を有することを可能にし、前記第２の所定数は、前記第１の所定数と前記共通の数との積に等しく、前記プロセッサによって実行されるべき命令の各々は、制御ビットの組を備えて、１つのサブ命令から前記第２の所定数のサブ命令までを含み、
前記コンピュータシステムはさらに制御ビットの組の条件によって決定される圧縮された形式に第１のサブ命令をストアする命令キャッシュメモリを備え、
前記圧縮された形式は、複数の機能処理単位によって共用されるべき第１の命令の所与のフィールド内にストアされる共用サブ命令を含み、前記複数の機能処理単位は、前記制御ビットの組の条件によって判断されることを特徴とするコンピュータシステム。
【請求項１４】
前記共用サブ命令は、前記制御ビットの組が第１の所定の条件を識別した場合、第１のクラスタの第１の機能処理単位および第２のクラスタの第１の機能処理単位に対するものであることを特徴とする請求項１３に記載のコンピュータシステム。
【請求項１５】
前記共用サブ命令は第１の共用サブ命令であり、圧縮された形式は、制御ビットの組が同時に第２の所定の条件を識別した場合、前記第１のクラスタの第２の機能処理単位および前記第２のクラスタの第２の機能処理単位に対する第２の共用サブ命令をさらに含むことを特徴とする請求項１４に記載のコンピュータシステム。
【請求項１６】
所与の命令に対して制御ビットの組をテストする手段と、
前記テストする手段が第１の所定の条件を識別した場合、前記第１の共通のサブ命令を、前記複数のクラスタの前記第１のクラスタの前記第１の機能処理単位と前記第２のクラスタの前記第１の機能処理単位とに経路制御する手段とをさらに備えることを特徴とする請求項１４に記載のコンピュータシステム。
【請求項１７】
前記第１の共通のサブ命令は、前記第１のクラスタの前記第１の機能処理単位および前記第２のクラスタの前記第１の機能処理単位で同時実行されることを特徴とする請求項１６に記載のコンピュータシステム。
【請求項１８】
前記圧縮されない形式の第１の命令は、前記第２の所定数のサブ命令を含み、前記第１の命令は、第１のクラスタの第１の機能処理単位）によって実行される第１のサブ命令と、第２のクラスタの第１の機能処理単位によって実行される第２のサブ命令とを含み、前記システムはさらに、前記第１の命令をコンパイルする手段を含み、該コンパイルする手段は、
前記第１のサブ命令と前記第２のサブ命令とを比較する手段と、
前記第１のサブ命令が前記第２のサブ命令に等しい場合に、第１の所定の条件を識別するために制御ビットの組の状態を設定する手段とを含むことを特徴とする請求項１４に記載のコンピュータシステム。
【請求項１９】
前記圧縮されない形式の前記第１の命令は、前記第２の所定数のサブ命令を含み、前記第１の命令は、第１のクラスタの第１の機能処理単位によって実行される第１のサブ命令と、第２のクラスタの第１の機能処理単位によって実行される第２のサブ命令とを含み、前記システムはさらに、前記第１の命令を圧縮された形式に圧縮する手段を含み、該圧縮する手段は、
前記第１の命令に関連の制御ビットの組をテストする手段と、
前記制御ビットの組が、前記第１のサブ命令と前記第２のサブ命令とが等しいことを識別した場合、前記第２のサブ命令を省くことにより第１の命令のサイズを減じる手段とを含むことを特徴とする請求項１４に記載のコンピュータシステム。
【請求項２０】
圧縮されない形式の第１の命令は、前記第２の所定数のサブ命令を含み、前記第１の命令は、第１のクラスタの第１の機能処理単位によって実行される第１のサブ命令と、第２のクラスタの第１の機能処理単位によって実行される第２のサブ命令とを含み、前記システムはさらに、前記第１の命令をキャッシュする手段を含み、該キャッシュする手段は、
第１の命令に関連の制御ビットの組をテストする手段と、
制御ビットの組が、前記第１のサブ命令と前記第２のサブ命令とが等しいことを識別した場合、前記第２のサブ命令を省くことによりサイズを減じて第１の命令を圧縮された形式にする手段と、
第１の命令を圧縮された形式で命令キャッシュにロードする手段とを含むことを特徴とする請求項１４に記載のコンピュータシステム。
【請求項２１】
圧縮されない形式の第１の命令は、前記第２の所定数のサブ命令を含み、前記第１の命令は、第１のクラスタの第１の機能処理単位によって実行される第１のサブ命令と、第２のクラスタの第１の機能処理単位によって実行される第２のサブ命令とを含み、前記システムはさらに、前記第１の命令をキャッシュする手段を含み、該キャッシュする手段は、
前記第１のサブ命令と前記第２のサブ命令とを比較する手段と、
前記第１のサブ命令が前記第２のサブ命令に等しい場合に、第１の所定の条件を識別するよう前記第１の命令に関連の制御ビットの組の状態を設定する手段と、
前記制御ビットの組が、前記第１のサブ命令と前記第２のサブ命令とが等しいことを識別した場合、前記第２のサブ命令を省くことにより第１の命令のサイズを減じて圧縮された形式を得る手段と、
圧縮された形式で前記第１の命令を命令キャッシュにロードする手段とを含むことを特徴とする請求項１４に記載のコンピュータシステム。