JPS5933552A - デ−タ処理装置 - Google Patents
デ−タ処理装置Info
- Publication number
- JPS5933552A JPS5933552A JP14290482A JP14290482A JPS5933552A JP S5933552 A JPS5933552 A JP S5933552A JP 14290482 A JP14290482 A JP 14290482A JP 14290482 A JP14290482 A JP 14290482A JP S5933552 A JPS5933552 A JP S5933552A
- Authority
- JP
- Japan
- Prior art keywords
- stack
- register
- area
- pointer
- section
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
- G06F9/30043—LOAD or STORE instructions; Clear instruction
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔発明の技術分野〕
本発明はスタック機能を有してなるデータ処理装置に関
する。
する。
従来のこの種スタック機能を有してなるデータ処理装置
の構成を第1図に示す。第1図において、11は主記憶
部1oへの書込みを許可する区画を示すレジスタ群(以
下メモリプロテクトレジスタ部と称す)、1211−1
ニスタツク情報を格納するレジスタ群(以、下スタック
コントロールレジスタ部と称す)である。13は主記憶
部10のアドレスレジスタ(AR)、J 4は主記憶ア
クセス時のアドレスが書込み許可区画内にあるか否かを
判断する比較器(COM )である。15はスタックコ
ントロールレジスタ部12のうちのスタック下限アドレ
スを格納するレジスタ、16は同じく一ヒ限アドレスを
格納するレジスタ、17は号?インクを格納するレジス
タである。
の構成を第1図に示す。第1図において、11は主記憶
部1oへの書込みを許可する区画を示すレジスタ群(以
下メモリプロテクトレジスタ部と称す)、1211−1
ニスタツク情報を格納するレジスタ群(以、下スタック
コントロールレジスタ部と称す)である。13は主記憶
部10のアドレスレジスタ(AR)、J 4は主記憶ア
クセス時のアドレスが書込み許可区画内にあるか否かを
判断する比較器(COM )である。15はスタックコ
ントロールレジスタ部12のうちのスタック下限アドレ
スを格納するレジスタ、16は同じく一ヒ限アドレスを
格納するレジスタ、17は号?インクを格納するレジス
タである。
このような構成をなすデータ処理装置において、スタッ
クオーバフローが生じ、スタック命令エラーとなった際
に、主記憶1oの別の領域にスタック領域の拡張を行な
う場合、従来では以下のような不都合が生じていた。即
ち、スタック領域を拡張する際、その拡張スタック領域
を書込み許可区画内におく必要があるが、この際、主記
憶1oへの書込み許可区画を示すメモリプロテクトレジ
スタ部11が、通常、既にすべて使用されていることか
ら、スタックコントロールレジスタ部12の各レジスタ
15,16゜17の内容を設定し直して、他の領域にス
タックを拡張しても、その拡張されたスタック領域は主
記憶部10の書込み保護下にある。従ってスタックコン
トロールレジスタ部12を設定し直して、スタック領域
を拡張しても、その拡張されたスタック領域を拡張前の
常駐スタック領域と同様に扱うことができず、拡張され
たスタック領域を使用するためには、特定の命令を用意
しなければならないことから、スタックコントロールが
複雑化し、実用に供し難いという欠点を有していた。
クオーバフローが生じ、スタック命令エラーとなった際
に、主記憶1oの別の領域にスタック領域の拡張を行な
う場合、従来では以下のような不都合が生じていた。即
ち、スタック領域を拡張する際、その拡張スタック領域
を書込み許可区画内におく必要があるが、この際、主記
憶1oへの書込み許可区画を示すメモリプロテクトレジ
スタ部11が、通常、既にすべて使用されていることか
ら、スタックコントロールレジスタ部12の各レジスタ
15,16゜17の内容を設定し直して、他の領域にス
タックを拡張しても、その拡張されたスタック領域は主
記憶部10の書込み保護下にある。従ってスタックコン
トロールレジスタ部12を設定し直して、スタック領域
を拡張しても、その拡張されたスタック領域を拡張前の
常駐スタック領域と同様に扱うことができず、拡張され
たスタック領域を使用するためには、特定の命令を用意
しなければならないことから、スタックコントロールが
複雑化し、実用に供し難いという欠点を有していた。
本発明は上記実情に鑑みなされたもので、スタック拡張
時において、その拡張されたスタック領域を拡張前のス
タック領域と共に、常に書込み許可区画に設定でき、主
記憶上に分散して置かれた拡張前のスタック領域及び拡
張されたスタック領域を常に一つのスタック領域として
使用することのできるデータ処理装置を提供することを
目的とする。
時において、その拡張されたスタック領域を拡張前のス
タック領域と共に、常に書込み許可区画に設定でき、主
記憶上に分散して置かれた拡張前のスタック領域及び拡
張されたスタック領域を常に一つのスタック領域として
使用することのできるデータ処理装置を提供することを
目的とする。
本発明は、スタックコントロールレジスタ部に、拡張さ
れたスタック領域の下限アドレス、上限アドレスを貯え
る一対のレジ1夕と、拡張前のスタック領域の下限アド
レス、上限アドレスを貯える一対のレジスタとを設け、
これら各レジスタを書込み許可区画を示すレジスタ部と
共用する構成として、スタック拡張時におけるスタック
コントロールレジスタ部の設定に伴い、拡張スタック領
域及び拡張前のスタック領域を共に書込み保護下から外
して書込み許可区画に設定し、主記憶上の互に別領域に
形成された拡張前及び拡張後の各スタック領域を常に一
つのスタック領域として使用できるようにしたものであ
る。
れたスタック領域の下限アドレス、上限アドレスを貯え
る一対のレジ1夕と、拡張前のスタック領域の下限アド
レス、上限アドレスを貯える一対のレジスタとを設け、
これら各レジスタを書込み許可区画を示すレジスタ部と
共用する構成として、スタック拡張時におけるスタック
コントロールレジスタ部の設定に伴い、拡張スタック領
域及び拡張前のスタック領域を共に書込み保護下から外
して書込み許可区画に設定し、主記憶上の互に別領域に
形成された拡張前及び拡張後の各スタック領域を常に一
つのスタック領域として使用できるようにしたものであ
る。
以下図面を参照して本発明の一実施例を説明する。第2
図は本発明の一実施例を示すブロック図である。図中、
100はスタック領域が形成される主記憶部、101は
主記憶アクセス時のアドレスが書込み許可区画内にある
か否かを判断する比較器(COM)、102は主記憶部
100のアドレス指定を行なうアドレスレジスタ(AR
)である。103Aは主記憶部100への書込み許可区
画を示すレジスタ群(以下メモリプロテクトレジスタ部
と称す)であl)、103Bは一部のレジスタを上記メ
モリプロテクトレジスタ部103Aと共用するスタック
コントロールレジスタ部である。RAI + RAt
、及URBIRB、は上記スタックコントロールレジ
スタ部103Bのうち、メモリプロテクトレジスタ部1
03Aと共用される2対のレジスタであシ、レジスタR
A、とRA、、レジスタRB、とRB。
図は本発明の一実施例を示すブロック図である。図中、
100はスタック領域が形成される主記憶部、101は
主記憶アクセス時のアドレスが書込み許可区画内にある
か否かを判断する比較器(COM)、102は主記憶部
100のアドレス指定を行なうアドレスレジスタ(AR
)である。103Aは主記憶部100への書込み許可区
画を示すレジスタ群(以下メモリプロテクトレジスタ部
と称す)であl)、103Bは一部のレジスタを上記メ
モリプロテクトレジスタ部103Aと共用するスタック
コントロールレジスタ部である。RAI + RAt
、及URBIRB、は上記スタックコントロールレジ
スタ部103Bのうち、メモリプロテクトレジスタ部1
03Aと共用される2対のレジスタであシ、レジスタR
A、とRA、、レジスタRB、とRB。
とがそれぞれ対をなす。この2対のレジスタRAI e
RAt 、及びRB、、RB、には、拡張前及び拡張
後の各スタック領域における下限アドレス、及び上限ア
ドレスが選択的に貯えられる。
RAt 、及びRB、、RB、には、拡張前及び拡張
後の各スタック領域における下限アドレス、及び上限ア
ドレスが選択的に貯えられる。
通常とれらのスタック領域は偶数番地をもってメモリの
割付けが行なわれることから、上記各レジスタRAl
t RAx HRBI y RBIの最下位ピッ)
(LSB )は°゛0″の値となっている。そこで本
発明の一実施例においては、上記各レジスタRA、
、 RA、 、 RB、 、 RB、のうち、スタッ
ク下限アドレス(スタック拡張前における常駐スタック
領域の下限アドレス)を貯えるレジスタRA、の最下位
ピッ) (LSB )をスタック拡張有無を示すフラグ
ビット(SF)として使用する。ここではスタック拡張
時に上記フラグビット(8F)に1”を立てるものとす
る。又、レジスタRA、にはスタック拡張前における常
駐スタック領域の上限アドレスが格納され、レジスタR
B、には拡張されたスタック領域の下限アドレスが格納
され、レジスタRB、にはスタック上限アドレス(拡張
スタック領域の上限アドレス)が格納される。又、スタ
ックコントロールレジスタ部103B内のReはポイン
タを貯えるレジスタである。104はスタック拡張時に
おいて上記レジスタRCのポインタを待避するレジスタ
であシ、105I 、1θ5!は上記各レジスタのデー
タ転送に供される内部バスである。
割付けが行なわれることから、上記各レジスタRAl
t RAx HRBI y RBIの最下位ピッ)
(LSB )は°゛0″の値となっている。そこで本
発明の一実施例においては、上記各レジスタRA、
、 RA、 、 RB、 、 RB、のうち、スタッ
ク下限アドレス(スタック拡張前における常駐スタック
領域の下限アドレス)を貯えるレジスタRA、の最下位
ピッ) (LSB )をスタック拡張有無を示すフラグ
ビット(SF)として使用する。ここではスタック拡張
時に上記フラグビット(8F)に1”を立てるものとす
る。又、レジスタRA、にはスタック拡張前における常
駐スタック領域の上限アドレスが格納され、レジスタR
B、には拡張されたスタック領域の下限アドレスが格納
され、レジスタRB、にはスタック上限アドレス(拡張
スタック領域の上限アドレス)が格納される。又、スタ
ックコントロールレジスタ部103B内のReはポイン
タを貯えるレジスタである。104はスタック拡張時に
おいて上記レジスタRCのポインタを待避するレジスタ
であシ、105I 、1θ5!は上記各レジスタのデー
タ転送に供される内部バスである。
第3図<a) t (h)、第4図(a) # (b)
、及び第5図(a)乃至(f)はそれぞれ一実施例の動
作を説明するための図であυ、第3図(a) I (b
)はスタック拡張前とスタック拡張後のスタックコント
ロールレジスタ部103Bの内容を示し、第4図(a)
# (b)は第3図(a) e (b)に対応するス
タック拡張前及びスタック拡張後の各スタック領域を示
している。
、及び第5図(a)乃至(f)はそれぞれ一実施例の動
作を説明するための図であυ、第3図(a) I (b
)はスタック拡張前とスタック拡張後のスタックコント
ロールレジスタ部103Bの内容を示し、第4図(a)
# (b)は第3図(a) e (b)に対応するス
タック拡張前及びスタック拡張後の各スタック領域を示
している。
第5図(、)乃至0)はスタック領域の各種使用状態を
示したもので、斜線で示す部分が今回の命令処理で使用
される又は解放しようとするスタック領域を示している
。
示したもので、斜線で示す部分が今回の命令処理で使用
される又は解放しようとするスタック領域を示している
。
ここで一実施例の動作を説明する。先ずスタック拡張動
作について説明する。スタック拡張前においては、第3
図(、)に示す如く、スタックコントロールレジスタ部
103Bのうちの、スタック下限アドレスを貯えるレジ
スタRA、の最下位ビットを用いたスタック拡張有無を
示すフラグぎット(SF)の内容が、スタックの拡張無
しを示す′0”状態となっておシ、この際は、上記レジ
スタRA、と対をなすレジスタRA、の内容がスタック
上限アドレスとして扱われる。
作について説明する。スタック拡張前においては、第3
図(、)に示す如く、スタックコントロールレジスタ部
103Bのうちの、スタック下限アドレスを貯えるレジ
スタRA、の最下位ビットを用いたスタック拡張有無を
示すフラグぎット(SF)の内容が、スタックの拡張無
しを示す′0”状態となっておシ、この際は、上記レジ
スタRA、と対をなすレジスタRA、の内容がスタック
上限アドレスとして扱われる。
(a)
このスタック拡張前のスタック領域を第4酢示す。この
際、スタックコントロールレジスタ部103Bのうちの
、上記した一対のレジスタRA、 、 RA、は、メ
モリプロテクトレジスタ部103Aのレジスタでもある
ので、この一対のレジスタRA、、RA、で示されるメ
モリ領域は、書込み許可区画となっている。
際、スタックコントロールレジスタ部103Bのうちの
、上記した一対のレジスタRA、 、 RA、は、メ
モリプロテクトレジスタ部103Aのレジスタでもある
ので、この一対のレジスタRA、、RA、で示されるメ
モリ領域は、書込み許可区画となっている。
ここで、上記レジスタRA、 、 RA、で示される第
4図(、)のスタック領域を越える領域をスタック領域
として使用しようとすると、スタックオーバフローが発
生し、これがO8により検出される。このスタックオー
バフローの発生によ、り、O8は、主記憶部100上の
第4図に示すスタック領域とは別の領域に新たにスタッ
ク拡張領域を確保する。例えば、O8が予めスタックの
予備領域を確保しておき、スタックオーバフローが検出
されることによって、その予備領域をスタック拡張領域
として開放する。更に、このスタック拡張領域を第4図
(、)に示す拡張前のスタック領域と全く同一に扱うこ
とのできるよう、以下のような制御動作が実行される。
4図(、)のスタック領域を越える領域をスタック領域
として使用しようとすると、スタックオーバフローが発
生し、これがO8により検出される。このスタックオー
バフローの発生によ、り、O8は、主記憶部100上の
第4図に示すスタック領域とは別の領域に新たにスタッ
ク拡張領域を確保する。例えば、O8が予めスタックの
予備領域を確保しておき、スタックオーバフローが検出
されることによって、その予備領域をスタック拡張領域
として開放する。更に、このスタック拡張領域を第4図
(、)に示す拡張前のスタック領域と全く同一に扱うこ
とのできるよう、以下のような制御動作が実行される。
先ず、スタック拡張領域の下限アドレスをスタックコン
トロールレジスタ部103BのレジスタRB、に格納す
るとともに、同領域の上限アドレスを上記レジスタ8B
、と対をなすレジスタRB!に格納する。又、上記スタ
ックコントロールレジスタ部103Bのうちの、スタッ
ク下限アドレスを貯えるレジスタRA、の最下位ビット
、即ちフラグビット(SF)に、スタック拡張有シを示
す1“の7ラグを立てる。更に、スタックコントロール
レジスタ部103Bのうちの、レジスタReに貯えられ
ているポインタをレジスタ104に移し、上記レジスタ
RCには上記スタック拡張領域の下限アドレス(B)を
新ポインタとして格納する。このスタック拡張後におけ
るスタックコントロールレジスタ部103Bの状態を第
3図(b)に示し、そのスタック領域を第4図(b)に
示す。この際は、上述の如く、スタックコントロールレ
ジスタ部103Bのうちの、スタック下限アドレスを貯
えるレジスタRA、の最下位ビットを用いたスタック拡
張有無を示すフラグビットが” 1 ” (SF=“ビ
)となって、スタック領域が拡張されていることを示し
ており、スタック領域が、レジスタRA、 。
トロールレジスタ部103BのレジスタRB、に格納す
るとともに、同領域の上限アドレスを上記レジスタ8B
、と対をなすレジスタRB!に格納する。又、上記スタ
ックコントロールレジスタ部103Bのうちの、スタッ
ク下限アドレスを貯えるレジスタRA、の最下位ビット
、即ちフラグビット(SF)に、スタック拡張有シを示
す1“の7ラグを立てる。更に、スタックコントロール
レジスタ部103Bのうちの、レジスタReに貯えられ
ているポインタをレジスタ104に移し、上記レジスタ
RCには上記スタック拡張領域の下限アドレス(B)を
新ポインタとして格納する。このスタック拡張後におけ
るスタックコントロールレジスタ部103Bの状態を第
3図(b)に示し、そのスタック領域を第4図(b)に
示す。この際は、上述の如く、スタックコントロールレ
ジスタ部103Bのうちの、スタック下限アドレスを貯
えるレジスタRA、の最下位ビットを用いたスタック拡
張有無を示すフラグビットが” 1 ” (SF=“ビ
)となって、スタック領域が拡張されていることを示し
ており、スタック領域が、レジスタRA、 。
RA、で示される領域とレジスタRB、、RB。
で示される領域とでなることを示している。すなわち、
SF=″1”(スタック拡張時)においては、スタック
土1!I!アドレスがレジスタRA、で示されるのでは
なく、レジスタRB、で示され、2つのスタック領域を
つなぐアドレスがレジスタRA @ + RB Iで示
されることになる。ここで、拡張されたスタック領域を
示すレジスタRB、。
SF=″1”(スタック拡張時)においては、スタック
土1!I!アドレスがレジスタRA、で示されるのでは
なく、レジスタRB、で示され、2つのスタック領域を
つなぐアドレスがレジスタRA @ + RB Iで示
されることになる。ここで、拡張されたスタック領域を
示すレジスタRB、。
RB、は上述したレジスタRA、、I’LA、と同様に
メモリプロテクトレジスタ部103Aのレジスタでもあ
るので、この一対のレジスタRB、 。
メモリプロテクトレジスタ部103Aのレジスタでもあ
るので、この一対のレジスタRB、 。
RB、で示されるメモリ領域すなわち拡張されたスタッ
ク領域は、上記レジスタRA、、RA。
ク領域は、上記レジスタRA、、RA。
で示される拡張前のスタック領域と同様に書込み許可区
画となる。
画となる。
次に、上述の如くしてスタックの拡張がなされている際
の、°各種レジスタ類のスタックへの退避命令や、スタ
ック領域の確保命令等の実行動作について説明する。こ
れらの命令実行時においては、先ずスタックコントロー
ルレジスタ部103BのレジスタRA、の最下位ぎット
を用いたフラダピッ)(SF)の内容が調べられる。
の、°各種レジスタ類のスタックへの退避命令や、スタ
ック領域の確保命令等の実行動作について説明する。こ
れらの命令実行時においては、先ずスタックコントロー
ルレジスタ部103BのレジスタRA、の最下位ぎット
を用いたフラダピッ)(SF)の内容が調べられる。
ここでフラグビットがスタック拡張布シを示している(
SF=″1#)と、以下のスタックコントロール動作を
実行する。これを第5図(、)乃至(c)を参照して説
明する。スタックコントロールレジスタ部103Bのレ
ジスタRCによυ示されるポインタが第5図(、)に示
す如く、拡張前のスタック領域にある際、新ポインタの
位置を計算して、その位置が同じスタック領域にあれば
、つまシ、レジスタRA、で示されるアドレスAよシ新
ポインタが小さければ、第5図(、)に斜線で示すスタ
ック領域が使用される。又、上記ポインタを基点とした
新ポインタがAより大きければ、次に、レジスタRB、
で示されるアドレスBを基点とした新ポインタを引算し
、これがレジスタRB、で示されるスタック上限アドレ
スよシ太きけれはオーバフローとし、小さければその新
ポインタまでの第5図(b)に斜線で示すスタック領域
を使用する。この際、もとのポインタ(旧ポインタ)を
レジスタ104に格納する。
SF=″1#)と、以下のスタックコントロール動作を
実行する。これを第5図(、)乃至(c)を参照して説
明する。スタックコントロールレジスタ部103Bのレ
ジスタRCによυ示されるポインタが第5図(、)に示
す如く、拡張前のスタック領域にある際、新ポインタの
位置を計算して、その位置が同じスタック領域にあれば
、つまシ、レジスタRA、で示されるアドレスAよシ新
ポインタが小さければ、第5図(、)に斜線で示すスタ
ック領域が使用される。又、上記ポインタを基点とした
新ポインタがAより大きければ、次に、レジスタRB、
で示されるアドレスBを基点とした新ポインタを引算し
、これがレジスタRB、で示されるスタック上限アドレ
スよシ太きけれはオーバフローとし、小さければその新
ポインタまでの第5図(b)に斜線で示すスタック領域
を使用する。この際、もとのポインタ(旧ポインタ)を
レジスタ104に格納する。
次に 、49インクが第5図(c)に示すように、拡張
されたスタック領域にある際は、ポインタを基点として
新Iインタを計算し、との新、J?ポインタレジスタR
B、で示されるスタック上限アドレスよりも大きければ
オーバ70−とし、小さければ第5図(、)に斜線で示
されるスタック領域を使用する。
されたスタック領域にある際は、ポインタを基点として
新Iインタを計算し、との新、J?ポインタレジスタR
B、で示されるスタック上限アドレスよりも大きければ
オーバ70−とし、小さければ第5図(、)に斜線で示
されるスタック領域を使用する。
次に、第5図(d)乃至(f)を参照してスタック領域
の解放命令処理動作を説明する。ポインタがレジスタR
A、で示されるスタック下限アドレスとレジスタRA、
で示されるアドレスAとの間にある場合は、従来と同様
にスタック領域の解放が行なわれる。ポインタがこの領
域にない場合、つまシボインタがレジスタRA、で示さ
れるスタック下限アドレスよシ小さいか、若しくはレジ
ス4RA、より大きい場合、又は、ポインタがレジスタ
RB、で示されるアドレスBとレジスタRB、で示され
るスタック上限アドレスとの間にないときは、スタック
イリーガルとする。ポインタが上記したレジスタRB、
、RB、で示されゐアドレスBとスタック上限アドレス
との間にあるときは、以下の動作が行なわれる・ポイン
タを基点としてスタックを解放したときの新ポインタを
計算する。この新ポインタがレジスタRB、で示される
アドレスBよりも大きいときは、第5図(d)に斜線で
示すように、そのままスタック領域の解放を行なう。又
、ポインタを基点とした新ポインタがレジスタRBIで
示されるアドレスBと一致したときは、第5図(、)に
斜線で示すように、そのままスタック領域の解放を行々
うが、この際は、レジスタ104から、旧ポインタを取
出し、とのポインタをスタックコントロールレジスタ部
103BのレジスタRCに格納してこれを新?インクと
する。又、ポインタを基点とした新ポインクがレジスタ
RB、で示されるアドレスBより小さくなるときは、第
5図(f)に斜線で示すように、ポインタから上記アド
レスBtでの領域を解放し、次にレジスタ104に格納
されている旧ポインタから解放すべきスタック領域の残
る領域を解放し、そこを新ポインタとする。但し、この
新ポインタがレジスタRA、で示されるスタック下限ア
ドレスより小さくなるときは、スタックイリーガルとす
る。
の解放命令処理動作を説明する。ポインタがレジスタR
A、で示されるスタック下限アドレスとレジスタRA、
で示されるアドレスAとの間にある場合は、従来と同様
にスタック領域の解放が行なわれる。ポインタがこの領
域にない場合、つまシボインタがレジスタRA、で示さ
れるスタック下限アドレスよシ小さいか、若しくはレジ
ス4RA、より大きい場合、又は、ポインタがレジスタ
RB、で示されるアドレスBとレジスタRB、で示され
るスタック上限アドレスとの間にないときは、スタック
イリーガルとする。ポインタが上記したレジスタRB、
、RB、で示されゐアドレスBとスタック上限アドレス
との間にあるときは、以下の動作が行なわれる・ポイン
タを基点としてスタックを解放したときの新ポインタを
計算する。この新ポインタがレジスタRB、で示される
アドレスBよりも大きいときは、第5図(d)に斜線で
示すように、そのままスタック領域の解放を行なう。又
、ポインタを基点とした新ポインタがレジスタRBIで
示されるアドレスBと一致したときは、第5図(、)に
斜線で示すように、そのままスタック領域の解放を行々
うが、この際は、レジスタ104から、旧ポインタを取
出し、とのポインタをスタックコントロールレジスタ部
103BのレジスタRCに格納してこれを新?インクと
する。又、ポインタを基点とした新ポインクがレジスタ
RB、で示されるアドレスBより小さくなるときは、第
5図(f)に斜線で示すように、ポインタから上記アド
レスBtでの領域を解放し、次にレジスタ104に格納
されている旧ポインタから解放すべきスタック領域の残
る領域を解放し、そこを新ポインタとする。但し、この
新ポインタがレジスタRA、で示されるスタック下限ア
ドレスより小さくなるときは、スタックイリーガルとす
る。
上述した如く、スタックコントロールレジスタ部103
Bのうち、拡張前のスタック領域及び拡張されたスタッ
ク領域をそれぞれに示す2対のレジスタRAI e
RAI、RBs 、RBsを主記憶部iooの1込み
区画を示すメモリプロテクトレジスタ部103にと共用
する構成とじたことによシ、スタック拡張時に、上記書
込み許可区画の再設定を必要とせず、スタックコントロ
ールレジスタ部103Bの設定のみで、拡張されたスタ
ック領域を常に書込み許可区画におくことができ、簡巣
なスタック拡張制御手段にて拡張された領域を拡張前の
スタック領域と同様に扱うことができる。又、上記スタ
ックコントロールレジスタ部103Bのうちのレジスタ
RA、の最下位ビットに、スタックの拡張有無を示す制
御情報(SF)を格納しておくことによシ、ハードウェ
アを有効に使用してスタックの拡張並びに解放制御を効
率良く容易に行なうことができる。
Bのうち、拡張前のスタック領域及び拡張されたスタッ
ク領域をそれぞれに示す2対のレジスタRAI e
RAI、RBs 、RBsを主記憶部iooの1込み
区画を示すメモリプロテクトレジスタ部103にと共用
する構成とじたことによシ、スタック拡張時に、上記書
込み許可区画の再設定を必要とせず、スタックコントロ
ールレジスタ部103Bの設定のみで、拡張されたスタ
ック領域を常に書込み許可区画におくことができ、簡巣
なスタック拡張制御手段にて拡張された領域を拡張前の
スタック領域と同様に扱うことができる。又、上記スタ
ックコントロールレジスタ部103Bのうちのレジスタ
RA、の最下位ビットに、スタックの拡張有無を示す制
御情報(SF)を格納しておくことによシ、ハードウェ
アを有効に使用してスタックの拡張並びに解放制御を効
率良く容易に行なうことができる。
尚、上記した実施例では、ポインタが一つの場合につい
てのみ説明したが、2種の4?インクを用いるスタック
操作命令についても同様の動作となる。又、上記実施例
では、スタック拡張の有無を示す情報(SF)をスタッ
クコントロールレジスタ部103Bのうちの、レジスタ
RA。
てのみ説明したが、2種の4?インクを用いるスタック
操作命令についても同様の動作となる。又、上記実施例
では、スタック拡張の有無を示す情報(SF)をスタッ
クコントロールレジスタ部103Bのうちの、レジスタ
RA。
の最下位ビットに格納したが、他のレジスタを用いても
実現できる。
実現できる。
以上詳記したように本発明のスタック機能をもつデータ
処理装置によれば、拡張されたスタック領域を常に拡張
前のスタック領域と共に書込み許可区画におくことがで
き、主記憶上に分散配置された拡張前のスタック領域及
び拡張されたスタック領域を常に一つのスタックとして
使用するととができる。
処理装置によれば、拡張されたスタック領域を常に拡張
前のスタック領域と共に書込み許可区画におくことがで
き、主記憶上に分散配置された拡張前のスタック領域及
び拡張されたスタック領域を常に一つのスタックとして
使用するととができる。
第1図は従来のデータ処理装N忙おけるスタック機構を
示すブロック図、第2図は本発明の一実施例を示すブロ
ック図、第3図(、) 、 (b) 、第4図(+a)
F (b)、及び第5図(、)乃至(f)は、それぞ
れ上記実施例の動作説明図である。 100・・・主記憶部、103k・・・メモリプロテク
トレジスタ部、103B・・・スタックコントロールレ
ジスタ部、104 g RAI e RAM p t
tis、。 RB鵞 、RC・・・レジスタ。 @1図 第2図 第5図 第3図 第4図
示すブロック図、第2図は本発明の一実施例を示すブロ
ック図、第3図(、) 、 (b) 、第4図(+a)
F (b)、及び第5図(、)乃至(f)は、それぞ
れ上記実施例の動作説明図である。 100・・・主記憶部、103k・・・メモリプロテク
トレジスタ部、103B・・・スタックコントロールレ
ジスタ部、104 g RAI e RAM p t
tis、。 RB鵞 、RC・・・レジスタ。 @1図 第2図 第5図 第3図 第4図
Claims (1)
- 【特許請求の範囲】 (1,) スタック機能を有してなるデータ処理装置
において、スタック情報を貯えるスタックコントロール
レジスタ部のうち、スタック領域の下限及び上限アドレ
スを格納する少くとも2対のレジスタを主記憶の1゛込
み許可区画を示すレジスタと共用し、この共用する各レ
ジスタに、スタック拡張前及びスタック拡張後の各スタ
ック領域の下限及び上限アドレスを格納するととを特徴
とするデータ処理装置。 (2) スタック拡張時において、前記スタックコン
トロールレジスタのウチの、Wインタレジスタに格納さ
れたスタック拡張前のポインタを特定のレジスタに待避
させ、前記ポインタレジスタに、拡張されたスタック領
域のポインタを格納する特許請求の範囲第1項記載のデ
ータ処理装置。 (3)前記拡張されたスタック領域の解放時において、
前記特定のレジスタに格納されているポインタを前記ポ
インタレジスタに格納する特許請求の範囲第1項記載の
データ処理装置。 (4) スタック機能を有してなるデータ処理装置に
おいて、スタフ′り情報を貯えるスタックコントロール
レジスタ部のうち、スタック領域の下限及び上限アドレ
スを貯える少くとも2対のレジスタを書込み許可区画を
示すレジスタと共用し、この共用するレジスタのうちの
特定のレジスタの最下位ビットにスタックの拡張有無を
示す情報を格納してなることを特徴とするデータ処理装
置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP14290482A JPS5933552A (ja) | 1982-08-18 | 1982-08-18 | デ−タ処理装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP14290482A JPS5933552A (ja) | 1982-08-18 | 1982-08-18 | デ−タ処理装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPS5933552A true JPS5933552A (ja) | 1984-02-23 |
Family
ID=15326309
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP14290482A Pending JPS5933552A (ja) | 1982-08-18 | 1982-08-18 | デ−タ処理装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS5933552A (ja) |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH01119593A (ja) * | 1987-11-02 | 1989-05-11 | Mitsubishi Metal Corp | 結晶育成装置 |
| JPH01255035A (ja) * | 1988-04-05 | 1989-10-11 | Matsushita Electric Ind Co Ltd | プロセサ |
| US5080873A (en) * | 1987-11-02 | 1992-01-14 | Mitsubishi Materials Corporation | Apparatus for growing crystals |
| JP2006202268A (ja) * | 2004-12-24 | 2006-08-03 | Kawasaki Microelectronics Kk | Cpu |
| JP2009540438A (ja) * | 2006-06-06 | 2009-11-19 | クゥアルコム・インコーポレイテッド | プロセッサコアスタック拡張 |
-
1982
- 1982-08-18 JP JP14290482A patent/JPS5933552A/ja active Pending
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH01119593A (ja) * | 1987-11-02 | 1989-05-11 | Mitsubishi Metal Corp | 結晶育成装置 |
| US5080873A (en) * | 1987-11-02 | 1992-01-14 | Mitsubishi Materials Corporation | Apparatus for growing crystals |
| JPH01255035A (ja) * | 1988-04-05 | 1989-10-11 | Matsushita Electric Ind Co Ltd | プロセサ |
| JP2006202268A (ja) * | 2004-12-24 | 2006-08-03 | Kawasaki Microelectronics Kk | Cpu |
| JP2009540438A (ja) * | 2006-06-06 | 2009-11-19 | クゥアルコム・インコーポレイテッド | プロセッサコアスタック拡張 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4467414A (en) | Cashe memory arrangement comprising a cashe buffer in combination with a pair of cache memories | |
| JPH0195346A (ja) | バスマスタ | |
| US4138720A (en) | Time-shared, multi-phase memory accessing system | |
| CN115905099A (zh) | 同构双计算系统的处理器和同构双计算系统的操作方法 | |
| US6460121B1 (en) | Method for providing an atomic memory read using a compare-exchange instruction primitive | |
| JPS5933552A (ja) | デ−タ処理装置 | |
| US4096570A (en) | Subchannel memory access control system | |
| JPS5848289A (ja) | バツフアメモリ制御方式 | |
| JP2586112B2 (ja) | アドレス変換テーブルのアクセス制御方式 | |
| JPS5847784B2 (ja) | キ−記憶システム | |
| JPS6012670B2 (ja) | マルチcpuシステムにおけるバツフア・インバリデ−ト方式 | |
| JPS59121561A (ja) | マルチプロセサシステムにおける共有資源アクセス保護方式 | |
| JPS592051B2 (ja) | 相互排他要求選択装置 | |
| JPS6035694B2 (ja) | 主記憶保護方式 | |
| JPH0241772B2 (ja) | ||
| JPS5994283A (ja) | バツフアメモリ制御装置 | |
| JPS6046743B2 (ja) | 記憶保護方式 | |
| JPS6345669A (ja) | マルチプロセツサシステム | |
| JPH04130553A (ja) | 電子計算機 | |
| JPS60142429A (ja) | 仮想計算機システムのi/o実行方法および装置 | |
| JPS60118952A (ja) | 仮想アドレス制御方式 | |
| JPH06243045A (ja) | キャッシュメモリ | |
| JPS6136669B2 (ja) | ||
| JPH0528038A (ja) | キヤツシユメモリ制御方式 | |
| JPS60173798A (ja) | 読み出し専用メモリのテ−ブル変更方式 |