JPH09293020A - インターフェース回路 - Google Patents

インターフェース回路

Info

Publication number
JPH09293020A
JPH09293020A JP10594396A JP10594396A JPH09293020A JP H09293020 A JPH09293020 A JP H09293020A JP 10594396 A JP10594396 A JP 10594396A JP 10594396 A JP10594396 A JP 10594396A JP H09293020 A JPH09293020 A JP H09293020A
Authority
JP
Japan
Prior art keywords
address
microprocessor
boundary
stack area
stack
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.)
Withdrawn
Application number
JP10594396A
Other languages
English (en)
Inventor
Hiroyuki Kobayashi
浩之 小林
Yasushi Shimizu
泰志 清水
Michiya Sawada
三智也 沢田
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry 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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP10594396A priority Critical patent/JPH09293020A/ja
Publication of JPH09293020A publication Critical patent/JPH09293020A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

(57)【要約】 【課題】 スタック領域のオーバフローを迅速に検出す
ることができ、システム全体への障害の波及を最小限に
することができるインターフェース回路を提供する。 【解決手段】 I/F回路50は、アドレスデータをデ
コードしてメモリアクセス信号61としてメモリ装置3
に送出するとともに、比較回路53からのメモリアクセ
ス抑止信号64を受けるとメモリアクセス信号61の送
出を停止するデコーダ51と、スタック領域の境界を示
すアドレス値をスタック領域境界アドレス値63として
格納するアドレスレジスタ52と、マイクロプロセッサ
1がアドレスバス11に送出するアドレスを常時、スタ
ック領域境界アドレス値63と比較する比較回路53と
を備え、マイクロプロセッサ1がスタック領域の境界ア
ドレスを設定しておくとともに、設定した境界アドレス
をマイクロプロセッサ1のアクセスアドレスが超えたと
き、スタックのオーバフローと認識して、そのアクセス
をバスエラー終了させる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、マイクロプロセッ
サとメモリ装置のインタフェース回路に関し、特に、ス
タックオーバーフロー検出方法の信頼性向上を図ったイ
ンターフェース回路に関する。
【0002】
【従来の技術】図2は従来のマイクロプロセッサとメモ
リ装置のインタフェース回路(I/F回路)を示す図で
ある。
【0003】図2において、1はマイクロプロセッサ、
2はマイクロプロセッサ1とメモリ装置を接続するイン
タフェース回路(I/F回路)2、3はDRAM等のメ
モリ装置であり、マイクロプロセッサ1、I/F回路2
及びメモリ装置3は、アドレスバス11に接続され、ま
たマイクロプロセッサ1及びメモリ装置3は、データバ
ス12に接続される。マイクロプロセッサ1はアドレス
バス11及びデータバス12を介して外部プログラムメ
モリ装置3の該当する端子に接続される。
【0004】ところで、一般にマイクロプロセッサ1は
例外(通常のプログラムを実行している途中に、ある事
象の発生により、そのプログラムの実行を中断し、別の
プログラムを実行することが必要になる場合をいう。例
えば、バスエラー、割り込み、トラップがある。)が発
生すると、マイクロプロセッサ1の内部情報をメモリ装
置3に確保されたスタック領域に退避する。また、21
はI/F回路2が、アドレスデコードによってメモリ装
置3に送出するメモリアクセス信号、22はその結果を
通知するためにマイクロプロセッサ1に送出するデータ
転送終了信号である。
【0005】図3はメモリ装置3内に確保されたスタッ
ク領域を示す図である。図3において、31はリード/
ライト可能なメモリ、32はスタック領域、33はスタ
ックポインタである。すなわち、リード/ライト可能な
メモリ31にスタック領域32は確保される。33は次
のライト位置を示すスタックポインタである。
【0006】ここでは、図3の下から上方向に順番にス
タックするものとして説明する。
【0007】スタックに退避された情報は、元のプログ
ラムに戻った後には必要でなくなるので、スタック領域
32は上書きして使用される。具体的には、スタックポ
インタ33を図3の下方向に戻す。ところが、複数の例
外が同時に発生した場合には、それらに対する情報を同
時に退避しておかなければならないので、スタック領域
32の上方向に順番に連続して退避される。スタック領
域32のサイズは、このような複数の例外が同時に発生
した場合を想定して決定している。
【0008】もし、想定していた以上に複数の例外が同
時に発生すると、スタック領域32をオーバフローして
しまい、メモリ31内の隣接する領域に格納された他の
データを破壊する。これは、マイクロプロセッサ1は記
憶しているスタックポインタ33のみによりスタック動
作し、スタックサイズを意識しないためである。スタッ
クオーバフローによるデータ破壊は、発見されにくいた
め、その間にシステム全体に障害が波及する危険性があ
る。
【0009】スタックオーバフローを検出する方法とし
ては、プログラムによりスタック領域32の境界にあら
かじめ特定データパターンを設定しておき、随時リード
して書き変わっていることを検出するやり方がある。
【0010】続いて、マイクロプロセッサ・メモリI/
F回路2の動作を説明する。
【0011】マイクロプロセッサ1がスタックに情報を
ライトしようとして、アドレスバス11にスタックのア
ドレスを送出してアクセスすると、マイクロプロセッサ
・メモリΙ/F回路2はアドレスをデコードし、メモリ
装置3のアドレスであれば、メモリ装置3に対してメモ
リアクセス信号21を送出し、ライトを行う。また、マ
イクロプロセッサ・メモリI/F回路2はマイクロプロ
セッサ1にデータ転送終了信号22を送出し、スタック
へのライトが正常に終了したことを通知する。
【0012】
【発明が解決しようとする課題】しかしながら、このよ
うな従来のインターフェース回路にあっては、スタック
オーバフローを検出する方法として、プログラムにより
スタック領域32の境界にあらかじめ特定データパター
ンを設定しておき、随時リードして書き変わっているこ
とを検出していたため、プログラムによるスタックオー
バフロー検出では、即時性に欠けるという問題点があ
り、即時性を上げるためにスタック領域境界のデータパ
ターンチェックの頻度を上げると、装置の処理能力に大
きく影響するという問題点があった。
【0013】本発明は、スタック領域のオーバフローを
迅速に検出することができ、システム全体への障害の波
及を最小限にすることができるインターフェース回路を
提供することを目的とする。
【0014】
【課題を解決するための手段】本発明に係るインターフ
ェース回路は、マイクロプロセッサとメモリ装置のイン
タフェース回路において、スタック領域の境界アドレス
を記憶する境界アドレス記憶手段と、境界アドレスとマ
イクロプロセッサのアクセスアドレスを比較して境界を
超えたことを検出する比較手段とを備え、比較手段が、
境界アドレス記憶手段に記憶された境界アドレスとマイ
クロプロセッサのアクセスアドレスとを比較し、境界を
超えたときにスタックのオーバフロー検出とするように
構成する。
【0015】さらに、上記インタフェース回路が、マイ
クロプロセッサがスタック領域の境界アドレスを設定し
ておくとともに、該境界アドレスを該マイクロプロセッ
サのアクセスアドレスが超えたとき、スタックのオーバ
フローと認識して、そのアクセスをバスエラー終了させ
るように構成してもよい。
【0016】
【発明の実施の形態】本発明に係るインターフェース回
路は、マイクロコンピュータ等のインターフェース回路
に適用することができる。
【0017】図1は本発明の実施形態に係るインターフ
ェース回路の構成図である。図1に示すインターフェー
ス回路は、マイクロプロセッサとメモリ装置のインタフ
ェース回路に適用した例である。なお、この図1では図
2と同一又は対応する要素は同一の符号を付している。
【0018】図1はマイクロプロセッサとメモリ装置の
インタフェース回路(I/F回路)を示す図であり、図
1において、1はマイクロプロセッサ、2はマイクロプ
ロセッサ1とメモリ装置を接続するインタフェース回路
(I/F回路)50、3はDRAM等のメモリ装置であ
り、マイクロプロセッサ1、I/F回路50及びメモリ
装置3は、アドレスバス11及びデータバス12に接続
される。
【0019】上記マイクロプロセッサ1とメモリ装置3
を接続するインタフェース回路(I/F回路)50は、
デコーダ51、アドレスレジスタ52(境界アドレス記
憶手段)及び比較回路53(比較手段)から構成され
る。
【0020】上記デコーダ51は、アドレスデータをデ
コードしてメモリアクセス信号61としてメモリ装置3
に送出するとともに、比較回路53からのメモリアクセ
ス抑止信号64を受けるとメモリアクセス信号61の送
出を停止する。
【0021】上記アドレスレジスタ52は、スタック領
域の境界を示すアドレス値をスタック領域境界アドレス
値63として格納する。
【0022】上記比較回路53は、マイクロプロセッサ
1がアドレスバス11に送出するアドレスを常時、スタ
ック領域境界アドレス値63と比較する。
【0023】すなわち、マイクロプロセッサ1、デコー
ダ51、比較回路53及びメモリ装置3は、アドレスバ
ス11により接続され、マイクロプロセッサ1、アドレ
スレジスタ52及びメモリ装置3はデータバス12によ
り接続される。また、メモリ装置3にはデコーダ51か
らメモリアクセス信号61が出力され、デコーダ51か
らマイクロプロセッサ1にデータ転送終了信号62が出
力される。
【0024】また、アドレスレジスタ52から比較回路
53にはスタック領域境界アドレス値63が出力され、
デコーダ51には比較回路53からメモリアクセス抑止
信号64が出力され、さらにマイクロプロセッサ1には
比較回路53からバスエラー信号65が出力される。
【0025】なお、実際にはマイクロプロセッサ1のア
クセスにはストローブ信号等他に多くの信号が関係する
が、直接の関係がないため省略している。
【0026】以下、上述のように構成されたマイクロプ
ロセッサ1とメモリ装置3を接続するインタフェース回
路(I/F回路)50の動作を説明する。
【0027】まず、マイクロプロセッサ1は初期設定時
に、アドレスレジスタ52にスタック領域の境界を示す
アドレスをデータバス12を介して設定しておく。アド
レスレジスタ52は設定された値をスタック領域境界ア
ドレス値63として比較回路53に送出する。
【0028】比較回路53では、マイクロプロセッサ1
がアドレスバス11に送出するアドレスを常時、スタッ
ク領域境界アドレス値63と比較している。ここで、想
定していた以上に複数の例外が同時に発生すると、スタ
ック領域をオーバフローするため、マイクロプロセッサ
1のアドレスがスタック領域境界アドレス値63を超
え、比較回路53はデコーダ51へメモリアクセス抑止
信号64を送出する。
【0029】デコーダ51では、比較回路53からのメ
モリアクセス抑止信号64を受けてメモリアクセス信号
61がメモリ装置3に送出されるのを抑止するととも
に、比較回路53はマイクロプロセッサ1にバスエラー
信号65を送出してメモリアクセスが正常に終了しなか
ったことを通知する。
【0030】このように、I/F回路50は、マイクロ
プロセッサ1がアドレスバス11に送出するアドレスを
常時、スタック領域境界アドレス値63と比較すること
によってチェックし、想定していた以上に複数の例外が
同時に発生すると、比較回路53がデコーダ51へメモ
リアクセス抑止信号64を送出してメモリアクセス信号
61が送出されるのを抑止するとともに、マイクロプロ
セッサ1にバスエラー信号65を送出してメモリアクセ
スが正常に終了しなかったことを通知する。
【0031】以上説明したように、本実施形態に係るマ
イクロプロセッサ1とメモリ装置3を接続するインタフ
ェース回路(I/F回路)50は、アドレスデータをデ
コードしてメモリアクセス信号61としてメモリ装置3
に送出するとともに、比較回路53からのメモリアクセ
ス抑止信号64を受けるとメモリアクセス信号61の送
出を停止するデコーダ51と、スタック領域の境界を示
すアドレス値をスタック領域境界アドレス値63として
格納するアドレスレジスタ52と、マイクロプロセッサ
1がアドレスバス11アドレスに送出するアドレスを常
時、スタック領域境界アドレス値63と比較する比較回
路53とを備え、マイクロプロセッサ1がスタック領域
の境界アドレスを設定しておくとともに、設定した境界
アドレスをマイクロプロセッサ1のアクセスアドレスが
超えたとき、スタックのオーバフローと認識して、その
アクセスをバスエラー終了させるようにしているので、
スタック領域をオーバフローしたことを迅速に検出する
ことができ、その時点でマイクロプロセッサ1を停止す
る等を行うことにより、システム全体への障害の波及を
最小限にすることができる。また、本実施形態によるス
タックオーバフロー検出方法はプログラムによらないの
で、装置の処理能力を減少させずに、信頼性を向上する
ことができる。
【0032】なお、本実施形態では、インターフェース
回路をマイクロプロセッサとメモリ装置のインタフェー
ス回路に適用しているが、マイクロプロセッサがスタッ
ク動作を行う装置であればすべて適用可能であり、マイ
クロコンピュータ等に組み込まれる回路の一部であって
もよい。
【0033】また、上記インターフェース回路を構成す
るデコーダやレジスタ、比較回路の数、種類接続状態な
どは前述した上述の実施形態に限られないことは言うま
でもない。
【0034】
【発明の効果】本発明に係るインターフェース回路で
は、スタック領域の境界アドレスを記憶する境界アドレ
ス記憶手段と、境界アドレスとマイクロプロセッサのア
クセスアドレスを比較して境界を超えたことを検出する
比較手段とを備え、比較手段が、境界アドレス記憶手段
に記憶された境界アドレスとマイクロプロセッサのアク
セスアドレスとを比較し、境界を超えたときにスタック
のオーバフロー検出とするように構成しているので、ス
タック領域のオーバフローを迅速に検出することがで
き、システム全体への障害の波及を最小限にすることが
できる。
【図面の簡単な説明】
【図1】本発明を適用した実施形態に係るインターフェ
ース回路の構成を示すブロック図である。
【図2】従来のインターフェース回路の構成を示すブロ
ック図である。
【図3】従来のインターフェース回路のスタック領域を
説明するための図である。
【符号の説明】
1 マイクロプロセッサ、3 メモリ装置、11 アド
レスバス、12 データバス、50 インタフェース回
路(I/F回路)、51 デコーダ、52 アドレスレ
ジスタ(境界アドレス記憶手段)、53 比較回路(比
較手段)、61メモリアクセス信号、62 データ転送
終了信号、63 スタック領域境界アドレス値、64
メモリアクセス抑止信号、65 バスエラー信号

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 マイクロプロセッサとメモリ装置のイン
    タフェース回路において、 スタック領域の境界アドレスを記憶する境界アドレス記
    憶手段と、 前記境界アドレスと前記マイクロプロセッサのアクセス
    アドレスを比較して境界を超えたことを検出する比較手
    段とを備え、 前記比較手段が、前記境界アドレス記憶手段に記憶され
    た境界アドレスと前記マイクロプロセッサのアクセスア
    ドレスとを比較し、境界を超えたときにスタックのオー
    バフロー検出としたことを特徴とするインターフェース
    回路。
  2. 【請求項2】 さらに、上記請求項1記載のインタフェ
    ース回路において、 前記マイクロプロセッサがスタック領域の境界アドレス
    を設定しておくとともに、該境界アドレスを該マイクロ
    プロセッサのアクセスアドレスが超えたとき、スタック
    のオーバフローと認識して、そのアクセスをバスエラー
    終了させるようにしたことを特徴とするインターフェー
    ス回路。
JP10594396A 1996-04-26 1996-04-26 インターフェース回路 Withdrawn JPH09293020A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10594396A JPH09293020A (ja) 1996-04-26 1996-04-26 インターフェース回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10594396A JPH09293020A (ja) 1996-04-26 1996-04-26 インターフェース回路

Publications (1)

Publication Number Publication Date
JPH09293020A true JPH09293020A (ja) 1997-11-11

Family

ID=14420939

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10594396A Withdrawn JPH09293020A (ja) 1996-04-26 1996-04-26 インターフェース回路

Country Status (1)

Country Link
JP (1) JPH09293020A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6647475B2 (en) * 2000-08-25 2003-11-11 Fujitsu Limited Processor capable of enabling/disabling memory access
JP2009157542A (ja) * 2007-12-26 2009-07-16 Nec Electronics Corp 情報処理装置及びそのスタックポインタ更新方法
JP2013148999A (ja) * 2012-01-18 2013-08-01 Okuma Corp 制御装置
CN103745153A (zh) * 2013-12-30 2014-04-23 北京控制工程研究所 一种航天器软件空间使用安全性检查方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6647475B2 (en) * 2000-08-25 2003-11-11 Fujitsu Limited Processor capable of enabling/disabling memory access
JP2009157542A (ja) * 2007-12-26 2009-07-16 Nec Electronics Corp 情報処理装置及びそのスタックポインタ更新方法
JP2013148999A (ja) * 2012-01-18 2013-08-01 Okuma Corp 制御装置
CN103745153A (zh) * 2013-12-30 2014-04-23 北京控制工程研究所 一种航天器软件空间使用安全性检查方法
CN103745153B (zh) * 2013-12-30 2015-07-08 北京控制工程研究所 一种航天器软件空间使用安全性检查方法

Similar Documents

Publication Publication Date Title
EP0032957B1 (en) Information processing system for error processing, and error processing method
US7246257B2 (en) Computer system and memory control method thereof
US5590278A (en) Method for detecting addressing errors in an electrical unit
JPH09293020A (ja) インターフェース回路
US20050022073A1 (en) Microcomputer system
JP3115113B2 (ja) データ転送の異常検出装置
JPH0316655B2 (ja)
JPH0581059A (ja) マルチプロセツサシステム
JPS5899841A (ja) 部分実装された制御メモリのアドレス制御方式
JP3110222B2 (ja) マイクロコンピュータ
JP2003271463A (ja) 二重化メモリ装置
JPH02297235A (ja) メモリデータ保護回路
JPH11265321A (ja) 障害復旧方法、中央処理装置及び中央処理システム
KR100564361B1 (ko) 시스템 메모리의 결함 억제회로
JPH05265790A (ja) マイクロプロセッサ装置
JPS63193249A (ja) マイクロプログラム制御装置
JPH08305637A (ja) 記憶装置
JPS59116998A (ja) 主記憶装置の障害検知方式
JPH03191451A (ja) エラー訂正方式
JPH04369711A (ja) 電子ディスクサブシステム
JPH0981465A (ja) 主記憶制御装置
JPH02297650A (ja) 受信装置
JPH06103098A (ja) 情報処理装置
JPH0230060B2 (ja)
JPS6142033A (ja) 情報処理装置

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20030701