JPH04213726A - マイクロサブルーチン制御方式 - Google Patents

マイクロサブルーチン制御方式

Info

Publication number
JPH04213726A
JPH04213726A JP40150890A JP40150890A JPH04213726A JP H04213726 A JPH04213726 A JP H04213726A JP 40150890 A JP40150890 A JP 40150890A JP 40150890 A JP40150890 A JP 40150890A JP H04213726 A JPH04213726 A JP H04213726A
Authority
JP
Japan
Prior art keywords
register
microprogram
address
subroutine
general
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.)
Withdrawn
Application number
JP40150890A
Other languages
English (en)
Inventor
Masahiro Ikeda
昌弘 池田
Nobuyoshi Sato
信義 佐藤
Takuma Kido
城戸 琢磨
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 JP40150890A priority Critical patent/JPH04213726A/ja
Publication of JPH04213726A publication Critical patent/JPH04213726A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、マイクロプログラム制
御を行う計算機の多重マイクロサブルーチンを行うマイ
クロサブルーチン制御方式に関する。
【0002】マイクロプログラムの複雑化に伴いプログ
ラムの増大を抑止しうるマイクロサブルーチンが一般的
になっているが、マイクロサブルーチンを呼び出す際に
戻りマイクロアドレスを退避する必要がある。そのよう
な退避用レジスタは通常1段構成のためサブルーチンの
多層化(ネスティング)が不可能となっている。
【0003】
【従来の技術】従来マイクロプログラム制御を行う計算
機におけるサブルーチンの呼び方について説明する。
【0004】従来のマイクロプログラム制御を行う計算
機の構成を図6に示す。図において、1はマイクロプロ
グラムを格納している制御記憶(コントロール・ストレ
ージ:CS)、2は読み出したマイクロプログラム命令
を保持するマイクロ命令レジスタ(MIR)であり、次
に実行すべきマイクロプログラムアドレスを示すネクス
トアドレス(NA)部とサブルーチンコール等の特殊分
岐条件を指示するブランチコンデション(BC)部及び
CPU内部の動作を制御するエクゼキュート(E)部に
分かれている。3は実行中のマイクロ命令アドレスを示
すマイクロ命令アドレスレジスタ(MIA)、4はマイ
クロ命令アドレスレジスタ(MIA)を退避するマイク
ロ命令アドレス退避レジスタ(BMIA)、10はCP
Uの内部状態により分岐条件を決定するステイタスレジ
スタ、11はMIR2 のBC部とステイタスレジスタ
10の論理積を作成し次に実行するマイクロアドレスを
修飾する論理積回路、12はMIA3 に格納したマイ
クロアドレスに1加えてBMIA4 に退避する( サ
ブルーチンから戻る時に使用するため) ための+1加
算回路、16はCSの次アドレスを決定するマルチプレ
クサ(MPX)である。
【0005】図7はマイクロプログラムの一例とこのマ
イクロプログラムのタイムチャートを説明する図である
。図7の(a)で示すプログラムに沿って動作を説明す
る。
【0006】実行すべきマイクロ命令のアドレス(即ち
M0) は、MIR2 のNA部及びBC部とCPU内
部のステイタスレジスタから決定される。この決定はM
PX16で行われ、通常はNA部が使用され、分岐する
場合は論理積回路11で修飾される分岐分が加えられる
【0007】分岐の発生する場合、分岐しないときのマ
イクロ命令はアドレスの最下位ビットが0の位置に格納
され、分岐する場合のマイクロ命令はアドレスの最下位
ビットが1の位置に格納され、分岐は最下位ビットに1
を加えることによって行われる。MPX16の出力がマ
イクロアドレスとなりMIA3 にセットされるととも
にCS1 に供給されマイクロ命令が読み出される。
【0008】該マイクロプログラムアドレスが示すマイ
クロ命令がCS1から読み出されMIR2 に格納され
る。同時に現在のマイクロアドレスはMIA3 に格納
される。MIR2 に格納されたE部の内容によってC
PU内部回路は動作する。
【0009】サブルーチンコール実行サイクルにおいて
MIA3 の内容(即ちM0) に1加えたもの( 即
ちM1) をBMIA4 に転送する。この状況が図7
の(b)にタイムチャートで示す時刻t1である。従っ
てBMIA4 にはサブルーチンコール命令(CALL
 ’SUB’ )が格納されているアドレスの次のアド
