JPS6149696B2 - - Google Patents
Info
- Publication number
- JPS6149696B2 JPS6149696B2 JP56203269A JP20326981A JPS6149696B2 JP S6149696 B2 JPS6149696 B2 JP S6149696B2 JP 56203269 A JP56203269 A JP 56203269A JP 20326981 A JP20326981 A JP 20326981A JP S6149696 B2 JPS6149696 B2 JP S6149696B2
- Authority
- JP
- Japan
- Prior art keywords
- stack
- internal
- internal stack
- pointer
- external 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.)
- Expired
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/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4482—Procedural
- G06F9/4484—Executing subprograms
- G06F9/4486—Formation of subprogram jump address
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)
Description
【発明の詳細な説明】
本発明は、情報処理装置例えばマイクロコンピ
ユータ装置で、データの受け渡し例えば副プログ
ラム分岐の際の引数や主プログラムへの戻り番地
の格納に使用されるスタツク形成方法に関するも
のである。
ユータ装置で、データの受け渡し例えば副プログ
ラム分岐の際の引数や主プログラムへの戻り番地
の格納に使用されるスタツク形成方法に関するも
のである。
従来例を第1図に示す。演算処理装置1内にス
タツクポインタ2なるものを設け、そのスタツク
ポインタ2の内容が示すアドレスに対応する記憶
装置3内のメモリに対してのみ読み書きができる
機構を形成し、メモリに対して1回読み書きする
ごとにスタツクポインタ2の内容を1語の占める
アドレス領域分例えば1だけ増減することによつ
て先入後出記憶としてのスタツク4を形成してい
る。スタツク4は記憶装置3内のメモリアドレス
というものを特に意識せずにデータの出し入れが
できるため、副プログラム分岐の際の主プログラ
ムへの戻り番地の格納および副プログラムから主
プログラムへの復帰時の戻り番地の取り出し、演
算処理装置1内の各種レジスタの内容の退避およ
び復帰、プログラム間のデータの受け渡しなどに
頻繁に使用されている。演算処理装置1がスタツ
クポインタ2の管理の下で記憶装置3との間で母
線5を介してデータの読み書きを行なうために、
母線5の分布容量によるデータの遅延、演算処理
装置1と母線5、記憶装置3と母線5を結合する
ために用いられる母線5との送受信部ならびに送
受信制御部内でのデータの遅延が生じ、データを
正しく伝えるのに多くの時間を必要としていた。
タツクポインタ2なるものを設け、そのスタツク
ポインタ2の内容が示すアドレスに対応する記憶
装置3内のメモリに対してのみ読み書きができる
機構を形成し、メモリに対して1回読み書きする
ごとにスタツクポインタ2の内容を1語の占める
アドレス領域分例えば1だけ増減することによつ
て先入後出記憶としてのスタツク4を形成してい
る。スタツク4は記憶装置3内のメモリアドレス
というものを特に意識せずにデータの出し入れが
できるため、副プログラム分岐の際の主プログラ
ムへの戻り番地の格納および副プログラムから主
プログラムへの復帰時の戻り番地の取り出し、演
算処理装置1内の各種レジスタの内容の退避およ
び復帰、プログラム間のデータの受け渡しなどに
頻繁に使用されている。演算処理装置1がスタツ
クポインタ2の管理の下で記憶装置3との間で母
線5を介してデータの読み書きを行なうために、
母線5の分布容量によるデータの遅延、演算処理
装置1と母線5、記憶装置3と母線5を結合する
ために用いられる母線5との送受信部ならびに送
受信制御部内でのデータの遅延が生じ、データを
正しく伝えるのに多くの時間を必要としていた。
本発明は従来のかかる欠点を改善した新規なス
タツクの形成方法を提供するもので、演算処理装
置内に主(内部)スタツクを設け、これにより、
母線を介して補助(外部)スタツクとして使用さ
れる記憶装置への読み書きの頻度を下げ、データ
の受け渡しの無駄時間を軽減し、高速化を図ろう
とするものである。
タツクの形成方法を提供するもので、演算処理装
置内に主(内部)スタツクを設け、これにより、
母線を介して補助(外部)スタツクとして使用さ
れる記憶装置への読み書きの頻度を下げ、データ
の受け渡しの無駄時間を軽減し、高速化を図ろう
とするものである。
以下本発明の一実施例を図面に基づいて説明す
る。第2図において、演算処理装置6は外部退避
ポインタ7、内部スタツクポインタ8、内部スタ
ツク9とこれらを結合する内部母線10を内蔵
し、外部退避領域12を内蔵する記憶装置11と
母線13を介して結合されている。外部退避ポイ
ンタ7は外部退避領域12の空の先頭位置を示
し、内部スタツクポインタ8は内部スタツク9の
空の先頭位置を示し、演算処理装置6がスタツク
への書き込み読み出し動作を行なう場合、データ
を内部スタツクポインタ8を通して内部スタツク
9に対して書き込み読み出すとともに内部スタツ
クポインタ8を更新する。また、内部スタツクが
充満状態時に演算処理装置6がスタツクへ書き込
む時は内部スタツク9の内容の一部を内部スタツ
クポインタ8、外部退避ポインタ7の値をもとに
外部退避領域12へ転送した後、内部スタツク9
に書き込むとともに内部スタツクポインタ8と外
部退避ポインタ7を更新する。また内部スタツク
9が空状態時にスタツクから読み出す時は外部退
避領域12の内容の一部を外部退避ポインタ7、
内部スタツクポインタ8の値をもとに内部スタツ
ク9へ転送した後、内部スタツク9から読み出す
とともに、内部スタツクポインタ8と外部退避ポ
インタ7を更新する。
る。第2図において、演算処理装置6は外部退避
ポインタ7、内部スタツクポインタ8、内部スタ
ツク9とこれらを結合する内部母線10を内蔵
し、外部退避領域12を内蔵する記憶装置11と
母線13を介して結合されている。外部退避ポイ
ンタ7は外部退避領域12の空の先頭位置を示
し、内部スタツクポインタ8は内部スタツク9の
空の先頭位置を示し、演算処理装置6がスタツク
への書き込み読み出し動作を行なう場合、データ
を内部スタツクポインタ8を通して内部スタツク
9に対して書き込み読み出すとともに内部スタツ
クポインタ8を更新する。また、内部スタツクが
充満状態時に演算処理装置6がスタツクへ書き込
む時は内部スタツク9の内容の一部を内部スタツ
クポインタ8、外部退避ポインタ7の値をもとに
外部退避領域12へ転送した後、内部スタツク9
に書き込むとともに内部スタツクポインタ8と外
部退避ポインタ7を更新する。また内部スタツク
9が空状態時にスタツクから読み出す時は外部退
避領域12の内容の一部を外部退避ポインタ7、
内部スタツクポインタ8の値をもとに内部スタツ
ク9へ転送した後、内部スタツク9から読み出す
とともに、内部スタツクポインタ8と外部退避ポ
インタ7を更新する。
いま、内部スタツク9の容量が2n語の場合を
考え、更に詳しく説明する。プログラム実行中に
スタツク使用要求が生じた場合は内部スタツク9
に対して内部スタツクポインタ8の管理の下でデ
ータの受け渡しをする。内部スタツク9はレジス
タ配列の形成をとるように構成され、内部母線1
0を通じてデータの受け渡しをするので、演算処
理装置6内でのレジスタ間のデータの受け渡しと
同様に高速で行なうことができる。内部スタツク
9に格納されているデータが0語である時に読み
出し要求が生じた時は、外部退避ポインタ7の示
す位置からn語を記憶装置11内に形成される外
部退避領域12から母線13を介して内部スタツ
ク9の内部スタツクポインタ8の示す位置に格納
し、外部退避ポインタ7の示す位置をnだけ減
じ、内部スタツクポインタ8の示す位置をnだけ
増す。そののち、内部スタツク9に対して読み出
しを行なう。同様に、内部スタツク9に格納され
ているデータが2n語である時に書き込み要求が
生じた時は、外部退避ポインタ7の示す位置に内
部スタツク9から母線13を介して外部退避領域
12へn語格納し、外部退避ポインタ7の示す位
置をnだけ増し、内部スタツクポインタ8の示す
位置をnだけ減じる。そののち内部スタツク9に
対して書き込みを行なう。このように内部スタツ
ク9と外部スタツク12間の1回の転送語数を
2nとせずにnにすることによつて、内部スタツ
ク9の格納語数が0また2n付近での稼動頻度を
下げ、内部スタツク9と外部退避領域12間のデ
ータ転送回数を低減し、内部スタツク9内のみで
データの受け渡しができやすいようにする。
考え、更に詳しく説明する。プログラム実行中に
スタツク使用要求が生じた場合は内部スタツク9
に対して内部スタツクポインタ8の管理の下でデ
ータの受け渡しをする。内部スタツク9はレジス
タ配列の形成をとるように構成され、内部母線1
0を通じてデータの受け渡しをするので、演算処
理装置6内でのレジスタ間のデータの受け渡しと
同様に高速で行なうことができる。内部スタツク
9に格納されているデータが0語である時に読み
出し要求が生じた時は、外部退避ポインタ7の示
す位置からn語を記憶装置11内に形成される外
部退避領域12から母線13を介して内部スタツ
ク9の内部スタツクポインタ8の示す位置に格納
し、外部退避ポインタ7の示す位置をnだけ減
じ、内部スタツクポインタ8の示す位置をnだけ
増す。そののち、内部スタツク9に対して読み出
しを行なう。同様に、内部スタツク9に格納され
ているデータが2n語である時に書き込み要求が
生じた時は、外部退避ポインタ7の示す位置に内
部スタツク9から母線13を介して外部退避領域
12へn語格納し、外部退避ポインタ7の示す位
置をnだけ増し、内部スタツクポインタ8の示す
位置をnだけ減じる。そののち内部スタツク9に
対して書き込みを行なう。このように内部スタツ
ク9と外部スタツク12間の1回の転送語数を
2nとせずにnにすることによつて、内部スタツ
ク9の格納語数が0また2n付近での稼動頻度を
下げ、内部スタツク9と外部退避領域12間のデ
ータ転送回数を低減し、内部スタツク9内のみで
データの受け渡しができやすいようにする。
一般的にいうと、内部スタツク9が(i+j+
k)語(但しi、kは正の整数、jは整数)で構
成されている場合、内部スタツク9が充満状態時
にスタツクに書き込む時は内部スタツク9の内容
のうち1語を外部退避領域12へ転送し、また内
部スタツク9が空状態時にスタツクから読み出す
時は外部退避領域12からk語を内部スタツク9
に転送する。前述実施例ではi=k=n、j=0
の場合を考えたが、i、j、kの値の組み合せは
この限りではない。
k)語(但しi、kは正の整数、jは整数)で構
成されている場合、内部スタツク9が充満状態時
にスタツクに書き込む時は内部スタツク9の内容
のうち1語を外部退避領域12へ転送し、また内
部スタツク9が空状態時にスタツクから読み出す
時は外部退避領域12からk語を内部スタツク9
に転送する。前述実施例ではi=k=n、j=0
の場合を考えたが、i、j、kの値の組み合せは
この限りではない。
以上説明したように本発明のスタツク形成方法
は、スタツク操作は記憶装置を対象に行なわれる
のではなく、内部スタツクとして演算処理装置内
に設けられたスタツク用レジスタ配列を対象に行
なわれる。内部スタツクの容量を越える範囲の語
数を扱う場合にも、容量を越えるスタツクの底部
の情報を外部退避領域に一時的に退避することに
より、やはり、スタツク操作は内部スタツクに対
してのみ行なわれる。したがつて、スタツクの深
さ及び内部スタツクの容量に依存せずに、常に内
部スタツクを用いた高速なスタツク操作が行なわ
れ、その実用的効果は大きい。
は、スタツク操作は記憶装置を対象に行なわれる
のではなく、内部スタツクとして演算処理装置内
に設けられたスタツク用レジスタ配列を対象に行
なわれる。内部スタツクの容量を越える範囲の語
数を扱う場合にも、容量を越えるスタツクの底部
の情報を外部退避領域に一時的に退避することに
より、やはり、スタツク操作は内部スタツクに対
してのみ行なわれる。したがつて、スタツクの深
さ及び内部スタツクの容量に依存せずに、常に内
部スタツクを用いた高速なスタツク操作が行なわ
れ、その実用的効果は大きい。
第1図は従来のスタツク形成方法を示すブロツ
ク図、第2図は本発明によるスタツク形成方法を
示すブロツク図である。 6……演算処理装置、7……外部退避ポイン
タ、8……内部スタツクポインタ、9……内部ス
タツク、10……内部母線、11……記憶装置、
12……外部退避領域、13……母線。
ク図、第2図は本発明によるスタツク形成方法を
示すブロツク図である。 6……演算処理装置、7……外部退避ポイン
タ、8……内部スタツクポインタ、9……内部ス
タツク、10……内部母線、11……記憶装置、
12……外部退避領域、13……母線。
Claims (1)
- 【特許請求の範囲】 1 演算処理装置、それが実行すべきプログラム
および取扱うデータを格納する記憶装置、それら
を結合する母線から成る情報処理装置を用いて、
プログラム内でのデータの受け渡しに先入後出の
スタツクを形成するにあたり、前記記憶装置内に
外部退避領域、前記演算処理装置内に内部スタツ
クおよび該内部スタツクの空の先頭位置を示す内
部スタツクポインタ、該外部退避領域の空の先頭
位置を示す外部退避ポインタを有し、前記演算処
理装置がスタツクへの書き込み読み出し動作を行
なう場合、データを前記内部スタツクに対して書
き込み読み出すとともに前記内部スタツクポイン
タを更新し、前記内部スタツクが充満状態時にス
タツクに書き込む時は前記内部スタツクの内容を
前記外部退避領域へ転送し充満状態を解消した後
前記内部スタツクに書き込むとともに前記内部ス
タツクポインタ、前記外部退避ポインタを更新
し、前記内部スタツクが空状態時にスタツクから
読み出す時は前記外部退避領域の内容を前記内部
スタツクへ転送し、空状態を解消した後前記内部
スタツクから読み出すとともに前記内部スタツク
ポインタ、前記外部退避ポインタを更新する機能
を有することを特徴とするスタツク形成方法。 2 内部スタツクが(i+j+k)語(ただし
i、kは正の整数、jは整数)で構成され、内部
スタツクが充満状態時にスタツクに書き込む時は
内部スタツクの内容のうち下位の(最も古い)i
語を外部退避領域の上位(先頭)へ転送し、また
内部スタツクが空状態時にスタツクから読み出す
時は外部退避領域から上位(最も新しい)k語を
内部スタツクの上位(先頭)に転送することを特
徴とする特許請求の範囲第1項記載のスタツク形
成方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP56203269A JPS58103043A (ja) | 1981-12-15 | 1981-12-15 | スタック形成方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP56203269A JPS58103043A (ja) | 1981-12-15 | 1981-12-15 | スタック形成方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS58103043A JPS58103043A (ja) | 1983-06-18 |
| JPS6149696B2 true JPS6149696B2 (ja) | 1986-10-30 |
Family
ID=16471240
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP56203269A Granted JPS58103043A (ja) | 1981-12-15 | 1981-12-15 | スタック形成方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS58103043A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS61242800A (ja) * | 1985-02-19 | 1986-10-29 | ビーペックス・コーポレーション | 回転金型用金型セグメント及び回転金型装置 |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH01255035A (ja) * | 1988-04-05 | 1989-10-11 | Matsushita Electric Ind Co Ltd | プロセサ |
| JPH02299025A (ja) * | 1989-05-12 | 1990-12-11 | Nec Corp | マイクロコンピュータ |
| US20070282928A1 (en) * | 2006-06-06 | 2007-12-06 | Guofang Jiao | Processor core stack extension |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5241132A (en) * | 1975-09-29 | 1977-03-30 | Hitachi Ltd | Molten plating method |
| JPS54146531A (en) * | 1978-05-09 | 1979-11-15 | Fujitsu Ltd | Address stack control system |
| JPS5730167A (en) * | 1980-07-30 | 1982-02-18 | Fujitsu Ltd | Stack memory device |
| JPS5730166A (en) * | 1980-07-30 | 1982-02-18 | Fujitsu Ltd | Stack memory processor |
| JPS6012658B2 (ja) * | 1980-12-22 | 1985-04-02 | 富士通株式会社 | スタック・メモリ装置 |
-
1981
- 1981-12-15 JP JP56203269A patent/JPS58103043A/ja active Granted
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS61242800A (ja) * | 1985-02-19 | 1986-10-29 | ビーペックス・コーポレーション | 回転金型用金型セグメント及び回転金型装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| JPS58103043A (ja) | 1983-06-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3598321B2 (ja) | 異なる周波数で動作するバス間でやりとりされるバッファリングデータ | |
| US4742446A (en) | Computer system using cache buffer storage unit and independent storage buffer device for store through operation | |
| JPS6149696B2 (ja) | ||
| EP0787326B1 (en) | System and method for processing of memory data and communication system comprising such system | |
| JPH0383134A (ja) | スタック管理方法 | |
| JPS63233435A (ja) | 遅延処理方法及びその装置 | |
| JPS6198469A (ja) | マイクロプロセツサ間通信方式 | |
| JP2734581B2 (ja) | 入出力制御装置の制御方式 | |
| JPH05233440A (ja) | バッファ機能を備えたデータ転送方式 | |
| JP3057754B2 (ja) | メモリ回路および分散処理システム | |
| JP2687679B2 (ja) | プログラム開発装置 | |
| JP2581144B2 (ja) | バス制御装置 | |
| JPH06139201A (ja) | 共有メモリを介する情報受渡し方法 | |
| JPH03149626A (ja) | スタック管理方法 | |
| JPS5533282A (en) | Buffer control system | |
| JPS6218074B2 (ja) | ||
| JPH04333950A (ja) | 情報処理システム | |
| JPS616747A (ja) | メモリ装置 | |
| JPH0115100B2 (ja) | ||
| JPS58215778A (ja) | バツフア記憶制御方式 | |
| JPS6243737A (ja) | 割り込み制御方式 | |
| JPS6375927A (ja) | バツフア制御方式 | |
| JPS61153770A (ja) | 画像処理装置 | |
| JPH04127227A (ja) | メモリ制御システム | |
| JPS6215651A (ja) | 情報処理システム |