JPS6341938A - マイクロコンピユ−タ - Google Patents

マイクロコンピユ−タ

Info

Publication number
JPS6341938A
JPS6341938A JP18654686A JP18654686A JPS6341938A JP S6341938 A JPS6341938 A JP S6341938A JP 18654686 A JP18654686 A JP 18654686A JP 18654686 A JP18654686 A JP 18654686A JP S6341938 A JPS6341938 A JP S6341938A
Authority
JP
Japan
Prior art keywords
stack
level
ram
area
signal
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
JP18654686A
Other languages
English (en)
Inventor
Yukihisa Saito
斉藤 幸久
Mitsuyoshi Fukuda
光芳 福田
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.)
Sanyo Electric Co Ltd
Original Assignee
Sanyo Electric 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 Sanyo Electric Co Ltd filed Critical Sanyo Electric Co Ltd
Priority to JP18654686A priority Critical patent/JPS6341938A/ja
Publication of JPS6341938A publication Critical patent/JPS6341938A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はマイクロコンピュータ、特にRAMの一部のエ
リアをスタックエリアとして使用する型のマイクロコン
ピュータに関する。
〔従来技術〕
従来のマイクロコンピュータでは、割込み処理。
サブルーチン処理等の際にこれらの処理が終了した後に
処理を戻すべきプログラムのステップのRAM上のアド
レスを一時的に記憶させるスタックエリアを、専用のハ
ードウェア(たとえば、メモリあるいはレジスタ等に)
に設定しておくスタックエリア固定型と、ユーザが作成
したプログラムを記憶させまたそのプログラム実行時に
データを記憶させるためのRAMの一部エリアを使用す
る型とが知られている。
〔発明が解決しようとする問題点〕
スタックエリア固定型では、スタックエリアとして使用
可能な記憶容量が、それ専用のハードウェアの記憶容量
に制限されることは自明であり、このためスタックレベ
ルが一般に低レベルに抑えられている。
一方RAMの一部エリアをスタックエリアとして使用す
る型では、そのスタックレベルは上述の固定型よりは大
きいが、ユーザがRAMエリア中にスタックレベルを仮
定した上でソフトウェア作成。
デバッグ等を行う必要がある。この場合、プログラム、
データ等が記憶される本来のRAMエリアとしてはRA
Mの先頭アドレスから最終アドレス方向へ使用し、スタ
ックエリアとしはRAMの最終アドレスから先頭アドレ
ス方向へ使用することになる。
しかし、ソフトウェアあるいはデータ量が大きくなって
RAMエリアの余裕が無くなり、また割込み、サブルー
チン処理が重複してスタックエリアの使用量が増加する
とスタックポイントが本来の1?AMエリアとしてプロ
グラム、データ等が記憶されているエリアへ進入する事
態が生しる。このような場合には、スタックポイントが
進入したRAMエリアに記憶されていたデータの破壊が
生じる。
しかし、従来はこのようなデータの破壊をユーザが認識
することは出来ず、従ってI?AMエリアとスタックエ
リアとが重複しないように、たとえば割込み処理及びサ
ブルーチンの重複の制限を設定する等の対策をソフトウ
ェア作成時に講して置く必要がある。しかしこの場合、
スタックエリアとしてどの程度のRAMエリアが必要か
は不明であるため、実際にはスタックエリアを余裕を見
込んで必要以上に大きくする必要があるので、RAMの
使用効率が低下することは避けられない。
本発明は以上の如き事情に鑑みてなされたものであり、
RAMエリアの一部をスタックエリアとして使用する型
のマイクロコンピュータにおいて、スタックエリアの大
きさ、即ちスタックレベルが設定可能で、またこの設定
されたスタックレベルにまでスタックポイントが達して
スタックエリアが満杯になった場合にはこれを検出し、
更に本来のRAMエリアのデータの破壊を防止するため
にそれ以上にスタックエリアが必要になる割込み処理等
を自動的に禁するようなマイクロコンピュータの提供を
目的とする。
〔問題点を解決するための手段〕
本発明のマイクロコンピュータは、設定されているスタ
ックレベルと、スタックエリアの実際の使用量、即ちス
タックポイントとを比較し、スタックポイントが設定ス
タックレベルに達している場合にはこれを検出し、また
スタックポイントのスタックレベルを超えてのRAMエ
リアへの進入を回避するために新たな割込み処理を禁じ
るように構成している。
本発明は、RAMの一部エリアをスタックエリアとして
使用するマイクロコンピュータにおいて、前記RAMの
アドレスを記憶することにより、前記1?AMのスタッ
クエリアとRAMエリアとの境界を表すスタックレベル
を設定するスタックレベル設定手段と、前記RAMにお
けるスタックポイントを記憶するスタックポインタと、
前記スタックレベル設定手段の内容と前記スタックポイ
ンタの内容とを比較する比較手段と、該比較手段による
比較の結果、スタックポイントがスタックレベルに達し
た場合に、前記1?AMに設定されているスタックエリ
アが満杯であることを表すスタックエリ満杯信号を出力
する手段と、該手段がスタックレベル満杯信号を出力し
ている場合に割込み処理を禁止する割込み不許可手段と
を備えたことを特徴とする。
(作用〕 本発明のマイクロコンピュータでは、設定されているス
タックレベルにスタックポイントが達した場合にはこれ
が検出されるのでプログラム作成時、デパック時には必
要に応じてスタックレベルの変更が可能であり、またプ
ログラム実行時には割り込み処理が禁止されるので、設
定されているスタックエリア以上のスタックエリアの拡
大が防止されてRAMに記憶されているデータの破壊が
回避される。
〔実施例〕
以下、本発明をその実施例を示す図面に基づいて詳述す
る。
図面は本発明のマイクロコンピュータの要部の構成を示
すブロック図である。
図中1は内部バス、2はROM 、 3はRAMである
RAM3はその記憶エリアが先頭アドレス側からはプロ
グラム、データ等が記憶される通常のRAMエリア3R
として、最終アドレス側からはスタックエリア3Sとし
てそれぞれ使用される。4はこのRAM3のアドレスを
設定するアドレスレジスタである。
図中5はスタックポインタであり、たとえば割込み、サ
ブルーチン処理が実行される場合にはその時点のプログ
ラムのステ7プが記憶されているRAM3のアドレスを
その記憶値(I5]ちスタックポイント)に対応するR
AM3のアドレスに記憶させた後、そのスタックポイン
トを1だけ減少(デクリメント)させる。スタックエリ
ア3SはRAM3の最終アドレスから先頭アドレス倒へ
設定されているので、実際に使用されているスタックエ
リア3Sは1アドレス拡大される。逆に、割込み、サブ
ルーチン処理終了後にリターンする場合にはこのスタッ
クポインタ5に記↑、Qされているスタックポイントに
対応する124M3のアドレスからデータ(割込み、サ
ブルーチンがかけられた時点のプログラムのステップが
記憶されているRAM3のアドレス)を読出した後、そ
の記憶値が1だけ増加(インクリメント)される。
6はスタックレベルSL設定レジスタであり、これにR
AM3のアドレスを記憶させると、この設定されたアド
レスがスタックレベルSLとして設定される。換言すれ
ば、RAM3の最終アドレスからスタックレベルSL設
定レジスタ6に記憶されているアドレスまでがスタック
エリア3Sとして設定される。
7は比較器であり、スタックポインタ5の内容、即ちス
タックポイントとスタックレベルSL設定レジスタ6の
内容、即ちスタックレベルSLとを比較し、スタックポ
イントがスタックレベルSLに達した場合にハイレベル
の信号を出力してフリップフロップ8のセント端子Sに
与える。
フリップフロップ8は、そのセット端子Sに上述の比較
器7からハイレベル信号が与えられることによりセント
され、そのリセット端子RにORゲート9からハイレベ
ル信号が与えられることによりリセットされる。またフ
リップフロップ8はセント状態ではその出力端子Qから
ハイレベル信号をANDゲート10の一入力端子に与え
る。従って、フリップフロップ8の出力端子Qから出力
されるハイレベル信号は、スタックポインタ5のスタッ
クポイントがスタックレベルSL設定レジスタ6のスタ
ックレベルSL以上になった場合に出力されるので、R
AM3に設定されているスタックエリア3Sが満杯であ
ることを表すスタック満杯信号SFFであり、またフリ
ップフロップ8はこのスタック満杯信号SFFの出力手
段である。
図中9はORゲートであり、その出力はフリップフロッ
プ8のリセット端子Rに与えられている。
またこのORゲート9の入力としては、リセット信号及
びスタックレベルSL設定レジスタアクセス信号等が与
えられていて、これらの信号のいずれかがハイレベルに
転じるとフリップフロップ8がリセットされる。
ANDゲート10の他入力端子は、スタックエリア3S
の満杯時に割込み処理を禁止させる場合に、ハイレベル
のスタック満杯時割込み禁止信号が与えられている。従
って、ANDゲートlOの出力信号は、ハイレベルのス
タック満杯時割込み禁止信号がその4h入力端子に、フ
リップフロップ8からのハイレベルのスタック満杯信号
SFFがその一入力端子に与えられている場合にハイレ
ベルになる。このANDゲート10の出力信号はORゲ
ート11の一入力端子に与えられている。
ORゲート11の他の入力端子にはたとえば、リセット
信号1割込み不許可命令実行信号等が与えられていて、
これらのいずれかまたは複数がハイレベルに転じるとO
Rゲート11の出力がハイレベルに転じる。そして、こ
のORゲート11の出力はフリップフロップ12のリセ
ット端子Rに与えられている。
フリップフロップ12は、そのリセット端子Rに上述の
ORゲート11の出力が、セット端子Sに割込み許可命
令実行信号がそれぞれ与えられており、出力端子QはA
NDゲート13の一入力端子に接続されている、従って
スタック満杯時割込み禁止信号または割込み不許可命令
実行信号がハイレベルに転しるとフリップフロップ12
はリセットされてその出力端子Qからの出力信号はロー
レベルに転じ、割込み許可命令実行信号がハイレベルに
転じるとフリップフロップ12はセントされてその出力
端子Qからの出力信号はハイレベルに転じる。
ANDゲー1−13の他人力端子には割込み要求信号が
与えられている。従って、この割込み要求信号が与えら
れた場合またはフリップフロップ12に割込み許可命令
実行信号が与えられてフリップフロップ12がセットさ
れた場合にANDゲート13出力がハイレベルに転じて
割込み信号を発生する。
なお図中14は、フリップフロップ8からハイレベルの
スタック満杯信号SFFが出力された場合に所定の警報
を発するための警報手段であり、たとえばCRTデイス
プレィへのメツセージ表示等が行われる。
このように構成された本発明のマイクロコンピュータで
は、予め設定されたスタックレベルSLに対応するRA
M3のアドレスがスタックレベルSL設定レジスタ6に
記憶される。また、RAM3のスタックエリア3Sにお
けるスタックポイントはスタックポインタ5に記憶され
ている。
そして、プログラム作成時及びデパック時にスタックポ
イントが設定スタックレベルSLに達すると、比較器7
の出力がハイレベルに転じ、フリップフロップ8がセッ
トされる。これにより、フリップフロップ8の出力端子
Qからはハイレベルのスタック満杯信号SFFが出力さ
れ、警報手段14にて所定の警報が行われる。この場合
、ユーザはこの1i報に従って設定スタックレベルSL
を変更設定すればよい。
一方、作成されたプログラムの実行中にスタックポイン
トが設定されているスタックレベルSLに達した場合に
は、上述同様にフリップフロップ8からハイレベルのス
タック満杯信号SFFが出力される。この際、ハイレベ
ルのスタック満杯時割込み禁止信号が与えられていれば
、ANDゲート10出力及びORゲー)11出力が共に
ハイレベルに転じ、フリップフロップ12かリセフトさ
れ、ANDゲート13の一入力端子にはローレベルの信
号が与えられる。このため、仮にハイレベルの割込み要
求信号が発生されてANDゲート13の他人力に与えら
れたとしても、ANDゲート13出力はハイレベルに転
じることは無いので割込み信号は発生されず、割込み処
理が行われることはない。従って、その時点以上に、即
ち予め設定されているスタックレベルSLを超えてスタ
ックポイントがRAMエリア3R11へ移動することは
無いので、RAM3の本来のRAMエリア3Pに記憶さ
れているデータ等が破壊される虞は回避される。
なお、その後処理が進んでスタックポイントがRAM3
の最終アドレス側へ移動してスタックエリア3Sに余裕
が生じると、比較器7出力はローレベルに転じる。この
時点で、ハイレベルの割込み許可命令実行信号を発生す
れば、これがフリップフロップ12のセント端子Sに与
えられるので、ANDゲート13の両人力は共にハイレ
ベルになる。これにより、ANDゲート13出力、即ち
割込み信号はハイレベルに転じて割込み処理が実行され
る。
〔効果〕
以上のように本発明のマイクロコンピュータでは、RA
Mに本来のI?AMRAMエリアックエリアとの境界を
設定し得るので、RAMのその本来のRAMエリアの使
用効率を向上させ得、またプログラム作成時及びデバッ
グ時にスタックレベルを配慮する必要も無いのでユーザ
の負担が軽減され、更にプログラム実行中のスタックポ
イントのRAMエリアへの進入によるRAMエリアのデ
ータの破壊を防止し得る。このように、本発明のマイク
ロコンピュータはユーザに対するプログラム作成、デバ
ッグ時の負担を軽減し、またプログラム実行中の不用意
なデータの破壊を回避し得る。
【図面の簡単な説明】
図面は本発明のマイクロコンピュータの一実施例の回路
構成の要部を示すブロック図である。

