JPS645332B2 - - Google Patents

Info

Publication number
JPS645332B2
JPS645332B2 JP55037974A JP3797480A JPS645332B2 JP S645332 B2 JPS645332 B2 JP S645332B2 JP 55037974 A JP55037974 A JP 55037974A JP 3797480 A JP3797480 A JP 3797480A JP S645332 B2 JPS645332 B2 JP S645332B2
Authority
JP
Japan
Prior art keywords
subroutine
return
instruction
address
return address
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
Application number
JP55037974A
Other languages
English (en)
Other versions
JPS56135246A (en
Inventor
Masahiro Yamamoto
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
Nippon Electric Co 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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP3797480A priority Critical patent/JPS56135246A/ja
Publication of JPS56135246A publication Critical patent/JPS56135246A/ja
Publication of JPS645332B2 publication Critical patent/JPS645332B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • G06F9/4484Executing subprograms
    • G06F9/4486Formation of subprogram jump address

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)

Description

【発明の詳細な説明】 本発明はデータ処理装置の実行順序制御方式に
関し、特に対象とする処理を実現する時に使用さ
れるサブルーチンからの戻り制御を効率良く行な
う制御方式に係る。
データ処理装置において要求される処理は機械
語命令やマイクロ命令を組み合わせることにより
実現される。この時、それらの処理を行う際に、
基本処理として頻繁に用いられる処理モジユール
をサブルーチンとして実現し、これらのサブルー
チンを効果的に使用しながら構成している。
特に、サブルーチン化とサブルーチンを用いた
構成方法はモジユラ構成、構造化プログラミング
の観点から積極的に利用されるようになつてき
た。しかし、サブルーチンを用いて構成する時
に、サブルーチンの呼出し、戻り制御のために余
分な処理ステツプが必要となり、処理速度の低下
とプログラム量の増加が生じ、これを解決する制
御方式が要求される。
第1図は従来の処理装置で、サブルーチンを用
いて処理する場合の制御フローの構成を示す。第
1図では、第2のステツプでの判定1の結果、条
件が満たされれば(Yesの時)サブルーテンAを
呼出し、条件が満たされなければ(Noの時)サ
ブルーチンBを呼出し、各サブルーチン実行後、
いずれの場合もステツプ2からステツプnを実行
する。この場合、判定1がYesの時、サブルーチ
ンAから戻つた後、ステツプ2へ制御を移すため
の無駄な分岐命令(ステツプY)を必要とし、こ
の分岐命令によつて、命令量の増加と実行速度の
低下が起る。
本発明の第1の目的はサブルーチン呼出し命令
で戻りアドレスを指定し、サブルーチン実行終了
後サブルーチン呼出し命令の中で指定した戻りア
ドレス部が示すアドレスへ直接戻ることができる
サブルーチン呼出し制御方式を提供することにあ
る。本発明の第2の目的はこのようなサブルーチ
ンを用いた構成において生じる実行速度の低下と
プログラム量の増加を解決するサブルーチン呼出
し制御方式を提供することにある。
本発明の第3の目的はサブルーチン呼出し時
に、戻りアドレスを指定することにより、サブル
ーチンからの戻り制御を無駄なく行うサブルーチ
ン呼出し制御方式を提供することにある。
本発明によれば、サブルーチン指定アドレス部
とサブルーチン実行終了後の戻りアドレス部を備
えたサブルーチン呼出し命令および、サブルーチ
ン戻り命令とを備え、該戻りアドレス部の値を記
憶するための戻りアドレス保存手段、及び命令が
該サブルーチン呼出し命令であることを検出する
と該サブルーチン呼出し命令で規定された該戻り
アドレス部の値を該戻りアドレス保存手段へ保持
した該、該サブルーチン指定アドレス部の値で示
される番地で分岐し、該命令がサブルーチン戻り
命令であることを検出すると該戻りアドレス保存
手段が示すアドレスへ戻る制御を行う順序制御手
段とを具備し、サブルーチン実行終了後、サブル
ーチン呼出し命令の中で指定した戻りアドレス部
が示すアドレへ直接戻ることができるようにした
サブルーチン呼出し制御方式が得られる。
次に本発明について、実施例を用いて詳細に説
明する。
本実施例では本発明をマイクロ命令に適用した
一例を示す。
第2図a,bは本実施例で用いられるマイクロ
命令を示し、特に本発明に関連する2つの命令の
形式の一例を示す。
マイクロ命令は32ビツトで構成される。第2図
aはサブルーチン呼出しマイクロ命令を示し、8
ビツトの命令コード部101、サブルーチン指定
アドレス部102及び戻りアドレス部103から
成つている。この時命令コード部101はサブル
ーチン呼出しマイクロ命令でありCALLとして示
している。第2図bはサブルーチン戻りマイクロ
命令を示し、命令コード部201だけで構成され
る。
第3図は本発明のサブルーチン呼出し制御方式
を用いた制御装置のブロツク図を示す。
本制御装置は第3図で示されるように、サブル
ーチン構成のマイクロプログラムを蓄積するマイ
クロプログラムメモリ1、マイクロ命令をマイク
ロプログラムメモリ1から取り出すためのアドレ
スレジスタ2、アドレスレジスタ2を1加算する
加算器3、マイクロプログラムメモリ1から読み
出されたマイクロ命令を一時蓄積するマイクロ命
令レジスタ4、戻りアドレス保存手段5、演算部
6、及びマイクロ命令列の実行制御を行う順序制
御手段7から構成される。
マイクロプログラムメモリ1は1語32ビツト
で、市販のICメモリで実現される。アドレスレ
ジスタ2は12ビツトのレジスタで、市販のD型フ
リツプフロツプICで実現される。加算器3は市
販のテキサスインスツルメント社製IC74181を組
み合わせて実現される。
マイクロ命令レジスタ4は32ビツトのレジスタ
で、市販のD型フリツプフロツプICで実現され
る。戻りアドレス保存手段5は1語12ビツトのレ
ジスタ又はフアースト・イン・ラースト・アウト
型メモリで市販のD型フリツプフロツプ又は市販
のフエアチヤイルド社製ICであるプログラムス
タツク(9406)を組み合わせて容易に実現され
る。演算部6は汎用計算機の演算処理部に対応す
る。演算部6は加減算、乗算、シフト、等の処理
を行い市販のICで容易に実現される。順序制御
手段7は通常の汎用計算機のシークエンス制御部
に相当し、市販のゲート回路用ICを組み合わせ
て実現される。順序制御手段7が汎用計算機のシ
ークエンス制御部と異なる1つの点はマイクロ命
令レジスタ4のサブルーチン呼出し命令CALLを
検出すると信号線71により、マイクロ命令レジ
スタ4の戻りアドレス部RAを信号線41を介し
て戻りアドレス保存手段5へセツトする。更に異
なる1つの点はサブルーチン戻り命令RETURN
を検出すると戻りアドレス保存手段5にセツトさ
れているアドレス情報を信号線51を介してアド
レスレジスタ2へ制御信号72でセツトする。
次に、本発明を用いた実施例について詳細に説
明する。
第4図は第1図で示すのと同じ処理を本発明を
用いた第3図で示される処理装置で実現する場合
の処理フローを示す。
判定1までの処理は第1図で示す従来方式と同
様に進められる。順序制御手段7により判定1の
結果が“Yes”の時は、第2図aで示すサブルー
チン呼出し命令CALL(サブルーチン指定アドレ
ス部102はサブルーチンAのアドレス、サブル
ーチン戻りアドレス部103はステツプ2のアド
レスを示す)をステツプXで実行する。この命令
の実行の結果、ステツプ2のアドレスであるサブ
ルーチン戻りアドレス部103RAはレジスタ4
から出力され戻りアドレス保存手段5にセツトさ
れ、サブルーチン指定アドレス部102JAはレ
ジスタ4から出力されアドレスレジスタ2へセツ
トされサブルーチンAへ制御が移される。サブル
ーチンAは従来方式と同様に処理が進められ、最
後の命令では第2図bで示されるサブルーチン戻
り命令RETURNが実行される。この命令を実行
すると、戻りアドレス保存手段5にセツトされて
いる戻りアドレスがアドレスレジスタ2へ取り出
され、その出力であるアドレスに従つてステツプ
2へ制御が戻る。ステツプ2以降は従来方式と同
様に処理が進められ完了する。その結果、第1図
で示すステツプYの分岐命令が必要なくなり、メ
モリ量の削減と実行速度の向上を達成できる。
以上、本発明を用いた一実施例について示し
た。実施例ではマイクロ命令に本発明を適用した
場合を示したが、通常の機械語命令やマイクロ命
令にも適用できる。
又、実施例では戻りアドレス保存手段5がレジ
スタの例について示したが、サブルーチンが更に
別のサブルーチンを呼び出す場合にも戻りアドレ
ス保存手段5をフアースト・イン・ラースト・ア
ウト型メモリにすることで実現でき本発明を適用
できる。
【図面の簡単な説明】
第1図は従来方式の処理フロー図、第2図a,
bは本発明で使用するマイクロ命令形式の一例を
示す図、第3図は本発明を用いた処理装置のブロ
ツク図、第4図は本発明を用いた方式の処理フロ
ー図を示す。 図において、参照数字1はマイクロプログラム
メモリ、2はアドレスレジスタ、3は加算器、4
はマイクロ命令レジスタ、5は戻りアドレス保存
手段、6は演算部、7は順序制御手段をそれぞれ
示す。

