JP2604604B2 - スタック制御装置 - Google Patents

スタック制御装置

Info

Publication number
JP2604604B2
JP2604604B2 JP25512487A JP25512487A JP2604604B2 JP 2604604 B2 JP2604604 B2 JP 2604604B2 JP 25512487 A JP25512487 A JP 25512487A JP 25512487 A JP25512487 A JP 25512487A JP 2604604 B2 JP2604604 B2 JP 2604604B2
Authority
JP
Japan
Prior art keywords
halt
address register
value
storage means
execution
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 - Lifetime
Application number
JP25512487A
Other languages
English (en)
Other versions
JPH0196734A (ja
Inventor
一子 島倉
邦弘 大畑
勝二 藤森
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP25512487A priority Critical patent/JP2604604B2/ja
Publication of JPH0196734A publication Critical patent/JPH0196734A/ja
Application granted granted Critical
Publication of JP2604604B2 publication Critical patent/JP2604604B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】 〔概要〕 複数システムからの指令データを1個のスタックに格
納し、スタックに格納された指令データを取り出して実
行するスタック制御装置に関し、 この種のスタック制御装置において、指令データ実行
の順序性を保証することを目的とし、 指令データと有効ビットとシステム・コードを記憶す
るスタック、スタックに指令データを書き込む際に使用
される書込アドレス・レジスタ、スタックの指令データ
を実行する際に使用される実行アドレス・レジスタ、セ
ーブ・アドレス・レジスタ、2個のホルト状態記憶手
段、第1の片系ホルト記憶手段、第2の片系ホルト記憶
手段、実行アドレス・レジスタをセーブ・アドレス・レ
ジスタにコピーする処理を行うコピー手段、セーブ・ア
ドレス・レジスタを実行アドレス・レジスタに復元する
ための復元手段、指令データのスタックへの書込処理を
行う書込処理手段、スタックの中の指令データを実行す
る実行処理手段などを具備することを構成要件としてい
る。
〔産業上の利用分野〕
本発明は、複数のシステムから送られて来る命令や命
令を間接的に指定するデータなどの指令データを1個の
スタックに格納し、スタックに格納された指令データを
取り出して実行するスタック制御装置に関するものであ
る。
〔従来の技術〕
第8図は従来のスタック制御方式を示す図である。同
図において、50はスタック、51は書込アドレス・レジス
タ、52は実行アドレス・レジスタ、53は指令データ・レ
ジスタ、54は実行順序判別回路、55はホルト状態記憶
部、56は実行レジスタをそれぞれ示している。システム
としては、A系,B系,…,n系が存在する。符号51から56
の部分は、システム毎に存在する。スタック50には、対
応するシステムから送られて来た指令データ及び実行順
序コードが格納される。指令データとは、命令まは命令
を間接的に指示するデータを意味している。書込アドレ
ス・レジスタ51は、指令データをスタック50に書き込む
ときに使用されるものである。実行アドレス・レジスタ
52は、スタック50の中の指令データを実行するときに使
用されるものである。指令データ・レジスタ53には、対
応するシステムから送られて来た指令データがセットさ
れる。実行順序判別回路54は、指令データの受付順序を
判別するものである。例えば、指令データの受付順序が
A系の指令データ,B系の指令データ,…と言うものであ
れば、A系の実行順序判別回路54は自分のデータの受付
順序が第1番目(最先)であると判別して第1番目を表
す実行順序コードを生成し、B系の実行順序判別回路54
は自分の指令データの受付順序が第2番目であると判別
して第2番目を表す実行順序コードを生成する。例え
ば、A系のホルト状態記憶部5の状態値は、A系システ
ムからホルト指令が送られて来た時にホルト値(オン)
になり、スタート指示が送られて来た時に非ホルト値
(オフ)になる。A系のホルト状態記憶部55の値がホル
ト値を示している場合には、A系のスタック50からの読
み出しは行われない。実行レジスタ56には、スタック50
から読出された指令データがセットされる。
A系システムから指令データが送られて来ると、指令
データがスタック50に書き込まれ、書込アドレス・レジ
スタ51が+1される。この時、受付順序(A系,B系,…
n系を含めた全体としての)が実行順序判別回路54によ
り判別され、実行順序コードが生成され、この実行順序
コードもスタック50に書き込まれる。同様な動作がB
系,…,n系についても行われる。
起動されると、スタック50から指令データ及び実行順
次コードが読み出される。他のシステムついても同様で
ある。A系のシタック50から読み出された指令データ,B
系のスタック50から読み出された指令データ,…,n系の
スタック50から読み出された指令データに基づく処理が
行われるが、その実行順序は読み出された実行順序コー
ドの値に従う。
〔発明が解決しようとする問題点〕
従来の技術においては、システム毎にスタックなどを
用意し、多数システムからの指令データを順番に対応す
るスタックに格納し、順番に取り出して実行し、且つ各
システム毎にホルト指示やスタート指示がなされたりす
るため、ホルト指示やスタート指示がなされても、各シ
ステム毎の指令データの実行の順次性を保つようにする
には、各システム毎にスタック及びシステム間の指令デ
ータの順番を記憶するための機能が必要となり、ハード
ウェアが増大するという欠点があった。
本発明は、この点に鑑みて創作されたものであって、
複数のシステムからの指令データを1個のスタックに格
納し、しかも指令データ実行の順序性を保証できるよう
になったスタック制御装置を提供することを目的として
いる。
〔問題点を解決するための手段〕
第1図は本発明の原理図である。本発明のスタック制
御装置は、 一方のシステム(A)と他方のシステム(B)から共
通バスを介してアクセスされるスタック制御装置であっ
て、 指令データ、有効ビットおよび指令データ発行元のシ
ステムを示すシステム・コードより成る語の複数個を記
憶するスタック(32)と、 書込アドレス・レジスタ(1)と、 書込アドレス・レジスタの値を更新する更新手段(6
6)と、 実行アドレス・レジスタ(2)と、 実行アドレス・レジスタ(2)の値を更新する更新手
段(67)と、 実行アドレス・レジスタ(2)の値をセーブするため
のセーブ・アドレス・レジスタ(3)と、 オンの有効ビットおよびオフの有効ビットを生成する
有効ビット生成手段(60)と、 指令データ発行元システムを示すシステム・コードを
生成するシステム・コード生成手段(61)と、 各々が2個のシステムの各々と1対1の対応をなし、
対応するシステムからホルト指示が送られて来た時には
ホルト値となり、対応するシステムからスタート指示が
送られて来た時には非ホルト値となる2個のホルト状態
記憶手段(10,11)と、 一方のシステム(A)のホルト状態記憶手段(10)が
ホルト値を示し他方のシステム(B)のホルト状態記憶
手段(11)が非ホルト値を示した時にオンの信号を出力
する第1の片系ホルト記憶手段(13)と、 他方のシステム(B)のホルト状態記憶手段(11)が
ホルト値を示し一方のシステム(A)のホルト状態記憶
手段(10)が非ホルトを示した時にオンの信号を出力す
る第2の片系ホルト記憶手段(14)と、 実行アドレス・レジスタ(2)の値をセーブ・アドレ
ス・レジスタ(3)にコピーするための処理を行うコピ
ー手段(62)と、 セーブ・アドレス・レジスタ(3)の値を実行アドレ
ス・レジスタ(2)に復元するための処理を行う復元手
段(63)と、 書込処理手段(64)と、 実行処理手段(65)と を具備し、 上記コピー手段(62)は、 他方のシステム(B)のホルト状態記憶手段(11)
が非ホルト値の状態の下で一方のシステム(A)からホ
ルト指示が出された場合、 一方のシステム(A)のホルト状態記憶手段(10)
が非ホルト値の状態の下で他方のシステム(B)からホ
ルト指示が出された場合、 2個のホルト状態記憶手段(10,11)が両方ともホ
ルト値であり且つセーブ・アドレス・レジスタ(3)の
値が実行アドレス・レジスタ(2)の値以上である状態
の下で、第1の片系ホルト記憶手段(13)がオンを出力
し且つ一方のシステム(A)のホルト状態記憶手段(1
0)が非ホルト値を示した場合、 2個のホルト状態記憶手段(10,11)が両方ともホ
ルト値であり且つセーブ・アドレス・レジスタ(3)の
値が実行アドレス・レジスタ(2)の値以上である状態
の下で、第2の片系ホルト記憶手段(14)がオンを出力
し且つ他方のシステム(B)のホルト状態記憶手段(1
1)が非ホルト値を示した場合 に実行アドレス・レジスタ(2)の値をセーブ・アドレ
ス・レジスタ(3)にコピーする処理を行うよう構成さ
れ、 上記復元手段(63)は、 第1の片系ホルム記憶手段(13)の出力がオンであ
り且つ一方のシステム(A)のホルト状態記憶手段(1
0)が非ホルト値を示した場合、 第2の片系ホルト記憶手段(14)の出力がオンであ
り且つ他方のシステム(B)のホルト状態記憶手段(1
1)が非ホルト値を示した場合 に、セーブ・アドレス・レジスタ(3)の値を実行アド
レス・レジスタ(2)に復元する処理を行うよう構成さ
れ、 書込処理手段(64)は、システムから指令データが送
られて来た時、当該指令データ、オンの有効ビットおよ
び指令ダータ発行元システムのシステム・コードをスタ
ック(32)における書込アドレス・レジスタ(1)で示
されている番地に書き込み、その後に書込アドレス・レ
ジスタ(1)の更新を行うための処理を行うように構成
され、 実行処理手段(65)は、スタック(32)における実行
アドレス・レジスタ(2)で示される番地からデータを
読み出し、 読出データの中の有効ビットがオフの場合には、実
行アドレス・レジスタ(2)の更新を行ってスタック
(32)から次のデータを読み出すための処理を行い、 読出データのシステム・コードで特定されるホルト
状態記憶手段(10または11)がホルト値を示している場
合は、実行アドレス・レジスタ(2)の更新を行ってス
タック(32)から次のデータを読み出すための処理を行
い、 読出データの中の有効ビットがオンであり且つ読出
データのシステム・コードで特定されるホルト状態記憶
手段(10又は11)が非ホルト値を示している場合には、
読出データの中の指令データに基づく処理を実行し、処
理終了後に実行アドレス・レジスタ(2)で示される番
地の有効ビットをオフし、その後に実行アドレス・レジ
スタ(2)を更新するための処理を行うように構成され
ている ことを特徴とするものである。
〔実施例〕
第2図は本発明の実施例の概要を示す図、第3図はス
タックの実行を説明する図、第4図はスタックへのデー
タの書込み及びスタックのデータに基づく実行を説明す
る図、第5図は本発明の実施例のブロック図、第6図は
制御信号の生成を示す図、第7図はホルト指示がなされ
その後にスタート指示がなされた場合の動作を示す図で
ある。図において、1は書込アドレス・レジスタ、2は
実行アドレス・レジスタ、3はセーブ・アドレス・レジ
スタ、4はシステムA側のコマンド・アドレス・レジス
タ、5はシステムB側のコマンド・アドレス・レジス
タ、6は読出Vビット、7は読出Sビット、8は実行レ
ジスタ、10から15はフリップ・フロップ、16はホルト解
除信号、17はCOPY信号、19から22はAND回路、23はOR回
路、24と25はAND回路、26はOR回路、27はAND回路、28は
OR回路、30はシステムA側のアダプタ操作レジスタ、31
はシステムB側のアダプタ操作レジスタ、32はスタッ
ク、33はコマンド・バッファ、40は共通メモリ・アダプ
タ、41は共通メモリ、G1からG14はゲート条件をそれぞ
れ示している。
先ず、第2図について説明する。システムAとシステ
ムBは共通バスを介して共通メモリ・アダプタ40にアク
セスする。共通メモリ41と接続している共通メモリ・ア
ダプタ40は、二重化システムにおいて、主系ダウン時に
従系システムに素早く切り換えるための装置であり、共
通メモリ41には切り換えるときに必要な情報が格納され
ている。システムAがコマンド・アドレスを送出する
と、このコマンド・アドレスはコマンド・アドレス・レ
ジスタ4にセットされ、次いでスタック32に書き込ま
れ、書込アドレス・レジスタ1(第5図を参照)が+1
される。システムAのコマンド・アドレスを書き込むと
きには、‘1'のVビット及び‘0'のSビットも同一番地
に書き込まれる(第5図を参照)。次に、例えばシステ
ムBがコマンド・アドレスを発行すると、このコマンド
・アドレスはコマンド・アドレス・レジスタ5にセット
され、次いでスタック32に書き込まれ、書込アドレス・
レジスタ1が+1される。システムBのコマンド・アド
レスを書き込む際には、‘1'のVビット及び‘1'のSビ
ットが同一番地に書き込まれる。スタック32へのコマン
ド・アドレスの書込みは上述のようにして行われる。
システムからの指示するSTART/HALT命令はスタック内
のコマンドを読み出すための開始信号ではなく、コマン
ドを実行していいか、待たせるかを指示するものであ
る。実際、スタック内のデータを読み出すのはマイクロ
プログラムが管理しており、マイクロプログラムの指示
によりコマンドの読み出しを行う。スタック32のx番地
から読出された読出データ(コマンド・アドレス、Vビ
ット及びSビットより成る)は実行レジスタ8などにセ
ットされる。読出データのSビットが‘0'であり且つV
ビットが‘1'である場合には、システムAの主記憶にお
けるコマンド・アドレスで示される番地からコマンドを
読み出し、読み出したコマンドをコマンド・バッファ33
に格納する。コマンドは、第3図に示すように、コマン
ド・コード、バイト・カウント、共通メモリ・アドレス
および主記憶アドレスなどから構成されている。コマン
ド・コードには、ReadとWriteとがある。バッファ33に
コマンドをフェッチした後、共通メモリ・アダプタ40
は、コマンド・コードに従って共通メモリ41とシステム
Aの主記憶との間でデータ転送を行う。データ転送が終
了した後、x番地のVビットは‘0'とされる。システム
Bがスタート指示を送出した場合にも同様な動作が行わ
れる。
システムAがホルト(HALT)指示を送出すると、この
ホルト指示はアダプタ操作レジスタ30にセットされ、ス
タック32に格納されているシステムAのコマンド・アド
レスに基づくデータ転送は中断される。システムBがホ
ルト指示を送出した場合には、スタック32に格納されて
いるシステムBのコマンド・アドレスに基づくデータ転
送は中断される。
第4図はスタックへのデータの書込み及びスタックの
データに基づく実行を説明する図である。コマンド・ア
ドレス・レジスタ4又は5にデータが書き込まれると、
STKRQ#A(スタック・リクエスト)またはSTKRQ#Bが
オンになる。STKRQ#Aがオンになると、ゲートG5(第
5図参照)が開きコマンド・アドレス・レジスタ4のデ
ータがスタック32に書き込まれる。同様に、STKRQ#B
がオンになると、ゲートG6(第5図参照)が開きコマン
ド・アドレス・レジスタ5のデータがスタック32に書き
込まれる。STKRQ#AおよびSTKRQ#Bの両方がオンでな
い場合には、スタック32からデータが読み出され、読出
データが有効な場合には、読出データに基づく処理が実
行される。なお、第4図の処理はマイクロプログラムに
より実現される。
第5図は本発明の実施例のブロック図である。システ
ムAがシステムBよりも先にホル指示を送出するとビッ
トAHはオンになり、システムBがシステムAよりも先に
ホルト指示を送出すると、ビットBHはオンになる。ビッ
トAHとBHを合わせたものをHコードと言う。ゲートG1
は、コマンド・アドレスをスタックする時に開き、ゲー
トG2はコマンド・アドレスに基づくデータ転送が終了し
た時に開き、ゲートG3はシステムAのコマンド・アドレ
スをスタックする時に開き、ゲートG4はシステムBのコ
マンド・アドレスをスタックする時に開き、ゲートG5は
システムAのコマンド・アドレスをスタックする時に開
き、ゲートG6はシステムBのコマンド・アドレスをスタ
ックする時に開く。ゲートG7は、信号COPYがオンになっ
た時に開く。ゲートG8は、ホルト解除信号がオンしたこ
とを条件に開く。ゲートG9は、‘0'のVビットがスタッ
ク32から読出された時、コマンド・アドレスに基づくデ
ータ転送が終了した時又はスタックから読出されたデー
タのSビットとHコードが一致する時に開く。ゲートG1
0は、コマンド・アドレスの書込みが指示された時に開
く。ゲートG11は、コマンド・アドレスに基づくデータ
転送の実行が指示された時に開く。書込アドレス・レジ
スタ1は、スタック32にコマンド・アドレスが書き込ま
れる度に+1される。書込みが指示されている場合に
は、書込アドレス・レジスタ1のアドレスがスタック32
に送られる。実行スタック・レジスタ2の内容は、ゲー
トG9が開くと+1される。また、ゲートG7が開くと、実
行アドレス・レジスタ2の内容はセーブ・アドレス・レ
ジスタ3にコピーされる。ゲートG8が開くと、セーブ・
アドレス・レジスタ3の内容は実行アドレス・レジスタ
2に復元される。実行が指示されると、実行アドレス・
レジスタ2のアドレスがゲートG11を介してスタック32
に送られ、スタック32からデータが読み出される。A系
システムがコマンド・アドレスを送出すると、このコマ
ンド・アドレスがレジスタ4にセットされ、ゲートG5が
開き、レジスタ4のコマンド・アドレスがスタック32の
データ入力端子に印加される。同様に、B系システムが
コマンド・アドレスを送出すると、このコマンド・アド
レスがレジスタ5にセットされ、ゲートG6が開き、レジ
スタ5のコマンド・アドレスがスタック32のデータ入力
端子に印加される。コマンド・アドレスをスタック32に
書き込む時、ゲートG1が開き、‘1'のVビットも書き込
まれ、更に、A系スタックの時は‘0'のSビットがスタ
ック32に書き込まれ、B系スタックのときは‘1'のSビ
ットがスタック32に書き込まれる。スタック32のx番地
からデータが読出されると、その読出データの中のコマ
ンド・アドレスは実行レジスタ8にセットされ、Vビッ
トは読出Vビット部6にセットされ、Sビットは読出S
ビット部7にセットされる。読み出されたコマンド・ア
ドレスに基づくデータ転送が終了した時、ゲートG2が開
き、スタック2のx番地のVビットが‘0'にされる。
第6図は制御信号の生成を説明する図である。同図に
おいて、10ないし15はフリップ・フロップを示す。
第6図(a)に示すように、A系ホルト指示がなされ
ると、J−Kフリップ・フロップ10がセットされ、信号
HALTAがオンになる。A系スタート指示がなされると、
J−Kフリップ・フロップ10はリセットされ、信号HALT
Aがオフされる。同様に、B系ホルト指示がなされる
と、F−Kフリップ・フロップ11がセットされ、信号HA
LTBがオンになる。B系スタート指示がなされると、J
−Kフリップ・フロップ11はリセットされ、信号HALTB
がオフされる。信号HALTAと信号HALTBが両方ともオンに
なると、信号WHがオンになる。オンの信号WHは、A系お
よびB系の両方からホルト指示が出されたことを示して
いる。
第6図(b)に示すように、信号HALTAがオンで且つ
信号▲▼がオンと言う条件が成立した時に、
信号AHがオンになり、信号HALTBがオンで且つ信号▲
▼がオンと言う条件が成立した時に、信号BHが
オンになる。オンの信号AHはホルト解除信号がオンした
時にオフされ、オンの信号BHもホルト解除信号がオンし
た時にオフされる。信号AHがオンの状態の下で信号▲
▼がオンになった場合にはホルト解除信号がオ
ンになり、また、信号BHがオンの状態の下で信号▲
▼がオンになった場合にもホルト解除信号がオン
になる。
第6図(c)に示すように、実行アドレス・レジスタ
2の内容がセーブ・アドレス・レジスタ3の内容と等し
いか,又はそれより小である場合には、J−Kフリップ
・フロップ15はセットされ、信号EA=SAがオンになる。
そして、信号COPYがオンになると、J−Kフリップ・フ
ロップ15はリセットされ、信号EA=SAがオフになる。
第6図(d)に示すように、信号▲▼がオ
ン(B系ホルトではない)の状態の下でA系ホルト指示
がなされると、信号COPYがオンになる。また、信号▲
▼がオン(A系ホルトではない)の状態の下で
B系ホルト指示がなされると、信号COPYがオンになる。
更に、ホルト解除信号がオン、信号WHがオン及び信号EA
=SAがオンと言う条件が成立した時にも信号COPYがオン
になる。
次に第5図の実施例の動作について説明する。スタッ
ク32にコマンド・アドレスを格納する場合には、A系か
B系かにかかわらず送られて来た順番にコマンド・アド
レスをスタック32に格納し、書込アドレス・レジスタ1
を+1更新する。この際に、コマンド・アドレスの他
に、当該コマンド・アドレスが有効であることを示す
‘1'のVビットをスタック32の同一番地に書込み、更に
当該コマンド・アドレスがA系のものであれば‘0'のS
ビットを、B系のものであれば‘1'のSビットをスタッ
ク32の同一番地に書き込む。
実行時には、実行アドレス・レジスタ2を使用する。
スタック32から読み出したデータのVビットが‘1'であ
れば当該コマンド・アドレスを有効とみなし、A系又は
B系に対する処理を行い、処理が完了するとVビットを
‘0'とし、スタック32に格納し、実行アドレス・レジス
タ2を+1更新する。スタック32からデータを読み出し
たとき、読出データのVビットが‘0'であれば、そのデ
ータは無効とし、Vビットが‘1'のデータを取り出すま
で実行アドレス・レジスタ2の更新を行う。
第7図はホルト指示が発行され、その後にスタート指
示が発行された場合の動作を説明する図である。同図に
おいて、EARは実行アドレス・レジスタ、SARはセーブ・
アドレス・レジスタを示している。また、A#HALTはA
系がホルト状態であることを示し、A#STARTはA系が
スタート指示を発行したことを示し、B#HALTはB系が
ホルト状態であることを示し、B#STARTはB系がスタ
ート指示を発行したことを意味している。
第7図(a)はA系システムがホルト指示を発行し、
その後にA系システムがスタート指示を発行した場合の
動作を示す図である。A系システムがホルト指示を発行
すると、その時の実行アドレス・レジスタ2の内容がセ
ーブ・アドレス・レジスタ3に格納され、A系はホルト
状態になる。図示の例では、ホルト指示が発行された時
の実行アドレス・レジスタ2の値は01番地を示している
と仮定している。B系システムからホルト指示が発行さ
れていないので、スタック32の01番地からデータが読出
され、この読出データはB系システムのものであるの
で、読出データに基づく処理が行われ、処理終了後に01
番地のVビットは‘0'にされる。次に02番地のデータが
読出され、この読出データはA系システムのものである
ので、次に03番地のデータが読出されるが、この読出デ
ータもA系システムのものであるので、読出データに基
づく処理は行われず、04番地のデータが読出される。04
番地のデータはB系システムのものであるので、このデ
ータに基づく処理が行われ、処理終了後に04番地のVビ
ットは‘0'とされ、実行アドレス・レジスタ2の値は05
番地に更新される。この時に、A系システムからスター
ト指示が発行されると、セーブ・アドレス・レジスタ3
に保存されていた01番地は実行アドレス・レジスタ2に
書き込まれ、スタック32の01番地からデータが読出さ
れ、A系システムのデータに基づく処理が行われる。こ
の場合に、既に処理済のB系システムのコマンド・アド
レスはVビットが‘0'にリセットされているので、これ
らB系システムのコマンド・アドレスに基づく処理は行
われない。
第7図(b)はA系システムがホルト指示を発行し、
その後でB系システムがホルト指示を発行し、その後で
スタート指示が発行された場合の動作を説明する図であ
る。実行アドレス・レジスタが01番地を指している時に
A系システムがホルト指示を発行すると、信号AHがオン
になり、セーブ・アドレス・レジスタ3に01番地が保存
される。実行アドレス・レジスタ2が04番地を指してい
る時にB系システムがホルト指示を発行すると、A系シ
ステム及びB系システムの両方ともホルト指示を発行し
たので、実行アドレス・レジスタ2の更新は停止され、
スタック32からのデータの読出しも停止される。この状
態の下で、Bシステムがスタート指示を発行すると、実
行アドレス・レジスタ2の値がスタック32のアドレス端
子に入力され、スタック32からのデータ読出しが再開さ
れる。それ以後は、第7図(a)の場合と同じである。
A系システムがホルト指示を発行した時点での実行ア
ドレス(01番地)がセーブ・アドレス・レジスタ2に存
在し、B系がホルト指示を発行した時点での実行アドレ
ス(04番地)が実行アドレス・レジスタ2に存在する状
態の下において、A系システムが先にスタート指示を発
行した場合には、セーブ・アドレス・レジスタ3に格納
されている01番地が実行アドレス・レジスタ2に書込ま
れると同時に実行アドレス・レジスタ2に格納されてい
る04番地がセーブ・アドレス・レジスタ3に書込まれ
る。そして、01番地のデータが読み出されるが、01番地
のデータは処理済であるので、02番地のデータが読み出
され、この読出データに基づく処理が行われ、処理終了
後に02番地のデータのVビットは‘0'とされる。同様に
して03番地のデータに基づく処理が行われる。04番地の
データはB系のものであり且つB系がホルト状態である
ので、このデータに基づく処理は実行されない。05番地
のデータはA系のものであるので、05番地のデータに基
づく処理が行われる。16番地のデータはB系のものであ
るので、このデータに基づく処理は行われない。実行ア
ドレスが07番地を指している時に、B系からスタート指
示が送られて来ると、セーブ・アドレス・レジスタ3に
保存されている04番地が実行アドレス・レジスタ2に書
き込まれ、04番地のデータの読出しが行われる。
この場合、セーブ・アドレス・レジスタ3のアドレス
よりも実行アドレス・レジスタ2のアドレスの方が小さ
い時に、B系がスタートすると、セーブ・アドレス・レ
ジスタ3のアドレスと実行アドレス・レジスタ2のアド
レスの間のデータを飛ばしてしまう可能性がある。例え
ば、A系およびB系が両方とホルト状態で、セーブ・ア
ドレス・レジスタ3に01番地が保持され、実行アドレス
・レジスタ2に04番地が保持されていると仮定する。A
系のホルト状態が解除されると、実行アドレス・レジス
タ2の内容はセーブ・アドレス・レジスタ3にセーブさ
れ、セーブ・アドレス・レジスタ3の内容は実行アドレ
ス・レジスタ2に復元される。この結果、セーブ・アド
レス・レジスタ2の内容は04番地となり、実行アドレス
・レジスタ2の内容は01番地となる。次に、B系のホル
ト状態が解除された場合、セーブ・アドレス・レジスタ
3の内容(04番地)を実行アドレス・レジスタ2に復元
すると、02番地及び03番地にA系のコマンドがあった場
合には、これらのコマンドは飛ばされてしまう。これを
防止するために、両系がホルト状態(信号WHがオン)で
次に片系がホルト状態を解除したとき、セーブ・アドレ
ス・レジスタ3の内容が実行アドレス・レジスタ2の内
容より小であったならば、実行アドレス・レジスタ2の
内容をセーブ・アドレス・レジスタ3にコピーしない。
このような動作は第6図(d)の回路によって実現され
る。即ち、セーブ・アドレス・レジスタ3の内容が実行
アドレス・レジスタ2の内容より小であるときにはEA=
SAビットはオンにならないので、AND回路27のADN条件は
成立せず、実行アドレス・レジスタ2の内容はセーブ・
アドレス・レジスタ3にコピーされない。
〔発明の効果〕
以上の説明から明らかなように、本発明によれば、
(a)スタックの個数が1個で済むなどハードウェア構
成を簡単化できること、 (b) ホルト指示が発行された時、ホルト指示を発行
したシステムからの指令データに基づく処理のみを一時
的に中断できること、 (c) ホルト指示がない場合には、指令データの格納
順序に従って指令データが読出され、指令データに基づ
く処理が行われること、 (d) ホルト指示があった後にスタート指示があった
場合においても、システム毎の指令データ格納順序を乱
すことなくスタックから指令データを読み出し、指令デ
ータに基づく処理を実行できること、 などの顕著な効果を奏することが出来る。
【図面の簡単な説明】
第1図は本発明の原理図、第2図は本発明の実施例の概
要を示す図、第3図はスタックの実行を説明する図、第
4図はスタックへのデータの書込み及びスタックのデー
タに基づく実行を説明する図、第5図は本発明の実施例
のブロック図、第6図は制御信号の生成を示す図、第7
図はホルト指示が発行され、その後にスタート指示が発
行された場合の動作を説明する図、第8図は従来のスタ
ック制御方式のブロック図である。 1……書込アドレス・レジスタ、2……実行アドレス・
レジスタ、3……セーブ・アドレス・レジスタ、4……
システムA側のコマンド・アドレス・レジスタ、5……
システムB側のコマンド・アドレス・レジスタ、6……
読出Vビット、7……読出Sビット、8……実行アドレ
ス・レジスタ、10から15……フリップ・フロップ、16…
…ホルト解除信号、17……COPY信号、19から22……AND
回路、23……OR回路、24と25……ADN回路、26……OR回
路、27……AND回路、28……OR回路、30……システムA
側のアダプタ操作レジスタ、31……システムB側のアダ
プタ操作レジスタ、32……スタック、33……コマンド・
バッファ、40……共通メモリ・アダプタ、41……共通メ
モリ、G1ないしG14……ゲート。

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】一方のシステム(A)と他方のシステム
    (B)から共通バスを介してアクセスされるスタック制
    御装置であって、 指令データ、有効ビットおよび指令データ発行元のシス
    テムを示すシステム・コードより成る語の複数個を記憶
    するスタック(32)と、 書込アドレス・レジスタ(1)と、 書込アドレス・レジスタの値を更新する更新手段(66)
    と、 実行アドレス・レジスタ(2)と、 実行アドレス・レジスタ(2)の値を更新する更新手段
    (67)と、 実行アドレス・レジスタ(2)の値をセーブするための
    セーブ・アドレス・レジスタ(3)と、 オンの有効ビットおよびオフの有効ビットを生成する有
    効ビット生成手段(60)と、 指令データ発行元システムを示すシステム・コードを生
    成するシステム・コード生成手段(61)と、 各々が2個のシステムの各々と1対1の対応をなし、対
    応するシステムからホルト指示が送られて来た時にはホ
    ルト値となり、対応するシステムからスタート指示が送
    られて来た時には非ホルト値となる2個のホルト状態記
    憶手段(10,11)と、 一方のシステム(A)のホルト状態記憶手段(10)がホ
    ルト値を示し他方のシステム(B)のホルト状態記憶手
    段(11)が非ホルト値を示した時にオンの信号を出力す
    る第1の片系ホルト記憶手段(13)と、 他方のシステム(B)のホルト状態記憶手段(11)がホ
    ルト値を示し一方のシステム(A)のホルト状態記憶手
    段(10)が非ホルト値を示した時にオンの信号を出力す
    る第2の片系ホルト記憶手段(14)と、 実行アドレス・レジスタ(2)の値をセーブ・アドレス
    ・レジスタ(3)にコピーするための処理を行うコピー
    手段(62)と、 セーブ・アドレス・レジスタ(3)の値を実行アドレス
    ・レジスタ(2)に復元するための処理を行う復元手段
    (63)と、 書込処理手段(64)と、 実行処理手段(65)と を具備し、 上記コピー手段(62)は、 他方のシステム(B)のホルト状態記憶手段(11)
    が非ホルト値の状態の下で一方のシステム(A)からホ
    ルト指示が出された場合、 一方のシステム(A)のホルト状態記憶手段(10)
    が非ホルト値の状態の下で他方のシステム(B)からホ
    ルト指示が出された場合、 2個のホルト状態記憶手段(10,11)が両方ともホ
    ルト値であり且つセーブ・アドレス・レジスタ(3)の
    値が実行アドレス・レジスタ(2)の値以上である状態
    の下で、第1の片系ホルト記憶手段(13)がオンを出力
    し且つ一方のシステム(A)のホルト状態記憶手段(1
    0)が非ホルト値を示した場合、 2個のホルト状態記憶手段(10,11)が両方ともホ
    ルト値であり且つセーブ・アドレス・レジスタ(3)の
    値が実行アドレス・レジスタ(2)の値以上である状態
    の下で、第2の片系ホルト記憶手段(14)がオンを出力
    し且つ他方のシステム(B)のホルト状態記憶手段(1
    1)が非ホルト値を示した場合 に実行アドレス・レジスタ(2)の値をセーブ・アドレ
    ス・レジスタ(3)にコピーする処理を行うよう構成さ
    れ、 上記復元手段(63)は、 第1の片系ホルト記憶手段(13)の出力がオンであ
    り且つ一方のシステム(A)のホルト状態記憶手段(1
    0)が非ホルト値を示した場合、 第2の片系ホルト記憶手段(14)の出力がオンであ
    り且つ他方のシステム(B)のホルト状態記憶手段(1
    0)が非ホルト値を示した場合 に、セーブ・アドレス・レジスタ(3)の値を実行アド
    レス・レジスタ(2)に復元する処理を行うよう構成さ
    れ、 書込処理手段(64)は、システムから指令データが送ら
    れて来た時、当該指令データ、オンの有効ビットおよび
    指令データ発行元システムのシステム・コードをスタッ
    ク(32)における書込アドレス・レジスタ(1)で示さ
    れている番地に書き込み、その後に書込アドレス・レジ
    スタ(1)の更新を行うための処理を行うように構成さ
    れ、 実行処理手段(65)は、スタック(32)における実行ア
    ドレス・レジスタ(2)で示される番地からデータを読
    み出し、 読出データの中の有効ビットがオフの場合には、実
    行アドレス・レジスタ(2)の更新を行ってスタック
    (32)から次のデータを読み出すための処理を行い、 読出データのシステム・コードで特定されるホルト
    状態記憶手段(10または11)がホルト値を示している場
    合は、実行アドレス・レジスタ(2)の更新を行ってス
    タック(32)から次のデータを読み出すための処理を行
    い、 読出データの中の有効ビットがオンであり且つ読出
    データのシステム・コードで特定されるホルト状態記憶
    手段(10又は11)が非ホルト値を示している場合には、
    読出データの中の指令データに基づく処理を実行し、処
    理終了後に実行アドレス・レジスタ(2)で示される番
    地の有効ビットをオフし、その後に実行アドレス・レジ
    スタ(2)を更新するための処理を行うように構成され
    ている ことを特徴とするスタック制御装置。
