JPH01177126A - 仮想スタック制御方式 - Google Patents
仮想スタック制御方式Info
- Publication number
- JPH01177126A JPH01177126A JP63000680A JP68088A JPH01177126A JP H01177126 A JPH01177126 A JP H01177126A JP 63000680 A JP63000680 A JP 63000680A JP 68088 A JP68088 A JP 68088A JP H01177126 A JPH01177126 A JP H01177126A
- Authority
- JP
- Japan
- Prior art keywords
- stack
- data
- virtual
- real
- virtual 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.)
- Pending
Links
Landscapes
- Executing Machine-Instructions (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔概 要〕
この発明は中央処理装置と主記憶装置と仮想スタック装
置により構成されるデータ処理装置における実スタック
と仮想スタック間のデータ転送を制御する仮想スタック
制御方式に関し、実スタック内のデータ格納状態がスタ
ック容量の上限もしくは下限に達する以前にデータの退
避、復元処理を行なうことにより、スタックアクセスの
中断をなくし、高速の転送処理を行なうことを目的とし
、 前記仮想スタ・ツク装置は、データの格納状態が循環す
る循環型スタックと、前記循環型スタックの最新データ
位置を示すスタックポインタと、前記循環型スタック内
の有効データ数を示すカウンタと、前記主記憶装置内の
仮想スタックにおける前記循環型スタックから転送され
たデータの最新位置を示すスタックポインタとを備え、
前記カウンタの値に応じて前記循環型スタック内のデー
タがスタック容量の上限もしくは下限に達する以前に主
記憶装置との間でデータの退避、復元するように構成す
る。
置により構成されるデータ処理装置における実スタック
と仮想スタック間のデータ転送を制御する仮想スタック
制御方式に関し、実スタック内のデータ格納状態がスタ
ック容量の上限もしくは下限に達する以前にデータの退
避、復元処理を行なうことにより、スタックアクセスの
中断をなくし、高速の転送処理を行なうことを目的とし
、 前記仮想スタ・ツク装置は、データの格納状態が循環す
る循環型スタックと、前記循環型スタックの最新データ
位置を示すスタックポインタと、前記循環型スタック内
の有効データ数を示すカウンタと、前記主記憶装置内の
仮想スタックにおける前記循環型スタックから転送され
たデータの最新位置を示すスタックポインタとを備え、
前記カウンタの値に応じて前記循環型スタック内のデー
タがスタック容量の上限もしくは下限に達する以前に主
記憶装置との間でデータの退避、復元するように構成す
る。
本発明は仮想スタック制御方式に関する。一般に、高水
準言語のデータ処理系では、式の処理、手続き等オペレ
ーティングシステム(O3)のローカル処理や作業領域
の管理のためにスタックが多用され、高水準言語向きの
計算機ではスタック機構を中心とする制御構造を有して
いる。これらのスタックは主記憶装置内に配置されるか
若しくは主記憶装置とは独立に設けられる。特に独立に
設けられた場合には高速動作が可能であるが、スタック
の容量がハード゛ウェア的に制限されるため大きなスタ
ック容量が必要とされる場合には仮想スタック装置が独
立に設けられる。
準言語のデータ処理系では、式の処理、手続き等オペレ
ーティングシステム(O3)のローカル処理や作業領域
の管理のためにスタックが多用され、高水準言語向きの
計算機ではスタック機構を中心とする制御構造を有して
いる。これらのスタックは主記憶装置内に配置されるか
若しくは主記憶装置とは独立に設けられる。特に独立に
設けられた場合には高速動作が可能であるが、スタック
の容量がハード゛ウェア的に制限されるため大きなスタ
ック容量が必要とされる場合には仮想スタック装置が独
立に設けられる。
〔従来の技術〕
第4図は従来の仮想スタック装置を備えたデータ処理装
置の構成例を示す。図において、■は主記憶装置、2は
中央処理装置、3は仮想スタック装置である。仮想スタ
ック装置3は更に複数のプロセスに対応する複数の仮想
スタック装置で構成することもできる。この場合には中
央処理装置2は実行するプロセスの番号に応じて特定の
仮想スタックを選択し、更に中央処理装置2からスタッ
クポインタで指示されたスタックアドレスにおいて、書
込みあるいは読出しが行なわれる。
置の構成例を示す。図において、■は主記憶装置、2は
中央処理装置、3は仮想スタック装置である。仮想スタ
ック装置3は更に複数のプロセスに対応する複数の仮想
スタック装置で構成することもできる。この場合には中
央処理装置2は実行するプロセスの番号に応じて特定の
仮想スタックを選択し、更に中央処理装置2からスタッ
クポインタで指示されたスタックアドレスにおいて、書
込みあるいは読出しが行なわれる。
第5図は第4図に示す仮想スタック装置3内の仮想スタ
ッゲと実スタックとの対応を表わす構成図である。図に
おいて、4は容i1nの実スタック5は容量mXn(m
は2以上の整数)の仮想スタックである。仮想スタック
5の領域は実スタック4の容−jJnを単位としてm個
の部分領域に分割され、順次実スタックに割り付けられ
る。即ち、最初、仮想スタック5の0−n−1の部分領
域5aが実スタック4に割り付けられ、実フィードバッ
ク4においてスタックへの書込みが0”から進行し上限
の“n−1”に達すると次に仮想スタック5のn〜2n
−1の部分領域5nが割り付けられ、以下同様に部分領
域が使用される。一方、実スタック4からの読出しが行
なわれ、その下限に達したときは上記と逆の割付は変更
が行なわれる。
ッゲと実スタックとの対応を表わす構成図である。図に
おいて、4は容i1nの実スタック5は容量mXn(m
は2以上の整数)の仮想スタックである。仮想スタック
5の領域は実スタック4の容−jJnを単位としてm個
の部分領域に分割され、順次実スタックに割り付けられ
る。即ち、最初、仮想スタック5の0−n−1の部分領
域5aが実スタック4に割り付けられ、実フィードバッ
ク4においてスタックへの書込みが0”から進行し上限
の“n−1”に達すると次に仮想スタック5のn〜2n
−1の部分領域5nが割り付けられ、以下同様に部分領
域が使用される。一方、実スタック4からの読出しが行
なわれ、その下限に達したときは上記と逆の割付は変更
が行なわれる。
上記のような従来の仮想スタック装置では、スタックア
クセスが行なわれた時に、実スタック4内において書込
み時の上限あるいは読出し時の下限に到達しているか否
かのチエツクがなされ、この時点で仮想スタック領域が
残っていないことが確認されてはじめて実スタックの入
れ換え、即ち仮想スタックの部分領域の割付けを変更す
るため、仮想スタック装置と主記憶装置との間でスタッ
ク内容の退避、復元処理が行なわれ、その間スタックア
クセスが待機させられるという問題点があった。
クセスが行なわれた時に、実スタック4内において書込
み時の上限あるいは読出し時の下限に到達しているか否
かのチエツクがなされ、この時点で仮想スタック領域が
残っていないことが確認されてはじめて実スタックの入
れ換え、即ち仮想スタックの部分領域の割付けを変更す
るため、仮想スタック装置と主記憶装置との間でスタッ
ク内容の退避、復元処理が行なわれ、その間スタックア
クセスが待機させられるという問題点があった。
本発明の目的は、上述の問題点に鑑み、実スタック内の
データ格納状態が上限もしくは下限に達する以前にデー
タの退避、復元処理を行なうことによって、スタックア
クセスの中断をなくし、高速処理が可能な仮想スタック
装置を実現することにある。
データ格納状態が上限もしくは下限に達する以前にデー
タの退避、復元処理を行なうことによって、スタックア
クセスの中断をなくし、高速処理が可能な仮想スタック
装置を実現することにある。
第1図は本発明に係る仮想スタック制御方式の原理構成
図である。。本発明では中央処理装置と主記憶装置と仮
想スタック装置とを有するデータ処理装置において、前
記仮想スタック装置3は、データのデータ格納状態を循
環させることができる循環型実スタック4と、前記循環
型実スタックの最新データ位置を示すスタックトップポ
インタ6と、前記主記憶装置内に設けられた仮想スタッ
ク内の最新データ位置を示すスタックポインタ7と、前
記循環型実スタック内の有効データを示すカウンタ8と
を備える。
図である。。本発明では中央処理装置と主記憶装置と仮
想スタック装置とを有するデータ処理装置において、前
記仮想スタック装置3は、データのデータ格納状態を循
環させることができる循環型実スタック4と、前記循環
型実スタックの最新データ位置を示すスタックトップポ
インタ6と、前記主記憶装置内に設けられた仮想スタッ
ク内の最新データ位置を示すスタックポインタ7と、前
記循環型実スタック内の有効データを示すカウンタ8と
を備える。
〔作 用〕
このような構成において、実スタックをアクセスするた
びごとに、これと同期してカウンタを更新し、このカウ
ンタ値が設定された上限に達すると、実スタック内のデ
ータの古いものから一定数を主記憶装置内の仮想スタッ
クへ退避するとともに、スタックポインタにこの一定数
を加え、カウンタからはこの一定数を減する。また、こ
のカウンタ値が設定された下限値に達し、かつ実スタッ
ク内に退避されたデータであれば実スタックから一定数
のデータを仮想スタックへ復元するとともに、スタック
ポインタからこの一定値を減じカウンタにはこの一定数
を加える。このように実スタックのスタック状態が上限
もしくは下限に達する以前にデータの退避、復元を行な
うことによってスタックアクセスの中断をなくし、高速
処理が可能な仮想スタック装置を実現する。
びごとに、これと同期してカウンタを更新し、このカウ
ンタ値が設定された上限に達すると、実スタック内のデ
ータの古いものから一定数を主記憶装置内の仮想スタッ
クへ退避するとともに、スタックポインタにこの一定数
を加え、カウンタからはこの一定数を減する。また、こ
のカウンタ値が設定された下限値に達し、かつ実スタッ
ク内に退避されたデータであれば実スタックから一定数
のデータを仮想スタックへ復元するとともに、スタック
ポインタからこの一定値を減じカウンタにはこの一定数
を加える。このように実スタックのスタック状態が上限
もしくは下限に達する以前にデータの退避、復元を行な
うことによってスタックアクセスの中断をなくし、高速
処理が可能な仮想スタック装置を実現する。
第2図(a)〜(f)は本発明に係る仮想スタック制御
方式を説明する図である。本実施例では第1図に示す仮
想スタック装置3内の実スタック4は高速小容量のメモ
リで構成され、主記憶装置l内の仮想スタック9は低速
大容量のメモリで構成される。仮想スタック装置3には
実スタック4の最新データ位置を示すスタックトップポ
インタ(STP)6と、仮想スタック9上の最新データ
位置を示すスタックポインタ(SP)7と、実スタック
4内の有効データ数を示すカウンタ(CT)8を設ける
。
方式を説明する図である。本実施例では第1図に示す仮
想スタック装置3内の実スタック4は高速小容量のメモ
リで構成され、主記憶装置l内の仮想スタック9は低速
大容量のメモリで構成される。仮想スタック装置3には
実スタック4の最新データ位置を示すスタックトップポ
インタ(STP)6と、仮想スタック9上の最新データ
位置を示すスタックポインタ(SP)7と、実スタック
4内の有効データ数を示すカウンタ(CT)8を設ける
。
第2図(a)〜(f)の斜線部分は実スタック内のデー
タ格納状態の推移を一例として示し、この場合、実スタ
ックは64語のメモリ容量を有するとする。第2図(a
)は、データ格納状況の初期状態を示し、図中の矢印は
この実スタックが循環型であることを示している。この
とき、スタックトップポインタは63#、スタックポイ
ンタは“0”、カウンタは“0”を示している。この初
期状態から実スタックへ人力がある度にSTP、l!:
CTは1づつ増加する。一方、実スタックから出力があ
る度にSTPとCTから1づつ減じられる。第2図(b
)では、最新データ位置が実スタックの番地15に入っ
ており、従ってSTPは15を示している。この時点で
は仮想スタック9側にはまだデータは格納されていない
のでスタックポインタSPはOであり、実スタック内の
有効データ数を示すカウンタCTが16を示している。
タ格納状態の推移を一例として示し、この場合、実スタ
ックは64語のメモリ容量を有するとする。第2図(a
)は、データ格納状況の初期状態を示し、図中の矢印は
この実スタックが循環型であることを示している。この
とき、スタックトップポインタは63#、スタックポイ
ンタは“0”、カウンタは“0”を示している。この初
期状態から実スタックへ人力がある度にSTP、l!:
CTは1づつ増加する。一方、実スタックから出力があ
る度にSTPとCTから1づつ減じられる。第2図(b
)では、最新データ位置が実スタックの番地15に入っ
ており、従ってSTPは15を示している。この時点で
は仮想スタック9側にはまだデータは格納されていない
のでスタックポインタSPはOであり、実スタック内の
有効データ数を示すカウンタCTが16を示している。
このように増減を繰り返すうちに第2図(c)に示すよ
うにCTが第1の設定値P、(例えば4日)になると実
スタック4から仮想スタック9へのデータ転送が開始さ
れる。即ち、実スタック内のデータの古いものから一定
数(例えば16語)を仮想スタック側に転送し、それに
伴いSPとCTを更新する。従ってデータ転送直後の状
態が第2図(d)となる。この場合、実スタック側では
STPは変らずに47を示し、CTは48から16を減
じて32となり、仮想スタック上の最新データ位置は5
P=15となる。
うにCTが第1の設定値P、(例えば4日)になると実
スタック4から仮想スタック9へのデータ転送が開始さ
れる。即ち、実スタック内のデータの古いものから一定
数(例えば16語)を仮想スタック側に転送し、それに
伴いSPとCTを更新する。従ってデータ転送直後の状
態が第2図(d)となる。この場合、実スタック側では
STPは変らずに47を示し、CTは48から16を減
じて32となり、仮想スタック上の最新データ位置は5
P=15となる。
同様に増減を繰り返すうちに第2図(e)に示すように
CTが第2の設定値P2(例えば16語)になりかつ仮
想スタック側にデータが格納されている状態になると仮
想スタックから実スタックへの転送が行なわれる。即ち
、仮想スタック内のデータの新しいものから一定数(例
えば16語)を実スタック側へ転送し、それに伴いSP
とCPは更新される。即ち、第2図(f)に示すように
仮想スタックの格納状況を示すSPは0となり、カウン
タCTは増加して32を示す。上述のデータ転送は中央
処理装置2がバスを使用していない時間に通常の処理と
並行して行なわれる。
CTが第2の設定値P2(例えば16語)になりかつ仮
想スタック側にデータが格納されている状態になると仮
想スタックから実スタックへの転送が行なわれる。即ち
、仮想スタック内のデータの新しいものから一定数(例
えば16語)を実スタック側へ転送し、それに伴いSP
とCPは更新される。即ち、第2図(f)に示すように
仮想スタックの格納状況を示すSPは0となり、カウン
タCTは増加して32を示す。上述のデータ転送は中央
処理装置2がバスを使用していない時間に通常の処理と
並行して行なわれる。
第3図は本発明の処理フローチャートである。
図に示すように、まず、実スタックのSTP 、 SP
。
。
CTの初期化が行なわれる(ステップSt)。この状態
は第2図(a)に対応する。次にスタックの状態がデー
タの取り入れ(ブツシュ)か、データの取り出しくポツ
プ)か判断される (ステップS2)。
は第2図(a)に対応する。次にスタックの状態がデー
タの取り入れ(ブツシュ)か、データの取り出しくポツ
プ)か判断される (ステップS2)。
ポツプPO場合には実スタック中にデータが空か否か判
断され(ステップS3)、データが空でない(NO)の
場合は実スタックからデータの読み出しが行なわれ(ス
テップS4) 、STPとCTは1づつ減少する(ステ
ップS5.S6)。カウンタCTの減少が進行すると次
にC−Tが下限に達したか否か判断され(ステップS7
)、下限でないときはステップS2に戻る。下限のとき
は仮想スタックのPSが0か否か判断され(ステップS
8)、、データの読み出しが行なわれ(ステップS9)
、STPは減少しくステップ5IO) 、CTは増加
する(ステップ5ll)。
断され(ステップS3)、データが空でない(NO)の
場合は実スタックからデータの読み出しが行なわれ(ス
テップS4) 、STPとCTは1づつ減少する(ステ
ップS5.S6)。カウンタCTの減少が進行すると次
にC−Tが下限に達したか否か判断され(ステップS7
)、下限でないときはステップS2に戻る。下限のとき
は仮想スタックのPSが0か否か判断され(ステップS
8)、、データの読み出しが行なわれ(ステップS9)
、STPは減少しくステップ5IO) 、CTは増加
する(ステップ5ll)。
一方、ステップS2において、データの取り入れである
ブツシュPUの場合には、実スタックは一杯か否か判断
され(ステップ512)、充足されていないときは書込
みデータが取り込まれ(ステップ513) 、STPは
増加しくステップ514)、CTも増加する(ステップ
S 15)。そしてCTが上限に達したか否か判断され
(ステップ516)、上限に達していないときはステッ
プS2に戻る。
ブツシュPUの場合には、実スタックは一杯か否か判断
され(ステップ512)、充足されていないときは書込
みデータが取り込まれ(ステップ513) 、STPは
増加しくステップ514)、CTも増加する(ステップ
S 15)。そしてCTが上限に達したか否か判断され
(ステップ516)、上限に達していないときはステッ
プS2に戻る。
一方、CTが上限に達したときは、SPが充足れている
か判断され(ステップ517)、−杯でないときは仮想
スタックへの書き込みが行なわれ(ステップ518)、
SPは増加しくステップ519)、CTは減少する(ス
テップ520)。
か判断され(ステップ517)、−杯でないときは仮想
スタックへの書き込みが行なわれ(ステップ518)、
SPは増加しくステップ519)、CTは減少する(ス
テップ520)。
以上説明したように、本発明によれば、スタックのアク
セス時間は高速の実スタックに対するア ゛クセス
時間と同等となり、高速小容量の実スタックと低速大容
量の仮想スタックを組み合わせて使用する場合に、デー
タ転送におけるオーバヘッドを最小限に抑える・ことが
できる。
セス時間は高速の実スタックに対するア ゛クセス
時間と同等となり、高速小容量の実スタックと低速大容
量の仮想スタックを組み合わせて使用する場合に、デー
タ転送におけるオーバヘッドを最小限に抑える・ことが
できる。
【図面の簡単な説明】
第1図は本発明の原理構成図、
第2図は本発明の詳細な説明する図、
第3図は本発明の処理フローチャート、第4図はデータ
処理装置の構成例、および第5図は従来方式を説明する
構成図である。 (符号の説明) 1・・・主記憶装置、 2・・・中央処理装置、 3・・・仮想スタック装置、 4・・・実スタック、 5・・・仮想スタック、 6・・・スタックトップポインタ、 7・・・スタックポインタ、 8・・・カウンタ、 9・・・仮想スタック。
処理装置の構成例、および第5図は従来方式を説明する
構成図である。 (符号の説明) 1・・・主記憶装置、 2・・・中央処理装置、 3・・・仮想スタック装置、 4・・・実スタック、 5・・・仮想スタック、 6・・・スタックトップポインタ、 7・・・スタックポインタ、 8・・・カウンタ、 9・・・仮想スタック。
Claims (1)
- 【特許請求の範囲】 1、中央処理装置と主記憶装置を仮想スタック装置を有
するデータ処理装置における仮想スタック制御方式にお
いて、 前記仮想スタック装置(3)は、データの格納状態が循
環する循環型スタック(4)と、 前記循環型スタックの最新のデータ位置を示すスタック
トップポインタ(6)と、 前記循環型スタック内の有効データ数を示すカウンタ(
8)と、 前記主記憶装置(1)内の仮想スタック(9)における
前記循環型スタックから転送されたデータの最新位置を
示すスタックポインタ(7)とを備え、 前記カウンタの値に応じて前記循環型スタック内のデー
タがスタック容量の上限もしくは下限に達する以前に、
主記憶装置との間でデータの退避もしくは復元するよう
にしたことを特徴とする仮想スタック制御方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63000680A JPH01177126A (ja) | 1988-01-07 | 1988-01-07 | 仮想スタック制御方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63000680A JPH01177126A (ja) | 1988-01-07 | 1988-01-07 | 仮想スタック制御方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH01177126A true JPH01177126A (ja) | 1989-07-13 |
Family
ID=11480470
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP63000680A Pending JPH01177126A (ja) | 1988-01-07 | 1988-01-07 | 仮想スタック制御方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH01177126A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6934825B1 (en) | 2000-09-21 | 2005-08-23 | International Business Machines Corporation | Bi-directional stack in a linear memory array |
-
1988
- 1988-01-07 JP JP63000680A patent/JPH01177126A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6934825B1 (en) | 2000-09-21 | 2005-08-23 | International Business Machines Corporation | Bi-directional stack in a linear memory array |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2774862B2 (ja) | Dma制御装置および情報処理装置 | |
| JPH0341859B2 (ja) | ||
| JPH05197619A (ja) | マルチcpu用メモリ制御回路 | |
| EP0522728B1 (en) | Method for efficient access of data stored in a nexus table | |
| JPH04288638A (ja) | コンピュータシステム | |
| JPS61216016A (ja) | デ−タベ−スの領域管理方式 | |
| JPS59146344A (ja) | 仮想スタツク先行制御方式 | |
| JP2713528B2 (ja) | 記憶装置容量の無中断拡張方法 | |
| JP3293838B2 (ja) | データ転送方式 | |
| JP2906739B2 (ja) | 記憶装置 | |
| JP3104270B2 (ja) | ページ置き換え制御装置 | |
| JPH0831076B2 (ja) | 入出力処理装置 | |
| JPS59116982A (ja) | メモリシステムのデ−タ転送方式 | |
| JPS6314242A (ja) | メモリ拡張方式 | |
| JPS6349817B2 (ja) | ||
| JPH0521248B2 (ja) | ||
| JPS58118081A (ja) | 仮想空間共用によるオ−バレイ制御方式 | |
| JPH07141252A (ja) | データ処理装置 | |
| JPH05250251A (ja) | 情報処理装置 | |
| JPS6269321A (ja) | プロセススイツチ方式 | |
| JPS63280356A (ja) | 仮想ディスク装置のバッファ管理方式 | |
| JPS592151A (ja) | チエツクポイント・リカバリ方式 | |
| JPS59178671A (ja) | バツフアストレイジリプレイス方式 | |
| JPS5817587A (ja) | 主メモリの空領域管理装置 | |
| JPH02259850A (ja) | 仮想記憶制御方式 |