JPS62298853A - 命令再実行装置 - Google Patents

命令再実行装置

Info

Publication number
JPS62298853A
JPS62298853A JP61143280A JP14328086A JPS62298853A JP S62298853 A JPS62298853 A JP S62298853A JP 61143280 A JP61143280 A JP 61143280A JP 14328086 A JP14328086 A JP 14328086A JP S62298853 A JPS62298853 A JP S62298853A
Authority
JP
Japan
Prior art keywords
instruction
access
saved
external access
control unit
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
JP61143280A
Other languages
English (en)
Inventor
Toshimichi Matsuzaki
敏道 松崎
Tokuzo Kiyohara
督三 清原
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP61143280A priority Critical patent/JPS62298853A/ja
Publication of JPS62298853A publication Critical patent/JPS62298853A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 3、発明の詳細な説明 産業上の利用分野 本発明は仮想メモリを支援するマイクロプロセッサに関
する。
従来の技術 典型的なデータ処理システムでは論理アドレス空間を有
するプロセッサと直接アクセス可能な物理アドレス空間
を有する小容量−次メモリと外部周辺制御装置の支援に
よりアクセスできる大容量二次メモリ、及び入出力デバ
イスから構成され本論理アドレス空間を有するプロセッ
サシステムではユーザは物理アドレス空間より大きな容
量のプログラムを論理アドレス空間内で実行させるこ3
′ミ−−ン とができる。この際ユーザプログラムはスーパバイザプ
ログラムの下で管理され、プログラムが一部メモリ内に
存在するかどうかに関係なく実行可能になる。スーパバ
イザプログラムはプログラムに割当てられた物理アドレ
ス空間の外にあるユーザプログラムを実行する為に、必
要とされるプログラムコードとデータを二次メモリから
一部メモリにロードする。壕だ場合によっては新しいコ
ードとデータをロードする余地を一部メモリ内に作る為
に古いコードとデータを一部メモリから二次メモリに転
送する。このような操作は通常論理アドレス空間と物理
アドレス空間をそれぞれ適当な大きさのブロックに分割
し、ページ単位で行なう。
従ってユーザプログラムがページを越えてアクセスしよ
うとした時には、プロセッサのハードウェアによりそれ
が検出され、スーパバイザプログラムが働いてページの
入れ替えを行々う。その後再びユーザプログラムの実行
を開始する際二連りの方式があり、それぞれを第2図に
より説明する。
図中21はユーザプログラムが使う論理アドレス空間、
22.23はページ、24はユーザプログラムの命令が
アクセスするオペランドを示す。
命令再実行方式 多くのプロセッサシステムで採用されている方式で、ペ
ージクロスが発生した命令を再度最初から実行する。今
、論理アドレス空間21のページnは物理メモリ上に存
在し、ページn+1は存在してい々いとする。この時、
命令がオペランド24をアクセスしたとすると、斜線部
は物理メモリをアクセス可能であるが、それ以降はペー
ジn+1を物理メモリ上にロードした後でないとアクセ
スできない。命令再実行方式では既にアクセスした斜線
部も含めAより再びアクセスする。これを実現する為の
命令再開情報としてはオペランド24をアクセスした命
令の番地と、そのページ誤りが発生した時のプロセッサ
状態情報とがあれば良く、ページ誤り発生時の退避情報
としてはこれらの他にページの論理アドレスを加えたも
のとなる。
命令継続方式 例えば、特表昭59−502158号公報に記6ヘー、 載されているような方式で、オペランド24をアクセス
中に発生したページ誤りによりアクセスできなかったB
以降のオペランドだけを命令再開時にアクセスする。命
令継続方式では既にアクセスした斜線部は再開時にふた
たびアクセスすることはないが、一つの命令に対してそ
の実行のされ方が幾通りにもなる。つまり一つの命令を
マイクロ命令に分解して実行している場合には、ページ
誤りの為の処理がマイクロ命令の境界に無関係に発生す
る可能性があり、極端な場合一つの命令を実行するのに
、マイクロ命令数だけの実行のされ方がある。
発明が解決しようとする問題点 命令再開時の二つの方式のうち命令再実行方式は、ペー
ジ誤り時の退避情報が少なくスーパバイザプログラムへ
の移行が高速に行々える反面、一度アクセスしたオペラ
ンドが再開時再びアクセスされるので、入出力装置をメ
モリの一部に配置したメモリマツブト方式が構成できな
い。その為入出力装置をアクセスするユーザ命令は全て
スーパ61\−゛ バイザプログラムがエミュレーションする必要がありユ
ーザが独自に高速な入出力を行々うことかできないとい
った問題がある。
う 命令継続方式では、どのよVなアクセスに対しても重複
してアクセスすることがないので、メモリマツブト方式
による高速入出力が可能である反面、命令再開時にプロ
セッサの状態復帰を行なう為の退避情報が非常に多く、
ハードウェアが複雑になるうえスーパバイザプログラム
への移行の応答性が悪い。また、プロセッサの状態を完
全に復帰する為に必要な情報の見積りが困難であるとい
う問題点などがある。
問題点を解決するだめの手段 本発明は上記問題点を解決する為に、命令に従って実行
部を制御する命令制御部と、外部資源へのアクセスを行
なう外部アクセス手段と、前記命令制御部に接続され、
外部アクセスを伴う命令の実行に際して、あらかじめそ
の対象となる資源のページクロスチェックを行なうと共
に、外部資源へのアクセス誤りを検出する誤り検出部と
、前記7ヘー。
外部アクセス手段に接続され、外部アクセスの結果得ら
れたデータをアクセス誤り発生に備えて次の外部アクセ
スが終了するまで保有する外部アクセスバッファと、前
記命令制御部に接続され、制御に従って必要な演算を行
なう命令実行部と、前記外部アクセスバッファと前記命
令制御部に接続され、前記誤り検出部によってアクセス
誤りが検出された時点の前記命令制御部および前記命令
実行部が使用する内部資源の一部の情報と、必要であれ
ば前記アクセスバッファの内容とを退避させる状態退避
制御部と、命令再開時には前記状態退避制御部により退
避された情報に基づき、必要に応じて前記命令実行部か
らの外部アクセス要求を無効にすると共に退避情報の種
類を識別する手段を備え、前記命令実行部による資源の
更新を禁止して退避情報で置き換える状態復帰制御部と
を有する。
作  用 本発明は上記手段により全ての命令、特に複合命令など
の複雑な命令においても、従来の命令再実行方式と同程
度の退避情報で、命令継続方式で構成可能なメモリマツ
ブト入出力方式が容易に実現できる。
実施例 第1図は本発明の構成図で、11は命令実行部の制御と
、誤り検出時に外部アクセス制御を行なう命令制御部、
12は外部資源へのアクセスを行なう外部アクセス手段
、13は外部アクセスを伴う命令のページクロスの有無
と、外部資源アクセス時のアクセス誤りを検出する誤り
検出部、14は外部アクセスにより得られたデータを一
時的に保持する外部アクセスバッファ 16は命令制御
部からの制御により演算を実行する命令実行部、16は
アクセス誤りが検出された時点の命令制御部および命令
実行部の一部の情報と必要であれば外部アクセスバッフ
ァの内容とを退避させるようう命令制御部11に指示す
る状態退避制御部、17はアクセス誤り発生命令の再実
行時に、退避情報に基づいて命令実行部16の動作の一
部を変更するよう命令制御部11に指示する状態復帰制
御部9ページ である。
以下図を参照しながらアクセス誤り発生時の動作と命令
再開時の動作とを順に説明する。たお、第1図の命令制
御部11と外部アクセス手段12と命令実行部16の動
作は従来のプロセッサシステムとほぼ同じで、本特許の
本質ではないので説明を省略する。
〔アクセス誤り発生時の動作〕
まず、命令制御部11が外部アクセスを伴う命令の実行
を命令実行部16に指示する際、誤り検出部13は命令
制御部11が出力する論理アドレスとオペランドサイズ
を常に監視しており、その外部アクセスによってアクセ
ス誤りが発生することを検出する。この誤り検出は命令
の実行に際してあらかじめ行なわれ、結果は命令制御部
11に通知される。今アクセス誤りを検出したとする。
次に、命令制御部11は命令実行部16に指示しようと
していた外部アクセスを伴う命令の実行制御を無効化し
、状態退避制御部16に対して現在のプロセッサ状態を
退避するよう指示する。第10ページ 3図は外部アクセスを伴う複合命令(ブロック転送命令
)を複数のマイクロ命令で実行している場合の誤り検出
タイミングと、命令再開時の動作との関係を示す図で、
最初の3命令はアドレス計算とブロック内の要素数を計
算してレジスタに設定する初期設定部、次の2命令は一
つの要素の転送を行なう実行部、残りの4命令はアドレ
スおよび要素数カウンタの更新を行ない、全ブロックの
転送完了を検査してループの有無を決定する更新部であ
る。命令制御部11から状態退避の指示を受けた状態退
避制御部16は、誤り検出タイミングの位置に応じて命
令制御部11と命令実行部16および外部アクセスバッ
ファ14の内容とをスタックに退避するよう制御する。
例えば第3図■でソース読出しのアクセス誤りが検出さ
れたとすると、スタックに退避される情報は第4図@)
に示すように、プロセッサ状態語(PSW)、命令ポイ
ンタ(IP)、ソースデータの論理アドレス(VA )
、内部のワーク用レジスタ(ソースアドレス用(’l’
EMPo)、デスティネーシゴンアドレス用(TEMP
2)、カウンタ用(TEMPa))、退避データ識別フ
ラグ(SF)である。ただし、ソース読出しはまだ実行
されていないのでソースデータ(SRC)は退避され々
い。第3図0で誤り検出された場合には、既に読出した
ソースデータが外部アクセスバッファ14に保持されて
いるので、これも合わせて退避し、第4図(a)に示す
ようになる。退避データ識別フラグ(SF)は、スタッ
クに退避された情報の種類を示すもので、ブロック転送
命令のような高機能命令の場合に使うワークレジスタや
アクセス済みのソースデータの有無を示す。従ってワー
クレジスタを使わない一般の命令では、アクセス誤り時
にこれらが退避されることはない。
〔命令再開時の動作〕
命令再開は従来の命令再実行方式と同様に、誤りの発生
した命令を最初から実行するが、誤り検出時点で首尾よ
くアクセス完了したオペランドに対して重ねてアクセス
することはない。第3図■でアクセス誤りが検出された
場合は、■′から再実行するが、マイクロプログラムの
初期設定部でレジスタに設定されるソースアドレスやデ
スティネーションアドレス、カウンタ値などは、退避デ
ータにより置き換えられる。従って■′の点線部分では
、命令実行部16は命令制御部11の制御に従って実際
にアドレス計算を行ない、通常通りその結果をワークレ
ジスタに格納するが、格納する時点で状態復帰制御部1
7によりデータが置き換えられていることは知らない。
第6図は状態復帰制御部の構成図で命令制御部11と外
部アクセス手段12と命令実行部16は第1図と同様で
ある。6oは退避データ識別手段、61は状態復帰時に
、退避データ識別フラグ(SF )の一部が保持される
退避リストレジスタ、62は命令制御部11が更新しよ
うとする資源の種類を退避リストレジスタ61の内容と
比較し、退避データの有無を検査する比較器、63は退
避データ識別手段60から、更新データ64が退避され
ていることを受けて、外部アクセス手段12からの退避
データ66を内部資源データ66に出力するデータ切換
手段である。
第3図[相]でアクセス誤りが検出された場合の復帰1
3/、、−ジ 動作を第6図を参照しながら説明する。
まず、退避データの先頭である退避データ識別フラグの
一部が退避リストとして退避リストレジスタ61に記憶
される。次に、命令制御部11がマイクロ命令の第1ス
テツプであるソースアドレス計算の指示を命令実行部1
6に与え、同時にその結果がTEMPOレジスタに格納
されることを退避データ識別手段60に与える。比較器
62が退避リストレジスタ中にTEMPOがあることを
検出すると、状態復帰制御部17は外部アクセス手段か
ら退避されているTEMPOレジスタの内容を読出し、
データ切換え手段63に供給する。
一方命令実行部16のアドレス計算結果は更新データ6
4としてデータ切換え手段63に供給されるが、退避デ
ータ識別手段60より切換え指示が63に出されている
ので、更新データ64は、退避データ66に置き換えら
れて内部資源データ66に供給される。従って内部資源
TEMPOにはアドレス計算結果ではなく、誤り検出時
に退避されたデータが格納される。ブロック転送命令な
どで14ペー、・ はアドレスを更新しながら実行するので、これらは異な
る値である。同様にデスティネーションアドレス、要素
数カウンタ値も退避データで置き換えられる。更にソー
スデータを読出すために命令実行部は外部アクセスを要
求するが、状態復帰制御部17はそれを無効化し、退避
されたソースデータを供給する。
以上説明した動作では、退避資源に対応したフラグの集
合である退避データ識別フラグをスタックの先頭に持っ
ていたが、これは第4図(b)に示すように、退避資源
の数を示すカウンタ値で代用することもできる。
なお、命令実行部16が外部アクセスして得た結果は外
部アクセスバッファ14にも同時に格納され、それ以後
に発生するアクセス誤り時の退避情報の一部としてスタ
ックに退避したが、退避せずに外部アクセスバッファ1
4に内部資源データと共に残しておき、データ切換手段
63は外部アクセス手段12からではなく外部アクセス
バッファからデータ供給を受けても良い。
16へ 本発明は更に、スタックに退避された退避データ識別フ
ラグ(SF)をスーパバイザプログラムが変更し、外部
アクセスがあたかも一度完了した後にアクセス誤りが発
生したかのようにして命令を再実行させることにより、
仮想入出力を容易に可能とする。
発明の効果 以上述べたように本発明によれば命令再実行方式である
にもかかわらず、少ない退避情絶で命令継続方式のよう
に二重アクセスが回避できる。従ってスーパバイザの応
答性が良く、メモリマツブト入出力構成も可能となるう
えに、仮想入出力も容易に実現できる。これらの効果は
プロセッサシステムの全ての命令について得ることがで
きる。
更に、命令再実行方式であるからマイクロ命令の変更に
よってアクセス誤シに対する動作が変わることはない。
【図面の簡単な説明】
第1図は本発明の一実施例における命令再実行装置の構
成図、第2図はアクセス誤りの発生する様子を説明する
説明図、第3図は本発明実施例の動作説明図、第4図は
状態退避の様子を示す説明図、第6図は状態復帰制御部
の構成図である。 11・・・・・・命令制御部、12・・・・・・外部ア
クセス手段、13・・・・・・誤り検出部、14・・・
・・・外部アクセスバッファ、16・・・・・・命令実
行部、16・・・・・・状態退避制御部、17・・・・
・・状態復帰制御部。 代理人の氏名 弁理士 中尾 敏 男 ほか1名第1図 第2図 第3図 ;欠マイグロ峠 第4図 (幻      (b) 第5図       12 5°            / 画−一一一] 5/   、  55r :1.1 15.3・

