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

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

Info

Publication number
JPH05134866A
JPH05134866A JP32529091A JP32529091A JPH05134866A JP H05134866 A JPH05134866 A JP H05134866A JP 32529091 A JP32529091 A JP 32529091A JP 32529091 A JP32529091 A JP 32529091A JP H05134866 A JPH05134866 A JP H05134866A
Authority
JP
Japan
Prior art keywords
microprogram
address
stack
value
branch
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
JP32529091A
Other languages
English (en)
Inventor
Kazunori Kumahara
和典 久間原
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry 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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP32529091A priority Critical patent/JPH05134866A/ja
Publication of JPH05134866A publication Critical patent/JPH05134866A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】 【構成】 マイクロプログラム制御方式のプロセッサに
おいて、サブルーチンコールをする際に、ハードウェア
で戻り先マイクロプログラムアドレスを格納させるスタ
ック4に、マイクロプログラムで書き込むための手段と
してマイクロプログラム書込手段3を設ける。例えば、
多方向分岐処理を行う場合、マイクロプログラム書込手
段3は、分岐先を演算し、その演算結果をスタック4に
書き込む。その結果、スタック4には分岐先のアドレス
が書き込まれ、そのアドレスの処理を実行することによ
って対応する分岐の処理を行える。 【効果】 分岐数が多くなっても、分岐のためのステッ
プは一定でよく、その結果、分岐数が多い場合の処理の
高速化を図ることができる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、マイクロプログラム制
御方式に関し、特にそのマイクロプログラム分岐制御方
式に関する。
【0002】
【従来の技術】従来、マイクロプログラムで制御を行う
プロセッサにおいて、あるマイクロプログラムが多方向
に分岐する命令である場合、その多方向に分岐する条件
を判定し、その判定結果に基づいて予め定められた処理
を行う。図2は、このような多方向分岐のフローチャー
トである。この図2に示した例は4方向に分岐する場合
を示しており、マイクロプログラム中の値αによって、
処理を選択する。即ち、あるマイクロプログラムがプロ
セッサに与えられた場合、αの値の判定を行うため、α
が0であるか否かを判定する(ステップS1)。ここで
α=0であった場合は、α=0の処理を選択し(ステッ
プS4)、α≠0であった場合はステップS2において
α=1であるか否かの判定を行う。ステップS2におい
て、α=1であった場合は上記と同様にα=1の処理を
選択し(ステップS5)、α≠1であった場合はステッ
プS3においてα=2の判定を行う。ここでα=2であ
った場合はα=2の処理を選択し(ステップS6)、α
≠2であった場合、αの値は3であるため、α=3の処
理を選択する(ステップS7)。
【0003】
【発明が解決しようとする課題】しかしながら、上記従
来のマイクロプログラム制御方式では、多方向に分岐す
る条件を判定して分岐するため、多方向に分岐する条件
が多くなればなる程分岐判定のマイクロプログラムのス
テップが多くなってしまうという問題点があった。例え
ば、図2に示した例では4方向への分岐判定であるた
め、ステップS1〜S3の3ステップが必要であるが、
16方向への分岐では、15ステップもの分岐判定のス
テップを必要とする。このように、多方向分岐におい
て、判定する値が増えてくると、判定するマイクロプロ
グラムステップが増え、プロセッサの性能低下につなが
るといった問題点があった。本発明は、上記従来の問題
点を解決するためになされたもので、多方向に分岐する
命令であっても処理を速やかに行うことのできるマイク
ロプログラム制御方式を提供することを目的とする。
【0004】
【課題を解決するための手段】本発明のマイクロプログ
ラム制御方式は、スタックによるサブルーチンコール機
構を有するマイクロプログラム制御方式のプロセッサに
おいて、前記マイクロプログラムにより、複数の処理に
対応させたアドレスの演算を行い、この演算結果を前記
スタックに書き込むマイクロプログラム書込手段を設
け、前記マイクロプログラム書込手段で書き込まれたス
タックのアドレスの処理を行うことを特徴とするもので
ある。
【0005】
【作用】本発明のマイクロプログラム制御方式において
は、マイクロプログラム制御方式のプロセッサにおい
て、サブルーチンコールをする際に、ハードウェアで戻
り先マイクロプログラムアドレスを格納させるスタック
に、マイクロプログラムで書き込むための手段としてマ
イクロプログラム書込手段を設ける。例えば、多方向分
岐処理を行う場合、マイクロプログラム書込手段は、分
岐先を演算し、その演算結果をスタックに書き込む。そ
の結果、スタックには分岐先のアドレスが書き込まれ、
そのアドレスの処理を実行することによって対応する分
岐の処理を行える。従って、分岐数が多くなっても、分
岐のためのステップは一定でよく、その結果、分岐数が
多い場合の処理の高速化を図ることができる。
【0006】
【実施例】以下、本発明の実施例を図面を用いて詳細に
説明する。図3は、本発明のマイクロプログラム制御方
式を実施するためサブルーチンコール機構をハードウェ
アで示すブロック図である。図の機構は、マイクロプロ
グラムカウンタ(μPC)1、加算器2、マイクロプロ
グラム書込手段3、スタック4、セレクタ5からなる。
マイクロプログラムカウンタ1はマイクロプログラムア
ドレスを保持しているカウンタで、常に実行しているマ
イクロプログラムのアドレスを保持している。加算器2
は、マイクロプログラムカウンタ1の値に+1するもの
で、サブルーチンコールする際のコール元アドレス+1
を演算し、サブルーチンコールから戻る際のアドレスを
出力する。マイクロプログラム書込手段3は、マイクロ
プログラム演算結果3aと、このマイクロプログラム演
算結果3aが、一方の入力に演算結果バスを介して接続
されるセレクタ3bとからなる。マイクロプログラム演
算結果3aは、後述する分岐演算を行った結果の値であ
り、この値と、加算器2からの出力とがセレクタ3bで
選択され、スタック4に出力されるよう構成されてい
る。
【0007】スタック4は、通常のコールから戻る際の
アドレスを格納すると共に、セレクタ3bによって選択
されたマイクロプログラム演算結果3aの値を格納する
ものである。セレクタ5は、加算器2からの出力とスタ
ック4の出力および通常の分岐の場合の飛び先アドレス
であるリテラルを入力し、これらを選択してマイクロプ
ログラムアドレス(μPA)として、そのアドレスのマ
イクロプログラムを実行する。また、そのマイクロプロ
グラムアドレスはマイクロプログラムカウンタ1に入力
され、上記の動作が繰り返されるようになっている。
【0008】次に、上記サブルーチン機構の動作につい
て説明する。先ず、通常の逐次制御の場合、マイクロプ
ログラムカウンタ(μPC)1の値は、加算器2で+1
され、更にその出力はスタック4に格納されることな
く、セレクタ5に入力され、その値がマイクロプログラ
ムアドレスとして再度マイクロプログラムカウンタ1に
入力される。従って、アドレスが順に+1される通常の
逐次制御が行われる。また、サブルーチンコールがあっ
た場合、加算器2で+1されたアドレス、即ちサブルー
チンコールの戻り先アドレスは、セレクタ3bを介して
スタック4に格納される。そしてリターン命令によって
サブルーチンからメインルーチンに戻ると、スタック4
に格納されたアドレスが取り出され、そのアドレスのマ
イクロプログラムが実行される。尚、通常の分岐の場合
は、セレクタ5がリテラルを選択し、そのアドレスのマ
イクロプログラムを実行する。
【0009】次に、本実施例の特徴点である多方向分岐
の場合の処理について説明する。図1は、その多方向分
岐の処理フローチャートである。また、この図1は多方
向分岐の一例として4方向分岐の場合を示している。先
ず、分岐する先を1番地ずつアドレスA、アドレスA+
1、アドレスA+2、アドレスA+3に割り当て、アド
レスAをα=0の処理、アドレスA+1をα=1の処
理、アドレスA+2をα=2の処理、アドレスA+3を
α=3の処理とする。即ち、最初のアドレスをA、4方
向へ分岐するための条件である値をα(α=0〜3)と
し、それぞれの処理のアドレスをA+αで表す。そし
て、マイクロプログラムの分岐演算として、アドレスA
+αの値を計算し、その演算結果をスタック4に格納す
る(ステップS1)。この演算A+αの値が、図3に示
したマイクロプログラム演算結果3aであり、これが、
演算結果バスからセレクタ3bを介してスタック4に書
き込まれる。
【0010】次に、ステップS2において、リターン命
令を実行する。このリターンオーダ発行は、ステップS
1でスタック4に書き込まれた値をマイクロプログラム
アドレスとしてその番地に実行を移すものである。即
ち、α=0〜3の値により、アドレスA、アドレスA+
1、アドレスA+2、アドレスA+3の4方向分岐先の
いずれかに分岐して、αの値に応じた処理を行う(ステ
ップS3〜S6)。このように、本来、サブルーチンコ
ールを使用する際に用いるスタック4に、マイクロプロ
グラムで演算結果を書込可能なよう構成したので、αの
値の判定ステップが不要となる。即ち、上記のようにア
ドレスA+αにそれぞれの処理を割り当てることによっ
て、分岐する処理の数(=α)が大きくなっても、2ス
テップで分岐させることができる。
【0011】尚、上記実施例では、分岐する先を一番地
ずつ割り当てたが、これに限定されるものではなく、二
番地あるいは四番地ずつ等、適宜の番地ずつ割り当てて
もよい。
【0012】
【発明の効果】以上説明したように、本発明のマイクロ
プログラム制御方式によれば、サブルーチンコールを使
用する際に用いるスタックに、マイクロプログラムで書
き込む手段を設けたので、多方向分岐処理を行う場合の
判定ステップを削減することができる。従って、高速な
処理が行え、また、マイクロプログラム容量の削減を図
ることができる。これは、特に判定条件が多い、即ち多
方向分岐の数が多くなればなるほど大きな効果を得るこ
とができる。
【図面の簡単な説明】
【図1】本発明のマイクロプログラム制御方式の多方向
分岐処理のフローチャートである。
【図2】従来のマイクロプログラム制御方式の多方向分
岐処理のフローチャートである。
【図3】本発明のマイクロプログラム制御方式を実施す
るためのサブルーチンコール機構のブロック図である。
【符号の説明】
1 マイクロプログラムカウンタ 2 加算器 3 マイクロプログラム書込手段 4 スタック

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 スタックによるサブルーチンコール機構
    を有するマイクロプログラム制御方式のプロセッサにお
    いて、 前記マイクロプログラムにより、複数の処理に対応させ
    たアドレスの演算を行い、この演算結果を前記スタック
    に書き込むマイクロプログラム書込手段を設け、 前記マイクロプログラム書込手段で書き込まれたスタッ
    クのアドレスの処理を行うことを特徴とするマイクロプ
    ログラム制御方式。