Claims (1)

  1. 【特許請求の範囲】 1、RAMの一部エリアをスタックエリアとして使用す
    るマイクロコンピュータにおいて、 前記RAMのアドレスを記憶することにより、前記RA
    MのスタックエリアとRAMエリアとの境界を表すスタ
    ックレベルを設定するスタックレベル設定手段と、 前記RAMにおけるスタックポイントを記憶するスタッ
    クポインタと、 前記スタックレベル設定手段の内容と前記 スタックポインタの内容とを比較する比較手段と、 該比較手段による比較の結果、スタックポ イントがスタックレベルに達した場合に、前記RAMに
    設定されているスタックエリアが満杯であることを表す
    スタックエリ満杯信号を出力する手段と、 該手段がスタックレベル満杯信号を出力し ている場合に割込み処理を禁止する割込み不許可手段と を備えたことを特徴とするマイクロコンピ ュータ。
JP18654686A 1986-08-07 1986-08-07 マイクロコンピユ−タ Pending JPS6341938A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP18654686A JPS6341938A (ja) 1986-08-07 1986-08-07 マイクロコンピユ−タ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP18654686A JPS6341938A (ja) 1986-08-07 1986-08-07 マイクロコンピユ−タ

Publications (1)

Publication Number Publication Date
JPS6341938A true JPS6341938A (ja) 1988-02-23

