JP2562838B2 - プロセッサ及びストアバッファ制御方法 - Google Patents
プロセッサ及びストアバッファ制御方法Info
- Publication number
- JP2562838B2 JP2562838B2 JP1031914A JP3191489A JP2562838B2 JP 2562838 B2 JP2562838 B2 JP 2562838B2 JP 1031914 A JP1031914 A JP 1031914A JP 3191489 A JP3191489 A JP 3191489A JP 2562838 B2 JP2562838 B2 JP 2562838B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- store buffer
- exception
- instruction
- address
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
- G06F12/1491—Protection against unauthorised use of memory or access to memory by checking the subject access rights in a hierarchical protection system, e.g. privilege levels, memory rings
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0804—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Advance Control (AREA)
- Storage Device Security (AREA)
- Microcomputers (AREA)
- Information Transfer Systems (AREA)
Description
【発明の詳細な説明】 〔概要〕 ストアバッファを用いてメモリ書込みを他の命令処理
と独立して行なうプロセッサ及びストアバッファ制御方
法に関し、 処理速度が向上し、割込・例外処理をその優先順位に
従って制限なく行ないえることを目的とし、 メモリ書込みを後続の命令処理と独立して行なうため
メモリのアドレス及び書込みデータを格納するストアバ
ッファと、リング保護用のリング情報を含む実行中のプ
ログラムの状態を示すプログラム状態語を記憶したプロ
グラム状態語記憶手段と、割込又は例外の発生によりプ
ログラムを中断し割込・例外処理を行ない、中断したプ
ログラムに復帰するための情報をメモリの退避領域に格
納する割込・例外制御手段とを有するプロセッサにおい
て、該ストアバッファに、命令でメモリ書込みを指定し
た時の該プログラム状態語記憶手段のリング情報を格納
するリング情報格納領域を設け構成する。
と独立して行なうプロセッサ及びストアバッファ制御方
法に関し、 処理速度が向上し、割込・例外処理をその優先順位に
従って制限なく行ないえることを目的とし、 メモリ書込みを後続の命令処理と独立して行なうため
メモリのアドレス及び書込みデータを格納するストアバ
ッファと、リング保護用のリング情報を含む実行中のプ
ログラムの状態を示すプログラム状態語を記憶したプロ
グラム状態語記憶手段と、割込又は例外の発生によりプ
ログラムを中断し割込・例外処理を行ない、中断したプ
ログラムに復帰するための情報をメモリの退避領域に格
納する割込・例外制御手段とを有するプロセッサにおい
て、該ストアバッファに、命令でメモリ書込みを指定し
た時の該プログラム状態語記憶手段のリング情報を格納
するリング情報格納領域を設け構成する。
本発明はプロセッサ及びストアバッファ制御方法に関
し、ストアバッファを用いてメモリ書込みを他の命令処
理と独立して行なうプロセッサ及びストアバッファ制御
方法に関する。
し、ストアバッファを用いてメモリ書込みを他の命令処
理と独立して行なうプロセッサ及びストアバッファ制御
方法に関する。
近年、マイクロプロセッサの高速化及び高機能化が進
み、演算処理速度に比して外部のメモリをアクセスする
に要する時間が長いため、内蔵キャッシュを持ったもの
や、外部のメモリへの書込みを命令処理と独立に行なう
ストアバッファを備えるようになっている。
み、演算処理速度に比して外部のメモリをアクセスする
に要する時間が長いため、内蔵キャッシュを持ったもの
や、外部のメモリへの書込みを命令処理と独立に行なう
ストアバッファを備えるようになっている。
また、オペレーティングシステム(OS)等の特権レベ
ルと非特権レベル、又はマルチタスク処理における各タ
スクでメモリの内容が誤ってアクセスされないよう、メ
モリの領域毎にリング情報を持たせ、プログラム状態語
(PSW)に表示された現在実行中のプログラムのリング
情報と上記メモリの各領域のリング情報との比較により
メモリの保護を行なっている。
ルと非特権レベル、又はマルチタスク処理における各タ
スクでメモリの内容が誤ってアクセスされないよう、メ
モリの領域毎にリング情報を持たせ、プログラム状態語
(PSW)に表示された現在実行中のプログラムのリング
情報と上記メモリの各領域のリング情報との比較により
メモリの保護を行なっている。
ストアバッファを持つプロセッサでは、メモリ書込み
の命令でストアバッファにアドレス及びデータを書込む
と、それ以降の命令に進み、ストアバッファではバスサ
イクルが空いた時、外部のメモリへの書込みを行なう。
この書込みがエラーとなったとき、その例外処理要求は
後続の命令に非同期に発生する。上記メモリへの書込み
の例外処理要求の発生の際に後続の命令でも別の例外処
理要求が発生したとき、両者の優先順序を考える必要が
ある。
の命令でストアバッファにアドレス及びデータを書込む
と、それ以降の命令に進み、ストアバッファではバスサ
イクルが空いた時、外部のメモリへの書込みを行なう。
この書込みがエラーとなったとき、その例外処理要求は
後続の命令に非同期に発生する。上記メモリへの書込み
の例外処理要求の発生の際に後続の命令でも別の例外処
理要求が発生したとき、両者の優先順序を考える必要が
ある。
ストアバッファを用いてメモリ書込みの処理を命令処
理と切放した場合、エラー発生時にメモリ書込みの命令
を最初からやり直すことは不可能である。そこでストア
バッファでの処理中にエラーを検出した時は、メモリ書
込みの命令の命令アドレス、オペランドアドレス、オペ
ランドデータ、オペランドアクセスの制御情報等をPSW
や復帰先命令アドレスと同時に退避し、OSがエラー原因
を取り除いた後上記退避した各種情報に従ってストアバ
ッファよりメモリへの書込みのみを行なう。上記オペラ
ンドアクセスの制御情報にはオペランドサイズや仮想記
憶をサポートする命令でのアドレス変換有無等が含まれ
ている。
理と切放した場合、エラー発生時にメモリ書込みの命令
を最初からやり直すことは不可能である。そこでストア
バッファでの処理中にエラーを検出した時は、メモリ書
込みの命令の命令アドレス、オペランドアドレス、オペ
ランドデータ、オペランドアクセスの制御情報等をPSW
や復帰先命令アドレスと同時に退避し、OSがエラー原因
を取り除いた後上記退避した各種情報に従ってストアバ
ッファよりメモリへの書込みのみを行なう。上記オペラ
ンドアクセスの制御情報にはオペランドサイズや仮想記
憶をサポートする命令でのアドレス変換有無等が含まれ
ている。
ところで、メモリへの書込みのみを再実行するときリ
ング保護を行なうためのPSWのリング情報は退避されたP
SWの情報を利用している。退避されたPSWは復帰先のPSW
であるから、ストアバッファでエラーを検出した時に処
理された命令終了時点の値であり、メモリ書込みの命令
(ストアバッファにデータをセットした命令)の実行か
らエラーに処理中断されるまでの間PSWのリング情報を
変化させてはいけないことになる。もしリング情報を変
化させるとメモリ書込みの再実行の際にメモリ書込みは
許可されないメモリの領域を誤ってアクセスしメモリ内
容を破壊する恐れがある。
ング保護を行なうためのPSWのリング情報は退避されたP
SWの情報を利用している。退避されたPSWは復帰先のPSW
であるから、ストアバッファでエラーを検出した時に処
理された命令終了時点の値であり、メモリ書込みの命令
(ストアバッファにデータをセットした命令)の実行か
らエラーに処理中断されるまでの間PSWのリング情報を
変化させてはいけないことになる。もしリング情報を変
化させるとメモリ書込みの再実行の際にメモリ書込みは
許可されないメモリの領域を誤ってアクセスしメモリ内
容を破壊する恐れがある。
このために例外処理の優先順位に制限を付けなければ
ならない。つまりストアバッファでのエラーを除く別の
例外処理を先に受付けると、上記別の例外処理を実行す
るOSに分岐するためPSWをOS用の情報に書換えてしま
い、その後ストアバッファで発生した例外処理で退避さ
れるPSWは上記OS用の情報となっておりメモリ書込みを
実行したときのリング情報は残っていない。
ならない。つまりストアバッファでのエラーを除く別の
例外処理を先に受付けると、上記別の例外処理を実行す
るOSに分岐するためPSWをOS用の情報に書換えてしま
い、その後ストアバッファで発生した例外処理で退避さ
れるPSWは上記OS用の情報となっておりメモリ書込みを
実行したときのリング情報は残っていない。
例外処理の優先順位に制限を付けることはPSWのリン
グ情報を変更する命令が出現したときストアバッファが
空くのを待たねばならないため処理速度が低下し、他の
優先されるべき例外処理が出現したときこれを優先でき
ないという矛盾が生じるという問題がある。
グ情報を変更する命令が出現したときストアバッファが
空くのを待たねばならないため処理速度が低下し、他の
優先されるべき例外処理が出現したときこれを優先でき
ないという矛盾が生じるという問題がある。
例えば、命令コードの基本長が2バイトで命令アドレ
スは必ず偶数アドレスを指さなければならないものとす
る、このプロセッサで分岐命令で指定された分岐アドレ
スが奇数の場合の例外処理で退避される情報として、分
岐命令アドレス、不当な分岐先アドレスが必要である。
上記の例外処理と同時に発生したストアバッファでのエ
ラーに対する例外処理を先に受付けるとすれば、不当命
令アドレスはストアバッファの例外処理のための退避情
報となってしまう。
スは必ず偶数アドレスを指さなければならないものとす
る、このプロセッサで分岐命令で指定された分岐アドレ
スが奇数の場合の例外処理で退避される情報として、分
岐命令アドレス、不当な分岐先アドレスが必要である。
上記の例外処理と同時に発生したストアバッファでのエ
ラーに対する例外処理を先に受付けるとすれば、不当命
令アドレスはストアバッファの例外処理のための退避情
報となってしまう。
本発明は上記の点に鑑みなされたもので、処理速度が
向上し、割込・例外処理をその優先順位に従って制限な
く行なえるプロセッサを提供することを目的とする。
向上し、割込・例外処理をその優先順位に従って制限な
く行なえるプロセッサを提供することを目的とする。
本発明のプロセッサは、 メモリ書込みを後続の命令処理と独立して行なうため
メモリのアドレス及び書込みデータを格納するストアバ
ッファ(26)と、 リング保護用のリング情報を含む実行中のプログラム
の状態を示すプログラム状態語を記憶したプログラム状
態語記憶手段(25)と、 割込又は例外の発生によりプログラムを中断し割込/
例外処理を行ない、中断したプログラムに復帰するため
の情報をメモリの退避領域に格納する割込/例外制御手
段(23)とを有するプロセッサにおいて、 ストアバッファ(26)に、命令でメモリ書込みを指定
した時の実行時のプログラム状態語記憶手段(25)のリ
ング情報を格納するリング情報格納領域(40)を設け
る。
メモリのアドレス及び書込みデータを格納するストアバ
ッファ(26)と、 リング保護用のリング情報を含む実行中のプログラム
の状態を示すプログラム状態語を記憶したプログラム状
態語記憶手段(25)と、 割込又は例外の発生によりプログラムを中断し割込/
例外処理を行ない、中断したプログラムに復帰するため
の情報をメモリの退避領域に格納する割込/例外制御手
段(23)とを有するプロセッサにおいて、 ストアバッファ(26)に、命令でメモリ書込みを指定
した時の実行時のプログラム状態語記憶手段(25)のリ
ング情報を格納するリング情報格納領域(40)を設け
る。
また、メモリ書込みを後続の命令処理と独立して行な
うためメモリのアドレス及び書込みデータを格納するス
トアバッファ(26)に対する書込み指示した時点のリン
グ情報を保持しておき、 前記書き込み指示に基づくストアバッファ(26)から
外部メモリへの書き込みが完了できないときにプロセッ
サが例外/割り込み処理を実行した場合には、前記保持
していたリング情報に基づいて、前記ストアバッファ
(26)から外部メモリへの書き込み再実行を行なう。
うためメモリのアドレス及び書込みデータを格納するス
トアバッファ(26)に対する書込み指示した時点のリン
グ情報を保持しておき、 前記書き込み指示に基づくストアバッファ(26)から
外部メモリへの書き込みが完了できないときにプロセッ
サが例外/割り込み処理を実行した場合には、前記保持
していたリング情報に基づいて、前記ストアバッファ
(26)から外部メモリへの書き込み再実行を行なう。
本発明においてはストアバッファ(26)にリング情報
格納領域(40)を設け、オペランドアドレス及び書込み
データのセットと共にプログラム状態語(25)のリング
情報が上記リング情報格納領域(40)にセットされるた
め、ストアバッファ(26)を用いた書込みの実行中であ
っても後続命令の処理又は後続命令の処理に起因する割
込/例外処理を行なうために自由にプログラム状態語
(25)のリング情報を変更でき、割込/例外処理の優先
順位に関する制限がなくなり、ストアバッファを用いた
書込みの終了を待つことなく後続命令の処理を行なうこ
とができ処理速度が向上する。
格納領域(40)を設け、オペランドアドレス及び書込み
データのセットと共にプログラム状態語(25)のリング
情報が上記リング情報格納領域(40)にセットされるた
め、ストアバッファ(26)を用いた書込みの実行中であ
っても後続命令の処理又は後続命令の処理に起因する割
込/例外処理を行なうために自由にプログラム状態語
(25)のリング情報を変更でき、割込/例外処理の優先
順位に関する制限がなくなり、ストアバッファを用いた
書込みの終了を待つことなく後続命令の処理を行なうこ
とができ処理速度が向上する。
第1図は本発明プロセッサであるマイクロプロセッサ
の一実施例のブロック図を示す。
の一実施例のブロック図を示す。
同図中、プログラムカウンタ(PC)10は現在実行中の
プログラムのアドレスを格納しており、パイプライン制
御等、複数の命令が並列して動作するシステムではそれ
ぞれに対応する複数のレジスタを持つ。これはストアバ
ッファ26に対応する命令アドレスを保持するレジスタを
含む。またPC10はこれとは別に命令プリフェッチ用のカ
ウンタを内蔵しており、そのプリフェッチのプログラム
アドレスがメモリ管理装置(MMU)11及び命令側アドレ
ス変換回路12に供給される。命令側アドレス変換回路12
で得られた物理アドレスが命令キャッシュ13内に存在し
なければ、MMU11は内部バス14,外部バスアクセス制御部
15を介して外部バス16に接続されたメモリ(図示せず)
をアクセスし、得られた命令を命令キャッシュ13に取込
む。命令キャッシュ13より読出された命令は命令デコー
ダ17でデコードされ、マイクロアドレスが得られる。
プログラムのアドレスを格納しており、パイプライン制
御等、複数の命令が並列して動作するシステムではそれ
ぞれに対応する複数のレジスタを持つ。これはストアバ
ッファ26に対応する命令アドレスを保持するレジスタを
含む。またPC10はこれとは別に命令プリフェッチ用のカ
ウンタを内蔵しており、そのプリフェッチのプログラム
アドレスがメモリ管理装置(MMU)11及び命令側アドレ
ス変換回路12に供給される。命令側アドレス変換回路12
で得られた物理アドレスが命令キャッシュ13内に存在し
なければ、MMU11は内部バス14,外部バスアクセス制御部
15を介して外部バス16に接続されたメモリ(図示せず)
をアクセスし、得られた命令を命令キャッシュ13に取込
む。命令キャッシュ13より読出された命令は命令デコー
ダ17でデコードされ、マイクロアドレスが得られる。
マイクロプログラム19はマイクロアドレスの指定によ
り演算部20,レジスタファイル21の動作を制御する。ま
たマイクロプログラム19は例外処理時のプロセッサの内
部状態のメモリへの退避処理及びメモリからの新PSW,新
PCの読出処理を制御するマイクロ処理ルーチンを有して
いる。メモリアクセス制御回路22はアクセス要求の発生
及びアクセスの方向とサイズ等の制御を行なう。この例
外処理のマイクロ処理ルーチンは割込・例外制御回路23
からのマイクロアドレスによって指定される。割込・例
外制御回路23は端子24よりの外部割込要求、及び命令デ
コーダ17よりの未定義命令検出等の例外処理要求、及び
MMU11よりのアドレス変換例外やバスアクセス例外等の
例外処理要求、及び演算部20よりのゼロ除算例外等の例
外処理要求が供給され、これらの割込及び例外処理要求
に対して優先度の判定及びマイクロアドレスの発生を行
なっている。
り演算部20,レジスタファイル21の動作を制御する。ま
たマイクロプログラム19は例外処理時のプロセッサの内
部状態のメモリへの退避処理及びメモリからの新PSW,新
PCの読出処理を制御するマイクロ処理ルーチンを有して
いる。メモリアクセス制御回路22はアクセス要求の発生
及びアクセスの方向とサイズ等の制御を行なう。この例
外処理のマイクロ処理ルーチンは割込・例外制御回路23
からのマイクロアドレスによって指定される。割込・例
外制御回路23は端子24よりの外部割込要求、及び命令デ
コーダ17よりの未定義命令検出等の例外処理要求、及び
MMU11よりのアドレス変換例外やバスアクセス例外等の
例外処理要求、及び演算部20よりのゼロ除算例外等の例
外処理要求が供給され、これらの割込及び例外処理要求
に対して優先度の判定及びマイクロアドレスの発生を行
なっている。
PSW25は現在実行中のプログラムに関するもので、第
2図に示す構成であり、メモリアクセスの権利等を示す
リング情報(RING)30,仮想記憶をサポートするプロセ
ッサでのアドレス変換制御モード(AT:Address Transl
ation)31,割込許可レベルを表示する割込マスク(IMAS
K:Interruption Mask)32,演算の結果から生成される状
態フラグ(CONDITION FLAGS)33等の情報が含まれてい
る。上記リング情報30はMMU11に供給される。
2図に示す構成であり、メモリアクセスの権利等を示す
リング情報(RING)30,仮想記憶をサポートするプロセ
ッサでのアドレス変換制御モード(AT:Address Transl
ation)31,割込許可レベルを表示する割込マスク(IMAS
K:Interruption Mask)32,演算の結果から生成される状
態フラグ(CONDITION FLAGS)33等の情報が含まれてい
る。上記リング情報30はMMU11に供給される。
MMU11内のストアバッファ26はメモリアクセス制御回
路22およびPSW25から端子27を介してアクセス情報を供
給され、またオペランドアドレスバスにより演算部20と
接続され、さらにデータバスにより演算部20,レジスタ
ファイル21,PC10,PSW25,データキャッシュ25と接続され
ている。複数語構成のストアバッファ26の各語は第3図
に示す如く、アクセス時のリング情報(ACCRING)40,ア
ドレス変換を行なわないことを示すコード(PA:Physica
l Address)41,オペランドサイズ(SIZE)42を有すると
共にアドレス変換前の論理アドレス及び変換後の物理ア
ドレス夫々をオペランドアドレス43,44に保持し、また
書込みデータ45を保持する。
路22およびPSW25から端子27を介してアクセス情報を供
給され、またオペランドアドレスバスにより演算部20と
接続され、さらにデータバスにより演算部20,レジスタ
ファイル21,PC10,PSW25,データキャッシュ25と接続され
ている。複数語構成のストアバッファ26の各語は第3図
に示す如く、アクセス時のリング情報(ACCRING)40,ア
ドレス変換を行なわないことを示すコード(PA:Physica
l Address)41,オペランドサイズ(SIZE)42を有すると
共にアドレス変換前の論理アドレス及び変換後の物理ア
ドレス夫々をオペランドアドレス43,44に保持し、また
書込みデータ45を保持する。
ここで、第4図に示す如くアドレス#Aのムーブ命令
(MOV)でレジスタファイル21内のレジスタROのデータ
を外部のメモリに書込む場合、レジスタROのデータは演
算部20のデータチェックにより状態フラグが生成された
後ストアバッファ26のデータ部45にセットされる。この
とき第3図のリング情報40にはPSW25より現在のリング
情報がセットされ、その他のコード41,42及びオペラン
ドアドレス43が夫々セットされる。ムーブ命令は非特権
命令であり、そのリング情報の値は例えば「3」であ
る。
(MOV)でレジスタファイル21内のレジスタROのデータ
を外部のメモリに書込む場合、レジスタROのデータは演
算部20のデータチェックにより状態フラグが生成された
後ストアバッファ26のデータ部45にセットされる。この
とき第3図のリング情報40にはPSW25より現在のリング
情報がセットされ、その他のコード41,42及びオペラン
ドアドレス43が夫々セットされる。ムーブ命令は非特権
命令であり、そのリング情報の値は例えば「3」であ
る。
ストアバッファ26に上記の各情報がセットされるとMM
U26は書込み処理シーケンスを起動し、アドレス変換モ
ードであればデータ側アドレス変換回路28で論理アドレ
スMEM1に対応する物理アドレスを求め、その物理アド
レスによって書込みバスサイクルを起動する。
U26は書込み処理シーケンスを起動し、アドレス変換モ
ードであればデータ側アドレス変換回路28で論理アドレ
スMEM1に対応する物理アドレスを求め、その物理アド
レスによって書込みバスサイクルを起動する。
上記ストアバッファ26のセットによって命令完了とみ
なしPC10は次の命令のアドレスを指し、その命令のマイ
クロプログラムが実行される。
なしPC10は次の命令のアドレスを指し、その命令のマイ
クロプログラムが実行される。
アドレス#Bの分岐命令(BRA)の実行により分岐先
アドレスADRS2が演算部20で演算される。この分岐先
アドレスADRS2が偶数でなければならないのに反して
奇数であったとき等、演算部20は不当アドレス分岐の例
外処理要求を発生して割込・例外制御回路23に供給す
る。この例外処理要求が受付けられるとマイクロプログ
ラム19の例外受付処理によって分岐命令BRAの実行直後
のPSW、例外を発生した命令アドレス(この場合#B)
等が外部のメモリ上の退避領域に格納され、例外処理プ
ログラムのPSW,PC等が外部のメモリの所定領域から読出
されてPSW25,PC10等にセットされる。これによってPSW2
5のリング情報は通常処理のリング情報「3」から例外
処理を行なうための特権リング「0」に変更される。
アドレスADRS2が演算部20で演算される。この分岐先
アドレスADRS2が偶数でなければならないのに反して
奇数であったとき等、演算部20は不当アドレス分岐の例
外処理要求を発生して割込・例外制御回路23に供給す
る。この例外処理要求が受付けられるとマイクロプログ
ラム19の例外受付処理によって分岐命令BRAの実行直後
のPSW、例外を発生した命令アドレス(この場合#B)
等が外部のメモリ上の退避領域に格納され、例外処理プ
ログラムのPSW,PC等が外部のメモリの所定領域から読出
されてPSW25,PC10等にセットされる。これによってPSW2
5のリング情報は通常処理のリング情報「3」から例外
処理を行なうための特権リング「0」に変更される。
上記メモリ上の退避領域の退避情報は第5図に示す形
式で、PSWを格納する旧PSW50,割込・例外の種類により
夫々異なるフォーマットを示すフォーマット情報51,PC
を格納する旧PC52の基本退避情報と、例外の原因となっ
た命令のPC53,メモリアクセスに関する例外のアクセス
情報54,例外となったメモリアクセスのアドレス55,例外
となったメモリの書込みデータ56の拡張退避情報とより
なる。この拡張退避情報は割込・例外のフォーマットに
よって追加される情報である。
式で、PSWを格納する旧PSW50,割込・例外の種類により
夫々異なるフォーマットを示すフォーマット情報51,PC
を格納する旧PC52の基本退避情報と、例外の原因となっ
た命令のPC53,メモリアクセスに関する例外のアクセス
情報54,例外となったメモリアクセスのアドレス55,例外
となったメモリの書込みデータ56の拡張退避情報とより
なる。この拡張退避情報は割込・例外のフォーマットに
よって追加される情報である。
このうちメモリアクセスに関する例外のアクセス情報
54はメモリアクセス関連例外の場合第6図に示す構成で
あり、アクセス時のリング情報(ACCRING)60,アドレス
変換を行なわないことを示すコード(PA)61,リード・
ライトの方向を示すコード(RW)62,書込みの再実行を
指示するコード(WR:Write Retry)63,オペランドサイ
ズ(SIZE)64,エラーに関する詳細な原因コード等のエ
ラー情報(ERROR INFOMATION)65が含まれている。
54はメモリアクセス関連例外の場合第6図に示す構成で
あり、アクセス時のリング情報(ACCRING)60,アドレス
変換を行なわないことを示すコード(PA)61,リード・
ライトの方向を示すコード(RW)62,書込みの再実行を
指示するコード(WR:Write Retry)63,オペランドサイ
ズ(SIZE)64,エラーに関する詳細な原因コード等のエ
ラー情報(ERROR INFOMATION)65が含まれている。
第4図に示す如く、不当アドレス分岐の例外受付処理
の実行中の時刻t1でメモリ書込みによる例外が検出され
ると、不当アドレス分岐の例外受付処理が終了した直後
の時刻t2からメモリ書込みの例外受付処理が開始され
る。
の実行中の時刻t1でメモリ書込みによる例外が検出され
ると、不当アドレス分岐の例外受付処理が終了した直後
の時刻t2からメモリ書込みの例外受付処理が開始され
る。
このメモリ書込みの例外受付処理ではその例外処理要
求が発生した時点でのPSW即ち時刻t2のPSW25の値と、例
外処理後復帰すべきアドレス即ちPC10の中にある実行を
完了していない命令アドレス、この場合は不当アドレス
分岐例外処理プログラムの先頭命令を指すアドレスと、
例外の原因となった命令のアドレス#A即ちPC10の中で
ストアバッファに対応した命令アドレスを保持するレジ
スタの内容と、ストアバッファ26よりの書込み処理シー
ケンス起動時のリング情報40,コード41,オペランドサイ
ズ42,オペランドアドレス43,書込みデータ45とを外部メ
モリの退避領域に格納し、この後メモリ上の所定の領域
から読出したメモリ書込みの例外処理用のPSW,PCをPSW2
5,PC10にセットする。ここで旧PSW50には不当アドレス
分岐の例外受付処理により特権リング「0」が退避され
るが、メモリアクセスに関する例外のアクセス情報54内
のリング情報60にはストアバッファ26のリング情報40に
保持されていた通常のリングの値「3」が退避される。
求が発生した時点でのPSW即ち時刻t2のPSW25の値と、例
外処理後復帰すべきアドレス即ちPC10の中にある実行を
完了していない命令アドレス、この場合は不当アドレス
分岐例外処理プログラムの先頭命令を指すアドレスと、
例外の原因となった命令のアドレス#A即ちPC10の中で
ストアバッファに対応した命令アドレスを保持するレジ
スタの内容と、ストアバッファ26よりの書込み処理シー
ケンス起動時のリング情報40,コード41,オペランドサイ
ズ42,オペランドアドレス43,書込みデータ45とを外部メ
モリの退避領域に格納し、この後メモリ上の所定の領域
から読出したメモリ書込みの例外処理用のPSW,PCをPSW2
5,PC10にセットする。ここで旧PSW50には不当アドレス
分岐の例外受付処理により特権リング「0」が退避され
るが、メモリアクセスに関する例外のアクセス情報54内
のリング情報60にはストアバッファ26のリング情報40に
保持されていた通常のリングの値「3」が退避される。
時刻t3で上記例外受付処理が終了すると、PC10の示す
アドレスからメモリ書込みの例外処理プログラムが実行
され、その最後で中断された処理に復帰する命令の実行
により復帰シーケンスが起動される。復帰シーケンスで
は第5図の退避領域から旧PSW50,旧PC52をPSW25,PC10夫
々に復帰させ、かつ拡張退避情報をストアバッファ26等
に復帰させる。
アドレスからメモリ書込みの例外処理プログラムが実行
され、その最後で中断された処理に復帰する命令の実行
により復帰シーケンスが起動される。復帰シーケンスで
は第5図の退避領域から旧PSW50,旧PC52をPSW25,PC10夫
々に復帰させ、かつ拡張退避情報をストアバッファ26等
に復帰させる。
これによって時刻t4からPC10の指示する不当アドレス
分岐例外処理プログラムが実行されると共、ストアバッ
ファ26の情報によるメモリの書込みの再実行が行なわれ
る。このとき、メモリ書込みのリング情報はPSW25のリ
ング情報の値「0」とは無関係に退避領域からストアバ
ッファ26に復帰されたリング情報40の値「3」である。
従って時刻t3,t4間の例外処理でエラー原因が解決され
てさえいれば書込み実行は正しく終了し、誤ってメモリ
内容を破壊する恐れはまったくない。また再び例外が検
出されてもストアバッファ26のリング情報40に持つリン
グ情報は初めて書込みを行なった時のリング情報である
ため何度でも書込み再実行を行なうことができる。
分岐例外処理プログラムが実行されると共、ストアバッ
ファ26の情報によるメモリの書込みの再実行が行なわれ
る。このとき、メモリ書込みのリング情報はPSW25のリ
ング情報の値「0」とは無関係に退避領域からストアバ
ッファ26に復帰されたリング情報40の値「3」である。
従って時刻t3,t4間の例外処理でエラー原因が解決され
てさえいれば書込み実行は正しく終了し、誤ってメモリ
内容を破壊する恐れはまったくない。また再び例外が検
出されてもストアバッファ26のリング情報40に持つリン
グ情報は初めて書込みを行なった時のリング情報である
ため何度でも書込み再実行を行なうことができる。
また、分岐アドレス例外処理プログラムの最後で中断
された処理に復帰する命令が実行されて分岐先のアドレ
ス#Cの命令の実行に移行したり、場合によってはアボ
ードする。
された処理に復帰する命令が実行されて分岐先のアドレ
ス#Cの命令の実行に移行したり、場合によってはアボ
ードする。
このように、ストアバッファ26にアクセス時のリング
情報40を設け、オペランドアドレス及び書込みデータの
セットと共にPSW25のリング情報30あるいは書込再実行
の場合退避情報のリング情報60が上記リング情報40にセ
ットされるため、ストアバッファ26を用いた書込みの実
行中であっても後続命令の処理又は後続命令の処理に起
因する割込・例外処理を行なうために自由にPSW25のリ
ング情報を変更でき、割込・例外処理の優先順位に関す
る制限がなくなり、ストアバッファを用いた書込みの終
了を待つことなく後続命令の処理を行なうことができ処
理速度が向上する。
情報40を設け、オペランドアドレス及び書込みデータの
セットと共にPSW25のリング情報30あるいは書込再実行
の場合退避情報のリング情報60が上記リング情報40にセ
ットされるため、ストアバッファ26を用いた書込みの実
行中であっても後続命令の処理又は後続命令の処理に起
因する割込・例外処理を行なうために自由にPSW25のリ
ング情報を変更でき、割込・例外処理の優先順位に関す
る制限がなくなり、ストアバッファを用いた書込みの終
了を待つことなく後続命令の処理を行なうことができ処
理速度が向上する。
上述の如く、本発明のプロセッサ及びストアバッファ
制御方法によれば、処理速度が向上し、割込・例外処理
をその優先順位に従って制限なく行なうことができ、実
用上きわめて有用である。
制御方法によれば、処理速度が向上し、割込・例外処理
をその優先順位に従って制限なく行なうことができ、実
用上きわめて有用である。
第1図は本発明のプロセッサのブロック図、 第2図はPSWを示す図、 第3図はストアバッファの各語の情報を示す図、 第4図は本発明のプロセッサの動作シーケンスを示す
図、 第5図は退避情報の形式を示す図、 第6図はメモリアクセスに関する例外のアクセス情報を
示す図である。 図において、 11はメモリ管理装置(MMU)、 19はマイクロプログラム、 22はメモリアクセス制御回路、 23は割込・例外制御回路、 26はストアバッファ、 30,60,40はリング情報、 43,44はオペランドアドレス、 45は書込みデータ、 54はアクセス情報 を示す。
図、 第5図は退避情報の形式を示す図、 第6図はメモリアクセスに関する例外のアクセス情報を
示す図である。 図において、 11はメモリ管理装置(MMU)、 19はマイクロプログラム、 22はメモリアクセス制御回路、 23は割込・例外制御回路、 26はストアバッファ、 30,60,40はリング情報、 43,44はオペランドアドレス、 45は書込みデータ、 54はアクセス情報 を示す。
Claims (2)
- 【請求項1】メモリ書込みを後続の命令処理と独立して
行なうためメモリのアドレス及び書込みデータを格納す
るストアバッファ(26)と、 リング保護用のリング情報を含む実行中のプログラムの
状態を示すプログラム状態語を記憶したプログラム状態
語記憶手段(25)と、 割込又は例外の発生によりプログラムを中断し割込/例
外処理を行ない、中断したプログラムに復帰するための
情報をメモリの退避領域に格納する割込/例外制御手段
(23)とを有するプロセッサにおいて、 該ストアバッファ(26)に、命令でメモリ書込みを指定
した実行時の該プログラム状態語記憶手段(25)のリン
グ情報を格納するリング情報格納領域(40)を設けたこ
とを特徴とするプロセッサ。 - 【請求項2】メモリ書込みを後続の命令処理と独立して
行なうためメモリのアドレス及び書込みデータを格納す
るストアバッファ(26)に対する書込み指示した時点の
リング情報を保持しておき、 前記書き込み指示に基づくストアバッファ(26)から外
部メモリへの書き込みが完了できないときにプロセッサ
が例外/割り込み処理を実行した場合には、前記保持し
ていたリング情報に基づいて、前記ストアバッファ(2
6)から外部メモリへの書き込み再実行を行なうことを
特徴とするストアバッファ制御方法。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1031914A JP2562838B2 (ja) | 1989-02-10 | 1989-02-10 | プロセッサ及びストアバッファ制御方法 |
DE69020750T DE69020750T2 (de) | 1989-02-10 | 1990-02-08 | Mikroprozessor mit Speicherpuffer. |
EP90301338A EP0382529B1 (en) | 1989-02-10 | 1990-02-08 | Microprocessor having store buffer |
KR1019900001628A KR930002324B1 (ko) | 1989-02-10 | 1990-02-10 | 기억버퍼를 갖는 마이크로 프로세서 |
US07/899,946 US5201052A (en) | 1989-02-10 | 1992-06-17 | System for transferring first and second ring information from program status word register and store buffer |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1031914A JP2562838B2 (ja) | 1989-02-10 | 1989-02-10 | プロセッサ及びストアバッファ制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH02211561A JPH02211561A (ja) | 1990-08-22 |
JP2562838B2 true JP2562838B2 (ja) | 1996-12-11 |
Family
ID=12344249
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1031914A Expired - Fee Related JP2562838B2 (ja) | 1989-02-10 | 1989-02-10 | プロセッサ及びストアバッファ制御方法 |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP0382529B1 (ja) |
JP (1) | JP2562838B2 (ja) |
KR (1) | KR930002324B1 (ja) |
DE (1) | DE69020750T2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20000019803A (ko) * | 1998-09-15 | 2000-04-15 | 윤종용 | 멀티 타스킹 운영체계 환경에서의 예외처리 장치 및 방법 |
WO2004053685A1 (en) * | 2002-12-12 | 2004-06-24 | Arm Limited | Instruction timing control within a data processing system |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3858182A (en) * | 1972-10-10 | 1974-12-31 | Digital Equipment Corp | Computer program protection means |
JPH0644245B2 (ja) * | 1983-12-29 | 1994-06-08 | 富士通株式会社 | ストアバッファ装置 |
-
1989
- 1989-02-10 JP JP1031914A patent/JP2562838B2/ja not_active Expired - Fee Related
-
1990
- 1990-02-08 DE DE69020750T patent/DE69020750T2/de not_active Expired - Fee Related
- 1990-02-08 EP EP90301338A patent/EP0382529B1/en not_active Expired - Lifetime
- 1990-02-10 KR KR1019900001628A patent/KR930002324B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
DE69020750D1 (de) | 1995-08-17 |
DE69020750T2 (de) | 1995-11-23 |
EP0382529A2 (en) | 1990-08-16 |
EP0382529B1 (en) | 1995-07-12 |
KR900013394A (ko) | 1990-09-05 |
JPH02211561A (ja) | 1990-08-22 |
EP0382529A3 (en) | 1992-01-22 |
KR930002324B1 (ko) | 1993-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4703718B2 (ja) | 選択的サブルーチンリターン構造 | |
JPH0450621B2 (ja) | ||
US6038631A (en) | Data processing system and method using virtual storage system | |
JPH07219809A (ja) | データ処理装置およびデータ処理方法 | |
JPS645330B2 (ja) | ||
JPS6250934A (ja) | 処理装置の割込制御方式 | |
JPH0810437B2 (ja) | 仮想計算機システムのゲスト実行制御方式 | |
JPH1196002A (ja) | データ処理装置 | |
JP2562838B2 (ja) | プロセッサ及びストアバッファ制御方法 | |
US5673391A (en) | Hardware retry trap for millicoded processor | |
JP2009230479A (ja) | マイクロプロセッサ | |
JP2671160B2 (ja) | 例外処理方式 | |
JP2000029690A (ja) | デ―タ処理の方法および装置 | |
JPS59172044A (ja) | 命令制御方式 | |
JP3490191B2 (ja) | 計算機 | |
JPH0133856B2 (ja) | ||
JP2574918B2 (ja) | 割り込み復帰処理方式 | |
JP2870405B2 (ja) | 情報処理装置 | |
JPH0258648B2 (ja) | ||
WO1990005951A1 (en) | Method of handling unintended software interrupt exceptions | |
JPH03103924A (ja) | データ処理装置 | |
JPS6020769B2 (ja) | マイクロプログラム制御方式 | |
JPH01175052A (ja) | マイクロアドレスレジスタ機構 | |
JPS5862884A (ja) | デ−タ処理システム | |
JPS6149695B2 (ja) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |