JPH0954693A - Vliwプロセッサ - Google Patents

Vliwプロセッサ

Info

Publication number
JPH0954693A
JPH0954693A JP20613895A JP20613895A JPH0954693A JP H0954693 A JPH0954693 A JP H0954693A JP 20613895 A JP20613895 A JP 20613895A JP 20613895 A JP20613895 A JP 20613895A JP H0954693 A JPH0954693 A JP H0954693A
Authority
JP
Japan
Prior art keywords
instruction
delay
holding
holding means
decoding
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP20613895A
Other languages
English (en)
Inventor
Makoto Watanabe
誠 渡邊
Shinichiro Suzuki
慎一郎 鈴木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP20613895A priority Critical patent/JPH0954693A/ja
Publication of JPH0954693A publication Critical patent/JPH0954693A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

(57)【要約】 【課題】ノー・オペレーション命令や演算器が有効に利
用できるようにする。 【解決手段】命令レジスタ12にフェッチされた長命令
語の各命令フィールド#0〜#3の命令を主デコード機
構17にてデコードし、遅延命令があった場合には、当
該遅延命令の指定する命令フィールド#i(iは0〜3
のいずれか)の命令を遅延対象命令保持部14-iに移す
と共に、当該遅延命令の指定する遅延サイクル数をカウ
ンタ15-iにセットする。このセットされた遅延サイク
ル数をカウンタ15-iでカウントし終えると、対応する
遅延対象命令保持部14-iの保持命令が副デコード機構
18にてデコードされ、命令フィールド#iの命令のデ
コード結果として、同じサイクルにおける主デコード機
構17での命令フィールド#iの命令のデコード結果と
共に演算部13-iに送られる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、複数の命令フィー
ルドを有する長命令語(Very Long InstructionWord:
VLIW)を実行するVLIWプロセッサに関する。
【0002】
【従来の技術】近年、複数の命令フィールドを持つ長命
令語を実行するVLIWプロセッサが出現している。こ
の種のVLIWプロセッサで実行される長命令語列から
なるロードモジュールは、データの依存関係や演算器の
構成の制約から、例えば4並列VLIWプロセッサ用の
ロードモジュールであっても、常に4命令同時に実行で
きるわけではなく、2割から5割の命令は何も実行しな
いノー・オペレーション命令(nop命令)となってい
るのが一般的である。
【0003】このような4並列VLIWプロセッサ用の
ロードモジュールの一例を図5(a)に示す。図5
(a)において、クラスタ52の(長命令語中の)各命
令フィールド#0〜#3の命令520〜523は、いず
れも先行するクラスタ51の命令フィールド#0の加算
(add)命令510の演算結果を使って実行される。
このため、命令520〜523は、いずれもクラスタ5
1に配置することはできず、クラスタ51の命令フィー
ルド#1〜#3はnop命令となっている。
【0004】また、VLIWプロセッサの特性から、図
20のように、プロセッサ内の各演算器は、それぞれ長
命令語の各命令フィールド(ここでは4つの命令フィー
ルド#0〜#3)に対応している。このため、例えば命
令フィールド#1に整数型乗算命令を配置して当該命令
を実行しようとすると、同じ命令フィールド#1に対応
して設けられている他の演算器、例えば整数型加算命令
実行用の演算器(整数型加算器)や、浮動小数点型乗算
命令実行用の演算器(浮動小数点型乗算器)等は使用す
ることができない。このような場合、他の演算器を使用
する命令は、後続のクラスタに配置しなければならな
い。図5(a)中のクラスタ53の命令フィールド#1
の加算命令531はこれに当たる。
【0005】
【発明が解決しようとする課題】上記したように従来の
VLIWプロセッサにあっては、データの依存関係や演
算器の構成の制約から何も実行しないノー・オペレーシ
ョン命令の占める割合が比較的多く無駄であるという問
題があった。
【0006】また従来のVLIWプロセッサにあって
は、各演算器がそれぞれ命令フィールドに対応している
ため、ある命令フィールドで1つの演算器を使用した場
合、その命令フィールドに対応する他の演算器を使用す
ることはできないという問題もあった。本発明は上記事
情を考慮してなされたものでその目的は、ノー・オペレ
ーション命令や演算器を有効に利用できるVLIWプロ
セッサを提供することにある。
【0007】
【課題を解決するための手段】本発明は、VLIWプロ
セッサで実行可能な命令の1つとして、命令の遅延と遅
延すべき命令が配置されている命令フィールドとを指定
する遅延命令を用意する他、実行すべき長命令語の各命
令フィールドに配置されている命令のデコードを司る主
デコード手段と、遅延命令で指定された命令(遅延対象
命令)のデコードを司る副デコード手段と、遅延対象命
令を保持しておくための、長命令語の各命令フィールド
に対応してそれぞれ設けられた遅延対象命令保持手段
と、遅延対象命令の遅延サイクル数をカウントするため
の、上記各遅延対象命令保持手段に対応してそれぞれ設
けられた遅延サイクル数カウント手段とを備え、上記主
デコード手段にて遅延命令をデコードした際には、当該
遅延命令を含む長命令語中の命令のうち当該遅延命令の
指定する命令フィールドの命令を対応する遅延対象命令
保持手段に保持すると共に、予め定められた遅延サイク
ル数をその命令保持手段に対応する遅延サイクル数カウ
ント手段に設定し、この設定された遅延サイクル数を遅
延サイクル数カウント手段がカウントし終えた段階で、
対応する命令保持手段に保持されている命令を、その命
令保持手段に対応する命令フィールドに配置された命令
として副デコード手段がデコードする構成としたことを
特徴とする。
【0008】このような構成においては、主デコード手
段によって遅延命令と同時にデコードされる同じクラス
タの命令のうち、当該遅延命令の指定する命令フィール
ドの命令が遅延対象命令として、その命令フィールドに
対応する遅延対象命令保持手段に保持されて、予め定め
られた遅延サイクルの後に、その命令フィールドに配置
されている命令として、主デコード手段による長命令語
中の各命令を対象とする命令デコードと並行してデコー
ドされる。
【0009】この結果、副デコード手段によりデコード
される遅延対象命令(遅延された命令)の命令フィール
ドに対応して複数種の演算器が用意されているVLIW
プロセッサにあっては、そのうちの2つの演算器(遅延
対象命令を実行する演算器と、当該遅延対象命令と並行
して主デコード手段によりデコードされている命令のう
ち、当該遅延対象命と同じ命令フィールド位置にある命
令を実行する演算器との2つ)を同時に使用することが
可能となる。また、従来であれば、ノー・オペレーショ
ン命令を配置しなければならなかった命令フィールドに
遅延命令と当該遅延命令により遅延を指定される命令と
を配置することが可能となり、ノー・オペレーション命
令(が本来配置される命令フィールド)の有効利用が図
れる。
【0010】この構成では、長命令語の各命令フィール
ドに対応して遅延対象命令保持手段が設けられているこ
とから、各命令フィールド毎に1度に1命令ずつ遅延さ
せることが可能である。
【0011】この他、遅延対象命令保持手段を長命令語
の各命令フィールドに無関係にN個(Nは1以上の整
数)設け、更にこのN個の遅延対象命令保持手段毎に、
その遅延対象命令保持手段に保持された命令が配置され
ていた長命令語上の命令フィールド位置を保持しておく
ための命令フィールド位置保持手段と、その遅延対象命
令保持手段に保持された命令の遅延サイクル数をカウン
トするための遅延サイクル数カウント手段とを設けるこ
とで、命令フィールドに無関係に1度にN命令まで遅延
させる構成とすることも可能である。
【0012】この構成では、長命令語の各命令フィール
ドとN個の遅延対象命令保持手段とは1対1で対応して
いない。そこで主デコード手段は、遅延命令のデコード
時には、当該遅延命令の指定する命令をN個の遅延対象
命令保持手段の1つに保持すると共にその命令保持手段
に対応する遅延サイクル数カウント手段に遅延サイクル
数を設定するだけでなく、その命令保持手段に対応する
命令フィールド位置保持手段に当該遅延命令の指定する
命令フィールド位置を保持すればよい。こうすること
で、副デコード手段は、遅延対象命令保持手段に保持さ
れている命令を遅延サイクル数の経過後にデコードする
場合に、その命令をどの命令フィールドに配置された命
令としてデコードするのかを正しく認識できる。
【0013】この他、遅延すべき命令を遅延命令と同じ
クラスタとせずに、所定サイクル(第1の遅延サイクル
数)後のクラスタとし、その遅延すべき命令が配置され
ている命令フィールドを、その所定サイクル後のクラス
タにおける遅延命令と同じ命令フィールドと予め決めて
おくことで、遅延命令による遅延すべき命令の配置先フ
ィールドの指定を不要とすることも可能である。
【0014】この場合、主デコード手段は、遅延命令の
デコード時には、当該遅延命令を当該遅延命令が配置さ
れている命令フィールドに対応する遅延対象命令保持手
段に保持すると共に(或いは当該遅延命令をN個の遅延
対象命令保持手段の1つに保持し、且つその命令保持手
段に対応する命令フィールド位置保持手段に当該遅延命
令の命令フィールド位置を保持すると共に)、所定の遅
延サイクル数(第1の遅延サイクル数)をその命令保持
手段に対応する遅延サイクル数カウント手段に設定すれ
ばよい。また、副デコード手段は、遅延対象命令保持手
段に保持されている命令をデコードした際に、当該保持
命令が遅延命令であったならば、その際に主デコード手
段によりデコードされている命令のうち、同じ命令フィ
ールドに配置されている命令を主デコード手段から受け
取ってその命令保持手段に保持すると共に(或いは同じ
命令フィールドに配置されている命令をN個の遅延対象
命令保持手段の1つに保持し、且つその命令フィールド
位置をその命令保持手段に対応する命令フィールド位置
保持手段に保持すると共に)、予め定められた遅延サイ
クル数をその命令保持手段に対応する遅延サイクル数カ
ウント手段に設定すればよい。
【0015】この他、遅延すべき命令が存在するクラス
タ位置とそのクラスタ内の命令フィールド位置を遅延命
令により任意に指定することも可能である。このクラス
タ位置は、遅延命令が存在するクラスタ位置から何クラ
スタ後であるかという相対クラスタ位置により示され
る。
【0016】この場合、主デコード手段は、遅延命令の
デコード時には、当該遅延命令を当該遅延命令が配置さ
れている命令フィールドに対応する遅延対象命令保持手
段に保持すると共に(或いは当該遅延命令をN個の遅延
対象命令保持手段の1つに保持し、且つその命令保持手
段に対応する命令フィールド位置保持手段に当該遅延命
令の命令フィールド位置を保持すると共に)、当該遅延
命令の指定するクラスタ位置で決まる遅延サイクル数を
その命令保持手段に対応する遅延サイクル数カウント手
段に設定すればよい。また、副デコード手段は、遅延対
象命令保持手段に保持されている命令をデコードした際
に、当該保持命令が遅延命令であったならば、その際に
主デコード手段によりデコードされている命令のうち、
当該保持命令(遅延命令)の指定する命令フィールドに
配置されている命令を主デコード手段から受け取ってそ
の命令保持手段に保持すると共に(或いは当該保持命令
の指定する命令フィールドに配置されている命令をN個
の遅延対象命令保持手段の1つに保持し、且つその命令
フィールド位置をその命令保持手段に対応する命令フィ
ールド位置保持手段に保持すると共に)、予め定められ
た遅延サイクル数をその命令保持手段に対応する遅延サ
イクル数カウント手段に設定すればよい。この他、遅延
命令中で遅延サイクル数を指定することで、遅延命令毎
に任意の遅延サイクルを設定することも可能である。
【0017】
【発明の実施の形態】以下、本発明の実施形態につき図
面を参照して説明する。 [第1の実施形態]図1は本発明の第1の実施形態に係
るパイプライン制御方式のVLIWプロセッサの構成を
示すブロック図である。
【0018】図1に示すVLIWプロセッサは、例えば
4つの命令フィールド#0〜#3を持つ長命令語(VL
IW)を実行する演算プロセッサであり、命令フェッチ
機構11、命令レジスタ12、演算装置13、遅延対象
命令保持部14-0〜14-3、カウンタ15-0〜15-3、
ゼロ検出器16-0〜16-3、主デコード機構17及び副
デコード機構18を備えている。
【0019】ところで本実施形態では、長命令語の命令
フィールド#0〜#3に配置可能な命令の種類として、
整数型加算を指定する整数型加算命令、浮動小数点型加
算を指定する浮動小数点型加算命令、整数型乗算を指定
する整数型乗算命令、浮動小数点型乗算を指定する浮動
小数点型乗算命令など周知の命令に加えて、次に述べる
本実施形態に特有の遅延命令(late命令)が用意さ
れる。
【0020】即ち本実施形態では、命令の遅延と遅延す
べき命令が配置されている命令フィールド(のフィール
ド番号)とを指定する図2(a)に示すフォーマットの
遅延命令“late(フィールド番号)”、または命令
の遅延と遅延すべき命令が配置されている命令フィール
ド(のフィールド番号)と遅延サイクル数とを指定する
図3(a)に示すフォーマットの遅延命令“late
(フィールド番号,遅延サイクル数)”が用意される。
【0021】図2(a)の遅延命令“late(フィー
ルド番号)”は、例えば図2(b)に示すように“la
te(1)”の場合、即ちフィールド番号=1の場合で
あれば、その遅延命令“late(1)”と同じクラス
タのフィールド#1の命令“×”を、固定のサイクル
(システムで予め定められている一定のサイクル)、例
えば1サイクル遅延させることを指定する。
【0022】また、図3(a)の遅延命令“late
(フィールド番号,遅延サイクル数)”は、例えば図3
(b)に示すように“late(1,3)”の場合であ
れば、即ちフィールド番号=1、遅延サイクル数=3の
場合であれば、その遅延命令“late(1,3)”と
同じクラスタのフィールド#1の命令“×”を、3サイ
クル遅延させることを指定する。
【0023】ここでは、図3(a)の遅延命令が適用さ
れるものとする。さて、図1の構成において、フェッチ
機構11は、(図示せぬ命令キャッシュ等から)パイプ
ラインで長命令語をフェッチする(読み出す)。
【0024】命令レジスタ12は、命令フェッチ機構1
1によりフェッチされた長命令語を保持する。演算装置
13は、長命令語の命令フィールド#0〜#3に対応す
る4つの演算部13-0〜13-3からなる。この演算部1
3-0〜13-3は、それぞれ複数の演算器を有している。
【0025】遅延対象命令保持部14-0〜14-3は、長
命令語中の遅延すべき命令フィールド#0〜#3の命令
を保持するのに用いられる。カウンタ15-0〜15-3
は、遅延対象命令保持部14-0〜14-3に保持された命
令の遅延サイクル数を、カウントイネーブルの期間だけ
パイプラインサイクル(パイプラインクロック)に同期
してカウントする。
【0026】ゼロ検出器16-0〜16-3は、カウンタ1
5-0〜15-3のカウント値がゼロとなったことを検出す
る。このゼロ検出器16-0〜16-3のゼロ検出出力は、
カウンタ15-0〜15-3のイネーブル端子ENに入力さ
れ、当該カウンタ15-0〜15-3のカウント動作を禁止
するのに用いられる。
【0027】主デコード機構17は、フェッチ機構11
によって命令レジスタ12にフェッチされた長命令語の
命令フィールド#0〜#3に配置されている各命令をパ
イプラインでデコード(解読)し、演算命令のデコード
時であれば、そのデコード結果を演算装置13の演算部
13-0〜13-3(内の対応する演算器)に送る。
【0028】また主デコード機構17は、図3(a)に
示した遅延命令“late(フィールド番号,遅延サイ
クル数)”をデコードした場合には、デコード中の同じ
クラスタの命令のうち、当該遅延命令の指定する命令フ
ィールド#i(iは0〜3のいずれか)に配置されてい
る命令(遅延対象命令)をその命令フィールド#iに対
応する遅延対象命令保持部14-iに保持すると共に、当
該遅延命令の指定する遅延サイクル数を遅延対象命令保
持部14-iに対応するカウンタ15-iに設定する。
【0029】副デコード機構18は、遅延対象命令保持
部14-0〜14-3に保持されている命令をゼロ検出器1
6-0〜16-3からのゼロ検出出力に応じてデコードし、
演算命令のデコード時であれば、そのデコード結果を命
令フィールド#0〜#3に配置された命令に対するデコ
ード結果として演算装置13の演算部13-0〜13-3
(内の対応する演算器)に送る。
【0030】次に、図1の構成の動作を図4のフローチ
ャートを参照して説明する。まず、フェッチ機構11に
よって(図示せぬ命令キャッシュ等から)フェッチされ
た長命令語は命令レジスタ12に保持される。
【0031】主デコード機構17は、各パイプラインサ
イクル毎に、命令レジスタ12に保持されている長命令
語を入力する(ステップS1)。次に主デコード機構1
7は、入力した長命令語の各命令フィールド#0〜#3
に配置されている命令に対するデコード処理を開始し
て、当該長命令語中に図3(a)に示したような遅延命
令(late命令)があるか否かをチェックし(ステッ
プS2)、遅延命令があるならば、入力した長命令語の
うち、当該遅延命令の指定する命令フィールド#i(i
は0〜3のいずれか)の命令(当該遅延命令と同じクラ
スタの命令フィールド#iの命令)を遅延すべき命令と
して、(遅延対象命令保持部14-0〜14-3のうちの)
その命令フィールド#iに対応する遅延対象命令保持部
14-iに移す(ステップS3)。
【0032】同時に主デコード機構17は、遅延命令の
指定する遅延サイクル数を、遅延対象命令保持部14-i
に対応するカウンタ15-iにセットする(ステップS
4)。このステップS1〜S4の処理は、パイプライン
サイクル(デコードサイクル)の前半部で行われる。
【0033】主デコード機構17は、入力した長命令語
中に遅延命令がある場合には上記ステップS3,S4を
実行した後に、遅延命令がない場合にはそのまま(上記
ステップS3,S4をスキップして)、当該長命令語の
各命令フィールド#0〜#3に配置されている命令(遅
延命令を除く)に対する残りのデコード処理を行う(ス
テップS5)。このデコード処理では、例えば対象とな
る命令が演算命令であれば、演算の対象となるソースオ
ペランドのフェッチ等が行われる。
【0034】ステップS5での命令フィールド#0〜#
3の命令に対するデコード結果は、当該命令が演算命令
の場合には、演算装置13の演算部13-0〜13-3(内
の対応する演算器)に送られる。
【0035】なお、入力した長命令語中に遅延命令があ
る場合、当該遅延命令の指定する遅延対象命令は、ステ
ップS5のデコード処理ではnop命令(ノー・オペレ
ーション命令)として扱われる。
【0036】カウンタ15-0〜15-3は、そのカウント
値がゼロでない場合には、パイプラインクロックに同期
してダウンカウント動作を行う。このカウンタ15-0〜
15-3のカウント値はゼロ検出器16-0〜16-3に入力
される。ゼロ検出器16-0〜16-3は例えばノアゲート
で構成されており、対応するカウンタ15-0〜15-3の
カウント値がゼロ(オール“0”)の場合に、その旨を
示す有効なゼロ検出信号を出力する。したがって、ゼロ
検出器16-0〜16-3は、対応するカウンタ15-0〜1
5-3に遅延サイクル数がセットされた場合には、カウン
タ15-0〜15-3においてそのサイクル数をカウントし
終えた段階で、即ちそのサイクル数分のパイプラインサ
イクルが経過した段階で、有効なゼロ検出信号を出力す
ることになる。
【0037】ゼロ検出器16-0〜16-3からの有効なゼ
ロ検出信号は、カウンタ15-0〜15-3のカウント動作
を禁止する信号として用いられる他、副デコード機構1
8に対して、対応する遅延対象命令保持部14-0〜14
-3に保持されている命令のデコード処理を指示する信号
として用いられる。
【0038】副デコード機構18は、各パイプラインサ
イクル毎に、ゼロ検出器16-0〜16-3からのゼロ検出
出力をチェックする(ステップS11)。このステップ
S11でのチェックの結果、カウンタ15-i(iは0〜
3のいずれか)のカウント値がゼロであったならば、副
デコード機構18は、そのカウンタ15-iに対応する遅
延対象命令保持部14-iに保持されている命令を命令フ
ィールド#iの命令として入力して、当該命令に対する
デコード処理を行う(ステップS12)。
【0039】副デコード機構18は、このステップS1
2でのデコード処理において、処理対象となった遅延対
象命令保持部14-iの保持命令が演算命令であったなら
ば、その演算命令に対するデコード結果を命令フィール
ド#iに対応する演算部13-i(内の対応する演算器)
に送る。このとき副デコード機構18は、処理対象とな
った遅延対象命令保持部14-iの保持命令(遅延対象命
令)をnop命令に置き換えて当該遅延対象命令保持部
14-iを初期化する。これにより、カウンタ15-iのカ
ウント値がゼロのままであるために、後続のサイクルに
おいても遅延対象命令保持部14-iの保持命令が副デコ
ード機構18によりデコードされたとしても、何ら問題
とはならない。なお、初期状態においては、遅延対象命
令保持部14-0〜14-3にはいずれもnop命令が設定
され、カウンタ15-0〜15-3にはゼロが設定されるも
のとする。この他、遅延対象命令保持部14-iをnop
命令で初期化する代わりに、カウンタ15-iに(設定可
能な)最大値をセットするようにしてもよい。
【0040】以上のように本実施形態においては、遅延
命令で指定された同じクラスタの指定フィールドの命令
は、その遅延命令の指定する遅延サイクル後に、その遅
延サイクル後のクラスタの各命令が主デコード機構17
にてデコードされるのと並行して、副デコード機構18
にてデコードされる。この結果、同一の命令フィールド
#iに対応する演算部13-i内の演算器を2種同時に使
用することができる。
【0041】したがって、例えば図5(a)に示したロ
ードモジュール中の命令521,531は、遅延命令に
より一方の命令を1サイクルだけ遅延させることによ
り、命令フィールド#1に対応する演算部内の異なる演
算器(乗算器と加算器)を用いて同時に実行することが
できる。
【0042】図5(b)は、図5(a)に示したロード
モジュールと同一機能を、遅延命令を用いて実現したロ
ードモジュールの一例を示す。図5(b)のロードモジ
ュールのクラスタ54のフィールド#0には、図5
(a)のロードモジュールのクラスタ51と同様に加算
命令510が配置されている。また、当該クラスタ54
のフィールド#1には、図5(a)のロードモジュール
のクラスタ53のフィールド#1に配置されていた加算
命令531が配置され、当該クラスタ54のフィールド
#3(フィールド#2であっても構わない)には、当該
クラスタ54の命令フィールド#1の命令(ここでは加
算命令531)を1サイクルだけ遅延させることを指定
する遅延命令543(“late(1,1)”)が配置
されている。また、クラスタ54の次のクラスタ55
は、図5(a)のロードモジュールのクラスタ52と同
一内容である。
【0043】この図5(b)に示したロードモジュール
を図1のVLIWプロセッサで実行すると、まずクラス
タ54の各命令フィールド#0〜#3の命令が主デコー
ド機構17でデコードされるサイクルでは、その前半部
で、遅延命令543(“late(1,1)”)の指定
する同じクラスタ54の命令フィールド#1の加算命令
531が遅延対象命令保持部14-1に保持されると共
に、遅延サイクル数=1がカウンタ15-1にセットされ
る。このカウンタ15-1(にセットされた遅延サイクル
数=1)は、そのサイクルの終了時に1デクリメントさ
れ、これによりカウンタ15-1のカウント値は次のサイ
クルの開始時にはゼロとなる。
【0044】次のサイクルでは、クラスタ54に後続す
るクラスタ55の命令フィールド#0〜#3の命令52
0〜523が主デコード機構17でデコードされる。こ
のとき、少なくともカウンタ15-1のカウント値はゼロ
であることから、(クラスタ54の各命令に対するデコ
ードサイクルにおいて遅延対象命令保持部14-1に保持
された)クラスタ54の命令フィールド#1の加算命令
531が、ゼロ検出器16-1からの有効なゼロ検出信号
に応じて副デコード機構18でデコードされる。
【0045】この結果、主デコード機構17から演算部
13-0〜13-3に対し、クラスタ55の命令520〜5
23に対するデコード結果が出力されると共に、副デコ
ード機構18から演算部13-1に対し、1サイクル遅延
されたクラスタ54の命令531に対するデコード結果
が出力される。これにより、命令フィールド#1に対応
する演算部13-1では、クラスタ55中の乗算命令52
1の指定する乗算が当該演算部13-1内の乗算器で実行
されると同時に、クラスタ54中の加算命令531の指
定する加算が当該演算部13-1内の加算器で行われる。
【0046】このように本実施形態では、遅延命令54
3を用いることで、クラスタ54,55の命令フィール
ド31に配置された命令531,521を、命令フィー
ルド#1に対応する演算部13-1で同時に実行させるこ
とができる。しかも、3クラスタからなる図5(a)の
ロードモジュールと同一の機能を、クラスタ54,55
の2クラスタで実現することができ、nop命令の占め
る割合を減らすことができる。
【0047】なお、以上の例は、命令フィールド#1の
命令を遅延させた場合であるが、図1の構成では、命令
フィールド#0〜#3に対応してそれぞれ遅延対象命令
保持部14-0〜14-3(及びカウンタ15-0〜15-3)
が設けられていることから、各フィールド#0〜#3毎
に、1度に1命令ずつ遅延させることができることは明
らかである。
【0048】また、以上は、遅延命令として、命令の遅
延と遅延すべき命令が配置されている命令フィールド
(のフィールド番号)と遅延サイクル数とを指定する図
3(a)に示すフォーマットの遅延命令を適用した場合
について説明したが、本実施形態においては、命令の遅
延と遅延すべき命令が配置されている命令フィールド
(のフィールド番号)とを指定する図2(a)に示すフ
ォーマットの遅延命令を適用することも可能である。こ
の場合、遅延サイクル数として、予め定められている一
定サイクル数、例えば“1”を用いればよく、それ以外
の点は、図3(a)に示すフォーマットの遅延命令を適
用した場合と同様である。
【0049】ところで、前記第1の実施形態において
は、遅延対象命令保持部、カウンタ及びゼロ検出器を、
命令フィールドの数だけ必要とする。そこで、これら遅
延対象命令保持部、カウンタ及びゼロ検出器が命令フィ
ールド数に無関係に1つだけで済むようにした第2の実
施形態につき図面を参照して説明する。 [第2の実施形態]図6は本発明の第2の実施形態に係
るパイプライン制御方式のVLIWプロセッサの構成を
示すブロック図である。なお、図1と同一部分には同一
符号を付して説明を省略する。
【0050】この図6の構成のVLIWプロセッサが図
1の構成のVLIWプロセッサと異なる点は、各命令フ
ィールド#0〜#3に対応するそれぞれ4つの遅延対象
命令保持部14-0〜14-3、カウンタ15-0〜15-3及
びゼロ検出器16-0〜16-3に代えて、フィールド#0
〜#3に無関係のそれぞれ1つの遅延対象命令保持部2
4、カウンタ25及びゼロ検出器26を設ける他に、遅
延対象命令保持部24に保持される命令が配置されてい
た命令フィールド位置を保持するためのフィールド位置
保持部29を新たに設けたことである。
【0051】これに伴い、図6の構成では、図1中の主
デコード機構17及び副デコード機構18に代えて、主
デコード機構27及び副デコード機構28が用いられて
いる。
【0052】主デコード機構27は、図3(a)に示し
た遅延命令“late(フィールド番号,遅延サイクル
数)”をデコードした場合に、デコード中の同じクラス
タの命令のうち、当該遅延命令の指定する命令フィール
ド#i(iは0〜3のいずれか)に配置されている命令
(遅延対象命令)を遅延対象命令保持部24に保持する
と共に、当該遅延命令の指定する遅延サイクル数をカウ
ンタ25に設定する他、当該遅延命令の指定する命令フ
ィールド#iを示すフィールド番号をフィールド位置保
持部29に保持するように構成されている。
【0053】一方、副デコード機構28は、遅延対象命
令保持部24に保持されている命令をゼロ検出器26か
らのゼロ検出出力に応じてデコードし、演算命令のデコ
ード時であれば、そのデコード結果をフィールド位置保
持部29に保持されているフィールド番号の示す命令フ
ィールド#iに配置された命令に対するデコード結果と
して演算装置13の演算部13-i(内の対応する演算
器)に送るように構成されている。
【0054】次に、図6の構成の動作を図7のフローチ
ャートを参照して説明する。まず、フェッチ機構11に
よってフェッチされた長命令語は命令レジスタ12に保
持される。
【0055】主デコード機構27は、各パイプラインサ
イクル毎に、命令レジスタ12に保持されている長命令
語を入力する(ステップS21)。次に主デコード機構
27は、入力した長命令語の各命令フィールド#0〜#
3に配置されている命令に対するデコード処理を開始し
て、当該長命令語中に図3(a)に示したような遅延命
令(late命令)があるか否かをチェックし(ステッ
プS22)、遅延命令があるならば、入力した長命令語
のうち、当該遅延命令の指定する命令フィールド#i
(iは0〜3のいずれか)の命令(当該遅延命令と同じ
クラスタの命令フィールド#iの命令)を遅延すべき命
令として遅延対象命令保持部24に移す(ステップS2
3)。
【0056】同時に主デコード機構27は、遅延命令の
指定する遅延サイクル数をカウンタ25にセットすると
共に(ステップS24)、当該遅延命令の指定する命令
フィールド#iのフィールド番号(i)をフィールド位
置保持部29にセットする(ステップS25)。
【0057】以上のステップS21〜S25の処理は、
パイプラインサイクル(デコードサイクル)の前半部で
行われる。主デコード機構27は、入力した長命令語中
に遅延命令がある場合には上記ステップS23〜S25
を実行した後に、遅延命令がない場合にはそのまま(上
記ステップS23〜S25をスキップして)、当該長命
令語の各命令フィールド#0〜#3に配置されている命
令(遅延命令を除く)に対する残りのデコード処理を前
記第1の実施形態におけるステップS5と同様に行う
(ステップS26)。
【0058】一方、副デコード機構28は、各パイプラ
インサイクル毎に、ゼロ検出器26からのゼロ検出出力
をチェックする(ステップS31)。このステップS3
1でのチェックの結果、カウンタ25のカウント値がゼ
ロであったならば、副デコード機構28は、遅延対象命
令保持部24に保持されている命令を、フィールド位置
保持部29に保持されているフィールド番号の示す命令
フィールド#iの命令として入力して、当該命令に対す
るデコード処理を行う(ステップS32)。
【0059】副デコード機構28は、このステップS3
2でのデコード処理において、処理対象となった遅延対
象命令保持部24の保持命令が演算命令であったなら
ば、その演算命令に対するデコード結果をフィールド位
置保持部29の示す命令フィールド#iに対応する演算
部13-i(内の対応する演算器)に送る。このとき副デ
コード機構28は、遅延対象命令保持部24の保持命令
(遅延対象命令)をnop命令に置き換えて当該遅延対
象命令保持部24を初期化する。
【0060】以上のように本実施形態においては、遅延
命令で指定された同じクラスタの指定フィールドの命令
は、その遅延命令の指定する遅延サイクル後に、その遅
延サイクル後のクラスタの各命令が主デコード機構27
にてデコードされるのと並行して、副デコード機構28
にてデコードされる。この結果、同一の命令フィールド
#iに対応する演算部13-i内の演算器を2種同時に使
用することができる。
【0061】以上は、図3(a)に示すフォーマットの
遅延命令を適用した場合について説明したが、本実施形
態においては、命令の遅延と遅延すべき命令が配置され
ている命令フィールド(のフィールド番号)とを指定す
る図2(a)に示すフォーマットの遅延命令を適用する
ことも可能である。この場合、遅延サイクル数として、
予め定められている一定サイクル数、例えば“1”を用
いればよく、それ以外の点は、図3(a)に示すフォー
マットの遅延命令を適用した場合と同様である。
【0062】なお、前記第2の実施形態においては、命
令フィールド#0〜#3に無関係にただ1つの遅延対象
命令保持部24(及びカウンタ25)とフィールド位置
保持部29を設けるだけで済むものの、各フィールド#
0〜#3に関係なく遅延できるのは、1度に1命令だけ
である。
【0063】そこで、フィールド#0〜#3に関係な
く、1度に複数命令、例えば3命令まで遅延させること
を可能とする第3の実施形態につき、図面を参照して説
明する。 [第3の実施形態]図8は本発明の第3の実施形態に係
るパイプライン制御方式のVLIWプロセッサの構成を
示すブロック図である。なお、図6と同一部分には同一
符号を付して説明を省略する。
【0064】この図8の構成のVLIWプロセッサが図
6の構成のVLIWプロセッサと異なる点は、遅延対象
命令保持部、カウンタ、ゼロ検出器及びフィールド位置
保持部の組を複数組、例えば3組設けたこと、即ち図6
中の遅延対象命令保持部24、カウンタ25、ゼロ検出
器26及びフィールド位置保持部29の組に代えて、遅
延対象命令保持部34-0、カウンタ35-0、ゼロ検出器
36-0及びフィールド位置保持部39-0の組と、遅延対
象命令保持部34-1、カウンタ35-1、ゼロ検出器36
-1及びフィールド位置保持部39-1の組と、遅延対象命
令保持部34-2、カウンタ35-2、ゼロ検出器36-2及
びフィールド位置保持部39-2の組とを設けたことであ
る。
【0065】これに伴い、図8の構成では、図6中の主
デコード機構27及び副デコード機構28に代えて、主
デコード機構37及び副デコード機構38が用いられ
る。主デコード機構37は、図3(a)に示した遅延命
令“late(フィールド番号,遅延サイクル数)”を
デコードした場合に、デコード中の同じクラスタの命令
のうち、当該遅延命令の指定する命令フィールド#p
(pは0〜3のいずれか)に配置されている命令(遅延
対象命令)を遅延対象命令保持部34-0〜34-2のうち
の空き遅延対象命令保持部34-q(qは0〜2のいずれ
か)に保持すると共に、当該遅延命令の指定する遅延サ
イクル数をその命令保持部34-qと同一組のカウンタ3
5-qに設定する他、当該遅延命令の指定する命令フィー
ルド#p(遅延対象命令が配置されている命令フィール
ド#p)を示すフィールド番号をその命令保持部34-q
と同一組のフィールド位置保持部39-qに保持するよう
に構成されている。
【0066】一方、副デコード機構38は、遅延対象命
令保持部34-0,34-1,34-2に保持されている命令
をゼロ検出器36-0,36-1,36-2からのゼロ検出出
力に応じてデコードし、演算命令のデコード時であれ
ば、そのデコード結果をフィールド位置保持部39-0,
39-1,39-2に保持されているフィールド番号の示す
命令フィールド#i,#j,#k(i,j,kは0〜3
のいずれか)に配置された命令に対するデコード結果と
して演算装置13の演算部13-i,13-j,13-k(内
の対応する演算器)に送るように構成されている。
【0067】次に、図8の構成の動作を図9のフローチ
ャートを参照して説明する。まず、フェッチ機構11に
よってフェッチされた長命令語は命令レジスタ12に保
持される。
【0068】主デコード機構27は、各パイプラインサ
イクル毎に、命令レジスタ12に保持されている長命令
語を入力する(ステップS41)。次に主デコード機構
27は、入力した長命令語の各命令フィールド#0〜#
3に配置されている命令に対するデコード処理を開始し
て、当該長命令語中に図3(a)に示したような遅延命
令(late命令)があるか否かをチェックし(ステッ
プS42)、遅延命令があるならば、入力した長命令語
のうち、当該遅延命令の指定する命令フィールド#p
(pは0〜3のいずれか)の命令(当該遅延命令と同じ
クラスタの命令フィールド#pの命令)を遅延すべき命
令として、遅延対象命令保持部34-0〜34-2のうちの
空き遅延対象命令保持部34-q(qは0〜3のいずれ
か)に移す(ステップS43)。ここで、空き遅延対象
命令保持部34-qはnop命令が保持されている命令保
持部であり、副デコード機構38により管理される。
【0069】同時に主デコード機構37は、遅延命令の
指定する遅延サイクル数を遅延対象命令保持部34-qに
対応するカウンタ35-qにセットすると共に(ステップ
S44)、当該遅延命令の指定する命令フィールド#p
のフィールド番号(p)を遅延対象命令保持部34-qに
対応するフィールド位置保持部39-qにセットする(ス
テップS45)。
【0070】以上のステップS41〜S45の処理は、
パイプラインサイクル(デコードサイクル)の前半部で
行われる。主デコード機構37は、入力した長命令語中
に遅延命令がある場合には上記ステップS43〜S45
を実行した後に、遅延命令がない場合にはそのまま(上
記ステップS43〜S45をスキップして)、当該長命
令語の各命令フィールド#0〜#3に配置されている命
令(遅延命令を除く)に対する残りのデコード処理を前
記第1の実施形態におけるステップS5と同様に行う
(ステップS46)。
【0071】一方、副デコード機構38は、各パイプラ
インサイクル毎に、ゼロ検出器36-0〜36-2からのゼ
ロ検出出力をチェックする(ステップS51)。このス
テップS51でのチェックの結果、例えばカウンタ35
-0,35-1,35-2のカウント値がゼロであったなら
ば、副デコード機構38は、そのカウンタ35-0,35
-1,35-2に対応する遅延対象命令保持部34-0,34
-1,34-2に保持されている命令を、その命令保持部3
4-0,34-1,34-2に対応するフィールド位置保持部
39-0,39-1,39-2に保持されているフィールド番
号の示す命令フィールド#i,#j,#k(i,j,k
は0〜3のいずれか)の命令として入力して、当該命令
に対するデコード処理を行う(ステップS52)。
【0072】副デコード機構38は、このステップS5
2でのデコード処理において、処理対象となった遅延対
象命令保持部34-0,34-1,34-2の保持命令が演算
命令であったならば、その演算命令に対するデコード結
果をフィールド位置保持部39-0,39-1,39-2の示
す命令フィールド#i,#j,#kに対応する演算部1
3-i,13-j,13-k(内の対応する演算器)に送る。
このとき副デコード機構38は、デコードした遅延対象
命令保持部34-0,34-1,34-2の保持命令(遅延対
象命令)をnop命令に置き換えて当該命令保持部34
-0,34-1,34-2を初期化すると共に、当該命令保持
部34-0,34-1,34-2(を示す情報)を空き遅延対
象命令保持部のリスト(キュー)に入れる。
【0073】以上のように本実施形態においては、命令
フィールド#0〜#3に関係なく、1度に3命令まで遅
延させることができる。また、遅延対象命令保持部34
-0,34-1,34-2にそれぞれ異なる演算命令、例えば
整数型加算命令,整数型乗算命令,浮動小数点型加算命
令が保持されていて、且つフィールド位置保持部39-0
〜39-2がいずれも同一の命令フィールド、例えば命令
フィールド#1を示し、更にこれら各命令が副デコード
機構38で同一サイクルでデコードされた場合であれ
ば、命令フィールド#1に対応する演算部13-1内の整
数型加算器、整数型乗算器及び浮動小数点型加算器で、
それぞれ整数型加算命令、整数型乗算命令及び浮動小数
点型加算命令の指定する演算を同時に実行させることが
できる。
【0074】以上は、図3(a)に示すフォーマットの
遅延命令を適用した場合について説明したが、本実施形
態においては、命令の遅延と遅延すべき命令が配置され
ている命令フィールド(のフィールド番号)とを指定す
る図2(a)に示すフォーマットの遅延命令を適用する
ことも可能である。この場合、遅延サイクル数として、
予め定められている一定サイクル数、例えば“1”を用
いればよく、それ以外の点は、図3(a)に示すフォー
マットの遅延命令を適用した場合と同様である。
【0075】なお、本実施形態では、遅延対象命令保持
部、カウンタ、ゼロ検出器及びフィールド位置保持部の
組を3組設けた場合について説明したが、この組数につ
いては任意に設定可能である。もし、N組設けた構成と
した場合には、命令フィールド#0〜#3に関係なく、
1度にN命令まで遅延させることができる。
【0076】以上に述べた第1乃至第3の実施形態で
は、遅延命令の指定する命令だけを遅延する場合につい
て説明したが、遅延命令自身も遅延させることが可能で
ある。そこでまず、前記第1の実施形態と同様に、各命
令フィールド#0〜#3毎に、1度に1命令ずつ遅延さ
せることができる構成をとりながら、遅延命令自身も遅
延させることを可能とした第4の実施形態につき図面を
参照して説明する。 [第4の実施形態]図10は本発明の第4の実施形態に
係るパイプライン制御方式のVLIWプロセッサの構成
を示すブロック図である。なお、図1と同一部分には同
一符号を付して説明を省略する。
【0077】この図10の構成のVLIWプロセッサが
図1の構成のVLIWプロセッサと異なる点は、図1中
の主デコード機構17及び副デコード機構18に代え
て、主デコード機構47及び副デコード機構48を用い
ていることと、適用可能な遅延命令のフォーマットが異
なることである。
【0078】即ち本実施形態では、命令の遅延を指定す
る図11(a)に示すフォーマットの遅延命令“lat
e”、命令の遅延と遅延サイクル数とを指定する図12
(a)に示すフォーマットの遅延命令“late(遅延
サイクル数)”、命令の遅延と遅延すべき命令が配置さ
れているクラスタ(の相対位置)及び命令フィールド
(のフィールド番号)を指定する図13(a)に示すフ
ォーマットの遅延命令“late(クラスタ指定,フィ
ールド番号)”または遅延すべき命令が配置されている
クラスタ(の相対位置)及び命令フィールド(のフィー
ルド番号)と遅延サイクル数とを指定する図14(a)
に示すフォーマットの遅延命令“late(クラスタ指
定,フィールド番号,遅延サイクル数)”が用意され
る。
【0079】図11(a)の遅延命令“late”は、
例えば図11(b)に示すように命令フィールド#1に
配置されている場合、次のクラスタにおいて当該遅延命
令“late”と同じ命令フィールド#1の命令“×”
を、固定のサイクル(システムで予め定められている一
定のサイクル)、例えば1サイクル遅延させることを指
定する。
【0080】また、図12(a)の遅延命令“late
(遅延サイクル数)”は、例えば図2(b)に示すよう
に“late(3)”(遅延サイクル数=3)で且つ命
令フィールド#1に配置されている場合であれば、次の
クラスタにおいて当該遅延命令“late(3)”と同
じ命令フィールド#1の命令“×”を、3サイクル遅延
させることを指定する。
【0081】また、図13(a)の遅延命令“late
(クラスタ指定,フィールド番号)”は、例えば図13
(b)に示すように“late(2,1)”の場合、即
ちクラスタ指定=2(2サイクル後のクラスタ)、フィ
ールド番号=1であれば、2サイクル後のクラスタのフ
ィールド#1の命令“×”を、所定サイクル、例えば1
サイクル遅延させることを指定する。
【0082】また、図14(a)の遅延命令“late
(クラスタ指定,フィールド番号,遅延サイクル数)
は、例えば図14(b)に示すように“late(2,
1,3)”の場合、即ちクラスタ指定=2(2サイクル
後のクラスタ)、フィールド番号=1、遅延サイクル数
=3であれば、2サイクル後のクラスタのフィールド#
1の命令“×”を、3サイクル遅延させることを指定す
る。
【0083】ここでは、図14(a)の遅延命令が適用
されるものとする。さて、図10の構成において、主デ
コード機構47は、図1中の主デコード機構17と同様
に、フェッチ機構11によって命令レジスタ12にフェ
ッチされた長命令語の命令フィールド#0〜#3に配置
されている各命令をパイプラインでデコードし、演算命
令のデコード時であれば、そのデコード結果を演算装置
13の演算部13-0〜13-3に送るように構成されてい
る。
【0084】また主デコード機構47は、図14(a)
に示した遅延命令“late(クラスタ指定,フィール
ド番号,遅延サイクル数)”をデコードした場合には、
当該遅延命令を当該遅延命令が配置されている命令フィ
ールド#iに対応する遅延対象命令保持部14-iに保持
すると共に、当該遅延命令の指定するクラスタ位置で決
まる遅延サイクル数を遅延対象命令保持部14-iに対応
するカウンタ15-iに設定するようにも構成されてい
る。
【0085】一方、副デコード機構48は、図1中の副
デコード機構18と同様に、遅延対象命令保持部14-0
〜14-3に保持されている命令をゼロ検出器16-0〜1
6-3からのゼロ検出出力に応じてデコードするように構
成されている。
【0086】また副デコード機構48は、遅延対象命令
保持部14-iに保持されている命令のデコードの結果、
当該命令が演算命令であれば、そのデコード結果を命令
フィールド#iに配置された命令に対するデコード結果
として演算装置13の演算部13-i(内の対応する演算
器)に送るように構成されている。
【0087】また副デコード機構48は、当該命令が図
14(a)のフォーマットの遅延命令であれば、同じサ
イクルで主デコード機構47によりデコードされている
命令フィールド#0〜#3の命令のうち、当該命令(遅
延命令)の指定する命令フィールド#j(jは0〜3の
いずれか)に配置されている命令を主デコード機構47
から受け取って、その命令フィールド#jに対応する遅
延対象命令保持部14-jに保持すると共に、当該命令
(遅延命令)の指定する遅延サイクル数を遅延対象命令
保持部14-jに対応するカウンタ15-jに設定するよう
にも構成されている。
【0088】次に、図10の構成の動作を図15のフロ
ーチャートを参照して説明する。主デコード機構47
は、各パイプラインサイクル毎に、命令レジスタ12に
保持されている長命令語を入力する(ステップS6
1)。
【0089】次に主デコード機構47は、入力した長命
令語の各命令フィールド#0〜#3に配置されている命
令に対するデコード処理を開始して、当該長命令語中に
図14(a)に示したような遅延命令(late命令)
があるか否かをチェックし(ステップS62)、遅延命
令があるならば、当該遅延命令自体を遅延すべき命令と
して、当該遅延命令が配置されている命令フィールド#
i(iは0〜3のいずれか)に対応する遅延対象命令保
持部14-iに移す(ステップS63)。
【0090】同時に主デコード機構47は、遅延命令の
指定するクラスタ位置で決まる遅延サイクル数を、遅延
対象命令保持部14-iに対応するカウンタ15-iにセッ
トする(ステップS64)。
【0091】これにより、遅延命令が例えば“late
(2,1,3)”であり、且つ命令フィールド#2に配
置されている場合であれば、当該遅延命令“late
(2,1,3)”は命令フィールド#2に対応する遅延
対象命令保持部14-2に移され、カウンタ15-2には、
クラスタ指定=2で決まる遅延サイクル数=2がセット
されることになる。
【0092】以上のステップS61〜S64の処理は、
パイプラインサイクル(デコードサイクル)の前半部で
行われる。主デコード機構47は、入力した長命令語中
に遅延命令がある場合には上記ステップS63〜S64
を実行した後に、遅延命令がない場合にはそのまま(上
記ステップS23〜S25をスキップして)、当該長命
令語の各命令フィールド#0〜#3に配置されている命
令(遅延命令を除く)に対する残りのデコード処理を前
記第1の実施形態におけるステップS5と同様に行う
(ステップS65)。
【0093】一方、副デコード機構48は、各パイプラ
インサイクル毎に、ゼロ検出器16-0〜16-3からのゼ
ロ検出出力をチェックする(ステップS71)。そして
副デコード機構48は、ステップS71でのチェックの
結果、遅延対象命令保持部14-0〜14-3のうち、対応
するカウンタ15-0〜15-3のカウント値がゼロとなっ
ている遅延対象命令保持部(1つとは限らない)がある
ならば、その遅延対象命令保持部に保持されている命令
を、対応する命令フィールドの命令として入力する(ス
テップS72)。
【0094】次に副デコード機構48は、入力した命令
に対するデコード処理を開始して、その入力した命令中
に図14(a)に示したような遅延命令(late命
令)があるか否かをチェックし(ステップS73)、遅
延命令があるならば、同じサイクルで主デコード機構4
7に入力されてデコードされている命令フィールド#0
〜#3の命令のうち、当該遅延命令の指定する命令フィ
ールド#j(jは0〜3のいずれか)に配置されている
命令を主デコード機構47から受け取って、その命令フ
ィールド#jに対応する遅延対象命令保持部14-jに移
す(ステップS74)。
【0095】同時に副デコード機構48は、遅延命令の
指定する遅延サイクル数を遅延対象命令保持部14-jに
対応するカウンタ15-jにセットする(ステップS7
5)。以上のステップS71〜S75の処理は、パイプ
ラインサイクル(デコードサイクル)の前半部で行われ
る。
【0096】副デコード機構48は、入力した命令中に
遅延命令がある場合には上記ステップS74,S75を
実行した後に、遅延命令がない場合にはそのまま(上記
ステップS74,S75をスキップして)、入力した命
令(遅延命令を除く)に対する残りのデコード処理を前
記第1の実施形態におけるステップS5と同様に行う
(ステップS76)。
【0097】副デコード機構48は、このステップS7
6でのデコード処理において、例えば遅延対象命令保持
部14-iの保持命令をデコードし、且つ当該命令が演算
命令であったならば、その演算命令に対するデコード結
果を対応する演算部13-i(内の対応する演算器)に送
る。
【0098】したがって、上記のように命令フィールド
#2に配置されていた遅延命令“late(2,1,
3)”が主デコード機構47により遅延対象命令保持部
14-2に移された場合であれば、当該遅延命令“lat
e(2,1,3)”は、当該遅延命令“late(2,
1,3)”の指定するクラスタ位置で決まる2サイクル
の後に、副デコード機構48によってデコードされるこ
とになる。
【0099】この結果、同じデコードサイクルにおいて
主デコード機構27に入力されている長命令語(即ち、
遅延命令“late(2,1,3)”より2サイクル後
のクラスタ)の命令フィールド#0〜#3の命令のう
ち、遅延命令“late(2,1,3)”の指定する命
令フィールド#1の命令が遅延対象命令保持部14-1に
移されると共に、遅延命令“late(2,1,3)”
の指定する遅延サイクル数=3がカウンタ15-1にセッ
トされる。これにより、遅延対象命令保持部14-1に移
された命令、即ち遅延命令“late(2,1,3)”
より2サイクル後のクラスタの命令フィールド#1の命
令は、3サイクル後に副デコード機構48によってデコ
ードされる。
【0100】このように本実施形態においては、遅延命
令自体もその当該命令の指定するサイクル数だけ遅延さ
せることができるため、従来であればnop命令を配置
する必要があった命令フィールドを、前記第1の実施形
態より一層有効に利用することができるようになる。
【0101】以上は、図14(a)に示すフォーマット
の遅延命令を適用した場合について説明したが、本実施
形態においては、図11(a)乃至図13(a)に示す
フォーマットの遅延命令を適用することも可能である。
【0102】例えば、図11(a)に示す遅延命令を適
用する場合には、遅延命令自体の遅延サイクル数を、予
め定められている一定サイクル数(例えば“1”)と
し、遅延命令によって遅延される命令を、予め定められ
ている一定サイクル後のクラスタ(例えば次のクラス
タ)における遅延命令と同じ命令フィールドの命令と
し、遅延命令によって遅延される命令の遅延サイクル数
を、予め定められている一定サイクル数(例えば
“1”)とすればよく、それ以外の点は、図14(a)
に示すフォーマットの遅延命令を適用した場合と同様で
ある。
【0103】また、図12(a)に示す遅延命令を適用
する場合には、遅延命令自体の遅延サイクル数を、予め
定められている一定サイクル数(例えば“1”)とし、
遅延命令によって遅延される命令を、予め定められてい
る一定サイクル後のクラスタ(例えば次のクラスタ)に
おける遅延命令と同じ命令フィールドの命令とすればよ
く、それ以外の点は、図14(a)に示すフォーマット
の遅延命令を適用した場合と同様である。
【0104】また、図13(a)に示す遅延命令を適用
する場合には、遅延命令によって遅延される命令の遅延
サイクル数を、予め定められている一定サイクル数(例
えば“1”)とすればよく、それ以外の点は、図14
(a)に示すフォーマットの遅延命令を適用した場合と
同様である。
【0105】以上、前記第1の実施形態と同様に、各命
令フィールド#0〜#3毎に、1度に1命令ずつ遅延さ
せることができる構成をとりながら、遅延命令自身も遅
延させることを可能とした第4の実施形態につき説明し
た。
【0106】次に、前記第2の実施形態と同様に、命令
フィールド#0〜#3に関係なく、1度に1命令だけ遅
延させることができる構成をとりながら、遅延命令自身
も遅延させることを可能とした第5の実施形態につき図
面を参照して説明する。 [第5の実施形態]図16は本発明の第5の実施形態に
係るパイプライン制御方式のVLIWプロセッサの構成
を示すブロック図である。なお、図6と同一部分には同
一符号を付して説明を省略する。
【0107】この図16の構成のVLIWプロセッサが
図6の構成のVLIWプロセッサと異なる点は、図6中
の主デコード機構27及び副デコード機構28に代え
て、主デコード機構57及び副デコード機構58を用い
ていることと、図2(a)及び図3(a)に示すフォー
マットの遅延命令に代えて、前記第4の実施形態と同様
に図11(a)乃至図14(a)に示すフォーマットの
遅延命令が適用されることである。ここでは、図14
(a)の遅延命令が適用されるものとする。
【0108】図16の構成において、主デコード機構5
7は、図14(a)に示した遅延命令“late(クラ
スタ指定,フィールド番号,遅延サイクル数)”をデコ
ードした場合には、当該遅延命令を遅延対象命令保持部
24に保持すると共に、当該遅延命令の指定するクラス
タ位置で決まる遅延サイクル数をカウンタ25に設定す
る他、当該遅延命令が配置されている命令フィールドを
示すフィールド番号をフィールド位置保持部29に保持
するように構成されている。
【0109】一方、副デコード機構58は、遅延対象命
令保持部24に保持されている命令をゼロ検出器26か
らのゼロ検出出力に応じてデコードし、演算命令のデコ
ード時であれば、そのデコード結果をフィールド位置保
持部29に保持されているフィールド番号の示す命令フ
ィールド#i(iは0〜3のいずれか)に配置された命
令に対するデコード結果として演算装置13の演算部1
3-iに送るように構成されている。
【0110】また副デコード機構58は、図14(a)
に示した遅延命令“late(クラスタ指定,フィール
ド番号,遅延サイクル数)”のデコード時であれば、同
じサイクルで主デコード機構57によりデコードされて
いる命令フィールド#0〜#3の命令のうち、当該遅延
命令の指定する命令フィールド#j(jは0〜3のいず
れか)に配置されている命令を主デコード機構47から
受け取って遅延対象命令保持部24に保持すると共に、
当該遅延命令の指定する遅延サイクル数をカウンタ25
に設定する他、当該遅延命令の指定する命令フィールド
#iを示すフィールド番号をフィールド位置保持部29
に保持するようにも構成されている。
【0111】次に、図16の構成の動作を図17のフロ
ーチャートを参照して説明する。主デコード機構57
は、各パイプラインサイクル毎に、命令レジスタ12に
保持されている長命令語を入力する(ステップS8
1)。
【0112】次に主デコード機構57は、入力した長命
令語の各命令フィールド#0〜#3に配置されている命
令に対するデコード処理を開始して、当該長命令語中に
図14(a)に示したような遅延命令(late命令)
があるか否かをチェックし(ステップS82)、遅延命
令があるならば、当該遅延命令自体を遅延すべき命令と
して、遅延対象命令保持部24に移す(ステップS8
3)。
【0113】同時に主デコード機構57は、遅延命令の
指定するクラスタ位置で決まる遅延サイクル数を、カウ
ンタ25にセットすると共に(ステップS84)、当該
遅延命令が配置されている命令フィールド#i(iは0
〜3のいずれか)のフィールド番号(i)をフィールド
位置保持部29にセットする(ステップS85)。
【0114】これにより、遅延命令が例えば“late
(2,1,3)”であり、且つ命令フィールド#2に配
置されている場合であれば、当該遅延命令“late
(2,1,3)”は遅延対象命令保持部24に移され
る。同時に、カウンタ25には、クラスタ指定=2で決
まる遅延サイクル数=2がセットされ、フィールド位置
保持部29には、命令フィールド#2を示すフィールド
番号(2)がセットされることになる。
【0115】以上のステップS81〜S85の処理は、
パイプラインサイクル(デコードサイクル)の前半部で
行われる。主デコード機構57は、入力した長命令語中
に遅延命令がある場合には上記ステップS83〜S85
を実行した後に、遅延命令がない場合にはそのまま(上
記ステップS83〜S85をスキップして)、当該長命
令語の各命令フィールド#0〜#3に配置されている命
令(遅延命令を除く)に対する残りのデコード処理を前
記第1の実施形態におけるステップS5と同様に行う
(ステップS86)。
【0116】一方、副デコード機構58は、各パイプラ
インサイクル毎に、ゼロ検出器26からのゼロ検出出力
をチェックする(ステップS91)。このステップS9
1でのチェックの結果、カウンタ25のカウント値がゼ
ロであったならば、副デコード機構58は、遅延対象命
令保持部24に保持されている命令を、フィールド位置
保持部29に保持されているフィールド番号の示す命令
フィールド#iの命令として入力する(ステップS9
2)。
【0117】次に副デコード機構58は、入力した命令
に対するデコード処理を開始して、その入力した命令が
図14(a)に示したような遅延命令(late命令)
であるか否かをチェックし(ステップS93)、遅延命
令があるならば、同じサイクルで主デコード機構57に
入力されてデコードされている命令フィールド#0〜#
3の命令のうち、当該遅延命令の指定する命令フィール
ド#j(jは0〜3のいずれか)に配置されている命令
を主デコード機構57から受け取って、遅延対象命令保
持部24に移す(ステップS94)。
【0118】同時に副デコード機構58は、遅延命令の
指定する遅延サイクル数をカウンタ25にセットすると
共に(ステップS95)、当該遅延命令の指定する命令
フィールド#jのフィールド番号(j)をフィールド位
置保持部29にセットする(ステップS96)。
【0119】以上のステップS91〜S96の処理は、
パイプラインサイクル(デコードサイクル)の前半部で
行われる。副デコード機構58は、入力した命令が遅延
命令である場合には上記ステップS94〜S96を実行
すると1デコードサイクルを終了する。これに対し、入
力した命令が遅延命令でない場合には、副デコード機構
58は、そのまま(上記ステップS94〜S96をスキ
ップして)、入力した命令に対する残りのデコード処理
を行い(ステップS97)、当該命令が演算命令であっ
たならば、その演算命令に対するデコード結果を、フィ
ールド位置保持部29の示す命令フィールド#jに対応
する演算部13-j(内の対応する演算器)に送る。
【0120】したがって、上記のように命令フィールド
#2に配置されていた遅延命令“late(2,1,
3)”が主デコード機構57により遅延対象命令保持部
24に移された場合であれば、当該遅延命令“late
(2,1,3)”は、当該遅延命令“late(2,
1,3)”の指定するクラスタ位置で決まる2サイクル
の後に、副デコード機構58によってデコードされるこ
とになる。
【0121】この結果、同じデコードサイクルにおいて
主デコード機構57に入力されている長命令語(即ち、
遅延命令“late(2,1,3)”より2サイクル後
のクラスタ)の命令フィールド#0〜#3の命令のう
ち、遅延命令“late(2,1,3)”の指定する命
令フィールド#1の命令が遅延対象命令保持部24に移
されると共に、遅延命令“late(2,1,3)”の
指定する遅延サイクル数=3がカウンタ25にセットさ
れる他、遅延命令“late(2,1,3)”の指定す
るフィールド番号=1がフィールド位置保持部29にセ
ットされる。これにより、新たに遅延対象命令保持部2
4に移された命令、即ち遅延命令“late(2,1,
3)”より2サイクル後のクラスタの命令フィールド#
1の命令は、3サイクル後に副デコード機構58によっ
てデコードされる。
【0122】このように本実施形態においては、遅延命
令自体も当該命令の指定するサイクル数だけ遅延させる
ことができるため、従来であればnop命令を配置する
必要があった命令フィールドを、前記第2の実施形態よ
り一層有効に利用することができるようになる。
【0123】以上は、図14(a)に示すフォーマット
の遅延命令を適用した場合について説明したが、本実施
形態においては、前記第4の実施形態と同様に、図11
(a)乃至図13(a)に示すフォーマットの遅延命令
を適用することも可能である。
【0124】以上、前記第2の実施形態と同様に、命令
フィールド#0〜#3に関係なく、1度に1命令だけ遅
延させることができる構成をとりながら、遅延命令自身
も遅延させることを可能とした第5の実施形態につき説
明した。
【0125】次に、前記第3の実施形態と同様に、命令
フィールド#0〜#3に関係なく、1度に3命令まで遅
延させることができる構成をとりながら、遅延命令自身
も遅延させることを可能とした第6の実施形態につき図
面を参照して説明する。 [第6の実施形態]図18は本発明の第6の実施形態に
係るパイプライン制御方式のVLIWプロセッサの構成
を示すブロック図である。なお、図8と同一部分には同
一符号を付して説明を省略する。
【0126】この図18の構成のVLIWプロセッサが
図8の構成のVLIWプロセッサと異なる点は、図8中
の主デコード機構37及び副デコード機構38に代え
て、主デコード機構67及び副デコード機構68を用い
ていることと、図2(a)及び図3(a)に示すフォー
マットの遅延命令に代えて、前記第4の実施形態と同様
に図11(a)乃至図14(a)に示すフォーマットの
遅延命令が適用されることである。ここでは、図14
(a)の遅延命令が適用されるものとする。
【0127】図18の構成において、主デコード機構6
7は、図14(a)に示した遅延命令“late(クラ
スタ指定,フィールド番号,遅延サイクル数)”をデコ
ードした場合には、当該遅延命令を遅延対象命令保持部
34-0〜34-2のうちの空き遅延対象命令保持部34-q
(qは0〜2のいずれか)に保持すると共に、当該遅延
命令の指定するクラスタ位置で決まる遅延サイクル数を
その命令保持部34-qと同一組のカウンタ35-qに設定
する他、当該遅延命令が配置されている命令フィールド
を示すフィールド番号をその命令保持部34-qと同一組
のフィールド位置保持部39-qに保持するように構成さ
れている。
【0128】一方、副デコード機構68は、図8中の副
デコード機構38と同様に、遅延対象命令保持部34-0
〜34-2に保持されている命令をゼロ検出器36-0〜3
6-2からのゼロ検出出力に応じてデコードするように構
成されている。
【0129】また副デコード機構68は、例えば遅延対
象命令保持部34-i(iは0〜2のいずれか)に保持さ
れている命令をデコードした場合、当該命令が演算命令
であれば、そのデコード結果をフィールド位置保持部3
9-iの示す命令フィールド#r(rは0〜3のいずれ
か)に配置された命令に対するデコード結果として演算
装置13の演算部13-r(内の対応する演算器)に送る
ように構成されている。
【0130】また副デコード機構68は、当該命令が図
14(a)のフォーマットの遅延命令であれば、同じサ
イクルで主デコード機構67によりデコードされている
命令フィールド#0〜#3の命令のうち、当該命令(遅
延命令)の指定する命令フィールド#j(jは0〜3の
いずれか)に配置されている命令を主デコード機構47
から受け取って遅延対象命令保持部14-jに保持すると
共に、当該命令(遅延命令)の指定する遅延サイクル数
を遅延対象命令保持部14-jに対応するカウンタ15-j
に設定する他、当該命令(遅延命令)の指定する命令フ
ィールドのフィールド番号を遅延対象命令保持部14-j
に対応するフィールド位置保持部29-jに保持するよう
にも構成されている。
【0131】次に、図18の構成の動作を図19のフロ
ーチャートを参照して説明する。主デコード機構67
は、各パイプラインサイクル毎に、命令レジスタ12に
保持されている長命令語を入力する(ステップS10
1)。
【0132】次に主デコード機構67は、入力した長命
令語の各命令フィールド#0〜#3に配置されている命
令に対するデコード処理を開始して、当該長命令語中に
図14(a)に示したような遅延命令(late命令)
があるか否かをチェックし(ステップS102)、遅延
命令があるならば、当該遅延命令自体を遅延すべき命令
として、遅延対象命令保持部34-0〜34-2のうちの空
き遅延対象命令保持部34-q(qは0〜3のいずれか)
に移す(ステップS103)。
【0133】同時に主デコード機構67は、遅延命令の
指定するクラスタ位置で決まる遅延サイクル数を遅延対
象命令保持部34-qに対応するカウンタ35-qにセット
すると共に(ステップS104)、当該遅延命令が配置
されている命令フィールド#p(pは0〜3のいずれ
か)のフィールド番号(p)を遅延対象命令保持部34
-qに対応するフィールド位置保持部39-qにセットする
(ステップS105)。
【0134】これにより、遅延命令が例えば“late
(2,1,3)”であり、且つ命令フィールド#2に配
置されている場合に、当該遅延命令“late(2,
1,3)”が例えば遅延対象命令保持部34-0に移され
たものとすると、カウンタ35-0には、クラスタ指定=
2で決まる遅延サイクル数=2がセットされ、フィール
ド位置保持部39-0には、命令フィールド#2を示すフ
ィールド番号がセットされることになる。
【0135】以上のステップS101〜S105の処理
は、パイプラインサイクル(デコードサイクル)の前半
部で行われる。主デコード機構67は、入力した長命令
語中に遅延命令がある場合には上記ステップS103〜
S105を実行した後に、遅延命令がない場合にはその
まま(上記ステップS103〜S105をスキップし
て)、当該長命令語の各命令フィールド#0〜#3に配
置されている命令(遅延命令を除く)に対する残りのデ
コード処理を前記第1の実施形態におけるステップS5
と同様に行う(ステップS106)。
【0136】一方、副デコード機構68は、各パイプラ
インサイクル毎に、ゼロ検出器36-0〜36-2からのゼ
ロ検出出力をチェックする(ステップS111)。この
ステップS51でのチェックの結果、例えばカウンタ3
5-0,35-1,35-2のカウント値がゼロであったなら
ば、副デコード機構68は、そのカウンタ35-0,35
-1,35-2に対応する遅延対象命令保持部34-0,34
-1,34-2に保持されている命令を、その命令保持部3
4-0,34-1,34-2に対応するフィールド位置保持部
39-0,39-1,39-2(に保持されているフィールド
番号)の示す命令フィールド#i,#j,#k(i,
j,kは0〜3のいずれか)の命令として入力する(ス
テップS112)。
【0137】次に副デコード機構68は、入力した命令
に対するデコード処理を開始して、その入力した命令中
に図14(a)に示したような遅延命令(late命
令)があるか否かをチェックし(ステップS113)、
遅延命令があるならば、同じサイクルで主デコード機構
67に入力されてデコードされている命令フィールド#
0〜#3の命令のうち、当該遅延命令の指定する命令フ
ィールド#p(pは0〜3のいずれか)に配置されてい
る命令を主デコード機構67から受け取って、遅延対象
命令保持部34-0〜34-2のうちの空き遅延対象命令保
持部34-r(rは0〜3のいずれか)に移す(ステップ
S114)。
【0138】同時に副デコード機構68は、遅延命令の
指定する遅延サイクル数を遅延対象命令保持部34-rに
対応するカウンタ35-rにセットすると共に(ステップ
S115)、当該遅延命令の指定する命令フィールド#
pのフィールド番号(p)を遅延対象命令保持部34-r
に対応するフィールド位置保持部39-rにセットする
(ステップS116)。
【0139】以上のステップS111〜S116の処理
は、パイプラインサイクル(デコードサイクル)の前半
部で行われる。副デコード機構68は、入力した命令中
に遅延命令がある場合には上記ステップS114〜S1
16を実行した後に、遅延命令がない場合にはそのまま
(上記ステップS114〜S116をスキップして)、
入力した命令(遅延命令を除く)に対する残りのデコー
ド処理を前記第1の実施形態におけるステップS5と同
様に行う(ステップS117)。
【0140】副デコード機構68は、このステップS1
17でのデコード処理において、例えば遅延対象命令保
持部34-rの保持命令をデコードし、且つ当該命令が演
算命令であって、遅延対象命令保持部34-rに対応する
フィールド位置保持部39-rが命令フィールド#pを示
している場合であれば、その演算命令に対するデコード
結果を、その命令フィールド#pに対応する演算部13
-p(内の対応する演算器)に送る。
【0141】したがって、上記のように命令フィールド
#2に配置されていた遅延命令“late(2,1,
3)”が主デコード機構67により例えば遅延対象命令
保持部34-0に移され、対応するカウンタ35-0に当該
遅延命令“late(2,1,3)”の指定するクラス
タ位置で決まるた遅延サイクル数=2がセットされた場
合であれば、当該遅延命令“late(2,1,3)”
は2サイクルの後に副デコード機構68によってデコー
ドされることになる。
【0142】そして、同じデコードサイクルにおいて主
デコード機構67に入力されている長命令語(即ち、遅
延命令“late(2,1,3)”より2サイクル後の
クラスタ)の命令フィールド#0〜#3の命令のうち、
遅延命令“late(2,1,3)”の指定する命令フ
ィールド#1の命令が例えば遅延対象命令保持部34-1
に移されると共に、対応するカウンタ35-1に遅延命令
“late(2,1,3)”の指定する遅延サイクル数
=3がセットされ、更に遅延命令“late(2,1,
3)”の指定するフィールド番号=1が対応するフィー
ルド位置保持部39-1にセットされた場合であれば、遅
延対象命令保持部34-1に移された命令、即ち遅延命令
“late(2,1,3)”より2サイクル後のクラス
タの命令フィールド#1の命令は、3サイクル後に副デ
コード機構68によってデコードされる。
【0143】このように本実施形態においては、遅延命
令自体もその当該命令の指定するサイクル数だけ遅延さ
せることができるため、従来であればnop命令を配置
する必要があった命令フィールドを、前記第3の実施形
態より一層有効に利用することができるようになる。
【0144】以上は、図14(a)に示すフォーマット
の遅延命令を適用した場合について説明したが、本実施
形態においては、前記第4の実施形態と同様に、図11
(a)乃至図13(a)に示すフォーマットの遅延命令
を適用することも可能である。
【0145】以上、前記第3の実施形態と同様に、命令
フィールド#0〜#3に関係なく、1度に3命令まで遅
延させることができる構成をとりながら、遅延命令自身
も遅延させることを可能とした第6の実施形態につき説
明した。
【0146】
【発明の効果】以上詳述したように本発明によれば、任
意の命令フィールドの命令を遅延させて、当該命令をそ
の遅延後にデコードされる長命令語(VLIW)とは別
にデコードすることで、同一の命令フィールドに対応す
る複数種の演算器を同時に使用することができる。
【0147】このように本発明によれば、従来であれ
ば、ノー・オペレーション命令を配置しなければならな
かった命令フィールドに演算命令を配置することも可能
となり、また異なるクラスタの同一命令フィールドにそ
れぞれ配置されている命令を同時に実行して異なる演算
器を有効に使用することが可能となるため、従来はハー
ドウェア構成の制約等で同時に実行できなかった命令を
同時に実行できるようになり、ロードモジュールの高速
化が図れる。
【図面の簡単な説明】
【図1】本発明の第1の実施形態に係るVLIWプロセ
ッサの構成を示すブロック図。
【図2】同第1の実施形態で適用可能な遅延命令のフォ
ーマットと機能を説明するための図。
【図3】同第1の実施形態で適用可能な遅延命令のフォ
ーマットと機能を説明するための図。
【図4】図1の構成の動作を説明するためのフローチャ
ート。
【図5】従来のロードモジュール、及び当該ロードモジ
ュールと同一機能の遅延命令を用いて実現されるロード
モジュールを対比して示す図。
【図6】本発明の第2の実施形態に係る図2及び図3の
遅延命令が適用可能なVLIWプロセッサの構成を示す
ブロック図。
【図7】図6の構成の動作を説明するためのフローチャ
ート。
【図8】本発明の第3の実施形態に係る図2及び図3の
遅延命令が適用可能なVLIWプロセッサの構成を示す
ブロック図。
【図9】図8の構成の動作を説明するためのフローチャ
ート。
【図10】本発明の第4の実施形態に係るVLIWプロ
セッサの構成を示すブロック図。
【図11】同第4の実施形態で適用可能な遅延命令のフ
ォーマットと機能を説明するための図。
【図12】同第4の実施形態で適用可能な遅延命令のフ
ォーマットと機能を説明するための図。
【図13】同第4の実施形態で適用可能な遅延命令のフ
ォーマットと機能を説明するための図。
【図14】同第4の実施形態で適用可能な遅延命令のフ
ォーマットと機能を説明するための図。
【図15】図10の構成の動作を説明するためのフロー
チャート。
【図16】本発明の第5の実施形態に係る図11乃至図
14の遅延命令が適用可能なVLIWプロセッサの構成
を示すブロック図。
【図17】図16の構成の動作を説明するためのフロー
チャート。
【図18】本発明の第6の実施形態に係る図11乃至図
14図の遅延命令が適用可能なVLIWプロセッサの構
成を示すブロック図。
【図19】図18の構成の動作を説明するためのフロー
チャート。
【図20】プロセッサ内の各演算器と長命令語の各命令
フィールドとの対応を説明するための図。
【符号の説明】
11…フェッチ機構、 12…命令レジスタ、 13…演算装置、 13-0〜13-3…演算部、 14-0〜14-3,24,34-0〜34-2…遅延対象命令
保持部、 15-0〜15-3,25,35-0〜35-2…カウンタ、 16-0〜16-3,26,36-0〜36-2…ゼロ検出器、 17,27,37,47,57,67…主デコード機
構、 18,28,38,48,58,68…副デコード機
構。 29,39-0〜39-2…フィールド位置保持部。

Claims (12)

    【特許請求の範囲】
  1. 【請求項1】 複数の命令フィールドを有する長命令語
    (VLIW)を実行するVLIWプロセッサにおいて、 長命令語中の遅延すべき命令を保持しておくための、長
    命令語の各命令フィールドに対応してそれぞれ設けられ
    た遅延対象命令保持手段と、 前記各遅延対象命令保持手段に対応してそれぞれ設けら
    れ、対応する遅延対象命令保持手段に保持された命令の
    遅延サイクル数をカウントするための遅延サイクル数カ
    ウント手段と、 実行すべき長命令語の各命令フィールドに配置されてい
    る命令のデコードを司る主デコード手段であって、命令
    の遅延と遅延すべき命令が配置されている命令フィール
    ドとを指定する遅延命令のデコード時には、当該遅延命
    令の指定する命令フィールドに配置されている遅延対象
    命令をその命令フィールドに対応する前記遅延対象命令
    保持手段に保持すると共に、予め定められた遅延サイク
    ル数をその命令保持手段に対応する前記遅延サイクル数
    カウント手段に設定する主デコード手段と、 前記各遅延対象命令保持手段の保持命令のデコードを司
    る副デコード手段であって、前記遅延対象命令保持手段
    に対応する前記遅延サイクル数カウント手段が前記遅延
    サイクル数をカウントし終えた段階で、その命令保持手
    段の保持命令をその命令保持手段に対応する命令フィー
    ルドに配置された命令としてデコードする副デコード手
    段とを具備することを特徴とするVLIWプロセッサ。
  2. 【請求項2】 複数の命令フィールドを有する長命令語
    (VLIW)を実行するVLIWプロセッサにおいて、 長命令語中の遅延すべき命令を保持しておくための、長
    命令語の各命令フィールドに対応してそれぞれ設けられ
    た遅延対象命令保持手段と、 前記各遅延対象命令保持手段に対応してそれぞれ設けら
    れ、対応する遅延対象命令保持手段に保持された命令の
    遅延サイクル数をカウントするための遅延サイクル数カ
    ウント手段と、 実行すべき長命令語の各命令フィールドに配置されてい
    る命令のデコードを司る主デコード手段であって、命令
    の遅延と遅延すべき命令が配置されている命令フィール
    ドと遅延サイクル数とを指定する遅延命令のデコード時
    には、当該遅延命令の指定する命令フィールドに配置さ
    れている遅延対象命令をその命令フィールドに対応する
    前記遅延対象命令保持手段に保持すると共に、当該遅延
    命令の指定する遅延サイクル数をその命令保持手段に対
    応する前記遅延サイクル数カウント手段に設定する主デ
    コード手段と、 前記各遅延対象命令保持手段の保持命令のデコードを司
    る副デコード手段であって、前記遅延対象命令保持手段
    に対応する前記遅延サイクル数カウント手段が前記遅延
    サイクル数をカウントし終えた段階で、その命令保持手
    段の保持命令をその命令保持手段に対応する命令フィー
    ルドに配置された命令としてデコードする副デコード手
    段とを具備することを特徴とするVLIWプロセッサ。
  3. 【請求項3】 複数の命令フィールドを有する長命令語
    (VLIW)を実行するVLIWプロセッサにおいて、 長命令語中の遅延すべき命令を保持しておくためのN個
    (Nは1以上の整数)の遅延対象命令保持手段と、 前記N個の遅延対象命令保持手段に対応してそれぞれ設
    けられ、対応する遅延対象命令保持手段に保持された命
    令が配置されていた長命令語上の命令フィールド位置を
    保持しておくためのN個の命令フィールド位置保持手段
    と、 前記N個の遅延対象命令保持手段に対応してそれぞれ設
    けられ、対応する遅延対象命令保持手段に保持された命
    令の遅延サイクル数をカウントするためのN個の遅延サ
    イクル数カウント手段と、 実行すべき長命令語の各命令フィールドに配置されてい
    る命令のデコードを司る主デコード手段であって、命令
    の遅延と遅延すべき命令が配置されている命令フィール
    ドとを指定する遅延命令のデコード時には、当該遅延命
    令の指定する命令フィールドに配置されている遅延対象
    命令を前記N個の遅延対象命令保持手段の1つに、その
    命令フィールド位置をその命令保持手段に対応する前記
    命令フィールド位置保持手段にそれぞれ保持すると共
    に、予め定められた遅延サイクル数をその命令保持手段
    に対応する前記遅延サイクル数カウント手段に設定する
    主デコード手段と、 前記N個の遅延対象命令保持手段の保持命令のデコード
    を司る副デコード手段であって、前記遅延対象命令保持
    手段に対応する前記遅延サイクル数カウント手段が前記
    遅延サイクル数をカウントし終えた段階で、その命令保
    持手段の保持命令をその命令保持手段に対応する前記命
    令フィールド位置保持手段の示す命令フィールドに配置
    されている命令としてデコードする副デコード手段とを
    具備することを特徴とするVLIWプロセッサ。
  4. 【請求項4】 複数の命令フィールドを有する長命令語
    (VLIW)を実行するVLIWプロセッサにおいて、 長命令語中の遅延すべき命令を保持しておくためのN個
    (Nは1以上の整数)の遅延対象命令保持手段と、 前記N個の遅延対象命令保持手段に対応してそれぞれ設
    けられ、対応する遅延対象命令保持手段に保持された命
    令が配置されていた長命令語上の命令フィールド位置を
    保持しておくためのN個の命令フィールド位置保持手段
    と、 前記N個の遅延対象命令保持手段に対応してそれぞれ設
    けられ、対応する遅延対象命令保持手段に保持された命
    令の遅延サイクル数をカウントするためのN個の遅延サ
    イクル数カウント手段と、 実行すべき長命令語の各命令フィールドに配置されてい
    る命令のデコードを司る主デコード手段であって、命令
    の遅延と遅延すべき命令が配置されている命令フィール
    ドと遅延サイクル数とを指定する遅延命令のデコード時
    には、当該遅延命令の指定する命令フィールドに配置さ
    れている遅延対象命令を前記N個の遅延対象命令保持手
    段の1つに、その命令フィールド位置をその命令保持手
    段に対応する前記命令フィールド位置保持手段にそれぞ
    れ保持すると共に、当該遅延命令の指定する遅延サイク
    ル数をその命令保持手段に対応する前記遅延サイクル数
    カウント手段に設定する主デコード手段と、 前記N個の遅延対象命令保持手段の保持命令のデコード
    を司る副デコード手段であって、前記遅延対象命令保持
    手段に対応する前記遅延サイクル数カウント手段が前記
    遅延サイクル数をカウントし終えた段階で、その命令保
    持手段の保持命令をその命令保持手段に対応する前記命
    令フィールド位置保持手段の示す命令フィールドに配置
    されている命令としてデコードする副デコード手段とを
    具備することを特徴とするVLIWプロセッサ。
  5. 【請求項5】 複数の命令フィールドを有する長命令語
    (VLIW)を実行するVLIWプロセッサにおいて、 長命令語中の遅延すべき命令を保持しておくための、長
    命令語の各命令フィールドに対応してそれぞれ設けられ
    た遅延対象命令保持手段と、 前記各遅延対象命令保持手段に対応してそれぞれ設けら
    れ、対応する遅延対象命令保持手段に保持された命令の
    遅延サイクル数をカウントするための遅延サイクル数カ
    ウント手段と、 実行すべき長命令語の各命令フィールドに配置されてい
    る命令のデコードを司る主デコード手段であって、命令
    の遅延を指定する遅延命令のデコード時には、当該遅延
    命令を当該遅延命令が配置されている命令フィールドに
    対応する前記遅延対象命令保持手段に保持すると共に、
    予め定められた第1の遅延サイクル数をその命令保持手
    段に対応する前記遅延サイクル数カウント手段に設定す
    る主デコード手段と、 前記各遅延対象命令保持手段の保持命令のデコードを司
    る副デコード手段であって、前記遅延対象命令保持手段
    に対応する前記遅延サイクル数カウント手段が前記遅延
    サイクル数をカウントし終えた段階で、その命令保持手
    段の保持命令をその命令保持手段に対応する命令フィー
    ルドに配置された命令としてデコードし、当該保持命令
    が前記遅延命令であった場合には、その際に前記主デコ
    ード手段によりデコードされている命令のうち、同じ命
    令フィールドに配置されている命令を前記主デコード手
    段から受け取ってその命令保持手段に保持すると共に、
    予め定められた第2の遅延サイクル数をその命令保持手
    段に対応する前記遅延サイクル数カウント手段に設定す
    る副デコード手段とを具備することを特徴とするVLI
    Wプロセッサ。
  6. 【請求項6】 複数の命令フィールドを有する長命令語
    (VLIW)を実行するVLIWプロセッサにおいて、 長命令語中の遅延すべき命令を保持しておくための、長
    命令語の各命令フィールドに対応してそれぞれ設けられ
    た遅延対象命令保持手段と、 前記各遅延対象命令保持手段に対応してそれぞれ設けら
    れ、対応する遅延対象命令保持手段に保持された命令の
    遅延サイクル数をカウントするための遅延サイクル数カ
    ウント手段と、 実行すべき長命令語の各命令フィールドに配置されてい
    る命令のデコードを司る主デコード手段であって、命令
    の遅延とその遅延サイクル数とを指定する遅延命令のデ
    コード時には、当該遅延命令を当該遅延命令が配置され
    ている命令フィールドに対応する前記遅延対象命令保持
    手段に保持すると共に、予め定められた遅延サイクル数
    をその命令保持手段に対応する前記遅延サイクル数カウ
    ント手段に設定する主デコード手段と、 前記各遅延対象命令保持手段の保持命令のデコードを司
    る副デコード手段であって、前記遅延対象命令保持手段
    に対応する前記遅延サイクル数カウント手段が前記遅延
    サイクル数をカウントし終えた段階で、その命令保持手
    段の保持命令をその命令保持手段に対応する命令フィー
    ルドに配置された命令としてデコードし、当該保持命令
    が前記遅延命令であった場合には、その際に前記主デコ
    ード手段によりデコードされている命令のうち、同じ命
    令フィールドに配置されている命令を前記主デコード手
    段から受け取ってその命令保持手段に保持すると共に、
    当該保持命令の指定する遅延サイクル数をその命令保持
    手段に対応する前記遅延サイクル数カウント手段に設定
    する副デコード手段とを具備することを特徴とするVL
    IWプロセッサ。
  7. 【請求項7】 複数の命令フィールドを有する長命令語
    (VLIW)を実行するVLIWプロセッサにおいて、 長命令語中の遅延すべき命令を保持しておくためのN個
    (Nは1以上の整数)の遅延対象命令保持手段と、 前記N個の遅延対象命令保持手段に対応してそれぞれ設
    けられ、対応する遅延対象命令保持手段に保持された命
    令が配置されていた長命令語上の命令フィールド位置を
    保持しておくためのN個の命令フィールド位置保持手段
    と、 前記N個の遅延対象命令保持手段に対応してそれぞれ設
    けられ、対応する遅延対象命令保持手段に保持された命
    令の遅延サイクル数をカウントするためのN個の遅延サ
    イクル数カウント手段と、 実行すべき長命令語の各命令フィールドに配置されてい
    る命令のデコードを司る主デコード手段であって、命令
    の遅延を指定する遅延命令のデコード時には、当該遅延
    命令を前記N個の遅延対象命令保持手段の1つに、その
    命令フィールド位置をその命令保持手段に対応する前記
    命令フィールド位置保持手段にそれぞれ保持すると共
    に、予め定められた第1の遅延サイクル数をその命令保
    持手段に対応する前記遅延サイクル数カウント手段に設
    定する主デコード手段と、 前記N個の遅延対象命令保持手段の保持命令のデコード
    を司る副デコード手段であって、前記遅延対象命令保持
    手段に対応する前記遅延サイクル数カウント手段が前記
    遅延サイクル数をカウントし終えた段階で、その命令保
    持手段の保持命令をその命令保持手段に対応する前記命
    令フィールド位置保持手段の示す命令フィールドに配置
    されている命令としてデコードし、当該保持命令が前記
    遅延命令であった場合には、その際に前記主デコード手
    段によりデコードされている命令のうち、同じ命令フィ
    ールドに配置されている命令を前記主デコード手段から
    受け取って、その命令を前記N個の遅延対象命令保持手
    段の1つに、その命令フィールド位置をその命令保持手
    段に対応する前記命令フィールド位置保持手段にそれぞ
    れ保持すると共に、予め定められた第2の遅延サイクル
    数をその命令保持手段に対応する前記遅延サイクル数カ
    ウント手段に設定する副デコード手段とを具備すること
    を特徴とするVLIWプロセッサ。
  8. 【請求項8】 複数の命令フィールドを有する長命令語
    (VLIW)を実行するVLIWプロセッサにおいて、 長命令語中の遅延すべき命令を保持しておくためのN個
    (Nは1以上の整数)の遅延対象命令保持手段と、 前記N個の遅延対象命令保持手段に対応してそれぞれ設
    けられ、対応する遅延対象命令保持手段に保持された命
    令が配置されていた長命令語上の命令フィールド位置を
    保持しておくためのN個の命令フィールド位置保持手段
    と、 前記N個の遅延対象命令保持手段に対応してそれぞれ設
    けられ、対応する遅延対象命令保持手段に保持された命
    令の遅延サイクル数をカウントするためのN個の遅延サ
    イクル数カウント手段と、 実行すべき長命令語の各命令フィールドに配置されてい
    る命令のデコードを司る主デコード手段であって、命令
    の遅延とその遅延サイクル数とを指定する遅延命令のデ
    コード時には、当該遅延命令を前記N個の遅延対象命令
    保持手段の1つに、その命令フィールド位置をその命令
    保持手段に対応する前記命令フィールド位置保持手段に
    それぞれ保持すると共に、予め定められた遅延サイクル
    数をその命令保持手段に対応する前記遅延サイクル数カ
    ウント手段に設定する主デコード手段と、 前記N個の遅延対象命令保持手段の保持命令のデコード
    を司る副デコード手段であって、前記遅延対象命令保持
    手段に対応する前記遅延サイクル数カウント手段が前記
    遅延サイクル数をカウントし終えた段階で、その命令保
    持手段の保持命令をその命令保持手段に対応する前記命
    令フィールド位置保持手段の示す命令フィールドに配置
    されている命令としてデコードし、当該保持命令が前記
    遅延命令であった場合には、その際に前記主デコード手
    段によりデコードされている命令のうち、同じ命令フィ
    ールドに配置されている命令を前記主デコード手段から
    受け取って、その命令を前記N個の遅延対象命令保持手
    段の1つに、その命令フィールド位置をその命令保持手
    段に対応する前記命令フィールド位置保持手段にそれぞ
    れ保持すると共に、当該保持命令の指定する遅延サイク
    ル数をその命令保持手段に対応する前記遅延サイクル数
    カウント手段に設定する副デコード手段とを具備するこ
    とを特徴とするVLIWプロセッサ。
  9. 【請求項9】 複数の命令フィールドを有する長命令語
    (VLIW)を実行するVLIWプロセッサにおいて、 長命令語中の遅延すべき命令を保持しておくための、長
    命令語の各命令フィールドに対応してそれぞれ設けられ
    た遅延対象命令保持手段と、 前記各遅延対象命令保持手段に対応してそれぞれ設けら
    れ、対応する遅延対象命令保持手段に保持された命令の
    遅延サイクル数をカウントするための遅延サイクル数カ
    ウント手段と、 実行すべき長命令語の各命令フィールドに配置されてい
    る命令のデコードを司る主デコード手段であって、命令
    の遅延と遅延すべき命令が配置されているクラスタ及び
    命令フィールドとを指定する遅延命令のデコード時に
    は、当該遅延命令を当該遅延命令が配置されている命令
    フィールドに対応する前記遅延対象命令保持手段に保持
    すると共に、当該遅延命令の指定するクラスタ位置で決
    まる遅延サイクル数をその命令保持手段に対応する前記
    遅延サイクル数カウント手段に設定する主デコード手段
    と、 前記各遅延対象命令保持手段の保持命令のデコードを司
    る副デコード手段であって、前記遅延対象命令保持手段
    に対応する前記遅延サイクル数カウント手段が前記遅延
    サイクル数をカウントし終えた段階で、その命令保持手
    段の保持命令をその命令保持手段に対応する命令フィー
    ルドに配置された命令としてデコードし、当該保持命令
    が前記遅延命令であった場合には、その際に前記主デコ
    ード手段によりデコードされている命令のうち、当該保
    持命令の指定する命令フィールドに配置されている命令
    を前記主デコード手段から受け取って、その命令フィー
    ルドに対応する前記命令保持手段に保持すると共に、予
    め定められた遅延サイクル数をその命令保持手段に対応
    する前記遅延サイクル数カウント手段に設定する副デコ
    ード手段とを具備することを特徴とするVLIWプロセ
    ッサ。
  10. 【請求項10】 複数の命令フィールドを有する長命令
    語(VLIW)を実行するVLIWプロセッサにおい
    て、 長命令語中の遅延すべき命令を保持しておくための、長
    命令語の各命令フィールドに対応してそれぞれ設けられ
    た遅延対象命令保持手段と、 前記各遅延対象命令保持手段に対応してそれぞれ設けら
    れ、対応する遅延対象命令保持手段に保持された命令の
    遅延サイクル数をカウントするための遅延サイクル数カ
    ウント手段と、 実行すべき長命令語の各命令フィールドに配置されてい
    る命令のデコードを司る主デコード手段であって、命令
    の遅延と遅延すべき命令が配置されているクラスタ及び
    命令フィールドと遅延サイクル数とを指定する遅延命令
    のデコード時には、当該遅延命令を当該遅延命令が配置
    されている命令フィールドに対応する前記遅延対象命令
    保持手段に保持すると共に、当該遅延命令の指定するク
    ラスタ位置で決まる遅延サイクル数をその命令保持手段
    に対応する前記遅延サイクル数カウント手段に設定する
    主デコード手段と、 前記各遅延対象命令保持手段の保持命令のデコードを司
    る副デコード手段であって、前記遅延対象命令保持手段
    に対応する前記遅延サイクル数カウント手段が前記遅延
    サイクル数をカウントし終えた段階で、その命令保持手
    段の保持命令をその命令保持手段に対応する命令フィー
    ルドに配置された命令としてデコードし、当該保持命令
    が前記遅延命令であった場合には、その際に前記主デコ
    ード手段によりデコードされている命令のうち、当該保
    持命令の指定する命令フィールドに配置されている命令
    を前記主デコード手段から受け取って、その命令フィー
    ルドに対応する前記命令保持手段に保持すると共に、当
    該保持命令の指定する遅延サイクル数をその命令保持手
    段に対応する前記遅延サイクル数カウント手段に設定す
    る副デコード手段とを具備することを特徴とするVLI
    Wプロセッサ。
  11. 【請求項11】 複数の命令フィールドを有する長命令
    語(VLIW)を実行するVLIWプロセッサにおい
    て、 長命令語中の遅延すべき命令を保持しておくためのN個
    (Nは1以上の整数)の遅延対象命令保持手段と、 前記N個の遅延対象命令保持手段に対応してそれぞれ設
    けられ、対応する遅延対象命令保持手段に保持された命
    令が配置されていた長命令語上の命令フィールド位置を
    保持しておくためのN個の命令フィールド位置保持手段
    と、 前記N個の遅延対象命令保持手段に対応してそれぞれ設
    けられ、対応する遅延対象命令保持手段に保持された命
    令の遅延サイクル数をカウントするためのN個の遅延サ
    イクル数カウント手段と、 実行すべき長命令語の各命令フィールドに配置されてい
    る命令のデコードを司る主デコード手段であって、命令
    の遅延と遅延すべき命令が配置されているクラスタ及び
    命令フィールドとを指定する遅延命令のデコード時に
    は、当該遅延命令を前記N個の遅延対象命令保持手段の
    1つに、その命令フィールド位置をその命令保持手段に
    対応する前記命令フィールド位置保持手段にそれぞれ保
    持すると共に、当該遅延命令の指定するクラスタ位置で
    決まる遅延サイクル数をその命令保持手段に対応する前
    記遅延サイクル数カウント手段に設定する主デコード手
    段と、 前記N個の遅延対象命令保持手段の保持命令のデコード
    を司る副デコード手段であって、前記遅延対象命令保持
    手段に対応する前記遅延サイクル数カウント手段が前記
    遅延サイクル数をカウントし終えた段階で、その命令保
    持手段の保持命令をその命令保持手段に対応する前記命
    令フィールド位置保持手段の示す命令フィールドに配置
    されている命令としてデコードし、当該保持命令が前記
    遅延命令であった場合には、その際に前記主デコード手
    段によりデコードされている命令のうち、当該保持命令
    の指定する命令フィールドに配置されている命令を前記
    主デコード手段から受け取って、その命令を前記N個の
    遅延対象命令保持手段の1つに、その命令フィールド位
    置をその命令保持手段に対応する前記命令フィールド位
    置保持手段にそれぞれ保持すると共に、予め定められた
    遅延サイクル数をその命令保持手段に対応する前記遅延
    サイクル数カウント手段に設定する副デコード手段とを
    具備することを特徴とするVLIWプロセッサ。
  12. 【請求項12】 複数の命令フィールドを有する長命令
    語(VLIW)を実行するVLIWプロセッサにおい
    て、 長命令語中の遅延すべき命令を保持しておくためのN個
    (Nは1以上の整数)の遅延対象命令保持手段と、 前記N個の遅延対象命令保持手段に対応してそれぞれ設
    けられ、対応する遅延対象命令保持手段に保持された命
    令が配置されていた長命令語上の命令フィールド位置を
    保持しておくためのN個の命令フィールド位置保持手段
    と、 前記N個の遅延対象命令保持手段に対応してそれぞれ設
    けられ、対応する遅延対象命令保持手段に保持された命
    令の遅延サイクル数をカウントするためのN個の遅延サ
    イクル数カウント手段と、 実行すべき長命令語の各命令フィールドに配置されてい
    る命令のデコードを司る主デコード手段であって、命令
    の遅延と遅延すべき命令が配置されているクラスタ及び
    命令フィールドと遅延サイクル数とを指定する遅延命令
    のデコード時には、当該遅延命令を前記N個の遅延対象
    命令保持手段の1つに、その命令フィールド位置をその
    命令保持手段に対応する前記命令フィールド位置保持手
    段にそれぞれ保持すると共に、当該遅延命令の指定する
    クラスタ位置で決まる遅延サイクル数をその命令保持手
    段に対応する前記遅延サイクル数カウント手段に設定す
    る主デコード手段と、 前記N個の遅延対象命令保持手段の保持命令のデコード
    を司る副デコード手段であって、前記遅延対象命令保持
    手段に対応する前記遅延サイクル数カウント手段が前記
    遅延サイクル数をカウントし終えた段階で、その命令保
    持手段の保持命令をその命令保持手段に対応する前記命
    令フィールド位置保持手段の示す命令フィールドに配置
    されている命令としてデコードし、当該保持命令が前記
    遅延命令であった場合には、その際に前記主デコード手
    段によりデコードされている命令のうち、当該保持命令
    の指定する命令フィールドに配置されている命令を前記
    主デコード手段から受け取って、その命令を前記N個の
    遅延対象命令保持手段の1つに、その命令フィールド位
    置をその命令保持手段に対応する前記命令フィールド位
    置保持手段にそれぞれ保持すると共に、当該保持命令の
    指定する遅延サイクル数を対応する前記遅延サイクル数
    カウント手段に設定する副デコード手段とを具備するこ
    とを特徴とするVLIWプロセッサ。
