JPS62221035A - マイクロプログラム制御方式 - Google Patents

マイクロプログラム制御方式

Info

Publication number
JPS62221035A
JPS62221035A JP6301186A JP6301186A JPS62221035A JP S62221035 A JPS62221035 A JP S62221035A JP 6301186 A JP6301186 A JP 6301186A JP 6301186 A JP6301186 A JP 6301186A JP S62221035 A JPS62221035 A JP S62221035A
Authority
JP
Japan
Prior art keywords
address
subroutine
register
routine
microinstruction
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
JP6301186A
Other languages
English (en)
Inventor
Shozo Iida
飯田 昌三
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 JP6301186A priority Critical patent/JPS62221035A/ja
Publication of JPS62221035A publication Critical patent/JPS62221035A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

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

Description

【発明の詳細な説明】 技術分野 本発明はマイクロプログラム制御方式に関し、特にサブ
ルーチンコール命令を実行する際のマイクロプログラム
制御方式に関する。
従来技術 従来のマイクロプログラムにより制御される情報処理シ
ステムでは、主ルーチン中のサブルーチンコール命令あ
るいはサブルーチン中のサブルーチンコール命令を実行
する場合、サブルーチンコール命令に付随する飛び先ア
ドレスを次に実行するマイクロ命令のアドレスに置き換
え、戻りアドレスを退避レジスタへスタックしていた。
そして、サブルーチンの終わりでリターン命令を実行す
るとき、スタックされている戻りアドレスを退避レジス
タより取出し、次に実行するマイクロ命令のアドレスに
置き換えていた。
第4図を参照して上記動作を説明すると、ルーチンAの
処理中にアドレスaのサブルーチンコール命令を実行す
るとき、a+1をルーチンへの戻りアドレスとして退避
レジスタに退避させ、ルーチンBに処理を移行する。ル
ーチンBの処理中にアドレスbのサブルーチンコール命
令を実行するとき、b+iをルーチンBの戻りアドレス
として退避レジスタに退避させ、ルーチンCに処理を移
行する。そしてルーチンCの処理が終了すると、退避レ
ジスタからアドレスb+1を取り出し、ルーチンBの続
きから処理を行う。更にルーチンBの処理が終了すると
、退避レジスタからアドレスa+1を取り出し、ルーチ
ンAの続きから処理を行う。
上述した従来の情報処理システムでは、主ルーチン中で
サブルーチンコール命令を、あるいはサブルーチン中で
サブルーチンコール命令を実行するとぎ戻りアドレスを
予めハードウェアで準備した戻りアドレスレジスタに退
避する必要があるので、サブルーチン中で他のサブルー
チンをコールする様な多重サブルーチンコールを行う場
合、連続してサブルーチンコールができる回数は戻りア
ドレスレジスタの数により制限されることになる。
従って、多重サブルーチンコールの多重度を増やすと、
それに比例して戻りレジスタの数も増加させなければな
らないことになり、よって高価なものになってしまうと
いう欠点がある。
発明の目的 本発明の目的は、戻りアドレス退避用のレジスタの数に
よりサブルーチンコールの多重度が何等制限されること
のないマイクロプログラム制御方式を提供することであ
る。
発明の構成 本発明によるマイクロプログラム制御方式は、サブルー
チンへの入口アドレスに対して予め定められた数を加算
してこのサブルーチンの出口アドレスを求める出口アド
レス演算手段と、前記サブルーチンから戻るべきルーチ
ンへのブランチ命令を予め格納するブランチ命令格納手
段と、前記出口アドレス演算手段により求められた出口
アドレスが指すメモリ内番地へ前記ブランチ命令格納手
段内のブランチ命令を書込む傷込み手段とを設け、前記
サブルーチンのコール命令の実行に際して、前記サブル
ーチンの出口アドレスにおけるマイクロ命令をゼンキ書
込み手段により書込んでから前記サブルーチンの実−行
を行うようにしたことを特徴としている。
実施例 次に本発明について図面を参照して説明する。
第1図は本発明の実施例を示すブロック図である。次(
Next )アドレスレジスタ1は、メモリ3から読み
出されたマイクロ命令がブランチ系の命令であるとき、
それに付随する次に実行すべきマイクロ命令のアドレス
を保持するレジスタである。
メモリ3はマイクロプログラムを格納するRAMであり
、ブランチ命令レジスタ4は主ルーチンあるいはサブル
ーチンを実行中にサブルーチンコール命令を実行すると
きに、元のルーチンへの戻りアドレスへ処理を移行する
ためのブランチ命令を保持するレジスタである。上記の
ブランチ命令を作成する為にこのレジスタ4には予めブ
ランチ命令のコード41が設定されており、サブルーチ
ンコール命令読み出し時の現(Current )アド
レスレジスタ8のアドレスに所定値(本例では1)を加
算した値が元のルーチンへの戻りアドレスとしてアドレ
ス部42に格納される。
メモリリードセレクタ5はメモリ3から読み出された4
個の連続するアドレスのマイクロ命令を選択するセレク
タであり、メモリリードレジスタ6は上記のメモリリー
ドセレクタ5によって選択されたマイクロ命令を保持す
るレジスタである。
アドレスセレクタ7は次アドレスレジスタ1、現アドレ
スレジスタ8及びインクリメントアドレスレジスタ10
から現マイクロ命令の読み出しアドレスを選択するセレ
クタであり、現アドレスレジスタ8はアドレスセレクタ
7で選択された現マイクロ命令の読み出しを保持するレ
ジスタである。
ALU9はアドレスセレクタ7で選択された現マイクロ
命令の読み出しアドレスに前)ホした所定値(本例では
1)を加算する演算器であり、インクリメントレジスタ
10はアドレスセレクタ7で選択されたアドレスにAL
U9で所定値である1を加算したアドレスを保持するレ
ジスタである。
かかる構成とすることにより、ナブル−チンコール命令
実行時にサブルーチンコール命令に付随する飛び先アド
レス(サブルーチンの入口アドレス)がアドレスセレク
タ5を経て次アドレスレジスタ1に格納され、そのアド
レスに予め定められた値(ここでは1とする)がALt
J9で加算された結果得られるアドレス(サブルーチン
の出口アドレス)に、ブランチ命令レジスタ4のマイク
ロ命令41が書き込まれることにより、元のルーチンへ
の戻りアドレスを退避するレジスタを省略することがで
きることになるのである。従って、サブルーチンの中で
サブルーチンコールするといった多重サブルーチンコー
ルを無制限に実施することができることになる。
以後、上1本の動作を第2図及び第3図に従って説明す
る。第2図に示すようにルーチン1を実行中にアドレス
八でサブルーチンコール命令が検出されると、それに付
随する飛び先アドレス(サブルーチンの入口アドレス)
Bが第3図に示すタイミングT1で次アドレスレジスタ
1に保持される。
このとき現マイクロ命令の読み出しアドレスAはALU
9で1加算された侵、インクリメントレジスタ10にル
ーチン1への戻りアドレスとして保持される。次に、タ
イミングT2でインクリメントレジスタ10に保持され
たルーチン1への戻りアドレスがブランチ命令レジスタ
4のアドレス部42へ書き込まれる。また、メモリリー
ドレジスタ6にはルーチン2の入口アドレスBのマイク
ロ命令が読出され、アドレスセレクタ7はイクリメント
レジスタ10(アドレス=8+1)を選択する。タイミ
ングT3ではメモリリードレジスタ6に読出されたマイ
クロ命令が実行される為、メモリ3のアドレス<8+1
)(ルーチン2の出口アドレスに相当)にブランチ命令
レジスタ4の内容(ルーチン1への戻りアドレスへのブ
ランチ命令)が書き込まれる。以後B+2.8+3と順
にマイクロ命令が実行され、ルーチン2の出口アドレス
(B+1)のマイクロ命令を実行することによりルーチ
ン1への戻りアドレス(A+1)に処理が移行するので
ある。
以上説明したように、あるルーチンを実行中にサブルー
チンコール命令を実行するときに、当該ルーチンへの戻
りアドレスを退避させる為の専用7レジスタを設ける代
わりに、サブルーチンコール命令に付随する飛び先アド
レス(サブルーチンの入口アドレス)から予め定められ
たサブルーチンの出口アドレスを演算により求め、そこ
に当該ルーチンへの戻りアドレスへのブランチ命令を書
き込むようになっている。よって、従来サブルーチンコ
ール後の戻りアドレスを退避させる為に設けられていた
専用レジスタをなくすことができることになり、装置の
ハードウェア」及び原価を低減することができる。また
、これまで戻りアドレス退避用のレジスタの数により制
限されていたサブルーチン中でサブルーチンコールする
という多重サブルーチンコールの多重度が、本発明を採
用することにより無制限になるので、マイクロプログラ
ム設計の際にサブルーチンの使い方や数を全く気にせず
に設計することができるものである。
発明の効果 以上の如く、本発明によれば、サブルーチンの入口アド
レスから一定の値だけ加算されたアドレスをサブルーチ
ンの出口アドレスと定めておき、その出口アドレス部に
戻るべきルーチンへの戻りアドレスへのブランチ命令を
書き込むようにしているので、戻りアドレスを退避させ
るための専用レジスタを設ける必要がなくなる。よって
、多重サブルーチンの多重度が無制限となって、マイク
ロプログラムの設計の多重度が極めて大となるものであ
る。
【図面の簡単な説明】
第1図は本発明の実施例を示すブロック図、第2図は本
発明の実施例の動作を説明するためのサブルーチンの構
成の一例を示す図、第3図は第1図のブロック図におけ
るデータの流れの様子を示すタイミングチャート、第4
図は従来のマイクロプログラム制御方式を示す図である
。 主要部分の符号の説明 1・・・・・・次アドレスレジスタ 3・・・・・・メモリ 4・・・・・・ブランチ命令レジスタ 8・・・・・・現アドレスレジスタ 9・・・・・・ALU

