JPS5873099A - デ−タ処理装置 - Google Patents

デ−タ処理装置

Info

Publication number
JPS5873099A
JPS5873099A JP56168828A JP16882881A JPS5873099A JP S5873099 A JPS5873099 A JP S5873099A JP 56168828 A JP56168828 A JP 56168828A JP 16882881 A JP16882881 A JP 16882881A JP S5873099 A JPS5873099 A JP S5873099A
Authority
JP
Japan
Prior art keywords
stack
memory
address
data processing
stack 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
JP56168828A
Other languages
English (en)
Inventor
Yoichi Kawabata
洋一 川端
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP56168828A priority Critical patent/JPS5873099A/ja
Publication of JPS5873099A publication Critical patent/JPS5873099A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Executing Machine-Instructions (AREA)
  • Debugging And Monitoring (AREA)

Abstract

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

Description

【発明の詳細な説明】 本発明は後入れ先出し方式のメモリ、すなわちスタック
メふりな有するデータ処理装置に関するもので、特に1
スタツタポインタかオーバフ四−したとき、そのオーバ
70−したデータを二次配憶装置に退避させるよ5にし
た装置に関するものである。
市販の8ビツトマイクロプロセツサのよ5に1スタツク
ポインタを有するが、そのスタックポインタのオーバ7
0−をチェックする機能のないCPUを用いたデータ処
理装置においては、どの程度のメモリの容量をスタック
領域に割当てるかを決定することは困難な問題であった
。スタックの消費量が予測可能な場合(は、その消費量
の最大値を計算して求めたり、また予測できない場合に
は、ブーグラムを1回走らせて試行したり、または最悪
の場合のテストデータな作って処理する実験を行って、
スタック領域の大きさを求めるのが通常である。しかし
、これらの方法は、スタックポインタのオーバフローに
起因する問題の根本的な解決4Cはなつ【いない。例え
ば、リアルタイム制御的な応用勢で再現不能な場合には
、スタック消費量が未知のデータによるので、致命的に
暴走になる場合が少くない。
本発明の目的は、上述の欠点を除去し、スタックポイン
タのオーバフローによるプログラムの潜在的危険性を除
去したデータ処理装置を提供するととKある。
本発明は、スタックポインタのオーバフローのチェック
機能を具え、かつ、スタックポインタのオーバ70一時
にも、二次記憶装置を利用してオーバフローデータをス
タックメモリから一時退避させ、以てデータ処理を連続
して行えるよう和したことを特徴とする。
以下、図面を参照して、本発明の詳細な説明する。
第1図は本発明データ処理装置の一実施例を示すブロッ
ク線図である。ここで、1はスタックポインタspを有
する中央処理装置(CPU)、2はメモリ、3はフロッ
ピーディスクで、これらはパス藤を介して接続されてい
る。CPU 1はメモリ雪中のある領域たとえば16進
数で7000書地から7FFF番地までをスタックメモ
リSMとして使うものとする。ここで、スタックメモリ
8Mは0番地の方向(第1内で上方、すなわちバスに近
いooooで示す方向)へ向って伸びると仮定すると、
CPU 1は上限レジスタ4&C対して1000を、下
限レジスタ611C対しc 5oooを設定する1、6
およびフは一致回路である。また、CPU l中のスタ
ックポインタgFは、スタックメモリ8Mが空のときは
、 soo。
に初期化される。ここで、スタックポインタSPは、常
にスタックにブツシュ(書込み、pwsh−d@vn 
)された現時点での最上端の要素のアドレスを指示する
レジスタのことである。従って上述の空のスタックメモ
リ8Mに1要素がブツシュされルト、スタックポインタ
は7FFFを指示するし。
スタックメモりSM一杯に書込みがなされると7000
を指示することになる。
さて、プログラムが走り始め、スタック領域叫のすべて
に書込みがなされると、上限レジスタ4に設定された値
7000と、スタックがインクBFよりバスlを介して
メモリ2#C指示されるアドレス7000が等しくなる
ので、一致回路6カを割込信号INτを出力する。CP
U 1は割込信号INT W−より【起動される割込処
理ルーチン中の[上限一致割。
込jl&llルーチン」でスタックメモ9 BMの70
00書地から7FFF番地まtの内容を70ツビーデイ
スク3に書込む。この結果、スタックメモリ8M it
空となり、CPU i中のスタックポインタ5pit8
000に再設定されて、割込みMIJを終了する。
さらにプログラムが走り続けるときは、スタックメモリ
8Mヘラ田グラム要素が送り込まれ、スタックメモリ謂
が一杯とならない場合、たとえ&fアドレスγλAムで
書込み内容の送り込み力を止ったときは、スタックポイ
ンタ8PはマAAA K整定される。スタックメモリB
Mが、再び一杯となる場合、すなわち7000 Kなる
と上述と同様に、スタック中の1000から7FFFま
での内容は、フロッピーディスク3#C書込まれ、スタ
ックポインタSPは易000 K整定される。さらに、
スタックメモリ8Mが一杯となれば、同様の処理が行わ
れる。
次に、今度はスタックメモリ8Mが空になった場合に取
出しくポツプ5pot−up)が行われる場合を考える
。即ちスタックポインタSPが7FFFをこえて5oo
o番地の内容をポツプしようとした時には、バスBには
アドレス8000の信号が流れるので、一致回路7が割
込信号を出力する。cpυ1は割込信号INTによって
起動される割込み処理ルーチン中の[下限一致割込処理
ルーチン」によりフロッピーディスク3に、最後に書き
込ん・だlブロックのデータを読出し【メモリ雪中の7
FFFから7000書地のスタックメモリSMにストア
する。
この操作が完了した後、スタックポインタSPを760
0に設定し、ポツプ動作を再開始し割込処理を終了する
以後、ブツシュ動作およびポツプ動作がどのよ5な順番
で続いても、スタックポインタ8P が−上下限の間、
即ち7000〜7FFFの間にある限りは、通常通りス
タックメモリ8Mは使用され、上下限のいづれかに一致
した場合は、上述のそれ和相当する「割込処理ルーチン
」が実施される。このよ5に1.て、プログラム処理は
、スタックポインタ8Pのオーバフローを意識すること
なく続行される。
ここで、上述の[割込み処理ルーチン]を別の見方で説
明する。第2図はフロッピー7デイスク3中のデータも
含めて大きなスタックを形成し【いると考えた場合のメ
モリ全体の模式−を示し、ここでは「上限一致割込処理
ルーチン」が3回続けて行われた後の記憶状態を示して
いる。フロッピーディスク3中には上述の例の場合には
、各アドレスに対し!ワードを割当てているとすれば、
約4にワードを1ブロツクとしてプμツク単位〒フロッ
ピーディスク3#c対してプツシエ動作およびポツプ動
作を行っていると考えられる。フロッピーディスク3中
の記憶内容の現在綾上位置を示しているポインタD8P
は、フロッピーディスクSに対するポインタと考えられ
る。メモリ2内のスタので、そのスタックの上限現在ア
ドレスがスタックポインタSPにより細かく示されると
考えると、菖1図示の実i例におけるメモリ2中のスタ
ックと70ツビーデイスク3との関連動作が容易に堆解
される。
なお、v11図示の実施例においては、上述したスタッ
クポインタ8Pを割込みの制御に用いられるスタックポ
インタとは別物とするが、メ毫り2中のスタック領域以
外の部分KCPUI中のすべ【のレジスタを割当てるだ
けの余裕をもたせておけばスタック領域および他のメモ
リ部分に対して共通のスタックポインタを用いることも
できる。
以上述べたところより明かな如く、本発明データ処理装
置によれば、どの程度のメモリ容倉なスタック領域に割
当てるべきかということを予め定めておく必要がないの
で、スタックポインタがオーバ70−する場合において
もプログラムの暴にが防げ、プログラムを中断すること
なく実行することができる効果が得られ、一般に市販さ
れていルオーパフローチェック機能のないマイクロブ關
セッサを用いても有効なスタック手段を実現することが
できる。
【図面の簡単な説明】
第1図は本発明の一実施例を示すブロック−図、第2図
は第1図の動作説明図である。 1・・・CPU、        2・・・メモリ、3
・・・フロッピーディスク。 4・・・上限レジスタ、   5・・・下限レジスタ、
6.7・・・一致回路、 B・・・パス、sp−・・スタックポインタ、INT・
・・割込信号、    DBP・・・フロッピーディス
クポインタ。 特許出願人  キャノン株式会社 代理人 弁理士   谷     義  −蟲第1図 第2図

Claims (1)

  1. 【特許請求の範囲】 1)スタックメモリと、該スタックメモリの上限アドレ
    スおよび下限アドレスをそれぞれ貯えたレジスタをアド
    レスバスな介して中*鵡境装置に結合したデータII&
    瑠装置において、前記スタックメモリなア・クセスする
    毎に前記アドレスバス内のアドレス信号と前記上下限ア
    ドレスとを比較し、両アドレスが一致したとぎに前記中
    央処理装置に対し【割込み信号を発生する。ようにした
    ことを41像とするデータ処理装置。 2、特許請求の範囲第1項記載の装置におい【、前記上
    限アドレスと前記アドレス信号との一致により発生した
    前記割込信号によつ″C前記スタックメモリ内のメモリ
    内容の一部または全部を二次記憶装置に退避させ、前記
    下限アドレスと前記アドレス信号との一致により発生し
    た前記割込信号によって前記二次記憶装置に退避してい
    る前記メモリ内容を前記スタックメモリへ復元するよう
    に一部たことを4I徴とするデータ処理装置。
JP56168828A 1981-10-23 1981-10-23 デ−タ処理装置 Pending JPS5873099A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP56168828A JPS5873099A (ja) 1981-10-23 1981-10-23 デ−タ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP56168828A JPS5873099A (ja) 1981-10-23 1981-10-23 デ−タ処理装置

Publications (1)

Publication Number Publication Date
JPS5873099A true JPS5873099A (ja) 1983-05-02

Family

ID=15875265

Family Applications (1)

Application Number Title Priority Date Filing Date
JP56168828A Pending JPS5873099A (ja) 1981-10-23 1981-10-23 デ−タ処理装置

Country Status (1)

Country Link
JP (1) JPS5873099A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6057439A (ja) * 1983-09-08 1985-04-03 Matsushita Electric Ind Co Ltd スタツクあふれ検出装置
JPH02299025A (ja) * 1989-05-12 1990-12-11 Nec Corp マイクロコンピュータ
JPH036618A (ja) * 1989-06-02 1991-01-14 Fuji Electric Co Ltd スタックポインタの異常検出回路
JPH11203166A (ja) * 1998-01-19 1999-07-30 Nec Corp スタックポインタトレース装置、スタックポインタトレース方法及び記録媒体

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6057439A (ja) * 1983-09-08 1985-04-03 Matsushita Electric Ind Co Ltd スタツクあふれ検出装置
JPH02299025A (ja) * 1989-05-12 1990-12-11 Nec Corp マイクロコンピュータ
JPH036618A (ja) * 1989-06-02 1991-01-14 Fuji Electric Co Ltd スタックポインタの異常検出回路
JPH11203166A (ja) * 1998-01-19 1999-07-30 Nec Corp スタックポインタトレース装置、スタックポインタトレース方法及び記録媒体

Similar Documents

Publication Publication Date Title
US7380245B1 (en) Technique for detecting corruption associated with a stack in a storage device
US5420999A (en) Free memory cell management
GB1410631A (en) Data processing system interrupt arrangements
EP0552717A2 (en) Data processing system and method using virtual storage system
EP0023821A2 (en) Apparatus and method for checking a memory and a computer system including a memory and apparatus for checking the memory
JPS5873099A (ja) デ−タ処理装置
AU565149B2 (en) Improvements in or relating to computer systems
JPH05100847A (ja) 情報処理装置のメモリ保護方式
US5222232A (en) Apparatus and method for monitoring prom access in a microcomputer
JP2671160B2 (ja) 例外処理方式
JPH0821009B2 (ja) チャネル制御装置のイニシャライズ方法及びそのイニシャライズのためのシステム
JPS58154043A (ja) 情報処理装置
JPS5826043B2 (ja) プロセツサのリセツト方式
JP2507579B2 (ja) 発生頻度別ロギング情報格納方式
JPS6020779B2 (ja) 複合形電子計算機システム
JP3166167B2 (ja) マイクロコンピュータ
JPS6097448A (ja) メモリ・プロテクシヨン方式
JP2982181B2 (ja) 中央処理装置
JPS6161419B2 (ja)
JP3098414B2 (ja) ロードモジュール格納方法
JPH02304624A (ja) 情報処理装置
JPH02253359A (ja) 動的割当て領域のデータ内容保護方式
JPS5853098A (ja) バツフア・ストレ−ジのログ・コントロ−ル方式
JPS60549A (ja) メモリ試験方式
JPS58186866A (ja) 磁気デイスクの制御方式