Family

ID=16190397

Family Applications (1)

Application Number Title Priority Date Filing Date
JP18654686A Pending JPS6341938A (ja) 1986-08-07 1986-08-07 マイクロコンピユ−タ

Country Status (1)

Country Link
JP (1) JPS6341938A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60187536A (ja) * 1984-03-06 1985-09-25 Sumitomo Electric Ind Ltd 四弗化エチレン樹脂多孔質体の製造方法及び製造装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60187536A (ja) * 1984-03-06 1985-09-25 Sumitomo Electric Ind Ltd 四弗化エチレン樹脂多孔質体の製造方法及び製造装置

Similar Documents

Publication Publication Date Title
US4434464A (en) Memory protection system for effecting alteration of protection information without intervention of control program
EP0443557B1 (en) Interrupt controller capable of realizing interrupt nesting function
JPH1115675A (ja) 割込みコントローラ及び制御システム
JPH0877075A (ja) 情報処理装置
JP4605871B2 (ja) マイクロプロセッサ
JPS6341938A (ja) マイクロコンピユ−タ
JPS599937B2 (ja) 情報処理装置
US5564036A (en) Memory protective circuit
JPH04241032A (ja) システムコール実行装置
JPS6074059A (ja) 記憶装置アクセス制御方式
JP5756413B2 (ja) 制御装置
JPH05225361A (ja) レジスタ書換え方式
JPH0520202A (ja) 複写装置のram保護装置
JPH02121045A (ja) アクセスプロテクト機能を有するマイクロプロセッサ
JPS6329846A (ja) 割込みベクタテ−ブル保護方式
JPH02264340A (ja) マイクロプロセッサ
JPH08185360A (ja) 内蔵rom読み出し禁止装置
JPH059815B2 (ja)
JPH04205144A (ja) マイクロプロセッサ
JPS62160555A (ja) 記憶回路の記憶保護装置
JPS62251856A (ja) メモリ制御装置
JPS6027419B2 (ja) 割込制御装置
JPH03185527A (ja) マイクロ・プロセッサ
JPS58203700A (ja) メモリ内の情報プライバシ−保護装置
JPH03208132A (ja) シングルチツプマイクロコンピユータ