JPH0833825B2 - マイクロプロセッサ - Google Patents

マイクロプロセッサ

Info

Publication number
JPH0833825B2
JPH0833825B2 JP2060490A JP2060490A JPH0833825B2 JP H0833825 B2 JPH0833825 B2 JP H0833825B2 JP 2060490 A JP2060490 A JP 2060490A JP 2060490 A JP2060490 A JP 2060490A JP H0833825 B2 JPH0833825 B2 JP H0833825B2
Authority
JP
Japan
Prior art keywords
register
data
status register
exception
contents
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
JP2060490A
Other languages
English (en)
Other versions
JPH03225529A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2060490A priority Critical patent/JPH0833825B2/ja
Publication of JPH03225529A publication Critical patent/JPH03225529A/ja
Publication of JPH0833825B2 publication Critical patent/JPH0833825B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】 【概要】
プログラム状況語(PSW)の制御を改良したマイクロ
プロセッサに関し、 割込み処理やステータスレジスタを書換える命令をよ
り高速に実行することを目的とし、 現在のプログラム状況語を保持するステータスレジス
タと、該ステータスレジスタの入力側に接続され、書き
換えようとする新プログラム状況語が供給されてこれを
保持するレジスタと、該レジスタの内容がデータ異常で
あるかどうかを判別するデータ異常検出回路と、該デー
タ異常その他の例外が検出された場合には、実行中の処
理を取り消させて例外処理ルーチンへ分岐させる例外制
御手段とを有し、該ステータスレジスタの内容を書き換
える必要があり、かつ、例外が発生せずに処理が正常終
了する場合のみ、該レジスタの内容を該ステータスレジ
スタへ書込むように構成する。
【産業上の利用分野】
本発明は、プログラム状況語(PSW)の制御を改良し
たマイクロプロセッサに関する。
【従来の技術】
第5図はマイクロプロセッサ10の割込み処理関係のハ
ードウエア構成を示す。 マイクロプロセッサ10に内蔵されたメモリ管理ユニッ
ト16、主記憶装置12及び周辺入出力装置14の間は、デー
タバス18で接続されている。このメモリ管理ユニット16
は、キャッシュメモリ、論理アドレスを実アドレスに変
換する機構、並びに、バスエラー、ページ不在及びアド
レス変換エラーを検出する回路を備えている。 マイクロプロセッサ10は、構成要素16、20〜48を備え
ており、以下のような処理を行う。 すなわち、プログラムカウンタ20により指定されたア
ドレスの命令語が、主記憶装置12からメモリ管理ユニッ
ト16を介し又はメモリ管理ユニット16内のキャッシュメ
モリを介し、さらにバスバッファゲート21を介して命令
デコーダ22へ供給されると、この命令語を実行するため
のマイクロプログラムの先頭アドレスがセレクタ24を介
しマイクロプログラムROM&制御回路26へ供給され、マ
イクロプログラムROM&制御回路26から各種制御信号が
出力されてこの命令語が実行される。 一方、I/O割込み要求が周辺入出力装置14から割込み
・例外制御回路30へ供給され、上記バスエラー、ページ
不在又はアドレス変換エラーなどの例外の検出信号がメ
モリ管理ユニット16から割込み・例外制御回路30へ供給
される。また、データ異常検出回路32によりステータス
レジスタ34の内容がデータ異常であるかどうかが判別さ
れ、データ異常が検出されると、PSW書込み指令が発せ
られているときにアンドゲート36を介して割込み・例外
制御回路30へ例外処理要求が供給される。割込み・例外
制御回路30はこれらの要求に応じ、セレクタ24を介しマ
イクロプログラムROM&制御回路26へ、該当する処理の
先頭アドレスを供給して、この要求を実行させる。 ステータスレジスタ34の書換えは、割込み処理ルーチ
ンや制御レジスタの転送命令(LDC命令)、リング間遷
移命令(JRNG命令)の実行に際に行われる。例えば、割
込みが発生してから割込み処理ルーチンへ分岐するまで
の間においては、マイクロプログラムROM&制御回路26
に格納されたマイクロプログラムに基づき、第6図に示
すような動作が行われる。なお、マイクロプロセッサ10
の語長は32ビットであるとする。 (60)ステータスレジスタ34の上位16ビット(PSWH)
及び下位16ビット(PSWL)がそれぞれバスバッファゲー
ト46H、46Lを介してレジスタファイル44のデータテンポ
ラリレジスタ44aに書込まれる。 (62)この書込み直後、主記憶装置12に格納されてい
る新PSW(新プログラム状況語)がメモリ管理ユニット1
6、バスバッファゲート48を介しステータスレジスタ34
に書込まれる。ステータスレジスタ34のPSWHの内容に応
じて、スタックポインタ群38を構成するスタックポイン
タSPA、SP0〜SP3のいずれかがセレクタ40で選択される
ことにより、スタックポインタが切り換えられる。この
切り換えと並行して、ステータスレジスタ34の内容がデ
ータ異常検出回路32へ供給され、この内容がデータ異常
であるかどうかが判別される。 (64)データ異常が検出されなければ、 (66)ステップ62で切り換えられたスタックポインタ
を用い、データテンポラリレジスタ44a及びプログラム
カウンタ20の内容をメモリ管理ユニット16を介し主記憶
装置12へプッシュダウンする。 次に、割込み処理ルーチンへ分岐する。 ステップ64でデータ異常が検出された場合には、正常
な割込み処理を行うことができないので、 (68)データテンポラリレジスタ44aの内容をステー
タスレジスタ34へ戻して、ステータスレジスタ34の内容
を割込み前の状態に修復する。 次に、アンドゲート36から割込み・例外制御回路30へ
供給される例外処理要求に基づき、異常処理ルーチンへ
分岐する。この異常処理は、例えば、PSWデータ異常の
メッセージを出力して、プログラムの実行を停止させる
処理である。 また、リング間遷移命令(JRNG命令)では、ステータ
スレジスタ34のRNG(リングレベル)を新RNGに書換えた
後、テンポラリレジスタ44aに退避した旧ステータスレ
ジスタの内容やプログラムカウンタ(PC)の内容を主記
憶装置12に転送する処理を行うが、その際にメモリ管理
ユニット16で例外を検出した場合にも、ステータスレジ
スタ34の内容をJRNG命令実行前の状態に修復する必要が
ある。 なお、図中、31はアドレス計算部、33は演算部、35〜
41はバスバッファゲートである。
【発明が解決しようとする課題】
上記の如く、ステータスレジスタ34の内容を書換える
場合において、ステータスレジスタ34の内容をデータテ
ンポラリレジスタ44aへ一旦保持した後、データ異常等
の例外が検出されると、この保持内容を再度ステータス
レジスタ34に戻すという修復処理を行わなければならな
い為、割込みが発生してから異常処理を行うまでの間の
処理時間が長くなる。 本発明の目的は、このような問題点に鑑み、割込み処
理をより高速に行うことが可能なマイクロプロセッサを
提供することにある。
【課題を解決するための手段】
第1図は、本発明に係るマイクロプロセッサの原理構
成を示す。このマイクロプロセッサは、例えば内蔵ROM1
に格納されたマイクロプログラムに基づいて動作する 図中、2はデータレジスタであり、現在のプログラム
状況語(PSW)を保持する。 3はレジスタであり、ステータスレジスタ2の入力側
に接続され、書き換えようとする新PSWが供給されてこ
れを保持する。 4はデータ異常検出回路であり、レジスタ3の内容が
データ異常であるかどうかを判別する。 5は例外制御手段であり、該データ異常その他の例外
が検出された場合には、実行中の処理を取り消して例外
処理ルーチンへ分岐させる。 このようなマイクロプロセッサは、割込み又は特定命
令の実行によりステータスレジスタ2の内容を書換える
必要があり、かつ、例外が発生せずに処理が正常終了す
る場合のみ、レジスタ3の内容(新PSW)をステータス
レジスタ2へ書込む。
【作用】
データバッファレジスタ3に新PSWが書込まれた段階
でその内容がデータ異常であるかどうかが判別され、デ
ータ異常その他の例外が検出された場合には、ステータ
スレジスタ2の内容が書換えられないので、従来のよう
な修復処理を行なう必要がない。 したがって、割込み処理やステータスレジスタを書換
える命令をより高速に実行することができる。
【実施例】
以下、図面に基づいて本発明の一実施例を説明する。 第2図はマイクロプロセッサ10の割込み処理関係のハ
ードウエア構成を示す。第5図と同一構成要素には同一
符号を付してその説明を省略する。 本実施例のハードウエア構成の第1の特徴は、バスバ
ッファゲート48とステータスレジスタ34との間にデータ
バッファレジスタ50を接続し、かつ、データバッファレ
ジスタ50の内容をデータ異常検出回路32へ供給してその
データ異常を検出している点である。この構成により、
書き換えようとする新PSW(新プログラム状況語)がデ
ータバッファレジスタ50へ書込まれた段階で、その内容
がデータ異常であるかどうかが検出される。このデータ
バッファレジスタ50は、ステータスレジスタ34と同一構
成であり、ステータスレジスタ34のPSWHに対応した上位
16ビットのDBHとステータスレジスタ34のPSWLに対応し
た下位16ビットのDBLとからなる。 データ異常検出回路32からのデータ異常検出信号(高
レベル)及びデータバッファレジスタ50への書込み指令
(高レベル)は、アンドゲート36へ供給される。したが
って、この書込指令が行われている間にデータ異常検出
回路32からデータ異常検出信号が出力されると、これが
アンドゲート36を通って割込み・例外制御回路30へ例外
処理要求が供給される。 ここで、ステータスレジスタ34のビット割付けの概略
は、第4図に示す如くなっている。 すなわち、PSWHは、1ビットのスタックモードSM、2
ビットのリングレベルRNG、アドレス変換モードAT及び
割込みマスクを備えており、PSWLは、条件フラグを備え
ている。PSWHは、リングレベル0において、OSのみが書
換え可能となっているのに対し、PSWLは、ユーザプログ
ラムにより書換え可能となっている。PSWLは、例えば、
条件フラグを初期設定する場合に書換えられる。 ステータスレジスタ34のデータ異常とは、例えば、ス
タックモードSMが0のときはリングレベルRNGが0でな
いといけないのにリングレベルRNGを1〜3のいずれか
に設定したり、未使用領域の全ビットが全て0になって
ない場合等である。この未使用領域は、将来、ハードウ
エアの機能追加により使用される。未使用領域の何れか
のビットを1にしておくと、該機能追加前のプログラム
を該機能追加後に走らせた場合には異常動作するので、
これを回避するため、未使用部分が全て0でなければデ
ータ異常と判定する。 本実施例のハードウエア構成の第2の特徴は、ステー
タスレジスタ34のPSWHのスタックモードSM及びリングレ
ベルRNGをセレクタ52へ供給し、これに対応したデータ
バッファレジスタ50のDBHのデータもセレクタ52へ供給
し、割り込み・例外処理を示す信号及びJRNG命令を示す
信号が供給されるオアゲート42の出力が高レベルのとき
に、DBHのスタックモードSM及びリングレベルRNGを選択
してこれらをセレクタ40へ供給し、オアゲート42の出力
が低レベルのときに、PSWHのスタックモードSM及びリン
グレベルRNGを選択してこれらをセレクタ40へ供給して
いる点である。 セレクタ40は、スタックポインタSPA、SP0〜SP3から
なるスタックポインタ群38のうち、リングレベルRNGが
0の場合には、スタックモードSMが0のときスタックポ
インタSPA(割込み用)を選択し、スタックモードSMが
1のときスタックポインタSP0(割込み以外用)を選択
し、リングレベルRNGがi(i=1〜3)の場合には、
スタックポインタSPiを選択して、アドレス計算部に転
送する。 次に、割込みが発生してから割込み処理ルーチンへ分
岐するまでの間の動作を説明する。この動作は、マイク
ロプログラムROM&制御回路26に格納されたマイクロプ
ログラムに基づき、第3図に示す如く行われる。 (70)ステータスレジスタ34の上位16ビット(PSWH)
及び下位16ビット(PSWL)がそれぞれバスバッファゲー
ト46H、46Lを介してレジスタファイル44のデータテンポ
ラリレジスタ44aに書込まれる。これと並行して、DB書
込み指令に応じ、主記憶装置12に格納されている新PSW
がメモリ管理ユニット16、バスバッファゲート48を介し
データバッファレジスタ50に書込まれる。この書込み直
後、データバッファレジスタ50のDBHのスタックモードS
M及びリングレベルRNGに応じて、スタックポインタ群38
のスタックポインタSPA、SP0〜SP3のいずれかがセレク
タ40で選択されることにより、スタックポインタが切り
換えられる。また、この切り換えと並行して、データバ
ッファレジスタ50の内容がデータ異常検出回路32へ供給
されて、この内容がデータ異常であるかどうかが判別さ
れる。 (72)データ異常が検出されなければ、 (74)アンドゲート54を介しステータスレジスタ34の
書込み制御端子に供給されるPSW書込み指令に応じて、
データバッファレジスタ50の内容がステータスレジスタ
34に書込まれる。また、これと並行して、ステップ70で
切り換えられたスタックポインタを用い、データテンポ
ラリレジスタ44a及びプログラムカウンタ20の内容がメ
モリ管理ユニット16を介し主記憶装置12へプッシュダウ
ンされる。 次に、割込み処理ルーチンへ分岐する。 ステップ72でデータ異常が検出された場合には、正常
な割込み処理を行うことができないので、アンドゲート
36から割込み・例外制御回路30へ供給される例外処理要
求に基づき、異常処理ルーチンへ分岐する。この際、ア
ンドゲート54が閉じているので、ステータスレジスタ34
の内容は書き換えられない。 したがって、従来のような修復処理を何ら行なう必要
が無い。
【発明の効果】
以上説明した如く、本発明に係るマイクロプロセッサ
によれば、新たに設けたレジスタに新PSWが書込まれた
段階でその内容がデータ異常であるかどうかが判別さ
れ、データ異常その他の例外が検出された場合には、ス
テータスレジスタの内容が書換えられないので、従来の
ような修復処理を行なう必要がなく、したがって、割込
み処理やステータスレジスタを書換える命令をより高速
に実行することができるという優れた効果を奏する。
【図面の簡単な説明】
第1図は本発明に係るマイクロプロセッサの原理構成を
示すブロック図である。 第2図乃至第4図は本発明の一実施例に係り、 第2図はマイクロプロセッサの割込み処理関係のハード
ウエア構成を示すブロック図、 第3図は割込み処理ルーチンへ遷移する際のマイクロプ
ログラムによる処理手順を示すフローチャート、 第4図はステータスレジスタのビット割付け概略図であ
る。 第5図及び第6図は従来例に係り、 第5図は第2図に対応した割込み処理関係のハードウエ
ア構成を示すブロック図、 第6図は第3図に対応したマイクロプログラムの処理手
順を示すフローチャートである。 図中、 10はマイクロプロセッサ 26はマイクロプログラムROM&制御回路 30は割込み・例外制御回路 32はデータ異常検出回路 34はステータスレジスタ 38はスタックポインタ群 44aはデータテンポラリレジスタ 50はデータバッファレジスタ

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】現在のプログラム状況語を保持するステー
    タスレジスタ(2)と、 該ステータスレジスタの入力側に接続され、書き換えよ
    うとする新プログラム状況語が供給されてこれを保持す
    るレジスタ(3)と、 該レジスタ(3)の内容がデータ異常であるかどうかを
    判別するデータ異常検出回路(4)と、 該データ異常その他の例外が検出された場合には、実行
    中の処理を取り消させて例外処理ルーチンへ分岐させる
    例外制御手段(5)とを有し、 該ステータスレジスタ(2)の内容を書き換える必要が
    あり、かつ、例外が発生せずに処理が正常終了する場合
    のみ、該レジスタ(3)の内容を該ステータスレジスタ
    (2)へ書込むことを特徴とするマイクロプロセッサ。
