JPS5896349A - マイクロ命令制御のデータ処理装置 - Google Patents

マイクロ命令制御のデータ処理装置

Info

Publication number
JPS5896349A
JPS5896349A JP56192933A JP19293381A JPS5896349A JP S5896349 A JPS5896349 A JP S5896349A JP 56192933 A JP56192933 A JP 56192933A JP 19293381 A JP19293381 A JP 19293381A JP S5896349 A JPS5896349 A JP S5896349A
Authority
JP
Japan
Prior art keywords
instruction
address
microprogram
branch
page
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.)
Granted
Application number
JP56192933A
Other languages
English (en)
Other versions
JPH0221612B2 (ja
Inventor
Yoshiki Noguchi
孝樹 野口
Takashi Tsunehiro
隆司 常広
Hideo Nakamura
英夫 中村
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP56192933A priority Critical patent/JPS5896349A/ja
Priority to US06/444,711 priority patent/US4494195A/en
Priority to DE8282111085T priority patent/DE3276645D1/de
Priority to KR8205402A priority patent/KR880000994B1/ko
Priority to EP82111085A priority patent/EP0080737B1/en
Publication of JPS5896349A publication Critical patent/JPS5896349A/ja
Publication of JPH0221612B2 publication Critical patent/JPH0221612B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • G06F9/262Arrangements for next microinstruction selection
    • G06F9/264Microinstruction selection based on results of processing
    • G06F9/267Microinstruction selection based on results of processing by instruction selection on output of storage

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)
  • Advance Control (AREA)

Abstract

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

Description