レス( 即ちM1)が格納される。同時にMIR2 の
NA部が示すアドレス( 即ちB0) に分岐する。該
アドレスにはサブルーチンの先頭マイクロ命令( 即ち
 ADD) が格納されているので、次のサイクルでサ
ブルーチンの先頭マイクロ命令を実行することができる
【0010】次にサブルーチン処理が終わりBC部にお
いてサブルーチンリターン命令( 即ちRTN)が指示
されると、該サイクルにおいてMPX16はBMIA4
 が示すアドレス( 即ちM1)を選択し該アドレスに
分岐する。このときの状況が図7の(b)にタイムチャ
ートで示す時刻t2であり、この時はNA部は無視され
る。該アドレスにはサブルーチンコールが実行されたプ
ログラムの次のマイクロ命令が格納されているので( 
即ちMUL 命令) 、次のサイクルではメインルーチ
ンの次のマイクロ命令( 即ちMUL 命令) が実行
される。
【0011】しかしながら、図6の構成においてはサブ
ルーチンからの戻り番地を退避するレジスタ(BMIA
9 )が1段しかないため、サブルーチン中で他のサブ
ルーチンを呼び出す(サブルーチンのネスティング)と
、BMIA4 が後のサブルーチンの戻りアドレスで上
書きされてしまい、先のサブルーチンの戻りアドレスが
消滅してしまうので先のサブルーチンに復帰することが
不可能であり、サブルーチンのネスティングができなか
った。
【0012】
【発明が解決しようとする課題】上記のごとく従来のマ
イクロプログラム制御の計算機ではサブルーチンからの
戻り番地を退避するレジスタが1段しかないため、サブ
ルーチン中で他のサブルーチンを呼び出す(サブルーチ
ンのネスティング)が不可能であるという問題があった
。本発明はこのような点にかんがみて、マイクロプログ
ラムにおけるサブルーチンのネスティングを実現する手
段を提供することを目的とする。
【0013】
【課題を解決するための手段】上記の課題は下記の如く
に構成されたマイクロサブルーチン制御方式によって解
決される。図1は、本発明の原理図である。
【0014】マイクロアドレスレジスタ3 で指定され
る制御記憶1からマイクロプログラム命令を読み出し、
マイクロ命令レジスタ2 へ格納し、該マイクロプログ
ラム命令により制御を行い、汎用内部レジスタ5 と汎
用内部レジスタ・アドレスポインタ6 を備える計算機
に使用されるマイクロサブルーチン制御方式であって、
マイクロプログラムで読取書込を可能にしたマイクロア
ドレス退避用レジスタ4 を設け、該マイクロアドレス
退避用レジスタ4 を上記汎用内部レジスタ5 にマイ
クロプログラムで複数回場所をずらして退避し、該退避
した上記汎用内部レジスタ5 のアドレスを記憶する退
避場所の指定を上記汎用内部レジスタ・アドレスポイン
タ6 で行うことにより、マイクロプログラムの多重サ
ブルーチン呼び出しを行うように構成する。
【0015】
【作用】マイクロプログラムで読取書込を可能にしたマ
イクロアドレス退避用レジスタ4 を設け、該マイクロ
アドレス退避用レジスタ4 を上記汎用内部レジスタ5
 にマイクロプログラムで複数回場所をずらして退避し
