JPH0619703A - データ処理装置 - Google Patents

データ処理装置

Info

Publication number
JPH0619703A
JPH0619703A JP17070392A JP17070392A JPH0619703A JP H0619703 A JPH0619703 A JP H0619703A JP 17070392 A JP17070392 A JP 17070392A JP 17070392 A JP17070392 A JP 17070392A JP H0619703 A JPH0619703 A JP H0619703A
Authority
JP
Japan
Prior art keywords
stack
value
stack pointer
address
data
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
JP17070392A
Other languages
English (en)
Inventor
Norio Masui
規雄 桝井
Naoyoshi Nakano
直佳 中野
Yoshiiku Azekawa
善郁 畔川
Masayuki Hata
雅之 畑
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 JP17070392A priority Critical patent/JPH0619703A/ja
Publication of JPH0619703A publication Critical patent/JPH0619703A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】 【目的】 使用可能なスタック領域以外の記憶領域への
スタック操作を禁止して使用可能なスタック領域以外の
記憶内容の破壊を防止する。 【構成】 スタック領域201 の上限を示す最小アドレス
値(a) を限界ポイントレジスタ13に、その下限を示す最
大アドレス値(a+x) をベースレジスタ16に保持してお
き、スタック操作による書き込み時には、書き込みにつ
れて値が減少更新されるスタックポインタレジスタ11の
保持値と限界ポイントレジスタ13の保持値とを比較器14
で比較する一方、読み出し時には、読み出しにつれて値
が増加更新されるスタックポインタレジスタ11の保持値
とベースレジスタ16の保持値とを比較器17で比較し、比
較器14,17 の比較結果が一致した場合は制御回路15への
信号がアクティブになり、制御回路15は割り込みによる
エラー処理を行う。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、スタック操作によるデ
ータの読み出し/書き込みが可能なデータ処理装置に関
する。
【0002】
【従来の技術】図4はスタック操作によるデータの読み
出し/書き込みが可能な従来のデータ処理装置の要部構
成を示すブロック図である。図中10B はスタック操作に
よるデータの読み出し/書き込みを含むプログラム命令
を実行するデータ処理部であって、20はデータ処理部10
B が使用できる記憶領域である。記憶領域20のうち、ア
ドレス“a”〜“a+x”のアドレス空間がスタック領
域201 として割り付けられており、アドレス“a”未満
のアドレス空間202 及びアドレス“a+x”を超えるア
ドレス空間203 はスタック以外の目的に使用される領域
である。なお、スタック領域201 の内、アドレス“a+
x−b”〜“a+x”までは使用中のスタック領域201A
を示す。
【0003】スタックポインタレジスタ11はスタック領
域201 のアドレスを指示するスタックポインタ値を保持
し、加減算回路12はスタックポインタレジスタ11の保持
値を読み出し、読み出し/書き込みの別に応じてこの保
持値に“1”を加算又は減算してスタックポインタレジ
スタ11の保持値を更新する。スタック限界ポイントレジ
スタ13はスタック領域201 のアドレス空間の上限を示す
最小アドレス値(=a)を保持しており、比較器14はス
タックポインタレジスタ11の保持値と限界ポイントレジ
スタ13の保持値とを比較し、比較結果が一致した場合に
制御回路15への信号をアクティブにする。制御回路15は
比較器14からの信号がアクティブになると図示しない経
路で割り込み信号を出力してエラー処理を実行する。
【0004】次に、動作について説明する。データ処理
部10B が、例えば、記憶領域202 に記憶されているプロ
グラムを実行し、このプログラムにスタック操作による
データの読み出し/書き込み命令が含まれていた場合、
データ処理部10B は図示しない経路を介した制御回路15
の制御により以下のスタック操作を行う。スタック操作
でデータを書き込む場合、加減算回路12にスタックポイ
ンタレジスタ11が保持するスタックポインタ値を読み込
んで、その値をデクリメントして更新し、更新されたス
タックポインタ値が指定するアドレス位置にデータを書
き込む。
【0005】逆に、スタック操作でデータを読み出す場
合、スタックポインタレジスタ11が保持するスタックポ
インタ値をアドレスとしてデータを読み出し、加減算回
路12にスタックポインタレジスタ11の保持値を読み込ん
で、その値をインクリメントしてスタックポインタレジ
スタ11の保持値を更新する。
【0006】即ち、図4に示すように、スタック操作に
よりデータが書き込まれる都度、使用中のスタック領域
201Aはアドレス値が小さい領域の方に伸長してスタック
ポインタレジスタ11の保持値は小さくなっていく。ま
た、スタック操作によりデータが読み込まれる都度、使
用中のスタック領域201Aはアドレスが大きい領域の方に
短縮してスタックポインタレジスタ11の保持値は大きく
なっていく。
【0007】従って、データ書き込みの際、書き込みデ
ータが予想以上に多い場合、使用中のスタック領域201A
がスタック領域201 を超えてアドレス空間202 にまで達
し、他の用途に使用しているアドレス空間202 の記憶内
容を破壊する危険性がある。従って、これを防止するた
め、スタックとして使用可能なアドレス空間の限界を示
すスタック領域201 の最小アドレス値(=a)をスタッ
ク限界ポイントレジスタ13に保持しておき、スタック操
作によるデータ書き込みの都度、比較器14によって更新
後のスタックポインタレジスタ11の保持値(書き込むべ
きデータのアドレス値)とスタック限界ポイントレジス
タ13の保持値とを比較し、比較の結果、スタックポイン
タレジスタ11の保持値とスタック限界ポイントレジスタ
13の保持値とが一致すれば、直ちに比較器14の出力信号
をアクティブにし、これを受けた制御回路15が割り込み
によるエラー処理を行う。
【0008】ところで、複数のプログラムを時分割で切
り換えながら並行に実行するデータ処理装置では、各プ
ログラムごとに独立してスタック操作を管理するために
複数のスタックポインタレジスタを備えている場合があ
る。
【0009】図5は複数のスタックポインタレジスタを
備えた従来のデータ処理装置の要部構成を示すブロック
図である。図中11B,21B は8ビットのスタックポインタ
レジスタ、12B はスタックポインタレジスタ11B の保持
値の全8ビットを更新する加減算回路、22B はスタック
ポインタレジスタ21B の保持値の全8ビットを更新する
加減算回路であって、記憶領域20のうち、アドレス
“a”〜“a+x”のアドレス空間はスタック領域201
として割り付けられており、スタック領域201 以外のア
ドレス空間はスタック以外の目的に使用される領域であ
る。
【0010】この場合、スタック領域201 を、スタック
ポインタレジスタ11B 及び加減算回路12B を用いたスタ
ック操作で書き込み/読み出しを行うアドレス空間と、
スタックポインタレジスタ21B 及び加減算回路22B を用
いたスタック操作で書き込み/読み出しを行うアドレス
空間とに分離しておき、スタックポインタレジスタ11B
と21B とに異なった初期値を設定しておく。図5では、
スタックポインタレジスタ21B の初期値はスタックポイ
ンタレジスタ11B の初期値より大きい。
【0011】なお、S1-1〜S1-5はスタックポインタレジ
スタ11B を用いたスタック操作で書き込まれたデータ、
S2-1〜S2-4はスタックポインタレジスタ21B を用いたス
タック操作で書き込まれたデータを示す。
【0012】次に、動作について説明する。スタック領
域201 以外の記憶領域20に割り付けられたプログラムを
実行し、このプログラムにスタックポインタレジスタ11
B を用いたスタック操作による書き込み命令が含まれて
いる場合、スタックポインタレジスタ11B の保持値の全
8ビットを加減算回路12B に読み込んでその値を“1”
だけデクリメントして更新し、更新されたスタックポイ
ンタ値が指定するアドレス位置にデータを書き込む。
【0013】図5のように、スタックポインタレジスタ
11B 及び加減算回路12B を用いたスタック操作でアドレ
スの大きい方から“S1-1”,“S1-2”,“S1-3”, …と
データが書き込まれる都度、スタック領域51はアドレス
が小さい方の領域に伸びてスタックポインタレジスタ11
B の保持値が小さくなっていく。
【0014】逆に、スタック操作でデータの読み出しを
行う場合、スタックポインタレジスタ11B の保持値の全
8ビットをアドレスとしてデータを読み出し、加減算回
路12B にスタックポインタレジスタ11B の保持値の全8
ビットを読み込んで、その値を“1”だけインクリメン
トしてスタックポインタレジスタ11B の保持値を更新す
る。
【0015】スタックポインタレジスタ11B の保持値の
全8ビットがデータ“S1-5”のアドレスである場合、ス
タックポインタレジスタ11B 及び加減算回路12B を用い
たスタック操作でデータの読み出しが行われる都度、デ
ータは“S1-5”,“S1-4”,“S1-3”,…と順に読み出
されてスタックポインタレジスタ11B の保持値が大きく
なっていく。
【0016】スタックポインタレジスタ21B 及び加減算
回路22B を用いたスタック操作時の動作は、スタックポ
インタレジスタ11B 及び加減算回路12B を用いたスタッ
ク操作時の動作と同様である。
【0017】
【発明が解決しようとする課題】従来のデータ処理装置
は以上のような構成であるので、先のデータ処理装置
は、書き込み時にスタック領域の最小アドレスを越えて
データを書き込まないようにスタックポイント限界レジ
スタを設けているが、書き込み時と逆にアドレスが大き
くなる方に操作が進行する読み出し時に、プログラムミ
ス等によりスタック領域を越えてデータを読み出した場
合はスタック領域を越えたことを検出できず、スタック
領域以外から読み出したデータをデータを更新して元の
アドレスに書き込み、記憶内容を破壊してしまうという
危険性がある。
【0018】また、スタック領域を越えて書き込みが行
われないようにしていても、複数のスタックポインタレ
ジスタを備えたデータ処理装置の場合、アドレスが大き
い側に割り付けられた一方のスタックポインタレジスタ
21B を用いたスタック操作で書き込むデータが予想以上
に増加した場合、スタックポインタレジスタ21B の保持
値が他方のスタックポインタレジスタ11B の初期値より
も小さくなり、スタックポインタレジスタ11B を用いた
スタック操作で書き込まれたデータを破壊する危険性が
ある。
【0019】本発明はこのような問題点を解決するため
になされたものであって、スタック操作によるデータの
書き込み/読み出し時のいずれにおいても、スタック領
域を越えたスタック以外の目的に使用する他の記憶領域
又は複数のスタックを操作する場合における他のスタッ
クの記憶内容の破壊を防止するデータ処理装置の提供を
目的とする。
【0020】
【課題を解決するための手段】第1の発明に係るデータ
処理装置は、スタックとして使用可能なスタック領域の
上限及び下限を示すアドレス値をそれぞれ記憶するレジ
スタを設け、このアドレス値とスタックポインタ値とを
比較してスタック領域の上限又は下限を越えたスタック
操作を禁止することを特徴とする。
【0021】第2の発明に係るデータ処理装置は、複数
のスタックにそれぞれ対応するスタックポインタ値の一
部ビットを互いに異なる値に固定し、複数のスタック間
でスタックポインタ値が一致しないようにして複数のス
タック操作で使用する記憶領域が重なり合わないように
したことを特徴とする。
【0022】第3の発明に係るデータ処理装置は、複数
のスタックが使用可能な領域の始点をそれぞれ示すスタ
ックポインタ値を連続したアドレス値に設定するととも
に、次の操作アドレスを指示すべくスタックポインタ値
に加減算する所定値をnに設定し、各スタック領域がn
個分のアドレス間隔をおいて分散して割り付けられ、n
個のスタック操作で使用する記憶領域が重なり合わない
ようにしたことを特徴とする。
【0023】
【作用】第1の発明に係るデータ処理装置は、スタック
操作によるデータの読み出し/書き込みを実行する際、
スタックとして使用可能なスタック領域の上限又は下限
を示すアドレス値とスタックポインタ値とを比較し、ス
タックポインタ値がスタック領域の範囲内を指示する場
合は読み出し/書き込みを実行するが、スタックポイン
タ値がスタック領域以外のアドレスを指示する場合は読
み出し/書き込みを禁止する。
【0024】第2の発明に係るデータ処理装置は、複数
のスタックを選択的に操作してデータの読み出し/書き
込みを並列的に処理する際、その一部ビットの値が固定
されているスタックポインタ値は他のスタックのスタッ
クポインタ値と一致することがなく、他のスタック領域
に対して読み出し/書き込みを行うことがない。
【0025】第3の発明に係るデータ処理装置は、n個
のスタックを選択的に操作してデータの読み出し/書き
込みを並列的に処理する際、連続したアドレス値をスタ
ック領域の始点とし、読み出し/書き込みの都度、nず
つ加減算して各スタック操作における読み出し/書き込
みの次の操作はn個分のアドレス間隔をおいたアドレス
位置に対して行う。
【0026】
【実施例】以下、本発明をその実施例を示す図に基づい
て説明する。図1は本発明に係るデータ処理装置(以
下、本発明装置という)の第1の実施例構成を示すブロ
ック図である。図中、図4に示す従来のデータ処理装置
と同一部分には同一符号を付してその説明を省略する。
【0027】本実施例では、スタック領域201 のアドレ
ス空間の上限を示す最小アドレス値(=a)を保持する
従来の限界ポイントレジスタ13に加えて、スタック領域
201のアドレス空間の下限を示す最大アドレス値(=a
+x)を保持するベースレジスタ16を設けるとともに、
スタックポインタレジスタ11の保持値とベースレジスタ
16の保持値とを比較する第2の比較器17を設け、さらに
第1及び第2の比較器14,17 の出力と制御回路15との間
にORゲート18を設けている。
【0028】次に、動作について説明する。スタック操
作によるデータの読み出し/書き込みの動作及びデータ
書き込み時に使用中のスタック領域201Aがスタック領域
201の上限を超え、他の用途に使用しているアドレス空
間202 の記憶内容が破壊されることを防止する動作は、
図4に示す従来のデータ処理装置の動作と同様であるの
で説明を省略する。
【0029】ベースレジスタ16は、スタック領域201 の
下限を示す最大アドレス値、即ちスタックポインタレジ
スタ11の初期値を保持している。第2の比較器17はスタ
ック操作によるデータ読み込みの都度、更新前のスタッ
クポインタレジスタ11の保持値(読み出すべきデータの
アドレス値)とベースレジスタ16の保持値とを比較し、
比較結果が一致すれば、第2の比較器17の出力が直ちに
アクティブになる。これは、スタック領域201 の下限を
超え、他の用途に使用している他のアドレス空間203 の
記憶内容を読み出したことを示している。
【0030】第2の比較器17の出力がアクティブになる
とORゲート18の出力がアクティブになり、これを受けた
制御回路15が割り込みによるエラー処理を行う。制御回
路15は、エラー処理を行う際、スタックポインタレジス
タ11の保持値を参照して第1の比較器14の出力と第2の
比較器17の出力のいずれがアクティブになったのかを判
断して対応するエラー処理を行う。
【0031】図2は複数のスタックポインタレジスタを
備えた本発明装置の第2の実施例構成を示すブロック図
である。図中、図5に示す従来のデータ処理装置と同一
部分には同一符号を付してその説明を省略する。本実施
例では、8ビットのスタックポインタレジスタ11A,21A
の最下位ビットはそれぞれ“0”,“1”に固定されて
おり、加減算回路12A はスタックポインタレジスタ11A
の保持値の上位7ビットを更新し、加減算回路22A はス
タックポインタレジスタ21A の保持値の上位7ビットを
更新する。
【0032】この場合、データ書き込み時にスタックポ
インタレジスタ11A,21A にそれぞれ設定される初期値
(“a+x−1”及び“a+x”)の上位7ビットは同
一値である。最下位が“0”,“1”であるので、全8
ビットが一致することはない。即ち、スタックレジスタ
が2個の場合、スタック領域201 の偶数アドレスをスタ
ックポインタレジスタ11A を用いたスタック操作に、ま
た奇数アドレスをスタックポインタレジスタ21A を用い
たスタック操作に使い分けることになる。
【0033】次に、動作について説明する。まず、スタ
ックポインタレジスタ11A 及び加減算回路12A を用いた
スタック操作について説明する。スタック操作によるデ
ータ書き込み時には、加減算回路12A にスタックポイン
タレジスタ11A の上位7ビットを読み込み、その値から
“1”を減算してスタックポインタレジスタ11A の保持
値の上位7ビットを更新し、更新された7ビットを含む
スタックポインタレジスタ11A の保持値の全8ビットを
アドレスとしてデータを書き込む。
【0034】逆に、スタック操作によるデータ読み出し
時には、スタックポインタレジスタ11A の全8ビットを
アドレスとしてデータを読み出し、加減算回路12A にス
タックポインタレジスタ11A の上位7ビットを読み込
み、その値に“1”を加算してスタックポインタレジス
タ11A の上位7ビットを更新する。
【0035】スタックポインタレジスタ21A 及び加減算
回路22A を用いたスタック操作時の動作は、スタックポ
インタレジスタ11A 及び加減算回路12A を用いたスタッ
ク操作時と同様である。
【0036】図2に示すように、スタックポインタレジ
スタ11A 及び加減算回路12A を用いたスタック操作によ
るデータ書き込み時には、“S1-1”,“S1-2”,“S1-
3”,…のデータが“a+x−1”,“a+x−3”,
“a+x−5”,…と1つおきのアドレスに順次書き込
まれて使用中のスタック領域はスタック領域の上方に伸
びていき、スタックポインタレジスタ11A の保持値が
“2”ずつ小さくなっていく。
【0037】また、スタックポインタレジスタ11A 及び
加減算回路12A を用いたスタック操作によるデータ読み
出し時には、“S1-5”,“S1-4”,“S1-3”,…のデー
タは“a+x−9”,“a+x−7”,“a+x−
5”,…と1つおきのアドレスから順次読み出されて使
用中のスタック領域はスタック領域の下方に減じてい
き、スタックポインタレジスタ11A の保持値が“2”ず
つ大きくなっていく。
【0038】なお、本実施例では2個のスタックポイン
タレジスタを使用したスタック操作について説明した
が、スタックポインタレジスタの数が3以上であって
も、固定値のビット数を増すことにより複数のスタック
が互いに重なり合わないようにすることができる。例え
ば、4個のスタックポインタレジスタを備えている場
合、下位の2ビットを“00”,“01”,“10”,“11”
にそれぞれ固定すればよい。
【0039】また、本実施例では1つのアドレス値で指
定される1つの記憶領域に対してのみ一度に読み書きで
きる場合について説明したが、1つのアドレス値で指定
される複数の記憶領域に対して一度に読み書きする場合
にも適用可能であって、その場合は固定するビットの位
置を、複数の記憶領域を区別するための下位以外の位置
に定めればよい。例えば、2個のスタックポインタレジ
スタを備え、1つのアドレス値で指定される4つの記憶
領域に対して一度に読み書きする場合、各スタックポイ
ンタレジスタの下位2ビットは、一度に読み書きする4
つの記憶領域の区別を示すビットであるため値を固定す
ることはできないので、最下位から3ビット目より上位
の位置のビットを固定値に設定する。
【0040】図3は、n個のスタックポインタレジスタ
を備えた本発明装置の第3の実施例の要部構成を示すブ
ロック図である。図5に示す従来のデータ処理装置及び
第2の実施例と同一部分には同一符号を付してその説明
を省略する。本実施例では、8ビットのスタックポイン
タレジスタ11A,21A,…,n1Aの初期値は連続したアドレス
値“a+x-n+1 ”,“a+x-n+2 ”,…,“a+x ”に設定さ
れており、加減算回路12A,22A,n2A はそれぞれスタック
ポインタレジスタ11A,21A,n1A の保持値の全8ビットを
読み込み、この値に“n”を加減算してスタックポイン
タレジスタ11A,21A,n1A の保持値を更新する。
【0041】即ち、各スタックポインタレジスタ11A,21
A,n1A はスタック領域201 の“n”おきのアドレス空間
を使用するように設定されるので、n個のスタック操作
において互いに使用するスタック領域は重なり合わな
い。
【0042】次に、動作について説明する。スタック操
作によるデータの読み出し/書き込みの動作は、更新時
に加減算する値が“n”である点以外は図5に示す従来
のデータ処理装置の動作と同様であるので説明を省略す
る。
【0043】図3に示すように、スタックポインタレジ
スタ11A 及び加減算回路12A を用いたスタック操作によ
るデータ書き込み時には、“S1-1”,“S1-2”,…,
“S1-n”のデータが“a+x-n+1 ”,“a+x-2n+1”,…,
“a”と“n”おきのアドレスに順次書き込まれて使用
中のスタック領域はスタック領域の上方に伸びていき、
スタックポインタレジスタ11A の保持値が“n”ずつ小
さくなっていく。
【0044】また、スタックポインタレジスタ11A 及び
加減算回路12A を用いたスタック操作によるデータ読み
出し時には、“S1-n”,…, “S1-2”,“S1-1”のデー
タは“a”,…, “a+x-2n+1”,“a+x-n+1 ”,…と
“n”おきのアドレスから順次読み出されて使用中のス
タック領域はスタック領域の下方に減じていき、スタッ
クポインタレジスタ11A の保持値が“n”ずつ大きくな
っていく。
【0045】他のスタックポインタレジスタ21A,…,n1A
及び加減算回路22A,…,n2Aを用いたスタック操作時の動
作は、スタックポインタレジスタ11A 及び加減算回路12
A を用いたスタック操作時と同様である。
【0046】
【発明の効果】以上のように、第1の本発明装置は、ス
タック領域の上限のみならず下限を示すアドレス値とス
タックポインタ値とを、スタック操作によるデータの読
み出し/書き込みの都度、比較して一致した場合は読み
出し/書き込みを禁止するのでスタック領域以外の記憶
領域からのデータ読み出しによる記憶内容の破壊を防止
するという優れた効果を奏する。
【0047】また、第2の本発明装置は、複数のスタッ
ク操作に使用される複数のスタックポインタ値の一部ビ
ットを互いに異なる値に固定してスタックポインタ値が
増減した場合にも同一値とならないようにしたので、複
数のスタック操作で使用する記憶領域が重なり合うこと
がなく、他のスタック操作による記憶内容の破壊を防止
するという優れた効果を奏する。
【0048】さらに、第3の本発明装置は、n個のスタ
ック操作に使用されるn個のスタックポインタ値を連続
したアドレス値に設定するとともに次の操作アドレスを
指示すべくスタックポインタ値に“n”を加減算するの
で、n個のスタック操作で使用する記憶領域が重なり合
うことがなく、他のスタック操作による記憶内容の破壊
を防止するという優れた効果を奏する。
【図面の簡単な説明】
【図1】本発明装置の第1の実施例の要部構成を示すブ
ロック図である。
【図2】本発明装置の第2の実施例の要部構成を示すブ
ロック図である。
【図3】本発明装置の第3の実施例の要部構成を示すブ
ロック図である。
【図4】従来のデータ処理装置の一例の要部構成を示す
ブロック図である。
【図5】従来のデータ処理装置の他の例の要部構成を示
すブロック図である。
【符号の説明】
10A データ処理部 11A,21A,…,n1A スタックポインタレジスタ 12A,22A,…,n2A 加減算回路 16 ベースレジスタ 17 比較器 18 ORゲート 20 記憶領域 200 スタック領域
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成4年11月4日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】0013
【補正方法】変更
【補正内容】
【0013】図5のように、スタックポインタレジスタ
11B 及び加減算回路12B を用いたスタック操作でアドレ
スの大きい方から“S1-1”,“S1-2”,“S1-3”, …と
データが書き込まれる都度、スタック領域はアドレスが
小さい方の領域に伸びてスタックポインタレジスタ11B
の保持値が小さくなっていく。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0017
【補正方法】変更
【補正内容】
【0017】
【発明が解決しようとする課題】従来のデータ処理装置
は以上のような構成であるので、先のデータ処理装置
は、書き込み時にスタック領域の最小アドレスを越えて
データを書き込まないようにスタックポイント限界レジ
スタを設けているが、書き込み時と逆にアドレスが大き
くなる方に操作が進行する読み出し時に、プログラムミ
ス等によりスタック領域を越えてデータを読み出した場
合はスタック領域を越えたことを検出できず、スタック
領域以外から読み出したデータを更新して元のアドレス
に書き込み、記憶内容を破壊してしまうという危険性が
ある。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0039
【補正方法】変更
【補正内容】
【0039】また、本実施例では1つのアドレス値で指
定される1つの記憶領域に対してのみ一度に読み書きで
きる場合について説明したが、1つのアドレス値で指定
される複数の記憶領域に対して一度に読み書きする場合
にも適用可能であって、その場合は固定するビットの位
置を、複数の記憶領域を区別するための下位ビット以外
の位置に定めればよい。例えば、2個のスタックポイン
タレジスタを備え、1つのアドレス値で指定される4つ
の記憶領域に対して一度に読み書きする場合、各スタッ
クポインタレジスタの下位2ビットは、一度に読み書き
する4つの記憶領域の区別を示すビットであるため値を
固定することはできないので、最下位から3ビット目よ
り上位の位置のビットを固定値に設定する。
【手続補正4】
【補正対象書類名】明細書
【補正対象項目名】0046
【補正方法】変更
【補正内容】
【0046】
【発明の効果】以上のように、第1の本発明装置は、ス
タック領域の上限のみならず下限を示すアドレス値とス
タックポインタ値とを、スタック操作によるデータの読
み出し/書き込みの都度、比較して一致した場合は読み
出し/書き込みを禁止するのでスタック領域以外の記憶
領域からのデータ読み出し/書き込みによる記憶内容の
破壊を防止するという優れた効果を奏する。
【手続補正5】
【補正対象書類名】明細書
【補正対象項目名】0048
【補正方法】変更
【補正内容】
【0048】さらに、第3の本発明装置は、n個のスタ
ック操作に使用されるn個のスタックポインタ値の始点
を連続したアドレス値に設定するとともに次の操作アド
レスを指示すべくスタックポインタ値に“n”を加減算
するので、n個のスタック操作で使用する記憶領域が重
なり合うことがなく、他のスタック操作による記憶内容
の破壊を防止するという優れた効果を奏する。
【手続補正6】
【補正対象書類名】明細書
【補正対象項目名】符号の説明
【補正方法】変更
【補正内容】
【符号の説明】 10A データ処理部 11A,21A,…,n1A スタックポインタレジスタ 12A,22A,…,n2A 加減算回路 16 ベースレジスタ 17 比較器 18 ORゲート 20 記憶領域201 スタック領域
───────────────────────────────────────────────────── フロントページの続き (72)発明者 畑 雅之 兵庫県伊丹市瑞原4丁目1番地 三菱電機 株式会社北伊丹製作所内

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 スタック操作によるデータの読み出し/
    書き込みを実行する際、スタックポインタ値に所定値を
    加減算して次に操作すべきアドレスを指示するデータ処
    理装置において、スタックとして使用可能なアドレス空
    間の上限を示すアドレス値を保持する第1のレジスタ
    と、該アドレス空間の下限を示すアドレス値を保持する
    第2のレジスタと、スタックポインタ値と読み出し又は
    書き込みの別に応じて第1又は第2のレジスタの保持値
    とを比較する手段と、比較の結果に従って、データの読
    み出し/書き込みを禁止する手段とを備えたことを特徴
    とするデータ処理装置。
  2. 【請求項2】 複数のスタックの選択的操作によるデー
    タの読み出し/書き込みを行うとともに、各スタックに
    対応するスタックポインタ値に所定値を加減算して次に
    操作すべきアドレスを指示するデータ処理装置におい
    て、前記スタックポインタ値の一部ビットが互いに他と
    異なる値に固定されていることを特徴とするデータ処理
    装置。
  3. 【請求項3】 n個(nは2以上の自然数)のスタック
    の選択的操作によるデータの読み出し/書き込みを行う
    とともに、各スタックに対応するスタックポインタ値に
    所定値を加減算して次に操作すべきアドレスを指示する
    データ処理装置において、各スタックの使用可能領域の
    始点を示すスタックポインタ値が連続するアドレス値に
    設定されているとともに、前記所定値がnに設定されて
    いることを特徴とするデータ処理装置。