JP2060490A 1990-01-31 1990-01-31 マイクロプロセッサ Expired - Lifetime JPH0833825B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2060490A JPH0833825B2 (ja) 1990-01-31 1990-01-31 マイクロプロセッサ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2060490A JPH0833825B2 (ja) 1990-01-31 1990-01-31 マイクロプロセッサ

Publications (2)

Publication Number Publication Date
JPH03225529A JPH03225529A (ja) 1991-10-04
JPH0833825B2 true JPH0833825B2 (ja) 1996-03-29

Family

ID=12031874

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2060490A Expired - Lifetime JPH0833825B2 (ja) 1990-01-31 1990-01-31 マイクロプロセッサ

Country Status (1)

Country Link
JP (1) JPH0833825B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5565187B2 (ja) 2010-08-10 2014-08-06 富士通株式会社 情報処理装置および割込み制御プログラム

Also Published As

Publication number Publication date
JPH03225529A (ja) 1991-10-04

Similar Documents

Publication Publication Date Title
US4562538A (en) Microprocessor having decision pointer to process restore position
JPH09330236A (ja) マイクロプロセッサ及びその周辺装置
US6363474B1 (en) Process switching register replication in a data processing system
JPH0833825B2 (ja) マイクロプロセッサ
US5557772A (en) Data processing apparatus including a register storing a parameter and a microinstruction execution arrangement including a correction arrangement for causing a first value of the parameter to be change to a second, correct value
JP2671160B2 (ja) 例外処理方式
JP2562838B2 (ja) プロセッサ及びストアバッファ制御方法
JP2574918B2 (ja) 割り込み復帰処理方式
US6289439B1 (en) Method, device and microprocessor for performing an XOR clear without executing an XOR instruction
JPS58213349A (ja) 情報処理装置
JPH0554141B2 (ja)
JPH0150936B2 (ja)
JPH05250161A (ja) マイクロコンピュータ装置
JPS60193046A (ja) 命令例外検出方式
JPS63155330A (ja) マイクロプログラム制御装置
JPH0535499A (ja) データ処理装置及びデータ処理方法
JPS6149695B2 (ja)
JP2001273167A (ja) ハードウエアブレーク回路
JPH0282318A (ja) 浮動小数点演算装置
JPS6258340A (ja) レジスタ更新機構
JPH0997185A (ja) 情報処理装置およびその方法
JPS5960551A (ja) メモリアクセス制御装置
JPS60258652A (ja) 再実行方式
JPH01188943A (ja) 記号処理向きデータ処理方式
JPS6212545B2 (ja)