【発明の詳細な説明】 (1)発明の利用分野 本発明に、マイクロプログラムのアドレスをその前に読
出されるマイクロプログラム内の情報として先行指定す
るマイクロプログラム制御方式に関するものである。
伐) 従来技術 読出すべきマイクロプログラムのアドレスを指定する方
法としては、まず、その直前のマイクロプログラム内の
情報として指定する方法がbる。
この方法においては、第1図のようなフロー全構成する
マイクロプログラムを読出していく場合、読出されたマ
イクロプログラム2は、マイクロプログラム3.4が記
憶されているページのページ・アドレスを指定する。マ
イクロプログラム3.4は同時にアクセスされ、それと
並行して分岐条件に従ってページ内アドレスが生成され
、そnt用いて記憶装置から同時に読出されるマイクロ
プログラム3.4を選択する。この方法による条件付分
岐命令の実行は容易でめるが、読出されたマイクロプロ
グラム内に書かれたアドレスで、次のマイクロプログラ
ムを読出さねばならないため、1マシンサイクル全てを
マイクロプログラムの格納された記憶装置に対するアク
セスに用いることはできない。
上記欠点を克服する方法として、読出すべきマイクロプ
ログラムのアドレスを、その数命令(実例としては1命
令)分前のマイクロプログラム内の情報として先行指定
する方法がめる。この方法によれば、記憶装置から読出
されたアドレスがマイクロプログラムの読出しに使われ
るまでに時間的余裕がある。しかし第1図においてマイ
クロプログラム4の条件付分岐先でるるマイクロプログ
ラム6.7をマイクロプログラム2で指定しようとする
と、同じレベルにあるマイクロプログラム5も同時に指
定する必要がるる。そのためにマイクロプログラム4を
続出した時点での分岐条件だけでマイクロプログラム6
.7のどちらか一方を選択することはできない。そのた
め、条件付分岐命令の直後の1マイクロプログラムは無
操作命令とし、分岐先のアドレスは直接その条件付分岐
命令のマイクロプロンラムが指定する。即ち、マイクロ
プログラム6.7のアドレスはマイクロプログラム4が
指定し、実行時にはマイクロプログラム4と6または7
の間で無操作な命令が実行される。そのために条件付分
岐命令が実行されるごとにマイクロプログラムを1つ読
出すだけの無操作時間を設定しなければいけないという
欠点かめる。
(3)  発明の目的 本発明は、マイクロプログラムでコントロールされるプ
ロセッサに於て、マイクロプログラムのアドレスを先行
指定することによってプログラムの格納されている記憶
装置に対するアクセス時間を動作サイクル分フルに確保
し、かつ、条件付分岐命令のマイクロプログラム・アド
レスもその他の命令と同じタイミングで指定することに
よって、全てのマイクロプログラムを動作サイクルごと
に読出すことを目的とする。
(4)発明の総括説明 ページ・アドレス/ベージ内アドレスによるマイクロプ
ログラムのアドレス先行指定において、ページ内アドレ
スの指示音、新しく現在読出されたマイクロプログラム
内情報とその前に続出された有限個のマイクロプログラ
ムの情報と及びそれらマイクロプログラムのアドレスと
によシ論理演算して決定する機能をつけた順序回路で行
なうことで先行指定した期間のマイクロプログラムの分
岐状態が不明になることをなくシ、これにょυ条件付分
岐命令に対するそれ以降のマイクロプログラムの読出し
タイミングを条件付分岐命令ではない通常のマイクロプ
ログラムの読出しと同一に扱うことを可能にした。
(5)実施例 以下、本発明を実施例を参照して祥細に説明する。
アドレスを一命令分先行指定するマイクロプログラム制
御方式において、分岐数2(分岐するかしないかの2通
シ)の条件付分岐命令が連続して実行される場合を説明
する。第2図はこの場合のマイクロプログラムの170
−例を示したものでるる。マイクロプログラム8は分岐
してマイクロプログラム10を実行するシーケンスにす
るのか、おるいは分岐せずにマイクロプログラム9′1
に実行するか全決定すると同時に、マイクロプログラム
11〜14のアドレスを指定(アドレスの一命令分先行
指定)する。マイクロプログラムのアドレスはページ・
アドレスとページ内アドレスとに分割し、同一ページ内
のマイクロプログラムは同時にアクセスする。マイクロ
プログラム11〜14のアドレスは同一ページ・アドレ
スに指定する。同一べ一ジ内のマイクロプログラムの選
択はページ内アドレスを指定することによシ実行する。
各マイクロプログラムによって決定される分岐情報だけ
でページ内アドレスを生成する1ことはできない。たと
えば、マイクロプログラム8よシ分岐して−イクロプロ
グラム10が読出された場合を考える。マイクロプログ
ラム10はマイクロプログラム13.14に続くマイク
ロプログラムのアドレスを指定すると同時に、分岐する
がしないかを判断すめ。しかし、アクセスされているマ
イクロプログラムは11〜14でるるから、分岐するか
しないかの条件だけではマイクロプログラム13套るい
は14を選択することはできない。この場合、分岐15
が実行されたことが認識されているならばマイクロプロ
グラム13.14の選択は可能である。
本発明は、現在読出されたマイクロプログラムによって
示される分岐情報と、それ以前に読出されたマイクロプ
ログラムによって示される命令の種類、及びそれらのア
ドレスを用いてページ内アドレスを生成することを特徴
としている。
ページ内アドレスは、るるマイクロプログラムが指定し
なければならない同じレベルのマイクロプログラムの最
大数に対応したビット数で構成する。本実施例において
は、第2図に示すように、4つのマイクロプログラムを
指定するのが最大なので、ページ内アドレスは2ピツト
で構成される。
このページ内アドレス2ビットのうち上位ビットiM1
、下位ピッ)’t”MOとする。ページ内アドレスの指
定は、指定しようとする命令に対し1命令前に分岐する
場合M1=1、分岐しない場合M1=0、直前で分岐す
る場合MO=1、分岐しない場合MO=0とする。従っ
てマイクロ命令11〜12のページ内アドレスは命令1
1が「00(Ml、MOの順。以下同様)、命令12は
「01」、命令13は「10」、命令14は「11」と
指定する。
それぞれのマイクロプログラムのフォマット例を第3図
、第4図に示す。第3図は条件付分岐命令(第2図中の
命令8〜10)のフオマットで、マイクロプログラムの
ページ・アドレス、分岐条件。
条件付分岐命令であることを示すBピッ)(Bビット=
1の時条件付分岐命令)、演算部の実行すべき命令よ多
構成されている。第4図は一般命令(条件付分岐命令で
ない命令)のフォマットでマイクロプログラムのアドレ
ス(ページ・アドレス。
ページ内アドレス)、Bビット(Hビット−〇の時一般
命令)、演算部の実行すべき命令よ多構成される。
読出されたマイクロプログラム及び、その−命令分前に
読出されたマイクロプログラムの情報によって、次に胱
出すマイクロプログラムを決定する様子を第9図に示す
。ページ単位で記憶装置よシ読出すマイクロプログラム
のアドレス(ページ・アドレス)は−命令前に読出され
たマイクロプログラム内の情報42で指定(アドレスの
一命令分先行指に)する。現在読出されたマイクログロ
グラム内のページ・アドレス43はその次のサイクルで
の読出しアドレスとして用いられる。
上記ページ・アドレス42で読出される1ペ一ジ分のマ
イクロプログラムを1つ選択するためのページ内アドレ
スは、−命令前に読出されたマイクロプログラム内のペ
ージ内アドレス45、現在−読出されたマイクロプログ
ラムの分岐条件46、条件付分岐命令かどうかを表わす
Bピット49で分 生成される。また−命九声に読出されたマイクロプログ
ラム内のBビットの悄@48はページ内アドレスを生成
する順序回路内に配憶されている。
マイクロプログラム内で分岐条件の情報44゜46とペ
ージ内アドレス45.47は同じ位置に配置されている
が、この位置の情報がどちらの情報でめるかを判断する
のは、ページ内アドレスを生成する順序回路が現在続出
式tたマイクロプロググラム内のBビット49、及び回
路内に記憶されたBビット情報(48と同じ値)を用い
て行なう。
−命令分前に読出されたマイクロプログラム内情報のう
ち、分岐条件44、及びマイクロ命令50は、−命令前
に使用される。
また、現在読出されたマイクロプログラム内情報のウチ
、ページ・アドレス43、ページ内アドレス47は次の
サイクルで用いられる。
マイクロ命令51idこのサイクルで演算部の制御信号
を生成するコントロール部に送られる。
前述のマイクロプログラム・コントロールを、第8図に
示すクロックφ、φを用いて実行する。
1マシンサイクルはφ、φよ多構成される。
マイクロプログラムφコントロール系のブロック図例を
第5図に示す。アドレスレジスタ20は多入力レジスタ
で、入力された命令のオペコードをデコードして生成さ
れるマイクロプログラムのアドレス18と、ROMより
読出されたマイクロプログラム内の情報として指示場扛
るアドレス19とのどちらか一方會φのタイミングでス
トアする。ストアされたアドレスはマイクロプログラム
の格納されているROM1にアクセスする期間その値を
保持するためにアドレスレジスタ21に再度φのタイミ
ングストアされる。このアドレスレジスタ20,21よ
υ構成される部分音マルチグレツクス・ユニット22と
称することにする。入力された命令のオペコードをデコ
ードして生成されるアドレス18は、その命令に対応す
るマイクロプログラムのシーケンスのうち、最初と2番
目とに実行するCROMよシ読出す)マイクロプログラ
ムのアドレスを指定する。この2つのアドレスを出力す
るの’its P L A構成の命令デコード部(In
stroction DECODER,)でおる。入力
された命令はANDアレーによシ、ある1つのライン5
8のみt’)I’レベルにする。(ORアレー出出カラ
イン5960は負荷MO8によIH’レベルにさ扛てい
るが、ライン58がl Hlになると接地され“Loと
なる。その様にして)0)(アレー内で、七のライン上
に畳込1nた情報が読出さtしるのでりるが、この時、
各0凡プレー上に2マイクロプログラム分ずつのアドレ
スを畳込んでおき、こ扛らを読出すことで、マイクロプ
ログラムのシーケンスのうち、最初と2査目とに実行す
るマイクロプログラムのアドレスを指定する。
読出されfc2つのマイクロプログラムのアドレス18
は、同時に出力さn、6が、そtしらに信号19といっ
しょに選択され、どれか一つがアドレスレジスタ20に
入力される。この選択に、マイクロプログラム内のマイ
クロ命令部で指定する。
マイクロプログラムのシーケンスに於て、最後から2番
目のマイクロ命令は、2つのアドレス18のうち、マイ
クロプログラムのシーケンスで最初のアドレスがレジス
タ20に入力されるように制御信号を出す。最後のマイ
クロ命令がもう一方のアドレスをレジスタ20に入力さ
せるように制御信号を出す。その他のマイクロ命令は、
信号19のアドレスをアドレスレジスタ20に入力する
ような制御信号を出す。
1のタイミングでアドレスレジスタ21にセットされる
情報は、信号18による情味ならはページ・アドレス、
ページ内アドレスでり9、信号19による情報ならば、
条件付分岐命令の場合はページ・アドレスと直前の命令
の分岐条件(第3図)、一般館令の場合はページ・アド
レスとベージ内アドレス(第4図)でるる。このうち、
直前の命令の分岐条件は、これから行なわれるマイクロ
プログラム続出しには何の影善も与えない(直前の読出
しの際、ページ内アドレスの生成に利用される)。
これら情報に共通して存在するページ・アドレス24が
φのタイミングで71クロプログラムが記憶されている
ROM23をページ単位でアクセスする。一方、ページ
内アドレス25はページ内アドレスを生成する順序回路
26に入力さする(直前の命令の分岐条件が入力石れる
場合もおるが、この場合には前述のごとくページ内アド
レスには利用さfLない)。J@序回路26tI′i、
現在実行されているマイクロプログラム270“分岐条
件(これが、次のサイクルでの上記情報に相当する)、
Bビット(第4図、第5図)の情報28、演算ユニット
よりコンディション・レジスタ29にセットされたコン
ディション・コード30、及び前記ページ内アドレス2
5を用いてページ内アドレス31を生成する。ROM2
3より読出されたページ単位のマイクロプログラムはペ
ージ内アドレス31によシ、その中の1つが選択妊れる
。このマイクロプログラムは先行指定のマイクロプログ
ラム・ロールユニット45でデコードさn演算:==ツ
)を制御する。
順序回路26によるページ内アドレスの生成論理の1例
を第6図に示す。−命令分前に続出されたマイクロプロ
グラム内で一般命令(条件付分岐命令でない命令)の場
合に先行指定されるページ内アドレス(第4図)の上位
ピットtPM1、下位ビットtPMOとする。−命令前
に順序回路26で生成されたページ内アドレスの下位ピ
ッ)fOMOとする。現在読出したマイクロプログラム
が一般命令(マイクロプログラム内情@(第4図)B=
0)で、その前の命令も一般命令(直前の命令OB信号
會ラッチしておい圧信号BH=0)ならは、ページ内ア
ドレス’Ml、 MO’は’PMI、PMO’即ち、−
命令部nで先行指定されたアドレスとなる。
また、その前の命令が条件付分岐命令(BB=1)の場
合には、ページ内アドレス’Ml、 MO’は’OM0
.0 ’即ち、直前の命令が決定したページ内アドレス
の下位ビットが上位ビットとなシ、下位ビットMOは定
数lotとなる。
現在、読出したマイクロプログラムが条件付分岐命令C
B=1)の場合は、ページ内アドレスは、現在読出され
たマイクはプログラムから2命令前のマイクロプログラ
ム内マイクロ命令によって指定された演算の結果セット
されるコンディション・コード30と現在読出されたマ
イクロプログラム27から得られる分岐条件28によっ
て決定される。コンディション・コードが分岐条件を情
たしている場合(分岐)のページ内アドレス1M1゜M
O’ Fi’OM0.1 ’即ち一命令前に続出したマ
イクロプログラムのページ内アドレス下位ビットが上位
ビットに、下位ビットMOは定数′1゛となる。一方、
分岐条件が満たされない場合、ページ内アドレス’Ml
、 MO’は’OM0.0’となる。このように、ペー
ジ内アドレスは、現在読出したマイクロプログラム1命
令前のマイクロプログラムの命令の種類(一般命令/分
岐館令)を表わす情報(BB倍信号、そのマイクロプロ
グラムのページ内アドレスの情報(OMO)、及びその
マイクロプログラムによシ指定されたページ内アドレス
の情報(PMI、 PMO) t−用いて生成される。
順序回路26の構成例を第7図に示す。回路はコンディ
ション・コード309分岐条件(’mc)28、分岐命
令thわ丁Bピッ)28.1命令前のマイクロプログラ
ムが指定するページ内アドレス(凡化、ハ’n>2s、
直前の命令の種類を表わすBB倍信号Bビットをラッチ
して次のサイクルに入力する)34.直前の命令実行時
に生成されたベージ内アドレスの上位ビットOMO(M
Oビットをラッチして次のサイクルに入力する)を入力
されるANDアレーと、ページ内アドレスMl、 MO
を出力するORアレーとから構成されるPLAでるる。
ANDアレーの一部35は、分岐条件28とコンディシ
ョン・コード30との一致をテストする回路で、各分岐
条件ごとに36のラインがめり、両者が一致<W=Cで
−=1Lルベルの場合に分岐条件が成立するように構成
)すると2イン36がlHlレベルになるよう論理を組
んでいる。ページ内アドレスは、Ml、MO信号31と
して出力される。
回路52,53,54.55は2インバータのラッチ回
路(公知)である。
ランチ52.53によ、9Bビツト情報28が次のサイ
クルまで保持されることを説明する。Bビットの信号2
8はクロックφで入力される。その値は52の回路でラ
ッチされ、クロックφでラッチ53に伝達される。次の
φで、ラッチ52には次のサイクルの信号が入力される
が、ラッチ53はラッチ52より伝えられた値を保持し
、BB倍信号して、PLAのANDアレーに入力する。
こうしてBB倍信号1サイクル前のB信号をラッチした
信号)は生成される。
ラッチ54.55はφでPLAのORアレーよp出力さ
れる信号56.57に一ページ内アドレスMO。
Mlとして、次のサイクルのφの期間保持すると同時に
、そのページ内アドレスのうち下位ビットMOt−OM
O信号33としてANDアレーに入力する。
PLA、ANDアレーに於て、格子点上に丸印のめる所
は入力II(縦線33.34.25.28.30)がl
 Hlレベルの時、出力線(横線36.45〜48)を