Claims (1)

    【特許請求の範囲】
  1. サブルーチンへの入口アドレスに対して予め定められた
    数を加算してこのサブルーチンの出口アドレスを求める
    出口アドレス演算手段と、前記サブルーチンから戻るべ
    きルーチンへのブランチ命令を予め格納するブランチ命
    令格納手段と、前記出口アドレス演算手段により求めら
    れた出口アドレスが指すメモリ内番地へ前記ブランチ命
    令格納手段内のブランチ命令を書込む書込み手段とを設
    け、前記サブルーチンのコール命令の実行に際して、前
    記サブルーチンの出口アドレスにおけるマイクロ命令を
    前記書込み手段により書込んでから前記サブルーチンの
    実行を行うようにしたことを特徴とするマイクロプログ
    ラム制御方式。
JP6301186A 1986-03-20 1986-03-20 マイクロプログラム制御方式 Pending JPS62221035A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6301186A JPS62221035A (ja) 1986-03-20 1986-03-20 マイクロプログラム制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6301186A JPS62221035A (ja) 1986-03-20 1986-03-20 マイクロプログラム制御方式

Publications (1)

Publication Number Publication Date
JPS62221035A true JPS62221035A (ja) 1987-09-29

Family

ID=13216950

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6301186A Pending JPS62221035A (ja) 1986-03-20 1986-03-20 マイクロプログラム制御方式

