JPS63103330A - アドレススタツク使用ミス検出方式 - Google Patents
アドレススタツク使用ミス検出方式Info
- Publication number
- JPS63103330A JPS63103330A JP61248823A JP24882386A JPS63103330A JP S63103330 A JPS63103330 A JP S63103330A JP 61248823 A JP61248823 A JP 61248823A JP 24882386 A JP24882386 A JP 24882386A JP S63103330 A JPS63103330 A JP S63103330A
- Authority
- JP
- Japan
- Prior art keywords
- address
- flag
- stack
- instruction
- information
- 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
Links
- 238000001514 detection method Methods 0.000 claims description 9
- 230000010365 information processing Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 230000009191 jumping Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 1
- 238000000034 method Methods 0.000 description 1
Landscapes
- Executing Machine-Instructions (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔概要〕
アドレススタックを備えた情報処理装置では、プログラ
ムミス等により、サブルーチンから復帰するような場合
、アドレススタックに格納されているデータ情報を読取
って、これを復帰すべきアドレスとしてジャンプすると
、情報処理装置が暴走するため、アドレス情報かデータ
情報かを示すフラグを用い、命令レジスタの送出する命
令の種類により、フラグをセットすることで、復帰命令
時にデータ情報を読出したらエラーとするようにした。
ムミス等により、サブルーチンから復帰するような場合
、アドレススタックに格納されているデータ情報を読取
って、これを復帰すべきアドレスとしてジャンプすると
、情報処理装置が暴走するため、アドレス情報かデータ
情報かを示すフラグを用い、命令レジスタの送出する命
令の種類により、フラグをセットすることで、復帰命令
時にデータ情報を読出したらエラーとするようにした。
本発明はアドレススタックを備えた情報処理装置に係り
、特にこのアドレススタックを、サブルーチンからの復
帰のためのアドレス情報を後入れ先出しする場合と、単
にデータ情報を記憶する場合に利用する際、ソフトウェ
ア技術者の使用ミスによる暴走を阻止するアドレススタ
ック使用ミス検出方式に関する。
、特にこのアドレススタックを、サブルーチンからの復
帰のためのアドレス情報を後入れ先出しする場合と、単
にデータ情報を記憶する場合に利用する際、ソフトウェ
ア技術者の使用ミスによる暴走を阻止するアドレススタ
ック使用ミス検出方式に関する。
アドレススタックを備えた情報処理装置においては、ア
ドレススタックの利用の仕方に二つの種類があり、一つ
はサブルーチンからの復帰のためのアドレス情報をスタ
ック(後入れ先出し)する場合と、もう一つは単にデー
タ情報を記憶させる場合である。
ドレススタックの利用の仕方に二つの種類があり、一つ
はサブルーチンからの復帰のためのアドレス情報をスタ
ック(後入れ先出し)する場合と、もう一つは単にデー
タ情報を記憶させる場合である。
このようにアドレススタックを利用する場合、プログラ
ムのミス等により、データ情報をサブルーチンからの復
帰アドレス情報とみなしてジャンプし、暴走することの
ないようにすることが必要である。
ムのミス等により、データ情報をサブルーチンからの復
帰アドレス情報とみなしてジャンプし、暴走することの
ないようにすることが必要である。
第2図は従来のアドレススタックの一例を示すブロック
図である。
図である。
サブルーチンにジャンプする場合、アドレススタックポ
インタ2の値に+1したアドレスを、アドレススタック
5に送出し、このアドレスでプログラムカウンタ1の内
容、即ちアドレス情報をマルチプレクサ4を経てアドレ
ススタック5に送出して書込む。その後、サブルーチン
のアドレスをプログラムカウンタ1に書込むことによっ
てサブルーチンにジャンプする。
インタ2の値に+1したアドレスを、アドレススタック
5に送出し、このアドレスでプログラムカウンタ1の内
容、即ちアドレス情報をマルチプレクサ4を経てアドレ
ススタック5に送出して書込む。その後、サブルーチン
のアドレスをプログラムカウンタ1に書込むことによっ
てサブルーチンにジャンプする。
サブルーチンから復帰する場合、復帰命令によりアドレ
ススタックポインタ2が示すアドレスが指示するアドレ
ススタック5の内容、即ちアドレス情報を続出し、プロ
グラムカウンタ1に書込む。
ススタックポインタ2が示すアドレスが指示するアドレ
ススタック5の内容、即ちアドレス情報を続出し、プロ
グラムカウンタ1に書込む。
そしてサブルーチンからの復帰を行った後に、アドレス
スタックポインタ2の値は−1される。
スタックポインタ2の値は−1される。
又、ワークレジスタ3に格納されたアドレス情報を、ス
タックポインタ間接アドレッシング命令により、アドレ
ススタックポインタ2の値に+1したアドレスで、アド
レススタック5に書込み、しかる後に復帰命令に基づき
令書込んだアドレス情報を、アドレススタック5から読
出し、プログラムカウンタ1にセットすることで、レジ
スタ間接アドレス分岐を行うこともある。
タックポインタ間接アドレッシング命令により、アドレ
ススタックポインタ2の値に+1したアドレスで、アド
レススタック5に書込み、しかる後に復帰命令に基づき
令書込んだアドレス情報を、アドレススタック5から読
出し、プログラムカウンタ1にセットすることで、レジ
スタ間接アドレス分岐を行うこともある。
アドレススタック5にデータ情報を書込む場合は、スタ
ックポインタ間接アドレッシング命令で、データ情報を
書込んだワークレジスタ3の内容を、マルチプレクサ4
を経て、アドレススタックポインタ2が指示するアドレ
スで、アドレススタック5に書込む。
ックポインタ間接アドレッシング命令で、データ情報を
書込んだワークレジスタ3の内容を、マルチプレクサ4
を経て、アドレススタックポインタ2が指示するアドレ
スで、アドレススタック5に書込む。
上記の如く、従来はアドレススタック5にデータ情報が
書込まれているため、ソフトウェア技術者のプログラム
ミス等により、サブルーチンから復帰する際、アドレス
スタック5に書込まれているデータ情報を、誤って復帰
アドレス情報として読出した場合、ジャンプ先のアドレ
スが相違するため情報処理装置が暴走するという問題が
ある。
書込まれているため、ソフトウェア技術者のプログラム
ミス等により、サブルーチンから復帰する際、アドレス
スタック5に書込まれているデータ情報を、誤って復帰
アドレス情報として読出した場合、ジャンプ先のアドレ
スが相違するため情報処理装置が暴走するという問題が
ある。
第1図は本発明の一実施例を示す回路のブロック図であ
る。
る。
第1図は第2図にフラグ判別回路8と、エラー検出回路
9を追加し、アドレススタック5の各アドレス毎にフラ
グ6を付加して、データ情報又はアドレス情報を記憶さ
せるようにし、アドレススタック5にデータ情報を書込
む際は、データ情報セット命令を使用し、アドレス情報
を書込む際はアドレス情報セント命令を使用するもので
ある。
9を追加し、アドレススタック5の各アドレス毎にフラ
グ6を付加して、データ情報又はアドレス情報を記憶さ
せるようにし、アドレススタック5にデータ情報を書込
む際は、データ情報セット命令を使用し、アドレス情報
を書込む際はアドレス情報セント命令を使用するもので
ある。
フラグ判別回路8は命令レジスタ7が送出するアドレス
情報セット命令、又はデータ情報セット命令を判別し、
アドレス情報セット命令でプログラムカウンタ1の内容
をアドレススタック5に書込む際、フラグ6を“O”と
し、データ情報セット命令でワークレジスタ3の内容を
アドレススタック5に書込む際はフラグ6を“1”とす
る。
情報セット命令、又はデータ情報セット命令を判別し、
アドレス情報セット命令でプログラムカウンタ1の内容
をアドレススタック5に書込む際、フラグ6を“O”と
し、データ情報セット命令でワークレジスタ3の内容を
アドレススタック5に書込む際はフラグ6を“1”とす
る。
サブルーチンから復帰する際は、フラグ判別回路8が復
帰命令であることを判定し、エラー検出回路9を起動し
て、アドレススタック5から続出されたフラグ6が“0
”ならば正常と判定し、“1”ならば異常と判定する構
成とする。
帰命令であることを判定し、エラー検出回路9を起動し
て、アドレススタック5から続出されたフラグ6が“0
”ならば正常と判定し、“1”ならば異常と判定する構
成とする。
上記構成とすることにより、フラグ判定回路8が命令レ
ジスタ7の送出する命令の内容に応じて、アドレス情報
セント命令ならば、アドレススタック5にフラグ6を“
0”として記録し、復帰命令ならばエラー検出回路9を
起動して読出されたフラグ6が“1#の時、異常を検出
するため、プログラム作成時におけるアドレススタック
5の使用ミスによる情報処理装置の暴走を阻止すること
が出来る。
ジスタ7の送出する命令の内容に応じて、アドレス情報
セント命令ならば、アドレススタック5にフラグ6を“
0”として記録し、復帰命令ならばエラー検出回路9を
起動して読出されたフラグ6が“1#の時、異常を検出
するため、プログラム作成時におけるアドレススタック
5の使用ミスによる情報処理装置の暴走を阻止すること
が出来る。
第1図において、スタックポインタ間接アドレッシング
命令を、アドレススタック5にデータ情報を書込む場合
に、データ情報セット命令(スタックポインタ間接アド
レッシング命令■)とし、アドレス情報を書込む場合に
、アドレス情報セット命令(スタックポインタ間接アド
レッシング命令■)として、夫々異なる種類の命令とす
る。
命令を、アドレススタック5にデータ情報を書込む場合
に、データ情報セット命令(スタックポインタ間接アド
レッシング命令■)とし、アドレス情報を書込む場合に
、アドレス情報セット命令(スタックポインタ間接アド
レッシング命令■)として、夫々異なる種類の命令とす
る。
アドレススタック5にデータ情報を書込む場合、命令レ
ジスタ7からデータ情報セント命令をフラグ判別回路8
に送出する。フラグ判別回路8はデータ情報セント命令
であることを判別し、アドレススタックポインタ2が指
示するアドレスで、アドレススタック5にワークレジス
タ3がマルチプレクサ4を経て送出するデータ情報を書
込む際、フラグ6を1#とじて、該データ情報と共にア
ドレススタック5に設けたフラグビット領域に書込む。
ジスタ7からデータ情報セント命令をフラグ判別回路8
に送出する。フラグ判別回路8はデータ情報セント命令
であることを判別し、アドレススタックポインタ2が指
示するアドレスで、アドレススタック5にワークレジス
タ3がマルチプレクサ4を経て送出するデータ情報を書
込む際、フラグ6を1#とじて、該データ情報と共にア
ドレススタック5に設けたフラグビット領域に書込む。
アドレススタック5にアドレス情報を書込む場合、アド
レススタック5に書込むアドレス情報を格納しているワ
ークレジスタ3の内容を、命令レジスタ7が送出するア
ドレス情報セント命令によりマルチプレクサ4を経て送
出し、アドレススタックポインタ2が+1して送出する
アドレスでアドレススタック5に書込む。この時、フラ
グ判別回路8は命令レジスタ7が送出するアドレス情報
セット命令を判別し、フラグ6を“0”として、該アド
レス情報と共にアドレススタック5に設けたフラグビッ
ト領域に書込む。
レススタック5に書込むアドレス情報を格納しているワ
ークレジスタ3の内容を、命令レジスタ7が送出するア
ドレス情報セント命令によりマルチプレクサ4を経て送
出し、アドレススタックポインタ2が+1して送出する
アドレスでアドレススタック5に書込む。この時、フラ
グ判別回路8は命令レジスタ7が送出するアドレス情報
セット命令を判別し、フラグ6を“0”として、該アド
レス情報と共にアドレススタック5に設けたフラグビッ
ト領域に書込む。
サブルーチンにジャンプする場合、アドレススタック5
に対してはアドレス情報書込みとなるため、命令レジス
タ7はアドレス情報セット命令をフラグ判別回路8に送
出する。アドレススタックポインタ2は+1したアドレ
スを送出し、プログラムカウンタ1がマルチプレクサ4
を経て送出するアドレス情報をアドレススタック5に書
込む。
に対してはアドレス情報書込みとなるため、命令レジス
タ7はアドレス情報セット命令をフラグ判別回路8に送
出する。アドレススタックポインタ2は+1したアドレ
スを送出し、プログラムカウンタ1がマルチプレクサ4
を経て送出するアドレス情報をアドレススタック5に書
込む。
同時にフラグ判定回路8により前記同様に“0”のフラ
グ6がフラグビット領域に書込まれる。
グ6がフラグビット領域に書込まれる。
その後、第2図同様にプログラムカウンタ1にサブルー
チンのアドレスを書込むことによってジャンプを行う。
チンのアドレスを書込むことによってジャンプを行う。
サブルーチンから復帰する場合、復帰命令によりアドレ
ススタックポインタ2が送出するアドレスで、アドレス
スタック5からアドレス情報が読出されるが、フラグビ
ット領域からフラグも読出され、エラー検出回路9に送
出される。
ススタックポインタ2が送出するアドレスで、アドレス
スタック5からアドレス情報が読出されるが、フラグビ
ット領域からフラグも読出され、エラー検出回路9に送
出される。
フラグ判別回路8は命令レジスタ7が送出する復帰命令
を判別し、エラー検出回路9を起動する。
を判別し、エラー検出回路9を起動する。
エラー検出回路9はフラグ6がO″ならば正常と判定し
て、何の信号も送出しない。しかし、“1″ならば異常
と判定し、異常を通知する信号を送出する。
て、何の信号も送出しない。しかし、“1″ならば異常
と判定し、異常を通知する信号を送出する。
以上説明した如く、本発明はアドレススタックの使用ミ
スによる情報処理装置の暴走を阻止するため、プログラ
ムカウンタを容易とすることが出来る。
スによる情報処理装置の暴走を阻止するため、プログラ
ムカウンタを容易とすることが出来る。
第1図は本発明の一実施例を示す回路のブロック図、
第2図は従来のアドレススタックの一例を示すブロック
図である。 図において、 ■はプログラムカウンタ、 2はアドレススタックポインタ、 3はワークレジスタ、 4はマルチプレクサ、5はアド
レススタック、6はフラグ、 7は命令レジスタ、 8はフラグ判是回路、9はエ
ラー検出回路である。
図である。 図において、 ■はプログラムカウンタ、 2はアドレススタックポインタ、 3はワークレジスタ、 4はマルチプレクサ、5はアド
レススタック、6はフラグ、 7は命令レジスタ、 8はフラグ判是回路、9はエ
ラー検出回路である。
Claims (1)
- 【特許請求の範囲】 アドレススタックポインタ(2)の指示するアドレスで
、プログラムカウンタ(1)の内容を格納するアドレス
スタック(5)と、 該アドレスと同一アドレス割付けで該アドレススタック
(5)の内容がアドレス情報かデータ情報かを示すフラ
グ(6)を、命令レジスタ(7)の送出する命令の種類
に応じて、該アドレススタック(5)に書込むフラグ判
別回路(8)と、 該フラグ判別回路(8)の指示により起動し、該アドレ
ススタック(5)から読出されたフラグ(6)がデータ
情報を示す場合、エラー信号を送出するエラー検出回路
(9)とを備えて成り、 前記命令レジスタ(7)の送出する命令が元のサブルー
チンに復帰するための復帰命令であった場合、フラグ判
別回路(8)の指示により起動したエラー検出回路(9
)が、アドレススタック5から読出したフラグ(6)が
データ情報であることを示した時、エラー信号を送出す
ることを特徴とするアドレススタック使用ミス検出方式
。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP61248823A JPS63103330A (ja) | 1986-10-20 | 1986-10-20 | アドレススタツク使用ミス検出方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP61248823A JPS63103330A (ja) | 1986-10-20 | 1986-10-20 | アドレススタツク使用ミス検出方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS63103330A true JPS63103330A (ja) | 1988-05-09 |
Family
ID=17183947
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP61248823A Pending JPS63103330A (ja) | 1986-10-20 | 1986-10-20 | アドレススタツク使用ミス検出方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS63103330A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04284555A (ja) * | 1991-03-14 | 1992-10-09 | Fujitsu Ltd | 外部リング遷移を行う処理装置および方法 |
-
1986
- 1986-10-20 JP JP61248823A patent/JPS63103330A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04284555A (ja) * | 1991-03-14 | 1992-10-09 | Fujitsu Ltd | 外部リング遷移を行う処理装置および方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0468454B1 (en) | Interrupt controller | |
EP0098172B1 (en) | Register control processing system | |
JPS63103330A (ja) | アドレススタツク使用ミス検出方式 | |
JPH06342397A (ja) | 論理的アドレス空間を写像するための回路装置 | |
JPH09146789A (ja) | エミュレータ | |
JP3130798B2 (ja) | バス転送装置 | |
JPS6020779B2 (ja) | 複合形電子計算機システム | |
JPS603049A (ja) | バスインタ−フエ−ス装置 | |
JPS63120336A (ja) | メモリアクセスモ−ド切替え方式 | |
JPH06266630A (ja) | トレース機能付き入出力制御装置 | |
JPH04128961A (ja) | マルチプロセッサ制御方式 | |
JPS62166449A (ja) | 論理装置の履歴記憶装置 | |
JPH0480860A (ja) | プログラムロード方式 | |
JPS62108333A (ja) | 半導体装置 | |
JPS6168648A (ja) | ブランチトレ−スアドレス記憶方式 | |
JPH0154729B2 (ja) | ||
JPS6115237A (ja) | 未定義命令検出方式 | |
JPH0272443A (ja) | データ処理装置 | |
JPS59226955A (ja) | プログラム・デバツク装置 | |
JPH07200349A (ja) | アドレストレース方式 | |
JPH0520205A (ja) | メモリエラーアドレスの検出回路 | |
JPH0250740A (ja) | アドレストレーサ | |
JPS62154148A (ja) | トレ−サ制御方式 | |
JPH0668876B2 (ja) | 磁気デイスク制御装置 | |
JPS6072029A (ja) | 命令処理方式 |