【手続補正書】
【提出日】平成28年1月25日(2016.1.25)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
命令を解凍するための方法であって、メモリから圧縮命令をフェッチするステップであって、各々の圧縮命令がX-インデックスおよびY-インデックスを含む、ステップと、各々の圧縮命令のために、２行アクセスのためにマスクされた前記X-インデックスを使用してXメモリからX-ビットパターンの２行をフェッチし、２行アクセスのためにマスクされた前記Y-インデックスを使用してYメモリからY-ビットパターンの２行をフェッチするステップであって、パターンの前記２行は、２行にまたがるパターンにアクセスするためにフェッチされ、前記X-インデックスに従って前記フェッチされたX-ビットパターンの２行からX-ビットパターンを選択するステップ、および前記Y-インデックスに従って前記フェッチされたY-ビットパターンの２行からY-ビットパターンを選択するステップと、前記X-ビットパターンのビットを、各々の圧縮命令と関連付けられるミックスマスクに基づいて前記Y-ビットパターンのビットと組み合わせて、解凍命令にするステップであって、前記解凍命令のフォーマット長が、前記関連付けられたミックスマスクによって決定され、各々の圧縮命令に関連付けられた前記ミックスマスクが、各々の圧縮命令のアドレスで変換索引バッファ（TLB）エントリーに記憶された属性から識別され、前記TLBエントリーは、仮想アドレスを物理アドレスに変換するために使用される、ステップと、を含む、方法。
【請求項２】
前記解凍命令の前記フォーマット長が、複数の異なるフォーマット長の1つである、請求項1に記載の方法。
【請求項３】
前記メモリがメインメモリおよびレベル2キャッシュを含む、請求項1に記載の方法。
【請求項４】
レベル1命令キャッシュにおけるミスに応答して、レベル2キャッシュから前記圧縮命令をフェッチするステップと前記圧縮命令に関連付けられた前記ミックスマスクをフェッチするステップとをさらに含む、請求項1に記載の方法。
【請求項５】
レベル1命令キャッシュに各々の解凍命令を記憶するステップをさらに含む、請求項4に記載の方法。
【請求項６】
各々の圧縮命令が、ミックスマスクインデックスと関連付けられる、請求項1に記載の方法。
【請求項７】
各々の圧縮命令と関連付けられる前記ミックスマスクが、前記ミックスマスクインデックスを使用してミックスマスクメモリから選択される、請求項6に記載の方法。
【請求項８】
前記X-ビットパターンが、前記解凍命令を含む命令のグループに共通のビットパターンを表し、前記Y-ビットパターンが、前記解凍命令と前記X-ビットパターンとの間で相違点を含み、前記ミックスマスクが、前記解凍命令を生成するために前記X-ビットパターンのビットと前記Y-ビットパターンのビットとの混合を識別する、請求項1に記載の方法。
【請求項９】
前記圧縮命令のアドレスで前記変換索引バッファ（TLB）エントリーが、前記命令が前記フェッチされたアドレスで圧縮されているか否かを示し、および複数のミックスマスクからの選択において前記関連付けられたミックスマスクを識別するために、マーカーを格納する、請求項１に記載の方法。
【請求項１０】
仮想メモリシステムに記憶された圧縮命令を変換するための装置であって、前記装置は、非圧縮命令のページと混合された、異なるマスクに基づいて圧縮されたミックスマスクに基づく圧縮命令のページを記憶するように構成される、ページ化された命令キャッシュであって、ミックスマスクは、選択されたミックスマスクを使用して達成される圧縮の単位に基づいて、前記ページ化された命令キャッシュに圧縮される命令の、各々のページのための複数のミックスマスクから選択される、ページ化された命令キャッシュと、仮想アドレスを物理アドレスに変換し、圧縮命令を記憶するものとして前記ページ化された命令キャッシュ中のページを識別する、ミックスマスクインデックスを記憶し、前記識別されたページを圧縮するために使用される前記選択されたミックスマスクを識別するように構成され、前記識別されたミックスマスクは、圧縮命令の前記識別されたページからフェッチされる各々の圧縮命令をネイティブな命令フォーマットに解凍するために使用される、命令変換索引バッファ(TLB)と、を含む、装置。
【請求項１１】
1つまたは複数のミックスマスクを記憶し、前記ミックスマスクを選択するために前記ミックスマスクインデックスによってアドレス可能である、ミックスマスクメモリをさらに含む、請求項10に記載の装置。
【請求項１２】
各々のミックスマスクに基づく圧縮命令が、第1のビットパターンおよび第2のビットパターンからなり、前記第1のビットパターンのビットは、非圧縮命令を生成するための、前記識別されたミックスマスクに従って、前記第2のビットパターンのビットに組み合わされる、請求項10に記載の装置。
【請求項１３】
前記ミックスマスクに基づく圧縮命令を解凍するように構成される、変換デコーダであって、前記ページ化された命令キャッシュと、非圧縮命令および解凍命令を記憶するように構成されたより低水準の命令キャッシュとの間に配置される、前記変換デコーダをさらに含む、請求項10に記載の装置。
【請求項１４】
前記変換デコーダが、圧縮命令を解凍するように構成される、圧縮命令デコーダと、前記より低水準の命令キャッシュへの記憶に備えて、前記解凍命令を記憶するように構成される、解凍バッファとを含む、請求項13に記載の装置。
【請求項１５】
前記変換デコーダからの解凍命令をプロセッサパイプラインに直接渡すように構成される、バイパス回路をさらに含む、請求項13に記載の装置。
【請求項１６】
前記達成される圧縮の単位が、前記識別されたページに記憶された前記圧縮命令の第2のエントロピー単位と比較して前記識別されたページと関連付られる非圧縮命令の第1のエントロピー単位から示される、請求項10に記載の装置。
【請求項１７】
圧縮命令を実行可能なフォーマットに変換するためのシステムであって、前記システムは、プログラムコードの各々の圧縮命令のためのX-インデックスおよびY-インデックスを記憶するように構成される、レベル2（L2）キャッシュと、複数のエントリーを含む変換索引バッファ（TLB）であって、各々のエントリーは、仮想アドレスを物理アドレスに変換し、命令のページが非圧縮命令または圧縮命令を含むか否かを識別し、次いで、前記命令のページが圧縮命令のページであるとき、複数のミックスマスクから選択されるミックスマスクを識別するために使用され、前記識別されたミックスマスクは、圧縮命令の前記ページを生成するための圧縮動作に使用される、変換索引バッファと、前記識別されたミックスマスクを使用して達成される圧縮の単位に基づいて複数のミックスマスクから選択された前記識別されたミックスマスクと、前記L2キャッシュの圧縮命令のページから圧縮命令を受け取り、各々の受け取られた圧縮命令に対して、前記X-インデックスおよび前記Y-インデックスを使用して変換メモリからX-ビットパターンおよびY-ビットパターンを選択し、前記ミックスマスクを識別する前記TLBから前記エントリーを使用してミックスマスクメモリから前記識別されたミックスマスクをフェッチし、前記識別されたミックスマスクは、前記選択されたX-ビットパターンのビットと前記選択されたY-ビットパターンのビットとを組み合わせてネイティブな命令フォーマットにするために使用されるように、構成される、変換ユニットと、各々の圧縮命令のための前記ネイティブな命令フォーマットを記憶するように構成される、レベル1キャッシュと、を含む、システム。
【請求項１８】
前記レベル2(L2)キャッシュが、圧縮命令を記憶するページの第2のセットと混合されるネイティブな命令フォーマットで命令を記憶するページの第1のセットに分割され、ページの前記第2のセットの各々のページは、前記選択されたネイティブな命令に基づいて生成されるミックスマスクを使用するページと関連付けられる選択されたネイティブな命令上で、圧縮動作によって生成され、これによって前記複数のミックスマスクは、圧縮命令のページの前記第2のセットのために生成される、請求項17に記載のシステム。
【請求項１９】
前記複数のミックスマスクを記憶するミックスマスクメモリであって、前記ミックスマスクメモリは、前記ミックスマスクを識別するために使用される前記TLBから前記エントリーによってアドレス可能である、ミックスマスクメモリをさらに含む、請求項17に記載のシステム。
【請求項２０】
前記プログラムコードが、暗示された暗号化フォーマットで前記L2キャッシュに記憶される、請求項17に記載のシステム。