JPS599758A - マイクロプログラム制御デ−タ処理装置 - Google Patents

マイクロプログラム制御デ−タ処理装置

Info

Publication number
JPS599758A
JPS599758A JP11964182A JP11964182A JPS599758A JP S599758 A JPS599758 A JP S599758A JP 11964182 A JP11964182 A JP 11964182A JP 11964182 A JP11964182 A JP 11964182A JP S599758 A JPS599758 A JP S599758A
Authority
JP
Japan
Prior art keywords
microinstruction
address
branch
register
instruction
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
JP11964182A
Other languages
English (en)
Inventor
Hisanobu Mori
森 久修
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
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 NEC Corp, Nippon Electric Co Ltd filed Critical NEC Corp
Priority to JP11964182A priority Critical patent/JPS599758A/ja
Publication of JPS599758A publication Critical patent/JPS599758A/ja
Pending 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/22Microcontrol or microprogram arrangements
    • G06F9/28Enhancement of operational speed, e.g. by using several microcontrol devices operating in parallel

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔発明の属する技術分野の説明〕 本発明は、データ処理装鴬におけるマイクロプログラム
制御装置に関する。特に、ブランチ制御方式の高速化に
関するものである。
〔従来技術の説明〕
従来、この種のデータ処理装置では次に読出されるマイ
クロ命令のアドレス決定に際して、分岐の条件確定を待
って制御記憶にアクセスしたので′は、データ処理装置
の1つのクロック時間内にマイクロ命令を読出すことが
できないことがある。
これは、クロック時間内において制御記憶の読出し時間
が占める割合が高く、クロック時間内の早い時期に次の
マイクロ命令アドレスが決められている必要があり、分
岐条件の確定に時間ががかるデータ処理装置ではマイク
ロ命令アドレスの決定が遅くなるためである。
従来ゆ、このような場合には、分岐条件の決定を待たず
に分岐条件の内の1つを固定的に選択して読出し、確定
した分岐条件と読出されたマイクロ命令とが合致してい
ればそのマイクロ命令を実行し、もし、合致していなけ
れば読出されたマイクロ命令の実行を抑止し確定した分
岐条件にもとづくアドレスでマイクロ命令の読出しを行
う方法がとられている。
例えば、分岐条件として条件成立と不成立の2方向への
条件分岐において、常に条件成立側のアドレスでマイク
ロ命令を読出し、もし条件が不成立であった場合は次の
クロックで条件不成立側のアドレスでマイクロ命令を読
出す方法である。この方法では、条件不成立の時は条件
成立側のマイクロ命令を読出したことにより、このマイ
クロ命令は不必要に読出され、このクロック時間内には
何もマイクロ命令が実行されずデータ処理装置の性能低
下を槽<拠点がある。
他の従来の方法として、制御記憶を複数のモジュールで
構成し、条件分岐における分岐先のアドレスが常に異な
るモジュールになるようにアドレスを割り付けておくも
のがある。これは、条件分岐の時に複数の分岐先は異な
るモジュール内にあるので、これらのマイクロ命令をす
べて制御記憶から同時に読出し、その内の1つを確定し
た分岐条件で選択してマイクロ命令レジスタに入れる。
この方法は、常に条件分岐先の数だけ制御記憶内にモジ
ュールを用意しなければならず、壕だマイクロ命令のア
ドレス割付は上も制約となる欠点がある。
〔発明の詳細な説明〕
本発明はこの点を改良するもので、条件分岐の時どのア
ドレスのマイクロ命令を読出すかを指定する手段を備え
ることKより、制御記憶が1つのモジュールであっても
無駄なマイクロ命令の読出す回数を減少させ本ことがで
き、高速なデータ処理を行うこと違セ゛きる装置を提供
することを目的とする。゛ 〔発明の要旨〕 本発明は、複数のマイクロ命令を格納する制御記憶回路
と、前記制御記憶回路がら読出された前記マイクロ命令
を保持するマイクロ命令レジスタと、条件分岐マイクロ
命令において分岐条件の決定を待たずに分岐先アドレス
の内のどの1つを前記制御記憶回路の読出しアドレスと
し′て選択するかを指゛定する手段と、分岐“条件の決
定に基づいて選択された分岐先アドレスを保持す□るし
イクロ命令アドレスレジスタとを備え、選択されfアド
レスが分岐条件と合致していれば読出されたマイクロ命
令を実行し、合致していなければ前記マイクロ命令アド
レスレジスタに保持されているアドレスで前記制御記憶
回路からマイクロ命令を読出すことを特徴とする。
〔実施例による説明〕
杏発明の一実施例を図面に基づいて説明する。
図は、本発明一実施例の要部ブロック構成図である。複
数のマイクロ命令を格納する制御記憶回路1の内容をマ
イクロ命令レジスタ2に導き、とのア・ドレス部の出力
をセレクタ3および4に導く。
また、セレクタ4の出力を上記制御記憶回路1およびプ
ラス1加算器5に導く。このプラス1加算器5の出力を
インクリメントレジヌタ6に導き、この出力を上記セレ
クタ3および4に導く。セレクタ3の出力は々イクロ、
命令アドレスレジスタ7に導き□、この出力をセレクタ
4.に導く。
また、上記マイ・り・口命令レジスタ2のマイクロ命令
部の出力をデコーダ8に導き、この出力を分岐予測フリ
ップフロップ9のリセット端子およびセット端子にそれ
ぞれ導く。また、10は演算回路であり、この出力を排
他的論理和回路11の一方の入力端子に導き、他の入力
端子には上記分岐予測フリップフロップ9の出力を導く
。この排他的論理和回路11の出力を実行抑止フリップ
プロップ12のセント端子に導く。1だ、セレクタ3の
制御人力に上記演算回路10の出力を導き、セレクタ4
0制御入力に上記フリップフロップ(9,12) (7
)出力を導く。
このような回路構成で、実行されるマイクロ命令は制御
記憶回路lよりセレクタ4の出力ライン20を介して指
定されるアドレスから読出されマイクロ命令レジスタ2
に格納される。セレクタ4の出力ライン20はプラス1
加算器5にも接続され、ここでアドレスに1が加算され
て、インクリメントレジスタ6に格納される。
マイクロ命令レジスタ2に格納されたマイクロ命令のア
ドレス部信号の出力ライン21とインクリメントレジス
タ6の出力2イン22はセレクタ3で選択されてマイク
ロ命令アドレスレジスタ7に格件化号aが使われる。マ
イクロ命令゛レジスタ2に格納されたマイクロ命令のア
ドレス晶゛信号の出力ライン21とインクリメントレジ
スタ6の出力ライン22とマイクロ命令アドレスレジス
タ7の出力ライン23けセレクタ4で選択されて出力ラ
イン20の出力となる。セレクタ4の選択には分岐予測
信号すと実行抑止信号Cが使われる。
マイクロ命令レジスタ2に格納されているマイクロ命令
の一部はデコーダ8でデコードされる。
デコーダ8で分岐予測フリップフロップ9を1にセット
するマイクロコードがデコードされると、出力ライン2
4が1となり分岐予測フリップフロップ9に1がセット
される。他のマイクロコードの時デコーダ8の出力ライ
ン24は0である。デコーダ8で分岐予測フリップフロ
ップ9を0にリセットするマイクロコードがデコードさ
れると、デコーダ8の出力ライン25が1となり分岐予
測フリップフロップ9に0がセットされる。他のマイク
ロコードの時デコーダ8の出力ライン25は0である。
すなわち、マイクロプログラムを作成する時に、条件分
岐命令の実行されるマイクロ命令より以前に実行される
マイクロ命令で、条件分岐の結果条件成立と不成立の確
率はどちらが高いか、またはどちらを高速化したいか等
を考慮し予測して、分岐予測フリップフロップ9を1t
たは0にセットしておく。
また、演算回路10で生成され選択された分岐条件信号
aは分岐予測フリップフロップ9の出力−である分岐予
測信号すと排他的論理和ゲー) 11で排他的論理和が
とられる。ここで、分岐条件としては例えば演算回路I
Oにおけるレジスタの値や演算結果の値やキャリー、オ
ーバフロー等があり、これらの内の1つがどの条件を取
る条件分岐マイクロ命令であるかに応じて選択さ゛れて
分岐条件信号aとなる。
この分岐条件信号aと上記分岐予測゛信号すの値が異な
っていれば実行抑止セット信号dが1となり、実行抑止
フリップフロップ12が1にセットされる。実行抑止フ
リップフロップ12は条件分岐マイクロ命令実行中でか
つ実行抑止セット信号dが1のときのみセットされ、次
のクロックでリセットされる。実行抑止プリップフロッ
プ12の出力信号である実行抑止信号Cはセレクタ4の
選択信号として使われると同時に、図には示されていな
いがマイクロ命令レジスタ2に格納されているマイクロ
命令の実行を抑止するためにも使われる。
実行抑止信号Cが1の時、インクリメントレジスタ6、
マイクロ命令アドレスレジスタ7、分岐予測フリップフ
ロップ9は更新されない。
いま、条件分岐命令実行時の動作を説明すると、分岐条
件成立の時には分岐条件信号aが1となってマイクロ命
令の出力ライン21のアドレス部信号が次に実行するマ
イクロ命令のアドレスとなる。
分岐条件不成立の時には、分岐条件信号a 73f O
となって現在実行中のマイクロ命令のアドレスに1を加
えた値を保持するインクリメントレジスタ6の出力ライ
ン22が次に実行するマイクロ命令のアドレスとなる。
この分岐条件信号aはゲート、セレクタ等を何段も経る
ので確定するのが遅く制御記憶回路1のアドレスを選択
するセレクタ4の選択信号としては使えず、セレクタ3
において分岐条件成立の時はマイクロ命令のアドレス部
信号の出力2イン21を選択し、分岐条件不成立の時は
インクリメントレジスタ6の出力ライン22を選択する
ために使われる。
また、セレクタ4は実行抑止信号Cが0の時は、分岐予
測信号すが1の時マイクロ命令のアドレス部信号の出力
ライン21を選択し、分岐予測信号すが0の時インクリ
メントレジスタ6の出力ライン22を選択する。実行抑
止信号Cが1の時は、分岐予測信号すの値にかかわらず
常にマイクロ命令アドレスレジスタ7の出力ライン23
を選択する。
すなわち、条件分岐命令の実行時、分岐条件信号aと分
岐予測信号すの値が同じであれば予測はあたっていたこ
とになり、セレクタ3および4では同一の信号が選択さ
れ、読出されたマイクロ命令が次に実行すべきマイクロ
命令となる。この時実行抑止フリップフロップ12はセ
ットされ々い。
分岐条件信号aと分岐予測信号すの値が異なっていると
予測がはずれたことになり、マイクロ命令アドレスレジ
スタ7には正しいアドレスが入るが制御記憶回路1から
読出されたマイクロ命令は次に実行すべきマイクロ命令
ではない。この時は、実行抑止フリップフロップ12が
セットされ、次のマイクロ命令の実行が抑止されると同
時に、マイクロ命令アドレスレジスタ7に格納されてい
るアドレスで次に実行すべきマイクロ命令の読出が行わ
れる。
なお、上記実施例では2方向の条件分岐の場合を説明し
たが、分岐予測フリップフロップの数を増すことにより
更に多方向の条件分岐における予測を行うこともできる
〔発明の詳細な説明〕
以上説明したように本発明によれば、条件分岐命令の実
行に先だってどの分岐方向のマイクロ命令を制御記憶回
路から読出すかを予測して指定する手段を備えることと
した。したがって、制御記憶回路が1つのモジュールで
あってモ無駄ナマイクロ命令の読出す回数を減少させる
ことができ、条件分岐命令の実行を高速化できる。
【図面の簡単な説明】
図は本発明一実施例の要部ブロック構成図。 ■・・・制御記憶回路、2・・・マイクロ命令レジスタ
、3.4・・・セレクタ、5・・・プラス1加算器、6
・−・インクリメントレジスタ、7・・・マイクロ命令
アドレスレジスタ、8・・・デコーダ、9・・・分岐予
測フリップフロップ、10・・・演算回路、11・・・
排他的論理和回路、12・・・実行抑止フリップフロッ
プ。

Claims (1)

    【特許請求の範囲】
  1. (1)  複数のマイクロ命令を格納する制御記憶回路
    と、 この制御記憶回路から読出された上記マイクロ命令の内
    容を保持するマイクロ命令レジスタとを備え、 上記マイクロ命令レジスタのアドレス部の内容が次に実
    行すべきマイクロ命令の上記制御記憶回路のアドレスを
    指定するように制御されるマイクロプログラム制御デー
    タ処理装置において、 条件分岐マイクロ命令より以前のマイクロ命令により条
    件成立あるいは不成立を予、測する回路と、分岐条件の
    成立あるいは不成立を出力する演算回路と、 この演算回路の出力により上記マイクロ命令レジスタの
    分岐アドレスと現在実行中のマイクロ命令を読出した上
    記制御記憶回路のアドレスに1をインクリメントしたア
    ドレスとが選択して格納されるマイクロ命令アドレスレ
    ジスタと、上記予測する回路と上記演算回路との出力が
    合致したときには上記マイクロ命令レジスタの分岐アド
    レスあるいは上記1をインクリメントしたアドレスを次
    に実行すべきマイクロ命令の読出アドレスとし、上記予
    測する回路と上記演算回路との出力が不一致のときには
    上記マイクロ命令アドレスレジスタの内容を次に実行す
    べきマイクロ命令のアドレスとする手段と を備えたことを特徴とする マイクロプログラム制御データ処理装置。
