JPH0235331B2 - - Google Patents
Info
- Publication number
- JPH0235331B2 JPH0235331B2 JP59035802A JP3580284A JPH0235331B2 JP H0235331 B2 JPH0235331 B2 JP H0235331B2 JP 59035802 A JP59035802 A JP 59035802A JP 3580284 A JP3580284 A JP 3580284A JP H0235331 B2 JPH0235331 B2 JP H0235331B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- instruction
- exception
- conversion
- 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 - Lifetime
Links
Landscapes
- Advance Control (AREA)
Description
【発明の詳細な説明】
(A) 発明の技術分野
本発明は変換例外割込み制御方式、特に、パイ
プライン制御を行うデータ処理装置であつて、分
岐命令の時、分岐条件の判定が確定する前に命令
フエツチを行う装置において、変換例外が生じた
アドレスを管理し制御する変換例外割込み制御方
式に関するものである。
プライン制御を行うデータ処理装置であつて、分
岐命令の時、分岐条件の判定が確定する前に命令
フエツチを行う装置において、変換例外が生じた
アドレスを管理し制御する変換例外割込み制御方
式に関するものである。
(B) 技術の背景
アドレス変換機構を備えた情報処理装置では、
仮想記憶空間上の論理アドレスが、アドレス変換
機構によつて、実記憶空間上の実アドレスに変換
される。この論理アドレスから実アドレスへの変
換は、論理ページから実ページへのマツピングに
よつて行われるが、このマツピングが動的に変化
するため、論理ページの有効性も動的に変化す
る。従つて、命令を実行する際、実行に先立つて
使用するオペランドが属するページの有効性を、
確認する必要がある。また、命令フエツチの際に
も、同様にページの有効性を確認する必要があ
る。
仮想記憶空間上の論理アドレスが、アドレス変換
機構によつて、実記憶空間上の実アドレスに変換
される。この論理アドレスから実アドレスへの変
換は、論理ページから実ページへのマツピングに
よつて行われるが、このマツピングが動的に変化
するため、論理ページの有効性も動的に変化す
る。従つて、命令を実行する際、実行に先立つて
使用するオペランドが属するページの有効性を、
確認する必要がある。また、命令フエツチの際に
も、同様にページの有効性を確認する必要があ
る。
この確認では、一般にアドレス、プロテクシヨ
ン、ページ変換、セグメント変換、変換指定の5
つの例外がいずれも検出されなかつたとき、使用
するページが有効とみなされる。このうち、ペー
ジ変換、セグメント変換、変換指定のいずれかの
例外、即ち変換例外が検出された時、そのオペラ
ンドもしくは命令のアドレスは、変換例外アドレ
ス(TXA:Translation Exception Address)
として保持される。
ン、ページ変換、セグメント変換、変換指定の5
つの例外がいずれも検出されなかつたとき、使用
するページが有効とみなされる。このうち、ペー
ジ変換、セグメント変換、変換指定のいずれかの
例外、即ち変換例外が検出された時、そのオペラ
ンドもしくは命令のアドレスは、変換例外アドレ
ス(TXA:Translation Exception Address)
として保持される。
(C) 従来技術と問題点
従来方式では、命令フエツチやオペランドへの
アクセスについて、記憶制御部(S−Unit)で
前記各種の変換例外を検出し、命令制御部(I−
Unit)に報告し、ページ変換例外、セグメント
変換例外のときには、変換例外アドレス(TXA)
を記憶制御部内で保持していた。
アクセスについて、記憶制御部(S−Unit)で
前記各種の変換例外を検出し、命令制御部(I−
Unit)に報告し、ページ変換例外、セグメント
変換例外のときには、変換例外アドレス(TXA)
を記憶制御部内で保持していた。
パイプライン制御を行う情報処理装置におい
て、上記TXAを求める際に、分岐命令によつて
命令列が変更されたとき、如何にTXAを制御す
るかという問題がある。従来方式では、分岐命令
のときには、分岐条件の判定が確定することを予
測できたときに、命令フエツチを出し、もし成功
しない場合には、命令語レジスタへの書き込み及
びTXAへのセツトを禁止することにより、1個
のTXAを保持するアドレスレジスタを用意し、
制御するようにしていた。
て、上記TXAを求める際に、分岐命令によつて
命令列が変更されたとき、如何にTXAを制御す
るかという問題がある。従来方式では、分岐命令
のときには、分岐条件の判定が確定することを予
測できたときに、命令フエツチを出し、もし成功
しない場合には、命令語レジスタへの書き込み及
びTXAへのセツトを禁止することにより、1個
のTXAを保持するアドレスレジスタを用意し、
制御するようにしていた。
ところが、パイプライン段数が深くなり、分岐
命令の条件判定が確定する以前に、命令フエツチ
を行い、性能を上げるような制御方式を採用しよ
うとすると、分岐命令によつて分岐した各命令列
に対応するTXA用のアドレスレジスタを持ち、
分岐不成功のときには、そのアドレスレジスタの
内容を無効化する必要があり、制御が複雑になる
と共に、複数のTXAレジスタを持つため、ハー
ドウエア量も増加するという問題がある。
命令の条件判定が確定する以前に、命令フエツチ
を行い、性能を上げるような制御方式を採用しよ
うとすると、分岐命令によつて分岐した各命令列
に対応するTXA用のアドレスレジスタを持ち、
分岐不成功のときには、そのアドレスレジスタの
内容を無効化する必要があり、制御が複雑になる
と共に、複数のTXAレジスタを持つため、ハー
ドウエア量も増加するという問題がある。
(D) 発明の目的と構成
本発明は上記問題点の解決を図り、分岐命令の
条件判定が確定する以前に、命令をフエツチする
パイプライン制御を行う場合であつても、比較的
簡易に変換例外アドレスの制御を行い得るように
した変換例外割込み制御方式を提供することを目
的としている。そのため、本発明の変換例外割込
み制御方式は、パイプラインにより命令を実行制
御する情報処理装置における変換例外割込み制御
方式において、各パイプラインのステージに対応
して命令アドレスを保持するアドレスレジスタ
と、各パイプラインのステージに対応してオペラ
ンド・アドレスを保持するアドレスレジスタと、
命令フエツチ時に変換例外が生じたとき、どの位
置に変換例外が生じたかを示す信号をステージに
対応させて保持するとともに、オペランド・フエ
ツチ時に変換例外が生じたとき、変換例外がペー
ジ境界の前で生じたか後で生じたかを示す信号を
ステージに対応させて保持する例外情報レジスタ
と、命令の最終ステージに上記例外情報レジスタ
からの信号に基づき変換例外が生じたアドレスを
補正する回路であつて、命令フエツチ時の変換例
外の場合には、命令アドレスに変換例外が起きた
相対位置の値を加算し、オペランド・フエツチ時
の変換例外の場合には、零またはページ長を加算
する補正回路とを備え、上記補正回路の出力を変
換例外アドレスとすることを特徴としている。以
下、図面を参照しつつ、実施例に従つて説明す
る。
条件判定が確定する以前に、命令をフエツチする
パイプライン制御を行う場合であつても、比較的
簡易に変換例外アドレスの制御を行い得るように
した変換例外割込み制御方式を提供することを目
的としている。そのため、本発明の変換例外割込
み制御方式は、パイプラインにより命令を実行制
御する情報処理装置における変換例外割込み制御
方式において、各パイプラインのステージに対応
して命令アドレスを保持するアドレスレジスタ
と、各パイプラインのステージに対応してオペラ
ンド・アドレスを保持するアドレスレジスタと、
命令フエツチ時に変換例外が生じたとき、どの位
置に変換例外が生じたかを示す信号をステージに
対応させて保持するとともに、オペランド・フエ
ツチ時に変換例外が生じたとき、変換例外がペー
ジ境界の前で生じたか後で生じたかを示す信号を
ステージに対応させて保持する例外情報レジスタ
と、命令の最終ステージに上記例外情報レジスタ
からの信号に基づき変換例外が生じたアドレスを
補正する回路であつて、命令フエツチ時の変換例
外の場合には、命令アドレスに変換例外が起きた
相対位置の値を加算し、オペランド・フエツチ時
の変換例外の場合には、零またはページ長を加算
する補正回路とを備え、上記補正回路の出力を変
換例外アドレスとすることを特徴としている。以
下、図面を参照しつつ、実施例に従つて説明す
る。
(E) 発明の実施例
第1図は本発明の実施例として採り上げるパイ
プライン制御を説明するためのタイムチヤート、
第2図は本発明による制御概要を説明するための
図、第3図は本発明の一実施例構成、第4図およ
び第5図は第3図図示回路による変換例外アドレ
ス生成を説明するための図を示す。
プライン制御を説明するためのタイムチヤート、
第2図は本発明による制御概要を説明するための
図、第3図は本発明の一実施例構成、第4図およ
び第5図は第3図図示回路による変換例外アドレ
ス生成を説明するための図を示す。
第1図は、命令フエツチに3ステージ、命令実
行に6ステージかかるパイプライン構成の計算機
における命令制御例を示している。命令のフエツ
チ制御は、例えば命令をフエツチするアドレスを
決定するIステージと、命令アドレスを実アドレ
スに変換するITステージと、命令をバツフアか
ら読み出すIBステージとからなり、実行制御は、
命令フエツチ後に、命令をデコードするDステー
ジと、オペランド・アドレスを計算するAステー
ジと、オペランド・アドレスを実アドレスに変換
するTステージと、記憶制御部が管理するバツフ
アから読み出しを行うBステージと、演算処理す
るEステージと、結果をチエツクして書き込むW
ステージの各制御ステージからなる。これらの各
ステージは、一般に独立であつて、先行制御が可
能であり、高速な計算機では、パイプライン処理
が行われている。以下、上記制御ステージをもつ
場合を例にして説明するが、本発明は、これに限
られるわけではない。
行に6ステージかかるパイプライン構成の計算機
における命令制御例を示している。命令のフエツ
チ制御は、例えば命令をフエツチするアドレスを
決定するIステージと、命令アドレスを実アドレ
スに変換するITステージと、命令をバツフアか
ら読み出すIBステージとからなり、実行制御は、
命令フエツチ後に、命令をデコードするDステー
ジと、オペランド・アドレスを計算するAステー
ジと、オペランド・アドレスを実アドレスに変換
するTステージと、記憶制御部が管理するバツフ
アから読み出しを行うBステージと、演算処理す
るEステージと、結果をチエツクして書き込むW
ステージの各制御ステージからなる。これらの各
ステージは、一般に独立であつて、先行制御が可
能であり、高速な計算機では、パイプライン処理
が行われている。以下、上記制御ステージをもつ
場合を例にして説明するが、本発明は、これに限
られるわけではない。
特に、本発明が適用される情報処理装置では、
第2図図示の如く、先取り命令アドレスレジスタ
1−0,1−1,…が複数個設けられ、分岐命令
に対して非分岐側、即ち分岐不成功側の命令列
と、分岐側の命令列とが、別々に、先行読出しさ
れることが考慮されている。この場合、命令フエ
ツチ時に変換例外が起きると、その変換例外が起
きたアドレスを、実際にその命令が実行されるま
で記憶し、また非分岐側で起きたか、分岐側で起
きたかといつた情報を管理しなければならない。
分岐が2回以上重なる場合には、さらに制御が複
雑となる。本発明の場合、記憶制御部で変換例外
アドレスを保持しておくことを止め、例えば、記
憶制御部でアクセス例外を検出したときに、例外
情報(exception code)をパイプラインの各ス
テージで覚え、また位置情報についても、直接の
アドレスではなく、命令フエツチ用のアドレス
と、命令語レジスタまたは命令バツフアから命令
を選択する命令ポインタ(NSI)とにより、その
命令の先頭アドレスを求め、各ステージで保持
し、命令の最終ステージで、そのアドレスを補正
することにより、変換例外アドレスを生成する。
またオペランドについては、同様に、記憶制御部
へアクセス要求を出したアドレスを、各ステージ
で覚えておき、最終ステージで補正を行うことに
より、変換例外アドレスを生成するようにされ
る。
第2図図示の如く、先取り命令アドレスレジスタ
1−0,1−1,…が複数個設けられ、分岐命令
に対して非分岐側、即ち分岐不成功側の命令列
と、分岐側の命令列とが、別々に、先行読出しさ
れることが考慮されている。この場合、命令フエ
ツチ時に変換例外が起きると、その変換例外が起
きたアドレスを、実際にその命令が実行されるま
で記憶し、また非分岐側で起きたか、分岐側で起
きたかといつた情報を管理しなければならない。
分岐が2回以上重なる場合には、さらに制御が複
雑となる。本発明の場合、記憶制御部で変換例外
アドレスを保持しておくことを止め、例えば、記
憶制御部でアクセス例外を検出したときに、例外
情報(exception code)をパイプラインの各ス
テージで覚え、また位置情報についても、直接の
アドレスではなく、命令フエツチ用のアドレス
と、命令語レジスタまたは命令バツフアから命令
を選択する命令ポインタ(NSI)とにより、その
命令の先頭アドレスを求め、各ステージで保持
し、命令の最終ステージで、そのアドレスを補正
することにより、変換例外アドレスを生成する。
またオペランドについては、同様に、記憶制御部
へアクセス要求を出したアドレスを、各ステージ
で覚えておき、最終ステージで補正を行うことに
より、変換例外アドレスを生成するようにされ
る。
そのため、命令制御部を中心とした本発明の一
実施例回路は、例えば第3図図示の如くになつて
いる。図中、1−0ないし1−2は先行読出し用
の先取り命令アドレスレジスタ、2は命令ポイン
タであつて、現在実行している命令が先取り命令
アドレスレジスタの示すアドレスから何ハーフ・
ワード(Half Word)目かを示すポインタ、3
は先取りした命令の各先頭アドレスを計算する加
算器、4ないし8はそれぞれ各ステージに対応す
る命令アドレスレジスタ、10はPFKレジスタ、
11は先取り命令の実効アドレスを生成する加算
器、12は命令実効アドレスレジスタ、13はバ
ツフア、14は命令語レジスタ、15は半語(ハ
ーフ・ワード)マーク、16はエンコーダ、17
ないし21は例外情報レジスタ、22は補正値回
路、23は変換例外アドレスを求める加算器、2
4は変換例外アドレスレジスタ、30はデイスプ
レイスメント・レジスタ、31はベース・レジス
タ、32はインデツクス・レジスタ、33はオペ
ランド・アドレス生成回路、34はオペランド・
アドレス・レジスタ、36はオペランド語レジス
タ、37は実行回路、8は結果レジスタ、40な
いし43はそれぞれ各ステージに対応するオペラ
ンド・アドレスレジスタを表す。
実施例回路は、例えば第3図図示の如くになつて
いる。図中、1−0ないし1−2は先行読出し用
の先取り命令アドレスレジスタ、2は命令ポイン
タであつて、現在実行している命令が先取り命令
アドレスレジスタの示すアドレスから何ハーフ・
ワード(Half Word)目かを示すポインタ、3
は先取りした命令の各先頭アドレスを計算する加
算器、4ないし8はそれぞれ各ステージに対応す
る命令アドレスレジスタ、10はPFKレジスタ、
11は先取り命令の実効アドレスを生成する加算
器、12は命令実効アドレスレジスタ、13はバ
ツフア、14は命令語レジスタ、15は半語(ハ
ーフ・ワード)マーク、16はエンコーダ、17
ないし21は例外情報レジスタ、22は補正値回
路、23は変換例外アドレスを求める加算器、2
4は変換例外アドレスレジスタ、30はデイスプ
レイスメント・レジスタ、31はベース・レジス
タ、32はインデツクス・レジスタ、33はオペ
ランド・アドレス生成回路、34はオペランド・
アドレス・レジスタ、36はオペランド語レジス
タ、37は実行回路、8は結果レジスタ、40な
いし43はそれぞれ各ステージに対応するオペラ
ンド・アドレスレジスタを表す。
先取り命令アドレスレジスタ1−0〜1−2
は、複数回の分岐命令に対して、分岐毎に命令列
を変更(この例では最大3命令まで)できるよう
にするために、複数個設けられている。この先取
り命令アドレスレジスタ1−0〜1−2には、例
えば8バイト単位で命令をフエツチするためのア
ドレスが格納される。PFKレジスタ10は、初
期値‘0'であつて、その後には‘8'の値を保持す
る。加算器11は、先取り命令アドレスレジスタ
1−0〜1−2の値とPFKレジスタ10の値と
を加算し、実効アドレスをレジスタ12にセツト
する。このアドレスによつて、記憶制御部によ
り、バツフア13が検索され、命令がフエツチさ
れて、命令語レジスタ14に読み出されることに
なる。それ以降は、命令アドレスに‘8'加算され
て、順次フエツチが行われる。なお、命令語レジ
スタ14も、複数個設けられる。
は、複数回の分岐命令に対して、分岐毎に命令列
を変更(この例では最大3命令まで)できるよう
にするために、複数個設けられている。この先取
り命令アドレスレジスタ1−0〜1−2には、例
えば8バイト単位で命令をフエツチするためのア
ドレスが格納される。PFKレジスタ10は、初
期値‘0'であつて、その後には‘8'の値を保持す
る。加算器11は、先取り命令アドレスレジスタ
1−0〜1−2の値とPFKレジスタ10の値と
を加算し、実効アドレスをレジスタ12にセツト
する。このアドレスによつて、記憶制御部によ
り、バツフア13が検索され、命令がフエツチさ
れて、命令語レジスタ14に読み出されることに
なる。それ以降は、命令アドレスに‘8'加算され
て、順次フエツチが行われる。なお、命令語レジ
スタ14も、複数個設けられる。
命令ポインタ2は、第4図図示の如く、実行さ
れる各命令が、8バイト単位でフエツチされた命
令のどこに位置するかについての相対変位を保持
する。第4図に斜線で示した部分が、パイプライ
ンを流れる命令の位置であり、加算器3の出力
は、その命令の先頭アドレスとなる。このアドレ
スは、複数段のシフトレジスタで構成される命令
アドレスレジスタ4〜8に、順次送り出される。
即ち、実行する命令の先頭アドレスは、先取り命
令アドレスレジスタ1−0〜1−2のうち選択さ
れた1つのレジスタに、命令ポインタ2の内容を
加え合わせることによつて得られる。
れる各命令が、8バイト単位でフエツチされた命
令のどこに位置するかについての相対変位を保持
する。第4図に斜線で示した部分が、パイプライ
ンを流れる命令の位置であり、加算器3の出力
は、その命令の先頭アドレスとなる。このアドレ
スは、複数段のシフトレジスタで構成される命令
アドレスレジスタ4〜8に、順次送り出される。
即ち、実行する命令の先頭アドレスは、先取り命
令アドレスレジスタ1−0〜1−2のうち選択さ
れた1つのレジスタに、命令ポインタ2の内容を
加え合わせることによつて得られる。
半語マーク15は、2バイト単位のポインタで
あり、命令フエツチの際に変換例外が発生した場
合、先取りした8バイトのアドレスのうち、どこ
で例外が発生したかを示す。半語マーク15の内
容は、エンコーダ16によつて、+2もしくは+
4等といつた情報に変換され、命令フエツチ時の
例外であるというフラグや割込みコード等と共
に、例外情報の一部として、例外情報レジスタ1
7〜21に順次送り出される。即ち、例外情報に
ついても、命令アドレスと同様に、各ステージで
保持されることになる。最終ステージにおいて、
例外情報(WXC)によつて決定される補正値回
路22の出力値を、加算器23によつて、命令ア
ドレスレジスタ8の内容に加えることにより、変
換例外アドレス(TXA)が生成され、変換例外
アドレスレジスタ24にセツトされる。
あり、命令フエツチの際に変換例外が発生した場
合、先取りした8バイトのアドレスのうち、どこ
で例外が発生したかを示す。半語マーク15の内
容は、エンコーダ16によつて、+2もしくは+
4等といつた情報に変換され、命令フエツチ時の
例外であるというフラグや割込みコード等と共
に、例外情報の一部として、例外情報レジスタ1
7〜21に順次送り出される。即ち、例外情報に
ついても、命令アドレスと同様に、各ステージで
保持されることになる。最終ステージにおいて、
例外情報(WXC)によつて決定される補正値回
路22の出力値を、加算器23によつて、命令ア
ドレスレジスタ8の内容に加えることにより、変
換例外アドレス(TXA)が生成され、変換例外
アドレスレジスタ24にセツトされる。
すなわち、補正値回路22および加算器23に
よる補正回路は、命令フエツチ時に変換例外が生
じた場合、次の働きをする。例えば、命令が最高
6バイト長であつたとすると、変換例外が、命令
の先頭アドレスから、+0バイト目、+2バイト
目、+4バイト目のどこで発生したかにより、そ
の先頭アドレスを補正する必要がある。そこで、
どこで発生したかを、第3図に示す半語マーク1
5で保持し、その値をパイプラインに流すことに
より、最終ステージで補正値回路22の出力を選
択し、加算器23で命令の先頭アドレスに加算す
る。
よる補正回路は、命令フエツチ時に変換例外が生
じた場合、次の働きをする。例えば、命令が最高
6バイト長であつたとすると、変換例外が、命令
の先頭アドレスから、+0バイト目、+2バイト
目、+4バイト目のどこで発生したかにより、そ
の先頭アドレスを補正する必要がある。そこで、
どこで発生したかを、第3図に示す半語マーク1
5で保持し、その値をパイプラインに流すことに
より、最終ステージで補正値回路22の出力を選
択し、加算器23で命令の先頭アドレスに加算す
る。
オペランド・アドレス生成回路33は、レジス
タ30〜32等の内容から、オペランドの実効ア
ドレスを計算し、オペランド・アドレス・レジス
タ34にセツトする。これによつて、記憶制御部
(S−Unit)により、バツフア13がアクセスさ
れて、オペランド語が用意され、演算ユニツト部
である実行回路37によつて、演算が行われる。
その演算結果は、結果レジスタ38に書き込まれ
る。なお、各ステージに対応して、オペランド・
アドレスを保持するレジスタ40〜43が設けら
れ、加算器33によつて得られたオペランド・ア
ドレスが、順次シフトされて、保持されるように
なつている。
タ30〜32等の内容から、オペランドの実効ア
ドレスを計算し、オペランド・アドレス・レジス
タ34にセツトする。これによつて、記憶制御部
(S−Unit)により、バツフア13がアクセスさ
れて、オペランド語が用意され、演算ユニツト部
である実行回路37によつて、演算が行われる。
その演算結果は、結果レジスタ38に書き込まれ
る。なお、各ステージに対応して、オペランド・
アドレスを保持するレジスタ40〜43が設けら
れ、加算器33によつて得られたオペランド・ア
ドレスが、順次シフトされて、保持されるように
なつている。
ここでオペランド・フエツチの際、変換例外が
生じると、命令フエツチの場合と同様に、オペラ
ンド例外情報が、例外情報レジスタ20に供給さ
れる。ところで、オペランド・フエツチの場合、
各オペランド・アドレスレジスタ40〜43に
は、オペランドの先頭アドレスが入り、そのアド
レスから、例えば最大256バイトの長さのオペラ
ンドが、フエツチまたはストアされ得る。従つ
て、オペランドが2つのページにまたがる可能性
がある。そのため、オペランド例外のときには、
前のページに関する例外か、後のページに関する
例外かを示す情報についても、保持するようにさ
れる。
生じると、命令フエツチの場合と同様に、オペラ
ンド例外情報が、例外情報レジスタ20に供給さ
れる。ところで、オペランド・フエツチの場合、
各オペランド・アドレスレジスタ40〜43に
は、オペランドの先頭アドレスが入り、そのアド
レスから、例えば最大256バイトの長さのオペラ
ンドが、フエツチまたはストアされ得る。従つ
て、オペランドが2つのページにまたがる可能性
がある。そのため、オペランド例外のときには、
前のページに関する例外か、後のページに関する
例外かを示す情報についても、保持するようにさ
れる。
そして、オペランドに関する変換例外の場合、
最終ステージにおいて、例外情報(WXC)によ
つて選択された補正値回路22の値に基づき、変
換例外が前のページの場合には、アドレスレジス
タ43が保持するアドレスに+0を加え、後のペ
ージの場合には、+2048(ページサイズ)を加える
ことにより、変換例外アドレスを生成する。オペ
ランドの変換例外では、ページ内の変位について
の情報は必要とされないので、オペランドが2つ
のページにまたがつた場合、前後のどちらかを認
知できればよく、第5図から分かるように、図示
A側で変換例外が生じたときには、レジスタ
(WOAR)の内容が変換例外アドレスとされ、図
示B側で生じたときには、レジスタ(WOAR)
の内容に2048バイト加算されたものが、変換例外
アドレスとされる。
最終ステージにおいて、例外情報(WXC)によ
つて選択された補正値回路22の値に基づき、変
換例外が前のページの場合には、アドレスレジス
タ43が保持するアドレスに+0を加え、後のペ
ージの場合には、+2048(ページサイズ)を加える
ことにより、変換例外アドレスを生成する。オペ
ランドの変換例外では、ページ内の変位について
の情報は必要とされないので、オペランドが2つ
のページにまたがつた場合、前後のどちらかを認
知できればよく、第5図から分かるように、図示
A側で変換例外が生じたときには、レジスタ
(WOAR)の内容が変換例外アドレスとされ、図
示B側で生じたときには、レジスタ(WOAR)
の内容に2048バイト加算されたものが、変換例外
アドレスとされる。
すなわち、補正値回路22および加算器23に
よる補正回路は、オペランド・フエツチ時に変換
例外が生じた場合、次の働きをする。オペラン
ド・フエツチのとき、第3図に示すオペランド・
アドレスレジスタ40〜43は、オペランドの先
頭アドレスを保持している。ところが、第5図に
示すように、オペランドがページをまたぐ場合
合、後のページで変換例外になることがあるの
で、それを区別する必要がある。そこで、この場
合には、オペランドの先頭アドレスに、補正値回
路22の出力である+2048(ページ長)を加算す
ることにより、次のページのアドレスを作成し、
それを変換例外アドレスレジスタ24にセツトす
る。
よる補正回路は、オペランド・フエツチ時に変換
例外が生じた場合、次の働きをする。オペラン
ド・フエツチのとき、第3図に示すオペランド・
アドレスレジスタ40〜43は、オペランドの先
頭アドレスを保持している。ところが、第5図に
示すように、オペランドがページをまたぐ場合
合、後のページで変換例外になることがあるの
で、それを区別する必要がある。そこで、この場
合には、オペランドの先頭アドレスに、補正値回
路22の出力である+2048(ページ長)を加算す
ることにより、次のページのアドレスを作成し、
それを変換例外アドレスレジスタ24にセツトす
る。
(F) 発明の効果
以上説明した如く、本発明によれば、変換例外
アドレスレジスタを特に複数個用意することな
く、変換例外アドレスを制御でき、分岐命令のと
き、分岐条件の判定が確定する以前に命令フエツ
チを行うパイプライン制御を、比較的簡易な回路
構成でもつて実現できるようになる。
アドレスレジスタを特に複数個用意することな
く、変換例外アドレスを制御でき、分岐命令のと
き、分岐条件の判定が確定する以前に命令フエツ
チを行うパイプライン制御を、比較的簡易な回路
構成でもつて実現できるようになる。
第1図は本発明の実施例として採り上げるパイ
プライン制御を説明するためのタイムチヤート、
第2図は本発明による制御概要を説明するための
図、第3図は本発明の一実施例構成、第4図およ
び第5図は第3図図示回路による変換例外アドレ
ス生成を説明するための図を示す。 図中、1−0ないし1−2は先取り命令アドレ
スレジスタ、2は命令ポインタ、3は加算器、4
ないし8はそれぞれ各ステージに対応する命令ア
ドレスレジスタ、10はPFKレジスタ、11は
加算器、12は命令実効アドレスレジスタ、13
はバツフア、14は命令語レジスタ、15は半語
マーク、16はエンコーダ、17ないし21は例
外情報レジスタ、22は補正値回路、23は加算
器、24は変換例外アドレスレジスタ、30はデ
イスプレイスメント・レジスタ、31はベース・
レジスタ、32はインデツクス・レジスタ、33
はオペランド・アドレス生成回路、34はオペラ
ンド・アドレス・レジスタ、36はオペランド語
レジスタ、37は実行回路、38は結果レジス
タ、40ないし43はオペランド・アドレスレジ
スタを表す。
プライン制御を説明するためのタイムチヤート、
第2図は本発明による制御概要を説明するための
図、第3図は本発明の一実施例構成、第4図およ
び第5図は第3図図示回路による変換例外アドレ
ス生成を説明するための図を示す。 図中、1−0ないし1−2は先取り命令アドレ
スレジスタ、2は命令ポインタ、3は加算器、4
ないし8はそれぞれ各ステージに対応する命令ア
ドレスレジスタ、10はPFKレジスタ、11は
加算器、12は命令実効アドレスレジスタ、13
はバツフア、14は命令語レジスタ、15は半語
マーク、16はエンコーダ、17ないし21は例
外情報レジスタ、22は補正値回路、23は加算
器、24は変換例外アドレスレジスタ、30はデ
イスプレイスメント・レジスタ、31はベース・
レジスタ、32はインデツクス・レジスタ、33
はオペランド・アドレス生成回路、34はオペラ
ンド・アドレス・レジスタ、36はオペランド語
レジスタ、37は実行回路、38は結果レジス
タ、40ないし43はオペランド・アドレスレジ
スタを表す。
Claims (1)
- 【特許請求の範囲】 1 パイプラインにより命令を実行制御する情報
処理装置における変換例外割込み制御方式におい
て、 各パイプラインのステージに対応して命令アド
レスを保持するアドレスレジスタと、 各パイプラインのステージに対応してオペラン
ド・アドレスを保持するアドレスレジスタと、 命令フエツチ時に変換例外が生じたとき、どの
位置に変換例外が生じたかを示す信号をステージ
に対応させて保持するとともに、オペランド・フ
エツチ時に変換例外が生じたとき、変換例外がペ
ージ境界の前で生じたか後で生じたかを示す信号
をステージに対応させて保持する例外情報レジス
タと、 命令の最終ステージに上記例外情報レジスタか
らの信号に基づき変換例外が生じたアドレスを補
正する回路であつて、命令フエツチ時の変換例外
の場合には、命令アドレスに変換例外が起きた相
対位置の値を加算し、オペランド・フエツチ時の
変換例外の場合には、零またはページ長を加算す
る補正回路とを備え、 上記補正回路の出力を変換例外アドレスとする
ことを特徴とする変換例外割込み制御方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3580284A JPS60179846A (ja) | 1984-02-27 | 1984-02-27 | 変換例外割込み制御方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3580284A JPS60179846A (ja) | 1984-02-27 | 1984-02-27 | 変換例外割込み制御方式 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS60179846A JPS60179846A (ja) | 1985-09-13 |
| JPH0235331B2 true JPH0235331B2 (ja) | 1990-08-09 |
Family
ID=12452047
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP3580284A Granted JPS60179846A (ja) | 1984-02-27 | 1984-02-27 | 変換例外割込み制御方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS60179846A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0220131U (ja) * | 1988-07-26 | 1990-02-09 |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH081602B2 (ja) * | 1988-02-23 | 1996-01-10 | 三菱電機株式会社 | データ処理装置 |
| US5003462A (en) * | 1988-05-31 | 1991-03-26 | International Business Machines Corporation | Apparatus and method for implementing precise interrupts on a pipelined processor with multiple functional units with separate address translation interrupt means |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5775356A (en) * | 1980-10-28 | 1982-05-11 | Fujitsu Ltd | Instruction pre-fetch control system |
-
1984
- 1984-02-27 JP JP3580284A patent/JPS60179846A/ja active Granted
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0220131U (ja) * | 1988-07-26 | 1990-02-09 |
Also Published As
| Publication number | Publication date |
|---|---|
| JPS60179846A (ja) | 1985-09-13 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP0381447B1 (en) | Method and apparatus for controlling the conversion of virtual to physical memory addresses in a digital computer system | |
| JP3423310B2 (ja) | 仮想アドレス能力が保持され、パイプライン命令ユニットと実効アドレス計算ユニットとを有するcpu | |
| US5819063A (en) | Method and data processing system for emulating a program | |
| JP2507756B2 (ja) | 情報処理装置 | |
| JP2539357B2 (ja) | デ−タ処理装置 | |
| US7725677B1 (en) | Method and apparatus for improving segmented memory addressing | |
| JP2575598B2 (ja) | マルチプロセッサ・コンピュータ・システムのシステム・メモリの並行性を増大する方法およびシステム | |
| JP2001034537A (ja) | アドレス変換回路 | |
| JP2768503B2 (ja) | 仮想記憶アドレス空間アクセス制御方式 | |
| US6581150B1 (en) | Apparatus and method for improved non-page fault loads and stores | |
| JP3618868B2 (ja) | 二重モード変換索引バッファを利用したデータ処理システムにおける効率的メモリ管理の方法およびシステム | |
| JPH0235331B2 (ja) | ||
| JP2000020311A (ja) | 情報処理装置 | |
| US6016544A (en) | Apparatus and method for tracking changes in address size and for different size retranslate second instruction with an indicator from address size | |
| JP3698441B2 (ja) | 拡張された機能を特定するための命令フィールドを用いるマイクロプロセッサー及び該マイクロプロセッサーを用いるコンピューターシステム | |
| US4853889A (en) | Arrangement and method for speeding the operation of branch instructions | |
| WO1984000833A1 (en) | Pre-execution next address calculating mechanism | |
| JPH07152654A (ja) | メモリ・アクセス誤りを処理しアドレス変換キャッシュを更新する方法 | |
| CN1187255A (zh) | 使用指令字段规定扩展功能的微处理器 | |
| JPH01255933A (ja) | 掃出し制御方式 | |
| JPH0235330B2 (ja) | ||
| JPS6150343B2 (ja) | ||
| JPS6410858B2 (ja) | ||
| JPH024016B2 (ja) | ||
| JPH0471219B2 (ja) |