Claims (1)

    【特許請求の範囲】
  1. 1 サブルーチン指定アドレス部とサブルーチン
    実行終了後の戻りアドレス部を備えたサブルーチ
    ン呼出し命令および、サブルーチン戻り命令とを
    備え、該戻りアドレス部の値を記憶するための戻
    りアドレス保存手段、及び命令が該サブルーチン
    呼出し命令であることを検出すると該サブルーチ
    ン呼出し命令で規定された該戻りアドレス部の値
    を該戻りアドレス保存手段へ保持した後、該サブ
    ルーチン指定アドレス部の値で示される番号へ分
    岐し、該命令がサブルーチン戻り命令であること
    を検出すると該戻りアドレス保存手段が示すアド
    レスへ戻る制御を行う順序制御手段とを具備し、
    サブルーチン実行終了後、サブルーチン呼出し命
    令の中で指定した戻りアドレス部が示すアドレス
    へ直接戻ることができるようにしたサブルーチン
    呼出し制御方式。
JP3797480A 1980-03-25 1980-03-25 Subroutine access control system Granted JPS56135246A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3797480A JPS56135246A (en) 1980-03-25 1980-03-25 Subroutine access control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3797480A JPS56135246A (en) 1980-03-25 1980-03-25 Subroutine access control system

