(57)【要約】【課題】超長命令語を構成する最大命令数に影響されずに、可変命令長の超長命令語の最後を識別することができるプロセッサを提供する。【解決手段】プロセッサ１０１は、４つの命令を個別に記録することができる命令レジスタ１１４ｆ〜１１４ｉと、命令レジスタ１１４ｆ〜１１４ｉの個々に対応し、対応する命令レジスタから発行された命令を実行する演算ユニット１１５ａ〜１１５ｄと、超長命令語を解析し、命令を発行させる発行制御命令が超長命令語に含まれる場合は、命令レジスタ１１４ｆ〜１１４ｉを制御して、超長命令語を構成する命令の中から発行制御命令を除いた命令を並行して演算ユニット１１５ａ〜１１５ｄへ発行させ、発行制御命令が含まれない場合は、命令レジスタ１１４ｆ〜１１４ｉを制御して、超長命令語を構成する４つの命令を並行して演算ユニット１１５ａ〜１１５ｄへ発行させる超長命令語解析部１１４ｄとを備える。【選択図】図５
2008090744.tif 000002
【特許請求の範囲】
【請求項１】
１以上の命令から構成される可変長の超長命令語を実行することができるプロセッサであって、
所定の数の命令を個別に記録することができる所定の数の命令レジスタと、
前記所定の数の命令レジスタの個々に対応し、対応する命令レジスタから発行された命令を実行する所定の数の演算ユニットと、
前記超長命令語を解析し、命令を発行させる発行制御命令が前記超長命令語に含まれる場合は、前記所定の数の命令レジスタを制御して、前記超長命令語を構成する１以上の命令から前記発行制御命令を除いた命令を並行して前記所定の数の演算ユニットへ発行させ、前記超長命令語に前記発行制御命令が含まれない場合は、前記所定の数の命令レジスタを制御して、前記超長命令語を構成する所定の数の命令を並行して前記所定の数の演算ユニットへ発行させる超長命令語解析手段と
を備えることを特徴とするプロセッサ。
【請求項２】
前記所定の数の命令レジスタにおける各命令レジスタは、前記超長命令語解析手段から所定の制御信号が入力されると、対応する演算ユニットにＮＯＰ命令を発行し、
前記超長命令語解析手段は、前記超長命令語に前記発行制御命令が含まれる場合は、前記所定の数の命令レジスタにおいて、前記超長命令語を構成する１以上の命令から前記発行制御命令を除いた命令が記録されない命令レジスタについては、前記所定の制御信号を出力する
ことを特徴とする請求項１に記載のプロセッサ。
【請求項３】
前記所定の数の命令レジスタにおける各命令レジスタは、前記超長命令語解析手段から所定の制御信号が入力されると、対応する演算ユニットにディセーブル信号を出力し、
前記超長命令語解析手段は、前記超長命令語に前記発行制御命令が含まれる場合は、前記所定の数の命令レジスタにおいて、前記超長命令語を構成する１以上の命令から前記発行制御命令を除いた命令が記録されない命令レジスタについては、前記所定の制御信号を出力する
ことを特徴とする請求項１に記載のプロセッサ。
【請求項４】
前記命令を表す命令コードは、前記命令のオペコードが設定される命令フィールドと、前記命令フィールドの長さが設定される命令長フィールドとから構成され、
前記超長命令語解析手段は、前記発行制御命令のオペコードが設定された命令フィールドと、前記命令フィールドの長さが設定された命令長フィールドとから構成される命令コードを前記発行制御命令として識別する
ことを特徴とする請求項１に記載のプロセッサ。
【請求項５】
前記命令を表す命令コードは、前記命令のオペコードが設定される命令フィールドと、前記命令フィールドの長さが設定される命令長フィールドとから構成され、
前記超長命令語解析手段は、前記命令のオペコードが設定される命令フィールドがなく、前記命令フィールドの長さが０ビットに設定された命令長フィールドから構成される命令コードを前記発行制御命令として識別する
ことを特徴とする請求項１に記載のプロセッサ。
【請求項６】
命令を発行させる発行制御命令が含まれる１以上の命令から構成される可変長の超長命令語を実行することができるプロセッサであって、
所定の数の命令を個別に記録することができる所定の数の命令レジスタと、
前記所定の数の命令レジスタの個々に対応し、対応する命令レジスタから発行された命令を実行する所定の数の演算ユニットと、
前記超長命令語を解析し、前記所定の数の命令レジスタを制御して、前記超長命令語を構成する１以上の命令から前記発行制御命令を除いた命令を並行して前記所定の数の演算ユニットへ発行させる超長命令語解析手段と
を備えることを特徴とするプロセッサ。
【請求項７】
命令を実行する演算ユニットを所定の数備えるプロセッサにおいて、所定の数の命令を並行して実行することができる所定数の演算ユニットに命令を発行する命令発行制御方法であって、
１以上の命令から構成される超長命令語を読み込む超長命令語読込ステップと、
前記超長命令語を解析し、命令を発行させる発行制御命令が前記超長命令語に含まれる場合は、前記所定の数の命令レジスタを制御して、前記超長命令語を構成する１以上の命令から前記発行制御命令を除いた命令を並行して前記所定の数の演算ユニットへ発行させ、前記超長命令語に前記発行制御命令が含まれない場合は、前記所定の数の命令レジスタを制御して、前記超長命令語を構成する所定の数の命令を並行して前記所定の数の演算ユニットへ発行させる超長命令語解析ステップと
を含むことを特徴とする命令発行制御方法。
【請求項８】
命令を実行する演算ユニットを所定の数備えるプロセッサにおいて、所定の数の命令を並行して実行することができる所定数の演算ユニットに命令を発行する命令発行制御方法であって、
命令を発行させる発行制御命令が含まれる１以上の命令から構成される超長命令語を読み込む超長命令語読込ステップと、
前記超長命令語を解析し、前記所定の数の命令レジスタを制御して、前記超長命令語を構成する１以上の命令から前記発行制御命令を除いた命令を並行して前記所定の数の演算ユニットへ発行させる超長命令語解析ステップと
を含むことを特徴とする命令発行制御方法。
【請求項９】
複数の命令を並列で実行できるプロセッサ用のオブジェクトコードを生成するオブジェクトコード生成装置であって、
１以上の命令から構成される超長命令語を生成する超長命令語生成手段と、
前記プロセッサにおける所定の数の演算ユニットに命令を発行させる発行制御命令を前記超長命令語に付加する発行制御命令付加手段と
を備えることを特徴とするオブジェクトコード生成装置。
【請求項１０】
前記オブジェクトコード生成装置は、さらに、
前記超長命令語生成手段で生成された超長命令語の命令数が、前記超長命令語の最大命令数未満であるか否かを判定する命令数判定手段を備え、
前記発行制御命令付加手段は、前記命令数判定手段で前記命令数が前記最大命令数未満であると判定された場合は、前記超長命令語生成手段で生成された超長命令語に前記発行制御命令を付加する
ことを特徴とする請求項９に記載のオブジェクトコード生成装置。
【請求項１１】
前記命令を表す命令コードは、前記命令が設定される命令フィールドと、前記命令フィールドの長さが設定される命令長フィールドとから構成され、
前記発行制御命令付加手段は、前記発行制御命令が設定された命令フィールドと、前記命令フィールドの長さが設定された命令長フィールドとから構成される命令コードを前記発行制御命令として付加する
ことを特徴とする請求項９に記載のオブジェクトコード生成装置。
【請求項１２】
前記命令を表す命令コードは、前記命令が設定される命令フィールドと、前記命令フィールドの長さが設定される命令長フィールドとから構成され、
前記発行制御命令付加手段は、前記命令フィールドがなく、前記命令フィールドの長さが０ビットに設定された命令長フィールドから構成される命令コードを前記発行制御命令として付加する
ことを特徴とする請求項９に記載のオブジェクトコード生成装置。
【請求項１３】
複数の命令を並列で実行できるプロセッサ用のオブジェクトコードを生成するオブジェクトコード生成方法であって、
１以上の命令から構成される超長命令語を生成する超長命令語生成ステップと、
前記プロセッサにおける所定の数の演算ユニットに命令を発行させる発行制御命令を前記超長命令語に付加する発行制御命令付加ステップと
を含むことを特徴とするオブジェクトコード生成方法。
【請求項１４】
複数の命令を並列で実行できるプロセッサ用のオブジェクトコードを生成するオブジェクトコード生成プログラムであって、
１以上の命令から構成される超長命令語を生成する超長命令語生成ステップと、
前記プロセッサにおける所定の数の演算ユニットに命令を発行させる発行制御命令を前記超長命令語に付加する発行制御命令付加ステップと
をコンピュータシステムに実行させることを特徴とするオブジェクトコード生成プログラム。
【請求項１５】
複数の命令を並列で実行可能なプロセッサ用の命令コードにおいて、前記プロセッサにおける所定の数の演算ユニットに命令を発行させる発行制御命令の命令コードであって、
前記発行制御命令のオペコードが設定された命令フィールドと、
前記命令フィールドの長さが設定された命令長フィールドと
から構成されることを特徴とする命令コード。
【請求項１６】
複数の命令を並列で実行可能なプロセッサ用の命令コードにおいて、前記プロセッサにおける所定の数の演算ユニットに命令を発行させる発行制御命令の命令コードであって、
前記命令のオペコードが設定される命令フィールドがなく、前記命令フィールドの長さが０ビットに設定された命令長フィールド
から構成されることを特徴とする命令コード。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の命令を並行して実行することができるプロセッサと、そのプロセッサ用のオブジェクトコードを生成するオブジェクトコード生成装置に関する。
【背景技術】
【０００２】
従来、プロセッサの処理性能の向上策として、複数の演算資源を搭載して複数の命令を並列実行させる方法がある。複数の命令の並列実行は、演算資源の競合やデータの依存関係等により可能な場合と不可能な場合がある。この並列実行の可否を判断させる方法として、ハードウェアで判断させる方法と、ソフトウェアで判断させる方法とがある。
【０００３】
例えば、ハードウェアで判断させる方法を採用したプロセッサとして、スーパースカラプロセッサが広く知られている。ただし、並列実行の可否を判断するハードウェアは複雑であるため、面積、電力、速度的に問題がある。一方、ソフトウェアで判断させる方法を採用したプロセッサとして、ＶＬＩＷ（Ｖｅｒｙ  Ｌｏｎｇ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｗｏｒｄ）プロセッサが広く知られている。
【０００４】
典型的な固定命令長のＶＬＩＷプロセッサでは、固定命令長の単位で超長命令語を実行することから、複数の要素命令から構成される超長命令語を固定命令長にする必要がある。このため、固定命令長のＶＬＩＷプロセッサについては、本来不要であるＮＯＰ命令によって、メモリ容量やバストラフィックを増加させてしまうという問題がある。これは、例えば、Ｃコンパイラなどのようなソフトウェアで、この固定命令長の超長命令語を生成するにあたり、超長命令語中に要素命令が割当てられない個所にはＮＯＰ命令が割り当てられるためである。
【０００５】
これに対して、可変命令長のＶＬＩＷプロセッサが提案されている（例えば、特許文献１参照。）。この可変命令長のＶＬＩＷプロセッサでは、超長命令語中に要素命令が割当てられない個所にＮＯＰ命令を割り当てずに生成された可変命令長の超長命令語を実行することができる。
【０００６】
具体的には、可変命令長の超長命令語に属性ビット列が含まれる。この属性ビット列は、超長命令語中の各要素命令が配置されている個所に対応する属性ビットから構成される。各属性ビットは、ソフトウェアで可変命令長の超長命令語を生成するときに、対応する個所の要素命令の存否が設定される。例えば、要素命令が存在する個所には、その個所に対応する属性ビットが０に設定される。要素命令が存在しない個所、すなわち、ＮＯＰ命令が割り当てられる個所には、その個所に対応する属性ビットが１に設定される。そして、可変命令長のＶＬＩＷプロセッサでは、可変命令長の超長命令語を実行するときに、この属性ビット列を参照することで、超長命令語の最後を識別する。
【０００７】
すなわち、属性ビット列を利用することで、超長命令語の最後を識別することができる。要素命令が割り当てられない個所にＮＯＰ命令を割り当てずに超長命令語を生成することができる。これによって、メモリ容量やバストラフィックを増加させてしまうという問題を解決することができる。
【特許文献１】特開平１０―１１６１９１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、上記の可変命令長のＶＬＩＷプロセッサでは、超長命令語を構成することができる要素命令の増加に伴い、属性ビット列のサイズも増加するという問題がある。これは、要素命令毎に属性ビットを必要とするためである。すなわち、超長命令語を構成することができる最大命令数が増加すれば、それに応じて属性ビットも増加する。結果、超長命令語の最後を識別するために必要な属性ビット列のサイズが増加するという問題がある。
【０００９】
また、命令セットの体系が同一のプロセッサのシリーズであっても、並行して実行することができる命令数によっては、オブジェクトコードを転用することができないという問題がある。これは、命令数に応じてコード量が増加する属性ビット列が支障をきたすためである。
【００１０】
例えば、携帯電話に実装されるプロセッサと、デジタルテレビに実装されるプロセッサとを例に説明する。ここで、これらのプロセッサは、同一体系の命令セットに基づいて設計されているとする。また、携帯電話に実装されるプロセッサは、２つの演算ユニットを備え、最大２つの命令を並行して実行することができるとする。一方、デジタルテレビに実装されるプロセッサは、４つの演算ユニットを備え、最大４つの命令を並行して実行することができるとする。
【００１１】
この場合において、携帯電話に実装されるプロセッサについては、属性ビット列のサイズは２である。一方、デジタルテレビに実装されるプロセッサについては、属性ビット列のサイズは４である。このように、属性ビット列のサイズが異なることにより、携帯電話に実装されるプロセッサ用のオブジェクトコードを、デジタルテレビに実装されるプロセッサ用のオブジェクトコードとして利用することができない。すなわち、この属性ビット列によって、オブジェクトコードレベルでの互換性が損なわれるという問題がある。結果、同一体系の命令セットを利用する場合であっても、プロセッサごとにオブジェクトコードを生成する必要がある。また、オブジェクトレベルでの互換性を維持することができるプロセッサのシリーズを設計するにしても、複雑になるという問題がある。
【００１２】
そこで、本発明は、上記問題に鑑みてなされたものであり、超長命令語を構成することができる最大命令数の増減に影響されずに、可変命令長の超長命令語の最後を識別することができる可変命令長のＶＬＩＷプロセッサと、そのプロセッサ用のオブジェクトコードを生成するオブジェクトコード生成装置を提供することを目的とする。
【課題を解決するための手段】
【００１３】
上記目的を達成するために、本発明に係わるプロセッサは、（ａ）１以上の命令から構成される可変長の超長命令語を実行することができるプロセッサであって、（ａ１）所定の数の命令を個別に記録することができる所定の数の命令レジスタと、（ａ２）前記所定の数の命令レジスタの個々に対応し、対応する命令レジスタから発行された命令を実行する所定の数の演算ユニットと、（ａ３）前記超長命令語を解析し、命令を発行させる発行制御命令が前記超長命令語に含まれる場合は、前記所定の数の命令レジスタを制御して、前記超長命令語を構成する１以上の命令から前記発行制御命令を除いた命令を並行して前記所定の数の演算ユニットへ発行させ、前記超長命令語に前記発行制御命令が含まれない場合は、前記所定の数の命令レジスタを制御して、前記超長命令語を構成する所定の数の命令を並行して前記所定の数の演算ユニットへ発行させる超長命令語解析手段とを備える。
【００１４】
これによって、超長命令語が最大命令数に満たないで構成されていても、超長命令語の最後を識別することができる。すなわち、発行制御命令によって、可変長の超長命令語を実行することができる。また、超長命令語を構成することができる最大命令数が増減しても、発行制御命令のサイズが一定である。これから、属性ビット列のように、最大命令数に応じてサイズが変動することもなく支障をきたすことがない。
【００１５】
さらに、（ｂ）（ｂ１）前記所定の数の命令レジスタにおける各命令レジスタは、前記超長命令語解析手段から所定の制御信号が入力されると、対応する演算ユニットにＮＯＰ命令を発行し、（ｂ２）前記超長命令語解析手段は、前記超長命令語に前記発行制御命令が含まれる場合は、前記所定の数の命令レジスタにおいて、前記超長命令語を構成する１以上の命令から前記発行制御命令を除いた命令が記録されない命令レジスタについては、前記所定の制御信号を出力するとしてもよい。
【００１６】
これによって、命令が発行されない演算ユニットに対する無効化処理をするための回路が不要となり、回路の規模が増加することとを抑制することができる。さらに、命令発行のタイミングが悪化することを抑制することができる。
【００１７】
または、（ｃ）（ｃ１）前記所定の数の命令レジスタにおける各命令レジスタは、前記超長命令語解析手段から所定の制御信号が入力されると、対応する演算ユニットにディセーブル信号を出力し、（ｃ２）前記超長命令語解析手段は、前記超長命令語に前記発行制御命令が含まれる場合は、前記所定の数の命令レジスタにおいて、前記超長命令語を構成する１以上の命令から前記発行制御命令を除いた命令が記録されない命令レジスタについては、前記所定の制御信号を出力するとしてもよい。
【００１８】
これによって、命令を発行する処理に要する電力を削減し、消費電力を低減することができる。
【００１９】
または、（ｄ）（ｄ１）前記命令を表す命令コードは、前記命令のオペコードが設定される命令フィールドと、前記命令フィールドの長さが設定される命令長フィールドとから構成され、（ｄ２）前記超長命令語解析手段は、前記発行制御命令のオペコードが設定された命令フィールドと、前記命令フィールドの長さが設定された命令長フィールドとから構成される命令コードを前記発行制御命令として識別するとしてもよい。
【００２０】
これによって、発行制御命令のサイズを、超長命令語を構成することができる最大命令数に係わらず、一定にすることができる。
【００２１】
または、（ｅ）（ｅ１）前記命令を表す命令コードは、前記命令のオペコードが設定される命令フィールドと、前記命令フィールドの長さが設定される命令長フィールドとから構成され、（ｅ２）前記超長命令語解析手段は、前記命令フィールドがなく、前記命令フィールドの長さが０ビットに設定された命令長フィールドから構成される命令コードを前記発行制御命令として識別するとしてもよい。
【００２２】
これによって、発行制御命令のサイズを小さくすることができる。
なお、本発明は、プロセッサとして実現される以外に、プロセッサにおける所定の数の演算ユニットへ命令を発行させる命令発行制御方法、プロセッサの機能が組み込まれたＬＳＩ（Large Scale Integration）、その機能をＦＰＧＡ（Field Programmable Gate Array）、ＣＰＬＤ（Complex Programmable Logic Device）などのプログラマブル・ロジック・デバイスに形成するＩＰ（Intellectual Property）コア、そのＩＰコアを記録した記録媒体などとして実現されるとしてもよい。
【００２３】
また、上記目的を達成するために、本発明に係わるオブジェクトコード生成装置は、（ｆ）複数の命令を並列で実行できるプロセッサ用のオブジェクトコードを生成するオブジェクトコード生成装置であって、（ｆ１）１以上の命令から構成される超長命令語を生成する超長命令語生成手段と、（ｆ２）前記プロセッサにおける所定の数の演算ユニットに命令を発行させる発行制御命令を前記超長命令語に付加する発行制御命令付加手段とを備える。
【００２４】
これによって、発行制御命令によって、超長命令語の最後が識別されるので、不要なＮＯＰ命令を割り当てずにオブジェクトコードを生成することができる。
【００２５】
さらに、（ｇ）前記オブジェクトコード生成装置は、（ｇ１）前記超長命令語生成手段で生成された超長命令語の命令数が、前記超長命令語の最大命令数未満であるか否かを判定する命令数判定手段を備え、（ｇ２）前記発行制御命令付加手段は、前記命令数判定手段で前記命令数が前記最大命令数未満であると判定された場合は、前記超長命令語生成手段で生成された超長命令語に前記発行制御命令を付加するとしてもよい。
【００２６】
これによって、不要な発行制御命令を付加することを回避することができる。これは、最大命令数で超長命令語を構成することができれば、敢えて発行制御命令を付加する必要はない。これから、最大命令数で超長命令語を構成することができる場合において、発行制御命令を付加することを回避することができれば、オブジェクトコードから構成されるオブジェクトプログラムのサイズが、不要な命令で増加することを回避することができる。
【００２７】
または、（ｈ）（ｈ１）前記命令を表す命令コードは、前記命令が設定される命令フィールドと、前記命令フィールドの長さが設定される命令長フィールドとから構成され、（ｈ２）前記発行制御命令付加手段は、前記発行制御命令が設定された命令フィールドと、前記命令フィールドの長さが設定された命令長フィールドとから構成される命令コードを前記発行制御命令として付加するとしてもよい。
【００２８】
これによって、発行制御命令のサイズを、超長命令語を構成することができる最大命令数に係わらず、一定にすることができる。
【００２９】
または、（ｉ）（ｉ１）前記命令を表す命令コードは、前記命令が設定される命令フィールドと、前記命令フィールドの長さが設定される命令長フィールドとから構成され、（ｉ２）前記発行制御命令付加手段は、前記命令フィールドがなく、前記命令フィールドの長さが０ビットに設定された命令長フィールドから構成される命令コードを前記発行制御命令として付加するとしてもよい。
【００３０】
これによって、発行制御命令のサイズを小さくすることができる。さらに、オブジェクトコードから構成されるオブジェクトプログラムのサイズを小さくすることができる。
【００３１】
なお、本発明は、オブジェクトコード生成装置として実現されるだけではなく、オブジェクトコード生成装置を制御するオブジェクトコード生成方法、オブジェクトコード生成方法をコンピュータシステム等に実行させるオブジェクトコード生成プログラム、オブジェクトコード生成プログラムを記録した記録媒体などとして実現されるとしてもよい。
【００３２】
また、上記目的を達成するために、本発明に係わる命令コードは、（ｊ）複数の命令を並列で実行可能なプロセッサ用の命令コードにおいて、前記プロセッサにおける所定の数の演算ユニットに命令を発行させる発行制御命令の命令コードであって、（ｊ１）前記発行制御命令のオペコードが設定された命令フィールドと、（ｊ２）前記命令フィールドの長さが設定された命令長フィールドとから構成される。
【００３３】
これによって、発行制御命令のサイズを、超長命令語を構成することができる最大命令数に係わらず、一定にすることができる。
【００３４】
また、上記目的を達成するために、本発明に係わる命令コードは、（ｋ）複数の命令を並列で実行可能なプロセッサ用の命令コードにおいて、前記プロセッサにおける所定の数の演算ユニットに命令を発行させる発行制御命令の命令コードであって、（ｋ１）前記命令のオペコードが設定される命令フィールドがなく、（ｋ２）前記命令フィールドの長さが０ビットに設定された命令長フィールドから構成される。
【００３５】
これによって、発行制御命令のサイズを小さくすることができる。さらに、オブジェクトコードから構成されるオブジェクトプログラムのサイズを小さくすることができる。
【発明の効果】
【００３６】
本発明によれば、超長命令語が最大命令数に満たないで構成されていても、超長命令語の最後を識別することができる。すなわち、発行制御命令によって、可変長の超長命令語を実行することができる。また、超長命令語を構成することができる最大命令数が増減しても、発行制御命令のサイズが一定である。これから、属性ビット列のように、最大命令数に応じてサイズが変動することもなく支障をきたすことがない。
【００３７】
さらに、ＮＯＰ命令を発行することによって、命令が発行されない演算ユニットに対する無効化処理をするための回路が不要となり、回路の規模が増加することを抑制することができる。さらに、命令発行のタイミングが悪化することを抑制することができる。
【００３８】
または、ディセーブル信号を出力することによって、命令を発行する処理に要する電力を削減し、消費電力を低減することができる。
【００３９】
さらに、超長命令語のセグメント単位で実行することができることによって、命令セットの体系が同一のプロセッサのシリーズであれば、並行して実行することができる命令数が異なっても、オブジェクトコードを転用することができる。また、オブジェクトコードレベルでの互換性を維持することができるプロセッサのシリーズを簡単に設計することができる。
【００４０】
さらに、発行制御命令のサイズを、超長命令語を構成することができる最大命令数に係わらず、一定にすることができる。また、発行制御命令のサイズを小さくすることができる。これから、オブジェクトコードから構成されるオブジェクトプログラムのサイズの増加を抑制することができる。
【００４１】
また、命令数の増減に影響されないので、動作中の状態に応じて、並行して実行することができる命令数を変化させることができるプロセッサに利用することができる。例えば、省電力モードで動作中は、２つの命令を並行して実行し、高速モードで動作中は、４つの命令を並行して実行するプロセッサを例にする。この場合において、モードごとにオブジェクトコードを生成する必要もなく、モードが切り替わっても、同一のオブジェクトコードで実行することができる。
【００４２】
また、本発明に係わるプロセッサでは、発行制御命令によって、超長命令語の最後が識別されるので、本発明に係わるオブジェクトコード生成装置は、不要なＮＯＰ命令を割り当てずにオブジェクトコードを生成することができる。
【００４３】
また、本発明に係わるプロセッサでは、発行制御命令によって、並行して発行することができる命令グループが識別されるので、本発明に係わるオブジェクトコード生成装置は、不要なＮＯＰ命令を割り当てずにオブジェクトコードを生成することができる。
【００４４】
さらに、発行制御命令の命令長を短くすることができるので、発行制御命令のサイズを抑えることができる。
【発明を実施するための最良の形態】
【００４５】
（実施の形態１）
以下、本発明に係わる実施の形態１について、図面を参照しながら説明する。
【００４６】
本実施の形態におけるプロセッサは、下記（ａ）〜（ｃ）に示される特徴を備える。
（ａ）１以上の命令から構成される可変長の超長命令語を実行することができるプロセッサであって、（ａ１）所定の数の命令を個別に記録することができる所定の数の命令レジスタと、（ａ２）所定の数の命令レジスタの個々に対応し、対応する命令レジスタから発行された命令を実行する所定の数の演算ユニットと、（ａ３）超長命令語を解析し、命令を発行させる発行制御命令が超長命令語に含まれる場合は、所定の数の命令レジスタを制御して、超長命令語を構成する１以上の命令から発行制御命令を除いた命令を並行して所定の数の演算ユニットへ発行させ、超長命令語に発行制御命令が含まれない場合は、所定の数の命令レジスタを制御して、超長命令語を構成する所定の数の命令を並行して所定の数の演算ユニットへ発行させる超長命令語解析部とを備える。
【００４７】
（ｂ）（ｂ１）所定の数の命令レジスタにおける各命令レジスタは、超長命令語解析部から所定の制御信号が入力されると、対応する演算ユニットにＮＯＰ命令を発行し、（ｂ２）超長命令語解析部は、超長命令語に発行制御命令が含まれる場合は、所定の数の命令レジスタにおいて、超長命令語を構成する１以上の命令から発行制御命令を除いた命令が記録されない命令レジスタについては、所定の制御信号を出力する。
【００４８】
（ｃ）（ｃ１）命令を表す命令コードは、命令のオペコードが設定される命令フィールドと、命令フィールドの長さが設定される命令長フィールドとから構成され、（ｃ２）超長命令語解析部は、発行制御命令のオペコードが設定された命令フィールドと、命令フィールドの長さが設定された命令長フィールドとから構成される命令コードを発行制御命令として識別する。
【００４９】
なお、（ｄ）（ｄ１）命令を表す命令コードは、命令のオペコードが設定される命令フィールドと、命令フィールドの長さが設定される命令長フィールドとから構成され、（ｄ２）超長命令語解析部は、命令のオペコードが設定される命令フィールドがなく、命令フィールドの長さが０ビットに設定された命令長フィールドから構成される命令コードを発行制御命令として識別するとしてもよい。
【００５０】
また、本実施の形態におけるプロセッサ用のオブジェクトコードを生成するオブジェクトコード生成装置は、下記（ｅ）〜（ｇ）に示される特徴を備える。
【００５１】
（ｅ）複数の命令を並列で実行できるプロセッサ用のオブジェクトコードを生成するオブジェクトコード生成装置であって、（ｅ１）１以上の命令から構成される超長命令語を生成する超長命令語生成部と、（ｅ２）プロセッサにおける所定の数の演算ユニットに命令を発行させる発行制御命令を超長命令語に付加する発行制御命令付加部とを備える。
【００５２】
（ｆ）オブジェクトコード生成装置は、（ｆ１）超長命令語生成部で生成された超長命令語の命令数が、超長命令語の最大命令数未満であるか否かを判定する命令数判定部を備え、（ｆ２）発行制御命令付加部は、命令数判定部で命令数が最大命令数未満であると判定された場合は、超長命令語生成部で生成された超長命令語に発行制御命令を付加する。
【００５３】
（ｇ）（ｇ１）命令を表す命令コードは、命令が設定される命令フィールドと、命令フィールドの長さが設定される命令長フィールドとから構成され、（ｇ２）発行制御命令付加部は、発行制御命令が設定された命令フィールドと、命令フィールドの長さが設定された命令長フィールドとから構成される命令コードを発行制御命令として付加する。
【００５４】
なお、（ｈ）（ｈ１）命令を表す命令コードは、命令が設定される命令フィールドと、命令フィールドの長さが設定される命令長フィールドとから構成され、（ｈ２）発行制御命令付加部は、命令のオペコードが設定される命令フィールドがなく、命令フィールドの長さが０ビットに設定された命令長フィールドから構成される命令コードを発行制御命令として付加するとしてもよい。
【００５５】
ここで、命令コードは、複数の命令を並列で実行できるプロセッサが、１以上の命令から構成される超長命令語の最後であることを識別する発行制御命令の命令コードでもある。
【００５６】
（ｉ）複数の命令を並列で実行可能なプロセッサ用の命令コードにおいて、プロセッサにおける所定の数の演算ユニットに命令を発行させる発行制御命令の命令コードであって、（ｉ１）発行制御命令のオペコードが設定された命令フィールドと、（ｉ２）命令フィールドの長さが設定された命令長フィールドとから構成される。
【００５７】
なお、（ｊ）複数の命令を並列で実行可能なプロセッサ用の命令コードにおいて、プロセッサにおける所定の数の演算ユニットに命令を発行させる発行制御命令の命令コードであって、（ｊ１）命令のオペコードが設定される命令フィールドがなく、（ｊ２）命令フィールドの長さが０ビットに設定された命令長フィールドとから構成されるとしてもよい。
【００５８】
以上の点を踏まえて、本実施の形態におけるプロセッサとオブジェクトコード生成装置とについて説明する。
【００５９】
先ず、本実施の形態におけるプロセッサとプロセッサ用のオブジェクトコード生成装置との概要について説明する。
【００６０】
図１は、本実施の形態におけるプロセッサとプロセッサ用のオブジェクトコード生成装置との概要を示す図である。図１に示されるように、プロセッサ１０１は、可変命令長のＶＬＩＷ（Ｖｅｒｙ  Ｌｏｎｇ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｗｏｒｄ）形式の命令（以下、超長命令語と呼称する。）を実行することができるプロセッサである。オブジェクトコード生成装置１０２は、ソースコード１０３からオブジェクトコード１０４を生成するコンピュータシステムである。
【００６１】
ここで、オブジェクトコード１０４は、プロセッサ１０１で実行可能な超長命令語から構成される。各超長命令語は、１以上の命令から構成される。また、１以上の命令が先頭から詰められて配置されている。各命令は、１６、３２、６４ビットのように、命令長が可変である。さらに、各超長命令語は、命令数が最大命令数に満たない場合は、発行制御命令（ＩＣ）が付加される。ここでは、一例として、超長命令語の上位アドレス側（図における左側）から命令が詰められている場合は、下位アドレス側（図における右側）に発行制御命令が付加される。発行制御命令から下位アドレス側（図における右側）には、ＮＯＰ命令が含まれているとみなす。これによって、本実施の形態における超長命令語では、不足分の命令を補うために挿入されるＮＯＰ命令が省略されている。また、最大命令数として、プロセッサ１０１における演算ユニットの数とする。
【００６２】
次に、本実施の形態におけるオブジェクトコード生成装置１０２の構成について説明する。
【００６３】
図２は、本実施の形態におけるオブジェクトコード生成装置１０２の構成を示す図である。図２に示されるように、オブジェクトコード生成装置１０２は、ソースコード保持部１２１、中間コード生成部１２２、中間コード保持部１２３、オブジェクトコード生成部１２４、オブジェクトコード保持部１２５などを備える。
【００６４】
ソースコード保持部１２１は、ソースプログラムを構成するソースコードを保持する。
中間コード生成部１２２は、ソースコード保持部１２１で保持されているソースコードを読み込む。読み込んだソースコードから中間コードを生成する。生成した中間コードを中間コード保持部１２３に出力する。ソースコード保持部１２１で保持されている全てのソースコードに対して、これらの処理を実行する。そして、全てのソースコードに対して、これらの処理が実行されると、オブジェクトコード生成部１２４を呼び出す。
【００６５】
中間コード保持部１２３は、中間コード生成部１２２から出力された中間コードを保持する。
【００６６】
オブジェクトコード生成部１２４は、中間コード生成部１２２から呼び出されると、中間コード保持部１２３で保持されている中間コードを読み込む。読み込んだ中間コードからオブジェクトコードを生成する。生成したオブジェクトコードをオブジェクトコード保持部１２５に出力する。中間コード保持部１２３で保持されている全ての中間コードに対して、これらの処理を実行する。
【００６７】
オブジェクトコード保持部１２５は、オブジェクトコード生成部１２４から出力されたオブジェクトコードを保持する。
【００６８】
さらに、オブジェクトコード生成部１２４は、超長命令語生成部１２４ａ、命令数判定部１２４ｂ、発行制御命令付加部１２４ｃなどを備える。
【００６９】
超長命令語生成部１２４ａは、中間コード生成部１２２から呼び出されると、中間コード保持部１２３で保持されている中間コードを読み込む。読み込んだ中間コードからオブジェクトコードを生成する。これらの処理を中間コード保持部１２３で保持されている全ての中間コードに対して実行する。実行して得られたオブジェクトコードを、オブジェクトコードで区切って超長命令語を生成する。生成した超長命令語を命令数判定部１２４ｂに出力する。ここで、超長命令語は、１以上の命令から構成される。
【００７０】
命令数判定部１２４ｂは、超長命令語生成部１２４ａから出力された超長命令語が入力すると、入力した超長命令語を構成する命令数が、超長命令語を構成することができる最大命令数未満であるか否かを判定する。判定した結果、最大命令数未満である場合は、入力した超長命令語を発行制御命令付加部１２４ｃに出力する。最大命令数未満でない場合は、入力した超長命令語をオブジェクトコード保持部１２５に出力する。
【００７１】
発行制御命令付加部１２４ｃは、命令数判定部１２４ｂから出力された超長命令語が入力すると、入力した超長命令語に発行制御命令を付加する。付加して得られた超長命令語をオブジェクトコード保持部１２５に出力する。
【００７２】
次に、本実施の形態における超長命令語のデータ構造について説明する。
図３は、本実施の形態における超長命令語のデータ構造を示す図である。図３に示されるように、ここでは、一例として、プロセッサ１０１における演算ユニットの数を４とし、超長命令語を構成することができる最大命令数をプロセッサ１０１における演算ユニットの数である４とする。
【００７３】
例えば、超長命令語１４１は、発行制御命令以外の４つの命令から構成されている。上位アドレス側（図における左側）から順に、命令１４１ａ（命令１）、命令１４１ｂ（命令２）、命令１４１ｃ（命令３）、命令１４１ｄ（命令４）が配置されている。これは、命令数判定部１２４ｂに入力された超長命令語が４つの命令から構成されている場合において、命令数判定部１２４ｂで最大命令数未満でないと判定されて、命令数判定部１２４ｂからオブジェクトコード保持部１２５に出力された超長命令語である。
【００７４】
超長命令語１４２は、発行制御命令以外の３つの命令と発行制御命令とから構成されている。上位アドレス側（図における左側）から順に、命令１４２ａ（命令１）、命令１４２ｂ（命令２）、命令１４２ｃ（命令３）、命令１４２ｄ（ＩＣ）が配置されている。これは、命令数判定部１２４ｂで受信された超長命令語が３つの命令から構成されている場合において、命令数判定部１２４ｂで最大命令数未満でないと判定されて、命令数判定部１２４ｂから発行制御命令付加部１２４ｃを介してオブジェクトコード保持部１２５に出力された超長命令語である。
【００７５】
超長命令語１４３は、発行制御命令以外の２つの命令と発行制御命令とから構成されている。上位アドレス側（図における左側）から順に、命令１４３ａ（命令１）、命令１４３ｂ（命令２）、命令１４３ｃ（ＩＣ）が配置されている。これは、命令数判定部１２４ｂで受信された超長命令語が２つの命令から構成されていた場合において、命令数判定部１２４ｂで最大命令数未満でないと判定されて、命令数判定部１２４ｂから発行制御命令付加部１２４ｃを介してオブジェクトコード保持部１２５に出力された超長命令語である。
【００７６】
超長命令語１４４は、発行制御命令以外の１つの命令と発行制御命令とから構成されている。上位アドレス側（図における左側）から順に、命令１４４ａ（命令１）、命令１４４ｂ（ＩＣ）が配置されている。これは、命令数判定部１２４ｂで受信された超長命令語が１つの命令から構成されていた場合において、命令数判定部１２４ｂで最大命令数未満でないと判定されて、命令数判定部１２４ｂから発行制御命令付加部１２４ｃを介してオブジェクトコード保持部１２５に出力された超長命令語である。
【００７７】
次に、本実施の形態における超長命令語を構成する各命令のデータ構造について説明する。
【００７８】
図４は、本実施の形態における超長命令語を構成する各命令のデータ構造を示す図である。図４に示されるように、超長命令語を構成する各命令は、可変長の命令である。ここでは、一例として、命令（コード１６０）は、命令長（フィールド１６１）、命令（フィールド１６２）から構成される。命令長（フィールド１６１）に、命令（フィールド１６２）のビット長が設定される。命令（フィールド１６２）に、命令のオペコードが設定される。テーブル１７０は、ビットパターン（カラム１７１）と命令長（カラム１７２）との対応関係を示すテーブルである。
【００７９】
例えば、命令長（フィールド１６１）が“００”（カラム１７１）である場合は、命令（フィールド１６２）のビット長が“０”（カラム１７２）である。命令長（フィールド１６１）が“０１”（カラム１７１）である場合は、命令（フィールド１６２）のビット長が“１６”（カラム１７２）である。命令長（フィールド１６１）が“１０”（カラム１７１）である場合は、命令（フィールド１６２）のビット長が“３２”（カラム１７２）である。命令長（フィールド１６１）が“１１”（カラム１７１）である場合は、命令（フィールド１６２）のビット長が“６４”（カラム１７２）である。
【００８０】
発行制御命令についても、同様に、命令（フィールド１６２）に、発行制御命令のオペコードが設定される。命令長（フィールド１６１）に、命令（フィールド１６２）のビット長が設定される。
【００８１】
なお、命令（フィールド１６２）に、発行制御命令のオペコードが設定される代わりに、命令（フィールド１６２）のビット長を“０”にして、命令長（フィールド１６１）に、ビット長“０”が設定された命令を、発行制御命令とみなすとしてもよい。例えば、命令長（フィールド１６１）が“００”（カラム１７１）である命令を発行制御命令とする。これによって、発行制御命令に必要とするコード量を抑えることができる。
【００８２】
次に、本実施の形態におけるプロセッサ１０１の構成について説明する。
図５は、本実施の形態におけるプロセッサ１０１の構成を示す図である。図５に示されるように、プロセッサ１０１は、メモリ１１１、オブジェクトコード読込部１１２、オブジェクトコード記憶部１１３、命令発行部１１４、命令実行部１１５などを備える。
【００８３】
メモリ１１１は、プロセッサ１０１に内蔵されているメモリである。外部メモリ（不図示）から読み込まれたオブジェクトコードを記憶する。
【００８４】
オブジェクトコード読込部１１２は、メモリ１１１に記憶されているオブジェクトコードを読み込む。読み込んだオブジェクトコードをオブジェクトコード記憶部１１３に転送する。このとき、メモリ１１１とオブジェクトコード読込部１１２とを結ぶ内部バスのバス幅単位で、記録されているオブジェクトコードを読み込む。そして、オブジェクトコード読込部１１２とオブジェクトコード記憶部１１３とを結ぶ内部バスのバス幅単位で、読み込んだオブジェクトコードを転送する。ここで、バス幅とは、１回の転送で同時に送れるデータ量である。
【００８５】
オブジェクトコード記憶部１１３は、オブジェクトコード読込部１１２から転送されたオブジェクトコードを記憶する。オブジェクトコード読込部１１２とオブジェクトコード記憶部１１３とを結ぶ内部バスのバス幅よりも大きく、複数の超長命令語を記憶することができるサイズのバッファである。
【００８６】
命令発行部１１４は、オブジェクトコード記憶部１１３で記憶されている超長命令語を読み込む。読み込んだ超長命令語を構成する１以上の命令を命令実行部１１５に発行する。このとき、命令実行部１１５に一度に発行する命令数が最大命令数に満たない場合は、満たない分については、ＮＯＰ命令を補って発行する。
【００８７】
命令実行部１１５は、命令発行部１１４から発行された命令を実行する演算ユニットを複数備える。
【００８８】
ここでは、一例として、命令実行部１１５は、演算ユニット１１５ａ〜１１５ｄを備える。これに伴い、命令発行部１１４は、最大で４つの命令を並行して発行することができるとする。
【００８９】
さらに、命令発行部１１４は、超長命令語読込部１１４ａ、読込開始アドレス保持部１１４ｂ、超長命令語レジスタ１１４ｃ、超長命令語解析部１１４ｄ、超長命令語分割部１１４ｅ、命令レジスタ１１４ｆ〜１１４ｉなどを備える。
【００９０】
超長命令語読込部１１４ａは、読込開始アドレス保持部１１４ｂで保持されている読込開始アドレスを参照する。オブジェクトコード記憶部１１３で記憶されている超長命令語の中から、参照した読込開始アドレスによって特定される超長命令語を読み込む。読み込んだ超長命令語を超長命令語レジスタ１１４ｃに転送する。このとき、１つの超長命令語を、１サイクルで読み込むとしてもよいし、複数のサイクルに分けて読み込むとしてもよい。また、１サイクルで転送するとしてもよいし、複数のサイクルに分けて転送するとしてもよい。
【００９１】
読込開始アドレス保持部１１４ｂは、読込開始アドレスを保持する。読込開始アドレスは、超長命令語読込部１１４ａがオブジェクトコード記憶部１１３から超長命令語を読み込むにあたって参照されるアドレスである。
【００９２】
超長命令語レジスタ１１４ｃは、超長命令語読込部１１４ａから転送された超長命令語を記録する。
【００９３】
超長命令語解析部１１４ｄは、超長命令語を解析し、命令を発行させる発行制御命令が超長命令語に含まれる場合は、命令レジスタ１１４ｆ〜１１４ｉを制御して、超長命令語を構成する１以上の命令から発行制御命令を除いた命令を並行して演算ユニット１１５ａ〜１１５ｄへ発行させる。一方、超長命令語に発行制御命令が含まれない場合は、命令レジスタ１１４ｆ〜１１４ｉを制御して、超長命令語を構成する４つの命令を並行して演算ユニット１１５ａ〜１１５ｄへ発行させる。
【００９４】
具体的には、超長命令語解析部１１４ｄは、超長命令語レジスタ１１４ｃで記録されている超長命令語を解析する。解析した結果、各命令レジスタに装填される各命令を特定する。このとき、各命令（コード１６０）の命令長（フィールド１６２）に基づいて、各命令間の境界を特定する。特定した各命令間の境界に合わせて超長命令語が各命令に分割されるような制御信号を超長命令語分割部１１４ｅに出力する。
【００９５】
超長命令語分割部１１４ｅは、超長命令語レジスタ１１４ｃから超長命令語が入力されると、入力された超長命令語を各命令に分割する。このとき、超長命令語解析部１１４ｄから出力された制御信号に基づいて、各命令間の境界で超長命令語を各命令に分割する。超長命令語を分割して得られた命令を、命令レジスタ１１４ｆ〜１１４ｉの各命令レジスタに振り分けて出力する。命令レジスタ１１４ｈから右詰めで命令を装填する。
【００９６】
また、超長命令語解析部１１４ｄは、解析した命令の中に、発行制御命令が含まれるか否かを判定する。判定した結果、発行制御命令が含まれる場合は、発行制御命令が装填される命令レジスタから右側の命令レジスタにＮＯＰ化制御信号を出力する。
【００９７】
命令レジスタ１１４ｆ〜１１４ｉの各命令レジスタは、超長命令語分割部１１４ｅから命令が入力されると、入力された命令を記録する。命令を発行するときに、記録している命令を命令実行部１１５に発行する。このとき、命令レジスタ１１４ｆは、演算ユニット１１５ａに発行する。命令レジスタ１１４ｇは、演算ユニット１１５ｂに発行する。命令レジスタ１１４ｈは、演算ユニット１１５ｃに発行する。命令レジスタ１１４ｉは、演算ユニット１１５ｄに発行する。また、命令レジスタ１１４ｆ〜１１４ｉは、超長命令語解析部１１４ｄからＮＯＰ化制御信号が入力されると、命令が記録されている、いないに係らず、命令を発行するときに、ＮＯＰ命令を発行する。
【００９８】
次に、本実施の形態におけるプロセッサ１０１においてオブジェクトコード記憶部１１３から超長命令語レジスタ１１４ｃに超長命令語が転送される過程について説明する。なお、ここでは、命令語読込部１１４ａは省略している。
【００９９】
図６は、本実施の形態におけるプロセッサ１０１においてオブジェクトコード記憶部１１３から超長命令語レジスタ１１４ｃに超長命令語が転送される過程を示す図である。図６に示されるように、ここでは、一例として、ＶＬＩＷ１は、命令（３２ｂｉｔ）、命令（３２ｂｉｔ）、命令（３２ｂｉｔ）、命令（３２ｂｉｔ）から構成される超長命令語である。ＶＬＩＷ２は、命令（３２ｂｉｔ）、命令（３２ｂｉｔ）、命令（１６ｂｉｔ）、発行制御命令（２ｂｉｔ）から構成される超長命令語である。ＶＬＩＷ３は、命令（１６ｂｉｔ）、命令（１６ｂｉｔ）、命令（３２ｂｉｔ）、命令（１６ｂｉｔ）から構成される超長命令語である。ＶＬＩＷ４は、命令（１６ｂｉｔ）、命令（１６ｂｉｔ）、命令（１６ｂｉｔ）、発行制御命令（２ｂｉｔ）から構成される超長命令語である。ＶＬＩＷ５は、命令（３２ｂｉｔ）、命令（８ｂｉｔ）、発行制御命令（２ｂｉｔ）から構成される超長命令語である。ＶＬＩＷ６は、命令（３２ｂｉｔ）、命令（１６ｂｉｔ）、命令（１６ｂｉｔ）、命令（８ｂｉｔ）から構成される超長命令語である。
【０１００】
なお、ここでは、一例として、オブジェクトコード記憶部１１３および超長命令語読込部１１４ａを結ぶ内部バスと、超長命令語読込部１１４ａおよび超長命令語レジスタ１１４ｃを結ぶ内部バスとのバス幅が同じであるとする。また、超長命令語レジスタ１１４ｃのサイズは、超長命令語読込部１１４ａと超長命令語レジスタ１１４ｃとを結ぶ内部バスのバス幅のサイズとする。
【０１０１】
具体的には、オブジェクトコード記憶部１１３と超長命令語レジスタ１１４ｃとの間におけるデータ転送量は１２８ｂｉｔである。オブジェクトコード記憶部１１３のサイズは、１２８ビットの整数倍である。超長命令語レジスタ１１４ｃのサイズは、１２８ｂｉｔである。
【０１０２】
１サイクル目において、超長命令語読込部１１４ａは、オブジェクトコード記憶部１１３における読込開始アドレスからオブジェクトコード（ＶＬＩＷ１）を読み込む。読み込んだオブジェクトコード（ＶＬＩＷ１）を超長命令語レジスタ１１４ｃに転送する。これに伴い、読込開始アドレスは、読み込んだオブジェクトコード（ＶＬＩＷ１）のサイズ（１２８ｂｉｔ）分増加する。これによって、超長命令語読込部１１４ａは、オブジェクトコード（ＶＬＩＷ２，ＶＬＩＷ３）を次に読み込む。
【０１０３】
２サイクル目において、超長命令語読込部１１４ａは、オブジェクトコード記憶部１１３における読込開始アドレスからオブジェクトコード（ＶＬＩＷ２，ＶＬＩＷ３）を読み込む。読み込んだオブジェクトコード（ＶＬＩＷ２，ＶＬＩＷ３）を超長命令語レジスタ１１４ｃに転送する。これに伴い、読込開始アドレスは、読み込んだオブジェクトコード（ＶＬＩＷ２，ＶＬＩＷ３）のサイズ（１２８ｂｉｔ）分増加する。これによって、超長命令語読込部１１４ａは、オブジェクトコード（ＶＬＩＷ３，ＶＬＩＷ４）を次に読み込む。
【０１０４】
３サイクル目において、超長命令語読込部１１４ａは、オブジェクトコード記憶部１１３における読込開始アドレスからオブジェクトコード（ＶＬＩＷ３，ＶＬＩＷ４）を読み込む。読み込んだオブジェクトコード（ＶＬＩＷ３，ＶＬＩＷ４）を超長命令語レジスタ１１４ｃに転送する。これに伴い、読込開始アドレスが読み込んだオブジェクトコード（ＶＬＩＷ３，ＶＬＩＷ４）のサイズ（８２ｂｉｔ）分増加する。これによって、超長命令語読込部１１４ａは、オブジェクトコード（ＶＬＩＷ５，ＶＬＩＷ６）と次に読み込む。
【０１０５】
なお、演算ユニットの数よりも多くの命令数から超長命令語が構成されているとしてもよい。この場合において、複数回に亘り、命令レジスタ１１４ｆ〜１１４ｉの各命令レジスタから各演算ユニットに命令を発行するとしてもよい。これによって、命令セットの体系が同一のプロセッサのシリーズであれば、並行して実行することができる命令数が異なっても、オブジェクトコードを転用することができる。また、オブジェクトレベルでの互換性を維持することができるプロセッサのシリーズを簡単に設計することができる。
【０１０６】
具体的には、超長命令語解析部１１４ｄは、演算ユニットの数よりも多くの命令が超長命令語に含まれるか否かを判定する。判定した結果、演算ユニットの数よりも多くの命令が超長命令語に含まれている場合は、超長命令語分割部１１４ｅに抽出させる命令の中に発行制御命令が含まれるか否かを判定する。
【０１０７】
判定した結果、超長命令語解析部１１４ｄは、超長命令語分割部１１４ｅに抽出させる命令の中に発行制御命令が含まれる場合は、超長命令語分割部１１４ｅを制御して、発行制御命令を除いた命令を超長命令語から抽出させる。抽出させた命令を命令レジスタ１１４ｆ〜１１４ｉの各命令レジスタに分配させる。命令レジスタ１１４ｆ〜１１４ｉの各命令レジスタを制御して、命令が分配された命令レジスタ１１４ｆ〜１１４ｉの各命令レジスタから各演算ユニットに各命令を発行させる。
【０１０８】
一方、超長命令語解析部１１４ｄは、超長命令語分割部１１４ｅに抽出させる命令の中に発行制御命令が含まれない場合は、超長命令語分割部１１４ｅを制御して、演算ユニットの数、超長命令語から命令を抽出させる。抽出させた命令を命令レジスタ１１４ｆ〜１１４ｉの各命令レジスタに分配させる。命令レジスタ１１４ｆ〜１１４ｉの各命令レジスタを制御して、命令が分配された命令レジスタ１１４ｆ〜１１４ｉの各命令レジスタから各演算ユニットに各命令を発行させる。命令が抽出された超長命令語に、演算ユニットの数よりも多くの命令が含まれるか否かを判定する。
【０１０９】
一方、超長命令語解析部１１４ｄは、演算ユニットの数よりも多くの命令が超長命令語に含まれない場合は、超長命令語分割部１１４ｅを制御して、発行制御命令を除いた命令を超長命令語から抽出させる。抽出させた命令を命令レジスタ１１４ｆ〜１１４ｉの各命令レジスタに分配させる。命令レジスタ１１４ｆ〜１１４ｉの各命令レジスタを制御して、命令が分配された命令レジスタ１１４ｆ〜１１４ｉの各命令レジスタから各演算ユニットに各命令を発行させる。
【０１１０】
次に、本実施の形態におけるオブジェクトコード生成装置１０２において実行されるオブジェクトコード生成処理について説明する。
【０１１１】
図７は、本実施の形態におけるオブジェクトコード生成装置１０２において実行されるオブジェクトコード生成処理を示す図である。図７に示されるように、オブジェクトコード生成部１２４は、中間コード保持部１２３で保持されている全ての中間コードに対して、次の（ａ）〜（ｄ）で示される超長命令語生成処理を実行する（Ｓ１０１）。
【０１１２】
（ａ）オブジェクトコード生成部１２４は、中間コード保持部１２３で保持されている中間コードを読み込む。（ｂ）読み込んだ中間コードからオブジェクトコードを生成する。（ｃ）これらの処理を中間コード保持部１２３で保持されている全ての中間コードに対して実行する。（ｄ）実行して得られたオブジェクトコード列を、オブジェクトコードで区切って超長命令語を生成する。
【０１１３】
次に、オブジェクトコード生成部１２４は、生成した全ての超長命令語に対して次の処理を繰り返し実行する（Ｓ１０２）。超長命令語生成部１２４ａは、生成した超長命令語を命令数判定部１２４ｂに出力する。命令数判定部１２４ｂは、超長命令語生成部１２４ａから出力された超長命令語が入力すると、入力した超長命令語を構成する命令数が、超長命令語を構成することができる最大命令数未満であるか否かを判定する（Ｓ１０３）。
【０１１４】
判定した結果、最大命令数未満である場合は（Ｓ１０３：Ｙｅｓ）、入力した超長命令語を発行制御命令付加部１２４ｃに出力する。発行制御命令付加部１２４ｃは、命令数判定部１２４ｂから出力された超長命令語が入力すると、入力した超長命令語に発行制御命令を付加する（Ｓ１０４）。付加して得られた超長命令語をオブジェクトコード保持部１２５に出力する。超長命令語生成部１２４ａは、次に生成した超長命令語を命令数判定部１２４ｂに出力する（Ｓ１０２）。
【０１１５】
一方、判定した結果、最大命令数未満でない場合は（Ｓ１０２：Ｎｏ）、受信した超長命令語をオブジェクトコード保持部１２５に出力する。超長命令語生成部１２４ａは、次に生成した超長命令語を命令数判定部１２４ｂに出力する（Ｓ１０２）。
【０１１６】
次に、本実施の形態におけるプロセッサ１０１において実行される命令発行処理について説明する。
【０１１７】
図８は、本実施の形態におけるプロセッサ１０１において実行される命令発行処理を示す図である。図８に示されるように、超長命令語読込部１１４ａは、オブジェクトコード記憶部１１３で記憶されているオブジェクトコード、すなわち、超長命令語に対して、下記の処理を繰り返し実行する（Ｓ１１１）。読込開始アドレス保持部１１４ｂで保持されている読込開始アドレスを参照する。オブジェクトコード記憶部１１３で記憶されているオブジェクトコードの中から、参照した読込開始アドレスによって特定される超長命令語を読み込む（Ｓ１１２）。読み込んだ超長命令語を超長命令語レジスタ１１４ｃに出力する。超長命令語レジスタ１１４ｃは、超長命令語読込部１１４ａから出力された超長命令語を記録する。
【０１１８】
超長命令語解析部１１４ｄは、超長命令語レジスタ１１４ｃで記録されている超長命令語を解析する。解析した結果、超長命令語を構成する各命令の命令長に基づいて、各命令間の境界を特定する（Ｓ１１３）。特定した各命令間の境界に合わせて超長命令語が各命令に分割されるような制御信号を超長命令語分割部１１４ｅに出力する（Ｓ１１４）。
【０１１９】
超長命令語分割部１１４ｅは、超長命令語レジスタ１１４ｃから超長命令語が入力され、超長命令語解析部１１４ｄから制御信号が入力される。入力された制御信号に基づいて、入力された超長命令語を各命令間の境界で分割する。超長命令語を分割して得られた各命令を各命令レジスタに出力する（Ｓ１１５）。
【０１２０】
これに伴い、超長命令語解析部１１４ｄは、各命令レジスタに装填される各命令のサイズに応じて、読込開始アドレスポインタを更新する（Ｓ１１６）。また、解析した超長命令語の中に、発行制御命令が含まれるか否かを判定する（Ｓ１１７）。判定した結果、発行制御命令が含まれる場合は（Ｓ１１７：Ｙｅｓ）、発行制御命令が出力される予定であった命令レジスタから右側の命令レジスタにＮＯＰ化制御信号を出力する（Ｓ１１８）。
【０１２１】
命令レジスタ１１４ｆ〜１１４ｉの各命令レジスタは、超長命令語分割部１１４ｅから出力された命令が入力すると、入力した命令を記録する。記録した命令を発行する。なお、超長命令語解析部１１４ｄからＮＯＰ化制御信号が入力すると、演算ユニット１１５ａ〜１１５ｄのうち、対応する演算ユニットにＮＯＰ命令を発行する。
【０１２２】
以上、本実施の形態におけるプロセッサ１０１によれば、超長命令語が最大命令数に満たないで構成されていても、超長命令語の最後を識別することができる。すなわち、発行制御命令によって、可変長の超長命令語を実行することができる。これによって、本実施の形態におけるオブジェクトコード生成装置１０２は、不要なＮＯＰ命令を割り当てずにオブジェクトコードを生成することができる。
【０１２３】
また、発行制御命令は、命令数の増減に影響されずに一定サイズである。これによって、同一体系の命令セットを利用するプロセッサのシリーズが設計し易くなる。
【０１２４】
（実施の形態２）
以下、本発明に係わる実施の形態２について、図面を参照しながら説明する。
【０１２５】
本実施の形態におけるオブジェクトコード生成装置は、下記（ｋ）に示される特徴を備えない。
【０１２６】
（ｋ）オブジェクトコード生成装置は、超長命令語生成部で生成された超長命令語の命令数が、超長命令語の最大命令数未満であるか否かを判定する命令数判定部を備えていない。これに伴い、発行制御命令付加部は、命令数判定部で命令数が最大命令数未満であるか否かに係わらず、超長命令語生成部で生成された超長命令語に発行制御命令を付加する。
【０１２７】
以上の点を踏まえて、本実施の形態におけるオブジェクトコード生成装置について説明する。なお、実施の形態１における構成と同一の構成については、同一の参照符号を付して説明を省略する。
【０１２８】
先ず、本実施の形態におけるオブジェクトコード生成装置の構成について説明する。
図９は、本実施の形態におけるオブジェクトコード生成装置の構成を示す図である。図９に示されるように、オブジェクトコード生成装置２０２は、実施の形態１におけるオブジェクトコード生成装置１０２と比べて（例えば、図２参照。）、命令数判定部１２４ｂを備えない点が異なる。
【０１２９】
オブジェクトコード生成部２２４は、超長命令語生成部１２４ａ、発行制御命令付加部１２４ｃなどを備える。
【０１３０】
超長命令語生成部１２４ａは、生成した超長命令語を発行制御命令付加部１２４ｃに出力する。
【０１３１】
発行制御命令付加部１２４ｃは、超長命令語生成部１２４ａから出力された超長命令語を入力すると、入力した超長命令語に発行制御命令を付加する。付加して得られた超長命令語をオブジェクトコード保持部１２５に出力する。
【０１３２】
次に、本実施の形態における超長命令語のデータ構造について説明する。
図１０は、本実施の形態における超長命令語のデータ構造を示す図である。図１０に示されるように、ここでは、一例として、超長命令語を構成することができる最大命令数をプロセッサ１０１における演算ユニット１１５ａ〜１１５ｄの数である４とする。
【０１３３】
例えば、超長命令語２４１は、発行制御命令以外の４つの命令と発行制御命令とから構成されている。上位アドレス側（図における左側）から順に、命令１４１ａ（命令１）、命令１４１ｂ（命令２）、命令１４１ｃ（命令３）、命令１４１ｄ（命令４）、命令２４１ｅ（ＩＣ）が配置されている。これは、超長命令語読込部１１４ａから出力された超長命令語が４つの命令から構成されていた場合において、超長命令語生成部１２４ａから出力された超長命令語に対して、発行制御命令付加部１２４ｃで発行制御命令を付加して得られた超長命令語である。
【０１３４】
なお、最大命令数として、プロセッサ１０１における演算ユニット１１５ａ〜１１５ｄの数よりも大きいとしてもよいし、小さいとしてもよい。
【０１３５】
次に、本実施の形態におけるオブジェクトコード生成装置２０２において実行されるオブジェクトコード生成処理について説明する。
【０１３６】
図１１は、本実施の形態におけるオブジェクトコード生成装置２０２において実行されるオブジェクトコード生成処理を示す図である。図１１に示されるように、超長命令語生成部１２４ａは、生成した超長命令語を発行制御命令付加部１２４ｃに出力する。発行制御命令付加部１２４ｃは、超長命令語生成部１２４ａから出力された超長命令語が入力すると、入力した超長命令語に発行制御命令を付加する（Ｓ１０４）。付加して得られた超長命令語をオブジェクトコード保持部１２５に出力する。超長命令語生成部１２４ａは、次に生成した超長命令語を発行制御命令付加部１２４ｃに出力する（Ｓ１０２）。
【０１３７】
以上、本実施の形態におけるオブジェクトコード生成装置２０２によれば、超長命令語を構成する命令数が最大命令数を満たす場合であっても、１以上の命令から構成される超長命令語に、超長命令語の最後が識別される発行制御命令を付加する。これによって、不要なＮＯＰ命令を割り当てずに超長命令語（可変長の超長命令語）を生成することができる。並列して実行することができる命令の集まりを特定することができる。超長命令語を複数回に分けて実行する場合においても、超長命令語の最後を識別することができる。
【０１３８】
また、発行制御命令は、命令数の増減に影響されずに一定サイズである。これによって、同一体系の命令セットを利用するプロセッサのシリーズを設計し易くなる。
【０１３９】
なお、超長命令語に発行制御命令が必ず含まれることを前提にしてプロセッサ１０１が構成されているとしてもよい。例えば、超長命令語解析部１１４ｄは、命令レジスタ１１４ｆ〜１１４ｉを制御して、超長命令語を構成する１以上の命令から発行制御命令を除いた命令を並行して演算ユニット１１５ａ〜１１５ｄへ発行させるとしてもよい。このとき、超長命令語解析部１１４ｄは、超長命令語を解析し、解析した超長命令語に含まれる発行制御命令が装填される命令レジスタを特定する。特定した命令レジスタから右側の命令レジスタにＮＯＰ化制御信号を出力するとしてもよい。
【０１４０】
（実施の形態３）
以下、本発明に係わる実施の形態３について、図面を参照しながら説明する。
【０１４１】
本実施の形態におけるプロセッサは、下記（ｌ）に示される特徴を備える。
（ｌ）（ｌ１）所定の数の命令レジスタにおける各命令レジスタは、超長命令語解析部から所定の制御信号が入力されると、対応する演算ユニットにディセーブル信号を出力し、（ｌ２）超長命令語解析部は、超長命令語に発行制御命令が含まれる場合は、所定の数の命令レジスタにおいて、超長命令語を構成する１以上の命令から発行制御命令を除いた命令が記録されない命令レジスタについては、所定の制御信号を出力する。
【０１４２】
以上の点を踏まえて、本実施の形態におけるプロセッサとオブジェクトコード生成装置とについて説明する。なお、実施の形態１における構成と同一の構成については、同一の参照符号を付して説明を省略する。
【０１４３】
先ず、本実施の形態におけるプロセッサの構成について説明する。
図１２は、本実施の形態におけるプロセッサの構成を示す図である。図１２に示されるように、プロセッサ３０１は、実施の形態１におけるプロセッサ１０１と比べて（例えば、図５参照。）、命令発行部１１４の代わりに、命令発行部３１４を備える点が異なる。
【０１４４】
命令発行部３１４は、命令を並行して命令実行部１１５に発行する。このとき、命令が入力されずに空いている命令レジスタからは、ディセーブル信号が出力される。具体的には、超長命令語解析部１１４ｄの代わりに、超長命令語解析部３１４ｄを備える。
【０１４５】
超長命令語解析部３１４ｄは、超長命令語レジスタ１１４ｃで記録されている超長命令語を解析する。解析した命令の中に、発行制御命令が含まれるか否かを判定する。判定した結果、発行制御命令が含まれる場合は、発行制御命令が装填される命令レジスタから右側の命令レジスタにＨＯＬＤ制御信号を出力する。
【０１４６】
命令レジスタ１１４ｆ〜１１４ｉの各命令レジスタは、超長命令語解析部３１４ｄからＨＯＬＤ制御信号が入力されると、ディセーブル信号を命令実行部１１５に出力する。
【０１４７】
次に、本実施の形態におけるプロセッサ３０１において実行される命令発行処理について説明する。
【０１４８】
図１３は、本実施の形態におけるプロセッサにおいて実行される命令発行処理を示す図である。図１３に示されるように、超長命令語解析部３１４ｄは、解析した超長命令語の中に、発行制御命令が含まれるか否かを判定する（Ｓ１１７）。判定した結果、発行制御命令が含まれる場合は（Ｓ１１７：Ｙｅｓ）、発行制御命令が出力される予定であった命令レジスタから右側の命令レジスタにＨＯＬＤ制御信号を出力する（Ｓ３１８）。これに伴い、命令レジスタ１１４ｆ〜１１４ｉは、超長命令語解析部３１４ｄからＨＯＬＤ制御信号が入力すると、演算ユニット１１５ａ〜１１５ｄのうち、対応する演算ユニットにディセーブル信号を出力する。
【０１４９】
以上、本実施の形態におけるプロセッサ３０１によれば、発行制御命令によって、超長命令語の最後を識別することができる。可変命令長の超長命令語を実行することができる。また、ＮＯＰ命令を発行する代わりに、ディセーブル信号を出力することにより、不要な命令を出力することを抑止し、消費電力を抑えることができる。
【０１５０】
（その他）
なお、プロセッサは、プロセッサの各機能が組み込まれたＬＳＩによって実現されるとしてもよい。
【０１５１】
なお、ＬＳＩは、フルカスタムＬＳＩ、ＡＳＩＣ（Application Specific Integrated Circuit）などのようなセミカスタムＬＳＩ、ＦＰＧＡやＣＰＬＤなどのようなプログラマブル・ロジック・デバイス、動的に回路構成が書き換え可能なダイナミック・リコンフィギュラブル・デバイスに形成されるとしてもよい。
【０１５２】
さらに、プロセッサの各機能をＬＳＩに形成する設計データは、ハードウェア記述言語によって記述されたプログラム（以下、ＨＤＬプログラムと呼称する。）としてもよい。さらに、ＨＤＬプログラムを論理合成して得られるゲート・レベルのネットリストとしてもよい。また、ゲート・レベルのネットリストに、配置情報、プロセス条件等を付加したマクロセル情報としてもよい。また、寸法、タイミング等が規定されたマスクデータとしてもよい。ここで、ハードウェア記述言語として、ＶＨＤＬ（Very high speed integrated circuit Hardware Description Language）、Ｖｅｒｉｌｏｇ−ＨＤＬ、ＳｙｓｔｅｍＣがある。
【０１５３】
さらに、設計データは、コンピュータシステム、組み込みシステムなどのようなハードウェアシステムに読み取り可能な記録媒体に記録されているとしてもよい。さらに、記録媒体を介して他のハードウェアシステムに読み出されて実行されるとしてもよい。そして、これらの記録媒体を介して他のハードウェアシステムに読み取られた設計データが、ダウンロードケーブルを介して、プログラマブル・ロジック・デバイスにダウンロードされるとしてもよい。ここで、コンピュータシステム読み取り可能な記録媒体として、光学記録媒体（例えば、ＣＤ−ＲＯＭなど。）、磁気記録媒体（例えば、ハードディスクなど。）、光磁気記録媒体（例えば、ＭＯなど。）、半導体メモリ（例えば、メモリカードなど。）などがある。
【０１５４】
または、設計データは、インターネット、ローカルエリアネットワークなどのようなネットワークに接続されているハードウェアシステムに保持されているとしてもよい。さらに、ネットワークを介して他のハードウェアシステムにダウンロードされて実行されるとしてもよい。そして、これらのネットワークを介して他のハードウェアシステムに取得された設計データが、ダウンロードケーブルを介して、プログラマブル・ロジック・デバイスにダウンロードされるとしてよい。ここで、ネットワークとして、地上放送網、衛星放送網、ＰＬＣ（Power Line Communication）、移動電話網、有線通信網（例えば、ＩＥＥＥ８０２．３など。）、無線通信網（例えば、ＩＥＥＥ８０２．１１など。）がある。
【０１５５】
または、設計データは、通電時にＦＰＧＡに転送され得るように、シリアルＲＯＭに記録しておくとしてもよい。そして、シリアルＲＯＭに記録された設計データは、通電時に、直接、ＦＰＧＡにダウンロードされるとしてもよい。
【０１５６】
または、設計データは、通電時に、マイクロプロセッサによって生成されて、ＦＰＧＡにダウンロードされるとしてもよい。
【０１５７】
なお、オブジェクトコード生成装置は、ＣＰＵ（Central Processing Unit）、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、ＨＤＤ（Hard Disk Drive）、ネットワークインターフェースなどを備えるとしてもよい。さらに、ＨＤＤなどに、オブジェクトコード生成装置を制御するプログラム（以下、オブジェクトコード生成プログラムと呼称する。）がインストールされており、オブジェクトコード生成プログラムが実行されることによって、オブジェクトコード生成装置の各機能が実現されるとしてもよい。
【０１５８】
なお、オブジェクトコード生成プログラムは、コンピュータシステム、組み込みシステムなどのようなハードウェアシステムに読み取り可能な記録媒体に記録されているとしてもよい。さらに、記録媒体を介して他のハードウェアシステムに読み出されて実行されるとしてもよい。これによって、オブジェクトコード生成装置の各機能を他のハードウェアシステムに実現することができる。ここで、コンピュータシステム読み取り可能な記録媒体として、光学記録媒体（例えば、ＣＤ−ＲＯＭなど。）、磁気記録媒体（例えば、ハードディスクなど。）、光磁気記録媒体（例えば、ＭＯなど。）、半導体メモリ（例えば、メモリカードなど。）などがある。
【０１５９】
また、オブジェクトコード生成プログラムは、インターネット、ローカルエリアネットワークなどのようなネットワークに接続されているハードウェアシステムに保持されているとしてもよい。さらに、ネットワークを介して他のハードウェアシステムにダウンロードされて実行されるとしてもよい。これによって、オブジェクトコード生成装置の各機能を他のハードウェアシステムに実現することができる。ここで、ネットワークとして、地上放送網、衛星放送網、ＰＬＣ、移動電話網、有線通信網（例えば、ＩＥＥＥ８０２．３など。）、無線通信網（例えば、ＩＥＥＥ８０２．１１など。）がある。
【産業上の利用可能性】
【０１６０】
本発明は、複数の命令を並行して実行することができるプロセッサと、そのプロセッサ用のオブジェクトコードを生成するオブジェクトコード生成装置となどとして、利用することができる。
【図面の簡単な説明】
【０１６１】
【図１】本発明に係わる実施の形態１におけるプロセッサとプロセッサ用のオブジェクトコード生成装置との概要を示す図
【図２】本発明に係わる実施の形態１におけるオブジェクトコード生成装置の構成を示す図
【図３】本発明に係わる実施の形態１における超長命令語のデータ構造を示す図
【図４】本発明に係わる実施の形態１における超長命令語を構成する各命令のデータ構造を示す図
【図５】本発明に係わる実施の形態１におけるプロセッサの構成を示す図
【図６】本発明に係わる実施の形態１におけるプロセッサにおいてオブジェクトコード記憶部から超長命令語レジスタに超長命令語が転送される過程を示す図
【図７】本発明に係わる実施の形態１におけるオブジェクトコード生成装置において実行されるオブジェクトコード生成処理を示す図
【図８】本発明に係わる実施の形態１におけるプロセッサにおいて実行される命令発行処理を示す図
【図９】本発明に係わる実施の形態２におけるオブジェクトコード生成装置の構成を示す図
【図１０】本発明に係わる実施の形態２における超長命令語のデータ構造を示す図
【図１１】本発明に係わる実施の形態２におけるオブジェクトコード生成装置において実行されるオブジェクトコード生成処理を示す図
【図１２】本発明に係わる実施の形態３におけるプロセッサの構成を示す図
【図１３】本発明に係わる実施の形態３におけるプロセッサにおいて実行される命令発行処理を示す図
【符号の説明】
【０１６２】
１０１  プロセッサ
１０２  オブジェクトコード生成装置
１０３  ソースコード
１０４  オブジェクトコード
１１１  メモリ
１１２  オブジェクトコード読込部
１１３  オブジェクトコード記憶部
１１４  命令発行部
１１４ａ  超長命令語読込部
１１４ｂ  読込開始アドレス保持部
１１４ｃ  超長命令語レジスタ
１１４ｄ  超長命令語解析部
１１４ｅ  超長命令語分割部
１１４ｆ〜１１４ｉ  命令レジスタ
１１５  命令実行部
１１５ａ〜１１５ｄ  演算ユニット
１２１  ソースコード保持部
１２２  中間コード生成部
１２３  中間コード保持部
１２４  オブジェクトコード生成部
１２４ａ  超長命令語生成部
１２４ｂ  命令数判定部
１２４ｃ  発行制御命令付加部
１２５  オブジェクトコード保持部
１４１〜１４４  超長命令語
１４１ａ〜１４１ｄ  命令
１４２ａ〜１４２ｃ  命令
１４２ｄ  発行制御命令
１４３ａ〜１４３ｂ  命令
１４３ｃ  発行制御命令
１４４ａ  命令
１４４ｂ  発行制御命令
１６０  命令コード
１６１  命令長フィールド
１６２  命令フィールド
２０２  オブジェクトコード生成装置
２２４  オブジェクトコード生成部
２４１ｅ  発行制御命令
３０１  プロセッサ
３１４  命令発行部
３１４ｄ  超長命令語解析部
【図１】
2008090744.tif 000003
【図２】
2008090744.tif 000004
【図３】
2008090744.tif 000005
【図４】
2008090744.tif 000006
【図５】
2008090744.tif 000007
【図６】
2008090744.tif 000008
【図７】
2008090744.tif 000009
【図８】
2008090744.tif 000010
【図９】
2008090744.tif 000011
【図１０】
2008090744.tif 000012
【図１１】
2008090744.tif 000013
【図１２】
2008090744.tif 000014
【図１３】
2008090744.tif 000015