Country Status (1)

Country Link
JP (1) JPS62221035A (ja)

Similar Documents

Publication Publication Date Title
EP0087978B1 (en) Information processing unit
US4594682A (en) Vector processing
KR0138468B1 (ko) 마이크로 컴퓨터
GB1448866A (en) Microprogrammed data processing systems
EP0074479A2 (en) Data processing apparatus with intersegment call
US5261101A (en) Method for calling and returning from subroutine that is invoked by either a near call or a far call
EP0144779B1 (en) Parallel processing computer
JPH01310441A (ja) データ処理装置
EP0164418B1 (en) Microprogram control system
EP0417916B1 (en) Procedure state descriptor system for digital data processors
JPS62221035A (ja) マイクロプログラム制御方式
JPS62151940A (ja) レジスタ退避/復帰方式
KR970012141A (ko) 파이프라인 처리를 수행하는 데이터 처리 장치
EP0079995B1 (en) Information handling apparatus having an instruction-executing function at a high speed
KR100654477B1 (ko) 프로세서 동작 방법
JPH0731596B2 (ja) 条件付きサブルーチン呼出し方式
JPS62254237A (ja) インタプリタ方式の分岐命令実行方式
JPS6365978B2 (ja)
JPS6198444A (ja) 制御記憶システム
JPS6330938A (ja) マイクロプログラム制御装置
JPH0243626A (ja) コンピュータ・プロセッサの実行速度を制御する装置
JPS61208129A (ja) 命令先読制御方式
JPS5868159A (ja) デ−タ処理装置
JPH06100966B2 (ja) マイクロプログラム制御装置
JPS5935239A (ja) マイクロプログラム制御方式