Publications (2)

Publication Number Publication Date
JPS56135246A JPS56135246A (en) 1981-10-22
JPS645332B2 true JPS645332B2 (ja) 1989-01-30

Family

ID=12512531

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3797480A Granted JPS56135246A (en) 1980-03-25 1980-03-25 Subroutine access control system

Country Status (1)

Country Link
JP (1) JPS56135246A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01119138U (ja) * 1988-02-08 1989-08-11

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5412174B2 (ja) * 1973-07-02 1979-05-21

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01119138U (ja) * 1988-02-08 1989-08-11

Also Published As

Publication number Publication date
JPS56135246A (en) 1981-10-22

Similar Documents

Publication Publication Date Title
US4539635A (en) Pipelined digital processor arranged for conditional operation
US4396982A (en) Microinstruction controlled data processing system including microinstructions with data align control feature
US4631672A (en) Arithmetic control apparatus for a pipeline processing system
US4598358A (en) Pipelined digital signal processor using a common data and control bus
US5390306A (en) Pipeline processing system and microprocessor using the system
JPS6212529B2 (ja)
CA1155231A (en) Pipelined digital processor arranged for conditional operation
JPS645332B2 (ja)
US6044455A (en) Central processing unit adapted for pipeline process
JPS6343773B2 (ja)
US5819081A (en) Method of executing a branch instruction of jumping to a subroutine in a pipeline control system
JPS6312302B2 (ja)
JPS6252331B2 (ja)
KR880000817B1 (ko) 데이터 처리장치 및 그 방법
CA1155232A (en) Pipelined digital signal processor using a common data and control bus
JP2743685B2 (ja) 固定小数点プロセッサ
JPS6341092B2 (ja)
JPH0233173B2 (ja)
JP2743947B2 (ja) マイクロプログラム制御方式
JPS59223846A (ja) 演算処理装置
JPS60220468A (ja) ベクトル演算制御方式
JPH02186440A (ja) マイクロサブルーチンのシーケンス制御方式
JPS5892041A (ja) デ−タ処理装置
JPS6186806A (ja) デジタル制御演算方式
JPH0512009A (ja) デイジタル信号処理装置