(57)【要約】      （修正有）【課題】命令語圧縮装置、命令語圧縮方法及びコンピュータで読み取り可能な記録媒体を提供する。【解決手段】命令語圧縮装置１００は、有効命令語バンドルの間に存在する無演算命令語バンドルの個数に対応した命令語圧縮ビットを生成させる生成部１２０、生成された命令語圧縮ビットを有効命令語バンドルに挿入する挿入部１３０、無演算命令語バンドルを削除する削除部１４０、とを備えることによって、命令語を効率的に圧縮することができる。したがって、プロセッサ内で並列処理されうる命令語の個数が増加する。【選択図】図１
2013058203.tif 000002
【特許請求の範囲】
【請求項１】
命令語を、少なくとも１つの有効（ｖａｌｉｄ）命令語を含む有効命令語バンドル、及び少なくとも１つの無演算（ｎｏ  ｏｐｅｒａｔｉｏｎ）命令語を含む無演算命令語バンドルに分割する分割部と、
前記有効命令語バンドルの間に存在する前記無演算命令語バンドルの個数に対応した命令語圧縮ビットを生成させる生成部と、
前記命令語圧縮ビットを前記有効命令語バンドルに挿入する挿入部と、
を含む命令語圧縮装置。
【請求項２】
前記生成部は、
前記有効命令語バンドルに含まれた命令語の個数と同じビット数を含む前記命令語圧縮ビットを生成させる請求項１に記載の命令語圧縮装置。
【請求項３】
前記挿入部は、
前記命令語圧縮ビットを前記有効命令語バンドルに含まれたそれぞれの命令語に１ビットずつ挿入する請求項１に記載の命令語圧縮装置。
【請求項４】
前記分割部は、
命令語を並列処理される命令語で構成される複数の命令語バンドルにグループ化し、前記命令語バンドルを前記有効命令語バンドル及び前記無演算命令語バンドルに分類する請求項１に記載の命令語圧縮装置。
【請求項５】
前記無演算命令語バンドルを削除する削除部をさらに含む請求項１に記載の命令語圧縮装置。
【請求項６】
有効命令語は、特定の演算を実行するための命令語であり、
無演算命令語は、何の演算もしないための命令語である請求項１に記載の命令語圧縮装置。
【請求項７】
複数の命令語を、少なくとも１つの有効命令語を含む有効命令語バンドル、及び無演算命令語を含む無演算命令語バンドルに分割する段階と、
前記有効命令語バンドルの間に存在する前記無演算命令語バンドルの個数と関連した命令語圧縮ビットを生成する段階と、
前記命令語圧縮ビットを前記有効命令語バンドルに挿入する段階と、
を含む命令語圧縮方法。
【請求項８】
前記生成する段階は、
前記有効命令語バンドルに含まれた命令語の個数と同じビット数を含む前記命令語圧縮ビットを生成する段階を含む請求項７に記載の命令語圧縮方法。
【請求項９】
前記挿入する段階は、
前記命令語圧縮ビットを前記有効命令語バンドルに含まれたそれぞれの命令語に１ビットずつ挿入する段階を含む請求項７に記載の命令語圧縮方法。
【請求項１０】
前記分割する段階は、
複数の命令語を並列処理される命令語で構成される複数の命令語バンドルにグループ化する段階と、
前記命令語バンドルを前記有効命令語バンドル及び前記無演算命令語バンドルに分類する段階と、
を含む請求項７に記載の命令語圧縮方法。
【請求項１１】
前記無演算命令語バンドルを削除する段階をさらに含む請求項７に記載の命令語圧縮方法。
【請求項１２】
有効命令語は、特定の演算を実行するための命令語であり、
無演算命令語は、何の演算もしないための命令語である請求項７に記載の命令語圧縮方法。
【請求項１３】
命令語を、少なくとも１つの有効命令語を含む有効命令語バンドル、及び少なくとも１つの無演算命令語を含む無演算命令語バンドルに分割する段階と、
前記有効命令語バンドルの間に存在する前記無演算命令語バンドルの個数に対応した命令語圧縮ビットを生成させる段階と、
前記命令語圧縮ビットを前記有効命令語バンドルに挿入する段階と、
を含む命令語圧縮方法を実行するためのプログラム命令語が保存されたコンピュータで読み取り可能な記録媒体。
【請求項１４】
処理しなければならない複数の命令語のうちの命令語の個数を減縮するプロセッサであって、
前記複数の命令語に対する有効命令語バンドルと次の有効命令語バンドルとの間に存在する無演算命令語の個数に対応する命令語圧縮ビット値を前記有効命令語バンドルに挿入する挿入部と、
前記複数の命令語から前記無演算命令語を削除する削除部と、
を含むプロセッサ。
【請求項１５】
前記挿入部は、前記命令語圧縮ビット値を前記有効命令語バンドルの始めまたは終わり、または前記有効命令語バンドルに含まれたそれぞれの命令語の間に挿入される請求項１４に記載のプロセッサ。
【請求項１６】
前記複数の命令語で前記無演算命令語の削除を処理する複数の処理部をさらに含む請求項１４に記載のプロセッサ。
【請求項１７】
前記複数の命令語を、それぞれが少なくとも１つの有効命令語を含む複数の有効命令語バンドル、及びそれぞれが少なくとも１つの無演算命令語を含む複数の無演算命令語バンドルに分割する分割部をさらに含む請求項１４に記載のプロセッサ。
【請求項１８】
前記有効命令語バンドルと前記次の有効命令語バンドルとの間に存在する無演算命令語の個数に対応する前記命令語圧縮ビット値を生成させる生成部をさらに含む請求項１４に記載のプロセッサ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多数複数の命令語（ｉｎｓｔｒｕｃｔｉｏｎｓ）を圧縮する技術に関する。
【背景技術】
【０００２】
プロセッサは、複数の命令語を並列的または同時に処理するための複数の演算装置（ｆｕｎｃｔｉｏｎ  ｕｎｉｔ；ＦＵ）を含みうる。プロセッサは、複数の命令語を複数の演算装置（ＦＵ）を用いて並列的に処理することによって、命令語処理時間を短縮することができる。
【０００３】
プロセッサで並列的に処理されうる命令語の個数は、複数の演算装置（ＦＵ）の個数によって決定される。例えば、演算装置が４個である場合、並列的または同時に処理されうる命令語は、最大４個である。
【０００４】
例えば、有効命令語は、特定の演算を実行するための命令語である。一方、無演算（ＮＯＰ：Ｎｏ  Ｏｐｅｒａｔｉｏｎ）命令語は、何の演算もしない命令語であり、有効命令の間にあってもかまわない。プロセッサに含まれたコンパイラは、有効命令語だけではなく、無演算（ＮＯＰ）命令語も演算装置に割り当てるために、有効命令語及び無演算命令語をいずれもエンコーディング（ｅｎｃｏｄｉｎｇ）しなければならない。この場合、演算に大きな影響を及ぼさないか、全然及ぼさない無演算命令語をエンコーディングしなければならないので、エンコーディングしなければならない命令語の個数が増加する。命令の個数が増加すれば、コードのサイズが増加し、命令語処理のための複雑なハードウェアが必要であり、命令語処理時に多くのオーバーヘッドが発生することがある。
【０００５】
したがって、プロセッサが、命令語を効率的に処理するために、命令語を効率的に圧縮する技術が必要である。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明は、命令語圧縮装置、命令語圧縮方法及びコンピュータで読み取り可能な記録媒体を提供することである。
【課題を解決するための手段】
【０００７】
本発明の一実施例による命令語圧縮装置は、命令語を、少なくとも１つの有効（ｖａｌｉｄ）命令語を含む有効命令語バンドル、及び少なくとも１つの無演算命令語を含む無演算命令語バンドルに分割する分割部と、有効命令語バンドルの間に存在する無演算命令語バンドルの個数と関連した命令語圧縮ビットを生成させる生成部と、命令語圧縮ビットを有効命令語バンドルに挿入する挿入部と、を含みうる。
【０００８】
生成部は、有効命令語バンドルに含まれた命令語の個数と同じビット数を含む命令語圧縮ビットを生成することができる。
【０００９】
挿入部は、命令語圧縮ビットを有効命令語バンドルに含まれたそれぞれの命令語に１ビットずつ挿入することができる。
【００１０】
分割部は、命令語を並列処理される命令語で構成される命令語バンドルにグループ化し、前記命令語バンドルを有効命令語バンドル及び無演算命令語バンドルに分類することができる。
【００１１】
命令語圧縮装置は、無演算命令語バンドルを削除する削除部をさらに含みうる。有効命令語は、特定の演算を実行するための命令語であり、無演算命令語は、何の演算もしないための命令語である。
【００１２】
本発明の一実施例による命令語圧縮方法は、命令語を、少なくとも１つの有効命令語を含む有効命令語バンドル、及び少なくとも１つの無演算命令語を含む無演算命令語バンドルに分割する段階と、有効命令語バンドルの間に存在する無演算命令語バンドルの個数と関連した命令語圧縮ビットを生成させる段階と、命令語圧縮ビットを有効命令語バンドルに挿入する段階と、を含む。
【００１３】
生成する段階は、有効命令語バンドルに含まれた命令語の個数と同じビット数を含む命令語圧縮ビットを生成させる段階を含みうる。
【００１４】
挿入する段階は、命令語圧縮ビットを有効命令語バンドルに含まれたそれぞれの命令語に１ビットずつ挿入する段階を含みうる。
【００１５】
分割する段階は、命令語を並列処理される命令語で構成される命令語バンドルにグループ化する段階と、前記命令語バンドルを有効命令語バンドル及び無演算命令語バンドルに分類する段階と、を含みうる。
【００１６】
命令語圧縮方法は、無演算命令語バンドルを削除する段階をさらに含みうる。
【００１７】
有効命令語は、特定の演算を実行するための命令語であり、無演算命令語は、何の演算もしないための命令語である。
【００１８】
本発明の一実施例による命令語圧縮方法を実行するためのプログラム命令語が保存されたコンピュータで読み取り可能な記録媒体は、命令語を、少なくとも１つの有効命令語を含む有効命令語バンドル、及び少なくとも１つの無演算命令語を含む無演算命令語バンドルに分割する段階と、有効命令語バンドルの間に存在する無演算命令語バンドルの個数と関連した命令語圧縮ビットを生成させる段階と、命令語圧縮ビットを有効命令語バンドルに挿入する段階と、を含む。
【図面の簡単な説明】
【００１９】
【図１】本発明の一実施例と関連した命令語圧縮装置を説明する図である。
【図２Ａ】図１の命令語圧縮装置が命令語を圧縮する過程を例示した図である。
【図２Ｂ】図１の命令語圧縮装置が命令語を圧縮する過程を例示した図である。
【図２Ｃ】図１の命令語圧縮装置が命令語を圧縮する過程を例示した図である。
【図２Ｄ】図１の命令語圧縮装置が命令語を圧縮する過程を例示した図である。
【図２Ｅ】図１の命令語圧縮装置が命令語を圧縮する過程を例示した図である。
【図２Ｆ】図１の命令語圧縮装置が命令語を圧縮する過程を例示した図である。
【図３Ａ】図１の命令語圧縮装置が命令語を圧縮するさらに他の実施例による過程を例示した図である。
【図３Ｂ】図１の命令語圧縮装置が命令語を圧縮するさらに他の実施例による過程を例示した図である。
【図３Ｃ】図１の命令語圧縮装置が命令語を圧縮するさらに他の実施例による過程を例示した図である。
【図３Ｄ】図１の命令語圧縮装置が命令語を圧縮するさらに他の実施例による過程を例示した図である。
【図３Ｅ】図１の命令語圧縮装置が命令語を圧縮するさらに他の実施例による過程を例示した図である。
【図３Ｆ】図１の命令語圧縮装置が命令語を圧縮するさらに他の実施例による過程を例示した図である。
【図４】本発明の一実施例による命令語圧縮方法を説明するフローチャートである。
【発明を実施するための形態】
【００２０】
以下、添付した図面を参照して、発明を実施するための具体的な内容について詳細に説明する。
【００２１】
図１は、本発明の一実施例と関連した命令語圧縮装置を説明する図である。図１を参照すると、命令語圧縮装置１００は、分割部１１０、生成部１２０、挿入部１３０、及び削除部１４０を含む。命令語圧縮装置１００は、プロセッサに含まれうる。プロセッサは、端末（ｔｅｒｍｉｎａｌ）に含まれうる。例えば、端末は、スマートフォン、タブレット、コンピュータ、テレビ、家電製品などである。また、プロセッサは、命令語を処理するために、複数の処理部を有しうる。
【００２２】
分割部１１０は、命令語を有効命令語バンドル（ｂｕｎｄｌｅ）及び無演算（ＮＯＰ）命令語バンドルに分割することができる。例えば、命令語は、ＶＬＩＷ（Ｖｅｒｙ  Ｌｏｎｇ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｗｏｒｄ）プロセッサで実行されるＶＬＩＷ命令語であり得る。命令語バンドルは、１サイクル内で並列処理または同時に処理される命令語で構成することができる。例えば、プロセッサに含まれた演算装置（ＦＵ）が４個である場合、並列処理される命令語は、４個になる。この場合、命令語バンドルは、４個の命令語を含みうる。
【００２３】
有効命令語バンドルは、命令語バンドルのうちの少なくとも１つの有効命令語を含むバンドルを意味し、無演算命令語バンドルは、命令語バンドルのうちの少なくとも１つの無演算命令語を含むバンドルを意味する。有効命令語は、特定の演算を実行するための命令語であり、無演算命令語は、何の演算もしないための命令語である。
【００２４】
分割部１１０は、命令語を命令語バンドルにグループ化することができる。分割部１１０は、命令語バンドルを有効命令語バンドル及び無演算命令語バンドルに分類することができる。
【００２５】
生成部１２０は、２つの有効命令語バンドルの間に存在する無演算命令語バンドルの個数に対応する命令語圧縮ビットを生成することができる。例えば、２つの有効命令語バンドルの間に存在する無演算命令語バンドルの個数が‘０’である場合、生成部１２０は、命令語圧縮ビットとして‘００’を生成することができる。他の例として、有効命令語バンドルの間に存在する無演算命令語バンドルの個数が‘１’である場合、生成部１２０は、命令語圧縮ビットとして‘０１’を生成することができる。
【００２６】
生成部１２０は、有効命令語バンドルに含まれた命令語の個数と同じビット数を含む命令語圧縮ビットを生成することができる。例えば、有効命令語バンドルに含まれた命令語の個数が２である場合、生成部１２０は、２ビットである命令語圧縮ビットを生成することができる。また他の例を挙げれば、有効命令語バンドルに含まれた命令語の個数が４である場合、生成部１２０は、４ビットである命令語圧縮ビットを生成することができる。
【００２７】
挿入部１３０は、命令語圧縮ビットを有効命令語バンドルに挿入することができる。例えば、挿入部１３０は、命令語圧縮ビットを有効命令語バンドルに含まれたそれぞれの命令語に１ビットずつ挿入することができる。また他の例を挙げれば、挿入部１３０は、命令語圧縮ビットを、有効命令語バンドルの始めまたは終わりに挿入することができる。
【００２８】
削除部１４０は、無演算命令語バンドルを削除して、プロセッサで行われる命令の個数を減少させることができる。
【００２９】
命令語圧縮装置１００は、有効命令語バンドルに無演算命令語に関する命令語圧縮ビットを挿入し、無演算命令語バンドルを削除することによって、命令語を効率的に圧縮することができる。
【００３０】
また、命令語圧縮装置１００は、命令語バンドル単位で命令語を圧縮することによって、解凍するハードウェアの単純化、アドレス計算の単純化などに寄与することができる。
【００３１】
また、命令語圧縮装置１００は、命令語圧縮ビットを命令語の個数と同じビット数で生成して用いることによって、命令語の長さを減縮することができる。言い換えれば、命令語バンドルに含まれたそれぞれの命令語に１つの命令語圧縮ビットが挿入されうる。
【００３２】
さらに、命令語圧縮装置１００は、無演算命令語バンドルを削除することによって、有効命令語バンドルの間の遅延（ｌａｔｅｎｃｙ）が長くなる場合に、効果的に命令語を圧縮することができる。
【００３３】
図２Ａないし図２Ｆは、図１の命令語圧縮装置が命令語を圧縮する一実施例による過程を例示した図である。
【００３４】
図１及び図２Ａを参照すると、命令語２００は、総３２個の命令語を含みうる。しかし、命令語２００に含まれた命令語の個数は、これに限定されるものではない。以下、命令語を処理することができる演算装置（ＦＵ）が、２個である場合を仮定する。したがって、１サイクルに並列処理される命令語は２個であり、命令語バンドルは２個の命令語を含む。
【００３５】
例えば、命令語圧縮装置１００は、命令語２００を命令語バンドル単位に分割することができる。命令語２００を命令語バンドル単位で表示すれば、図２Ｂのようである。
【００３６】
図１及び図２Ｂを参照すると、命令語圧縮装置１００は、命令語を有効命令語バンドル及び無演算（ＮＯＰ）命令語バンドルに分割することができる。例えば、命令語バンドル２１０、２１１、２１５、２１６、２１７、２２０、２２２、２２３は、少なくとも１つの有効命令語Ａ、Ｂ、Ｃ、Ｄ、Ｅ、Ｆ、Ｇ、Ｈ、Ｉ、Ｊ、Ｋを含むので、命令語圧縮装置１００は、命令語バンドル２１０、２１１、２１５、２１６、２１７、２２０、２２２、２２３を有効命令語バンドルに分類することができる。また、命令語バンドル２１２、２１３、２１４、２１８、２１９、２２１、２２４、２２５は、無演算（ＮＯＰ）命令語を含むので、命令語圧縮装置１００は、命令語バンドル２１２、２１３、２１４、２１８、２１９、２２１、２２４、２２５を無演算命令語バンドルに分類することができる。
【００３７】
図１及び図２Ｃの実施例で、命令語圧縮ビットは、有効命令語バンドルに含まれた命令語の個数と同じ２ビットであり得る。例えば、有効命令語バンドルの間に存在する無演算命令語バンドルの個数が‘０’である場合、命令語圧縮ビットは、２個の命令語圧縮ビットである‘００’と表現される。有効命令語バンドルの間に存在する無演算命令語バンドルの個数が‘１’である場合、命令語圧縮ビットとして‘０１’と表現される。有効命令語バンドルの間に存在する無演算命令語バンドルの個数が‘２’である場合、命令語圧縮ビットとして‘１０’と表現される。有効命令語バンドルの間に存在する無演算命令語バンドルの個数が‘３’である場合、命令語圧縮ビットとして‘１１’と表現される。
【００３８】
図１及び図２Ｄを参照すると、命令語圧縮装置１００は、図２Ｃの表に基づいて、有効命令語バンドルの間に存在する無演算命令語バンドルの個数と関連した命令語圧縮ビットをビット単位で生成することができる。
【００３９】
例えば、命令語圧縮装置１００は、第１有効命令語バンドル２１０と第２有効命令語バンドル２１１との間に存在する無演算命令語バンドルがないので、第１有効命令語バンドル２１０に対応する命令語圧縮ビット‘００’を生成することができる。命令語圧縮装置１００は、第２有効命令語バンドル２１１と第３有効命令語バンドル２１５との間に存在する無演算命令語バンドルが３個存在するので、第２有効命令語バンドル２１０に対応する命令語圧縮ビット‘１１’を生成することができる。
【００４０】
命令語圧縮装置１００は、第３有効命令語バンドル２１５と第４有効命令語バンドル２１６との間に存在する無演算命令語バンドルがないので、第３有効命令語バンドル２１５に対応する命令語圧縮ビット‘００’を生成することができる。
【００４１】
命令語圧縮装置１００は、第４有効命令語バンドル２１６と第５有効命令語バンドル２１７との間に存在する無演算命令語バンドルがないので、第４有効命令語バンドル２１６に対応する命令語圧縮ビット‘００’を生成することができる。
【００４２】
命令語圧縮装置１００は、このような過程を反復して、有効命令語バンドルに対応する命令語圧縮ビット２３０を生成することができる。
【００４３】
命令語圧縮装置１００は、第８有効命令語バンドル２２３以後に無演算命令語バンドルが２個存在するので、第８有効命令語バンドル２２３に対応する命令語圧縮ビット‘１０’を生成することができる。
【００４４】
図１、図２Ｄ、及び図２Ｅを参照すると、命令語圧縮装置１００は、生成された命令語圧縮ビットを有効命令語バンドル２１０、２１１、２１５、２１６、２１７、２２０、２２２、２２３に挿入することができる。図２Ｅの（ａ）を参照して例を挙げれば、命令語圧縮装置１００は、命令語圧縮ビット２３０を有効命令語バンドル２１０、２１１、２１５、２１６、２１７、２２０、２２２、２２３に含まれたそれぞれの命令語に１ビットずつ挿入することができる。図２Ｅの（ｂ）を参照してまた他の例を挙げれば、命令語圧縮装置１００は、命令語圧縮ビット２０３を有効命令語バンドル２１０、２１１、２１５、２１６、２１７、２２０、２２２、２２３に最後側に挿入することができる。図示していない他の実施例では、命令語圧縮装置１００は、命令語圧縮ビット２０３を有効命令語バンドル２１０、２１１、２１５、２１６、２１７、２２０、２２２、２２３に最前側に挿入することができる。
【００４５】
図１、図２Ｅ、及び図２Ｆを参照すると、命令語圧縮装置１００は、無演算命令語バンドルを削除することができる。図２Ｆの（ａ）及び図２Ｆの（ｂ）を参照して例を挙げれば、命令語圧縮装置１００は、図２Ｅの（ａ）及び図２Ｅの（ｂ）で無演算命令語バンドルを削除することができる。この際、命令語圧縮装置１００は、８個の無演算バンドルを削除することによって、全部で１６個の無演算命令語を削除することができる。
【００４６】
今後、圧縮解除部（図示せず）は、命令語圧縮ビットに基づいて、有効命令語バンドルの間に存在する無演算命令語バンドルの個数を検出することができる。
【００４７】
命令語圧縮装置は、有効命令語バンドルに命令語圧縮ビットを挿入し、無演算命令語バンドルを削除することによって、命令語を効率的に圧縮することができる。
【００４８】
図２Ａないし図２Ｆの実施例では、ＮＯＰ命令の削除の結果として、プロセッサが処理する命令語バンドルの個数は、１６ではなく８になる。
【００４９】
図３Ａないし図３Ｆは、図１の命令語圧縮装置が命令語を圧縮するさらに他の実施例による過程を説明する図である。
【００５０】
図１及び図３Ａを参照すると、命令語３００は、全部で３２個の命令語を含みうる。しかし、命令語３００に含まれた命令語の個数は、これに限定されるものではない。以下、命令語を処理することができる演算装置（ＦＵ）が、４個である場合を仮定する。したがって、１サイクルに並列処理される命令語は４個であり、命令語バンドルは４個の命令語を含む。
【００５１】
命令語圧縮装置１００は、命令語を命令語バンドル単位に分割することができる。命令語３００を命令語バンドル単位で表示すれば、図３Ｂのようである。
【００５２】
図１及び図３Ｂを参照すると、命令語圧縮装置１００は、命令語を有効命令語バンドル及び無演算（ＮＯＰ）命令語バンドルに分割することができる。例えば、命令語バンドル３１０、３１２、３１６は、少なくとも１つの有効命令語Ａ、Ｂ、Ｃ、Ｄ、Ｅ、Ｆ、Ｇを含むので、命令語圧縮装置１００は、命令語バンドル３１０、３１２、３１６を有効命令語バンドルに分類することができる。命令語バンドル３１１、３１３、３１４、３１５、３１７は、無演算（ＮＯＰ）命令語を含むので、命令語圧縮装置１００は、これら命令語バンドルを無演算命令語バンドルに分類することができる。
【００５３】
図１及び図３Ｃを参照すると、命令語圧縮ビットは、有効命令語バンドルに含まれた命令語の個数と同じ４ビットであり得る。例えば、有効命令語バンドルの間に存在する無演算命令語バンドルの個数が‘０’である場合、命令語圧縮ビットは、‘００００’の４ビットと表現される。有効命令語バンドルの間に存在する無演算命令語バンドルの個数が‘１’である場合、命令語圧縮ビットとして‘０００１’と表現される。有効命令語バンドルの間に存在する無演算命令語バンドルの個数が‘２’である場合、命令語圧縮ビットとして‘００１０’と表現される。有効命令語バンドルの間に存在する無演算命令語バンドルの個数が‘３’である場合、命令語圧縮ビットとして‘００１１’と表現される。このような方式で、有効命令語バンドルの間に存在する無演算命令語バンドルの個数‘４個ないし１５個’が、関連した命令語圧縮ビット‘０１００ないし１１１１’と表現される。
【００５４】
図１及び図３Ｄを参照すると、命令語圧縮装置１００は、図３Ｃの表に基づいて、有効命令語バンドルの間に存在する無演算命令語バンドルの個数と関連した命令語圧縮ビットを生成することができる。
【００５５】
例えば、命令語圧縮装置１００は、第１有効命令語バンドル３１０と第２有効命令語バンドル３１２との間に存在する無演算命令語バンドルが１個存在するので、第１有効命令語バンドル３１０に対応する命令語圧縮ビット‘０００１’を生成することができる。
【００５６】
命令語圧縮装置１００は、第２有効命令語バンドル３１２と第３有効命令語バンドル３１６との間に存在する無演算命令語バンドルが３個存在するので、第２有効命令語バンドル３１２に対応する命令語圧縮ビット‘００１１’を生成することができる。
【００５７】
命令語圧縮装置１００は、第３有効命令語バンドル３１６以後に無演算命令語バンドルが１個存在するので、第３有効命令語バンドル３１６に対応する命令語圧縮ビット‘０００１’を生成することができる。
【００５８】
このような過程を通じて、命令語圧縮装置１００は、命令語圧縮ビット３３０を生成することができる。
【００５９】
図１、図３Ｄ、及び図３Ｅを参照すると、命令語圧縮装置１００は、命令語圧縮ビット３３０を有効命令語バンドル３１０、３１２、３１６に含まれたそれぞれの命令語に１ビットずつ挿入することができる。
【００６０】
図１、図３Ｅ、及び図３Ｆを参照すると、命令語圧縮装置１００は、無演算命令語バンドルを削除することができる。これにより、命令語圧縮装置１００は、５個の無演算バンドルを削除することによって、総２０個の無演算命令語を削除することができる。
【００６１】
図３Ａないし図３Ｆの実施例で、無演算命令語削除の結果として、プロセッサは、８個の命令語バンドルの代わりに、３個の命令語バンドルのみを処理する。
【００６２】
この実施例で、命令語圧縮装置は、有効命令語バンドルに命令語圧縮ビットを挿入し、無演算命令語バンドルを削除することによって、命令語を効率的に圧縮することができる。
【００６３】
図４は、本発明の一実施例による命令語圧縮方法を例示したフローチャートである。図４を参照すると、命令語圧縮装置は、命令語を、少なくとも１つの有効命令語を含む有効命令語バンドル、及び少なくとも１つの無演算命令語を含む無演算命令語バンドルに分割する（４００）。命令語圧縮装置１００は、命令語を複数の命令語バンドルにグループ化し、その複数の命令語バンドルを有効命令語バンドル及び無演算命令語バンドルに分類することができる。
【００６４】
命令語圧縮装置は、有効命令語バンドルの間に存在する無演算命令語バンドルの個数に対応する命令語圧縮ビットを生成させる（４１０）。例えば、命令語圧縮装置は、有効命令語バンドルに含まれた命令語の個数と同じビット数を含む命令語圧縮ビットを生成することができる。
【００６５】
命令語圧縮装置は、命令語圧縮ビットを有効命令語バンドルに挿入する（４２０）。例えば、命令語圧縮装置は、命令語圧縮ビットを有効命令語バンドルに含まれたそれぞれの命令語に１ビットずつ挿入し、有効命令語バンドルの始めまたは終わりに挿入することができる。
【００６６】
命令語圧縮装置は、無演算命令語バンドルを削除することができる（４３０）。
【００６７】
したがって、命令語圧縮方法は、有効命令語バンドルに命令語圧縮ビットを挿入し、無演算命令語バンドルを削除することによって、命令語を効率的に圧縮することができる。
【００６８】
命令語圧縮装置及び方法は、命令語バンドル単位で命令語を圧縮することによって、解凍するハードウェアの単純化、アドレス計算の単純化などに寄与することができる。
【００６９】
命令語圧縮装置及び方法は、命令語圧縮ビットを命令語の個数と同じビット数で生成して用いることによって、命令語の長さを最小化することができる。多様な実施例で、命令語バンドルに含まれたそれぞれの命令語に１つの命令語圧縮ビットが挿入されうる。
【００７０】
命令語圧縮装置及び方法は、無演算命令語バンドルを削除することによって、有効命令語バンドルの間の遅延が長くなる場合に、効果的に命令語を圧縮することができる。
【００７１】
前記実施例は、多様な変形がなされるように、各実施例の全部または一部を選択的に組合わせて構成することもできる。
【００７２】
また、実施例は、その説明のためのものであり、その制限のためのものではないということを注意しなければならない。また、当業者ならば、本発明の技術思想の範囲で多様な実施例が可能であるということを理解できるであろう。
【００７３】
また、本発明の一実施例によれば、前述した方法は、プログラムが記録された媒体にプロセッサが読み取り可能なコードとして具現しうる。プロセッサが読み取り可能な媒体の例としては、ＲＯＭ、ＲＡＭ、ＣＤ−ＲＯＭ、磁気テープ、フロッピー（登録商標）ディスク、光データ保存装置などがあり、キャリアウェーブ（例えば、インターネットを介した伝送）の形態で具現されるものも含む。
【産業上の利用可能性】
【００７４】
本発明は、命令語圧縮装置、命令語圧縮方法及びコンピュータで読み取り可能な記録媒体関連の技術分野に適用可能である。
【図１】
2013058203.tif 000003
【図２Ａ】
2013058203.tif 000004
【図２Ｂ】
2013058203.tif 000005
【図２Ｃ】
2013058203.tif 000006
【図２Ｄ】
2013058203.tif 000007
【図２Ｅ】
2013058203.tif 000008
【図２Ｆ】
2013058203.tif 000009
【図３Ａ】
2013058203.tif 000010
【図３Ｂ】
2013058203.tif 000011
【図３Ｃ】
2013058203.tif 000012
【図３Ｄ】
2013058203.tif 000013
【図３Ｅ】
2013058203.tif 000014
【図３Ｆ】
2013058203.tif 000015
【図４】
2013058203.tif 000016