JP3084953B2 - 情報処理装置 - Google Patents

情報処理装置

Info

Publication number
JP3084953B2
JP3084953B2 JP04239883A JP23988392A JP3084953B2 JP 3084953 B2 JP3084953 B2 JP 3084953B2 JP 04239883 A JP04239883 A JP 04239883A JP 23988392 A JP23988392 A JP 23988392A JP 3084953 B2 JP3084953 B2 JP 3084953B2
Authority
JP
Japan
Prior art keywords
exception
instruction
register
signal
cache memory
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 - Lifetime
Application number
JP04239883A
Other languages
English (en)
Other versions
JPH0689194A (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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP04239883A priority Critical patent/JP3084953B2/ja
Publication of JPH0689194A publication Critical patent/JPH0689194A/ja
Application granted granted Critical
Publication of JP3084953B2 publication Critical patent/JP3084953B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、情報処理装置に関し、
特に演算処理時間の短縮化を図って処理高速化可能な情
報処理装置に関するものである。
【0002】
【従来の技術】一般の情報処理装置では、データ読み出
し命令、乗除算命令等の演算命令はその演算結果が利用
可能になるまでに、他の加算命令等に較べてより長い時
間が必要である。このため、命令の実行順序を入れ替え
て、より時間のかかる命令を先行実行することによっ
て、演算命令処理の高速化が図られている。即ち、より
処理時間のかかる命令の演算結果が利用可能になるまで
に、他の実行可能な演算を実行することで、処理時間の
かかる命令の演算結果のデータが利用可能となるまでの
待ち時間を有効に利用し、情報処理装置の処理高速化を
実現している。しかし、従来の情報処理装置において
は、命令の実行順番を入れ換えた場合、データ読み出し
命令、除算命令等の不正アドレス例外、または演算例外
処理を起動する可能性のある命令を、分岐命令を飛び越
して実行すると、分岐によってそれらの命令が実際に実
行されない場合には生じなかった、不正アドレス例外処
理、演算例外処理が起動される可能性がある。このた
め、これらの命令は、分岐命令を飛び越して実行される
ことのないように、命令の実行順番の入れ換えが行われ
ている。
【0003】具体的な従来例について説明する。図4
(a)に示す命令列を、命令実行順番の変更を行って処
理を高速化することを考える。図4(a)及び図5に示
すように、分岐命令blt Ra,Rn,label (図5のステップ
51)は遅延分岐命令とする。即ち、この分岐命令(ス
テップ51)の次の一命令はこの分岐命令で分岐が生じ
たか否にかかわらず実行される。また、データ読み出し
命令lw Ra,offset0(Rb)(図5のステップ50)と、デ
ータ読み出し命令lw Rd,offset1(Ra) (図5のステップ
52)とは、演算結果が実行可能になるまでに1ステッ
プ分の処理時間が必要であるとする。即ち、このデータ
読み出し命令直後の命令においては、その読み出し結果
を参照することができない。
【0004】図4(b)及び図6に従来の情報処理装置
における実現可能な命令順番の変更結果を示す。この図
4(b)における加算命令add Rk,Rl,Rj(図6のステッ
プ62)は例外処理を起こさない命令なので、分岐命令
の分岐先(label 番地で与えられる分岐先)でレジスタ
Rkの値が参照されていない場合等では、この加算命令を
分岐命令より先に実行することが可能である。この命令
順番の変更によって、処理ステップ数が1ステップ減
り、高速化が図られる。
【0005】
【発明が解決しようとする課題】上述した従来の情報処
理装置では、命令の実行順番を変更して処理の高速化を
図る場合に、データ読み出し命令、除算命令等の例外処
理を起こす可能性のある命令は、分岐命令を追い越して
実行されることはない。しかし、これらの命令は、一般
にその演算結果が利用可能となるまでの所要時間が長い
命令であるため、それ以降の命令の演算結果が利用可能
となるまで待たされることになり、実現できる高速化に
も限界があった。例えば、図4(b)のデータ読み出し
命令lw Rd,offset1(Ra) (図6のステップ63)を、分
岐命令blt Ra,Rn,label (図6のステップ61)より先
に実行すると不正アドレス例外が発生し、制御装置の処
理そのものを停止してしまう可能性があるため、このス
テップ61による分岐命令を追い越してステップ63を
先に実行することができない。
【0006】本発明の目的は、このような従来の問題点
を除去して、データ読み出し命令、除算命令等の例外処
理を起動する可能性のある命令を分岐命令に先行して実
行可能とし、命令実行順番を変更することで処理の高速
化を実現する情報処理装置を提供する。
【0007】
【課題を解決するための手段】上記課題を解決するため
本発明は、メモリからのデータ読み出し時に、与えられ
たアドレスが不正である場合に、アドレスが不正である
ことによる例外処理を行うデータ読み出し命令と、アド
レスが不正であることによる例外処理を行わないデータ
読み出し命令とを含む情報処理装置であって、演算を行
う演算器と、データ読み出し時に与えられるアドレスが
不正である場合に、不正アドレス信号を出力するキャッ
シュメモリ装置と、前記キャッシュメモリ装置より出力
された不正アドレス信号を格納するフィールドを各レジ
スタに有する共に、前記演算器による演算結果及び前記
キャッシュメモリ装置から読み出される値を格納するレ
ジスタファイルと、前記キャッシュメモリ装置から出力
された不正アドレス信号を、命令のデコード結果に応じ
て前記レジスタファイルの対応する前記フィールドに格
納し、そして前記レジスタファイルの前記フィールドに
不正アドレス信号が格納されているレジスタの値を読み
出す場合に、命令のデコード結果に応じて例外処理を行
う制御装置と、を備えることを特徴とする。
【0008】また、上記課題を解決するため本発明は、
除算において演算例外が生じた場合に、この演算例外に
よる例外処理を行わない除算命令と、演算例外による例
外処理を行う除算命令とを含む情報処理装置であって、
除算において演算例外が発生した場合に演算例外信号を
出力する演算器と、データを格納するキャッシュメモリ
装置と、前記演算例外信号を格納するためのフィールド
を各レジスタに有する共に、前記演算器の演算結果及び
前記キャッシュメモリ装置より読み出される値を格納す
るレジスタファイルと、前記演算器から出力される演算
例外信号を、命令のデコード結果に応じて前記レジスタ
ファイルの前記フィールドに格納し、そして前記レジス
タファイルの前記フィールドに演算例外信号が格納され
ている前記レジスタから値を読み出す場合に、命令のデ
コード結果に応じて例外処理を行う制御装置と、を備え
ることを特徴とする。
【0009】
【0010】
【0011】
【0012】
【0013】
【作用】ゆえに、本発明の構成は、図1に示すように制
御装置10、レジスタファイル20、演算器30及びキ
ャッシュメモリ装置40からなり、本発明の命令を用い
て命令実行順番を変更したプログラム及びフローチャー
トは図2(b)及び図3である。この図2(b)及び図
3における、データ読み出し命令lw' Rd,offset1(Ra)
(図3のステップ72)は、不正アドレス例外が起きて
も不正アドレス例外処理を制御装置10に起動させない
データ読み出し命令である。従って、分岐命令であるス
テップ73より先行して実行することが可能となり、例
外処理を起こす可能性を持つ演算命令を分岐命令より先
に実行して処理時間を短縮することが可能である。
【0014】しかし、プログラム自体にプログラムミス
があり、データ読み出し命令のステップ72に与えられ
たアドレスRa+offset1が不正である場合には、このよう
な命令実行順番の変更により不正アドレス例外を発生し
ないデータ読み出し命令を用いることによって、不正ア
ドレス例外が発生しなくなってまう。これに対して、各
レジスタに例外が発生したという情報を保持するフィー
ルドを設け、そこに不正アドレス信号を保持することに
よって、正しく例外処理を行うことができる。即ち、デ
ータ読み出し命令lw' Rd,offset1(R) の実行において不
正アドレス信号が発生すると、レジスタRdの不正アドレ
ス信号を保持するフィールドに、不正アドレス信号が生
じたことが記録される。ついで、加算命令add Rv,Rd,Rk
であるステップ75において、レジスタRdの値が読み出
される時に、レジスタRdの不正アドレス信号を保持する
フィールドも同時に読み出され、そこに不正アドレス信
号が保持されているために例外処理が起動される。
【0015】除算においても、同様の機構を用いること
によって、分岐命令より先行して実行することが可能と
なる。
【0016】
【実施例】次に、本発明の情報処理装置について以下説
明する。
【0017】図1に本発明の一実施例である情報処理装
置の構成図を示す。この図1において、レジスタファイ
ル20、演算器30及びキャッシュメモリ装置40を制
御する制御装置10があり、演算例外信号格納フィール
ド21は、レジスタファイル20の各レジスタの値が演
算例外が発生していることを示す、演算例外信号値を保
持するものである。不正アドレス信号格納フィールド2
2は、各レジスタの値が不正アドレスを発生したことを
示す、不正アドレス信号値を保持するものである。
【0018】以上の構成において以下各処理動作につい
て説明する。通常のデータ読み出し命令は以下のように
処理される。制御装置10において、プログラムのデー
タ読み出し命令がデコードされ、そのデコード結果に応
じて、レジスタファイル20からレジスタ内保持値が読
み出され、レジスタファイル20から読み出されたレジ
スタの値及び制御装置10から与えられた値によって計
算されるアドレスのデータがキャッシュメモリ装置40
から読み出され、レジスタファイル20に書き戻され
る。またこのとき、不正アドレス例外が発生した場合、
信号線402によって不正アドレス信号が制御装置10
に送られ、制御装置10において例外処理が起動され
る。
【0019】また、通常の演算命令は以下のように処理
される。制御装置10によってプログラムの演算命令が
デコードされ、そのデコード結果に応じて、レジスタフ
ァイル20からレジスタの値が読み出され、制御装置1
0が制御する演算器30において演算が行われる。そし
て、その演算器30の演算結果がレジスタファイル20
に書き戻される。このような通常の演算命令において、
演算例外が発生した場合、信号線301によって、演算
器30から制御装置10に演算例外信号が送られ、制御
装置10において例外処理が起動される。
【0020】図2(b)における不正アドレス例外処理
を起動させないデータ読み出し命令は以下のように実行
される。制御装置10において命令がデコーダされ、そ
の結果に応じて、レジスタファイル20からレジスタの
値が読み出され、レジスタファイル20から読み出され
たレジスタの値及び制御装置10から与えられた値によ
って計算されるアドレスのデータがキャッシュメモリ装
置40から読み出され、レジスタファイル20に書き戻
される。ここで、不正アドレス例外が発生した場合に
は、信号線402によって不正アドレス信号が不正アド
レス信号格納フィールド22に送られ、データを格納し
たレジスタに対応するフィールド22の位置に不正アド
レス信号が格納される。この不正アドレス信号は、制御
装置10にも送られるが、現在実行中のデータ読み出し
命令が不正アドレス例外処理を起動しない命令であるの
で、この不正アドレス信号は抑制される。以降、レジス
タファイル20からデータを読み出す場合には、同時に
指定されたレジスタ番号に対応する不正アドレス信号格
納フィールド22の値も読み出され、制御装置10に送
られ例外処理が必要に応じて起動される。
【0021】図1において、演算例外処理を起動しない
除算命令を実行した場合には、以下のような処理がなさ
れる。制御装置10によって命令がデコーダされ、その
結果に応じて、制御装置10で制御されるレジスタファ
イル20からレジスタの値が読み出され、さらに制御装
置10が制御する演算器30において演算が行われる。
ついで、その演算結果がレジスタファイル20に書き戻
される。演算命令において、演算例外が発生した場合に
は、信号線301によって、演算器30より演算例外信
号格納フィールド21に演算例外信号が送られ、データ
を格納するレジスタに対応するフィールド21内位置に
その信号情報が格納される。演算例外信号は、制御装置
10にも遅れられるが、現在実行中の命令が演算例外処
理を起動しない命令であるので、この信号は抑制され
る。以降、レジスタファイル20からデータを読み出す
場合には、指定されたレジスタ番号に対応する演算例外
信号格納フィールド21の値も同時に読み出されて制御
装置10に送られる。そして制御装置10において、必
要に応じて例外処理が起動される。
【0022】図2,3を用いて具体例について説明す
る。図2(a)は従来例で説明したのと同じ命令列であ
る。
【0023】本発明の命令を用いて命令実行順番を変更
したプログラム及びフローチャートを図2(b)及び図
3に示す。この図2(b)及び図3は、データ読み出し
命令lw' Rd,offset1(Ra)(図3のステップ72)は、不
正アドレス例外が起きても不正アドレス例外処理を起動
させないデータ読み出し命令である。従って、図2
(b)のように、分岐命令であるステップ73より先行
して実行することが可能となり、図4(b)の従来例に
較べて、さらに2ステップ処理時間を短縮することがで
きる。
【0024】このように、例外処理を起こす可能性を持
つ演算命令を分岐命令より先に実行して処理時間を短縮
することが可能である。しかし、プログラム自体にプロ
グラムミスがあり、データ読み出し命令のステップ72
に与えられたアドレスRa+offset1が不正である場合に
は、このような命令実行順番の変更により不正アドレス
例外を発生しないデータ読み出し命令を用いることによ
って、不正アドレス例外が発生しなくなってまう。これ
に対して、各レジスタに例外が発生したという情報を保
持するフィールド22を設け、そこに不正アドレス信号
を保持することによって、正しく例外処理を行うことが
できる。即ち、図2(b)及び図3においては、データ
読み出し命令lw' Rd,offset1(R) の実行において不正ア
ドレス信号が発生すると、レジスタRdの不正アドレス信
号を保持するフィールド22に、不正アドレス信号が生
じたことが記録される。ついで、加算命令add Rv,Rd,Rk
(図3のステップ75)において、レジスタRdの値が読
み出される時に、レジスタRdの不正アドレス信号を保持
するフィールド22も同時に読み出され、そこに不正ア
ドレス信号が保持されているため、制御装置10で例外
処理が起動される。
【0025】除算においても、同様の機構を用いること
によって、分岐命令より先行して実行することが可能と
なる。
【0026】以上本発明の一実施例について述べたが本
発明はこの実施例にのみ限定されるものではなく、演算
例外信号格納フィールド、不正アドレス信号格納フィー
ルドの格納方式、演算器30の構成および個数等が異な
っていても基本的実施方法は変わらない。
【0027】
【発明の効果】以上本発明によれば、データ読み出し命
令、除算命令等の例外処理を引き起こす可能性のある命
令を分岐命令を飛び越して実行することが可能となるた
め、命令実行順番の変更により、より中央処理演算装置
の処理速度を短縮することができる。
【図面の簡単な説明】
【図1】本発明の一実施例に関するものであり、その機
能構成ブロック図である。
【図2】本発明を適用した結果のプログラム例である。
【図3】図2(b)のフローチャート図である。
【図4】従来例を用いた結果のプログラム例である。
【図5】図4(a)のフローチャート図である。
【図6】図4(b)のフローチャート図である。
【符号の説明】
10 制御装置10 20 レジスタファイル20 30 演算器30 40 キャッシュメモリ装置40

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】メモリからのデータ読み出し時に、与えら
    れたアドレスが不正である場合に、アドレスが不正であ
    ることによる例外処理を行うデータ読み出し命令と、ア
    ドレスが不正であることによる例外処理を行わないデー
    タ読み出し命令とを含む情報処理装置であって、 演算を行う演算器と、 データ読み出し時に与えられるアドレスが不正である場
    合に、不正アドレス信号を出力するキャッシュメモリ装
    置と、 前記キャッシュメモリ装置より出力された不正アドレス
    信号を格納するフィールドを各レジスタに有する共に、
    前記演算器による演算結果及び前記キャッシュメモリ装
    置から読み出される値を格納するレジスタファイルと、 前記キャッシュメモリ装置から出力された不正アドレス
    信号を、命令のデコード結果に応じて前記レジスタファ
    イルの対応する前記フィールドに格納し、そして前記レ
    ジスタファイルの前記フィールドに不正アドレス信号が
    格納されているレジスタの値を読み出す場合に、命令の
    デコード結果に応じて例外処理を行う制御装置と、 を備えることを特徴とする情報処理装置。
  2. 【請求項2】除算において演算例外が生じた場合に、こ
    の演算例外による例外処理を行わない除算命令と、演算
    例外による例外処理を行う除算命令とを含む情報処理装
    置であって、 除算において演算例外が発生した場合に演算例外信号を
    出力する演算器と、 データを格納するキャッシュメモリ装置と、 前記演算例外信号を格納するためのフィールドを各レジ
    スタに有する共に、前記演算器の演算結果及び前記キャ
    ッシュメモリ装置より読み出される値を格納するレジス
    タファイルと、 前記演算器から出力される演算例外信号を、命令のデコ
    ード結果に応じて前記レジスタファイルの前記フィール
    ドに格納し、そして前記レジスタファイルの前記フィー
    ルドに演算例外信号が格納されている前記レジスタから
    値を読み出す場合に、命令のデコード結果に応じて例外
    処理を行う制御装置と、 を備えることを特徴とする情報処理装置。
JP04239883A 1992-09-09 1992-09-09 情報処理装置 Expired - Lifetime JP3084953B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP04239883A JP3084953B2 (ja) 1992-09-09 1992-09-09 情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP04239883A JP3084953B2 (ja) 1992-09-09 1992-09-09 情報処理装置

Publications (2)

Publication Number Publication Date
JPH0689194A JPH0689194A (ja) 1994-03-29
JP3084953B2 true JP3084953B2 (ja) 2000-09-04

Family

ID=17051301

Family Applications (1)

Application Number Title Priority Date Filing Date
JP04239883A Expired - Lifetime JP3084953B2 (ja) 1992-09-09 1992-09-09 情報処理装置

Country Status (1)

Country Link
JP (1) JP3084953B2 (ja)

Also Published As

Publication number Publication date
JPH0689194A (ja) 1994-03-29

Similar Documents

Publication Publication Date Title
JPS63317828A (ja) マイクロコ−ド読み出し制御方式
JP3084953B2 (ja) 情報処理装置
JPH07219766A (ja) 演算処理装置
JPS6120893B2 (ja)
JP2814683B2 (ja) 命令処理装置
JPS6149695B2 (ja)
JP2806690B2 (ja) マイクロプロセッサ
JPS5829051A (ja) 演算処理装置
JPH07210384A (ja) 浮動小数点演算装置
JPH1196105A (ja) プロセッサ
JPH04362737A (ja) データ処理システム
JPS5896346A (ja) 階層型演算方式
JPH0792902A (ja) プログラマブルコントローラ
JPS6116114B2 (ja)
JPH02197961A (ja) 情報処理装置
JPS6277649A (ja) 情報処理装置
JPH07113891B2 (ja) パイプライン処理装置
JPH05100842A (ja) 命令処理装置
JPS58154045A (ja) 情報処理装置
JPH0342721A (ja) 情報処理装置
JPS5939766B2 (ja) マルチプレクサチャネル装置
JPS60171538A (ja) 命令の先取り制御方式
JPH06337785A (ja) 情報処理装置およびその命令実行制御方法
JPS58169247A (ja) 高速命令読出し方式
JPS63103331A (ja) デイジタル信号処理装置

Legal Events

Date Code Title Description
FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070707

Year of fee payment: 7

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080707

Year of fee payment: 8

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090707

Year of fee payment: 9

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100707

Year of fee payment: 10