JP20613895A 1995-08-11 1995-08-11 Vliwプロセッサ Pending JPH0954693A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP20613895A JPH0954693A (ja) 1995-08-11 1995-08-11 Vliwプロセッサ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP20613895A JPH0954693A (ja) 1995-08-11 1995-08-11 Vliwプロセッサ

Publications (1)

Publication Number Publication Date
JPH0954693A true JPH0954693A (ja) 1997-02-25

Family

ID=16518421

Family Applications (1)

Application Number Title Priority Date Filing Date
JP20613895A Pending JPH0954693A (ja) 1995-08-11 1995-08-11 Vliwプロセッサ

Country Status (1)

Country Link
JP (1) JPH0954693A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5958044A (en) * 1997-01-24 1999-09-28 Texas Instruments Incorporated Multicycle NOP
US6219779B1 (en) 1997-06-16 2001-04-17 Matsushita Electric Industrial Co., Ltd. Constant reconstructing processor which supports reductions in code size
JP2008015589A (ja) * 2006-07-03 2008-01-24 Nec Corp Vliw型プロセッサおよび命令発行方法
JP2013519137A (ja) * 2010-02-01 2013-05-23 アルテラ コーポレイション 効率的プロセッサおよび関連する方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5958044A (en) * 1997-01-24 1999-09-28 Texas Instruments Incorporated Multicycle NOP
US6219779B1 (en) 1997-06-16 2001-04-17 Matsushita Electric Industrial Co., Ltd. Constant reconstructing processor which supports reductions in code size
JP2008015589A (ja) * 2006-07-03 2008-01-24 Nec Corp Vliw型プロセッサおよび命令発行方法
JP2013519137A (ja) * 2010-02-01 2013-05-23 アルテラ コーポレイション 効率的プロセッサおよび関連する方法

Similar Documents

Publication Publication Date Title
KR100563219B1 (ko) 혼합 벡터/스칼라 레지스터 파일
US5598546A (en) Dual-architecture super-scalar pipeline
US5404552A (en) Pipeline risc processing unit with improved efficiency when handling data dependency
JP2640454B2 (ja) ディジタル命令プロセッサ制御装置および1サイクル内で分岐を実行する方法
US7047399B2 (en) Computer system and method for fetching, decoding and executing instructions
CA1324671C (en) Decoding multiple specifiers in a variable length instruction architecture
JPH0778732B2 (ja) 複数スカラ命令の並列実行支援装置
JP3832623B2 (ja) マルチスレッドvliwプロセッサにおいて機能単位を割り当てるための方法および装置
JPH117387A (ja) Vliwプロセッサ
JPH09311786A (ja) データ処理装置
JPH03116233A (ja) データプロセッサの命令処理システム
JPS63175934A (ja) デ−タ処理装置
JPH11282679A (ja) 演算処理装置
US7779240B2 (en) System and method for reducing power consumption in a data processor having a clustered architecture
KR101183270B1 (ko) 오퍼랜드 의존성으로 인한 기능 정지를 감소시키는 방법 및데이터 프로세서
US20050027774A1 (en) Saturated arithmetic in a processing unit
KR880001418B1 (ko) 데이터 처리장치
US20020116599A1 (en) Data processing apparatus
JPH0954693A (ja) Vliwプロセッサ
US5802360A (en) Digital microprocessor device having dnamically selectable instruction execution intervals
EP1050805B1 (en) Transfer of guard values in a computer system
JPH10124312A (ja) 中央処理装置
JP2581565B2 (ja) ガード付命令を実行するデータ処理装置
EP1235139B1 (en) System and method for supporting precise exceptions in a data processor having a clustered architecture
JPH1196001A (ja) プログラム実行装置及びプログラム変換方法