JPH02224026A - スタック回路 - Google Patents

スタック回路

Info

Publication number
JPH02224026A
JPH02224026A JP12914089A JP12914089A JPH02224026A JP H02224026 A JPH02224026 A JP H02224026A JP 12914089 A JP12914089 A JP 12914089A JP 12914089 A JP12914089 A JP 12914089A JP H02224026 A JPH02224026 A JP H02224026A
Authority
JP
Japan
Prior art keywords
stack
program
subroutine
circuit
memory circuit
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
JP12914089A
Other languages
English (en)
Inventor
Hideo Tanaka
秀夫 田中
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Publication of JPH02224026A publication Critical patent/JPH02224026A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はスタック回路、特にナブルーヂンからの復帰プ
ログラムアドレスを記憶するスタック回路に関する。
〔従来の技術〕
マイクロコンピュータ等の情報処理装置、では、データ
処理の高速化・複雑化にともない、性能の高い内部機能
が要求される。内部の動作を制御4″るプログラムでは
、同一処理や反復処理等があると、これをサブルーチン
と呼ばれる、メインプログラムとは別の領域で定義を行
なう方式をとる。
この方式では、主制御の動作がメインプログラムに記述
されているのに対し、メインプログラムから特定の指示
によってサブルーチンプログラムへ動作の制御が移行さ
れ、サブルーチンプログラムでの処理が終了すると再び
、メインプログラムへ制御が戻される。このとき、メイ
ンプログラムとサブルーチンプログラムとの動作を制御
するものの一つにスタック回路があり、サブルーチンプ
ログラムへ動作が移行したとき戻るべきメインプログラ
ムのアドレスを記憶する。
第3図は従来のスタック回路の構造を示した図であり、
スタックメモリ回路6、スタックポインタ7およびプロ
グラムカウンタ8から成る。
メインプログラムが動作中、サブルーチンコールがある
と、メインプログラムを記憶しているプログラムメモリ
(図示省略)のサブルーチンコール命令の次のアドレス
が、プログラムカウンタ8からスタックメモリ回路6に
入力され、サブルーチンコール命令で示されたサブルー
チンアドレスをプログラムカウンタ8に入力してジャン
プし、サブルーチン処理に移行する。
サブルーチン処理が終了すると、スタックメモリ回路6
に記憶されていたアドレスが読み出されメインプログラ
ムへの復帰が行なわれる。
スタックポインタ7は、サブルーチン内部で別のサブル
ーチンを呼び出すことができるように、サブルーチン・
が呼ばれるたびにその値を変え、このスタックポインタ
7の値が戻るべきプログラムアドレスを記憶しているス
タックメモリ回路6のアドレスを示すことになる。
〔発明が解決しようとする課題〕
−mに、サブルーチン内ではデータの処理中にデータの
変化に伴うデータの流れを変えるプログラムの変更を行
うことができない。
そのため、従来は、−担メインプログラムまで戻り、そ
こで条件判定などを行い必要なプログラム領域ヘジャン
プするようにしているのでメインプログラムが複雑にな
るという欠点がある。
これをきらって、上記動作をサブルーチン内で行うとす
ると、スタックポインタの動きと合わすプログラムのシ
ーケンスがくずされることになる。
また、スタックのレベルが何回かのサブルーチンを実行
している段階から通常の方法で復帰しようとすると、必
要回数分復帰動作を行わなければならず、データ処理の
高速性が著しく低下するという欠点ともなる。
上述した従来のスタック回路に対し、本発明はスタック
ポインタの変更またはスタックメモリ回路の内容を可能
にしたことにより、サブルーチン内の処理でメインプロ
グラムでの処理が必要となった際、その実行レベルがど
のサブルーチンレベルにあるかを意識せずにメインプロ
グラムに復帰でき、またスタックメモリ回路の内容を変
更できることにより、サブルーチン内から任意のプログ
ラム領域へ動作の以降ができるという相違点を有する。
〔課題を解決するための手段〕
第1の本発明のスタック回路は、次に実行されるプログ
ラムアドレスを示すプログラムカウンタと、サブルーチ
ンコールの際に、プログラムカウンタの値や、内部状態
を記憶するスタックメモリ回路と、このメモリ回路のア
ドレスを示すスタックポインタと、命令をデコードした
結果によりスタックポインタの内容を変更する制御回路
とにより構成される。
第2図の本発明のスタック回路は、次に実行されるプロ
グラムアドレスを示すプログラムカウンタと、サブルー
チンコールの際に前記プログラムカウンタの値や、内部
状態を記憶し、データバスに接続されたスタックメモリ
回路と、前記スタックメモリ回路のアドレスを示すスタ
ックポインタと、命令をデコードした結果により前記ス
タックメモリ回路に前記データバスの内容をセットさせ
る制御回路とを具備したことを特徴とする。
〔実施例〕
次に、本発明について図面を参照して説明すLゆ 第1図は本発明の一実施例を示し、スタックメモリ回路
1.スタックポインタ2.プログラムカウンタ3および
制御回路4から成る。スタックメモリ回路1はデータバ
ス1.0に接続されている。
スタックメモリ回路1は、スタックすべきアドレスを記
憶する手段であり、スタックポインタ2はスタックメモ
リ回路1の現在さされている領域を示すものであり、プ
ログラムカウンタ3はプログラムの実行アドレスを格納
しているレジスタであり、制御回路4はスタックポイン
タ2に対しリセット動作を行わせる回路である。
次に、本実施につき動作を説明する。
まず、通常プログラムでリーブルーチ〉′コールぐスタ
ック動作)を行うと、現在実行1.ているブr’7グラ
ムの実行アドレスの次のアドレスがプログラムクンタ3
からスタックメモ1!回!i’81に記憶さズ゛しる。
このとき、スタック動作が行なわil、たことを示すた
め、スタックポインタ2はスタックメモリ回路1の最初
のアドレスを示すことになる。
またサブルーチン内のプログラムで次のサブルチ・ンコ
・−ルがあると、そのと?≦のプログラムアドレス+1
の値がプログラムカウンタ3かへスタックメモリ回路1
に転送され記憶されるとともに、スタックポインタ2は
次のアドレスの値を示すことになる。
上述のようにサブルーチン内−・ルがあるたびにスタッ
クの17ベルは深まっていくが、もし、あるサブルーチ
ン内でデータ処理を行なっている際、メインプログラム
での処理へ戻らなければならない状態が生じたとき、プ
ログラムにスタックポインタリセッI−命令があると制
御回路4はこの命令をデコー ドし、スタックボーイン
タ2に対しリセット信号Rを出す、この結果、スタック
ポインタ2は、何らスタック動作が行なオ)れていない
状態(−度もサブルーチンコールが行われていない状態
)になる。
次に、ザブルー・チ〉′内の分岐命令等で、必要とされ
ている処理が、記述されたアドレスをプログラムカウン
タ3にセラ■・する。二とによりメインプログラムへの
ジャンプ動作を行う。
第2図は、」−述のスタックポインタ2のリセット動作
を説明するノ::めの図である。
制御回路4はプログラム」−の命令で、スタックポイン
タのリセット動作をデコードすると、リセット信号R(
DウアクティブR= ’ON、通常はR1二゛1”)を
出す。スタックポインタ2はザブル・−チンコールや復
帰命令があると+1もしくは1の動作を行うアッダダウ
ンカウンタで構成されており、そのポインタ値と前述し
l:ツノセット信号11とが論理素子5により論理積演
算が行わノ1、スタックポインタ2のポインタ値をずべ
てh a =。
番こ[1、リセット動作が行なわ第1る9以−Lのよう
に、どの1ノベルのザブルー・チン内であっても、スタ
ックリセット命令を実行し4、その後分岐命令でジャン
プすることにより、メインプログラムへの復・扉ができ
必要な処理を行・うことができる、8 また、第3図に示したように、スタックメモリ「・1路
1がデータバス10に接続されているのて′、ス炒・・
Iクメモリ回路1に任意の値をセットするこ7パ・″て
゛きる、第3 fj3にスタックメモリ回路1へのデー
タの書込みと読出しのためのインクフェ・・−ス部の詳
細を示す。
メインプログラムでサブルーチン等のスタ・・Iり退避
命令があると、制御信V+aがアクティブになり、プロ
グラムカウンタ8からスタックメモリ回路1にデータ格
納される。ま77−:、スタックメモリ回路1かt)の
復帰命令があると、制御信ぢ【−・がアクティブになり
、5スタックメモリ回路1の内容がプログラムカウンタ
に転送される。
次に、命令て′スタックメモリ回路1へのデ=−タの書
込み要求があると、デーツノくス10よりスタックメモ
リ回路1にデータがセットされる。この動作によりセッ
トされろ。4′T、の動作によりセラhされたデー・夕
は、復帰命令があると、ブr−2グラムカウンタ8にセ
ット・されることになる。
以上の実施例において、リセット信号Rの代りにスタッ
クポインタ2を変更する信号を使用づ−るようにしても
よい。
〔発明の効果〕
以上説明したように、本発明は、プL;グラムでスタッ
クポインタの変更またはスタックメモリ回路の内容を変
更する回路を設けたため、サブルーチンのの呼び出し回
数に関係なく、プログラムの必要に応じてメインプログ
ラムへ無条件に復帰することができ、このときプログラ
ムの流れを乱すことなく、しかも復帰後また新たなサブ
ルーチンコールができるという効果があり、プログラム
の簡易化及びデータ処理の高速化を用ることができる。
また任意のデータをスタックメモリ回路にセットできる
ため、サブルーチン内からの復帰時に任意のプログラム
領域に動作を移行することができ、汎用性をもたせるこ
とになる。
1.6・・・スタックメモリ回路、2,7・・・スタッ
クポインタ、3.8・・・プログラムカウンタ、4・・
・制御回路、5・・・論理積素子、10・・・データバ
ス、R・・・リセット信号、a、b、c・・・制御信号
、φ。
φ・・・クロック信号。

Claims (3)

    【特許請求の範囲】
  1. (1)次に実行されるプログラムアドレスを示すプログ
    ラムカウンタと、サブルーチンコールの際に前記プログ
    ラムカウンタの値や、内部状態を記憶するスタックメモ
    リ回路と、前記スタックメモリ回路のアドレスを示すス
    タックポインタと、命令をデコードした結果により前記
    スタックポインタの内容を変更する制御回路とを具備し
    たことを特徴とするスタック回路。
  2. (2)次に実行されるプログラムアドレスを示すプログ
    ラムカウンタと、サブルーチンコールの際に前記プログ
    ラムカウンタの値や、内部状態を記憶し、データバスに
    接続されたスタックメモリ回路と、前記スタックメモリ
    回路のアドレスを示すスタックポインタと、命令をデコ
    ードした結果により前記スタックメモリ回路に前記デー
    タバスの内容をセットさせる制御回路とを具備したこと
    を特徴とするスタック回路。
  3. (3)前記制御回路は命令をデコードした結果によりス
    タックポインタに対しリセット動作を行わせることを特
    徴とする請求項(1)または(2)のスタック回路。
JP12914089A 1988-11-17 1989-05-22 スタック回路 Pending JPH02224026A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP63-291302 1988-11-17
JP29130288 1988-11-17

Publications (1)

Publication Number Publication Date
JPH02224026A true JPH02224026A (ja) 1990-09-06

Family

ID=17767135

Family Applications (1)

Application Number Title Priority Date Filing Date
JP12914089A Pending JPH02224026A (ja) 1988-11-17 1989-05-22 スタック回路

Country Status (1)

Country Link
JP (1) JPH02224026A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008530712A (ja) * 2005-02-18 2008-08-07 クゥアルコム・インコーポレイテッド 復帰スタックを管理する方法および装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008530712A (ja) * 2005-02-18 2008-08-07 クゥアルコム・インコーポレイテッド 復帰スタックを管理する方法および装置
JP2012123810A (ja) * 2005-02-18 2012-06-28 Qualcomm Inc 復帰スタックを管理する方法および装置

Similar Documents

Publication Publication Date Title
US20080282060A1 (en) Active memory command engine and method
JPS62197830A (ja) デ−タ処理システム
JPH0346850B2 (ja)
JPS62115542A (ja) 情報処理装置
JPH02224026A (ja) スタック回路
EP4193250B1 (en) Processing apparatus
JPS59184943A (ja) 情報処理装置
JP3469753B2 (ja) プロセッサの戻り番地読み出し制御方法及びプロセッサ
JPH0654505B2 (ja) 並列型演算処理装置
JPS6161139B2 (ja)
JPS60193046A (ja) 命令例外検出方式
JPH02143328A (ja) マイクロプログラム制御装置
JPS6215645A (ja) 中央処理装置
JPS6229813B2 (ja)
JPS6250854B2 (ja)
JPS61217833A (ja) 演算処理装置
JPS5935239A (ja) マイクロプログラム制御方式
JPH02232727A (ja) 情報処理装置
JPS6028014B2 (ja) マイクロプロセツサ
JPH08249024A (ja) プログラマブルコントローラ
JPS63241636A (ja) デ−タ処理装置
JPH03276306A (ja) プログラマブルコントローラ
JPS59186048A (ja) マイクロプログラム制御方式
JPH02148221A (ja) マイクロ制御装置
JPH03280128A (ja) マイクロプログラム制御装置