JPH0383134A - スタック管理方法 - Google Patents

スタック管理方法

Info

Publication number
JPH0383134A
JPH0383134A JP1220755A JP22075589A JPH0383134A JP H0383134 A JPH0383134 A JP H0383134A JP 1220755 A JP1220755 A JP 1220755A JP 22075589 A JP22075589 A JP 22075589A JP H0383134 A JPH0383134 A JP H0383134A
Authority
JP
Japan
Prior art keywords
internal stack
area
stack
state
save
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
JP1220755A
Other languages
English (en)
Inventor
Jiro Minehisa
次郎 峰久
Yuji Kamiyama
神山 祐史
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP1220755A priority Critical patent/JPH0383134A/ja
Publication of JPH0383134A publication Critical patent/JPH0383134A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

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

Description

【発明の詳細な説明】 産業上の利用分野 本発明は、 情報処理装置例えばマイクロコンビスータ
装置で、データの受渡し例えば副プログラムで用いられ
る引き数や主プログラムへの戻り番地の格納に利用され
るスタックの管理方法に関するものである。
従来の技術 従来のスタック管理方法の一例(例えば 「スタック形
成方法」特公昭61−49696号公報ユを第3図に示
す。
第3図において、演算処理装置1は後述の外部退避領域
の空き領域の先頭を示す外部退避ポインタ2、内部スタ
ック3、該内部スタック3の空き領域を示す内部スタッ
クポインタ4とこれらを結合する内部バス6を内蔵し 
外部退避領域8を内蔵する記憶装置7と外部バス9を介
して結合されていも 以上のように構成されたスタック管理方法において外部
退避ポインタ2は外部退避領域8の空きの先頭位置を示
し 内部スタックポインタ4は内部スタック3の空きの
先頭位置を示し 演算処理装置1がスタックへの書き込
み・読み出し動作を行う場合、データを内部スタック3
に対して書き込み・読み出すとともに内部スタックポイ
ンタ4を更新ずも また 内部スタックが充満状態時に
演算処理装置lがスタックへ書き込む時は内部スタック
3の内容の一部を内部スタックポインタ4、外部退避ボ
、インタ2の値をもとに外部退避領域8パ\転送した後
、内部スタック3に書き込むとともに内部スタックポイ
ンタ4と外部退避ポインタ2を更新する。まL  内部
スタック3が空状態時にスタックから読み出す時は外部
退避領域8の内容の一部を外部退避ポインタ2、内部ス
タックポインタ4の値をもとに内部スタック3へ転送し
た機内部スタック3から読み出すととも(へ 内部スタ
ックポインタ4と外部スタックポインタ2を更新ずも 発明が解決しようとする課題 しかしなが気 前記のような方法で1上 外部退避領域
8と内部スタック3間のデータ転送が行われている肌 
スタック処理が行われ1− 演算処理装置の動作が待た
され 内部スタック処理の高速性が失われるという課題
を有していた 本発明はかかる点に鑑へ 内部スタック処理の高速性を
失わず、従って演算処理装置の処理速度を低下させない
より柔軟なスタック管理方法を提供することを目的とす
も 課題を解決するための手段 本発明は前記課題を解決するために 演算処理装置内に
ある内部スタックと記憶装置内にある外部退避領域とか
ら構成されるスタックを管理する際に前記記憶装置内に
外部退避領域 前記演算装置t内に内部スタックおよび
該内部スタックの読み出し・書き込み位置を示し周期的
に同じアドレスを示す内部スタックポインタ並びに前記
外部退避領域の空の先頭領域を示す外部退避ポインタさ
らに外部退避領域の最上位(最も新しい)の内容が内部
スタックのどの領域のデータなのかを示す外部退避領域
の退避状態表示手段とを有し 前記演算装置が前記内部
スタックへの書き込み・読み出し動作を行う際に前記内
部スタックポインタの示す位置と前記退避状態表示手段
からの情報により、前記内部スタックの一定の領域にあ
る内容を前記外部退避領域へデータを内部スタ・ツクの
動作とは独立に退避する、 または前記外部退避領域か
らデータを内部スタックの動作とは独立に前記内部スタ
ックの一定の領域へ転送する機能を特徴に備えたスタッ
ク管理方法であも 作   用 本発明は前記樋底により、内部スタックと外部退避領域
とのデータ転送とが内部スタ・ツクへの読み出し・書き
込み動作とは独立に行なL\ しかも退避状態表示手段
を備えることで、演算装置と外部記憶装置とのデータ転
送の頻度を最小限に上内部スタックに必要とするデータ
を常に用意しスタック操作の処理時間を著しく低減する
、実施例 第1図は、 本発明の一実施例を示す全体のブロック図
であも 第1図において、 ■は演算処理装置 2は後
述の外部退避領域の空き領域の先頭を示す外部退避ポイ
ン久 3は内部スタツ久 4は内部スタック3の読み出
し・書き込み位置を示す内部スタックポイン久 5は後
述の外部退避領域への最後に退避した内部スタックの領
域を示す退避領域フラグ、6はこれらを結合する内部バ
ス7は外部記憶装に8は前記外部記憶装置装置7の一部
である外部退避領域 9は演算処理装置lと外部記憶装
置7とを結合する外部バスであんこのブロック図におい
て外部退避ポインタ2は第3図で示した従来例と同様に
内部スタック3からのデータを外部退避領域8へ退避し
た際および復帰した際にそれぞれ対応するワード数分だ
け更新し 常に内部スタック3とのデータの対応を取っ
ていも 第2図は第1図の内部スタック3、内部スタックポイン
タ4を模式的に表現したものであん 内部スタックポイ
ンタ4が周期性を持っていることか板 内部スタック3
は第2図のように最初と最後のワードで結合した円環と
して、また内部スタックポインタ4は円環上の位置を示
す指針として表現できも 第2図において内部スタック
3への書き込みが行われば内部スタックポインタ4は左
回り(反時計回り)L 読み出しが行われば内部スタッ
クポインタ2は右回り (時計回り)L  5(=i+
j+に+l+m+n)ワード変化すると一周して同じア
ドレスを示す。 alからa4は内部スタック3と外部
退避領域とのデータ転送を行うタイミングを決定する内
部スタ・ツクのアドレスを示し 第2図では最初のワー
ドのアドレスを0番地とするとal= (i−1)番j
ta2 =(i+j−1)番11  a3= (i+j
+に+1−1)番地 a4= (i+j+に+l+m−
1)もしくは(s−n−1)番地となも アドレスa 
1.  アドレスa3は外部退避領域からのデータ復帰
動作の開始するアドレスを、アドレスa2、アドレスa
4は外部退避領域へのデータ退避動作の開始するアドレ
スをそれぞれ示す。また退避領域フラグ5(よ 内部ス
タック3で第2図の右領域(i+j+k)ワードを退避
すると′ ビに 第2図の左領域(1+m+n)ワード
を退避すると’0’ 番こ設定され また内部スタック
3へ退避したデータ(I+j+k)ワードまたは(1+
m+n)ワードが復帰するとフラグが反転すも 以上のように構成された本実施例のスタック処理動作に
ついて、以下第2図を用いて説明すも内部スタックポイ
ンタ4がアドレスalを示しているとき、内部スタック
からの読み出しが行われると、退避領域フラグ5が° 
l′ならば内部スタック3の右領域(1+m+n)ワー
ドへ外部退避領域から転送され 内部スタック3の右領
域に退避されていたデータが復帰されも このとき退避
領域フラグ5は′ O゛に設定されも もし退避領域フ
ラグ5が初めからl  olであったなら(よもう既に
データの復帰が行われているものとして外部退避領域か
らのデータの復帰は行わなり〜同様に内部スタックポイ
ンタ4がアドレスa3を示しているとき、内部スタック
からの読み出しが行われると、退避領域フラグ5が° 
0”ならば内部スタック3の右領域(i+j+k)ワー
ドへ外部退避領域から転送されデータ復帰が行われ退避
領域フラグ5は′ l“に設定されも もし退避領域フ
ラグ5が初めから+  11であったならζL右領域の
データの復帰が行われたものとして外部退避領域からの
データの復帰は行わなL1内部スタックポインタ4がア
ドレスa2を示しているとき、スタックへの書き込みが
行われると、退避領域フラグ5が′ 0′ならば内部ス
タック3の右領域(1+m+n)ワードが外部退避領域
に退避され 退避領域フラグ5は′ ビに設定されも 
従って新たに右領域が使用可能の状態になaもし退避領
域フラグ15が初めから′ ビであったならば 内部ス
タック3の右領域が既に退避され使用可能な状態である
ので新たな退避動作は実行しな(℃ 同様に内部スタックポインタ4がアドレスa4を示して
いるとき、内部スタックへの書き込みが行われると、退
避領域フラグ5が゛ ビならば内部スタック3の第2図
の左領域(i+j+k)ワードが外部退避領域に退避さ
れ 退避領域フラグ5は° 0゛に設定され 左領域が
使用可能になんもし退避領域フラグ5が初めから′ 0
′であったならば 内部スタック3の右領域が既に退避
され使用可能な状態なので新たな退避動作は実行しな(
■ これらのデータの退避・復帰動作は実際に内部スタック
3の使用可能領域がなくなってからまたは必要なデータ
が内部スタック3になくなってから行われるのではなく
、上記の例ではアドレスalの場合には(i−1)ワー
ド分、アドレスa2の場合には(k−1,)ワード分、
アドレスa3の場合には(1−1)ワード分、アドレス
a4の場合には(n−1)ワード分の余裕が確保されて
い瓜 従って実際にスタック領域として使われるまでに
外部退避領域8への退避動作または外部退避領域8から
の復帰動作を完了する時間的余裕を持つことができ、 
i、  kSL  nを適度に決定することにより内部
スタック処理が待たされる可能性は極めて低下すも 以上のように本実施例によれば これらの内部スタック
と外部退避領域とのデータ転送を行う領域は常に内部ス
タックポインタが示しているアドレスとは異なるので内
部スタック動作は待たされることなく、読み出し・書き
込み動作を実行することができも な叙 本実施例ではスタックに書き込む時にはスタック
ポインタの値を増加L 読み出す時にはスタックポイン
タを減少するように示したれ これとは逆にスタックに
書き込む時にはスタックポインタの値を減少させ、読み
出すときにはスタックポインタの値を増加せる場合にお
いても同様であることは明らかであも 発明の詳細 な説明し5たよう(へ 本発明によれば内部スタ・ツク
と外部退避領域とを用いたスタック処理方法において、
内部スタック動作の速度を低下させることなく、高速の
スタック処理を実現することができ、その実用的効果は
非常に犬き(1
【図面の簡単な説明】
第1図は本発明のスタック処理方法一実施例を、Yヨす
全体ブロック阻 第2図は同実施例の内部スタック・内
部スタックポインタの動作説明は 第3図は、 従来の
スタック形成方法を示すブロック図であも 1・・・演算処理装置 3・・・内部スタッ久 5・・・退避領域フラグ、 7・・・外部記憶装置 9・・・外部バス

Claims (2)

    【特許請求の範囲】
  1. (1)演算装置と、それが実行すべきプログラムおよび
    取り扱うデータを格納する記憶装置と、それらを結合す
    る1または複数ビットの幅のバスからなる情報処理装置
    において、プログラム内でのデータの受渡しに先入後出
    のスタックメモリを管理するに当たり、 前記記憶装置内に外部退避領域、前記演算装置内に内部
    スタックおよび該内部スタックの読み出し・書き込み位
    置を示す内部スタックポインタ並びに前記外部退避領域
    の空の先頭領域を示す外部退避ポインタさらに外部退避
    領域の最も新しい内容が内部スタックのどの領域のデー
    タなのかを示す外部退避領域の退避状態表示手段とを有
    し、前記演算装置が前記内部スタックへの書き込み・読
    み出し動作を行う際に前記内部スタックポインタの示す
    位置と前記退避状態表示手段からの情報により、前記内
    部スタックの一定の領域にある内容を前記外部退避領域
    へデータを退避する、または前記外部退避領域からデー
    タを前記内部スタックの一定の領域へ転送する機能を特
    徴とするスタック管理方法。
  2. (2)内部スタックが(i+j+k+l+m+n)、ワ
    ード(ただしi、k、l、nは0以上の整数、j、mは
    整数)で構成され 内部スタックポインタは、内部スタックの大きさsワー
    ド(ただしs=i+j+k+l+m+n)ごとに元の位
    置を示すという周期性を有し、内部スタックへの書き込
    み・読み出し動作と内部スタック・外部退避領域間のデ
    ータ転送動作とが独立して動作し、 内部スタックポインタが第1のアドレスを示しかつ退避
    状態が第1の状態の時に内部スタックへの書き込みが行
    われる際に内部スタックの第1の領域にある(l+m+
    n)ワードを外部退避領域に退避し退避状態を第2の状
    態に変化させ、内部スタックポインタが第2のアドレス
    を示しかつ退避状態が第2の状態の時に内部スタックへ
    の書き込みが行われる際に内部スタックの第2の領域に
    ある(i+j+k)ワードを外部退避領域に退避し退避
    状態を第1の状態に変化させ、内部スタックポインタが
    第3のアドレスを示しかつ退避状態が第2の状態の時に
    内部スタックからの読み出しが行われる際に内部スタッ
    クの第1の領域へ外部退避領域から(l+m+n)ワー
    ドのデータを転送し退避状態を第1の状態に変化させ、 内部スタックポインタが第4のアドレスを示しかつ退避
    状態が第1の状態の時に内部スタックからの読み出しが
    行われる際に内部スタックの第2の領域へ外部退避領域
    から(i+j+k)ワードのデータを転送し退避状態を
    第2の状態に変化させることを特徴とする請求項1記載
    のスタック管理方法。
JP1220755A 1989-08-28 1989-08-28 スタック管理方法 Pending JPH0383134A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1220755A JPH0383134A (ja) 1989-08-28 1989-08-28 スタック管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1220755A JPH0383134A (ja) 1989-08-28 1989-08-28 スタック管理方法

Publications (1)

Publication Number Publication Date
JPH0383134A true JPH0383134A (ja) 1991-04-09

Family

ID=16756035

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1220755A Pending JPH0383134A (ja) 1989-08-28 1989-08-28 スタック管理方法

Country Status (1)

Country Link
JP (1) JPH0383134A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU745449B2 (en) * 1997-11-20 2002-03-21 Hajime Seki Computer system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU745449B2 (en) * 1997-11-20 2002-03-21 Hajime Seki Computer system

Similar Documents

Publication Publication Date Title
JPS61148563A (ja) デ−タ転送方式およびデ−タ転送制御装置
JPH0383134A (ja) スタック管理方法
JPS6149696B2 (ja)
US6434592B1 (en) Method for accessing a network using programmed I/O in a paged, multi-tasking computer
JPH03149626A (ja) スタック管理方法
JP2828643B2 (ja) 直線描画装置
JP3162459B2 (ja) データ処理装置
JP2734581B2 (ja) 入出力制御装置の制御方式
JP2985517B2 (ja) 記憶装置
JP2581144B2 (ja) バス制御装置
JPH0259837A (ja) データリカバリ処理方式
JP2604604B2 (ja) スタック制御装置
JPS6198469A (ja) マイクロプロセツサ間通信方式
JPH0346033A (ja) ジヨブ間データ転送制御方法
JPH06139201A (ja) 共有メモリを介する情報受渡し方法
JPS61260344A (ja) 入出力処理装置
JPS63228488A (ja) 先入れ先出し記憶装置
JPS6375927A (ja) バツフア制御方式
JPS6174055A (ja) プロセツサ間のデ−タ通信装置
JPS62108333A (ja) 半導体装置
JPH03204052A (ja) メモリアクセス制御方式
JPH04329446A (ja) 記憶装置
JPS59211148A (ja) 情報処理装置
JPS59128621A (ja) Dma制御装置
JPH04127227A (ja) メモリ制御システム