JP17070392A 1992-06-29 1992-06-29 データ処理装置 Pending JPH0619703A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP17070392A JPH0619703A (ja) 1992-06-29 1992-06-29 データ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP17070392A JPH0619703A (ja) 1992-06-29 1992-06-29 データ処理装置

Publications (1)

Publication Number Publication Date
JPH0619703A true JPH0619703A (ja) 1994-01-28

Family

ID=15909835

Family Applications (1)

Application Number Title Priority Date Filing Date
JP17070392A Pending JPH0619703A (ja) 1992-06-29 1992-06-29 データ処理装置

Country Status (1)

Country Link
JP (1) JPH0619703A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002229927A (ja) * 2001-02-01 2002-08-16 Howa Mach Ltd フラグ情報による制御プログラム及び入出力制御方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002229927A (ja) * 2001-02-01 2002-08-16 Howa Mach Ltd フラグ情報による制御プログラム及び入出力制御方法

Similar Documents

Publication Publication Date Title
JP2875842B2 (ja) プログラマブルコントローラ
RU2310906C2 (ru) Способ защиты вычислительного устройства от несанкционированного выполнения операций с содержимым его регистров и вычислительное устройство для осуществления этого способа
JPH0619703A (ja) データ処理装置
KR20010078371A (ko) 컴퓨터 시스템 프로세서의 현재 특권 레벨 승격 방법 및컴퓨터 시스템의 인스트럭션 실행 방법
JPS6220583B2 (ja)
US12481551B2 (en) Method for accessing a data block, stored in a memory unit of a computing unit, of a number of data blocks
JPS5958550A (ja) 命令フエツチトラツプ制御方式
KR930003410B1 (ko) 스택영역의 데이터참조를 고속으로 행하는 데이터처리장치
JPS62126448A (ja) メモリの管理・保護方式
WO1996012230A1 (en) System and method for processing of memory data and communication system comprising such system
JPS6035694B2 (ja) 主記憶保護方式
JPS62251833A (ja) 計算機システム
JPH03127126A (ja) 情報処理装置
JPH01205340A (ja) データ処理装置
JPH0546581B2 (ja)
JPS61270182A (ja) プリンタ
JPH01175053A (ja) セグメンテーション方式のデータ処理装置
JPH0348954A (ja) キー記憶制御方式
JPH01140255A (ja) メモリ保護方法
JPS59167757A (ja) 電子計算機のプログラム暴走防止方式
JPS62281040A (ja) ペ−ジ管理方式
JPS61269755A (ja) マイクロプログラム制御装置の障害処理方式
JPS6069751A (ja) 演算用レジスタのメモリ化制御方式
JPH0427574B2 (ja)
JPH05314003A (ja) キャッシュメモリ装置