JP11964182A 1982-07-09 1982-07-09 マイクロプログラム制御デ−タ処理装置 Pending JPS599758A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11964182A JPS599758A (ja) 1982-07-09 1982-07-09 マイクロプログラム制御デ−タ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11964182A JPS599758A (ja) 1982-07-09 1982-07-09 マイクロプログラム制御デ−タ処理装置

Publications (1)

Publication Number Publication Date
JPS599758A true JPS599758A (ja) 1984-01-19

Family

ID=14766474

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11964182A Pending JPS599758A (ja) 1982-07-09 1982-07-09 マイクロプログラム制御デ−タ処理装置

Country Status (1)

Country Link
JP (1) JPS599758A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6128139A (ja) * 1984-06-22 1986-02-07 インタ−ナシヨナル コンピユ−タ−ズ リミテツド デ−タ記憶装置
JP2013250593A (ja) * 2012-05-30 2013-12-12 Renesas Electronics Corp 半導体装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6128139A (ja) * 1984-06-22 1986-02-07 インタ−ナシヨナル コンピユ−タ−ズ リミテツド デ−タ記憶装置
JP2013250593A (ja) * 2012-05-30 2013-12-12 Renesas Electronics Corp 半導体装置

Similar Documents

Publication Publication Date Title
US3577189A (en) Apparatus and method in a digital computer for allowing improved program branching with branch anticipation reduction of the number of branches, and reduction of branch delays
EP0551932B1 (en) Digital signal processor processing multi-point conditional branch operations in a pipeline mode
US3728692A (en) Instruction selection in a two-program counter instruction unit
US4616313A (en) High speed address calculation circuit for a pipeline-control-system data-processor
US4179731A (en) Microprogrammed control system
EP0118781A2 (en) Control flow parallel computer system
US3909798A (en) Virtual addressing method and apparatus
JPS6341932A (ja) 分岐命令処理装置
US4739470A (en) Data processing system
EP0378415A2 (en) Multiple instruction dispatch mechanism
EP0133477A2 (en) Pipeline-controlled type information processing system
US5088030A (en) Branch address calculating system for branch instructions
EP0322769A2 (en) Data processing apparatus suitable for high speed processing
KR920010335B1 (ko) 마이크로프로세서 및 그것을 사용한 정보처리 장치.
US4550369A (en) Apparatus and method for processing macroinstructions and microinstructions
KR920004279B1 (ko) 포인터레지스터를 구비한 마이크로프로세서
FI91107C (fi) Tietojenkäsittely-yksikkö
US5124910A (en) Microprogram control apparatus for generating a branch condition signal to be designated by a micro-branch instruction
EP0164418B1 (en) Microprogram control system
US4580238A (en) Arithmetic operating system
JPS599758A (ja) マイクロプログラム制御デ−タ処理装置
EP0162928B1 (en) Microprogram control method
CA1119307A (en) Microcomputer having separate bit and word accumulators and separate bit and word instruction sets
EP0105125A2 (en) Data processing system
US4285036A (en) Data processing device using a subroutine call instruction