JPH045729A - プロセッサ装置 - Google Patents

プロセッサ装置

Info

Publication number
JPH045729A
JPH045729A JP2107281A JP10728190A JPH045729A JP H045729 A JPH045729 A JP H045729A JP 2107281 A JP2107281 A JP 2107281A JP 10728190 A JP10728190 A JP 10728190A JP H045729 A JPH045729 A JP H045729A
Authority
JP
Japan
Prior art keywords
address
stack
program
stack pointer
memory
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
JP2107281A
Other languages
English (en)
Inventor
Takashi Fujinaga
隆史 藤永
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2107281A priority Critical patent/JPH045729A/ja
Publication of JPH045729A publication Critical patent/JPH045729A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明は、プロセッサ装置に関し、特にスタックポイ
ンタのアドレス格納領域のオーバーフローを検出するオ
ーバーフロー検出機能に関するものである。
〔従来の技術] 第2図は、従来のプロセッサ制御装置の構成図であり、
図において、(1)はプログラムデータ、割込み発生時
のリターンアドレス等の情報を記憶するメモリ、(2)
はメモリとプロセッサ制御装置のインターフェース制御
部、(3)は命令解析部、(4)は命令実行及び割込み
等制御部、(5)はプログラムカウンタ、(6)はスタ
ックポインタ、(ア)はメモリアドレス制御回路である
次に、動作について説明する。プログラムの命令は、プ
ログラムカウンタ(5)にて示されるアドレスにより、
バスインターフェース制m部(2)を通してメモリ(1
)より読み出される。読み出された命令は命令解析部(
3)により解読され命令実行部(4)にて演算処理等が
実行される。このとき、命令がサブルーチンコールの場
合、プログラムカウンタ(5)は新たに飛先のアドレス
にセットされるが、そのときの元プログラムアドレス、
プログラムスティタス等のサブルーチンからリターン時
再実行するための情報はスタックポインタで示すアドレ
スに書き込まれる。スタックポインタの保持するアドレ
スは書き込み毎に逐次加算され最新のスタックポインタ
を示す。命令実行制御部(5)にて処理する割込みにつ
いても動作は同様である。又、サブルーチン、或は割込
み処理ルーチンからもとプログラムに戻る際には、スタ
ックポインタから再実行のためのアドレス等の情報が読
み出される。スタックポインタの保持するアドレスは読
込み毎に減算され、同じく読み出された後の最新スタッ
クアドレスを示す。
(発明が解決しようとする課題) 従来のプロセッサ装置は、以上のように構成されている
ので、サブルーチンコール或は割込み発生毎にスタック
ポインタのアドレスが加算される。そのため、サブルー
チンのネスティングが増大した場合、或は割込みが多数
発生した場合、スタックとしてアサインされているメモ
リ領域を越えてしまい、他にアサインされている領域を
破壊してしまう。又はメモリが物理的に無い場合はメモ
リアクセスエラーとなるなどの問題があフた。
この発明は上記のような問題点を解消するためになされ
たもので、スタックポインタの不すアドレスかアサイン
された、スタック用メモリエリアをオーバーすることを
検圧できるプロセッサ装置を得ることを目的とする。
〔課題を解決するための手段] この発明に係るプロセッサ装置は、各命令が記憶された
メモリにアドレス信号を出力し、命令を読み比すプログ
ラムカウンタと、読み出された命令を実行する命令実行
部と、命令がリターンアドレスを要するサブルーチンコ
ールの場合リターンアドレスを格納するスタックポイン
タと、スタックポインタの格納領域がリターンアドレス
によって規定領域外にオーバーフローするか判定するア
ドレス比較回路と、オーバーフロー時判定時に、上記命
令実行部へオーバーフローを示す割込み信号を出力する
割込み発生回路とを設けたものである。
(作用) この発明によれば、アドレス比較回路にてスタックポイ
ンタかオーバーフローすることを検出したならば、割込
み発生回路を起動し、命令を実行中の命令実行部にオー
バーフローすることを伝達して命令実行を中断させる等
をしてプログラム暴走の進行を阻止する 〔実施例] 以下、この発明の一実施例を図について説明する。第1
図において(1)はメモリ装置、(2)ババスインター
フェース制御部、(3)は命令解析部、(4)は命令実
行制御部、(5)はプログラムカウンタ、(6)はスタ
ックポインタ、(ア)はアドレス制御部、(8)はスタ
ックポインタアドレスレジスタ、(9)はスタックポイ
ンタ(6)とスタックアドレスレジスタ(8)の内容比
較を行うアドレス比較回路、(10)はアドレス比較回
路(9)の比較結果より、オーバーフロー検出時に命令
実行制御部(4)に対し割込みを発生させる割込み発生
回路である。
次に上記構成に基づいて動作について説明する。
まず、プログラムの実行に際し、予めメモリ(1)にア
サインされたスタックエリアの最大アドレスが設定され
るが、その値はプログラムによりスタックアドレスレジ
スタ(8)に設定される。スタックポインタ(6)は従
来技術と同様に動作するが、その示すアドレスは常にス
タックアドレスレジスタ(8)の設定値と、アドレス比
較回路(9)によって比較される。アドレスが設定値を
越えた場合はアドレス比較回路(9)の比較結果をもと
に、割込み発生回路(10)から命令実行制御部(4)
に割込みが発生され、命令実行制御部(4)は、実行中
のプログラムを中断させる等の処置を行う。以上の動作
によりスタックポインタ(6)のオーバーフローが検知
され、プロセッサはプログラムの中断処理、又は別のメ
モリを新たにアサインする等の処理を行うことにより、
スタック以外のメモリエリアの破壊を防止することがで
きる。
なお、上記実施例では、スタックポインタ(6)にアサ
インされたメモリアドレスの最大値をスタックアドレス
レジスタ(8)で持つ構成としているか、そのアドレス
をROMで持つ、或は論理回路により固定して持つこと
も可能である。
又、複数のスタックポインタを用いる場合は、対応する
スタックアEレスレジスタを同数持つことにより同様の
効果を奏する。
〔発明の効果) 以上のように、この発明によれば、スタックポインタが
オーバーフローすることをハードウェアにて検知し命令
実行を中断させるように構成したのでオーバーフロー前
にプログラム暴走によるデータ破壊を阻止すべく方策が
命令実行部にて立てられるため、確実にデータ破壊が阻
止できる信頼性の高いシステムを構築することができる
【図面の簡単な説明】
第1図はこの発明の一実施例によるプロセッサ装置を示
す構成図、第2図は従来装置の構成図である。 図において、(1)はメモリ、(4)は命令実行制御部
、(5)はプログラムカウンタ、(6)はスタックポイ
ンタ、(9)はアドレス比較回路、(1o)は割込み発
生回路。 尚、図中同一符号は同−又は相当部分を示す。

