JP2883488B2 - 命令処理装置 - Google Patents

命令処理装置

Info

Publication number
JP2883488B2
JP2883488B2 JP3901992A JP3901992A JP2883488B2 JP 2883488 B2 JP2883488 B2 JP 2883488B2 JP 3901992 A JP3901992 A JP 3901992A JP 3901992 A JP3901992 A JP 3901992A JP 2883488 B2 JP2883488 B2 JP 2883488B2
Authority
JP
Japan
Prior art keywords
instruction
interrupt
word
processing
register
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
JP3901992A
Other languages
English (en)
Other versions
JPH05241828A (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 JP3901992A priority Critical patent/JP2883488B2/ja
Publication of JPH05241828A publication Critical patent/JPH05241828A/ja
Application granted granted Critical
Publication of JP2883488B2 publication Critical patent/JP2883488B2/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】
【実施例】以下、この発明の実施例を図に基づいて詳説
する。
【0014】図3は一般的な命令語の構造の1例を示し
ており、この例では、1命令語が4個の命令フィールド
を持ち、VLIW方式の計算機では、この中に指定され
た4個の命令を同時に処理する。各命令は3個のオペラ
ンドの命令形式となっている。すなわち、S1,S2で
ソースレジスタ番号を指定し、Dでデスティネーション
レジスタ番号を指定する。そして、S1で指定されるレ
ジスタとS2で指定されるレジスタに対して、OPで指
定された演算を行ない、その結果をDで指定されるレジ
スタに格納するのである。
【0015】また、ロード命令は、S2でオペランドア
ドレスを指定し、Dで指定されるレジスタへロードデー
タを格納する。ロード命令は、図4(a),(b)に示
すように、次の2種類をサポートし、命令LHは割込み
によるエミュレーションで実現するものとする。また、
ロード命令は命令フィールド0でだけ指定できるものと
する。
【0016】命令L :全語境界からの1ワードをロー
ドする。
【0017】命令LH:半語境界からの1ワードをロー
ドする。
【0018】図1はこの発明の一実施例の回路構成を示
しており、上記図3および図4に示した命令語により命
令処理を実行する。
【0019】図1において、1はオペランドキャッシュ
であり、演算装置4から信号線5を通じてリクエストが
あると、信号線6を通じてロードデータを演算装置4に
渡す。このオペランドキャッシュ1は、全語境界からの
ロードを行なう機能しかないものとする。
【0020】2は命令キャッシュであり、演算装置4へ
図3および図4に示す命令を供給する。3は命令バスで
ある。
【0021】演算装置4は、命令キャッシュ2から命令
を受け取り、レジスタファイル20からソースデータを
読み出して演算を実行し、結果をレジスタファイル20
へ格納する。また、ロードのリクエストをオペランドキ
ャッシュ1へ渡したり、割込み信号10の生成を行な
う。
【0022】信号線5はロードのリクエストおよびアド
レスを伝送する。信号線6はロードデータを伝送する。
【0023】7はインクリメンタであり、命令ロケーシ
ョンを+1する。8は割込み先アドレスを伝送する信号
線である。9はセレクタであり、インクリメンタ7から
の命令ロケーション+1か信号線8からの割込み先アド
レスかを切り換える。10は、このセレクタ9に割込み
信号を与える割込み信号線である。
【0024】11は命令ロケーションであり、レジスタ
で構成されている。
【0025】12はフリップフロップであり、エミュレ
ーションの対象となる命令のエミュレーション処理が完
了していることを示す働きをする。この初期状態はリセ
ットされているものとする。
【0026】13は信号線であり、フリップフロップ1
2のセット、リセットを行なう。
【0027】14は信号線であり、演算装置4がエミュ
レーション対象の命令を処理していることを示す。AN
Dゲート15は、エミュレーション対象の命令、かつエ
ミュレーション処理完了の条件をとり、セレクタ17の
切り換え動作を行なうための信号を出力する。
【0028】ANDゲート16は、エミュレーション対
象の命令、かつエミュレーション処理未完了の条件をと
り、その出力が演算装置4へ渡され、割込み要因とな
る。すなわち、他の割込み要因とOR演算され、割込み
信号10を真とすることになる。
【0029】セレクタ17は、ANDゲート15の出力
が真の時、データ線25の出力をレジスタ18側に切り
換える。このレジスタ18はエミュレーション処理の結
果を一時保持する。
【0030】19は信号線であり、レジスタ18へのデ
ータセットを許可する。
【0031】レジスタファイル20は、図3に示した1
命令語の4命令を同時に処理するために、読み出しに8
ポート、書き込みに4ポートを備えている。
【0032】21はこのレジスタファイル20に書き込
み許可を与えるイネーブル信号線であり、レジスタファ
イル20の各書き込みポートごとに書き込み許可を与え
ることができる。
【0033】22はレジスタ番号Rを与える信号線であ
り、レジスタファイル20から読み出すレジスタを指定
することができ、合計8個ある。23はレジスタ番号W
を与える信号線であり、レジスタファイル20へ書き込
むレジスタを指定することができ、合計4個ある。
【0034】24はデータ線であり、レジスタファイル
20から読み出したデータを伝送することができ、4命
令分の8個のデータを伝送する。25もデータ線であ
り、レジスタファイル20へ書き込むデータを伝送する
ことができ、4命令分の4個のデータを伝送する。
【0035】次に、上記の構成の命令処理装置の動作に
ついて説明する。
【0036】図1に示す回路は、全語境界からの1ワー
ドのロードしか行なえないものであり、半語境界からの
ロードが可能な命令LHは割込み処理でエミュレーショ
ンするものとする。そして、命令LH以外の命令では、
レジスタファイル読み出し−演算またはロード処理−レ
ジスタファイルへの結果書き込み、の順序で処理が行な
われる。
【0037】以下、命令LHが実行されるときの動作
を、図2のフローチャートに基づいて説明する。命令キ
ャッシュ2は4個の命令を命令バス3を通して一度に演
算装置4へ供給し、演算装置4では4個の命令を一度に
処理する。
【0038】そこで、命令LHが演算装置4に供給され
ると、信号線14が真となり、フリップフロップ12は
初期状態でリセットされているために、ANDゲート1
6の出力も真となる。このANDゲート16の出力は演
算装置4の割込み制御回路4aへ渡され、命令実行前の
割込み処理が開始される(ステップS1)。
【0039】割込みが起こると、信号線10が真とな
り、命令ロケーション11へ割込み先アドレス8が取り
込まれ、これにより、命令キャッシュ2へ渡される命令
ロケーション11は割込み先アドレスとなる。ところ
が、命令実行前の割込みのため、イネーブル信号線21
は偽となり、レジスタファイル20への書き込みが禁止
される。この結果、同一命令語内の他の命令により命令
LHのオペランドアドレスを指定するレジスタが書き換
えられることはない。また、命令ロケーション11は演
算装置4にも供給され、割込み処理からの戻り先アドレ
スはメモリ中のスタックに保存されるが、これは実行前
割込み処理であるために、戻り先アドレスは命令LHを
含む命令語のアドレスとなる。
【0040】割込み処理では、命令LHのオペランドア
ドレスを見て、半語境界からのロードの場合は全語ロー
ドを2回行なう(ステップS2,S3)。これは、信号
線5、信号線6を使用し、オペランドキャッシュ1へリ
クエストを出すことで行なう。続いて、この2回のロー
ド結果をパッキングしてレジスタ18に格納する(ステ
ップS4,S6)。
【0041】また、全語境界からのロードの場合には全
語ロードを1回だけ行ない、結果をレジスタ18に格納
する(ステップS2,S5,S6)。
【0042】この後、フリップフロップ12をセットす
る(ステップS7)。なお、レジスタ18への格納とフ
リップフロップ12のセットは命令で行なうものとす
る。
【0043】次に、メモリ中に保存されている戻り先ア
ドレスを命令ロケーション11にセットし、割込み処理
から復帰する。この復帰は、実行前の割込み処理からの
ものであるために、命令LHが含まれる命令語へ復帰す
ることになる。
【0044】このようにして割込み処理から復帰し、命
令LHを再実行する時には、フリップフロップ12がセ
ットしているため(ステップS1)、ANDゲート16
が偽となり、命令LHによる実行前割込みの再実行が禁
止されることになる。一方、ANDゲート15は真とな
り、セレクタ17は1側に切り換えられ(ステップS
8)、命令LHの結果としてレジスタ18の出力が選択
され、レジスタファイル20へ書き込みが行なわれる
(ステップS9)。この書き込みと同時に、フリップフ
ロップ12はリセットされ、初期状態と同じになる(ス
テップS10)。
【0045】このようにして、エミュレーション対象の
命令を識別して命令語の実行前に割込みを起こし、割込
み処理では、エミュレーション対象の命令の機能だけを
処理し、その結果を内部レジスタに一時保持させてお
き、この時に割込み処理を終了したことを示すフラグも
同時にセットしておき、割込み処理終了後に、前述の命
令語を再実行させるようにすることにより、エミュレー
ションの処理が一度終了していればエミュレーション対
象の命令による実行前の割込み処理が再び起こることを
禁止し、かつ割込み処理によって得られ、内部レジスタ
に格納された値を命令の実行結果として処理を行なうの
である。
【0046】なお、この発明は上記の実施例に限定され
ず、関数演算命令などの高機能な割込みでエミュレーシ
ョンを行なう場合にも利用することができる。
【0047】
【発明の効果】以上のようにこの発明によれば、エミュ
レーション対象の命令を識別して命令語の実行前に割込
みを起こし、割込み処理プログラムによる割込み処理に
よってエミュレーション対象の命令の機能だけを処理
し、その結果を保持手段に一時保持させておき、割込み
処理の終了後、命令語を再実行させるようにしているた
め、割込み処理で対象となる命令のエミュレーションを
行なうだけで済み、またエミュレーション対象の命令と
同一命令語内に指定できる命令の制約もなく、命令のエ
ミュレーションの処理速度を向上させ、メモリの使用効
率も向上させることができる。
【図面の簡単な説明】
【図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 ANDゲート 16 ANDゲート 17 セレクタ 18 レジスタ 19 信号線 20 レジスタファイル 21 イネーブル信号線 22 信号線 23 信号線 24 データ線 25 データ線

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】 複数の命令を1個の命令語として同時に
    処理するVLIW方式の命令処理装置において、 エミュレーション対象の命令を識別して命令語の実行前
    に割込みを起こす割込み手段と、 前記エミュレーション対象の命令の機能を他の命令列で
    実現できる割込み処理プログラムを持ち、この割込み処
    理プログラムによる割込み処理の終了結果を保持手段に
    保持させ、割込み処理からの復帰後に前記命令語を再実
    行させ、前記保持手段に保持させた割込み処理の実行結
    果を命令の実行結果として処理する演算手段とを備えて
    成る命令処理装置。
JP3901992A 1992-02-26 1992-02-26 命令処理装置 Expired - Fee Related JP2883488B2 (ja)

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
JPH05241828A JPH05241828A (ja) 1993-09-21
JP2883488B2 true JP2883488B2 (ja) 1999-04-19

Family

ID=12541399

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JP2883488B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4825357B2 (ja) * 2001-04-05 2011-11-30 富士通株式会社 シミュレーション方法、その方法をコンピュータに実行させるプログラムおよびそのプログラムを記録した記録媒体

Also Published As

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

Similar Documents

Publication Publication Date Title
EP0087978B1 (en) Information processing unit
JPS6297036A (ja) 計算機システム
US5179691A (en) N-byte stack-oriented CPU using a byte-selecting control for enhancing a dual-operation with an M-byte instruction word user program where M<N<2M
JPS623461B2 (ja)
JP4465081B2 (ja) Vliwプロセッサにおける効率的なサブ命令エミュレーション
JP2690406B2 (ja) プロセッサおよびデータ処理システム
EP0385136B1 (en) Microprocessor cooperating with a coprocessor
JP2883488B2 (ja) 命令処理装置
JP2883489B2 (ja) 命令処理装置
EP0301707A2 (en) Apparatus and method for providing an extended processing environment on nonmicrocoded data processing system
JPH0222413B2 (ja)
EP0177712B1 (en) Masked data fetch and modifying device
EP0297895A2 (en) Apparatus and method using lockout for synchronization of access to main memory signal groups in a multiprocessor data processing system
JP3520372B2 (ja) メモリ制御ユニット並びに入出力制御ユニットの動作におけるクリティカル・パスの削除
EP0915416A2 (en) System for allowing a two word instruction to be executed in a single cycle and method therefor
JP3139310B2 (ja) ディジタル信号処理装置
JP3168845B2 (ja) ディジタル信号処理装置
JP2584107B2 (ja) リアルタイム処理装置
JPS61143850A (ja) 処理装置
JPH0364903B2 (ja)
JP2622026B2 (ja) 中央処理装置におけるレジスタ書込制御方式
JPS61267135A (ja) デ−タ処理装置
JPS61194566A (ja) ベクトルデ−タ参照制御方式
JPS63163634A (ja) 命令フエツチ方式
JPS60193046A (ja) 命令例外検出方式

Legal Events

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