JP2883489B2 - 命令処理装置 - Google Patents

命令処理装置

Info

Publication number
JP2883489B2
JP2883489B2 JP3902092A JP3902092A JP2883489B2 JP 2883489 B2 JP2883489 B2 JP 2883489B2 JP 3902092 A JP3902092 A JP 3902092A JP 3902092 A JP3902092 A JP 3902092A JP 2883489 B2 JP2883489 B2 JP 2883489B2
Authority
JP
Japan
Prior art keywords
instruction
interrupt
word
processing
emulated
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.)
Expired - Fee Related
Application number
JP3902092A
Other languages
English (en)
Other versions
JPH05241829A (ja
Inventor
義幸 加藤
禎 石川
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 JP3902092A priority Critical patent/JP2883489B2/ja
Publication of JPH05241829A publication Critical patent/JPH05241829A/ja
Application granted granted Critical
Publication of JP2883489B2 publication Critical patent/JP2883489B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、VLIW(Very
Long Instruction Word)方式
の計算機における命令処理装置に関する。
【0002】
【従来の技術】一般にVLIW方式の計算機では、複数
の命令を同時に処理する。そこで、同時に処理される命
令群を命令語と定義すると、図5のVLIW方式の命令
の例では、命令語1〜命令語3それぞれは4個の命令、
すなわち命令1〜命令4;命令5〜命令8;命令9〜命
令12で構成され、各4個の命令が同時に処理されるの
であり、例えば命令1、命令2、…と順番に処理される
ことはない。
【0003】このようなVLIW方式の計算機におい
て、従来から、従来機種の計算機との命令の互換性維持
を少ないハード量で実現することを目的として、命令の
機能を割り込み処理でエミュレーションすることがあ
る。この場合、命令語内の各命令が同時に実行されるこ
とを保証するために、割込み処理プログラム内では命令
語内のすべての命令の機能も同時にエミュレーションす
る必要がある。しかしながら、この方法では、割込み処
理プログラムが複雑になり、処理速度も低下してしまう
問題点があった。
【0004】そこで、同一命令語内の他の命令はNOP
命令を指定するという制約を付ければ割込み処理プログ
ラムの複雑さは回避できるが、こんどはメモリの使用効
率が低下してしまう問題点があった。
【0005】図6および図7に例を示すと、全語境界か
らのロード機能しかない計算機で、半語境界からのロー
ド命令を割込み処理でエミュレーションしようとした場
合には、図7(a)に示す命令語Aでは、加算命令でレ
ジスタR1を書き換え、ロード命令はオペランドアドレ
スにレジスタR1を使用しているため、命令語の実行後
に割込みを入れると加算命令が実行された後となり、レ
ジスタR1の値が変わってしまってロード処理を行なえ
なくなる。そこで、命令語Aの実行前に割込みを入れて
命令語A内のすべての命令の機能をエミュレーションす
る必要があり、処理速度が低下してしまう。
【0006】また、同図(b)のように命令語Aを命令
語A1と命令語A2の2つに分けて命令語A1だけを割
込みでエミュレーションすると、処理プログラムは簡単
になるが、メモリの使用効率は低下してしまう。
【0007】
【発明が解決しようとする課題】以上のように従来の命
令処理装置では、割込みでエミュレーションする場合、
エミュレーションの対象となる命令と同一命令語内にN
OP命令以外の命令がある場合、割込み処理プログラム
が複雑になり、処理速度が低下してしまう問題点があ
り、同一命令語内のエミュレーション対象以外の命令に
NOP命令を指定するという制約を付けるならば、メモ
リの使用効率が低下してしまう問題点があった。
【0008】この発明は、このような従来の問題点に鑑
みなされたもので、VLIW方式の計算機において、命
令の機能を割込み処理でエミュレーションする場合、エ
ミュレーション対象の命令が置かれたのと同一命令語内
にNOP命令以外がある場合でも、割込み処理プログラ
ムでは対象とする命令のエミュレーションを行なうだけ
で済むようにして、エミュレーションの処理速度を向上
させ、同一命令語内に指定できる命令の制約をなくし、
メモリの使用効率を向上させることができる命令処理装
置を提供することを目的とする。
【0009】
【課題を解決するための手段】この発明は、複数の命令
を1個の命令語として同時に処理するVLIW方式の命
令処理装置において、エミュレーション対象の命令の機
能実現に必要な情報を保存する手段と、エミュレーショ
ン対象の命令を識別して命令語の実行後に割込みを起こ
す割込み手段と、前記エミュレーション対象の命令を他
の命令列で実現する割込み処理プログラムを持ち、エミ
ュレーション対象の命令を含む命令語の実行後に割込み
を発生させ、前記保存手段に保存された情報と割込み処
理プログラムでエミュレーション対象の命令の機能を実
現する演算処理手段とを備えたものである。
【0010】
【作用】この発明の命令処理装置では、エミュレーショ
ン対象の命令の機能実現に必要な情報を保存手段に保存
し、このエミュレーション対象の命令の実行だけを禁止
して命令語の実行後に割込み手段によって割込みを起こ
すようにし、エミュレーション処理時には他のすべての
命令を終了させておく。
【0011】こうして、割込み処理では、保存手段に保
存された情報を使用してエミュレーション対象の命令の
エミュレーションだけを行ない、その結果をレジスタフ
ァイルに格納して処理を終了することができる。
【0012】
【実施例】以下、この発明の実施例を図に基づいて詳説
する。
【0013】図3は一般的な命令語の構造の1例を示し
ており、この例では、1命令語が4個の命令フィールド
を持ち、VLIW方式の計算機では、この中に指定され
た4個の命令を同時に処理する。各命令は3個のオペラ
ンドの命令形式となっている。すなわち、S1,S2で
ソースレジスタ番号を指定し、Dでデスティネーション
レジスタ番号を指定する。そして、S1で指定されるレ
ジスタとS2で指定されるレジスタに対して、OPで指
定された演算を行ない、その結果をDで指定されるレジ
スタに格納するのである。
【0014】また、ロード命令は、S2でオペランドア
ドレスを指定し、Dで指定されるレジスタへロードデー
タを格納する。ロード命令は、図4(a),(b)に示
すように、次の2種類をサポートし、命令LHは割込み
によるエミュレーションで実現するものとする。また、
ロード命令は命令フィールド0でだけ指定できるものと
する。
【0015】命令L :全語境界からの1ワードをロー
ドする。
【0016】命令LH:半語境界からの1ワードをロー
ドする。
【0017】図1はこの発明の一実施例の回路構成を示
しており、上記図3および図4に示した命令語により命
令処理を実行する。
【0018】図1において、1はオペランドキャッシュ
であり、演算装置4から信号線5を通じてリクエストが
あると、信号線6を通じてロードデータを演算装置4に
渡す。このオペランドキャッシュ1は、全語境界からの
ロードを行なう機能しかないものとする。
【0019】2は命令キャッシュであり、演算装置4へ
図3および図4に示す命令を供給する。3は命令バスで
ある。
【0020】演算装置4は、命令キャッシュ2から命令
を受け取り、レジスタファイル16からソースデータを
読み出して演算を実行し、結果をレジスタファイル16
へ格納する。また、ロードのリクエストをオペランドキ
ャッシュ1へ渡したり、割込み信号10の生成を行な
う。
【0021】信号線5はロードのリクエストおよびアド
レスを伝送する。信号線6はロードデータを伝送する。
【0022】7はインクリメンタであり、命令ロケーシ
ョンを+1する。8は割込み先アドレスを伝送する信号
線である。9はセレクタであり、インクリメンタ7から
の命令ロケーション+1か信号線8からの割込み先アド
レスかを切り換える。10は、このセレクタ9に割込み
信号を与える割込み信号線である。
【0023】11は命令ロケーションであり、レジスタ
で構成されている。
【0024】12はセレクタであり、図3に示した命令
フィールド0のS2で指定されたレジスタ(レジスタフ
ァイル16内にある)とレジスタ14を選択する。な
お、命令フィールド0のS2で指定されたレジスタは、
命令LHのオペランドアドレスとなるレジスタである。
【0025】13はセレクタ12の切り換えを行なうフ
リップフロップであり、信号線22の命令でセット・リ
セットが可能となっている。
【0026】14はレジスタであり、命令LHのオペラ
ンドアドレスを一時保持することができる。15はこの
レジスタ14へのデータ取り込みを許可する信号線であ
る。レジスタファイル16は、図3に示した1命令語の
4命令を同時に処理するために、読み出しに8ポート、
書き込みに4ポートを備えている。
【0027】17はこのレジスタファイル16に書き込
み許可を与えるイネーブル信号線であり、レジスタファ
イル16の各書き込みポートごとに書き込み許可を与え
ることができる。
【0028】18はレジスタ番号Rを与える信号線であ
り、レジスタファイル16から読み出すレジスタを指定
することができ、合計8個ある。19はレジスタ番号W
を与える信号線であり、レジスタファイル16へ書き込
むレジスタを指定することができ、合計4個ある。
【0029】20はデータ線であり、レジスタファイル
16から読み出したデータを伝送することができ、4命
令分の8個のデータを伝送する。21もデータ線であ
り、レジスタファイル16へ書き込むデータを伝送する
ことができ、4命令分の4個のデータを伝送する。信号
線22は、フリップフロップ13のセットとリセットを
行なう。
【0030】次に、上記の構成の命令処理装置の動作に
ついて説明する。
【0031】図1に示す回路は、全語境界からの1ワー
ドのロードしか行なえないものであり、半語境界からの
ロードが可能な命令LHは割込み処理でエミュレーショ
ンするものとする。そして、命令LH以外の命令では、
レジスタファイル読み出し−演算またはロード処理−レ
ジスタファイルへの結果書き込み、の順序で処理が行な
われる。
【0032】以下、命令LHが実行されるときの動作
を、図2のフローチャートに基づいて説明する。命令キ
ャッシュ2は4個の命令を命令バス3を通して一度に演
算装置4へ供給し、演算装置4では4個の命令を一度に
処理する。
【0033】そこで、命令LHが演算装置4に供給され
ると、信号線15が真となり、図3に示した命令フィー
ルド0のS2で指定されたレジスタの値がレジスタ14
に格納される。つまり、命令LHのオペランドアドレス
が保存されることになる(ステップS1)。
【0034】次に、イネーブル信号線17により、命令
フィールド0の結果(命令LHの結果)の書き込みだけ
が禁止される(ステップS2)。この状態で命令語内の
4個の命令が実行される(ステップS3)。
【0035】命令の実行が終了すれば、割込み処理が開
始される。この制御は演算装置4内の割込み制御回路4
aにおいて行なわれ、まず、信号線10が真となり、命
令ロケーション11へ割込み先アドレス8が取り込ま
れ、これにより、命令キャッシュ2へ渡される命令ロケ
ーションが割込み先アドレスとなる。この命令ロケーシ
ョン11の出力は演算装置4にも供給され、割込み処理
からの戻り先アドレスがメモリ中のスタックに保存され
る。そして、この場合、実行後の割込みであるため、戻
り先アドレスは命令LHを含む命令語の次のアドレスと
なる。
【0036】割込み先処理では、処理プログラムは次の
ように動作する。すなわち、まずフリップフロップ13
がセットされ(ステップS4)、セレクタ12が1側に
切り換えられ、レジスタ14の内容である命令LHのオ
ペランドアドレスが読まれる(ステップS5)。
【0037】読み込まれた命令LHのオペランドアドレ
スを見て(ステップS6)、半語境界からのロードであ
る場合には、全語ロードを2回行なう(ステップS
7)。これには、信号線5、信号線6を使用し、オペラ
ンドキャッシュ1へリクエストを出すことで行なう。続
いて、この2回のロード結果をパッキングしてレジスタ
ファイル16に格納する(ステップS8,S10)。
【0038】また、ステップS6で全語境界からのロー
ドの場合には、全語ロードを1回だけ行ない、結果をレ
ジスタファイル16に格納する(ステップS9,S1
0)。
【0039】最後に、フリップフロップ13をリセット
し、メモリ中に保存されている戻り先アドレスを命令ロ
ケーション11にセットし、割込み処理から復帰する
(ステップS11)。この場合、命令語の実行後の割込
み処理のため、命令LHが含まれる命令語の次の命令語
へ復帰することになる。
【0040】このようにして、エミュレーション対象の
命令の機能実現に必要な情報を保存し、この命令の実行
だけを禁止し、まず命令語の実行を行なった後に割込み
を起こし、その割込み処理では、保存された情報を使用
してエミュレーション対象の命令のエミュレーションだ
けを行ない、その結果をレジスタファイルに格納して処
理を終了するようにして、割込み処理では対象となる命
令のエミュレーションを行なうだけで済むようにし、ま
たエミュレーション対象の命令と同一命令語内に指定で
きる命令の制約もなくすことができるようになる。
【0041】なお、この発明は上記の実施例に限定され
ず、関数演算命令などの高機能な命令を割込みでエミュ
レーションする場合にも利用することができる。
【0042】
【発明の効果】以上のようにこの発明によれば、エミュ
レーション対象の命令の機能実現に必要な情報を保存手
段に保存し、このエミュレーション対象の命令の実行だ
けを禁止して、命令語の実行後に割込み手段によって割
込みを起こすようにして、エミュレーション処理時には
他のすべての命令を終了させておくようにしているた
め、割込み処理では、保存手段に保存された情報を使用
して、エミュレーション対象の命令のエミュレーション
を行なうだけで済み、命令のエミュレーションの処理速
度を向上させ、同一命令語内に指定できる命令の制約も
なくし、メモリの使用効率も向上させることができる。
【図面の簡単な説明】
【図1】この発明の一実施例の回路ブロック図。
【図2】上記実施例の命令LHの処理を示すフローチャ
ート。
【図3】上記実施例で使用する命令語の形式を示す説明
図。
【図4】上記実施例における全語境界からの命令と半語
境界からの命令の処理を示す説明図。
【図5】一般的なVLIW方式の計算機における命令語
の形式を示す説明図。
【図6】従来例の命令語の処理動作を示す説明図。
【図7】従来例の半語境界からの命令の処理を示す説明
図。
【符号の説明】
1 オペランド 2 命令キャッシュ 3 命令バス 4 演算装置 4a 割込み制御回路 5 信号線 6 信号線 7 インクリメンタ 8 信号線 9 セレクタ 10 割込み信号線 11 命令ロケーション 12 セレクタ 13 フリップフロップ 14 レジスタ 15 信号線 16 レジスタファイル 17 イネーブル信号線 18 信号線 19 信号線 20 データ線 21 データ線 22 信号線

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】 複数の命令を1個の命令語として同時に
    処理するVLIW方式の命令処理装置において、 エミュレーション対象の命令の機能実現に必要な情報を
    保存する手段と、 エミュレーション対象の命令を識別して命令語の実行後
    に割込みを起こす割込み手段と、 前記エミュレーション対象の命令を他の命令列で実現す
    る割込み処理プログラムを持ち、エミュレーション対象
    の命令を含む命令語の実行後に割込みを発生させ、前記
    保存手段に保存された情報と割込み処理プログラムでエ
    ミュレーション対象の命令の機能を実現する演算処理手
    段とを備えて成る命令処理装置。
JP3902092A 1992-02-26 1992-02-26 命令処理装置 Expired - Fee Related JP2883489B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3902092A JP2883489B2 (ja) 1992-02-26 1992-02-26 命令処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3902092A JP2883489B2 (ja) 1992-02-26 1992-02-26 命令処理装置

Publications (2)

Publication Number Publication Date
JPH05241829A JPH05241829A (ja) 1993-09-21
JP2883489B2 true JP2883489B2 (ja) 1999-04-19

Family

ID=12541429

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3902092A Expired - Fee Related JP2883489B2 (ja) 1992-02-26 1992-02-26 命令処理装置

Country Status (1)

Country Link
JP (1) JP2883489B2 (ja)

Also Published As

Publication number Publication date
JPH05241829A (ja) 1993-09-21

Similar Documents

Publication Publication Date Title
CA1204516A (en) Data flow type information processing stystem
JPS623461B2 (ja)
JP4465081B2 (ja) Vliwプロセッサにおける効率的なサブ命令エミュレーション
JP2883489B2 (ja) 命令処理装置
JP2883488B2 (ja) 命令処理装置
JP2568017B2 (ja) マイクロプロセッサ及びそれを使用したデータ処理システム
JPH0754467B2 (ja) データ処理装置
US5893928A (en) Data movement apparatus and method
JPH0222413B2 (ja)
JPS61184643A (ja) 仮想計算機の起動制御方式
JP3139310B2 (ja) ディジタル信号処理装置
JP3168845B2 (ja) ディジタル信号処理装置
JP3442972B2 (ja) 情報処理装置および書き換え可能型不揮発性メモリの書き換え方法
JP2584107B2 (ja) リアルタイム処理装置
JP2000029508A (ja) プログラマブルコントローラ
JP2622026B2 (ja) 中央処理装置におけるレジスタ書込制御方式
JPS61143850A (ja) 処理装置
JPS61184644A (ja) 仮想計算機システム制御方式
JPS62147545A (ja) 情報処理装置における転送命令処理方式
JPS617976A (ja) ベクトル演算処理装置
JPS6218934B2 (ja)
JPS61267135A (ja) デ−タ処理装置
JPS61194566A (ja) ベクトルデ−タ参照制御方式
JPH02232727A (ja) 情報処理装置
JPH0364903B2 (ja)

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees