JPS62128337A - スタツク制御方式 - Google Patents

スタツク制御方式

Info

Publication number
JPS62128337A
JPS62128337A JP60268308A JP26830885A JPS62128337A JP S62128337 A JPS62128337 A JP S62128337A JP 60268308 A JP60268308 A JP 60268308A JP 26830885 A JP26830885 A JP 26830885A JP S62128337 A JPS62128337 A JP S62128337A
Authority
JP
Japan
Prior art keywords
register
stack
state
address
pop
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
JP60268308A
Other languages
English (en)
Inventor
Yoshio Hamaguchi
濱口 芳夫
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
Priority to JP60268308A priority Critical patent/JPS62128337A/ja
Publication of JPS62128337A publication Critical patent/JPS62128337A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は情報処理システム、特にスタックを有する情報
処理システムのスタック制御方式に関するものである。
〔従来の技術〕
スタックは種々の情報を一時的に格納しておくために広
く用いられている。従来は、各スタックにスタックポイ
ンタなどと呼ばれる1つのレノ2りを設けてスタックの
トップを指すようにするのが一般的であった。
第4図は上記のスタックの様子を示す図であって、この
図で、斜線を付した部分1が有効な情報を保持している
高位アドレスの部分であり、うち3で示した部分がスタ
ックポイントである。また〔発明が解決しようとする問
題点〕 上記の場合、スタックからポツプするときにはスタック
ポインタ3の指すメモリの内容を直ちに読み出し、その
後で必要ならば次の処理と並行してスタックポインタの
内容を更新することが可能であるが、スタックにグツシ
ーする前にはまずスタックポインタ3を更新してからで
ないとスタックにデータを格納できないため、処理時間
がかかるという問題があった。
〔問題点を解決するだめの手段〕
本発明のスタック制御機構は、プッシュアドレスとポツ
プアドレスを記憶する2つのレジスタと。
これら2つのレジスタのどちらがポツプアドレスをどち
らがプッシーアドレスを記憶しているのかを記憶するフ
リッゾ70.fとを有している。そしてスタックへのグ
ツシー動作時には、このフリップフロツノの状態に従っ
てプツシ−アドレスを記憶しているレジスタを選択して
、このレジスタの指すメモリにデータを格納し、もう一
方のレジスタを新たなグツ7−アドレスを指すよって更
新すると共に、このフリツノフロップを反転させる。
又スタックからのポツプ動作時には、このフリップフロ
ツノの状態に従ってポツプアドレスを記憶しているレジ
スタを選択して、このレジスタの指すメモリからデータ
を取シ出し、もう一方のレジスタを新たなボッシアドレ
スを指すように更新すると共に、このフリップフロツノ
を反転させる。
〔実施例〕
次に1本発明について図面を参照して説明する。
第3図は本発明の概要を示す図である。第3図(1)の
フリップフロツノF/F (以下単にF/Fと略称する
)がオフ状態では、レジスタROがスタックのトップを
指している。この状態でスタックからの−2ノ動作が要
求されると、レジスタROの指すメモリ(即ち、スタッ
クのトップ)から1語読み出される。並行してレジスタ
R1が2語分増加され、続いてF/Fの状態が反転され
る。その結果。
第3図(3)のような(1)からポツプした状態になる
スタックトップはレジスタR1が指すことになる。
一方、第3図(1)の状態からグツシー動作が要求され
ると、レジスタR1の指すメモリ(即ち、未使用領域の
先頭)に1語書き込まれる。並行してレジスタROが2
語分減少され、続いてF/Fの状態がオンに反転される
。その結果、第3図(2)のようなグツシーした状態に
なる。そしてスタックド、fはレジスタR1が指すよう
になる。
以上をまとめると9.t?ポツプ動作時はスタックトッ
プを指している方のレジスタ(F/Fの状態で定まる)
がアドレスレジスタとして用いられ、もう一方のレジス
タが2語分増加される。逆に、グツシー動作時にはスタ
ックトップを指していない方のレジスタがアドレスレジ
スタとして用いられ。
もう一方のレジスタ(即ち、スタックドッグを指してい
たレジスタ)が2語分減小される。いずれの場合も、 
F/Fを反転して、スタックドッグを指すレジスタが入
れかわったことを記憶する。
なお、初期状態では第3図(4)のようになる。すなわ
ちF/Fはオフであり、スタックが空であることを示す
レジスタ(RO)がスタックド、ノを指している。又こ
の第3図の動作についてはあとに更に具体的に説明する
第2図は1本発明の一実施例であるスタックを有する情
報処理システムの概略ブロック図である。
第2図では、中央処理装置11と、主記憶装置12と、
入出力処理装置13とが、アドレスバスa。
データバスb及び制御バスCを介して接続されている。
第1図は、第2図の中央処理装置12のうち。
本発明に関連する部分のブロック図である。この第1図
でφ1.φ2.φ3はタイミング信号であり。
各マシンサイクルにおいて主クロックに同期してこの順
で発生する。信号d及びeはそれぞれグラン−命令及び
ポツプ命令のデコード信号である。
lす これら両信号慶論理和回路21で論理和され、出力信号
fは2つに分岐され、一方はF/F 22に送られる。
他方についてはあとに説明する。F/F22はレジスタ
51 (RO)又はレジスタ52 (R1)のどちらが
スタックトラf(即ち、ポツプアドレス)を指している
かを記憶する。このF/Fは、初期設定時、 CLR端
子への入力信号でリセットされ、プツシ−又はポツプ命
令実行中のタイミング信号φ3で状態が反転される。F
/Fがオン即ちセット状態のとき、出力Qが1″でQが
0”、オフ即ちリセット状態のときその逆である。初期
設定時にはQ=”O’″になる。
ケ9−ト31,32.34,41,42.44は論理積
ダート、ダート33.43は論理和ゲートである。ゲー
ト33の出力はグツシュ動作でF/Fがオンのとき及び
ポツプ動作でF/Fがオフのとき1”になシ。
ケ゛−ト43の出力はグツシュ動作でF/Fがオフのと
き及びポツプ動作でF/Fがオンのとき1″になる。こ
れらはゲート34及び44でタイミング信号φlによっ
て条件付けられ、レジスタ31 (RO)及びレジスタ
32 (R1)の制御入力端子に入力される。
レジスタ31及び32(RO及びR1)は例えばTTL
IC74569などのカウンタでできている。初期設定
時PE端子への入力がオンになったとき、並列入力端子
から初期値がロードされる。U/′5端子はカウントア
ツプするかカウントダウンするかの制御入力端子であり
、 U/D=”I IIのときカウントアツプする。し
たがって1本例ではポツプ命令のデコード出力を則市端
子に接続しである(第3図の説明のとき、プツシ−動作
でレジスタを減少。
ポツプ動作で増加させると記したことと関連)。
OE端子は出カニネーブル制御信号を入力する端子であ
り、ゾッシー/ポッグ動作時にアドレスレジスタとして
使用されるレジスタのOE端子入力がオンになる。具体
的に言うと9例えばレジスタ51 (RO)のOE大入
力、ケ゛−ト34の出力即ちグツシー動作でF/Fがオ
ン及びポツプ動作でF/Fがオフのときオンになる。前
者はF/Fがオン即ちレジスタ52 (R1)がスタッ
クトップを指しており、したがってレジスタ51 (R
O)はグッンユアドレスを保持しているので、7″ツシ
一動作にはこのレジスタ51 (RO)が用いられるこ
とを示し。
後者はF/Fがオフ即ちレジスタ51 (RO) yj
”スタックトップを指しておシレジスタ51 (RO)
はポツプアドレスを保持しているので1.I?ポツプ動
作はこのレジスタ(RO)が用いられることを示す。
また、CP端子はカウントアツプ/ダウンのタイミング
信号を入力する端子であり、前記でアドレスレジスタと
して選択されなかった方のレジスタのCP端子の入力が
オンになり、 U/D端子の状態にしだがってカウント
アツプ又はダウン動作を行う。
レジスタ51 (RO)及び52 (R1)の出力は3
ステートであり、ワイヤードオアされてアドレスラッチ
62に入力される。なお、前記説明でも明さらかなよう
に、レジスタROとR1の出力が共にエネーブル状態に
なることはない。
アドレスラッチ62は他の用途にも用いられるが2本発
明に関しては、7″ツシユ命令及びポツプ命令の実行中
にメモリのアドレスを一時記憶するのに使用される。L
E入力端子(ラッチイネーブル入力端子)には、先に述
べたグツシー/ポツプ命令実行中を示す信号fとタイミ
ング信号φ2との論理積ゲート61での論理積が入力さ
れる。そしてこのLE入力端子がオンになるとき、入力
データをラッチし以後この内容を定常的にアドレス・々
龜 ・−一、 ス剖碍舎に供給する。
ここで先に第3図を参照して説明した動作を第1図を参
照して再度説明する。第3図(1)の状態ではF/F 
22がオフである。即ち、信号gはオフ。
信号りはオンである。まず、この状態でグツシー命令が
実行された場合を考える。プツシ−命令がデコードされ
たことにより信号d及びfがオンになる。この結果、論
理積ゲート41がオンになり。
タイミングφ重でレジスタ52 (R1)の内容が出力
され、タイミングφ2でアドレスラッチ62にラッチさ
れ、アドレスバスaに出力される。これにより、データ
バス(第2図のbで、第1図には図示せず)の内容が第
2図で主記憶装置12に書き込まれる。一方、タイミン
グφlでレジスタ51(RO)のCP大入力オンになり
、カウントダウンされる(今の場合、グツシー命令なの
でU/D入力はオフであプツシたがってカウントダウン
となる)。なお、レジスタ51.52は語単位のアドレ
スのみを指すのであるから、下位の何ビットかは常に−
定値とし、2語jli位に増減するように構成すること
が可能である。最後にタイミングφ3で17’F’ 2
2が反転される(JKアフリノフロップのJ、に入力が
共に1”のとき、  CLK入力をオンにすると状態が
反転する)。以上が、先に述べたグツシー動作に相当す
る。
次に第3図(1)の状態でポツプ命令が実行された場合
を考える。ポツプ命令がデコードされたことにより信号
e及びfがオンになる。この結果、論理積り゛−ト32
がオンになり、タイミングφ簾でレノスタ51 (RO
)の内容が出力され、タイミングφ2でアドレスラッチ
62にラッチされ、アドレスバスaに出力される。これ
によシ、主記憶装置12(第2図)の内容がデータバス
aに読み出される。
−方、タイミングφ1でレノスタ52 (R1)のCP
大入力オンになり、カウントアツプされる(今の場合、
ポツプ命令なのでU/D入力はオンであシ。
したがってカウントアツプとなる。最後にタイミングφ
3でF/F 22が反転される。以上が先に述べた。I
?ポツプ作に相当する。
〔発明の効果〕
以上説明したように2本発明は2つのレノスタのどちら
がポツプアドレスを記憶しているかをフリップ70ツブ
に記憶させておき、スタックへのプッシュ動作時にはこ
のフリツノフロッグの状態に従ってプツシ−アドレスを
記憶しているレノスタを選択して、このレノスタの指す
メモリに7” −タを格納し、もう一方のレノヌタを新
たなプッシュアドレスを指すように更新すると共に、こ
のフリツノフロッグを反転させ、又スタックからのポツ
プ動作時にはこのフリツノフロッグの状態に従ってポツ
プアドレスを記憶しているレノスタを選択して、このレ
ノスタの指すメモリからデータを取シ出し、もう一方の
レノスタを新たなポツプアドレスを指すように更新する
と共に、このフリツノフロッグを反転させるようにする
ことによシ。
グツシー動作/ポッグ動作いずれの場合にもレノスタの
更新を待つことなくスタックをアクセスでき、したがっ
てスタックのアクセス時間を短縮できる効果がある。
【図面の簡単な説明】
第1図は本発明を適用した情報処理システムにおける中
央処理装置(CPU)のうち9本発明に関連する部分の
構成を示すブロック図、第2図は本発明の一実施例の情
報処理システムの概略ブロック1図、第3図は本発明の
概要を示す図、第4図は従来技術を示す図である。 記号の説明:1は高位アドレス、2は低位アドレス、3
はスタックポインタ、11は中央処理装置、12は主記
憶装置、13は入出力装置、21はケ゛−)、22はF
/F (フリッグ70ッf)。 31〜34及び41〜44はゲート、51はレノスタ(
RO)、52はレノスタ(R1)、62はアドレスラッ
チテ+  aはアドレスバス、bはデータバス。 Cは制御パス、dはグツシー命令のデコード信号。 eil−tポツプ命令のデコード信号、fはグツシー/
ポッグ命令実行中を示す信号、φ1〜φ3 はタイミン
グ信号をそれぞれあられしている。 5.−::! 人(778:1) fi I:、: 、
:池11ドご保[F]℃ 代イ立アドレス 高イ立アドレス

Claims (1)

    【特許請求の範囲】
  1. 1、スタックを有する情報処理システムにおいて、プッ
    シュアドレスとポップアドレスを記憶する2つのレジス
    タと、該2つのレジスタのどちらがポップアドレスをど
    ちらがプッシュアドレスを記憶しているかを記憶するフ
    リップフロップとを設け、スタックへのプッシュ動作時
    には、前記フリップフロップの状態に従ってプッシュア
    ドレスを記憶しているレジスタを選択し、該レジスタの
    指すメモリにデータを格納し、他方のレジスタを新たな
    プッシュアドレスを指すように更新すると共に前記フリ
    ップフロップの状態を反転し、スタックからのポップ動
    作時には、前記フリップフロップの状態に従ってポップ
    アドレスを記憶しているレジスタを選択し、該レジスタ
    の指すメモリからデータを取り出し、他方のレジスタを
    新たなポップアドレスを指すように更新すると共に前記
    フリップフロップの状態を反転することを特徴とするス
    タック制御方式。
JP60268308A 1985-11-30 1985-11-30 スタツク制御方式 Pending JPS62128337A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP60268308A JPS62128337A (ja) 1985-11-30 1985-11-30 スタツク制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60268308A JPS62128337A (ja) 1985-11-30 1985-11-30 スタツク制御方式

Publications (1)

Publication Number Publication Date
JPS62128337A true JPS62128337A (ja) 1987-06-10

Family

ID=17456726

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60268308A Pending JPS62128337A (ja) 1985-11-30 1985-11-30 スタツク制御方式

Country Status (1)

Country Link
JP (1) JPS62128337A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001184211A (ja) * 1999-11-09 2001-07-06 Motorola Inc 処理システムにおいてスタックのポップおよびプッシュ動作を行なうための装置および方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001184211A (ja) * 1999-11-09 2001-07-06 Motorola Inc 処理システムにおいてスタックのポップおよびプッシュ動作を行なうための装置および方法

Similar Documents

Publication Publication Date Title
EP0355560B1 (en) Conditional write ram
JPH02113381A (ja) マイクロプロセッサ
US3768080A (en) Device for address translation
JPH0414385B2 (ja)
JPS6217783B2 (ja)
JPS6010333B2 (ja) アドレシング制御装置
JPH01120660A (ja) マイクロコンピュータ装置
US5295253A (en) Cache memory utilizing a two-phase synchronization signal for controlling saturation conditions of the cache
JPS62128337A (ja) スタツク制御方式
JPH02292645A (ja) 高速読出変更書込メモリー・システム及び方法
EP0256134B1 (en) Central processing unit
US3268874A (en) Computer multi-register linkage with a memory unit
JPS6167156A (ja) デ−タ読取り/変更装置
JPH0772879B2 (ja) キヤツシユメモリ装置
JPH01162956A (ja) 順序記憶回路
JP2604604B2 (ja) スタック制御装置
JP2581144B2 (ja) バス制御装置
JP3074897B2 (ja) メモリ回路
JPS5815877B2 (ja) バツフア・メモリ制御方式
JPH10207823A (ja) Dma回路
JPH0355642A (ja) メモリー制御方式
JPS62121559A (ja) 計算機システム
JPS61223956A (ja) ストアバツフア制御方式
JPS60189043A (ja) プロセツサ
JPS6047626B2 (ja) デ−タ・バッファ制御方式