、該退避した上記汎用内部レジスタ5 のアドレスを記
憶する退避場所の指定を上記汎用内部レジスタ・アドレ
スポインタ6 で行う。
【0016】これによりサブルーチンから戻るときのア
ドレスを多重に汎用内部レジスタ5 に記憶するのでマ
イクロプログラムの多重サブルーチン呼び出しが可能と
なる。
【0017】
【実施例】図2は本発明の実施例の構成を示す。図にお
いて、5はマイクロ命令で操作する汎用内部レジスタ(
以下LSと略する)、6は複数の汎用内部レジスタを選
択する汎用内部レジスタアドレスポインタ(LAと略す
る)、14はLAを±1する±1回路、15はLS5 
及びMPX13へ送出するデータを選択する選択回路(
 以下MPXと略する)、13はマイクロアドレス退避
用レジスタ4 に格納するデータを選択する選択回路(
 以下MPXと略する)その他図6と同一符号の物は同
一物である。
【0018】以下図3に示す実施例のマイクロプログラ
ム、図4の実施例におけるタイムチャート、図5の実施
例におけるLSの格納状況を併せて説明する。メインル
ーチン中でサブルーチンAをコールし、さらにサブルー
チンA中でサブルーチンBをコールする場合が図3のプ
ログラムであり、メインルーチンからサブルーチンAを
コールするまでは従来と同じである(図4のタイムチャ
ートのT11,T12,) 。図4のタイムチャートの
T16 でサブルーチンBをコールする前にファームウ
ェアでLA6 を1減じた後( 即ちDEC LAを実
行する。) 、BMIA4 を退避するため、LA6 
で示されるLS5 にBMIA4 に格納されているサ
ブルーチンの戻りアドレスを退避する( 即ち  MO
VE BMIA を実行する。図5の■)。
【0019】次にタイミングT16 でサブルーチンB
コールを行う(CALL ’SUB B’) 。この時
点でBMIA4 中のメインルーチン戻りアドレスは破
壊され、サブルーチンA戻りアドレスがセットされる(
 A1が格納される。)。次にタイミングT20 でサ
ブルーチンBにおいてサブルーチンリターン(RTN)
 が指示されサブルーチンAに戻ると次のタイミングT
21 でサブルーチンAにおいてLAが指定する位置の
LS5 から戻りアドレスを読み出してBMIA4 に
セットする(即ち MOVE (LA),BMIA を
実行する。) 。この動作によりメインルーチン戻りア
ドレス( M1) がBMIA4 にリストアされるの
で、この後のサブルーチンリターン指示によりメインル
ーチンに戻ることが可能になる。またサブルーチンの深
さが一段減ったのでタイミングT22 でLAを1増加
する( 即ち INC LA を実行する。) 。その
後メインルーチンに戻るためタイミングT23 でサブ
ルーチンリターン(RTN) が実行されるとBMIA
4 の内容がMPX16で選択され、即ちメインルーチ
ン戻りアドレス( M1) が選択され、CS1 から
メインルーチンの次の命令( MUL ) が読み出さ
れる。
【0020】以上サブルーチン中でのサブルーチン呼び
出しについて説明したがさらにネスティングが深くなっ
ても同様に対処可能である。
【0021】
【発明の効果】以上の説明から明らかなように本発明に
よれば、ハードウェアの増加を伴わず任意の段数のサブ
ルーチンのネスティングを可能とするマイクロサブルー
チン制御方式を提供する、という著しい工業的効果があ
る。
【図面の簡単な説明】
【図1】  本発明の原理説明図
【図2】  本発明の実施例の構成図
【図3】  実施例のマイクロプログラム
【図4】  
実施例におけるタイムチャート
【図5】  実施例にお
けるLSの格納状況
【図6】  従来のマイクロプログ
ラム制御の計算機の構成
【図7】  従来の動作のプログラムとタイムチャート
【符号の説明】
1    制御記憶又はCS 2    マイクロアドレスレジスタ又はMIA3  
  マイクロ命令レジスタ又はMIR4    マイク
