命令語圧縮装置、命令語圧縮方法及びコンピュータで読み取り可能な記録媒体
【課題】命令語圧縮装置、命令語圧縮方法及びコンピュータで読み取り可能な記録媒体を提供する。
【解決手段】命令語圧縮装置100は、有効命令語バンドルの間に存在する無演算命令語バンドルの個数に対応した命令語圧縮ビットを生成させる生成部120、生成された命令語圧縮ビットを有効命令語バンドルに挿入する挿入部130、無演算命令語バンドルを削除する削除部140、とを備えることによって、命令語を効率的に圧縮することができる。したがって、プロセッサ内で並列処理されうる命令語の個数が増加する。
【解決手段】命令語圧縮装置100は、有効命令語バンドルの間に存在する無演算命令語バンドルの個数に対応した命令語圧縮ビットを生成させる生成部120、生成された命令語圧縮ビットを有効命令語バンドルに挿入する挿入部130、無演算命令語バンドルを削除する削除部140、とを備えることによって、命令語を効率的に圧縮することができる。したがって、プロセッサ内で並列処理されうる命令語の個数が増加する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、多数複数の命令語(instructions)を圧縮する技術に関する。
【背景技術】
【0002】
プロセッサは、複数の命令語を並列的または同時に処理するための複数の演算装置(function unit;FU)を含みうる。プロセッサは、複数の命令語を複数の演算装置(FU)を用いて並列的に処理することによって、命令語処理時間を短縮することができる。
【0003】
プロセッサで並列的に処理されうる命令語の個数は、複数の演算装置(FU)の個数によって決定される。例えば、演算装置が4個である場合、並列的または同時に処理されうる命令語は、最大4個である。
【0004】
例えば、有効命令語は、特定の演算を実行するための命令語である。一方、無演算(NOP:No Operation)命令語は、何の演算もしない命令語であり、有効命令の間にあってもかまわない。プロセッサに含まれたコンパイラは、有効命令語だけではなく、無演算(NOP)命令語も演算装置に割り当てるために、有効命令語及び無演算命令語をいずれもエンコーディング(encoding)しなければならない。この場合、演算に大きな影響を及ぼさないか、全然及ぼさない無演算命令語をエンコーディングしなければならないので、エンコーディングしなければならない命令語の個数が増加する。命令の個数が増加すれば、コードのサイズが増加し、命令語処理のための複雑なハードウェアが必要であり、命令語処理時に多くのオーバーヘッドが発生することがある。
【0005】
したがって、プロセッサが、命令語を効率的に処理するために、命令語を効率的に圧縮する技術が必要である。
【発明の概要】
【発明が解決しようとする課題】
【0006】
本発明は、命令語圧縮装置、命令語圧縮方法及びコンピュータで読み取り可能な記録媒体を提供することである。
【課題を解決するための手段】
【0007】
本発明の一実施例による命令語圧縮装置は、命令語を、少なくとも1つの有効(valid)命令語を含む有効命令語バンドル、及び少なくとも1つの無演算命令語を含む無演算命令語バンドルに分割する分割部と、有効命令語バンドルの間に存在する無演算命令語バンドルの個数と関連した命令語圧縮ビットを生成させる生成部と、命令語圧縮ビットを有効命令語バンドルに挿入する挿入部と、を含みうる。
【0008】
生成部は、有効命令語バンドルに含まれた命令語の個数と同じビット数を含む命令語圧縮ビットを生成することができる。
【0009】
挿入部は、命令語圧縮ビットを有効命令語バンドルに含まれたそれぞれの命令語に1ビットずつ挿入することができる。
【0010】
分割部は、命令語を並列処理される命令語で構成される命令語バンドルにグループ化し、前記命令語バンドルを有効命令語バンドル及び無演算命令語バンドルに分類することができる。
【0011】
命令語圧縮装置は、無演算命令語バンドルを削除する削除部をさらに含みうる。有効命令語は、特定の演算を実行するための命令語であり、無演算命令語は、何の演算もしないための命令語である。
【0012】
本発明の一実施例による命令語圧縮方法は、命令語を、少なくとも1つの有効命令語を含む有効命令語バンドル、及び少なくとも1つの無演算命令語を含む無演算命令語バンドルに分割する段階と、有効命令語バンドルの間に存在する無演算命令語バンドルの個数と関連した命令語圧縮ビットを生成させる段階と、命令語圧縮ビットを有効命令語バンドルに挿入する段階と、を含む。
【0013】
生成する段階は、有効命令語バンドルに含まれた命令語の個数と同じビット数を含む命令語圧縮ビットを生成させる段階を含みうる。
【0014】
挿入する段階は、命令語圧縮ビットを有効命令語バンドルに含まれたそれぞれの命令語に1ビットずつ挿入する段階を含みうる。
【0015】
分割する段階は、命令語を並列処理される命令語で構成される命令語バンドルにグループ化する段階と、前記命令語バンドルを有効命令語バンドル及び無演算命令語バンドルに分類する段階と、を含みうる。
【0016】
命令語圧縮方法は、無演算命令語バンドルを削除する段階をさらに含みうる。
【0017】
有効命令語は、特定の演算を実行するための命令語であり、無演算命令語は、何の演算もしないための命令語である。
【0018】
本発明の一実施例による命令語圧縮方法を実行するためのプログラム命令語が保存されたコンピュータで読み取り可能な記録媒体は、命令語を、少なくとも1つの有効命令語を含む有効命令語バンドル、及び少なくとも1つの無演算命令語を含む無演算命令語バンドルに分割する段階と、有効命令語バンドルの間に存在する無演算命令語バンドルの個数と関連した命令語圧縮ビットを生成させる段階と、命令語圧縮ビットを有効命令語バンドルに挿入する段階と、を含む。
【図面の簡単な説明】
【0019】
【図1】本発明の一実施例と関連した命令語圧縮装置を説明する図である。
【図2A】図1の命令語圧縮装置が命令語を圧縮する過程を例示した図である。
【図2B】図1の命令語圧縮装置が命令語を圧縮する過程を例示した図である。
【図2C】図1の命令語圧縮装置が命令語を圧縮する過程を例示した図である。
【図2D】図1の命令語圧縮装置が命令語を圧縮する過程を例示した図である。
【図2E】図1の命令語圧縮装置が命令語を圧縮する過程を例示した図である。
【図2F】図1の命令語圧縮装置が命令語を圧縮する過程を例示した図である。
【図3A】図1の命令語圧縮装置が命令語を圧縮するさらに他の実施例による過程を例示した図である。
【図3B】図1の命令語圧縮装置が命令語を圧縮するさらに他の実施例による過程を例示した図である。
【図3C】図1の命令語圧縮装置が命令語を圧縮するさらに他の実施例による過程を例示した図である。
【図3D】図1の命令語圧縮装置が命令語を圧縮するさらに他の実施例による過程を例示した図である。
【図3E】図1の命令語圧縮装置が命令語を圧縮するさらに他の実施例による過程を例示した図である。
【図3F】図1の命令語圧縮装置が命令語を圧縮するさらに他の実施例による過程を例示した図である。
【図4】本発明の一実施例による命令語圧縮方法を説明するフローチャートである。
【発明を実施するための形態】
【0020】
以下、添付した図面を参照して、発明を実施するための具体的な内容について詳細に説明する。
【0021】
図1は、本発明の一実施例と関連した命令語圧縮装置を説明する図である。図1を参照すると、命令語圧縮装置100は、分割部110、生成部120、挿入部130、及び削除部140を含む。命令語圧縮装置100は、プロセッサに含まれうる。プロセッサは、端末(terminal)に含まれうる。例えば、端末は、スマートフォン、タブレット、コンピュータ、テレビ、家電製品などである。また、プロセッサは、命令語を処理するために、複数の処理部を有しうる。
【0022】
分割部110は、命令語を有効命令語バンドル(bundle)及び無演算(NOP)命令語バンドルに分割することができる。例えば、命令語は、VLIW(Very Long Instruction Word)プロセッサで実行されるVLIW命令語であり得る。命令語バンドルは、1サイクル内で並列処理または同時に処理される命令語で構成することができる。例えば、プロセッサに含まれた演算装置(FU)が4個である場合、並列処理される命令語は、4個になる。この場合、命令語バンドルは、4個の命令語を含みうる。
【0023】
有効命令語バンドルは、命令語バンドルのうちの少なくとも1つの有効命令語を含むバンドルを意味し、無演算命令語バンドルは、命令語バンドルのうちの少なくとも1つの無演算命令語を含むバンドルを意味する。有効命令語は、特定の演算を実行するための命令語であり、無演算命令語は、何の演算もしないための命令語である。
【0024】
分割部110は、命令語を命令語バンドルにグループ化することができる。分割部110は、命令語バンドルを有効命令語バンドル及び無演算命令語バンドルに分類することができる。
【0025】
生成部120は、2つの有効命令語バンドルの間に存在する無演算命令語バンドルの個数に対応する命令語圧縮ビットを生成することができる。例えば、2つの有効命令語バンドルの間に存在する無演算命令語バンドルの個数が‘0’である場合、生成部120は、命令語圧縮ビットとして‘00’を生成することができる。他の例として、有効命令語バンドルの間に存在する無演算命令語バンドルの個数が‘1’である場合、生成部120は、命令語圧縮ビットとして‘01’を生成することができる。
【0026】
生成部120は、有効命令語バンドルに含まれた命令語の個数と同じビット数を含む命令語圧縮ビットを生成することができる。例えば、有効命令語バンドルに含まれた命令語の個数が2である場合、生成部120は、2ビットである命令語圧縮ビットを生成することができる。また他の例を挙げれば、有効命令語バンドルに含まれた命令語の個数が4である場合、生成部120は、4ビットである命令語圧縮ビットを生成することができる。
【0027】
挿入部130は、命令語圧縮ビットを有効命令語バンドルに挿入することができる。例えば、挿入部130は、命令語圧縮ビットを有効命令語バンドルに含まれたそれぞれの命令語に1ビットずつ挿入することができる。また他の例を挙げれば、挿入部130は、命令語圧縮ビットを、有効命令語バンドルの始めまたは終わりに挿入することができる。
【0028】
削除部140は、無演算命令語バンドルを削除して、プロセッサで行われる命令の個数を減少させることができる。
【0029】
命令語圧縮装置100は、有効命令語バンドルに無演算命令語に関する命令語圧縮ビットを挿入し、無演算命令語バンドルを削除することによって、命令語を効率的に圧縮することができる。
【0030】
また、命令語圧縮装置100は、命令語バンドル単位で命令語を圧縮することによって、解凍するハードウェアの単純化、アドレス計算の単純化などに寄与することができる。
【0031】
また、命令語圧縮装置100は、命令語圧縮ビットを命令語の個数と同じビット数で生成して用いることによって、命令語の長さを減縮することができる。言い換えれば、命令語バンドルに含まれたそれぞれの命令語に1つの命令語圧縮ビットが挿入されうる。
【0032】
さらに、命令語圧縮装置100は、無演算命令語バンドルを削除することによって、有効命令語バンドルの間の遅延(latency)が長くなる場合に、効果的に命令語を圧縮することができる。
【0033】
図2Aないし図2Fは、図1の命令語圧縮装置が命令語を圧縮する一実施例による過程を例示した図である。
【0034】
図1及び図2Aを参照すると、命令語200は、総32個の命令語を含みうる。しかし、命令語200に含まれた命令語の個数は、これに限定されるものではない。以下、命令語を処理することができる演算装置(FU)が、2個である場合を仮定する。したがって、1サイクルに並列処理される命令語は2個であり、命令語バンドルは2個の命令語を含む。
【0035】
例えば、命令語圧縮装置100は、命令語200を命令語バンドル単位に分割することができる。命令語200を命令語バンドル単位で表示すれば、図2Bのようである。
【0036】
図1及び図2Bを参照すると、命令語圧縮装置100は、命令語を有効命令語バンドル及び無演算(NOP)命令語バンドルに分割することができる。例えば、命令語バンドル210、211、215、216、217、220、222、223は、少なくとも1つの有効命令語A、B、C、D、E、F、G、H、I、J、Kを含むので、命令語圧縮装置100は、命令語バンドル210、211、215、216、217、220、222、223を有効命令語バンドルに分類することができる。また、命令語バンドル212、213、214、218、219、221、224、225は、無演算(NOP)命令語を含むので、命令語圧縮装置100は、命令語バンドル212、213、214、218、219、221、224、225を無演算命令語バンドルに分類することができる。
【0037】
図1及び図2Cの実施例で、命令語圧縮ビットは、有効命令語バンドルに含まれた命令語の個数と同じ2ビットであり得る。例えば、有効命令語バンドルの間に存在する無演算命令語バンドルの個数が‘0’である場合、命令語圧縮ビットは、2個の命令語圧縮ビットである‘00’と表現される。有効命令語バンドルの間に存在する無演算命令語バンドルの個数が‘1’である場合、命令語圧縮ビットとして‘01’と表現される。有効命令語バンドルの間に存在する無演算命令語バンドルの個数が‘2’である場合、命令語圧縮ビットとして‘10’と表現される。有効命令語バンドルの間に存在する無演算命令語バンドルの個数が‘3’である場合、命令語圧縮ビットとして‘11’と表現される。
【0038】
図1及び図2Dを参照すると、命令語圧縮装置100は、図2Cの表に基づいて、有効命令語バンドルの間に存在する無演算命令語バンドルの個数と関連した命令語圧縮ビットをビット単位で生成することができる。
【0039】
例えば、命令語圧縮装置100は、第1有効命令語バンドル210と第2有効命令語バンドル211との間に存在する無演算命令語バンドルがないので、第1有効命令語バンドル210に対応する命令語圧縮ビット‘00’を生成することができる。命令語圧縮装置100は、第2有効命令語バンドル211と第3有効命令語バンドル215との間に存在する無演算命令語バンドルが3個存在するので、第2有効命令語バンドル210に対応する命令語圧縮ビット‘11’を生成することができる。
【0040】
命令語圧縮装置100は、第3有効命令語バンドル215と第4有効命令語バンドル216との間に存在する無演算命令語バンドルがないので、第3有効命令語バンドル215に対応する命令語圧縮ビット‘00’を生成することができる。
【0041】
命令語圧縮装置100は、第4有効命令語バンドル216と第5有効命令語バンドル217との間に存在する無演算命令語バンドルがないので、第4有効命令語バンドル216に対応する命令語圧縮ビット‘00’を生成することができる。
【0042】
命令語圧縮装置100は、このような過程を反復して、有効命令語バンドルに対応する命令語圧縮ビット230を生成することができる。
【0043】
命令語圧縮装置100は、第8有効命令語バンドル223以後に無演算命令語バンドルが2個存在するので、第8有効命令語バンドル223に対応する命令語圧縮ビット‘10’を生成することができる。
【0044】
図1、図2D、及び図2Eを参照すると、命令語圧縮装置100は、生成された命令語圧縮ビットを有効命令語バンドル210、211、215、216、217、220、222、223に挿入することができる。図2Eの(a)を参照して例を挙げれば、命令語圧縮装置100は、命令語圧縮ビット230を有効命令語バンドル210、211、215、216、217、220、222、223に含まれたそれぞれの命令語に1ビットずつ挿入することができる。図2Eの(b)を参照してまた他の例を挙げれば、命令語圧縮装置100は、命令語圧縮ビット203を有効命令語バンドル210、211、215、216、217、220、222、223に最後側に挿入することができる。図示していない他の実施例では、命令語圧縮装置100は、命令語圧縮ビット203を有効命令語バンドル210、211、215、216、217、220、222、223に最前側に挿入することができる。
【0045】
図1、図2E、及び図2Fを参照すると、命令語圧縮装置100は、無演算命令語バンドルを削除することができる。図2Fの(a)及び図2Fの(b)を参照して例を挙げれば、命令語圧縮装置100は、図2Eの(a)及び図2Eの(b)で無演算命令語バンドルを削除することができる。この際、命令語圧縮装置100は、8個の無演算バンドルを削除することによって、全部で16個の無演算命令語を削除することができる。
【0046】
今後、圧縮解除部(図示せず)は、命令語圧縮ビットに基づいて、有効命令語バンドルの間に存在する無演算命令語バンドルの個数を検出することができる。
【0047】
命令語圧縮装置は、有効命令語バンドルに命令語圧縮ビットを挿入し、無演算命令語バンドルを削除することによって、命令語を効率的に圧縮することができる。
【0048】
図2Aないし図2Fの実施例では、NOP命令の削除の結果として、プロセッサが処理する命令語バンドルの個数は、16ではなく8になる。
【0049】
図3Aないし図3Fは、図1の命令語圧縮装置が命令語を圧縮するさらに他の実施例による過程を説明する図である。
【0050】
図1及び図3Aを参照すると、命令語300は、全部で32個の命令語を含みうる。しかし、命令語300に含まれた命令語の個数は、これに限定されるものではない。以下、命令語を処理することができる演算装置(FU)が、4個である場合を仮定する。したがって、1サイクルに並列処理される命令語は4個であり、命令語バンドルは4個の命令語を含む。
【0051】
命令語圧縮装置100は、命令語を命令語バンドル単位に分割することができる。命令語300を命令語バンドル単位で表示すれば、図3Bのようである。
【0052】
図1及び図3Bを参照すると、命令語圧縮装置100は、命令語を有効命令語バンドル及び無演算(NOP)命令語バンドルに分割することができる。例えば、命令語バンドル310、312、316は、少なくとも1つの有効命令語A、B、C、D、E、F、Gを含むので、命令語圧縮装置100は、命令語バンドル310、312、316を有効命令語バンドルに分類することができる。命令語バンドル311、313、314、315、317は、無演算(NOP)命令語を含むので、命令語圧縮装置100は、これら命令語バンドルを無演算命令語バンドルに分類することができる。
【0053】
図1及び図3Cを参照すると、命令語圧縮ビットは、有効命令語バンドルに含まれた命令語の個数と同じ4ビットであり得る。例えば、有効命令語バンドルの間に存在する無演算命令語バンドルの個数が‘0’である場合、命令語圧縮ビットは、‘0000’の4ビットと表現される。有効命令語バンドルの間に存在する無演算命令語バンドルの個数が‘1’である場合、命令語圧縮ビットとして‘0001’と表現される。有効命令語バンドルの間に存在する無演算命令語バンドルの個数が‘2’である場合、命令語圧縮ビットとして‘0010’と表現される。有効命令語バンドルの間に存在する無演算命令語バンドルの個数が‘3’である場合、命令語圧縮ビットとして‘0011’と表現される。このような方式で、有効命令語バンドルの間に存在する無演算命令語バンドルの個数‘4個ないし15個’が、関連した命令語圧縮ビット‘0100ないし1111’と表現される。
【0054】
図1及び図3Dを参照すると、命令語圧縮装置100は、図3Cの表に基づいて、有効命令語バンドルの間に存在する無演算命令語バンドルの個数と関連した命令語圧縮ビットを生成することができる。
【0055】
例えば、命令語圧縮装置100は、第1有効命令語バンドル310と第2有効命令語バンドル312との間に存在する無演算命令語バンドルが1個存在するので、第1有効命令語バンドル310に対応する命令語圧縮ビット‘0001’を生成することができる。
【0056】
命令語圧縮装置100は、第2有効命令語バンドル312と第3有効命令語バンドル316との間に存在する無演算命令語バンドルが3個存在するので、第2有効命令語バンドル312に対応する命令語圧縮ビット‘0011’を生成することができる。
【0057】
命令語圧縮装置100は、第3有効命令語バンドル316以後に無演算命令語バンドルが1個存在するので、第3有効命令語バンドル316に対応する命令語圧縮ビット‘0001’を生成することができる。
【0058】
このような過程を通じて、命令語圧縮装置100は、命令語圧縮ビット330を生成することができる。
【0059】
図1、図3D、及び図3Eを参照すると、命令語圧縮装置100は、命令語圧縮ビット330を有効命令語バンドル310、312、316に含まれたそれぞれの命令語に1ビットずつ挿入することができる。
【0060】
図1、図3E、及び図3Fを参照すると、命令語圧縮装置100は、無演算命令語バンドルを削除することができる。これにより、命令語圧縮装置100は、5個の無演算バンドルを削除することによって、総20個の無演算命令語を削除することができる。
【0061】
図3Aないし図3Fの実施例で、無演算命令語削除の結果として、プロセッサは、8個の命令語バンドルの代わりに、3個の命令語バンドルのみを処理する。
【0062】
この実施例で、命令語圧縮装置は、有効命令語バンドルに命令語圧縮ビットを挿入し、無演算命令語バンドルを削除することによって、命令語を効率的に圧縮することができる。
【0063】
図4は、本発明の一実施例による命令語圧縮方法を例示したフローチャートである。図4を参照すると、命令語圧縮装置は、命令語を、少なくとも1つの有効命令語を含む有効命令語バンドル、及び少なくとも1つの無演算命令語を含む無演算命令語バンドルに分割する(400)。命令語圧縮装置100は、命令語を複数の命令語バンドルにグループ化し、その複数の命令語バンドルを有効命令語バンドル及び無演算命令語バンドルに分類することができる。
【0064】
命令語圧縮装置は、有効命令語バンドルの間に存在する無演算命令語バンドルの個数に対応する命令語圧縮ビットを生成させる(410)。例えば、命令語圧縮装置は、有効命令語バンドルに含まれた命令語の個数と同じビット数を含む命令語圧縮ビットを生成することができる。
【0065】
命令語圧縮装置は、命令語圧縮ビットを有効命令語バンドルに挿入する(420)。例えば、命令語圧縮装置は、命令語圧縮ビットを有効命令語バンドルに含まれたそれぞれの命令語に1ビットずつ挿入し、有効命令語バンドルの始めまたは終わりに挿入することができる。
【0066】
命令語圧縮装置は、無演算命令語バンドルを削除することができる(430)。
【0067】
したがって、命令語圧縮方法は、有効命令語バンドルに命令語圧縮ビットを挿入し、無演算命令語バンドルを削除することによって、命令語を効率的に圧縮することができる。
【0068】
命令語圧縮装置及び方法は、命令語バンドル単位で命令語を圧縮することによって、解凍するハードウェアの単純化、アドレス計算の単純化などに寄与することができる。
【0069】
命令語圧縮装置及び方法は、命令語圧縮ビットを命令語の個数と同じビット数で生成して用いることによって、命令語の長さを最小化することができる。多様な実施例で、命令語バンドルに含まれたそれぞれの命令語に1つの命令語圧縮ビットが挿入されうる。
【0070】
命令語圧縮装置及び方法は、無演算命令語バンドルを削除することによって、有効命令語バンドルの間の遅延が長くなる場合に、効果的に命令語を圧縮することができる。
【0071】
前記実施例は、多様な変形がなされるように、各実施例の全部または一部を選択的に組合わせて構成することもできる。
【0072】
また、実施例は、その説明のためのものであり、その制限のためのものではないということを注意しなければならない。また、当業者ならば、本発明の技術思想の範囲で多様な実施例が可能であるということを理解できるであろう。
【0073】
また、本発明の一実施例によれば、前述した方法は、プログラムが記録された媒体にプロセッサが読み取り可能なコードとして具現しうる。プロセッサが読み取り可能な媒体の例としては、ROM、RAM、CD−ROM、磁気テープ、フロッピー(登録商標)ディスク、光データ保存装置などがあり、キャリアウェーブ(例えば、インターネットを介した伝送)の形態で具現されるものも含む。
【産業上の利用可能性】
【0074】
本発明は、命令語圧縮装置、命令語圧縮方法及びコンピュータで読み取り可能な記録媒体関連の技術分野に適用可能である。
【技術分野】
【0001】
本発明は、多数複数の命令語(instructions)を圧縮する技術に関する。
【背景技術】
【0002】
プロセッサは、複数の命令語を並列的または同時に処理するための複数の演算装置(function unit;FU)を含みうる。プロセッサは、複数の命令語を複数の演算装置(FU)を用いて並列的に処理することによって、命令語処理時間を短縮することができる。
【0003】
プロセッサで並列的に処理されうる命令語の個数は、複数の演算装置(FU)の個数によって決定される。例えば、演算装置が4個である場合、並列的または同時に処理されうる命令語は、最大4個である。
【0004】
例えば、有効命令語は、特定の演算を実行するための命令語である。一方、無演算(NOP:No Operation)命令語は、何の演算もしない命令語であり、有効命令の間にあってもかまわない。プロセッサに含まれたコンパイラは、有効命令語だけではなく、無演算(NOP)命令語も演算装置に割り当てるために、有効命令語及び無演算命令語をいずれもエンコーディング(encoding)しなければならない。この場合、演算に大きな影響を及ぼさないか、全然及ぼさない無演算命令語をエンコーディングしなければならないので、エンコーディングしなければならない命令語の個数が増加する。命令の個数が増加すれば、コードのサイズが増加し、命令語処理のための複雑なハードウェアが必要であり、命令語処理時に多くのオーバーヘッドが発生することがある。
【0005】
したがって、プロセッサが、命令語を効率的に処理するために、命令語を効率的に圧縮する技術が必要である。
【発明の概要】
【発明が解決しようとする課題】
【0006】
本発明は、命令語圧縮装置、命令語圧縮方法及びコンピュータで読み取り可能な記録媒体を提供することである。
【課題を解決するための手段】
【0007】
本発明の一実施例による命令語圧縮装置は、命令語を、少なくとも1つの有効(valid)命令語を含む有効命令語バンドル、及び少なくとも1つの無演算命令語を含む無演算命令語バンドルに分割する分割部と、有効命令語バンドルの間に存在する無演算命令語バンドルの個数と関連した命令語圧縮ビットを生成させる生成部と、命令語圧縮ビットを有効命令語バンドルに挿入する挿入部と、を含みうる。
【0008】
生成部は、有効命令語バンドルに含まれた命令語の個数と同じビット数を含む命令語圧縮ビットを生成することができる。
【0009】
挿入部は、命令語圧縮ビットを有効命令語バンドルに含まれたそれぞれの命令語に1ビットずつ挿入することができる。
【0010】
分割部は、命令語を並列処理される命令語で構成される命令語バンドルにグループ化し、前記命令語バンドルを有効命令語バンドル及び無演算命令語バンドルに分類することができる。
【0011】
命令語圧縮装置は、無演算命令語バンドルを削除する削除部をさらに含みうる。有効命令語は、特定の演算を実行するための命令語であり、無演算命令語は、何の演算もしないための命令語である。
【0012】
本発明の一実施例による命令語圧縮方法は、命令語を、少なくとも1つの有効命令語を含む有効命令語バンドル、及び少なくとも1つの無演算命令語を含む無演算命令語バンドルに分割する段階と、有効命令語バンドルの間に存在する無演算命令語バンドルの個数と関連した命令語圧縮ビットを生成させる段階と、命令語圧縮ビットを有効命令語バンドルに挿入する段階と、を含む。
【0013】
生成する段階は、有効命令語バンドルに含まれた命令語の個数と同じビット数を含む命令語圧縮ビットを生成させる段階を含みうる。
【0014】
挿入する段階は、命令語圧縮ビットを有効命令語バンドルに含まれたそれぞれの命令語に1ビットずつ挿入する段階を含みうる。
【0015】
分割する段階は、命令語を並列処理される命令語で構成される命令語バンドルにグループ化する段階と、前記命令語バンドルを有効命令語バンドル及び無演算命令語バンドルに分類する段階と、を含みうる。
【0016】
命令語圧縮方法は、無演算命令語バンドルを削除する段階をさらに含みうる。
【0017】
有効命令語は、特定の演算を実行するための命令語であり、無演算命令語は、何の演算もしないための命令語である。
【0018】
本発明の一実施例による命令語圧縮方法を実行するためのプログラム命令語が保存されたコンピュータで読み取り可能な記録媒体は、命令語を、少なくとも1つの有効命令語を含む有効命令語バンドル、及び少なくとも1つの無演算命令語を含む無演算命令語バンドルに分割する段階と、有効命令語バンドルの間に存在する無演算命令語バンドルの個数と関連した命令語圧縮ビットを生成させる段階と、命令語圧縮ビットを有効命令語バンドルに挿入する段階と、を含む。
【図面の簡単な説明】
【0019】
【図1】本発明の一実施例と関連した命令語圧縮装置を説明する図である。
【図2A】図1の命令語圧縮装置が命令語を圧縮する過程を例示した図である。
【図2B】図1の命令語圧縮装置が命令語を圧縮する過程を例示した図である。
【図2C】図1の命令語圧縮装置が命令語を圧縮する過程を例示した図である。
【図2D】図1の命令語圧縮装置が命令語を圧縮する過程を例示した図である。
【図2E】図1の命令語圧縮装置が命令語を圧縮する過程を例示した図である。
【図2F】図1の命令語圧縮装置が命令語を圧縮する過程を例示した図である。
【図3A】図1の命令語圧縮装置が命令語を圧縮するさらに他の実施例による過程を例示した図である。
【図3B】図1の命令語圧縮装置が命令語を圧縮するさらに他の実施例による過程を例示した図である。
【図3C】図1の命令語圧縮装置が命令語を圧縮するさらに他の実施例による過程を例示した図である。
【図3D】図1の命令語圧縮装置が命令語を圧縮するさらに他の実施例による過程を例示した図である。
【図3E】図1の命令語圧縮装置が命令語を圧縮するさらに他の実施例による過程を例示した図である。
【図3F】図1の命令語圧縮装置が命令語を圧縮するさらに他の実施例による過程を例示した図である。
【図4】本発明の一実施例による命令語圧縮方法を説明するフローチャートである。
【発明を実施するための形態】
【0020】
以下、添付した図面を参照して、発明を実施するための具体的な内容について詳細に説明する。
【0021】
図1は、本発明の一実施例と関連した命令語圧縮装置を説明する図である。図1を参照すると、命令語圧縮装置100は、分割部110、生成部120、挿入部130、及び削除部140を含む。命令語圧縮装置100は、プロセッサに含まれうる。プロセッサは、端末(terminal)に含まれうる。例えば、端末は、スマートフォン、タブレット、コンピュータ、テレビ、家電製品などである。また、プロセッサは、命令語を処理するために、複数の処理部を有しうる。
【0022】
分割部110は、命令語を有効命令語バンドル(bundle)及び無演算(NOP)命令語バンドルに分割することができる。例えば、命令語は、VLIW(Very Long Instruction Word)プロセッサで実行されるVLIW命令語であり得る。命令語バンドルは、1サイクル内で並列処理または同時に処理される命令語で構成することができる。例えば、プロセッサに含まれた演算装置(FU)が4個である場合、並列処理される命令語は、4個になる。この場合、命令語バンドルは、4個の命令語を含みうる。
【0023】
有効命令語バンドルは、命令語バンドルのうちの少なくとも1つの有効命令語を含むバンドルを意味し、無演算命令語バンドルは、命令語バンドルのうちの少なくとも1つの無演算命令語を含むバンドルを意味する。有効命令語は、特定の演算を実行するための命令語であり、無演算命令語は、何の演算もしないための命令語である。
【0024】
分割部110は、命令語を命令語バンドルにグループ化することができる。分割部110は、命令語バンドルを有効命令語バンドル及び無演算命令語バンドルに分類することができる。
【0025】
生成部120は、2つの有効命令語バンドルの間に存在する無演算命令語バンドルの個数に対応する命令語圧縮ビットを生成することができる。例えば、2つの有効命令語バンドルの間に存在する無演算命令語バンドルの個数が‘0’である場合、生成部120は、命令語圧縮ビットとして‘00’を生成することができる。他の例として、有効命令語バンドルの間に存在する無演算命令語バンドルの個数が‘1’である場合、生成部120は、命令語圧縮ビットとして‘01’を生成することができる。
【0026】
生成部120は、有効命令語バンドルに含まれた命令語の個数と同じビット数を含む命令語圧縮ビットを生成することができる。例えば、有効命令語バンドルに含まれた命令語の個数が2である場合、生成部120は、2ビットである命令語圧縮ビットを生成することができる。また他の例を挙げれば、有効命令語バンドルに含まれた命令語の個数が4である場合、生成部120は、4ビットである命令語圧縮ビットを生成することができる。
【0027】
挿入部130は、命令語圧縮ビットを有効命令語バンドルに挿入することができる。例えば、挿入部130は、命令語圧縮ビットを有効命令語バンドルに含まれたそれぞれの命令語に1ビットずつ挿入することができる。また他の例を挙げれば、挿入部130は、命令語圧縮ビットを、有効命令語バンドルの始めまたは終わりに挿入することができる。
【0028】
削除部140は、無演算命令語バンドルを削除して、プロセッサで行われる命令の個数を減少させることができる。
【0029】
命令語圧縮装置100は、有効命令語バンドルに無演算命令語に関する命令語圧縮ビットを挿入し、無演算命令語バンドルを削除することによって、命令語を効率的に圧縮することができる。
【0030】
また、命令語圧縮装置100は、命令語バンドル単位で命令語を圧縮することによって、解凍するハードウェアの単純化、アドレス計算の単純化などに寄与することができる。
【0031】
また、命令語圧縮装置100は、命令語圧縮ビットを命令語の個数と同じビット数で生成して用いることによって、命令語の長さを減縮することができる。言い換えれば、命令語バンドルに含まれたそれぞれの命令語に1つの命令語圧縮ビットが挿入されうる。
【0032】
さらに、命令語圧縮装置100は、無演算命令語バンドルを削除することによって、有効命令語バンドルの間の遅延(latency)が長くなる場合に、効果的に命令語を圧縮することができる。
【0033】
図2Aないし図2Fは、図1の命令語圧縮装置が命令語を圧縮する一実施例による過程を例示した図である。
【0034】
図1及び図2Aを参照すると、命令語200は、総32個の命令語を含みうる。しかし、命令語200に含まれた命令語の個数は、これに限定されるものではない。以下、命令語を処理することができる演算装置(FU)が、2個である場合を仮定する。したがって、1サイクルに並列処理される命令語は2個であり、命令語バンドルは2個の命令語を含む。
【0035】
例えば、命令語圧縮装置100は、命令語200を命令語バンドル単位に分割することができる。命令語200を命令語バンドル単位で表示すれば、図2Bのようである。
【0036】
図1及び図2Bを参照すると、命令語圧縮装置100は、命令語を有効命令語バンドル及び無演算(NOP)命令語バンドルに分割することができる。例えば、命令語バンドル210、211、215、216、217、220、222、223は、少なくとも1つの有効命令語A、B、C、D、E、F、G、H、I、J、Kを含むので、命令語圧縮装置100は、命令語バンドル210、211、215、216、217、220、222、223を有効命令語バンドルに分類することができる。また、命令語バンドル212、213、214、218、219、221、224、225は、無演算(NOP)命令語を含むので、命令語圧縮装置100は、命令語バンドル212、213、214、218、219、221、224、225を無演算命令語バンドルに分類することができる。
【0037】
図1及び図2Cの実施例で、命令語圧縮ビットは、有効命令語バンドルに含まれた命令語の個数と同じ2ビットであり得る。例えば、有効命令語バンドルの間に存在する無演算命令語バンドルの個数が‘0’である場合、命令語圧縮ビットは、2個の命令語圧縮ビットである‘00’と表現される。有効命令語バンドルの間に存在する無演算命令語バンドルの個数が‘1’である場合、命令語圧縮ビットとして‘01’と表現される。有効命令語バンドルの間に存在する無演算命令語バンドルの個数が‘2’である場合、命令語圧縮ビットとして‘10’と表現される。有効命令語バンドルの間に存在する無演算命令語バンドルの個数が‘3’である場合、命令語圧縮ビットとして‘11’と表現される。
【0038】
図1及び図2Dを参照すると、命令語圧縮装置100は、図2Cの表に基づいて、有効命令語バンドルの間に存在する無演算命令語バンドルの個数と関連した命令語圧縮ビットをビット単位で生成することができる。
【0039】
例えば、命令語圧縮装置100は、第1有効命令語バンドル210と第2有効命令語バンドル211との間に存在する無演算命令語バンドルがないので、第1有効命令語バンドル210に対応する命令語圧縮ビット‘00’を生成することができる。命令語圧縮装置100は、第2有効命令語バンドル211と第3有効命令語バンドル215との間に存在する無演算命令語バンドルが3個存在するので、第2有効命令語バンドル210に対応する命令語圧縮ビット‘11’を生成することができる。
【0040】
命令語圧縮装置100は、第3有効命令語バンドル215と第4有効命令語バンドル216との間に存在する無演算命令語バンドルがないので、第3有効命令語バンドル215に対応する命令語圧縮ビット‘00’を生成することができる。
【0041】
命令語圧縮装置100は、第4有効命令語バンドル216と第5有効命令語バンドル217との間に存在する無演算命令語バンドルがないので、第4有効命令語バンドル216に対応する命令語圧縮ビット‘00’を生成することができる。
【0042】
命令語圧縮装置100は、このような過程を反復して、有効命令語バンドルに対応する命令語圧縮ビット230を生成することができる。
【0043】
命令語圧縮装置100は、第8有効命令語バンドル223以後に無演算命令語バンドルが2個存在するので、第8有効命令語バンドル223に対応する命令語圧縮ビット‘10’を生成することができる。
【0044】
図1、図2D、及び図2Eを参照すると、命令語圧縮装置100は、生成された命令語圧縮ビットを有効命令語バンドル210、211、215、216、217、220、222、223に挿入することができる。図2Eの(a)を参照して例を挙げれば、命令語圧縮装置100は、命令語圧縮ビット230を有効命令語バンドル210、211、215、216、217、220、222、223に含まれたそれぞれの命令語に1ビットずつ挿入することができる。図2Eの(b)を参照してまた他の例を挙げれば、命令語圧縮装置100は、命令語圧縮ビット203を有効命令語バンドル210、211、215、216、217、220、222、223に最後側に挿入することができる。図示していない他の実施例では、命令語圧縮装置100は、命令語圧縮ビット203を有効命令語バンドル210、211、215、216、217、220、222、223に最前側に挿入することができる。
【0045】
図1、図2E、及び図2Fを参照すると、命令語圧縮装置100は、無演算命令語バンドルを削除することができる。図2Fの(a)及び図2Fの(b)を参照して例を挙げれば、命令語圧縮装置100は、図2Eの(a)及び図2Eの(b)で無演算命令語バンドルを削除することができる。この際、命令語圧縮装置100は、8個の無演算バンドルを削除することによって、全部で16個の無演算命令語を削除することができる。
【0046】
今後、圧縮解除部(図示せず)は、命令語圧縮ビットに基づいて、有効命令語バンドルの間に存在する無演算命令語バンドルの個数を検出することができる。
【0047】
命令語圧縮装置は、有効命令語バンドルに命令語圧縮ビットを挿入し、無演算命令語バンドルを削除することによって、命令語を効率的に圧縮することができる。
【0048】
図2Aないし図2Fの実施例では、NOP命令の削除の結果として、プロセッサが処理する命令語バンドルの個数は、16ではなく8になる。
【0049】
図3Aないし図3Fは、図1の命令語圧縮装置が命令語を圧縮するさらに他の実施例による過程を説明する図である。
【0050】
図1及び図3Aを参照すると、命令語300は、全部で32個の命令語を含みうる。しかし、命令語300に含まれた命令語の個数は、これに限定されるものではない。以下、命令語を処理することができる演算装置(FU)が、4個である場合を仮定する。したがって、1サイクルに並列処理される命令語は4個であり、命令語バンドルは4個の命令語を含む。
【0051】
命令語圧縮装置100は、命令語を命令語バンドル単位に分割することができる。命令語300を命令語バンドル単位で表示すれば、図3Bのようである。
【0052】
図1及び図3Bを参照すると、命令語圧縮装置100は、命令語を有効命令語バンドル及び無演算(NOP)命令語バンドルに分割することができる。例えば、命令語バンドル310、312、316は、少なくとも1つの有効命令語A、B、C、D、E、F、Gを含むので、命令語圧縮装置100は、命令語バンドル310、312、316を有効命令語バンドルに分類することができる。命令語バンドル311、313、314、315、317は、無演算(NOP)命令語を含むので、命令語圧縮装置100は、これら命令語バンドルを無演算命令語バンドルに分類することができる。
【0053】
図1及び図3Cを参照すると、命令語圧縮ビットは、有効命令語バンドルに含まれた命令語の個数と同じ4ビットであり得る。例えば、有効命令語バンドルの間に存在する無演算命令語バンドルの個数が‘0’である場合、命令語圧縮ビットは、‘0000’の4ビットと表現される。有効命令語バンドルの間に存在する無演算命令語バンドルの個数が‘1’である場合、命令語圧縮ビットとして‘0001’と表現される。有効命令語バンドルの間に存在する無演算命令語バンドルの個数が‘2’である場合、命令語圧縮ビットとして‘0010’と表現される。有効命令語バンドルの間に存在する無演算命令語バンドルの個数が‘3’である場合、命令語圧縮ビットとして‘0011’と表現される。このような方式で、有効命令語バンドルの間に存在する無演算命令語バンドルの個数‘4個ないし15個’が、関連した命令語圧縮ビット‘0100ないし1111’と表現される。
【0054】
図1及び図3Dを参照すると、命令語圧縮装置100は、図3Cの表に基づいて、有効命令語バンドルの間に存在する無演算命令語バンドルの個数と関連した命令語圧縮ビットを生成することができる。
【0055】
例えば、命令語圧縮装置100は、第1有効命令語バンドル310と第2有効命令語バンドル312との間に存在する無演算命令語バンドルが1個存在するので、第1有効命令語バンドル310に対応する命令語圧縮ビット‘0001’を生成することができる。
【0056】
命令語圧縮装置100は、第2有効命令語バンドル312と第3有効命令語バンドル316との間に存在する無演算命令語バンドルが3個存在するので、第2有効命令語バンドル312に対応する命令語圧縮ビット‘0011’を生成することができる。
【0057】
命令語圧縮装置100は、第3有効命令語バンドル316以後に無演算命令語バンドルが1個存在するので、第3有効命令語バンドル316に対応する命令語圧縮ビット‘0001’を生成することができる。
【0058】
このような過程を通じて、命令語圧縮装置100は、命令語圧縮ビット330を生成することができる。
【0059】
図1、図3D、及び図3Eを参照すると、命令語圧縮装置100は、命令語圧縮ビット330を有効命令語バンドル310、312、316に含まれたそれぞれの命令語に1ビットずつ挿入することができる。
【0060】
図1、図3E、及び図3Fを参照すると、命令語圧縮装置100は、無演算命令語バンドルを削除することができる。これにより、命令語圧縮装置100は、5個の無演算バンドルを削除することによって、総20個の無演算命令語を削除することができる。
【0061】
図3Aないし図3Fの実施例で、無演算命令語削除の結果として、プロセッサは、8個の命令語バンドルの代わりに、3個の命令語バンドルのみを処理する。
【0062】
この実施例で、命令語圧縮装置は、有効命令語バンドルに命令語圧縮ビットを挿入し、無演算命令語バンドルを削除することによって、命令語を効率的に圧縮することができる。
【0063】
図4は、本発明の一実施例による命令語圧縮方法を例示したフローチャートである。図4を参照すると、命令語圧縮装置は、命令語を、少なくとも1つの有効命令語を含む有効命令語バンドル、及び少なくとも1つの無演算命令語を含む無演算命令語バンドルに分割する(400)。命令語圧縮装置100は、命令語を複数の命令語バンドルにグループ化し、その複数の命令語バンドルを有効命令語バンドル及び無演算命令語バンドルに分類することができる。
【0064】
命令語圧縮装置は、有効命令語バンドルの間に存在する無演算命令語バンドルの個数に対応する命令語圧縮ビットを生成させる(410)。例えば、命令語圧縮装置は、有効命令語バンドルに含まれた命令語の個数と同じビット数を含む命令語圧縮ビットを生成することができる。
【0065】
命令語圧縮装置は、命令語圧縮ビットを有効命令語バンドルに挿入する(420)。例えば、命令語圧縮装置は、命令語圧縮ビットを有効命令語バンドルに含まれたそれぞれの命令語に1ビットずつ挿入し、有効命令語バンドルの始めまたは終わりに挿入することができる。
【0066】
命令語圧縮装置は、無演算命令語バンドルを削除することができる(430)。
【0067】
したがって、命令語圧縮方法は、有効命令語バンドルに命令語圧縮ビットを挿入し、無演算命令語バンドルを削除することによって、命令語を効率的に圧縮することができる。
【0068】
命令語圧縮装置及び方法は、命令語バンドル単位で命令語を圧縮することによって、解凍するハードウェアの単純化、アドレス計算の単純化などに寄与することができる。
【0069】
命令語圧縮装置及び方法は、命令語圧縮ビットを命令語の個数と同じビット数で生成して用いることによって、命令語の長さを最小化することができる。多様な実施例で、命令語バンドルに含まれたそれぞれの命令語に1つの命令語圧縮ビットが挿入されうる。
【0070】
命令語圧縮装置及び方法は、無演算命令語バンドルを削除することによって、有効命令語バンドルの間の遅延が長くなる場合に、効果的に命令語を圧縮することができる。
【0071】
前記実施例は、多様な変形がなされるように、各実施例の全部または一部を選択的に組合わせて構成することもできる。
【0072】
また、実施例は、その説明のためのものであり、その制限のためのものではないということを注意しなければならない。また、当業者ならば、本発明の技術思想の範囲で多様な実施例が可能であるということを理解できるであろう。
【0073】
また、本発明の一実施例によれば、前述した方法は、プログラムが記録された媒体にプロセッサが読み取り可能なコードとして具現しうる。プロセッサが読み取り可能な媒体の例としては、ROM、RAM、CD−ROM、磁気テープ、フロッピー(登録商標)ディスク、光データ保存装置などがあり、キャリアウェーブ(例えば、インターネットを介した伝送)の形態で具現されるものも含む。
【産業上の利用可能性】
【0074】
本発明は、命令語圧縮装置、命令語圧縮方法及びコンピュータで読み取り可能な記録媒体関連の技術分野に適用可能である。
【特許請求の範囲】
【請求項1】
命令語を、少なくとも1つの有効(valid)命令語を含む有効命令語バンドル、及び少なくとも1つの無演算(no operation)命令語を含む無演算命令語バンドルに分割する分割部と、
前記有効命令語バンドルの間に存在する前記無演算命令語バンドルの個数に対応した命令語圧縮ビットを生成させる生成部と、
前記命令語圧縮ビットを前記有効命令語バンドルに挿入する挿入部と、
を含む命令語圧縮装置。
【請求項2】
前記生成部は、
前記有効命令語バンドルに含まれた命令語の個数と同じビット数を含む前記命令語圧縮ビットを生成させる請求項1に記載の命令語圧縮装置。
【請求項3】
前記挿入部は、
前記命令語圧縮ビットを前記有効命令語バンドルに含まれたそれぞれの命令語に1ビットずつ挿入する請求項1に記載の命令語圧縮装置。
【請求項4】
前記分割部は、
命令語を並列処理される命令語で構成される複数の命令語バンドルにグループ化し、前記命令語バンドルを前記有効命令語バンドル及び前記無演算命令語バンドルに分類する請求項1に記載の命令語圧縮装置。
【請求項5】
前記無演算命令語バンドルを削除する削除部をさらに含む請求項1に記載の命令語圧縮装置。
【請求項6】
有効命令語は、特定の演算を実行するための命令語であり、
無演算命令語は、何の演算もしないための命令語である請求項1に記載の命令語圧縮装置。
【請求項7】
複数の命令語を、少なくとも1つの有効命令語を含む有効命令語バンドル、及び無演算命令語を含む無演算命令語バンドルに分割する段階と、
前記有効命令語バンドルの間に存在する前記無演算命令語バンドルの個数と関連した命令語圧縮ビットを生成する段階と、
前記命令語圧縮ビットを前記有効命令語バンドルに挿入する段階と、
を含む命令語圧縮方法。
【請求項8】
前記生成する段階は、
前記有効命令語バンドルに含まれた命令語の個数と同じビット数を含む前記命令語圧縮ビットを生成する段階を含む請求項7に記載の命令語圧縮方法。
【請求項9】
前記挿入する段階は、
前記命令語圧縮ビットを前記有効命令語バンドルに含まれたそれぞれの命令語に1ビットずつ挿入する段階を含む請求項7に記載の命令語圧縮方法。
【請求項10】
前記分割する段階は、
複数の命令語を並列処理される命令語で構成される複数の命令語バンドルにグループ化する段階と、
前記命令語バンドルを前記有効命令語バンドル及び前記無演算命令語バンドルに分類する段階と、
を含む請求項7に記載の命令語圧縮方法。
【請求項11】
前記無演算命令語バンドルを削除する段階をさらに含む請求項7に記載の命令語圧縮方法。
【請求項12】
有効命令語は、特定の演算を実行するための命令語であり、
無演算命令語は、何の演算もしないための命令語である請求項7に記載の命令語圧縮方法。
【請求項13】
命令語を、少なくとも1つの有効命令語を含む有効命令語バンドル、及び少なくとも1つの無演算命令語を含む無演算命令語バンドルに分割する段階と、
前記有効命令語バンドルの間に存在する前記無演算命令語バンドルの個数に対応した命令語圧縮ビットを生成させる段階と、
前記命令語圧縮ビットを前記有効命令語バンドルに挿入する段階と、
を含む命令語圧縮方法を実行するためのプログラム命令語が保存されたコンピュータで読み取り可能な記録媒体。
【請求項14】
処理しなければならない複数の命令語のうちの命令語の個数を減縮するプロセッサであって、
前記複数の命令語に対する有効命令語バンドルと次の有効命令語バンドルとの間に存在する無演算命令語の個数に対応する命令語圧縮ビット値を前記有効命令語バンドルに挿入する挿入部と、
前記複数の命令語から前記無演算命令語を削除する削除部と、
を含むプロセッサ。
【請求項15】
前記挿入部は、前記命令語圧縮ビット値を前記有効命令語バンドルの始めまたは終わり、または前記有効命令語バンドルに含まれたそれぞれの命令語の間に挿入される請求項14に記載のプロセッサ。
【請求項16】
前記複数の命令語で前記無演算命令語の削除を処理する複数の処理部をさらに含む請求項14に記載のプロセッサ。
【請求項17】
前記複数の命令語を、それぞれが少なくとも1つの有効命令語を含む複数の有効命令語バンドル、及びそれぞれが少なくとも1つの無演算命令語を含む複数の無演算命令語バンドルに分割する分割部をさらに含む請求項14に記載のプロセッサ。
【請求項18】
前記有効命令語バンドルと前記次の有効命令語バンドルとの間に存在する無演算命令語の個数に対応する前記命令語圧縮ビット値を生成させる生成部をさらに含む請求項14に記載のプロセッサ。
【請求項1】
命令語を、少なくとも1つの有効(valid)命令語を含む有効命令語バンドル、及び少なくとも1つの無演算(no operation)命令語を含む無演算命令語バンドルに分割する分割部と、
前記有効命令語バンドルの間に存在する前記無演算命令語バンドルの個数に対応した命令語圧縮ビットを生成させる生成部と、
前記命令語圧縮ビットを前記有効命令語バンドルに挿入する挿入部と、
を含む命令語圧縮装置。
【請求項2】
前記生成部は、
前記有効命令語バンドルに含まれた命令語の個数と同じビット数を含む前記命令語圧縮ビットを生成させる請求項1に記載の命令語圧縮装置。
【請求項3】
前記挿入部は、
前記命令語圧縮ビットを前記有効命令語バンドルに含まれたそれぞれの命令語に1ビットずつ挿入する請求項1に記載の命令語圧縮装置。
【請求項4】
前記分割部は、
命令語を並列処理される命令語で構成される複数の命令語バンドルにグループ化し、前記命令語バンドルを前記有効命令語バンドル及び前記無演算命令語バンドルに分類する請求項1に記載の命令語圧縮装置。
【請求項5】
前記無演算命令語バンドルを削除する削除部をさらに含む請求項1に記載の命令語圧縮装置。
【請求項6】
有効命令語は、特定の演算を実行するための命令語であり、
無演算命令語は、何の演算もしないための命令語である請求項1に記載の命令語圧縮装置。
【請求項7】
複数の命令語を、少なくとも1つの有効命令語を含む有効命令語バンドル、及び無演算命令語を含む無演算命令語バンドルに分割する段階と、
前記有効命令語バンドルの間に存在する前記無演算命令語バンドルの個数と関連した命令語圧縮ビットを生成する段階と、
前記命令語圧縮ビットを前記有効命令語バンドルに挿入する段階と、
を含む命令語圧縮方法。
【請求項8】
前記生成する段階は、
前記有効命令語バンドルに含まれた命令語の個数と同じビット数を含む前記命令語圧縮ビットを生成する段階を含む請求項7に記載の命令語圧縮方法。
【請求項9】
前記挿入する段階は、
前記命令語圧縮ビットを前記有効命令語バンドルに含まれたそれぞれの命令語に1ビットずつ挿入する段階を含む請求項7に記載の命令語圧縮方法。
【請求項10】
前記分割する段階は、
複数の命令語を並列処理される命令語で構成される複数の命令語バンドルにグループ化する段階と、
前記命令語バンドルを前記有効命令語バンドル及び前記無演算命令語バンドルに分類する段階と、
を含む請求項7に記載の命令語圧縮方法。
【請求項11】
前記無演算命令語バンドルを削除する段階をさらに含む請求項7に記載の命令語圧縮方法。
【請求項12】
有効命令語は、特定の演算を実行するための命令語であり、
無演算命令語は、何の演算もしないための命令語である請求項7に記載の命令語圧縮方法。
【請求項13】
命令語を、少なくとも1つの有効命令語を含む有効命令語バンドル、及び少なくとも1つの無演算命令語を含む無演算命令語バンドルに分割する段階と、
前記有効命令語バンドルの間に存在する前記無演算命令語バンドルの個数に対応した命令語圧縮ビットを生成させる段階と、
前記命令語圧縮ビットを前記有効命令語バンドルに挿入する段階と、
を含む命令語圧縮方法を実行するためのプログラム命令語が保存されたコンピュータで読み取り可能な記録媒体。
【請求項14】
処理しなければならない複数の命令語のうちの命令語の個数を減縮するプロセッサであって、
前記複数の命令語に対する有効命令語バンドルと次の有効命令語バンドルとの間に存在する無演算命令語の個数に対応する命令語圧縮ビット値を前記有効命令語バンドルに挿入する挿入部と、
前記複数の命令語から前記無演算命令語を削除する削除部と、
を含むプロセッサ。
【請求項15】
前記挿入部は、前記命令語圧縮ビット値を前記有効命令語バンドルの始めまたは終わり、または前記有効命令語バンドルに含まれたそれぞれの命令語の間に挿入される請求項14に記載のプロセッサ。
【請求項16】
前記複数の命令語で前記無演算命令語の削除を処理する複数の処理部をさらに含む請求項14に記載のプロセッサ。
【請求項17】
前記複数の命令語を、それぞれが少なくとも1つの有効命令語を含む複数の有効命令語バンドル、及びそれぞれが少なくとも1つの無演算命令語を含む複数の無演算命令語バンドルに分割する分割部をさらに含む請求項14に記載のプロセッサ。
【請求項18】
前記有効命令語バンドルと前記次の有効命令語バンドルとの間に存在する無演算命令語の個数に対応する前記命令語圧縮ビット値を生成させる生成部をさらに含む請求項14に記載のプロセッサ。
【図1】
【図2A】
【図2B】
【図2C】
【図2D】
【図2E】
【図2F】
【図3A】
【図3B】
【図3C】
【図3D】
【図3E】
【図3F】
【図4】
【図2A】
【図2B】
【図2C】
【図2D】
【図2E】
【図2F】
【図3A】
【図3B】
【図3C】
【図3D】
【図3E】
【図3F】
【図4】
【公開番号】特開2013−58203(P2013−58203A)
【公開日】平成25年3月28日(2013.3.28)
【国際特許分類】
【出願番号】特願2012−197725(P2012−197725)
【出願日】平成24年9月7日(2012.9.7)
【出願人】(390019839)三星電子株式会社 (8,520)
【氏名又は名称原語表記】Samsung Electronics Co.,Ltd.
【住所又は居所原語表記】129,Samsung−ro,Yeongtong−gu,Suwon−si,Gyeonggi−do,Republic of Korea
【Fターム(参考)】
【公開日】平成25年3月28日(2013.3.28)
【国際特許分類】
【出願日】平成24年9月7日(2012.9.7)
【出願人】(390019839)三星電子株式会社 (8,520)
【氏名又は名称原語表記】Samsung Electronics Co.,Ltd.
【住所又は居所原語表記】129,Samsung−ro,Yeongtong−gu,Suwon−si,Gyeonggi−do,Republic of Korea
【Fターム(参考)】
[ Back to top ]