JP25512487A 1987-10-09 1987-10-09 スタック制御装置 Expired - Lifetime JP2604604B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP25512487A JP2604604B2 (ja) 1987-10-09 1987-10-09 スタック制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP25512487A JP2604604B2 (ja) 1987-10-09 1987-10-09 スタック制御装置

Publications (2)

Publication Number Publication Date
JPH0196734A JPH0196734A (ja) 1989-04-14
JP2604604B2 true JP2604604B2 (ja) 1997-04-30

Family

ID=17274423

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25512487A Expired - Lifetime JP2604604B2 (ja) 1987-10-09 1987-10-09 スタック制御装置

Country Status (1)

Country Link
JP (1) JP2604604B2 (ja)

Also Published As

Publication number Publication date
JPH0196734A (ja) 1989-04-14

Similar Documents

Publication Publication Date Title
JPS6155688B2 (ja)
JP2604604B2 (ja) スタック制御装置
JP3162459B2 (ja) データ処理装置
JP3427901B2 (ja) メモリ内容回復装置
JP2671160B2 (ja) 例外処理方式
JP2594140B2 (ja) データ駆動型データ処理装置
JPH03103951A (ja) メモリパトロール制御方式
JP2001184259A (ja) 演算処理装置及び該装置におけるデータ転送方法
JP3500561B2 (ja) 共有データバッファ
JPH11338712A (ja) 割込順序保存回路
JPH07271553A (ja) Fifoメモリ装置のメモリ制御方法
JPH113274A (ja) メモリアクセス制御方式
JPH02123426A (ja) マイクロプロセッサ
JPH0315217B2 (ja)
JP3299147B2 (ja) キャッシュ制御回路
JP3009168B2 (ja) データ処理装置
JPH0373040A (ja) キャッシュメモリ
JPH05242009A (ja) 直接メモリアクセス装置
JPH05265942A (ja) Dma制御部におけるデータ入出力方法
JPS60254256A (ja) 情報処理装置
JPS60142450A (ja) 記憶システム
JPS6385949A (ja) キヤツシユメモリストア方式
JPH03225529A (ja) マイクロプロセッサ
JPS6385948A (ja) キヤツシユメモリストア方式
JPH03269650A (ja) バッファ記憶装置