Claims (1)

    【特許請求の範囲】
  1.  各命令が記憶されたメモリにアドレス信号を出力し、
    命令を読み出すプログラムカウンタと、読み出された命
    令を実行する命令実行部と、命令がリターンアドレスを
    要するサブルーチンコールの場合リターンアドレスを格
    納するスタックポインタと、スタックポインタの格納領
    域がリターンアドレスによって規定領域外にオーバーフ
    ローするか判定するアドレス比較回路と、オーバーフロ
    ー時判定時に、上記命令実行部へオーバーフローを示す
    割込み信号を出力する割込み発生回路とを設けたことを
    特徴とするプロセッサ装置。
JP2107281A 1990-04-23 1990-04-23 プロセッサ装置 Pending JPH045729A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2107281A JPH045729A (ja) 1990-04-23 1990-04-23 プロセッサ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2107281A JPH045729A (ja) 1990-04-23 1990-04-23 プロセッサ装置

Publications (1)

Publication Number Publication Date
JPH045729A true JPH045729A (ja) 1992-01-09

Family

ID=14455099

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2107281A Pending JPH045729A (ja) 1990-04-23 1990-04-23 プロセッサ装置

Country Status (1)

Country Link
JP (1) JPH045729A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007529818A (ja) * 2004-03-18 2007-10-25 コリア ユニバーシティー インダストリー アンド アカデミー コーオペレーション ファウンデーション バッファオーバーフロー攻撃を感知して復旧する方法及びその装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007529818A (ja) * 2004-03-18 2007-10-25 コリア ユニバーシティー インダストリー アンド アカデミー コーオペレーション ファウンデーション バッファオーバーフロー攻撃を感知して復旧する方法及びその装置

Similar Documents

Publication Publication Date Title
US5812868A (en) Method and apparatus for selecting a register file in a data processing system
JPH0114611B2 (ja)
JP3970609B2 (ja) プロセッサシステム
EP0290942B1 (en) Guest machine execution control system for virtual machine system
CA1212478A (en) Data processor with interrupt facility
US6026504A (en) Multiprocessor system and method for error tracking
JPH045729A (ja) プロセッサ装置
JPH01286029A (ja) マイクロプログラムのパッチ方式
JPH04266141A (ja) スタックオーバーフロー検出方式
JPH0668725B2 (ja) データ処理システムにおける割込条件に応答する装置及び非同期割込条件に応答する方法
JPH0496167A (ja) マルチプロセッサシステムの割込み方式
JP3145937B2 (ja) マイクロコンピュータの暴走検出方法
JPH04227548A (ja) 情報処理装置
JPH0484224A (ja) スタックエリア保護回路
JPH074669Y2 (ja) 割込要求処理回路
JPH02176946A (ja) プログラム暴走検出方法
JP2503210B2 (ja) マイクロプログラム制御装置
JPH059815B2 (ja)
JP2615921B2 (ja) オペレーティングシステムにおける入出力制御方法
JPH0438526A (ja) マイクロコンピュータ
JPS6243740A (ja) マイクロプロセツサ装置の暴走対策回路
JPH04364545A (ja) メモリダンプ方法
JPH0258648B2 (ja)
JPS638841A (ja) 割込み受取り装置
JPS62154166A (ja) マイクロコンピユ−タ