Claims (1)

    【特許請求の範囲】
  1. 命令に従って実行部を制御する命令制御部と、外部資源
    へのアクセスを行なう外部アクセス手段と、前記命令制
    御部に接続され、外部アクセスを伴う命令の実行に際し
    て、あらかじめ対象となる資源のページクロスチェック
    を行なうと共に、外部資源へのアクセス誤りを検出する
    誤り検出部と、前記外部アクセス手段に接続され、外部
    アクセスの結果得られたデータをアクセス誤り発生に備
    えて次の外部アクセスが終了するまで保持する外部アク
    セスバッファと、前記命令制御部に接続され、制御に従
    って必要な演算を行なう命令実行部と、前記外部アクセ
    スバッファと前記命令制御部に接続され、前記誤り検出
    部によってアクセス誤りが検出された時点の前記命令制
    御部および前記命令実行部が使用する内部資源の一部の
    情報と、必要であれば前記アクセスバッファの内容とを
    退避させる状態退避制御部と、命令再開時には前記状態
    退避制御部により退避された情報に基づき、必要に応じ
    て前記命令実行部からの外部アクセス要求を無効化する
    と共に、退避情報の種類を識別する手段を備え、前記命
    令実行部による資源の更新を禁止して退避情報で置き換
    える状態復帰制御部とを有する命令再実行装置。