ロアドレス退避用レジスタ又はBMIA5    汎用
内部レジスタ又はLS 6    汎用内部レジスタアドレスポインタまたはL
S10    ステイタスレジスタ 11    論理積回路 12    +1加算回路 13    MPX2 14    ±1回路 15    MPX3 16    MPX

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】  マイクロアドレスレジスタ(3) で
    指定される制御記憶(1) からマイクロプログラム命
    令を読み出し、マイクロ命令レジスタ(2) へ格納し
    、該マイクロプログラム命令により制御を行い、汎用内
    部レジスタ(5) と汎用内部レジスタ・アドレスポイ
    ンタ(6) を備える計算機に使用されるマイクロサブ
    ルーチン制御方式であって、マイクロプログラムで読取
    書込を可能にしたマイクロアドレス退避用レジスタ(4
    ) を設け、該マイクロアドレス退避用レジスタ(4)
     を上記汎用内部レジスタ(5) にマイクロプログラ
    ムで複数回場所をずらして退避し、該退避した上記汎用
    内部レジスタ(5) のアドレスを記憶する退避場所の
    指定を上記汎用内部レジスタ・アドレスポインタ(6)
     で行うことにより、マイクロプログラムの多重サブル
    ーチン呼び出しを行うことを特徴とするマイクロサブル
    ーチン制御方式。
JP40150890A 1990-12-12 1990-12-12 マイクロサブルーチン制御方式 Withdrawn JPH04213726A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP40150890A JPH04213726A (ja) 1990-12-12 1990-12-12 マイクロサブルーチン制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP40150890A JPH04213726A (ja) 1990-12-12 1990-12-12 マイクロサブルーチン制御方式

Publications (1)

Publication Number Publication Date
JPH04213726A true JPH04213726A (ja) 1992-08-04

Family

ID=18511335

Family Applications (1)

Application Number Title Priority Date Filing Date
JP40150890A Withdrawn JPH04213726A (ja) 1990-12-12 1990-12-12 マイクロサブルーチン制御方式

Country Status (1)

Country Link
JP (1) JPH04213726A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008305015A (ja) * 2007-06-05 2008-12-18 Renesas Technology Corp 信号処理装置および情報処理システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008305015A (ja) * 2007-06-05 2008-12-18 Renesas Technology Corp 信号処理装置および情報処理システム

Similar Documents

Publication Publication Date Title
US5611061A (en) Method and processor for reliably processing interrupt demands in a pipeline processor
US4187539A (en) Pipelined data processing system with centralized microprogram control
EP0378830B1 (en) Method and apparatus for handling multiple condition codes as for a parallel pipeline computer
US4562538A (en) Microprocessor having decision pointer to process restore position
US4484274A (en) Computer system with improved process switch routine
US4388682A (en) Microprogrammable instruction translator
US4541047A (en) Pipelined data processing system
JPH0736848A (ja) 情報処理装置および処理方法
US5586337A (en) Programmable controller with timing control
JPH04213726A (ja) マイクロサブルーチン制御方式
JPS6343773B2 (ja)
JP2503984B2 (ja) 情報処理装置
US5649229A (en) Pipeline data processor with arithmetic/logic unit capable of performing different kinds of calculations in a pipeline stage
JPH0377137A (ja) 情報処理装置
JPH02214938A (ja) データ処理装置
JPS58200349A (ja) マイクロプログラム制御装置
JP2743685B2 (ja) 固定小数点プロセッサ
JPS601657B2 (ja) アドレス変換方法
JP2583614B2 (ja) ベクトル演算装置
JPH07191845A (ja) 即値データ転送装置
EP0401745A2 (en) Data processor for high-speed access to stack area data
JPH0581015A (ja) パイプライン演算制御方法およびシステム
JPS5896346A (ja) 階層型演算方式
JPH0810431B2 (ja) 情報処理装置
JPS6244836A (ja) マイクロアドレススタツク制御方式

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 19980312