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

スタツク制御方式

Info

Publication number
JPH01304538A
JPH01304538A JP13269988A JP13269988A JPH01304538A JP H01304538 A JPH01304538 A JP H01304538A JP 13269988 A JP13269988 A JP 13269988A JP 13269988 A JP13269988 A JP 13269988A JP H01304538 A JPH01304538 A JP H01304538A
Authority
JP
Japan
Prior art keywords
address
register
subroutine
return
value
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
JP13269988A
Other languages
English (en)
Inventor
Nobuo Funakubo
舟窪 伸夫
Akira Ishiyama
明 石山
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP13269988A priority Critical patent/JPH01304538A/ja
Publication of JPH01304538A publication Critical patent/JPH01304538A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はマイクロプログラム制御の情報処理装置に関し
、特にサブルーチンコール時のアドレスのスタック制御
方式に関する。
〔従来の技術〕
従来サブルーチンコール命令を実行する場合、戻リアド
レスをアドレススタックレジスタに格納し保持していた
。そしてサブルーチンの終わりでリターン命令を実行す
るときスタックされている前記戻リアドレスをアドレス
スタックレジスタより取出して、次に実行するマイクロ
プログラムのアドレスとして使用していた。
この方式では高速なサブルーチンコールが行えるが、サ
ブルーチンコールの多重度を増やすとそれに比例してア
ドレススタックレジスタの数も増やす必要があり、ハー
ドウェアが増加して高価なものとなる問題点がある。
一方、マイクロプログラムのサブルーチンコールの多重
度を制限なく行うものてしては、特開昭62−2210
35号公報に示されている様に、サブルーチンコール命
令実行時に戻リアドレスに分岐する分岐命令をサブルー
チン内に書込む方式がある。該方式ではサブルーチンの
最終ステップで前記書込んだ分岐命令を実行してリター
ンする。
〔発明が解決しようとする課題〕
該方式ではマイクロプログラム実行中にマイクロプログ
ラムを格納している制御メモリを書きかえることが必要
なため、読出し専用メモリ素子(ROM)により構成さ
れた制御メモリには適用できないという問題点がある。
さらにサブルーチンコール時には、制御メモリ書きかえ
によるメモリ書込み時間が必ず余分に必要となり高速な
サブルーチンコールができないという問題点がある。
本発明の目的は、マイクロプログラムを格納する制御メ
モリが読出し専用メモリ素子で構成された情報処理装置
においても、サブルーチンコールの多重度を従来に比べ
格段に増やすことを可能とし、一方前記多重度が少ない
範囲ではサブルーチンへの分岐を高速に行うスタック制
御方式を提供することにある。
〔課題を解決するための手段〕 上記目的は、サブルーチンコール命令実行時にサブルー
チンからの戻リアドレスを保持するアドレススタックレ
ジスタと、該アドレススタックレジスタが全部使用中で
あることを検出する手段と、前記アドレススタックレジ
スタが全部使用中の時に、新たにサブルーチンコール命
令及び該サブルーチンコール命令と対になるリターン命
令を実行する場合にはマイクロプログラムのアドレスレ
ジスタに特定の値を設定する手段とにより、達成される
〔作用〕
前記アドレススタックレジスタに空がある場合、サブル
ーチンコール命令を実行する度にサブルーチンからの戻
リアドレスがアドレススタックレジスタに順に格納され
、保持される。そしてリターン命令が実行される度にア
ドレススタックレジスタを逆順に参照して戻リアドレス
を取出し、マイクロプログラムのアドレスレジスタに設
定する。
アドレススタックレジスタへの格納、取出しは、それぞ
れサブルーチンコール命令またはリターン命令の一部と
して行われ、1マシンサイクル内で終了するためサブル
ーチンコールは高速に行える。
一方アドレススタックレジスタが全部使用中の状態で更
にサブルーチンコール命令を実行する場合には、前記ア
ドレススタックレジスタが全部使用中であることを検出
する手段からの信号により、前記アドレスレジスタに特
定の値を設定する手段がはたらきマイクロプログラムは
特定アドレスに分岐する。該特定アドレスから始まるマ
イクロプログラムは、サブルーチンコールの戻リアドレ
スを1例えば主記憶装置に退ひして、サブルーチン入口
に分岐する。そして該サブルーチンの最終ステップでリ
ターン命令を実行する時には、退ひしておいた戻りアト
スレを前記主記憶装置等から読出して該戻リアドレスへ
分岐することによりサブルーチンからのリターンを行う
。このようにしてアドレススタックレジスタの数に関り
なくサブルーチンコールが可能となる。
〔実施例〕
以下、本発明の一実施例を図面により詳細に説明する。
第1図は本発明の一実施例のブロック図である。
9はマイクロプログラムを格納した制御メモリである。
1はマイクロプログラムの次アドレスレジスタであり、
当該アドレスレジスタ1に対応するマイクロ命令が制御
メモリ9がら読出され、マイクロ命令レジスタ1oに設
定される。
2はマイクロプログラムの現在アドレスレジスタであり
次アドレスレジスタ1の遅れを保持する。
該現在アドレスレジスタの値が+1回路8により毎サイ
クル加算された後セレクタ13を経由して再び次アドレ
スレジスタ1に設定されることによリアドレスの歩進が
行われる。
16はマイクロ命令中の分岐先アドレス部であり、サブ
ルーチンコール命令等の分岐マイクロ命令を実行する時
は該分岐先アドレス部16がセレクタ13を経由して次
アドレスレジスタ1に設定され分岐が行われる。
5はカウンタであり、0〜Fまでのイ直を持つ。カウン
タ5はサブルーチンコール命令実行時に+1され、リタ
ーン命令実行時に−1される。初期値はOである。3,
4はサブルーチンコール時の戻リアドレスを退避すアド
レススタックレジスタである。戻リアドレスはサブルー
チンコール命令に対応する現在アドレスレジスタ2に+
1した値である。サブルーチンコール命令実行時に、カ
ウンタ5の値が0ならばアドレススタックレジスタ3に
、又、カウンタ5の値が1ならばアドレススタック4に
それぞれ戻リアドレスが格納される。リターン命令実行
時には、カウンタ5の値が1ならば71ヘレススタツク
レジスタ3が、またカウンタ5の値が2ならばアドレス
スタックレジスタ4がそれぞれセレクタ13を経由して
次アドレスレジスタ1に設定されリターンする。
6は比較器であり、カウンタ5の値が1より太きいに場
合にコールオーバフロー信号15を出力し、2より大き
い場合にリターンオーバフロー信号18を出力する。該
コールオーバフロー信号15が出力されている状態でサ
ブルーチンコール命令実行時、あるいはリターンオーバ
フロー信号18が出力されている状態でリターン命令を
実行する時には、セレクタ制御回路7により、次アドレ
スレジスタ1にそれぞれ100番地あるいは101番地
が設定される。
12は分岐アドレス保持レジスタであり、サブルーチン
コール命令実行時に分岐先アドレス部16の値を格納す
る。14はセレクトである。
17は戻リアドレス保持レジスタであり、サブルーチン
コール命令実行時に現在アドレスレジスタ2に+1した
値を格納する。
1]はローカルメモリであり、マイクロプログラムによ
り自由に書込み、読出しができる。
次に第3図に示す如くサブルーチンコールが実行された
場合の動作例を説明する。
ルーチンAがa番地にてルーチンBをコールするとカウ
ンタ5の値がOなのでアドレススタック3に(α+1)
番地が設定され、その後カウンタ5の値が1になる。同
様にルーチンBがb番地にてルーチンCをコールすると
、アドレススタック4に(b+1)番地が設定された後
カウンタ5の値が2になりコールオーバフロー信号15
が出力される。この状態でルーチンCがC番地にてルー
チンDをコールすると、カンウンタ5の値が3になり分
岐アドレス保持レジスタ12にはC○番地が格納され、
戻リアドレス保持レジスタ17には(C+1)番地が格
納される。同時にマイクロプログラムは100番地に分
岐する。そして第2図(a)に示すマイクロプログラム
が実行される。
この結果ローカルメモリ11のα番地に(C+1)番地
が格納され、分岐アドレス保持レジスタ12の値に従い
ルーチンDに分岐する。同様にルーチンDがd番地にて
ルーチンEをコールするとカウンタ5の値が4になり、
ローカルメモリ11の(α+1)番地に、(d+1)番
地が格納されルーチンEに分岐する。その後ルーチンE
の最終ステップでリターン命令を実行時に、カウンタ5
の値が4のためリターンオーバフロー信号15によりマ
イクロプログラムは101番地に分岐する。
カウンタの値は3になるそして第2図(b)に示すマイ
クロプログラムが実行される。すなわちローカルメモリ
11の(α+1)番地に格納されていた(d+1)番地
が、分岐アドレス保持レジスタ12及びセレクタ13を
経由して次アドレスレジスタ1に設定される。この結果
マイクロプログラムは(d+1)番地へ分岐してルーチ
ンDヘリターンする。ルーチンDの最終ステップのリタ
ーン命令も上記と同様に実行される。この時カウンタ5
の値は2になるのでリターンオーバフロー信号18は出
力されなくなる。さらにルーチンCでリターン命令を実
行すると、リターンオーバフロ信号18が出力されてい
ないため、アドレススタックレジスタ4の値がすぐさま
次アドレスレジスタ1に設定されてルーチンBにリター
ンする。ルーチンBからAへのリターンも同様にしてア
ドレススタックレジスタ3の値により行う。
本実施例によれば、アドレススタックレジスタを2個具
備しているため多重度2までのサブルーチンコールを高
速に行える効果がある。また、ローカルメモリの値がセ
レクタ14及び分岐アドレス保持レジスタ12を経由し
て次アドレスレジスタ1に設定できるため、LSの値に
より任意アドレスへの分岐が可能となる効果がある。
〔発明の効果〕
本発明によれば、マイクロプログラムをかきかえること
なくサブルーチンコールの多重度を増加させるため、制
御メモリが読出し専用メモリ素子で構成された情報処理
装置にも適用可能である。
また、アドレススタックレジスタをも備えておりサブル
ーチンコールの多重度がアドレススタックレジスタが使
用可能な範囲では高速なサブルーチンコールを可能にし
ている。
【図面の簡単な説明】
第1図は本発明の一実施例を示すブロック図。 第2図は実施例におけるサブルーチンコール及びサブル
ーチンからのリターンを行うマイクロプログラムの流れ
図、第3図は実施例のサブルーチンコールの状態遷移を
示す説明図、第4図は実施例のタイムチャートである。 1・・・次アドレスレジスタ、2・・現在アドレスレジ
スタ、3・・・アドレススタックレジスタ、4・・アド
レススタックレジスタ、5・・・カウンタ、6・・・比
較器、9 ・制御メモリ、10・・マイクロ命令レジス
タ、11・・ローカルメモリ、12・・分岐アドレス保
持レジスタ、13・・セレクタ、17・・戻リアドレス
保持レジスタ。 〉ジ2目(d)            発2圀(る)
発り目 こu−r   [ν]          口    
      [≧]          ロ     
     [セ]団 し ゛″′■′ ■門圏 E3Aロ匡コF田 Mロ区ロ因■

Claims (1)

    【特許請求の範囲】
  1. 1、マイクロプログラムを格納する制御メモリと、前記
    制御メモリの読出しアドレスを保持する制御メモリアド
    レスレジスタと、該制御メモリアドレスレジスタの入力
    となり、サブルーチンからの戻リアドレスを保持するア
    ドレススタックレジスタとを具備してなる情報処理装置
    において、前記アドレススタックレジスタの全部が使用
    中である事を検出する手段と、前記アドレススタックレ
    ジスタの全部が使用中である時に、新たにサブルーチン
    コール命令を実行する場合には前記制御メモリアドレス
    レジスタに特定の値を設定する手段とを設けたことを特
    徴とするスタック制御方式。
JP13269988A 1988-06-01 1988-06-01 スタツク制御方式 Pending JPH01304538A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP13269988A JPH01304538A (ja) 1988-06-01 1988-06-01 スタツク制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP13269988A JPH01304538A (ja) 1988-06-01 1988-06-01 スタツク制御方式

Publications (1)

Publication Number Publication Date
JPH01304538A true JPH01304538A (ja) 1989-12-08

Family

ID=15087485

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13269988A Pending JPH01304538A (ja) 1988-06-01 1988-06-01 スタツク制御方式

Country Status (1)

Country Link
JP (1) JPH01304538A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04128345U (ja) * 1991-05-10 1992-11-24 カシオ計算機株式会社 信号処理装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04128345U (ja) * 1991-05-10 1992-11-24 カシオ計算機株式会社 信号処理装置

Similar Documents

Publication Publication Date Title
KR0138468B1 (ko) 마이크로 컴퓨터
JPH01304538A (ja) スタツク制御方式
SU615538A1 (ru) Устройство дл выбора информации из блока пам ти
JPS62151940A (ja) レジスタ退避/復帰方式
JPS5890247A (ja) 情報処理装置のパイプライン制御方式
JPS58107960A (ja) マイクロプロセツサ
JPH03218524A (ja) 命令処理装置
JPS6375833A (ja) 情報処理装置
JPS58169247A (ja) 高速命令読出し方式
JPH03263265A (ja) ベクトル処理装置
JPS63104142A (ja) 半導体演算処理装置
JPS62137640A (ja) インタプリタの実行制御方式
JPH01175632A (ja) マイクロプログラム制御装置
JPS63208124A (ja) マイクロプログラム制御装置
JPS6250854B2 (ja)
JPS61249140A (ja) マイクロプログラム制御装置
JPS6326416B2 (ja)
JPS60142741A (ja) マイクロプログラム診断装置
JPS62298843A (ja) プログラムアドレストレ−ス装置
JPS6330938A (ja) マイクロプログラム制御装置
JPS6238942A (ja) マイクロプログラム制御装置
JPH0146889B2 (ja)
JPS60251439A (ja) 選択的多岐分岐回路
JPH0644066A (ja) 情報処理装置
JPS62251930A (ja) 情報処理装置