JP32529091A 1991-11-13 1991-11-13 マイクロプログラム制御方式 Pending JPH05134866A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP32529091A JPH05134866A (ja) 1991-11-13 1991-11-13 マイクロプログラム制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP32529091A JPH05134866A (ja) 1991-11-13 1991-11-13 マイクロプログラム制御方式

Publications (1)

Publication Number Publication Date
JPH05134866A true JPH05134866A (ja) 1993-06-01

Family

ID=18175166

Family Applications (1)

Application Number Title Priority Date Filing Date
JP32529091A Pending JPH05134866A (ja) 1991-11-13 1991-11-13 マイクロプログラム制御方式

Country Status (1)

Country Link
JP (1) JPH05134866A (ja)

Similar Documents

Publication Publication Date Title
US7386646B2 (en) System and method for interrupt distribution in a multithread processor
EP0297943A2 (en) Microcode reading control system
EP0163740A1 (en) Pipeline control system
JPH05134866A (ja) マイクロプログラム制御方式
JPH03122718A (ja) パイプライン計算機における条件分岐命令実行制御方式
JPS60231241A (ja) プログラム先行フエツチ制御方式
JPH04184535A (ja) 並列演算装置
KR100329780B1 (ko) 인터럽트 응답 시간을 줄인 인터럽트 처리 장치
JPH04180131A (ja) 割込み処理装置
JPS5856153A (ja) サブル−チンリタ−ン方式
JP3431503B2 (ja) 情報処理装置およびプログラム制御方法
JPS58201138A (ja) デイジタル信号処理回路
JPH0619705A (ja) パイプライン制御方式
JPH07191955A (ja) データ駆動型情報処理装置
JPH05165640A (ja) マイクロプロセッサ
JPH0296265A (ja) 並列プロセッサ制御方式
JPH04125733A (ja) パイプライン情報処理方式
JPH04276827A (ja) パイプライン処理装置
JPS59158441A (ja) パイプライン制御方式
JP2000305782A (ja) 演算装置
JPH04328634A (ja) マイクロプログラム制御装置
JPH0233663A (ja) マシンチェック処理方法および装置
JPS63195735A (ja) 命令実行方式
JPH05204638A (ja) パイプライン処理装置
JPH02121033A (ja) マイクロプログラム制御装置