°Lルベルにする。また、丸印のない格子点は、入力線
のレベルに関係なく出力線を+ Hlレベルに保つ。
PLA、ORアレーに於て、格子点とに丸印のめる所は
入力線(ANDアレーの出力線、横@36゜45〜48
)がlH’ L/ヘル(7)時、出力1m (56,5
7)’t−’L’レベルにする。また、丸印のない格子
点は、入力線のレベルに関係なく出力線に’H’レベル
に保つ。
第6図のページ内アドレスの生成論理を第7図回路が実
現することを説明する。Bビット=00場合には47.
36のラインはl L 1 レベルになるため、ページ
内アドレスMl、MO信号31の生成には影響を与えな
い。ライン36は分岐条件の数だけろり、分岐条件28
とコンディション・コード30が合致した時だけ“Hル
ベルになる(但し、B=0の時は、分岐条件〜コンディ
ション・コードに関係なく°Lルベル)。BBfft4
t34=0の時には、ライン46がI L lレベルと
なり、先行指定されたページ内アドレスPMI、PMO
信号25がライン45.48を通して出力される。また
BB倍信号1の時には、ライン45.48がl L l
レベルとなシ、ページ内アドレスMl(31)はライン
46を通してOMOとなシ、MOはIQ+  となる。
Bピット=1の時には、ライフ45,46.48のライ
ンがl l、 ルベルとなり、ページ内アドレス生成に
影響を与えるのはライン47.36でるる。
従ってBB倍信号ページ内アドレス生成に影響を与えな
くなる。ページ内アドレスの上位ビットMl(31)は
ライン47全通して常にOMOとなる。
−芳下位ビットに、分岐条件が成立した時にはライン3
6が1Hルベルになるから+11に、不成立の時は+0
1になる。
第8図に、第2図のマイクロプログラム8以降を読出し
ていくタイム・チャートを示す。タイム・チャート内の
図番号は第5図の構成要素に対応している。T1〜T4
はそれぞれ1マシンサイクルでるる。まずT1ではマイ
クロプログラム8の前の命令であるマイクロプログラム
37がマイクロプログラム9.10のアドレス38(ペ
ージ・アドレス)を先行指定する。マイクロプログラム
8のアドレスはマイクロプログラム37の前のマイクロ
プログラムで指定される。マイクロプログラム37が一
般命令(B=0)でおるとする。マイクロプログラム8
読出しのアクセスが行なわれ、T2サイクルの最初で、
マイクロプログラム8が条件付命令でりることか読出さ
れ、Bビット及び分岐条件40が第51信号28として
順序回路26に伝えられる。同時にマイクロプログラム
8はマイクロプログラム11〜14のアドレス(ベージ
・アドレス)39會先行指定する。マイクロプログラム
80マイクロ命令はコントロール・ユニットに伝えられ
る。このサイクルT2内で、順序回路(第5図26)は
マイクロプログラム10t−選択するページ内アドレス
t1前配信号4o及びマイクロプログラム37の前のマ
イクロプログラムで指定された命令全実行した結果のコ
ンディション・コード41を用いて生成する。マイクロ
プログラム9,10がアクセスされ、ページ内アドレス
に従い命令10が読出される。
T3のサイクルでマイクロプログラム10は信号42で
マイクロプログラム13.14に続くマイクロプログラ
ムのアドレスを先行指定する。またBビット及び分岐条
件43を順序回路に伝える。
この時、マイクロプログラム100ページ内アドレスの
下位ビットは分岐した先の命令なので′1゛でめる。こ
のT3のサイクルでマイクロプログラム13又は鳳4の
ページ内アドレスが生成される。
順序回路に入力されるのは、信号43により、B=1信
号と分岐条件(第5.7図28)、信号44によりマイ
クロプログラム37で指定された演算の結果のコンディ
ション・コードである。先行指定されたページ内アドレ
スも入力されるが無視される。1命令前に読出したマイ
クロプログラム8が条件付分岐命令だったので、tfA
6図内BB信号(第7図34)は°1゛である。また、
マイクロプログラム100ページ内アドレスの下位ビッ
トMOは+11なので、0M0=1となる。これら条件
を@6図に対応させると、ページ内アドレスは°1・1
(・は分岐条件及びコンディション・コードで0又#′
i、1に決められる)となる。最初に述べたように、マ
イクロプログラム13.14のベージ内アドレスは上位
ビットが1に指定されているため、下位ビラトラ分岐条
件に従って指定すれは、アドレスを先行指定しても、ペ
ージ内アドレスを決定することができる。マイクロプロ
グラム11〜14は同じT3のサイクルでアスセスされ
、ページ内アドレスに従い、サイクル終了時点で読出さ
れる。
Bビット及びBB倍信号101の場合には第4図内で示
されるページ内アドレス全先行指定できるので、あらゆ
るROMのアドレス領域をアクセス可能でるる。そのた
め、条件付分岐命令のアドレス配置の制約によって生ず
る空領域も、一般命令のマイクロプログラムが配置可能
でおるから、アドレス空間を無駄なく利用することがで
きる。
以上、第5図の構成のマイクロプログラム・コントロー
ル系について説明したが、先行指定の時期(何命令前の
マイクロプログラムでアドレスを指定するか)、分岐数
が変った場合にも、BB信号34.OM信号33、及び
ページ内アドレスのビット数を拡張することにより同様
な処理が可能である。
また、マイクロプログラムをシーケンスを指定するRO
Mと演算を指定するROMとに分けて構成した場合にも
同様な処理が可能でめる。
(6)  まとめ 以上説明したごとく本発明によれば、ROM等の記憶装
置内に格納されているマイクロプログラムを先行指定し
つつ、条件付分岐命令もその他の分岐のない命令と同様
な扱いで読出しをすることが実行可能でおる。また記憶
領域のアドレス空間は、マイクロプログラムの構成を工
夫すれば100憾有効利用できる。
条件付分岐命令の形式でサブルーチンを構成することも
可能である。
【図面の簡単な説明】
第1図、第2図はマイクロプログラムのフローチャート
例。第3図は条件付分岐命令のマイクロプログラム・フ
オマット例、第4図は一般命令のマイクロプログラム・
フオマット例。第5図はマイクロプログラム制御回路の
ブロック図。第6図はページ内アドレス生成論理例。第
7図はページ内アドレス生成回路例。第8図はマイクロ
プログラム制御回路のタイムチャート。!9図は次のサ
イクルで読出すマイクロプログラムのアドレスを第 1
 図 vl  2  図 η 3  図 第  S  図 第 6 閃 第 7  図 ¥J 3  図 r q  図 手続補正書 事件の表示 昭和56 年特許願第192933  号発明の名称 マイクロ命令制御のデータ処理装置 h11正をする者 シ、 E:  ’5101(1式会+1日立製作所1・
 表 r  三   [11勝  茂代   理   
人 補正の内容 2、図面11g2図〜第4図、第7図、第8図をそれぞ
れ別紙のように訂正し、第9図を削除する。 補正明細書 発明の名称 マイクロ命令制御のデータ処理装置 特許請求の範囲 1、アドレスレジスタと、一定サイクルごとに駆動され
、該レジスタにストアされたページアドレスに基づき所
定の複数のマイクロ命令を読出す記憶手段であって、各
マイクロ命令の第1のフィールドには、該各マイクロ命
令の読出しサイクルからみて該所定数のサイクルの後に
読すべき後続のマイクロ命令を指定するページアドレス
が含すれ、条件付分岐命令でない一般命令の第2のフィ
ールドには該後続命令を指定するページ内アドレスが含
まれ、゛条件付分岐命令の第2フイールドには、分岐条
件を指定する情報が含まれているものと、 該続出し動作ごとに、該続出された複数のマイクロ命令
の一つを選択する手段と、 該選択された命令を読出すためのページアドレスを該ア
ドレスレジスタにセットしたタイミングより、該所定数
のサイクルだけ遅延して該選択され九命令の第1、第2
フイールドを該レジスタにセットする、該選択動作に同
期したセット手段と、該選択されたマイクロ命令が分岐
命令のとき、該分岐命令が指定する分岐が成功か否かを
該選択された分岐命令の第2フイールドに基づき検出す
る手段と、 該選択動作の終了ごとに、次のサイクルで選択すべきマ
イクロ命令を指定するためのページ内アドレスを発生し
て該選択手段に送出するためのアドレス発生手段であっ
て、該選択手段によグ、現在までの該所定数のサイクル
の間の該検出手段の出力と現在該アドレスレジスタ内に
あるページ内アドレスとに基づき該指定のためのページ
内アドレスを発生するものとからなるマイクロ命令制御
のデータ処理装置。 2、該アドレス発生手段は、該所定数のサイクルの間に
分岐命令がないときには、該アドレスレジメ内に現にあ
るページ内アドレスを該指定のためのページ内アドレス
として出力し、該所定数のサイクルの間に分岐命令があ
るときには、該所定数のサイクルの内、該分岐命令が存
在したサイクルと、該分岐命令に対する分岐成功検出結
果とにより、異なるページ内アドレスを発生するもので
ある第1項のデータ処理装置。 3、該所定数は2であり、該アドレス発生手段は、現在
のサイクルで出力したページ内アドレスを記憶する手段
と、現在より一つ前のサイクルで選択された命令が分岐
命令か否かを示す信号を記憶する手段と、現在選択され
た命令が分岐命令でなく、かつ1、現在より一つ前のサ
イクルで選択された命令が分岐命令でないときには、該
アドレスレジスタに現在あるページ内アドレスを出力し
、現在選択された命令が分岐命令でなく、一つ前のサイ
)ルで選択された命令が分岐命令のときには、現在のサ
イクルで出力したページ内アドレスの一部と、1又はO
の内のあらかじめ定めた値からなるページ内アドレスを
出力し、現在選択された命令が分岐命令のときには、現
在のサイクルで出力したページ内アドレスの一部と、分
岐成功か否かに応じて定まるO又は1とからなるページ
内アドレスを出力する手段とからなる第1項のデータ処
理装置。 4、該ページ内アドレスは2ビツトからなり、該アドレ
ス発生手段は、現在選択された命令が分岐命令でなく、
かつ、一つ前のサイクルで選択された命令が分岐命令の
とき、現在のサイクルで出力された下位ビットOMOに
等しい上位ビットと、値0又は1の内あらかじめ定めた
一方の値を有する上位ビットからなるページ内アドレス
を発生し、現在選択されている命令が分岐命令のときに
は、現在のサイクルで出力された下位ビットに等しい上
位ビットと、分岐成功か否かに応じて1又は0の値とな
る下位と、トからなるページ内アドレスを生成するもの
である第3項のデータ処理装置。 発明の詳細な説明 〔発明の利用分野〕 本発明はマイクロ命令のアドレスを、その前に読出され
たマイクロ命令内の情報を用いて発生する、マイクロ命
令制御のデータ処理装置に関する。 〔従来技術〕 読出すべきマイクロ命令のアドレスを指定する方法とし
て、その直前のマイクロ命令内の情報により指定する方
法がある。この方法においては、第1図のようなマイク
ロ命令列を続出していく場合、読出された条件付分岐命
令2はマイクロ命令3.4のページアドレスを指定する
。マイクロ命令3.4はこのページアドレスにより指定
され、それと並行して、マイクロ命令2が指定する分岐
条件に従ってページ内アドレスが生成され、読出された
マイクロ命令3.4の一方をこのページ内アドレスによ
り選択する。 条件付分岐命令3.4から他のマイクロ命令5.6およ
び7へ移行することも同様に実行される。 したがって、この方法によれば、命令2.3のごとく、
連続する条件付分岐命令も実行できる。しかし、読出さ
れたiイクロ命令内に書かれたアドレスで次のマイクロ
命令を読出さねばならないため、−マシンサイクルをマ
イクロ命令記憶装置のサイクルタイムよりかなり太きく
しなければならなくなる。 〔発明の目的〕 本発明はマイクロ命令記憶装置のサイクル時間に近いマ
シンサイクルでマイクロ命令を順次読出しつるデータ処
理装置を提供することを目的とする。 〔発明の概要〕 このため本発明では、マイクロ命令記憶装置は(ROM
)は一定サイクルごとに駆動され、入力されるページア
ドレスにより複数個のマイクロに命令を出力し、かつ一
般のマイクロ命令は、複数個先のマイクロ命令のページ
アドレスとページ内アドレスを有する。ROMから読出
された複数のマイクロ命令の一つが一回の読出しごとに
選択される。選択されたマイクロ命令内のページアドレ
スとページ内アドレスは、上記複数個先のマイクロ命令
を読み出すタイミングでアドレスレジスタにセットされ
る。さらに、ROMから読出した複数のマイクロ命令の
選択のためのページ内アドレスの発生回路は、上記複数
と同じサイクル数の間に選択された命令の中に分岐命令
があるか否かおよび分岐命令がある場合には、それらは
分岐成功したか否かにより異なるページ内アドレスを発
生する。 〔発明の実施例〕 本発明によるマイクロ命令制御のデータプロセ、すのブ
ロック図を第5図に示す。第3図は条件付分岐のマイク
ロ命令のフォーマットで、マイクロ命令のページアドレ
スフィールド60.分岐条件フィールド62、条件付分
岐命令であることを示す値lを有するBビットフィール
ド64、演算部の実行を制御する制御信号フィールド6
6により構成されている。第4図は条件付分岐命令でな
い一般命令のフォーマットで、フィールド62にはマイ
クロ命令のページ内アドレスが含まれ、Bビットフィー
ルド64にはOが含まれる点が第3図と異なる。本実施
例では、各マイクロ命令が有するページアドレスあるい
はページ内アドレスは各マイクロ命令の二つ先のマイク
ロ命令のアドレスである。 第5図において、ROM23はマイクロ命令を記憶する
ための4つのバンク(図示せず)を有し、入力されるペ
ージアドレス24に基づき、各パンクから一つのマイク
ロ命令を読出すように構成されている。セレクタ27は
こうして読出された4つのマイクロ命令の一つを、入力
されるページ内アドレス31により選択する。このため
、ページ内アドレスは2ビツトからなる。 第5図の装置はさらに演算ユニット46と、セレクタ2
7の出力32をデコードして演算ユニット46を制御す
るコントロールユニ、ト45と、演算ユニット46によ
る演算の結果に基づき得られる条件コードを記憶するス
テータスレジスタ29と、複数のアドレス入力を選択す
るためのセレクタ22と、アドレス入力ス120,21
と、ページ内アドレス生成回路26とを有する。 第5図の装置は、第8図に示すり自ツクφと、そのクロ
、りφにより制御される。クロックφはクロックφより
半マシンサイクル遅れて高しベにとなるものである。 セレクタ22の入力は信号18A、18B。 19である。信号18A、18Bは命令デコーダ70に
より得られる。すなわち、実行すべき機械語命令内のオ
ペコードを命令デコーダ70が解読し、この機械語命令
に対応するマイクロプログラムの先頭と第2番目のマイ
クロ命令のアドレス(ページアドレスとページ内アドレ
ス)18A。 18Bを出力する。命令デコーダ70はANDアレー7
2と、ORアレー74とからなる。入力されたオペコー
ドはANDアレー72の複数の出力ラインの内の、ある
一つのライン58のみを′H″レベルにする。ORアレ
ー74では、ライン58上にあらかじめ書込まれた前述
の二つのマイクロ命令のページアドレス、ページ内アド
レスが出力ライン59.60等に読出される。 信号19はセレクタ27で選択されたマイクロ命令のフ
ィールド60.62からなる。したがって、信号19は
、選択されたマイクロ命令が一般命令のときには、二つ
先のマイクロ命令のページアドレスとページ内アドレス
とからなり、選択されたマイクロ命令が条件付分岐命令
のときには、二つ先のマイクロ命令のページアドレスと
分岐条件とからなる。このように、信号19の違いにか
かわらず、以下では、この信号19をも単にアドレスと
呼ぶことがある。 セレクタ22の制御はセレクタ27により選択されたマ
イクロ命令のコントロールフィールド66によりなされ
る。マイクロプログラムの最後から2番目のマイクロ命
令および最後のマイクロ命令およびこれら以外のマイク
ロ命令のコントロールフィールド66には、それぞれア
ドレス18A%18B% 19の選択を指示する情報(
図示せず)が含まれていて、これらの情報が線32を介
してセレクタ22に入力される。この結果、セレクタ2
2は、実行中のマイクロプログラムの最後から2番目の
マイクロ命令が続出されたときに、次に実行すべきマイ
クロプログラムの先頭のマイクロ命令のアドレス18A
の選択を行い、次のサイクルで第2番目のマイクロ命令
のアドレス18Bの選択を行ない、その後の複数のサイ
クルでは、アドレス19を選択しつづける。 セレクタ22で選択されたアドレスはクロックφに同期
してマスクアドレスレジスタ20にセットされ、次にク
ロックφに同期してスレーブアドレスレジスタ21に移
動される。スレーブアドレスレジスタ21内のページア
ドレスが724を介してROM23に供給されており、
ROM23は、クロックφに同期して駆動され、駆動時
にレジスタ21内にあるページアドレスを有する4つの
マイクロ命令が読出される。一方、レジスタ21内のペ
ージ内アドレスは、アドレス生成回路26に線25を介
して供給され、セレクタ27から線28を介して入力さ
れるフィールド62.64とともにページ内アドレスの
生成に利用される。この生成されたページ内アドレスに
基づきROM23から読出された4つのマイクロ命令の
一つがセレクタ27により選択される。コントロールユ
ニット45は、選択されたマイクロ命令を解読して演算
ユニット46に対して演算を指令する。演算ユニット4
6は指令された演算を実行し、演算結果を、図示しない
メモリ等に書込むとともに、必要があるときには、演算
の種類と演算結果に応じてコンディジM/コードを算出
し、ステータスレジスタ29に七ッ卜する。アドレス生
成回路26は、セレクタ27から現に出力されている命
令が条件付分岐命令のときに、このコンディションコー
ドに基づき分岐判定を行ない、その判定結果に応じて、
異なるページ内アドレスを生成する。 以下では、第5図の装置の動作を、第2図のマイクロ命
令列について、第8図のタイムチャートを参照して、よ
り詳細に説明する。 第2図をこおいて、マイクロ命令8〜10が条件付分岐
命令で、それ以外は一般命令である。また、同一サイク
ルにおいて読出す可能性のある複数の命令、たとえば、
命令9と10、するいは11〜14、あるいは15と1
6、あるいは17と18はそれぞれ同一のページアドレ
スを割りあてられている。 第2図では、条件付分岐命令8での分岐判定結果と条件
付分岐命令9又は10での分岐判定結果により、命令1
1〜14の一つが選択的に実行される。したがって、条
件付分岐命令8で指定するページアドレスに基づき読出
された4つの命令の一つを選択するためのページ内アド
レスはこれら二つの分岐判定結果に基づいて定める必要
がある。 このため、本実施例では、ページ内アドレスMl、MO
の生成を第6図に即して行う。ここでBビットは現在セ
レクタ27から出力されている命令内のBビットを表わ
し、BBはそれより一つ前の命令のBビットを表わす。 またOMOは現在すでにセレクタ27から読出されてい
る命令の選択のために生成したページ内アドレスの下位
ビットである。−勿論、現在セレクタ27から読出され
ている命令のページ内アドレスの下位ビットにはとのO
MOをあらかじめ割りあてられる。また。 PMI、PMQは現在セレクタ27から読出されている
命令の一つ前の命令が一般命令である場合に、その命令
が指定するページ内アドレスの上位ビット、下位ビット
それぞれ表わす。これらはスレーブアドレスレジスタ2
1にストアされている〇すなわち、現在セレクタ27か
ら読出されている命令が命令37のごとく一般命令であ
り、さらに、その前の命令36も一般命令のと@(B〜
BB−0)には次の命令8を選択するためのページ内ア
ドレスMl、MOとしては、その一つ前の命令36が指
定するページ内アドレスPMI、PMOをそのまま出力
する。−万、現在の命令が命令8のごとく条件付分岐命
令のとき(B〜1)には分岐判定結果により、Ml、M
Oの特定の一方、たとえばMOを異ならしめる。本実施
例では、分岐成功、不成功に応じてMOをそれぞれ1.
0とする。ピッ)Mlは命令8の一つ前の命令37が分
岐命令でないので任意の値にきめてよいが、後述する理
由により、Mlを命令8のページ内アドレスの下位ビッ
トMOにする。すなわち、現在セレクタ27から読出さ
れている命令が命令9又は10のごとく、分岐命令で、
その前の命令8も分岐命令のときには、命令8が指定す
るページアドレスに基づき読出された4つの命令11〜
14の一つを、分岐命令9又はlOでの分岐判定結果だ
けでなく、分岐命令8での分岐判定結果にも基づいて決
める必要がある。命令9での分岐判定結果に応じて次の
命令11又は12を区別するためには、すでに命令8に
ついて説明したように、次の命令11,12のページ内
アドレスの下位ピッ)MOをそれぞれ0.1とすればよ
い。同様に命令13,14の下位ピッ)MOをそれぞれ
0. 1とすればよい。さらに、分岐命令8での分岐判
定結果により、命令11.12を命令13.14から区
別するためには、命令11,12のページ内アドレスの
上位ビ、 トMlを命令13と14の上位ピッ111と
区別すればよい。すなわち、命令11〜14の上位ピッ
)Mlを命令8での分岐判定結果に依存してきれればよ
い。しかし、すでに述べたごとく、命令9.10のペー
ジ内アドレスの下位ピッ)OMOは本実施例ではそれぞ
れ、0.1と定められるので、命令11と12および1
3と14のページ内アドレスの上位ピッ)Mlとして、
それぞれ、一つ前の命令9又は10のページ内7ドレス
の下位ピッ)OMOをそのまま用いればよいことが分か
る。したがって、現在セレクタ27から読出される命令
が分岐命令のときには前に命令8の場合に説明したよう
にして次の命令のページ内アドレスを定めれば、分岐命
令8につづく分岐命令9が現にセレクタ27から続出さ
れているときでも、全く同じようにして、次の命令11
又は12のページ内アドレスを決定できる。 結局、命令11〜14のページ内アドレスはそれぞれ、
00.01.10.11とすればよいことになる。さら
に、命令15.16のごとく、それぞれ現にセレクタ2
7から読出される命令11又は12が一般命令(B−0
)で、その一つ前の命令9が条件付分岐命令(BB−1
)のときには、命令9の分岐判定結果により、命令15
又は16に対するページ内アドレスを発生させる必要が
あ−る。この判定結果は命令11又は12の選択のため
に生成したページ内アドレスの下位ピッ)OMOに反映
されている。したがりてs n−Q、BB−1の場合に
は、生成すべきMl又はM2の一方を一つ前の命令の選
択のために生成したOb/i0にすればよい。Ml又は
M2の他方は任意でよい。 ここではB〜1の場合と同じ(MlをOMOにした。ま
たM2はOとした。この生成回路26の詳細は後述する
が、現にセレクタ27から読出されている命令の一つ前
の命令のBピッ)BBを記憶しておくとともにこの一つ
前の命令の選択のために生成したページ内アドレスの下
位とッ)OMOをストアしておき、線28から入力され
る、現にセレクタ27から読出されている命令のBビ、
トおよびフィールド62にある分岐条件と、ステータス
レジスタ29内のコンディションコートオヨびスレーブ
アドレスレジスタ21にあるページ内アドレスPMO,
PMIに基づき、次のマイクロ命令のページ内アドレス
Ml、MQを第6図に即して発生するように構成されて
いる。 今、サイクルT1の前において)ROM23からマイク
ロ命令37が読出され、サイクルT1においてクロック
φに応答してセレクタ27がこのマイクロ命令37が選
択されていると仮定する。 セレクタ27は、クロックφの次の入力時点まで選択出
力を保持するように構成されている。命令37は次のサ
イクルT2のクロ、りφに同期してコントロールユニッ
ト45で解読され、演算ユニット46が演算を実行し、
演算の種類とその結果により定まるコンディジ冒ンコー
ドヲ求メ、サイクルT2の終りにステータスレジスタ2
9にセットする。 以上のような命令37の処理と並行して、命令37内の
ページアドレスとページ内アドレスが、セレクタ22に
ヨリ選択され、マスクアドレスレジスタ20)こサイク
ルT1のクロ、りφに同期してセットされる。本発明で
は、各マイクロ命令は、二つ先のマイクロ命令のアドレ
スを指定するように構成されている。したがって、命令
37は、命令9又は10のいずれかのアドレスを指定す
る。 ただし、このアドレスの内、ページ内アドレスは後述す
るように、命令9又は1oを選択するのに用いられない
。一方、スレーブアドレスレジスタ21には、命令37
の次に実行される命令8のアドレスがサイクルT1では
すてにセットされている。このアドレスは、命令37の
一つ前の一般命令36により指定されたものである。ス
レーブアドレスレジスタ21内の命令8のページアドレ
スに基づきROM23がサイクルT1のクロ、りφに同
期して読出し動作を開始する。こうして、命令8を含む
4つの命令がROM23のアクセス時間を経過して読出
される。本実施例では、命令8は、サイクルT1の終り
より少し前に読出されると仮定している。一方、命令3
7が一般命令(B−〇)であり、その一つ前の命令36
も一般命令(BB−0)と仮定すると、ROM23での
読出しと並行して、アドレス生成回路26は、レジスタ
21から与えられた命令8に対するページ内アドレスを
そのままセレクタ27にサイクルT1で出力する。こう
して、次のサイクルT2のクロ。 りφに応答して、セレクタ27はマイクロ命令8を選択
する。この命令8は、命令37と同様に次のサイクルT
3で実行され、必要があれば、コンディジva7コード
をサイクルT3の終りに書きかえる。一方、ROM23
からの命令8の読出しと並行して、サイクルT1のクロ
ックφに同期して、スレーブアドレスレジスタ21に、
マスクアドレスレジスタ20のそのときの内容(今の例
では、命令9又は10のアドレス)がセットされる。こ
のアドレスは、次のサイク+T2のクロックφに同期し
てROM23での読出しに利用される。その結果、サイ
クルT2の終り近くに命令9.1゜を含む4つのマイク
ロ命令が読出される。これらの読出しと並行して、アド
レス生成回路26は、命令9又は10を選択するための
ページ内アドレスをサイクルT2で生成する。サイクル
T2ですでにセレクタ27から出力されている命令8の
Bビットが1であるので、アドレス生成回路26はサイ
クルT2のクロ、りφに同期して、そのときのステータ
スレジスタ29内のコンディジ曹ンコードと線28を介
して入力されるフィールド62内の分岐条件とに基づき
、分岐成功か不成功かを検出し、検出結果に応じて命令
9又は10のページ内アドレスを発生する。仮りに、命
令8のベージ内アドレスの上位、下位ビットをAl、A
Qとすると、アドレス生成回路26は、分岐不成功又は
成功のときにそれぞれページ内アドレスM1、MOとし
て、AOloおよびAOllを出力する。 したがって、当然ながら、命令9.10にはこれらのペ
ージ内アドレスがあらかじめ割りあてられなければなら
ない。なお、第2図のブロックの左上の記号は各命令の
ページ内アドレスを示す。 上述のごとくに生成されたページ内アドレスに基づきセ
レクタ27は命令9又は10をサイクルT3のクロック
φに応答して選択する。ここでは命令10が選択された
と仮定する。なお、命令8の分岐の成功、不成功の検出
に用いられるコンディションコードはサイクルT1にお
いてステータスレジスタ29に書込まれているもので、
これは命令37より前の命令36の演算の結果に依存す
る。したがって分岐命令8の少くとも二つ前の命令の演
算結果に基づき、分岐の成功又は不成功を検出すること
になる。しかし、これは実用上問題−かない。 分岐命令9.10の読出しと並行して、それらの前に選
択された分岐命令8内のページアドレスが、サイクルT
2のクロ、りφに同期してマスクアドレスレジスタ20
にセレクタ22を介してセットされる。このページアド
レスは、命令8の二つ次の命令11〜14に共通なペー
ジアドレスである。これらのデータはサイクルT2のク
ロックφに同期してスレーブアドレスレジスタ21にセ
ットされ、このページアドレスに基づき、サイクルT3
の終り頃に命令11〜14がROM23から読出される
。一方、アドレス生成回路26はこの読出しと並行して
、これら4つの命令の一つに対するページ内アドレスを
生成する。 すなわち、セレクタ27から線28を介して供給される
命令10のBビットが1であるので、縁28を介して供
給される命令10の分岐条件と、ステータスレジスタ2
9内のコンディションコードとにより分岐成功か否かを
判別する。分岐不成功ならば、命令10の選択のために
生成したページ内アドレス(今の場合、これはAo、1
である)の下位ビット1を上位ピッ)Mlとし、値0を
下位ピッ)MOとすることにより、ページ内アドレス1
、Oを出力する。こうして命令14のためのページ内ア
ドレスが生成される。一方、分岐成功のときには、M1
〜1.MO−1からなる命令13のためのページ内アド
レスを生成する。こうして、サイクルT4のクロックφ
に同期してセレクタ27が命令13又は14を選択する
ことができる。今、仮りに命令13が選択されたとする
。 このとき、命令10が指定するページアドレスに基づき
サイクルT3の終りに命令17.18を含む4つの命令
がROM23から読出される。このとき、アドレス生成
回路26は命令17のページ伺アドレスを生成する必要
がある。この生成は第6図に従がい、次のように行なわ
れる。すなわち、サイクルT4で現にセレクタ27から
読出されている命令13のBビットは0でその一つ前の
命令10のBピッ)(B、B)は1であるので、生成回
路26は命令13のページ内アドレス1.0の内の下位
ピッ)0を上位ピッ)Mlとし、0を下位ビットとする
アドレス0、Oを出力する。もし、命令10の分岐判定
の結果、分岐が成功し、命令14が選択されたときには
、生成回路26は、ベージ内アドレスとして1.0を出
力する。したがって、命令17,18を含む4つの命令
の内、次に実行すべき命令を分岐命令10での分岐判定
結果により指定することができる。 以上のようにして、条件付命令が連続する場合でも、現
在セレクタ27から読出されている命令より一つ前の命
令により、次に読出すべきマイクロ命令を指定する方法
を適用することができる。 なお、以上の説明からも明らかなとおり、ROM23は
クロックφに同期して駆動され、約1サイクル後に複数
のマイクロ命令が続出される。 一方、セレクタ27から出力されたマイクロ命令内のペ
ージアドレスがスレーブアドレスレジスタ21にセット
されるのはセレクタ27からその命令が出力された後の
半サイクル後である。ROM23は、レジスタ21に新
たなアドレスがセットされた後半サイクル経過して駆動
されるようになりている。したがって、セレクタ27か
ら選択された命令が指定する命令がたしかに、ニマシン
サイクル後にセレクタ27から出力されている。このよ
うに、セレクタ27から現に選択されている命令が指定
するページアドレスをスレーブアドレスレジスタ21に
適当なタイミングでセットすることにより、この指定さ
れたページアドレスを有するマイクロ命令が2マシンサ
イクル後に読出すようにすることができる。本実施例で
はROM23のサイクルタイムとアクセスタイムが等し
いと仮定している。本実施例ではROM23のサイクル
タイムにほぼ等しい時間長のマシンサイクルでROM2
3をアクセスできる。 次に第7図を参照してアドレス生成回路26を説明する
。回w!26はアンドアレー35A、35B、オアアレ
ー350からなるプログラムロジツークアレとそれへの
入出力回路からなる。各アレーにおいて、入力−と出力
線の交点による丸印はスイッチ素子を示し、ある入力線
の電圧が高レベルになると、その素子を介してこの入力
線に交叉する出力線は低レベルになる。但し、その入力
線にこの素子を介さずに交叉する出力線の電圧は高レベ
ルのままである。アンドアレー35Aには縁28を介L
7てセレクタ27から入力される分岐条件BCを適当に
反転した信号と線30を介してステータスレジスタ29
から入力される条件コードCCを同じように反転した信
号とが特定の値をもつ七きのみ、特定の出力線49又は
50のレベルをHレベルに保持する回路である。 図ではアンドアレー35Aの一例として2ビツトの分岐
条件BCと2ビツトの条件コードCCとの一致を検出す
る回路の一部を示しである。すなわち、分岐条件BCは
二つのインバータを経由して入力線28A、28Bから
アレー35Aに入力され、これらの入力線28A128
Bと出力線49との交点にはスイッチ素子が設けられて
いる。 同様に条件コードCCが二つのインバータと一30A%
30Bを介してアレー35Aに入力され、これらの入力
線30A、30Bと、出力線49との交点にスイッチ素
子が設けられている。したがって、線49は、分岐条件
BC,条件コードがともに“00#に等しいときにのみ
高レベルである。 したがって、@49はこのような分岐条件が満たされた
ときのみ高レベルのままである。同様に線50は分岐条
件BCの値が110″であって、分岐条件が満たされた
ときのみ高レベルのままとなる。このようζこi49.
50は特定の分岐条件がそれぞれ満たされたときのみ高
レベルとなる。同様に分岐条件BCが他の値のときに分
岐が成立したときのみ高レベルとなる出力線およびこれ
に交叉した入力線その他を設ける必要があるが簡単化の
ために図示していない。 以下では簡略化のために、分岐条件BC,条件コードが
ともにOOの条件で分岐が成立したか否かを記号BRI
が1か0かで表わす。同様に、分岐条件BC,条件コー
ドがともに01の条件で分岐が成立したか否かを記号B
R2が1か0かにより表わす。この結果、縁49,50
の電圧状態”49、S、oは、それぞれ S4.田BRI            (1)S5o
、BB2            (2)となる。 アントレー35Bには、セレクタ27から線28を介し
て与えられるBビットとその反転信号百がそれぞれ入力
、1ilZ 8 f”、28Eから入力され、スレーブ
アドレスレジスタ21から与えられるページ内アドレス
PMO1PMIの反転信号が入力線25A、25Bより
与えられる。すでに説明したようにセレクタ27から出
力されている命令の一つ前の命令に含まれていたページ
内アドレスがスレーブアドレスレジスタ21にストアさ
れているので、記号PMO,PMIが用いられる。アレ
ー35Bにはさらに、線34A、34Bを介して、以下
に説明するように作成された。セレクタ27から現に出
力′されている命令の一つ前の命令に含まれていた′B
ピッ)BBとその反転信号BBが入力される。すなわち
、回路52.53は、二つの直列接続されたインバータ
と、閉ループ形成用のトランジスタからなる周知のラッ
チ回路である。 う、チ52には線28を介してセレクタ27から入力さ
れる、現在すでにセレクタ27から続出されている命令
のBピッ)Bがクロックφによりスイッチオンされるト
ランジスタ60を介して入力される。すでに述べたよう
に、セレクタ27はクロックφに同期して動作するので
、ラッチ52には現にセレクタ27から出力されている
命令のBビットBがそのままラッチされる。ラッチ52
の出力はクロックφによりスイッチオンされるトランジ
スタ61を介してラッチ53に再びラッチされる。この
ラッチ53の出力はクロックφによりスイッチオンされ
るトランジスタ62Aを介して線34の一方34Aに出
力される。したがって、線34A上の信号は、線28か
ら1サイクル前に入力されたBピット、すなわち、現在
セレクタ27から読出されている命令の一つ前の命令の
Bピッ)BBを表す。なゼ、線34の他方34Bには、
ラッチ53の二つのインバータの接続点の電圧がクロッ
クφによりスイッチオンされる電圧が与えられる。この
線34Bの電圧は信号丁1の反転信号BBに等しい。 アンドアレー35Bには、現在セレクタ27から出力さ
れている命令の選択に用いたページ内アドレスの下位ビ
ットの反転信号OMQがクロックφでスイッチオンされ
るトランジスタ66を線63を介して入力される。 線45〜48のレベルは、これらにスイッチ素子を介し
て接続された複数の入力線の電圧がいずれも低レベルの
ときのみ高レベルとなるので、線45〜48の論理レベ
ル845〜848はそれぞれ以下のように表わされる。 S45−B−BB−PMI        (3)84
6〜B、BB−OMO(4) 847−B・OM o          (5)S4
8−B、BB−PMO(6) 一方、線49.48は、線28Fを介して入力されるB
ビットの反転信号が低レベルでかっ、アンドアレー35
Aでの分岐判定の結果、分岐成功と判定されたときであ
る。したがって、縁48.49のレベルは、前述の記号
BRI、BB2を用いると、 S 49− B 、 B R1(7) S 50− B 、 B R2(8) オアアレー35Cでは線45〜47の電圧がいずれかが
高レベルのときに出力線56が低レベルとなる。 したがって線56に接続されたインバータ65Aの出力
0UT1は信号845〜847の論理和で表わされる。 0UTI−845+S46+S47    (91同様
に線48〜50の電圧のいずれかが高レベルのときには
、出力線57が低レベルとなる。したがって、インバー
タ65Bの出力0UTOは信号848〜850の論理和
で表わされる。 0UTO−848+849+850    (10)こ
れらの出力0UTI、0UTQは、クロ、りφ2でスイ
ッチオンされるトランジスタ65A165Bを介して、
ラッチ回@55A、55Bにラッチされる。これらのラ
ッチ回路の出力Ml。 MOはしたがって、出力OUT 1.0UTOを半サイ
クル遅延したものである。 これらのラッチ55A、55Bの出力M1、MOは次に
クロックφがトランジスタ64A、64B1こ入力され
るまでラッチされる。したがりて、ラッチ55Bの第1
段のインバータの出力は、現在セレクタ27から出力さ
れている命令の選択に用いたページ内アドレスの下位ピ
ッ)OMOの反転信号に相当することが分かる。 このように回路26が構成された結果、B−1のときに
は信号847がOMO&こ等しくなり、式(9)からM
lはOMOに等しくなる。また分岐が成功すれば、式(
7)、(8)により、信号847.848のいずれかが
1となるが、分岐不成功のときには、いずれも0となる
ため、式(1)より、Mlは分岐成功か否かにより1又
は0となる。 また、B−9% BB−1のときには式(4)より信号
846がOMOと等しくなるため式(9)より、Mlは
OMO!こ等しくなる。また、他の信号はすべて0のた
め、MQは0になる。 また、B=BB−0のときには、式(31% (6)よ
り、信号845.848がそれぞれPMI、PMOに等
しいため、Ml、MOはこれらに等しくなる。 以上のごとく、回路26は第6図番こ示した区分にした
がって、次の命令を選択するためのページ内アドレスM
l、MOを出力することができる。 なお、以上の実施例においては、各命令は二つ先の命令
のアドレスを指定するこしたが、本発明はこの場合に限
定されるものでない。また、本発明は分岐数が2より大
きい場合にも通用しつることは明らかである。 〔発明の効果〕 以上のようにして、本発明によれば、各マイクロ命令で
後続のマイクロ命令のアドレスを指定することができ、
かつ、マイクロ命令記憶装置のサイクルタイムに近いマ
シンサイクルで順次複数の命令を読出すことができる。 図面の簡単な説明 第1図、第2図は条件付分岐命令を含むマイクロ命令列
の意なる例。 第3図は本発明の実施例で用いる条件付分岐命令のフォ
ーマット、 第4図は本発明の実施例で用いる一般命令のフォーマッ
ト1 第5図は本発明の実施例の概略回路図、第6図は第5図
の実施例で使用される、ページ内アドレスの発生の仕方
を示す図、 第7図は第5図の実施例で用いるアドレス生成回路の具
体例である。 第8図は第5図の回路番こ対するタイムチャートである

Claims (1)

    【特許請求の範囲】
  1. 1、実行すべきマイクロプログラムのアドレスをその前
    に読出されるマイクロプログラム内の情欅として先行指
    定する制御装置において、アドレスをページ・アドレス
    とページ内アドレスとに分割指定し、そのうちでページ
    内アドレスは、それ以前に続出された有限個のマイクロ
    プログラムに関する情報を蓄積しておき、それらと現在
    読出したマイクロプログラム内の情報とを順序回路を用
    いて論理演算し生成することt−特徴とするマイクログ
    ログラム制御方式。
JP56192933A 1981-12-02 1981-12-02 マイクロ命令制御のデータ処理装置 Granted JPS5896349A (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP56192933A JPS5896349A (ja) 1981-12-02 1981-12-02 マイクロ命令制御のデータ処理装置
US06/444,711 US4494195A (en) 1981-12-02 1982-11-26 Microinstruction controlled data processor
DE8282111085T DE3276645D1 (en) 1981-12-02 1982-12-01 Microinstruction controlled data processor
KR8205402A KR880000994B1 (ko) 1981-12-02 1982-12-01 마이크로 프로그램 제어방식
EP82111085A EP0080737B1 (en) 1981-12-02 1982-12-01 Microinstruction controlled data processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP56192933A JPS5896349A (ja) 1981-12-02 1981-12-02 マイクロ命令制御のデータ処理装置

Publications (2)

Publication Number Publication Date
JPS5896349A true JPS5896349A (ja) 1983-06-08
JPH0221612B2 JPH0221612B2 (ja) 1990-05-15

Family

ID=16299407

Family Applications (1)

Application Number Title Priority Date Filing Date
JP56192933A Granted JPS5896349A (ja) 1981-12-02 1981-12-02 マイクロ命令制御のデータ処理装置

Country Status (5)

Country Link
US (1) US4494195A (ja)
EP (1) EP0080737B1 (ja)
JP (1) JPS5896349A (ja)
KR (1) KR880000994B1 (ja)
DE (1) DE3276645D1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0769818B2 (ja) * 1984-10-31 1995-07-31 株式会社日立製作所 デ−タ処理装置
JPH07104996A (ja) * 1993-10-05 1995-04-21 Kofu Nippon Denki Kk マイクロプログラム制御装置
JP2000293371A (ja) 1999-04-09 2000-10-20 Hitachi Ltd マイクロプログラム制御方法及び装置
CN106406814B (zh) * 2016-09-30 2019-06-14 上海兆芯集成电路有限公司 处理器和将架构指令转译成微指令的方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3900835A (en) * 1973-09-24 1975-08-19 Digital Equipment Corp Branching circuit for microprogram controlled central processor unit
US3958227A (en) * 1974-09-24 1976-05-18 International Business Machines Corporation Control store system with flexible control word selection
US4338661A (en) * 1979-05-21 1982-07-06 Motorola, Inc. Conditional branch unit for microprogrammed data processor

Also Published As

Publication number Publication date
KR840003081A (ko) 1984-08-13
EP0080737B1 (en) 1987-06-24
KR880000994B1 (ko) 1988-06-10
EP0080737A1 (en) 1983-06-08
US4494195A (en) 1985-01-15
DE3276645D1 (en) 1987-07-30
JPH0221612B2 (ja) 1990-05-15

Similar Documents

Publication Publication Date Title
US3781823A (en) Computer control unit capable of dynamically reinterpreting instructions
JPS6239780B2 (ja)
JPS5896349A (ja) マイクロ命令制御のデータ処理装置
JPH05257681A (ja) マイクロプログラム制御装置群
KR100345937B1 (ko) 디지털 신호 프로세서
JP3055139B2 (ja) マイクロプログラム制御方式
JPH04251331A (ja) 情報処理装置
JPS5899843A (ja) マイクロプログラムの条件分岐装置
JP2757388B2 (ja) マイクロプログラム制御装置
JPS59132376A (ja) パターン読出し試験装置
JPH0561660B2 (ja)
JPH0221331A (ja) マイクロコンピュータのプログラム制御方式
JPH0520062A (ja) データ処理装置
JPH0290324A (ja) マイクロプログラム制御装置
JPH0810429B2 (ja) マイクロプログラム制御装置
JPH07104996A (ja) マイクロプログラム制御装置
JPS58166450A (ja) マイクロプログラム制御装置
JPH05233379A (ja) 実行履歴記憶装置
JPH04245537A (ja) 情報処理装置
JPH01258044A (ja) マイクロプログラムテスト方式
JPH01140232A (ja) マイクロプログラム制御方式
JPS5930146A (ja) マイクロプログラムデバツグ装置
JPS6261133A (ja) メモリ・アクセス制御装置
JPH0553794A (ja) 制御記憶制御回路
JPH03111935A (ja) マイクロプログラム制御装置