JP61143280A 1986-06-19 1986-06-19 命令再実行装置 Pending JPS62298853A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP61143280A JPS62298853A (ja) 1986-06-19 1986-06-19 命令再実行装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61143280A JPS62298853A (ja) 1986-06-19 1986-06-19 命令再実行装置

Publications (1)

Publication Number Publication Date
JPS62298853A true JPS62298853A (ja) 1987-12-25

Family

ID=15335066

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61143280A Pending JPS62298853A (ja) 1986-06-19 1986-06-19 命令再実行装置

Country Status (1)

Country Link
JP (1) JPS62298853A (ja)

Similar Documents

Publication Publication Date Title
US7178062B1 (en) Methods and apparatus for executing code while avoiding interference
US4524415A (en) Virtual machine data processor
US20060036824A1 (en) Managing the updating of storage keys
EP0128156B1 (en) Data processor version validation
US20070050586A1 (en) Memory access control apparatus
US8140834B2 (en) System, method and computer program product for providing a programmable quiesce filtering register
EP0327852A2 (en) Information handling system
JPH02502764A (ja) 多重処理を行なう方法および構成
JPH0619798A (ja) セレクタの値のロードを回避する方法とシステム
WO1984002208A1 (en) Virtual memory data processor
JPH0544054B2 (ja)
JP2007035066A (ja) マルチos構成方法
JPH07311740A (ja) コンピュータ
JPH0810437B2 (ja) 仮想計算機システムのゲスト実行制御方式
US7490206B2 (en) Method and structure for low memory relocation for dynamic memory reconfiguration
JP2001216172A (ja) マルチos構成方法
JP2002157132A (ja) コンピュータ、その制御方法及びその制御方法を記録した記録媒体
JP3585510B2 (ja) プログラム実行管理装置及びプログラム実行管理方法
JPS62298853A (ja) 命令再実行装置
JP2552738B2 (ja) データ処理装置
JP6973856B2 (ja) 情報処理装置、実行方法及びプログラムの修正方法
JPS62171040A (ja) 命令再実行装置
JP2562838B2 (ja) プロセッサ及びストアバッファ制御方法
JPH05165663A (ja) データ処理装置
JPS61117635A (ja) 仮想記憶制御方式