JP2000293371A - マイクロプログラム制御方法及び装置 - Google Patents
マイクロプログラム制御方法及び装置Info
- Publication number
- JP2000293371A JP2000293371A JP11102157A JP10215799A JP2000293371A JP 2000293371 A JP2000293371 A JP 2000293371A JP 11102157 A JP11102157 A JP 11102157A JP 10215799 A JP10215799 A JP 10215799A JP 2000293371 A JP2000293371 A JP 2000293371A
- Authority
- JP
- Japan
- Prior art keywords
- microinstruction
- read
- address
- cycle
- microprogram
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/22—Microcontrol or microprogram arrangements
- G06F9/26—Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
- G06F9/262—Arrangements for next microinstruction selection
- G06F9/264—Microinstruction selection based on results of processing
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)
Abstract
(57)【要約】
【課題】マイクロ命令内でN(N≧2)サイクル先の分
岐先アドレスを指定する方式における、マイクロプログ
ラム記憶に必要なメモリ容量を削減する。 【解決手段】マイクロ命令の読み出しサイクルよりN
(N≧2)サイクル先の分岐先アドレスを指定するフィ
ールドまたはN(N≧2)サイクル先でのマイクロプロ
グラムの終了を判定するフィールドと、次サイクルの演
算を制御するフィールドとから成るマイクロ命令を1度
に2個読み出す(111,112)。 【効果】マイクロ命令先読みにおけるマイクロプログラ
ム記憶に必要なメモリ量を少なくできる。
岐先アドレスを指定する方式における、マイクロプログ
ラム記憶に必要なメモリ容量を削減する。 【解決手段】マイクロ命令の読み出しサイクルよりN
(N≧2)サイクル先の分岐先アドレスを指定するフィ
ールドまたはN(N≧2)サイクル先でのマイクロプロ
グラムの終了を判定するフィールドと、次サイクルの演
算を制御するフィールドとから成るマイクロ命令を1度
に2個読み出す(111,112)。 【効果】マイクロ命令先読みにおけるマイクロプログラ
ム記憶に必要なメモリ量を少なくできる。
Description
【0001】
【発明の属する技術分野】本発明は、マイクロプログラ
ム制御方式をとる情報処理装置に係り、特に制御記憶か
らマイクロ命令を高速に読み出し、マイクロプログラム
のプログラム容量を増加させることなくマイクロプログ
ラム制御によるデータ処理を行うためのマイクロプログ
ラム制御方法及び装置に関する。
ム制御方式をとる情報処理装置に係り、特に制御記憶か
らマイクロ命令を高速に読み出し、マイクロプログラム
のプログラム容量を増加させることなくマイクロプログ
ラム制御によるデータ処理を行うためのマイクロプログ
ラム制御方法及び装置に関する。
【0002】
【従来の技術】第1の従来技術は、マイクロ命令が次ク
ロックサイクル(以下、サイクル)の分岐先アドレスを
指定するフィールド1個と演算器を制御するフィールド
1個とを備えてマイクロプログラム制御をおこなう。
ロックサイクル(以下、サイクル)の分岐先アドレスを
指定するフィールド1個と演算器を制御するフィールド
1個とを備えてマイクロプログラム制御をおこなう。
【0003】図5〜図8により第1の従来技術における
実施例及びその実行手順を説明する。
実施例及びその実行手順を説明する。
【0004】図6は第1の従来技術におけるマイクロ命
令のフォーマットで、マイクロ命令の分岐先のページア
ドレスフィールド600と、次サイクルにマイクロプロ
グラムが終了するか否かを判定する終了判定フィールド
601と、分岐判定に使用する分岐条件フィールド60
2と、次サイクルの演算を制御する制御フィールド60
3から構成されている。第1の従来技術において、2個
1組のマイクロ命令によりページが構成される。
令のフォーマットで、マイクロ命令の分岐先のページア
ドレスフィールド600と、次サイクルにマイクロプロ
グラムが終了するか否かを判定する終了判定フィールド
601と、分岐判定に使用する分岐条件フィールド60
2と、次サイクルの演算を制御する制御フィールド60
3から構成されている。第1の従来技術において、2個
1組のマイクロ命令によりページが構成される。
【0005】図5は第1の従来技術によって実現される
マイクロプログラム制御装置のブロック構成図である。
この装置はマイクロプログラムの開始アドレスを発行す
る命令発行ユニット50と、マイクロ命令の読出し及び
分岐をおこなう読出し/分岐ユニット51と、加算及び
データのシフトなどの演算を実行する演算実行ユニット
52とから構成されている。
マイクロプログラム制御装置のブロック構成図である。
この装置はマイクロプログラムの開始アドレスを発行す
る命令発行ユニット50と、マイクロ命令の読出し及び
分岐をおこなう読出し/分岐ユニット51と、加算及び
データのシフトなどの演算を実行する演算実行ユニット
52とから構成されている。
【0006】命令発行ユニット50はマイクロプログラ
ムの開始アドレスを格納する開始アドレスレジスタ51
0を備えている。読出し/分岐ユニット51は、マイク
ロ命令の終了判定フィールド601を参照することによ
りマイクロプログラムの終了信号を発生させる終了判定
回路531と、マイクロプログラムの終了信号を参照し
てマイクロプログラムの開始、続行または終了を選択す
るアドレスセレクタ520と、マイクロ命令のページア
ドレスを格納するアドレスレジスタ511と、マイクロ
命令を記憶する制御記憶530と、前サイクルに読み出
したマイクロ命令および前サイクルの演算結果を参照す
ることにより分岐を判定する信号を発生させる分岐判定
回路532と、分岐を判定する信号を参照することによ
り読み出された2個のマイクロ命令の中から1個のマイ
クロ命令を選択するバンクセレクタ521と、マイクロ
命令の分岐条件フィールド602と制御フィールド60
3を格納するデータレジスタ512とから構成されてい
る。制御記憶530は同じアドレスで指定される2個の
バンク(バンク0とバンク1)から構成されており、マ
イクロ命令のページが記憶されている。
ムの開始アドレスを格納する開始アドレスレジスタ51
0を備えている。読出し/分岐ユニット51は、マイク
ロ命令の終了判定フィールド601を参照することによ
りマイクロプログラムの終了信号を発生させる終了判定
回路531と、マイクロプログラムの終了信号を参照し
てマイクロプログラムの開始、続行または終了を選択す
るアドレスセレクタ520と、マイクロ命令のページア
ドレスを格納するアドレスレジスタ511と、マイクロ
命令を記憶する制御記憶530と、前サイクルに読み出
したマイクロ命令および前サイクルの演算結果を参照す
ることにより分岐を判定する信号を発生させる分岐判定
回路532と、分岐を判定する信号を参照することによ
り読み出された2個のマイクロ命令の中から1個のマイ
クロ命令を選択するバンクセレクタ521と、マイクロ
命令の分岐条件フィールド602と制御フィールド60
3を格納するデータレジスタ512とから構成されてい
る。制御記憶530は同じアドレスで指定される2個の
バンク(バンク0とバンク1)から構成されており、マ
イクロ命令のページが記憶されている。
【0007】次に、図7のタイムチャート及び図8のフ
ローチャートによって第1の従来技術によって実現され
るマイクロプログラム制御の実行手順を説明する。
ローチャートによって第1の従来技術によって実現され
るマイクロプログラム制御の実行手順を説明する。
【0008】サイクル(C−1)に、命令発行ユニット
50の中の開始アドレスレジスタ510に格納されてい
るマイクロプログラムの開始アドレスA10が読出し/
分岐ユニット51へ転送される。転送後、開始アドレス
A10はアドレスセレクタ520に入力された後に、ア
ドレスレジスタ511に格納される。
50の中の開始アドレスレジスタ510に格納されてい
るマイクロプログラムの開始アドレスA10が読出し/
分岐ユニット51へ転送される。転送後、開始アドレス
A10はアドレスセレクタ520に入力された後に、ア
ドレスレジスタ511に格納される。
【0009】サイクル(C0)では、アドレスレジスタ
511に格納されているマイクロプログラムの開始アド
レスA10によって制御記憶530のページアドレスが
指定されて、バンク0よりマイクロ命令M100が、バ
ンク1よりマイクロ命令M101が読み出される。バン
クセレクタ521が読み出された2個のマイクロ命令M
100及びM101のどちらか一方を選択することによ
って、分岐動作B10がおこなわれる。本フローチャー
ト(図8)では分岐動作B10によってバンク0から読
み出されたマイクロ命令M100が選択されている。選
択されたマイクロ命令M100のページアドレスフィー
ルドA20はアドレスセレクタ520に入力されて、ア
ドレスレジスタ511に格納される。一方、バンクセレ
クタ521によって選択されたマイクロ命令M100の
分岐条件フィールド(図示せず)及び制御フィールドi
100はデータレジスタ512に格納される。
511に格納されているマイクロプログラムの開始アド
レスA10によって制御記憶530のページアドレスが
指定されて、バンク0よりマイクロ命令M100が、バ
ンク1よりマイクロ命令M101が読み出される。バン
クセレクタ521が読み出された2個のマイクロ命令M
100及びM101のどちらか一方を選択することによ
って、分岐動作B10がおこなわれる。本フローチャー
ト(図8)では分岐動作B10によってバンク0から読
み出されたマイクロ命令M100が選択されている。選
択されたマイクロ命令M100のページアドレスフィー
ルドA20はアドレスセレクタ520に入力されて、ア
ドレスレジスタ511に格納される。一方、バンクセレ
クタ521によって選択されたマイクロ命令M100の
分岐条件フィールド(図示せず)及び制御フィールドi
100はデータレジスタ512に格納される。
【0010】サイクル(C1)では、前サイクル(C
0)と同様に、制御記憶530のページアドレスA20
を指定することによりマイクロ命令M200及びM20
1の読み出し及び分岐がおこなわれるのと共に、データ
レジスタ512に格納されているマイクロ命令M100
の制御フィールドi100が演算実行ユニット52へ転
送されて、演算実行が開始される。本フローチャート
(図8)の実行手順において、動作を分かりやすくする
ために分岐動作はバンク0とバンク1を交互に選択して
いる。以上の結果、マイクロ命令はi100(サイクル
C1)→i201(サイクルC2)→i310(サイク
ルC3)→i421(サイクルC4)の順で演算実行ユ
ニットを制御している。第2の従来技術では、マイクロ
命令がN(N≧2)サイクル先の分岐先アドレスのフィ
ールド1個とN(N≧2)サイクル先の演算を制御する
フィールド1個とを備えてマイクロプログラム制御をお
こなう。これは特公平2−21612号公報に記載され
ているように、前記第1の従来技術を高速化する技術で
ある。
0)と同様に、制御記憶530のページアドレスA20
を指定することによりマイクロ命令M200及びM20
1の読み出し及び分岐がおこなわれるのと共に、データ
レジスタ512に格納されているマイクロ命令M100
の制御フィールドi100が演算実行ユニット52へ転
送されて、演算実行が開始される。本フローチャート
(図8)の実行手順において、動作を分かりやすくする
ために分岐動作はバンク0とバンク1を交互に選択して
いる。以上の結果、マイクロ命令はi100(サイクル
C1)→i201(サイクルC2)→i310(サイク
ルC3)→i421(サイクルC4)の順で演算実行ユ
ニットを制御している。第2の従来技術では、マイクロ
命令がN(N≧2)サイクル先の分岐先アドレスのフィ
ールド1個とN(N≧2)サイクル先の演算を制御する
フィールド1個とを備えてマイクロプログラム制御をお
こなう。これは特公平2−21612号公報に記載され
ているように、前記第1の従来技術を高速化する技術で
ある。
【0011】図9〜図12により第2の従来技術におけ
る実施例(N=2の場合)及びその実行手順を説明す
る。
る実施例(N=2の場合)及びその実行手順を説明す
る。
【0012】図10は第2の従来技術におけるN=2の
場合のマイクロ命令のフォーマットの例で、2サイクル
先の分岐先のページアドレスである2サイクル先ページ
アドレスフィールド1000、2サイクル先にマイクロ
命令が終了するかを判定する2サイクル先終了判定フィ
ールド1001、2サイクル先の分岐判定に使用する2
サイクル先分岐条件フィールド1002、2サイクル先
の演算を制御する2サイクル先制御フィールド1003
から構成されている。第2の従来技術において4個1組
のマイクロ命令によってページが構成されている。
場合のマイクロ命令のフォーマットの例で、2サイクル
先の分岐先のページアドレスである2サイクル先ページ
アドレスフィールド1000、2サイクル先にマイクロ
命令が終了するかを判定する2サイクル先終了判定フィ
ールド1001、2サイクル先の分岐判定に使用する2
サイクル先分岐条件フィールド1002、2サイクル先
の演算を制御する2サイクル先制御フィールド1003
から構成されている。第2の従来技術において4個1組
のマイクロ命令によってページが構成されている。
【0013】図9は第2の従来技術(N=2の場合)に
よって実現されるマイクロプログラム制御装置のブロッ
ク構成図である。この装置は第1の従来技術と同様に命
令発行ユニット90と、読出し/分岐ユニット91と、
実行演算ユニット92とから構成される。
よって実現されるマイクロプログラム制御装置のブロッ
ク構成図である。この装置は第1の従来技術と同様に命
令発行ユニット90と、読出し/分岐ユニット91と、
実行演算ユニット92とから構成される。
【0014】第2の従来技術(N=2)の場合、第1の
従来技術と同様のマイクロプログラム制御を得るために
は、マイクロプログラム開始時に開始アドレスを発行す
るほかに、2サイクル目に実行する2個のマイクロ命令
(バンク0及びバンク1)を発行する必要がある。従っ
て、命令発行ユニット90は、マイクロプログラムの開
始アドレスレジスタ910と、2サイクル目のマイクロ
命令(バンク0)を格納する2サイクル目マイクロ命令
レジスタ(バンク0)911及と、2サイクル目のマイ
クロ命令(バンク1)を格納する2サイクル目マイクロ
命令レジスタ(バンク1)912とを備えている。
従来技術と同様のマイクロプログラム制御を得るために
は、マイクロプログラム開始時に開始アドレスを発行す
るほかに、2サイクル目に実行する2個のマイクロ命令
(バンク0及びバンク1)を発行する必要がある。従っ
て、命令発行ユニット90は、マイクロプログラムの開
始アドレスレジスタ910と、2サイクル目のマイクロ
命令(バンク0)を格納する2サイクル目マイクロ命令
レジスタ(バンク0)911及と、2サイクル目のマイ
クロ命令(バンク1)を格納する2サイクル目マイクロ
命令レジスタ(バンク1)912とを備えている。
【0015】読出し/分岐ユニット91は、2サイクル
目マイクロ命令レジスタ(バンク0)911と2サイク
ル目マイクロ命令レジスタ(バンク1)912のどちら
か一方を選択するバンクセレクタ920と、終了判定回
路931と、アドレスセレクタ921と、アドレスレジ
スタ913と、バンク00、バンク01、バンク10、
バンク11の4バンクからなる制御記憶930と、分岐
判定回路932と、制御記憶930のバンク00とバン
ク10から読み出されたマイクロ命令のどちらか一方を
選択するバンクセレクタ922と、制御記憶930のバ
ンク01とバンク11から読み出されたマイクロ命令の
どちらか一方を選択するバンクセレクタ923と、バン
クセレクタ922とバンクセレクタ923及びバンクセ
レクタ920によって選択されたマイクロ命令の中から
1個のマイクロ命令を選択するバンクセレクタ924
と、データレジスタ914とから構成されている。
目マイクロ命令レジスタ(バンク0)911と2サイク
ル目マイクロ命令レジスタ(バンク1)912のどちら
か一方を選択するバンクセレクタ920と、終了判定回
路931と、アドレスセレクタ921と、アドレスレジ
スタ913と、バンク00、バンク01、バンク10、
バンク11の4バンクからなる制御記憶930と、分岐
判定回路932と、制御記憶930のバンク00とバン
ク10から読み出されたマイクロ命令のどちらか一方を
選択するバンクセレクタ922と、制御記憶930のバ
ンク01とバンク11から読み出されたマイクロ命令の
どちらか一方を選択するバンクセレクタ923と、バン
クセレクタ922とバンクセレクタ923及びバンクセ
レクタ920によって選択されたマイクロ命令の中から
1個のマイクロ命令を選択するバンクセレクタ924
と、データレジスタ914とから構成されている。
【0016】次に、図11のタイムチャート及び図12
のフローチャートによって第2の従来技術によって実現
されるマイクロプログラム制御装置の動作及び実行手順
を説明する。第2の従来技術では、読出し/分岐動作が
2サイクルにかかって実行されるために、偶数サイクル
に制御記憶930の読出しが開始される読出し/分岐動
作(偶数サイクル)と、奇数サイクルに制御記憶930
の読出しが開始される読出し/分岐動作(奇数サイク
ル)がパイプライン状に実行される。
のフローチャートによって第2の従来技術によって実現
されるマイクロプログラム制御装置の動作及び実行手順
を説明する。第2の従来技術では、読出し/分岐動作が
2サイクルにかかって実行されるために、偶数サイクル
に制御記憶930の読出しが開始される読出し/分岐動
作(偶数サイクル)と、奇数サイクルに制御記憶930
の読出しが開始される読出し/分岐動作(奇数サイク
ル)がパイプライン状に実行される。
【0017】まず、読出し/分岐動作(偶数サイクル)
から説明すると、サイクル(C−1)に、命令発行ユニ
ット90の中の開始アドレスレジスタ910に格納され
ているマイクロプログラムの開始アドレスA20が読出
し/分岐ユニット91へ転送される。転送後、開始アド
レスA20はアドレスセレクタ921に入力された後、
アドレスレジスタ913に格納される。
から説明すると、サイクル(C−1)に、命令発行ユニ
ット90の中の開始アドレスレジスタ910に格納され
ているマイクロプログラムの開始アドレスA20が読出
し/分岐ユニット91へ転送される。転送後、開始アド
レスA20はアドレスセレクタ921に入力された後、
アドレスレジスタ913に格納される。
【0018】サイクル(C0)では、アドレスレジスタ
913に格納されているマイクロプログラムの開始アド
レスA20によって制御記憶930のページが指定され
て、2サイクル先(C2)に実行される4個のマイクロ
命令M200(バンク00から)、M201(バンク0
1から)、M210(バンク10から)及びM211
(バンク11から)が読み出される。バンク00から読
み出されたマイクロ命令M200とバンク10から読み
出されたマイクロ命令M210のどちらか一方がバンク
セレクタ922によって選択されて、それと平行してバ
ンク01から読み出されたマイクロ命令M201とバン
ク11から読み出されたマイクロ命令M211のどちら
か一方がバンクセレクタ923によって選択されること
によって分岐動作B10が実行される。本フローチャー
ト(図12)では分岐動作B10がバンク00から読み
出されたマイクロ命令M200とバンク01から読み出
されたマイクロ命令M201の組を選択している。装置
の設計によっては、分岐動作B10は次サイクル(C
1)におこなわれることもある。
913に格納されているマイクロプログラムの開始アド
レスA20によって制御記憶930のページが指定され
て、2サイクル先(C2)に実行される4個のマイクロ
命令M200(バンク00から)、M201(バンク0
1から)、M210(バンク10から)及びM211
(バンク11から)が読み出される。バンク00から読
み出されたマイクロ命令M200とバンク10から読み
出されたマイクロ命令M210のどちらか一方がバンク
セレクタ922によって選択されて、それと平行してバ
ンク01から読み出されたマイクロ命令M201とバン
ク11から読み出されたマイクロ命令M211のどちら
か一方がバンクセレクタ923によって選択されること
によって分岐動作B10が実行される。本フローチャー
ト(図12)では分岐動作B10がバンク00から読み
出されたマイクロ命令M200とバンク01から読み出
されたマイクロ命令M201の組を選択している。装置
の設計によっては、分岐動作B10は次サイクル(C
1)におこなわれることもある。
【0019】サイクル(C1)では、前サイクル(C
0)に分岐動作B10によって選択された2個1組のマ
イクロ命令M200及びM201の中からマイクロ命令
M201がバンクセレクタ924によって選択される
(分岐動作B20)。選択されたマイクロ命令M201
の2サイクル先ページアドレスフィールドA41はアド
レスセレクタ921に入力された後、アドレスレジスタ
913に格納される。バンクセレクタ924によって選
択されたマイクロ命令の2サイクル先分岐条件フィール
ド(図示せず)及び2サイクル先制御フィールド(i2
01)はデータレジスタ914に格納される。
0)に分岐動作B10によって選択された2個1組のマ
イクロ命令M200及びM201の中からマイクロ命令
M201がバンクセレクタ924によって選択される
(分岐動作B20)。選択されたマイクロ命令M201
の2サイクル先ページアドレスフィールドA41はアド
レスセレクタ921に入力された後、アドレスレジスタ
913に格納される。バンクセレクタ924によって選
択されたマイクロ命令の2サイクル先分岐条件フィール
ド(図示せず)及び2サイクル先制御フィールド(i2
01)はデータレジスタ914に格納される。
【0020】サイクル(C2)では、サイクル(C0)
と同様にマイクロ命令の読出しがおこなわれるのと共
に、データレジスタ914に格納されている2サイクル
先制御フィールド(i201)が演算実行ユニット92
に転送されて、演算実行が開始される。以下、同様にし
て読出し/分岐動作(偶数サイクル)及び演算実行がお
こなわれる。本フローチャート(図12)において、読
出し/分岐動作(偶数サイクル)によって選択されたマ
イクロ命令は、i201(サイクルC2)→i421
(サイクルC4)の順で演算実行ユニットを制御してい
る。
と同様にマイクロ命令の読出しがおこなわれるのと共
に、データレジスタ914に格納されている2サイクル
先制御フィールド(i201)が演算実行ユニット92
に転送されて、演算実行が開始される。以下、同様にし
て読出し/分岐動作(偶数サイクル)及び演算実行がお
こなわれる。本フローチャート(図12)において、読
出し/分岐動作(偶数サイクル)によって選択されたマ
イクロ命令は、i201(サイクルC2)→i421
(サイクルC4)の順で演算実行ユニットを制御してい
る。
【0021】読出し/分岐動作(奇数サイクル)に関し
て説明すると、サイクル(C0)に、命令発行ユニット
90の中の2サイクル目マイクロ命令レジスタ(バンク
0)911及び2サイクル目マイクロ命令レジスタ(バ
ンク1)912に格納されている2個のマイクロ命令M
100及びM101が読出し/分岐ユニット91へ転送
される。転送後、2個のマイクロ命令の中からマイクロ
命令M100がバンクセレクタ920によって選択され
る(分岐動作B10)。バンクセレクタ920によって
選択されたマイクロ命令M100の2サイクル先アドレ
スフィールドA30は、アドレスセレクタ921に入力
された後、アドレスレジスタ913に格納される。それ
と平行して、バンクセレクタ920によって選択された
マイクロ命令M100の分岐条件フィールド(図示せ
ず)及び制御フィールド(i100)は、バンクセレク
タ924に入力された後に、データレジスタ914に格
納される。
て説明すると、サイクル(C0)に、命令発行ユニット
90の中の2サイクル目マイクロ命令レジスタ(バンク
0)911及び2サイクル目マイクロ命令レジスタ(バ
ンク1)912に格納されている2個のマイクロ命令M
100及びM101が読出し/分岐ユニット91へ転送
される。転送後、2個のマイクロ命令の中からマイクロ
命令M100がバンクセレクタ920によって選択され
る(分岐動作B10)。バンクセレクタ920によって
選択されたマイクロ命令M100の2サイクル先アドレ
スフィールドA30は、アドレスセレクタ921に入力
された後、アドレスレジスタ913に格納される。それ
と平行して、バンクセレクタ920によって選択された
マイクロ命令M100の分岐条件フィールド(図示せ
ず)及び制御フィールド(i100)は、バンクセレク
タ924に入力された後に、データレジスタ914に格
納される。
【0022】サイクル(C1)では、分岐/読出し動作
(偶数サイクル)のサイクル(C0)と同様に読出し/
分岐動作がおこなわれるのと共に、データレジスタ91
4に格納されている制御フィールドi100が演算実行
ユニット92へ転送されて、演算実行が開始される。以
下、同様にして読出し/分岐動作(奇数サイクル)及び
演算実行がおこなわれる。本フローチャート(図12)
において、読出し/分岐動作(奇数サイクル)によって
選択されたマイクロ命令は、i100(サイクルC1)
→i310(サイクルC3)の順で演算実行ユニットを
制御している。
(偶数サイクル)のサイクル(C0)と同様に読出し/
分岐動作がおこなわれるのと共に、データレジスタ91
4に格納されている制御フィールドi100が演算実行
ユニット92へ転送されて、演算実行が開始される。以
下、同様にして読出し/分岐動作(奇数サイクル)及び
演算実行がおこなわれる。本フローチャート(図12)
において、読出し/分岐動作(奇数サイクル)によって
選択されたマイクロ命令は、i100(サイクルC1)
→i310(サイクルC3)の順で演算実行ユニットを
制御している。
【0023】以上の結果、パイプライン状に実行されて
いる読出し/分岐動作(偶数サイクル)と読出し/分岐
動作(奇数サイクル)を合わせると、マイクロ命令はi
100(サイクルC1)→i201(サイクルC2)→
i310(サイクルC3)→i421(サイクルC4)
の順で演算実行ユニット92を制御しており、第1の従
来技術と同じ実行手順であることがわかる。
いる読出し/分岐動作(偶数サイクル)と読出し/分岐
動作(奇数サイクル)を合わせると、マイクロ命令はi
100(サイクルC1)→i201(サイクルC2)→
i310(サイクルC3)→i421(サイクルC4)
の順で演算実行ユニット92を制御しており、第1の従
来技術と同じ実行手順であることがわかる。
【0024】
【発明が解決しようとする課題】近年、メモリのアクセ
ス時間と信号転送の際の配線遅延がマイクロプロセッサ
の動作周波数を決める大きな要因になっている。
ス時間と信号転送の際の配線遅延がマイクロプロセッサ
の動作周波数を決める大きな要因になっている。
【0025】第1の従来技術によるマイクロプログラム
制御では、マイクロ命令が次サイクルの分岐先アドレス
のフィールドを持っている。そのために制御記憶からの
マイクロ命令の読み出し、分岐条件によるマイクロ命令
の選択、分岐先アドレスの長距離転送等複数の動作から
なるマイクロ命令のアドレスの確定を1サイクル以内に
おこなわなければならないので、動作周波数がそれほど
上がらないという課題がある。
制御では、マイクロ命令が次サイクルの分岐先アドレス
のフィールドを持っている。そのために制御記憶からの
マイクロ命令の読み出し、分岐条件によるマイクロ命令
の選択、分岐先アドレスの長距離転送等複数の動作から
なるマイクロ命令のアドレスの確定を1サイクル以内に
おこなわなければならないので、動作周波数がそれほど
上がらないという課題がある。
【0026】第2の従来技術によるマイクロプログラム
制御では、マイクロ命令の読み出しサイクルよりN(N
≧2)サイクル先の分岐先アドレスのフィールドとN
(N≧2)サイクル先に演算を制御するフィールドとを
持っている。この方式では第1の従来技術で行われてい
たマイクロ命令のアドレスの確定動作をN(N≧2)サ
イクルに分けておこなうことによって動作周波数に関す
る課題を解決している。
制御では、マイクロ命令の読み出しサイクルよりN(N
≧2)サイクル先の分岐先アドレスのフィールドとN
(N≧2)サイクル先に演算を制御するフィールドとを
持っている。この方式では第1の従来技術で行われてい
たマイクロ命令のアドレスの確定動作をN(N≧2)サ
イクルに分けておこなうことによって動作周波数に関す
る課題を解決している。
【0027】しかし、第2の従来技術では制御記憶から
一度に読み出すマイクロ命令が2のN乗個あるため第1
の従来技術よりもマイクロプログラムの記憶に必要なメ
モリ容量が2の(N−1)乗倍に増大してしまうという
課題がある。
一度に読み出すマイクロ命令が2のN乗個あるため第1
の従来技術よりもマイクロプログラムの記憶に必要なメ
モリ容量が2の(N−1)乗倍に増大してしまうという
課題がある。
【0028】従って、本発明の目的は第1の従来技術に
おける動作周波数に関する課題と第2の従来技術におけ
るマイクロプログラムを格納するためのメモリ容量に関
する課題を同時に解決するマイクロプログラム制御方法
及び装置を提供することである。
おける動作周波数に関する課題と第2の従来技術におけ
るマイクロプログラムを格納するためのメモリ容量に関
する課題を同時に解決するマイクロプログラム制御方法
及び装置を提供することである。
【0029】
【課題を解決するための手段】本発明は上記目的を達成
するため、第2の従来技術(特公平2−21612号公
報参照)で行われているN(N≧2)サイクル先の分岐
先アドレスを指定するという高速なマイクロプログラム
制御方式を使用して、特にNサイクル先の分岐先アドレ
スのフィールドを2の(N−1)乗個と次サイクルの演
算を制御するフィールドを1個備えたマイクロ命令を1
度に2個読み出す。
するため、第2の従来技術(特公平2−21612号公
報参照)で行われているN(N≧2)サイクル先の分岐
先アドレスを指定するという高速なマイクロプログラム
制御方式を使用して、特にNサイクル先の分岐先アドレ
スのフィールドを2の(N−1)乗個と次サイクルの演
算を制御するフィールドを1個備えたマイクロ命令を1
度に2個読み出す。
【0030】さらに具体的には、以下の(1)〜(3)
の手段を備える。
の手段を備える。
【0031】(1)マイクロ命令の読み出しサイクルよ
りN(N≧2)サイクル先の分岐先アドレスを指定する
フィールドまたはN(N≧2)サイクル先でのマイクロ
プログラムの終了を判定するフィールドと、次サイクル
の演算を制御するフィールドから成るマイクロ命令を用
いて、アドレスの確定をNサイクルに分けて実行する制
御と、次サイクルでの演算制御とを並列に行う。
りN(N≧2)サイクル先の分岐先アドレスを指定する
フィールドまたはN(N≧2)サイクル先でのマイクロ
プログラムの終了を判定するフィールドと、次サイクル
の演算を制御するフィールドから成るマイクロ命令を用
いて、アドレスの確定をNサイクルに分けて実行する制
御と、次サイクルでの演算制御とを並列に行う。
【0032】(2)1個のアドレスからM(M≧2)個
のマイクロ命令を読み出して、その中から一個の命令を
選択して実行するマイクロ命令制御によるデータ処理
を、マイクロ命令読み出しサイクルよりN(N≧2)サ
イクル先の分岐先アドレスを指定するフィールド数がM
の(N−1)乗個またはN(N≧2)サイクル先でのマ
イクロプログラムの終了を判定するフィールド数がMの
(N−1)乗個と、次サイクルの演算を制御するフィー
ルド数が1個から成るマイクロ命令を用いて分岐先がM
個ある場合にも上記(1)と実質的に同じ制御を行う。
のマイクロ命令を読み出して、その中から一個の命令を
選択して実行するマイクロ命令制御によるデータ処理
を、マイクロ命令読み出しサイクルよりN(N≧2)サ
イクル先の分岐先アドレスを指定するフィールド数がM
の(N−1)乗個またはN(N≧2)サイクル先でのマ
イクロプログラムの終了を判定するフィールド数がMの
(N−1)乗個と、次サイクルの演算を制御するフィー
ルド数が1個から成るマイクロ命令を用いて分岐先がM
個ある場合にも上記(1)と実質的に同じ制御を行う。
【0033】(3)1個のアドレスからM(M≧2)個
のマイクロ命令を読み出して、その中から一個の命令を
選択して実行するマイクロ命令制御方式によるデータ処
理を、マイクロプログラムを複数のブロックに分割した
ときに、マイクロ命令読み出しサイクルよりN(N≧
2)サイクル先のブロック内の分岐先アドレスを指定す
るフィールド数がMの(N−1)乗個またはN(N≧
2)サイクル先でのマイクロプログラムの終了を判定す
るフィールド数がMの(N−1)乗個と、N(N≧2)
サイクル先の分岐先ブロックアドレスを指定するフィー
ルド数が1個と、次サイクルの演算を制御するフィール
ド数が1個から成るマイクロ命令を用いて、分岐先アド
レスを指定するフィールド長(ビット数)が上記(1)
及び(2)より小さくて済む制御を行う。
のマイクロ命令を読み出して、その中から一個の命令を
選択して実行するマイクロ命令制御方式によるデータ処
理を、マイクロプログラムを複数のブロックに分割した
ときに、マイクロ命令読み出しサイクルよりN(N≧
2)サイクル先のブロック内の分岐先アドレスを指定す
るフィールド数がMの(N−1)乗個またはN(N≧
2)サイクル先でのマイクロプログラムの終了を判定す
るフィールド数がMの(N−1)乗個と、N(N≧2)
サイクル先の分岐先ブロックアドレスを指定するフィー
ルド数が1個と、次サイクルの演算を制御するフィール
ド数が1個から成るマイクロ命令を用いて、分岐先アド
レスを指定するフィールド長(ビット数)が上記(1)
及び(2)より小さくて済む制御を行う。
【0034】
【発明の実施の形態】本発明によるマイクロプログラム
制御(N=2)の第1の実施例を図1〜図4によって説
明して、第2の実施例を図13〜図16によって説明す
る。
制御(N=2)の第1の実施例を図1〜図4によって説
明して、第2の実施例を図13〜図16によって説明す
る。
【0035】図2は本発明の第1の実施例におけるマイ
クロ命令のフォーマットで、2サイクル先の分岐先のペ
ージアドレスである2サイクル先ページアドレスフィー
ルド(バンクX0)200及び(バンクX1)202
と、2サイクル先にマイクロプログラムが終了するかを
判定する2サイクル先終了判定フィールド(バンクX
0)201及び(バンクX1)203と、次サイクルに
分岐判定をおこなう分岐条件フィールド204と、次サ
イクルのマイクロ命令の制御をおこなう制御フィールド
205とから構成されている。本発明(N=2)の第1
の実施例において、2個1組のマイクロ命令によってペ
ージが構成されている。
クロ命令のフォーマットで、2サイクル先の分岐先のペ
ージアドレスである2サイクル先ページアドレスフィー
ルド(バンクX0)200及び(バンクX1)202
と、2サイクル先にマイクロプログラムが終了するかを
判定する2サイクル先終了判定フィールド(バンクX
0)201及び(バンクX1)203と、次サイクルに
分岐判定をおこなう分岐条件フィールド204と、次サ
イクルのマイクロ命令の制御をおこなう制御フィールド
205とから構成されている。本発明(N=2)の第1
の実施例において、2個1組のマイクロ命令によってペ
ージが構成されている。
【0036】図1は本発明の第1の実施例よって実現さ
れるマイクロプログラム制御装置のブロック構成図であ
る。この装置は第1の従来技術及び第2の従来技術と同
様にマイクロプログラムの開始アドレスを発行する命令
発行ユニット10と、マイクロ命令の読出し及び分岐を
おこなう読出し/分岐ユニット11と、加算及びデータ
シフトなどの演算を実行する演算実行ユニット12から
構成されている。
れるマイクロプログラム制御装置のブロック構成図であ
る。この装置は第1の従来技術及び第2の従来技術と同
様にマイクロプログラムの開始アドレスを発行する命令
発行ユニット10と、マイクロ命令の読出し及び分岐を
おこなう読出し/分岐ユニット11と、加算及びデータ
シフトなどの演算を実行する演算実行ユニット12から
構成されている。
【0037】命令発行ユニット10はマイクロプログラ
ムの開始アドレスを格納する開始アドレスレジスタ11
0と、2サイクル目のページアドレス(バンク0)及び
2サイクル目のマイクロプログラムの終了判定信号(バ
ンク0)を格納する2サイクル目アドレスレジスタ(バ
ンク0)111と、2サイクル目のページアドレス(バ
ンク1)及び2サイクル目のマイクロプログラムの終了
判定信号(バンク1)を格納する2サイクル目アドレス
レジスタ(バンク1)112とを備えている。
ムの開始アドレスを格納する開始アドレスレジスタ11
0と、2サイクル目のページアドレス(バンク0)及び
2サイクル目のマイクロプログラムの終了判定信号(バ
ンク0)を格納する2サイクル目アドレスレジスタ(バ
ンク0)111と、2サイクル目のページアドレス(バ
ンク1)及び2サイクル目のマイクロプログラムの終了
判定信号(バンク1)を格納する2サイクル目アドレス
レジスタ(バンク1)112とを備えている。
【0038】読出し/分岐ユニット11は、2サイクル
目アドレスレジスタ(バンク0)111と2サイクル目
アドレスレジスタ(バンク1)112のどちらか一方を
選択するバンクセレクタ120、前サイクルのマイクロ
命令の終了判定フィールドを参照することによってマイ
クロプログラムの終了判定信号を発生させる終了判定回
路131と、マイクロプログラムの終了判定信号を参照
してマイクロプログラムの開始、続行及び終了を選択す
るアドレスセレクタ121と、マイクロ命令のページア
ドレスを格納するアドレスレジスタ113と、マイクロ
命令の2サイクル先ページアドレスフィールドと2サイ
クル先終了判定フィールドを記憶する4個のバンク(バ
ンク00、バンク01、バンク10、バンク11)から
成る制御記憶(アドレス)130aと、マイクロ命令の
分岐条件フィールド及び制御フィールドを記憶する2個
のバンク(バンク0、バンク1)から成る制御記憶(制
御)130bと、前サイクルに読み出したマイクロ命令
の分岐条件フィールド204及び前サイクルの演算結果
を参照することによって分岐を判定する信号を発生させ
る分岐判定回路132と、制御記憶(アドレス)130
aのバンク00とバンク10どちらか一方を選択するバ
ンクセレクタ122と、制御記憶(アドレス)130a
のバンク10とバンク11のどちらか一方を選択するバ
ンクセレクタ123と、バンクセレクタ122によって
選択されたバンクの内容を格納する次サイクルアドレス
レジスタ(バンクX0)114と、バンクセレクタ12
3によって選択されたバンクの内容を格納する次サイク
ルアドレスレジスタ(バンクX1)115と、制御記憶
(制御)130bのバンク0とバンク1のどちらか一方
を選択するバンクセレクタ124と、バンクセレクタ1
24に選択されたバンクの内容を格納するデータレジス
タ116と、次サイクルアドレスレジスタ(バンクX
0)114と次サイクルアドレスレジスタ(バンクX
1)115のどちらか一方を選択するバンクセレクタ1
25とを備えている。
目アドレスレジスタ(バンク0)111と2サイクル目
アドレスレジスタ(バンク1)112のどちらか一方を
選択するバンクセレクタ120、前サイクルのマイクロ
命令の終了判定フィールドを参照することによってマイ
クロプログラムの終了判定信号を発生させる終了判定回
路131と、マイクロプログラムの終了判定信号を参照
してマイクロプログラムの開始、続行及び終了を選択す
るアドレスセレクタ121と、マイクロ命令のページア
ドレスを格納するアドレスレジスタ113と、マイクロ
命令の2サイクル先ページアドレスフィールドと2サイ
クル先終了判定フィールドを記憶する4個のバンク(バ
ンク00、バンク01、バンク10、バンク11)から
成る制御記憶(アドレス)130aと、マイクロ命令の
分岐条件フィールド及び制御フィールドを記憶する2個
のバンク(バンク0、バンク1)から成る制御記憶(制
御)130bと、前サイクルに読み出したマイクロ命令
の分岐条件フィールド204及び前サイクルの演算結果
を参照することによって分岐を判定する信号を発生させ
る分岐判定回路132と、制御記憶(アドレス)130
aのバンク00とバンク10どちらか一方を選択するバ
ンクセレクタ122と、制御記憶(アドレス)130a
のバンク10とバンク11のどちらか一方を選択するバ
ンクセレクタ123と、バンクセレクタ122によって
選択されたバンクの内容を格納する次サイクルアドレス
レジスタ(バンクX0)114と、バンクセレクタ12
3によって選択されたバンクの内容を格納する次サイク
ルアドレスレジスタ(バンクX1)115と、制御記憶
(制御)130bのバンク0とバンク1のどちらか一方
を選択するバンクセレクタ124と、バンクセレクタ1
24に選択されたバンクの内容を格納するデータレジス
タ116と、次サイクルアドレスレジスタ(バンクX
0)114と次サイクルアドレスレジスタ(バンクX
1)115のどちらか一方を選択するバンクセレクタ1
25とを備えている。
【0039】制御記憶のバンクとマイクロ命令20のフ
ォーマットを対応付けると、制御記憶(アドレス)13
0aのバンク00とバンク01、制御記憶(制御)13
0bのバンク0が1個のマイクロ命令を構成しており、
制御記憶(アドレス)130aのバンク00にはマイク
ロ命令の2サイクル先ページアドレスフィールド(バン
クX0)200及び2サイクル先終了判定フィールド
(バンクX0)201が、制御記憶(アドレス)130
aのバンク01にはマイクロ命令の2サイクル先ページ
アドレスフィールド(バンクX1)202及び2サイク
ル先終了判定フィールド(バンクX1)203が、制御
記憶(制御)130bのバンク0には分岐条件フィール
ド204及び制御フィールド205が記憶されている。
ォーマットを対応付けると、制御記憶(アドレス)13
0aのバンク00とバンク01、制御記憶(制御)13
0bのバンク0が1個のマイクロ命令を構成しており、
制御記憶(アドレス)130aのバンク00にはマイク
ロ命令の2サイクル先ページアドレスフィールド(バン
クX0)200及び2サイクル先終了判定フィールド
(バンクX0)201が、制御記憶(アドレス)130
aのバンク01にはマイクロ命令の2サイクル先ページ
アドレスフィールド(バンクX1)202及び2サイク
ル先終了判定フィールド(バンクX1)203が、制御
記憶(制御)130bのバンク0には分岐条件フィール
ド204及び制御フィールド205が記憶されている。
【0040】同様にして、制御記憶(アドレス)130
aのバンク10とバンク11、制御記憶(制御)130
bのバンク1が他の1個のマイクロ命令を構成してお
り、制御記憶(アドレス)130aのバンク10にはマ
イクロ命令の2サイクル先ページアドレスフィールド
(バンクX0)200及び2サイクル先終了判定フィー
ルド(バンクX0)201が、制御記憶(アドレス)1
30aのバンク11にはマイクロ命令の2サイクル先ペ
ージアドレスフィールド(バンクX1)202及び2サ
イクル先終了判定フィールド(バンクX1)203が、
制御記憶(制御)130bのバンク1には分岐条件フィ
ールド204及び制御フィールド205が記憶されてい
る。
aのバンク10とバンク11、制御記憶(制御)130
bのバンク1が他の1個のマイクロ命令を構成してお
り、制御記憶(アドレス)130aのバンク10にはマ
イクロ命令の2サイクル先ページアドレスフィールド
(バンクX0)200及び2サイクル先終了判定フィー
ルド(バンクX0)201が、制御記憶(アドレス)1
30aのバンク11にはマイクロ命令の2サイクル先ペ
ージアドレスフィールド(バンクX1)202及び2サ
イクル先終了判定フィールド(バンクX1)203が、
制御記憶(制御)130bのバンク1には分岐条件フィ
ールド204及び制御フィールド205が記憶されてい
る。
【0041】次に、図3のタイムチャート及び図4のフ
ローチャートによって、本発明の第1の実施例によって
実現されるマイクロプログラム制御装置の動作及び実行
手順を説明する。本発明では、マイクロ命令のアドレス
フィールドの読出し/分岐動作が2サイクルかかって実
行されるために、偶数サイクルに制御記憶(アドレス)
130aの読出しが開始される読出し/分岐動作(偶数
サイクル)と、奇数サイクルに制御記憶(アドレス)1
30aの読出しが開始される読出し/分岐動作(奇数サ
イクル)がパイプライン状に実行される。
ローチャートによって、本発明の第1の実施例によって
実現されるマイクロプログラム制御装置の動作及び実行
手順を説明する。本発明では、マイクロ命令のアドレス
フィールドの読出し/分岐動作が2サイクルかかって実
行されるために、偶数サイクルに制御記憶(アドレス)
130aの読出しが開始される読出し/分岐動作(偶数
サイクル)と、奇数サイクルに制御記憶(アドレス)1
30aの読出しが開始される読出し/分岐動作(奇数サ
イクル)がパイプライン状に実行される。
【0042】まず、読出し/分岐動作(偶数サイクル)
から説明すると、サイクル(C−1)に、命令発行ユニ
ット10の中の開始アドレスレジスタ110に格納され
ているマイクロプログラムの開始アドレスA10が読出
し/分岐ユニット11へ転送される。転送後、開始アド
レスA10はアドレスセレクタ121に入力された後、
アドレスレジスタ113に格納される。
から説明すると、サイクル(C−1)に、命令発行ユニ
ット10の中の開始アドレスレジスタ110に格納され
ているマイクロプログラムの開始アドレスA10が読出
し/分岐ユニット11へ転送される。転送後、開始アド
レスA10はアドレスセレクタ121に入力された後、
アドレスレジスタ113に格納される。
【0043】サイクル(C0)では、アドレスレジスタ
113に格納されているマイクロプログラムの開始アド
レスA10によって制御記憶(アドレス)130a及び
制御記憶(制御)130bのページが指定されて、2個
のマイクロ命令M100及びM101が読み出される。
バンクセレクタ122が制御記憶(アドレス)130a
から読み出された2サイクル先アドレスA30(バンク
00)とA32(バンク10)のどちらか一方を選択し
て、バンクセレクタ123が制御記憶(アドレス)13
0aから読み出された2サイクル先アドレスA31(バ
ンク01)とA33(バンク11)のどちらか一方を選
択して、バンクセレクタ124が制御記憶(制御)13
0bから読み出された制御フィールドi100(バンク
0)とi101(バンク1)のどちらか一方を選択する
ことによって分岐動作B10が行われる。本フローチャ
ートでは、分岐動作B10が制御フィールドi100、
2サイクル先ページアドレスA30及びA31から構成
されるマイクロ命令M100を選択している。分岐動作
B10の後、2サイクル先ページアドレスA30(バン
ク00)は次サイクルアドレスレジスタ(バンクX0)
114に格納されて、2サイクル先ページアドレスA3
1(バンク01)は次サイクルアドレスレジスタ(バン
クX1)115に格納され、制御フィールドi100は
データレジスタ116に格納される。装置の設計によっ
ては、分岐動作B10は次サイクル(C1)に行われる
こともある。
113に格納されているマイクロプログラムの開始アド
レスA10によって制御記憶(アドレス)130a及び
制御記憶(制御)130bのページが指定されて、2個
のマイクロ命令M100及びM101が読み出される。
バンクセレクタ122が制御記憶(アドレス)130a
から読み出された2サイクル先アドレスA30(バンク
00)とA32(バンク10)のどちらか一方を選択し
て、バンクセレクタ123が制御記憶(アドレス)13
0aから読み出された2サイクル先アドレスA31(バ
ンク01)とA33(バンク11)のどちらか一方を選
択して、バンクセレクタ124が制御記憶(制御)13
0bから読み出された制御フィールドi100(バンク
0)とi101(バンク1)のどちらか一方を選択する
ことによって分岐動作B10が行われる。本フローチャ
ートでは、分岐動作B10が制御フィールドi100、
2サイクル先ページアドレスA30及びA31から構成
されるマイクロ命令M100を選択している。分岐動作
B10の後、2サイクル先ページアドレスA30(バン
ク00)は次サイクルアドレスレジスタ(バンクX0)
114に格納されて、2サイクル先ページアドレスA3
1(バンク01)は次サイクルアドレスレジスタ(バン
クX1)115に格納され、制御フィールドi100は
データレジスタ116に格納される。装置の設計によっ
ては、分岐動作B10は次サイクル(C1)に行われる
こともある。
【0044】サイクル(C1)では、2サイクル先ペー
ジアドレスA30及びA31の中から、2サイクル先ペ
ージアドレスA31がバンクセレクタ125によって選
択されて分岐動作B20が実行される。その後、B20
によって選択された2サイクル先ページアドレスA31
はアドレスセレクタ121に入力されたあと、アドレス
レジスタ113に格納される。この分岐動作B20に平
行して、データレジスタ116に格納されている制御フ
ィールドi100は演算実行ユニット12へ転送されて
演算が開始する。以下、同様にして読出し/分岐動作
(偶数サイクル)及び演算実行がおこなわれる。本フロ
ーチャート(図4)において、読出し/分岐動作(偶数
サイクル)によって選択されたマイクロ命令は、i10
0(サイクルC1)→i310(サイクルC3)の順で
演算実行ユニットを制御している。
ジアドレスA30及びA31の中から、2サイクル先ペ
ージアドレスA31がバンクセレクタ125によって選
択されて分岐動作B20が実行される。その後、B20
によって選択された2サイクル先ページアドレスA31
はアドレスセレクタ121に入力されたあと、アドレス
レジスタ113に格納される。この分岐動作B20に平
行して、データレジスタ116に格納されている制御フ
ィールドi100は演算実行ユニット12へ転送されて
演算が開始する。以下、同様にして読出し/分岐動作
(偶数サイクル)及び演算実行がおこなわれる。本フロ
ーチャート(図4)において、読出し/分岐動作(偶数
サイクル)によって選択されたマイクロ命令は、i10
0(サイクルC1)→i310(サイクルC3)の順で
演算実行ユニットを制御している。
【0045】読出し/分岐動作(奇数サイクル)に関し
て説明すると、サイクル(C0)に、命令発行ユニット
10の中の2サイクル目アドレスレジスタ(バンク0)
111及び(バンク1)112に格納されている2個の
ページアドレスA20及びA21が読出し/分岐ユニッ
ト11へ転送される。転送後、2個のページアドレスA
20及びA21の中からバンクセレクタ120によって
ページアドレスA20が選択される(分岐動作B1
0)。 その後、ページアドレスA20は、アドレスセ
レクタ121に入力されたあとにアドレスレジスタ11
3に格納される。以後、分岐/読出し動作(偶数サイク
ル)と同様に読出し/分岐動作がおこなわれる。本フロ
ーチャート(図4)において、読出し/分岐動作(奇数
サイクル)によって選択されたマイクロ命令は、i20
1(サイクルC2)→i421(サイクルC4)の順で
演算実行ユニットを制御している。
て説明すると、サイクル(C0)に、命令発行ユニット
10の中の2サイクル目アドレスレジスタ(バンク0)
111及び(バンク1)112に格納されている2個の
ページアドレスA20及びA21が読出し/分岐ユニッ
ト11へ転送される。転送後、2個のページアドレスA
20及びA21の中からバンクセレクタ120によって
ページアドレスA20が選択される(分岐動作B1
0)。 その後、ページアドレスA20は、アドレスセ
レクタ121に入力されたあとにアドレスレジスタ11
3に格納される。以後、分岐/読出し動作(偶数サイク
ル)と同様に読出し/分岐動作がおこなわれる。本フロ
ーチャート(図4)において、読出し/分岐動作(奇数
サイクル)によって選択されたマイクロ命令は、i20
1(サイクルC2)→i421(サイクルC4)の順で
演算実行ユニットを制御している。
【0046】以上の結果、パイプライン状に実行されて
いる読出し/分岐動作(偶数サイクル)と読出し/動作
(奇数サイクル)を合わせると、マイクロ命令はi10
0(サイクルC1)→i201(サイクルC2)→i3
10(サイクルC3)→i421(サイクルC4)の順
で演算実行ユニットを制御しており、本発明の第1の実
施例が、第1の従来技術及び第2の従来技術と同じ実行
手順であることがわかる。
いる読出し/分岐動作(偶数サイクル)と読出し/動作
(奇数サイクル)を合わせると、マイクロ命令はi10
0(サイクルC1)→i201(サイクルC2)→i3
10(サイクルC3)→i421(サイクルC4)の順
で演算実行ユニットを制御しており、本発明の第1の実
施例が、第1の従来技術及び第2の従来技術と同じ実行
手順であることがわかる。
【0047】次に、本発明によるマイクロプログラム制
御(N=2)の第2の実施例を図13〜図16により説
明する。第2の実施例は、第1の実施例に対して、制御
記憶を複数のブロックに分割して行うマイクロプログラ
ム制御である。
御(N=2)の第2の実施例を図13〜図16により説
明する。第2の実施例は、第1の実施例に対して、制御
記憶を複数のブロックに分割して行うマイクロプログラ
ム制御である。
【0048】図14は本発明の第2の実施例におけるマ
イクロ命令のフォーマットであって、2サイクル先のブ
ロック内分岐先のブロック内ページアドレスである2サ
イクル先ブロック内ページアドレスフィールド(バンク
X0)1400及び(バンクX1)1402と、2サイ
クル先終了判定フィールド(バンクX0)1401及び
(バンクX1)1403と、2サイクル先のブロックア
ドレスを指定する2サイクル先ブロックアドレスフィー
ルド1404と、分岐条件フィールド1405と、制御
フィールド1406とから構成されている。本発明の第
2実施例において、第1実施例と同様に2個1組のマイ
クロ命令によってページが構成されている。
イクロ命令のフォーマットであって、2サイクル先のブ
ロック内分岐先のブロック内ページアドレスである2サ
イクル先ブロック内ページアドレスフィールド(バンク
X0)1400及び(バンクX1)1402と、2サイ
クル先終了判定フィールド(バンクX0)1401及び
(バンクX1)1403と、2サイクル先のブロックア
ドレスを指定する2サイクル先ブロックアドレスフィー
ルド1404と、分岐条件フィールド1405と、制御
フィールド1406とから構成されている。本発明の第
2実施例において、第1実施例と同様に2個1組のマイ
クロ命令によってページが構成されている。
【0049】図13は本発明の第2実施例よって実現さ
れるマイクロプログラム制御装置のブロック構成図であ
る。この装置は第1の従来技術、第2の従来技術及び本
発明の第1の実施例と同様に命令発行ユニット30と、
マイクロ命令の読出し/分岐ユニット31と、演算実行
ユニット32とから構成されている。
れるマイクロプログラム制御装置のブロック構成図であ
る。この装置は第1の従来技術、第2の従来技術及び本
発明の第1の実施例と同様に命令発行ユニット30と、
マイクロ命令の読出し/分岐ユニット31と、演算実行
ユニット32とから構成されている。
【0050】命令発行ユニット30は、開始アドレスレ
ジスタ1310と、2サイクル目のブロック内のページ
アドレス(バンク0)及び2サイクル目のマイクロプロ
グラムの終了判定信号(バンク0)を格納する2サイク
ル目アドレスレジスタ(バンク0)1311と、2サイ
クル目のブロック内のページアドレス(バンク1)及び
2サイクル目のマイクロプログラムの終了判定信号(バ
ンク1)を格納する2サイクル目アドレスレジスタ(バ
ンク1)1312と、2サイクル目のブロックアドレス
を格納する2サイクル目ブロックアドレスレジスタ13
17を備えている。
ジスタ1310と、2サイクル目のブロック内のページ
アドレス(バンク0)及び2サイクル目のマイクロプロ
グラムの終了判定信号(バンク0)を格納する2サイク
ル目アドレスレジスタ(バンク0)1311と、2サイ
クル目のブロック内のページアドレス(バンク1)及び
2サイクル目のマイクロプログラムの終了判定信号(バ
ンク1)を格納する2サイクル目アドレスレジスタ(バ
ンク1)1312と、2サイクル目のブロックアドレス
を格納する2サイクル目ブロックアドレスレジスタ13
17を備えている。
【0051】読出し/分岐ユニット31は、2サイクル
目アドレスレジスタ(バンク0)1311と2サイクル
目アドレスレジスタ(バンク1)1312のどちらか一
方を選択するバンクセレクタ1320と、終了判定回路
1331と、アドレスセレクタ1321と、アドレスレ
ジスタ1313と、マイクロ命令の2サイクル先ブロッ
ク内ページアドレスフィールド(バンクX0)1400
及び(バンクX1)1402と2サイクル先終了判定フ
ィールド(バンクX0)1401及び(バンクX1)1
403とを記憶する4個のバンク(バンク00、バンク
01、バンク10、バンク11)から成る制御記憶(ブ
ロック内アドレス)1330aと、マイクロ命令の2サ
イクル先ブロックアドレスフィールド1404、マイク
ロ命令の分岐条件フィールド1405及び制御フィール
ド1406を記憶する2個のバンク(バンク0、バンク
1)から成る制御記憶(制御+ブロックアドレス)13
30bと、分岐判定回路1332と、制御記憶(アドレ
ス)1330aのバンク選択をおこなうバンクセレクタ
1322及びバンクセレクタ1323と、バンクセレク
タ1322及びバンクセレクタ1323によって選択さ
れた内容を格納する次サイクルアドレスレジスタ(バン
クX0)1314及び(バンクX1)1315と、制御
記憶(制御+ブロックアドレス)1330b用のバンク
セレクタ1324と、データレジスタ1316と、次サ
イクルアドレスレジスタ(バンクX0)1314と(バ
ンクX1)1315のどちらか一方を選択するバンクセ
レクタ1325とを備えている。
目アドレスレジスタ(バンク0)1311と2サイクル
目アドレスレジスタ(バンク1)1312のどちらか一
方を選択するバンクセレクタ1320と、終了判定回路
1331と、アドレスセレクタ1321と、アドレスレ
ジスタ1313と、マイクロ命令の2サイクル先ブロッ
ク内ページアドレスフィールド(バンクX0)1400
及び(バンクX1)1402と2サイクル先終了判定フ
ィールド(バンクX0)1401及び(バンクX1)1
403とを記憶する4個のバンク(バンク00、バンク
01、バンク10、バンク11)から成る制御記憶(ブ
ロック内アドレス)1330aと、マイクロ命令の2サ
イクル先ブロックアドレスフィールド1404、マイク
ロ命令の分岐条件フィールド1405及び制御フィール
ド1406を記憶する2個のバンク(バンク0、バンク
1)から成る制御記憶(制御+ブロックアドレス)13
30bと、分岐判定回路1332と、制御記憶(アドレ
ス)1330aのバンク選択をおこなうバンクセレクタ
1322及びバンクセレクタ1323と、バンクセレク
タ1322及びバンクセレクタ1323によって選択さ
れた内容を格納する次サイクルアドレスレジスタ(バン
クX0)1314及び(バンクX1)1315と、制御
記憶(制御+ブロックアドレス)1330b用のバンク
セレクタ1324と、データレジスタ1316と、次サ
イクルアドレスレジスタ(バンクX0)1314と(バ
ンクX1)1315のどちらか一方を選択するバンクセ
レクタ1325とを備えている。
【0052】制御記憶のバンクとマイクロ命令のフォー
マットの対応づけると、制御記憶(ブロック内アドレ
ス)1330aのバンク00とバンク01及び制御記憶
(制御+ブロックアドレス)1330bのバンク0が1
個のマイクロ命令を構成しており、制御記憶(ブロック
内アドレス)1330aのバンク00にはマイクロ命令
の2サイクル先ブロック内ページアドレスフィールド
(バンクX0)1400及び2サイクル先終了判定フィ
ールド(バンクX0)1401が、制御記憶(ブロック
アドレス)1330aのバンク01にはマイクロ命令の
2サイクル先ブロック内ページアドレスフィールド(バ
ンクX1)1402及び2サイクル先終了判定フィール
ド(バンクX1)1403が、制御記憶(制御+ブロッ
クアドレス)1330bのバンク0には2サイクル先ブ
ロックアドレス1404、分岐条件フィールド1405
及び制御フィールド1406が記憶されている。
マットの対応づけると、制御記憶(ブロック内アドレ
ス)1330aのバンク00とバンク01及び制御記憶
(制御+ブロックアドレス)1330bのバンク0が1
個のマイクロ命令を構成しており、制御記憶(ブロック
内アドレス)1330aのバンク00にはマイクロ命令
の2サイクル先ブロック内ページアドレスフィールド
(バンクX0)1400及び2サイクル先終了判定フィ
ールド(バンクX0)1401が、制御記憶(ブロック
アドレス)1330aのバンク01にはマイクロ命令の
2サイクル先ブロック内ページアドレスフィールド(バ
ンクX1)1402及び2サイクル先終了判定フィール
ド(バンクX1)1403が、制御記憶(制御+ブロッ
クアドレス)1330bのバンク0には2サイクル先ブ
ロックアドレス1404、分岐条件フィールド1405
及び制御フィールド1406が記憶されている。
【0053】同様にして、制御記憶(ブロック内アドレ
ス)1330aのバンク10とバンク11、制御記憶
(制御+ブロックアドレス)1330bのバンク1が他
の1個のマイクロ命令を構成しており、制御記憶(ブロ
ック内アドレス)1330aのバンク10にはマイクロ
命令の2サイクル先ブロック内ページアドレスフィール
ド(バンクX0)1400及び2サイクル先終了判定フ
ィールド(バンクX0)1401が、制御記憶(ブロッ
ク内アドレス)1330aのバンク11にはマイクロ命
令の2サイクル先ブロック内ページアドレスフィールド
(バンクX1)1402及び2サイクル先終了判定フィ
ールド(バンクX1)1403が、制御記憶(制御+ブ
ロックアドレス)1330bのバンク1には2サイクル
先ブロックアドレスフィールド1404、分岐条件フィ
ールド1405及び制御フィールド1406が記憶され
ている。
ス)1330aのバンク10とバンク11、制御記憶
(制御+ブロックアドレス)1330bのバンク1が他
の1個のマイクロ命令を構成しており、制御記憶(ブロ
ック内アドレス)1330aのバンク10にはマイクロ
命令の2サイクル先ブロック内ページアドレスフィール
ド(バンクX0)1400及び2サイクル先終了判定フ
ィールド(バンクX0)1401が、制御記憶(ブロッ
ク内アドレス)1330aのバンク11にはマイクロ命
令の2サイクル先ブロック内ページアドレスフィールド
(バンクX1)1402及び2サイクル先終了判定フィ
ールド(バンクX1)1403が、制御記憶(制御+ブ
ロックアドレス)1330bのバンク1には2サイクル
先ブロックアドレスフィールド1404、分岐条件フィ
ールド1405及び制御フィールド1406が記憶され
ている。
【0054】次に、図15のタイムチャート及び図16
のフローチャートによって、本発明の第2実施例によっ
て実現されるマイクロプログラム制御装置の動作及び実
行手順を説明する。本発明の第2の実施例では、本発明
の第1の実施例と同様に、読出し/分岐動作(偶数サイ
クル)と読出し/分岐動作(奇数サイクル)がパイプラ
イン状に実行される。
のフローチャートによって、本発明の第2実施例によっ
て実現されるマイクロプログラム制御装置の動作及び実
行手順を説明する。本発明の第2の実施例では、本発明
の第1の実施例と同様に、読出し/分岐動作(偶数サイ
クル)と読出し/分岐動作(奇数サイクル)がパイプラ
イン状に実行される。
【0055】まず、読出し/分岐動作(偶数サイクル)
から説明すると、サイクル(C−1)に、命令発行ユニ
ット30の中の開始アドレスレジスタ1310に格納さ
れているマイクロプログラムの開始ブロックアドレスJ
1及び開始アドレスA10が読出し/分岐ユニット31
へ転送される。転送後、開始ブロックアドレスJ1及び
開始アドレスA10はアドレスセレクタ1321に入力
された後、アドレスレジスタ1313に格納される。
から説明すると、サイクル(C−1)に、命令発行ユニ
ット30の中の開始アドレスレジスタ1310に格納さ
れているマイクロプログラムの開始ブロックアドレスJ
1及び開始アドレスA10が読出し/分岐ユニット31
へ転送される。転送後、開始ブロックアドレスJ1及び
開始アドレスA10はアドレスセレクタ1321に入力
された後、アドレスレジスタ1313に格納される。
【0056】サイクル(C0)では、アドレスレジスタ
1313に格納されているマイクロプログラムの開始ブ
ロックアドレスJ1及び開始アドレスA10によって制
御記憶(ブロック内アドレス)1330a及び制御記憶
(制御+ブロックアドレス)1330bのページが指定
されて、2個のマイクロ命令M100及びM101が読
み出される。バンクセレクタ1322が制御記憶(ブロ
ック内アドレス)1330aから読み出された2サイク
ル先ブロック内アドレスA30(バンク00)とA32
(バンク10)のどちらか一方を選択して、バンクセレ
クタ1323が制御記憶(ブロック内アドレス)133
0aから読み出された2サイクル先ブロック内アドレス
A31(バンク01)とA33(バンク11)のどちら
か一方を選択して、バンクセレクタ1324が制御記憶
(制御+ブロックアドレス)1330bから読み出され
た2サイクル先ブロックアドレスJ2(バンク0)及び
制御フィールドi100(バンク0)の組か2サイクル
先ブロックアドレスJ1(バンク1)及び制御フィール
ドi101(バンク1)の組のどちらか一方を選択する
ことによって分岐動作B10がおこなわれる。本フロー
チャートでは、分岐動作B10が制御フィールドi10
0、2サイクル先ブロックアドレスJ2、2サイクル先
ページアドレスA30及びA31から構成されるマイク
ロ命令M100を選択している。分岐動作B10の後、
2サイクル先ブロック内ページアドレスA30(バンク
00)は次サイクルアドレスレジスタ(バンクX0)1
314に格納されて、2サイクル先ブロック内ページア
ドレスA31(バンク01)は次サイクルアドレスレジ
スタ(バンクX1)1315に格納され、制御フィール
ドi100及び2サイクル先ブロックアドレスJ2はデ
ータレジスタ1316に格納される。装置の設計によっ
ては、分岐動作B10は次サイクル(C1)におこなわ
れることもある。
1313に格納されているマイクロプログラムの開始ブ
ロックアドレスJ1及び開始アドレスA10によって制
御記憶(ブロック内アドレス)1330a及び制御記憶
(制御+ブロックアドレス)1330bのページが指定
されて、2個のマイクロ命令M100及びM101が読
み出される。バンクセレクタ1322が制御記憶(ブロ
ック内アドレス)1330aから読み出された2サイク
ル先ブロック内アドレスA30(バンク00)とA32
(バンク10)のどちらか一方を選択して、バンクセレ
クタ1323が制御記憶(ブロック内アドレス)133
0aから読み出された2サイクル先ブロック内アドレス
A31(バンク01)とA33(バンク11)のどちら
か一方を選択して、バンクセレクタ1324が制御記憶
(制御+ブロックアドレス)1330bから読み出され
た2サイクル先ブロックアドレスJ2(バンク0)及び
制御フィールドi100(バンク0)の組か2サイクル
先ブロックアドレスJ1(バンク1)及び制御フィール
ドi101(バンク1)の組のどちらか一方を選択する
ことによって分岐動作B10がおこなわれる。本フロー
チャートでは、分岐動作B10が制御フィールドi10
0、2サイクル先ブロックアドレスJ2、2サイクル先
ページアドレスA30及びA31から構成されるマイク
ロ命令M100を選択している。分岐動作B10の後、
2サイクル先ブロック内ページアドレスA30(バンク
00)は次サイクルアドレスレジスタ(バンクX0)1
314に格納されて、2サイクル先ブロック内ページア
ドレスA31(バンク01)は次サイクルアドレスレジ
スタ(バンクX1)1315に格納され、制御フィール
ドi100及び2サイクル先ブロックアドレスJ2はデ
ータレジスタ1316に格納される。装置の設計によっ
ては、分岐動作B10は次サイクル(C1)におこなわ
れることもある。
【0057】サイクル(C1)では、2サイクル先ブロ
ック内ページアドレスA30及びA31の中から、2サ
イクル先ブロック内ページアドレスA31がバンクセレ
クタ1325によって選択されて分岐動作B20が実行
される。その後、B20によって選択された2サイクル
先ブロック内ページアドレスA31はアドレスセレクタ
1321に入力されたあと、アドレスレジスタ1313
に格納される。この分岐動作B20に平行して、データ
レジスタ1316に格納されている2サイクル先ブロッ
クアドレスフィールドJ2はアドレスセレクタ1321
に入力されたあとアドレスレジスタ1313に格納され
て、制御フィールドi100は演算実行ユニット32へ
転送されて演算が開始する。 図16から分かる通り、
マイクロ命令M100で指定されるページアドレスA3
0及びA31は、それぞれ同じブロックアドレスJ2を
持っている。以下、同様にして読出し/分岐動作(偶数
サイクル)及び演算実行がおこなわれる。本フローチャ
ート(図16)において、読出し/分岐(偶数サイク
ル)によって選択されたマイクロ命令は、i100(サ
イクルC1)→i310(サイクルC3)の順で演算実
行ユニットを制御している。
ック内ページアドレスA30及びA31の中から、2サ
イクル先ブロック内ページアドレスA31がバンクセレ
クタ1325によって選択されて分岐動作B20が実行
される。その後、B20によって選択された2サイクル
先ブロック内ページアドレスA31はアドレスセレクタ
1321に入力されたあと、アドレスレジスタ1313
に格納される。この分岐動作B20に平行して、データ
レジスタ1316に格納されている2サイクル先ブロッ
クアドレスフィールドJ2はアドレスセレクタ1321
に入力されたあとアドレスレジスタ1313に格納され
て、制御フィールドi100は演算実行ユニット32へ
転送されて演算が開始する。 図16から分かる通り、
マイクロ命令M100で指定されるページアドレスA3
0及びA31は、それぞれ同じブロックアドレスJ2を
持っている。以下、同様にして読出し/分岐動作(偶数
サイクル)及び演算実行がおこなわれる。本フローチャ
ート(図16)において、読出し/分岐(偶数サイク
ル)によって選択されたマイクロ命令は、i100(サ
イクルC1)→i310(サイクルC3)の順で演算実
行ユニットを制御している。
【0058】読出し/分岐動作(奇数サイクル)に関し
て説明すると、サイクル(C0)に、命令発行ユニット
30の中の2サイクル目アドレスレジスタ(バンク0)
1311及び(バンク1)1312に格納されている2
個のページアドレスA20及びA21と、2サイクル目
ブロックアドレスレジスタ1317に格納されているブ
ロックアドレスJ1とが読出し/分岐ユニット31へ転
送される。転送後、2個のページアドレスA20及びA
21の中からバンクセレクタ1320によってブロック
内のページアドレスA20が選択される(分岐動作B1
0)。その後、ページアドレスA20及びブロックアド
レスJ1は、アドレスセレクタ1321に入力されたあ
とにアドレスレジスタ1313に格納される。以後、分
岐/読出し動作(偶数サイクル)と同様に読出し/分岐
動作がおこなわれる。本フローチャート(図16)にお
いて、読出し/分岐動作(奇数サイクル)によって選択
されたマイクロ命令は、i201(サイクルC2)→i
421(サイクルC4)の順で演算実行ユニットを制御
している。
て説明すると、サイクル(C0)に、命令発行ユニット
30の中の2サイクル目アドレスレジスタ(バンク0)
1311及び(バンク1)1312に格納されている2
個のページアドレスA20及びA21と、2サイクル目
ブロックアドレスレジスタ1317に格納されているブ
ロックアドレスJ1とが読出し/分岐ユニット31へ転
送される。転送後、2個のページアドレスA20及びA
21の中からバンクセレクタ1320によってブロック
内のページアドレスA20が選択される(分岐動作B1
0)。その後、ページアドレスA20及びブロックアド
レスJ1は、アドレスセレクタ1321に入力されたあ
とにアドレスレジスタ1313に格納される。以後、分
岐/読出し動作(偶数サイクル)と同様に読出し/分岐
動作がおこなわれる。本フローチャート(図16)にお
いて、読出し/分岐動作(奇数サイクル)によって選択
されたマイクロ命令は、i201(サイクルC2)→i
421(サイクルC4)の順で演算実行ユニットを制御
している。
【0059】以上の結果、パイプライン状に実行されて
いる読出し/分岐動作(偶数サイクル)と読出し/動作
(奇数サイクル)を合わせると、マイクロ命令はi10
0(サイクルC1)→i201(サイクルC2)→i3
10(サイクルC3)→i421(サイクルC4)の順
で演算実行ユニットを制御しており、本発明の第2の実
施例が、第1の従来技術、第2の従来技術及び本発明の
第1の実施例と同じ実行手順であることがわかる。
いる読出し/分岐動作(偶数サイクル)と読出し/動作
(奇数サイクル)を合わせると、マイクロ命令はi10
0(サイクルC1)→i201(サイクルC2)→i3
10(サイクルC3)→i421(サイクルC4)の順
で演算実行ユニットを制御しており、本発明の第2の実
施例が、第1の従来技術、第2の従来技術及び本発明の
第1の実施例と同じ実行手順であることがわかる。
【0060】
【発明の効果】本発明によれば、第2の従来技術におけ
るマイクロプログラム制御と同等の高速性を実現し、且
つ、マイクロプログラムを記憶する制御記憶の記憶容量
が増加するという課題も解決し得る。
るマイクロプログラム制御と同等の高速性を実現し、且
つ、マイクロプログラムを記憶する制御記憶の記憶容量
が増加するという課題も解決し得る。
【0061】例えば、2サイクル先に読み出すべきマイ
クロ命令セットのアドレスを指定する場合、マイクロ命
令中でアドレスフィールドが占める割合が20%とする
と、第1の従来技術にくらべて第2の従来技術では2倍
の記憶容量を必要とするが、本発明では第1の従来技術
に対して1.2倍の増加にとどめることができる。ま
た、マイクロプログラムを複数のブロックに分割して、
ブロック内の分岐動作に限って本発明を適用した場合に
は、マイクロプログラム記憶容量の増加をさらに小さく
できる。
クロ命令セットのアドレスを指定する場合、マイクロ命
令中でアドレスフィールドが占める割合が20%とする
と、第1の従来技術にくらべて第2の従来技術では2倍
の記憶容量を必要とするが、本発明では第1の従来技術
に対して1.2倍の増加にとどめることができる。ま
た、マイクロプログラムを複数のブロックに分割して、
ブロック内の分岐動作に限って本発明を適用した場合に
は、マイクロプログラム記憶容量の増加をさらに小さく
できる。
【図1】本発明の第1の実施例のマイクロプログラム制
御装置のブロック構成図。
御装置のブロック構成図。
【図2】本発明の第1の実施例で用いるマイクロ命令の
フォーマットを示す図。
フォーマットを示す図。
【図3】本発明の第1の実施例で用いるマイクロ命令実
行時のタイムチャート。
行時のタイムチャート。
【図4】本発明の第1の実施例におけるマイクロ命令実
行手順のフローチャート。
行手順のフローチャート。
【図5】第1の従来技術によるマイクロプログラム制御
装置のブロック構成図。
装置のブロック構成図。
【図6】第1の従来技術で用いるマイクロ命令のフォー
マットを示す図。
マットを示す図。
【図7】第1の従来技術におけるマイクロ命令実行時の
タイムチャート。
タイムチャート。
【図8】第1の従来技術におけるマイクロ命令実行手順
を示すフローチャート。
を示すフローチャート。
【図9】第2の従来技術によるマイクロプログラム制御
装置のブロック構成図。
装置のブロック構成図。
【図10】第2の従来技術で用いるマイクロ命令のフォ
ーマットを示す図。
ーマットを示す図。
【図11】第2の従来技術におけるマイクロ命令実行時
のタイムチャート。
のタイムチャート。
【図12】第2の従来技術におけるマイクロ命令実行手
順を示すフローチャート。
順を示すフローチャート。
【図13】本発明の第2の実施例のマイクロプログラム
制御装置のブロック構成図。
制御装置のブロック構成図。
【図14】本発明の第2の実施例で用いるマイクロ命令
のフォーマットを示す図。
のフォーマットを示す図。
【図15】本発明の第2の実施例におけるマイクロ命令
実行時のタイムチャート。
実行時のタイムチャート。
【図16】本発明の第2の実施例におけるマイクロ命令
実行手順のフローチャート。
実行手順のフローチャート。
C0、C1、C2、C3、C4 … マイクロ命令の実
行サイクル A10、A20、A21、A30〜A33、A40〜A
47、A50〜A5F… マイクロ命令のページアドレ
ス i100、i101、i200、i201、i210、
i211、i300〜i331、i400〜i451
… 演算を制御する命令 M100、M101、M200〜M211、M300、
M301、M310、M311、M420、M421
… マイクロ命令 10〜12、50〜52、90〜92、30〜32 …
論理ユニット 110〜116、510〜512、
910〜914、1310〜1317 … レジスタ 121〜125、520、521、920〜924、1
320〜1325 …セレクタ 130a、130b、530、930、1330a、1
330b … 制御記憶 131、132、531、532、931、932、1
331、1332…論理ブロック 200〜205、600〜603、1000〜100
3、1400〜1406… マイクロ命令のフィール
ド。
行サイクル A10、A20、A21、A30〜A33、A40〜A
47、A50〜A5F… マイクロ命令のページアドレ
ス i100、i101、i200、i201、i210、
i211、i300〜i331、i400〜i451
… 演算を制御する命令 M100、M101、M200〜M211、M300、
M301、M310、M311、M420、M421
… マイクロ命令 10〜12、50〜52、90〜92、30〜32 …
論理ユニット 110〜116、510〜512、
910〜914、1310〜1317 … レジスタ 121〜125、520、521、920〜924、1
320〜1325 …セレクタ 130a、130b、530、930、1330a、1
330b … 制御記憶 131、132、531、532、931、932、1
331、1332…論理ブロック 200〜205、600〜603、1000〜100
3、1400〜1406… マイクロ命令のフィール
ド。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 加藤 猛 東京都国分寺市東恋ケ窪一丁目280番地 株式会社日立製作所中央研究所内 Fターム(参考) 5B105 EA11 EA12 FB16 FD14 FD23
Claims (8)
- 【請求項1】マイクロプログラムの開始アドレスを指定
してマイクロ命令の発行を制御する命令発行処理と、指
定された開始アドレスに従って各サイクルにおけるマイ
クロ命令の読出しと分岐を制御する読出し/分岐処理
と、読出されたマイクロ命令を実行する命令実行処理と
を有するマイクロプログラム制御方法であって、 現読出しサイクルよりN(N≧2)サイクル先に読み出
すべきマイクロ命令の分岐先アドレスを指定するフィー
ルドと、Nサイクル先でのマイクロプログラムの終了を
判定するフィールドと、次サイクルの演算を制御するフ
ィールドとを有するマイクロ命令を用いて、(1)上記
読出し/分岐処理で、Nサイクル先に読出すべきマイク
ロ命令のアドレスを現読出しサイクルより最大Nサイク
ル以内に確定させる制御と、(2)上記命令実行処理
で、次サイクルでの演算を実行する制御と、を並列に行
う、マイクロプログラム制御方法。 - 【請求項2】マイクロプログラムの開始アドレスを指定
してマイクロ命令の発行を制御する命令発行処理と、指
定された開始アドレスに従って各サイクルにおけるマイ
クロ命令の読出しと分岐を制御する読出し/分岐処理
と、読出されたマイクロ命令を実行する命令実行処理と
を有するマイクロプログラム制御方法であって、 現読出しサイクルよりN(N≧2)サイクル先に読み出
すべきマイクロ命令の分岐先アドレスを指定するフィー
ルドがMの(N−1)乗個有るかまたはNサイクル先で
のマイクロプログラムの終了を判定するフィールドがM
の(N−1)乗個有り、次サイクルの演算を制御するフ
ィールドが1個有るマイクロ命令が上記読出し/分岐処
理で参照される記憶部に格納されていて、 該記憶部の1個のアドレスからM(M≧2)個のマイク
ロ命令を読出し、読み出したマイクロ命令の中から所望
ののマイクロ命令を選択し選択したマイクロ命令を用い
て、(1)上記読出し/分岐処理で、現読出しサイクル
よりNサイクル先に読み出すべきマイクロ命令のアドレ
スを最大Nサイクル以内に確定させる制御と、(2)上
記命令実行処理で、次サイクルでの演算を実行する制御
と、を並列に行う、マイクロプログラム制御方法。 - 【請求項3】マイクロプログラムの開始アドレスを指定
してマイクロ命令の発行を制御する命令発行処理と、指
定された開始アドレスに従って各サイクルにおけるマイ
クロ命令の読出しと分岐を制御する読出し/分岐処理
と、読出されたマイクロ命令を実行する命令実行処理と
を有するマイクロプログラム制御方法であって、 マイクロプログラムを複数のブロックに分割し、現読出
しサイクルよりN(N≧2)サイクル先に読出すべきマ
イクロ命令の存在するブロックのアドレスを指定するフ
ィールドが1個有り、該ブロック内に在る該マイクロ命
令の分岐先アドレスを指定するフィールドがMの(N−
1)乗個有るかまたはNサイクル先でのマイクロプログ
ラムの終了を判定するフィールドがMの(N−1)乗個
有り、次サイクルの演算を制御するフィールドが1個有
るマイクロ命令が上記読出し/分岐処理で参照される記
憶部に格納されていて、 該記憶部の1個のアドレスからM(M≧2)個のマイク
ロ命令を読出し、読出したマイクロ命令の中から所望の
マイクロ命令を選択し、選択したマイクロ命令を用い
て、(1)上記読出し/分岐処理で、現読出しサイクル
よりNサイクル先に読出すべきマイクロ命令のアドレス
を最大Nサイクル以内に確定させる制御と、(2)上記
命令実行処理で、次サイクルでの演算を実行する制御
と、を並列に行う、マイクロプログラム制御方法。 - 【請求項4】マイクロプログラムの開始アドレスを指定
してマイクロ命令の発行を制御する命令発行手段と、指
定された開始アドレスに従って各サイクルにおけるマイ
クロ命令の読出しと分岐を制御する読出し/分岐手段
と、読出されたマイクロ命令を実行する命令実行手段と
を備えたマイクロプログラム制御装置であって、上記マ
イクロ命令は、現読出しサイクルよりN(N≧2)サイ
クル先に読み出すべきマイクロ命令の分岐先アドレスを
指定するフィールドと、Nサイクル先でのマイクロプロ
グラムの終了を判定するフィールドと、次サイクルの演
算を制御するフィールドとを有し、(1)上記命令発行
手段は、 上記開始アドレスを格納する第1のレジスタ手段と、 マイクロプログラムの開始より2〜Nサイクルの間に読
出すべきマイクロ命令のアドレスとマイクロプログラム
の開始より2〜Nサイクルの間のマイクロプログラムの
終了を判定する情報を格納する第2のレジスタ手段とを
有し、(2)上記読出し/分岐手段は、 前サイクルのマイクロ命令の終了判定フィールドを参照
することによりマイクロプログラムの終了判定信号を発
生させる終了判定手段と、 該終了判定信号を参照してマイクロプログラムの開始ア
ドレス、マイクロプログラムの開始より2〜Nサイクル
の間に読出すべきマイクロ命令のアドレス及び前サイク
ルに読出したマイクロ命令のNサイクル先での分岐先ア
ドレスフィールドのいずれかを選択するアドレス選択手
段と、 選択されたアドレスを格納する第3のレジスタ手段と、 該マイクロ命令のNサイクル先での分岐先アドレスを指
定するフィールドとNサイクル先での終了を判定するフ
ィールドを記憶する第1の記憶部と、マイクロ命令の分
岐条件フィールド及び制御フィールドを記憶する第2の
記憶部とを備えて上記マイクロ命令を記憶する記憶手段
と、 前サイクルに読み出したマイクロ命令の分岐条件フィー
ルド及び前サイクルの演算結果を参照することによって
分岐を判定する信号を発生させる分岐判定手段と、 次サイクルでの演算の制御情報を格納する第4のレジス
タ手段を有し、(3)上記命令実行手段は、該制御情報
に従って次サイクルでの演算を実行する手段を有する、 マイクロプログラム制御装置。 - 【請求項5】マイクロプログラムの開始アドレスを指定
してマイクロ命令の発行を制御する命令発行手段と、指
定された開始アドレスに従って各サイクルにおけるマイ
クロ命令の読出しと分岐を制御する読出し/分岐手段
と、読出されたマイクロ命令を実行する命令実行手段と
を備えたマイクロプログラム制御装置であって、上記マ
イクロ命令は、現読出しサイクルよりN(N≧2)サイ
クル先に読み出すべきマイクロ命令の分岐先アドレスを
指定するフィールドがMの(N−1)乗個有るかまたは
Nサイクル先でのマイクロプログラムの終了を判定する
フィールドがMの(N−1)乗個有り、次サイクルの演
算を制御するフィールドが1個有り、(1)上記命令発
行手段は、 上記開始アドレスを格納する第1のレジスタ手段と、 マイクロプログラムの開始より2〜Nサイクルの間に読
出すべきマイクロ命令のアドレスとマイクロプログラム
の開始より2〜Nサイクルの間のマイクロプログラムの
終了を判定する情報を格納する第2のレジスタ手段とを
有し、(2)上記読出し/分岐手段は、 前サイクルのマイクロ命令の終了判定フィールドを参照
することに よりマイクロプログラムの終了判定信号を
発生させる終了判定手段と、 該終了判定信号を参照してマイクロプログラムの開始ア
ドレス、マイクロプログラムの開始より2〜Nサイクル
の間に読出すべきマイクロ命令のアドレス及び前サイク
ルに読出したマイクロ命令のNサイクル先での分岐先ア
ドレスフィールドのいずれかを選択するアドレス選択手
段と、 選択されたアドレスを格納する第3のレジスタ手段と、 該マイクロ命令のNサイクル先での分岐先アドレスを指
定するフィ ールドとNサイクル先での終了を判定する
フィールドを記憶する第1 の記憶部と、マイクロ命令
の分岐条件フィールド及び制御フィールドを記憶する第
2の記憶部(130b)とを備えて上記マイクロ命令を
記憶する記憶手段と、 該記憶手段における、第3のレジスタ手段に格納された
1個のアドレスからM(M≧2)個のマイクロ命令を読
出す手段と、 前サイクルに読み出したマイクロ命令の分岐条件フィー
ルド及び前サイクルの演算結果を参照することによって
分岐を判定する信号を発生させる分岐判定手段と、 次サイクルでの演算の制御情報を格納する第4のレジス
タ手段を有し、(3)上記命令実行手段は、該制御情報
に従って次サイクルでの演算を実行する手段を有する、
マイクロプログラム制御装置。 - 【請求項6】マイクロプログラムの開始アドレスを指定
してマイクロ命令の発行を制御する命令発行手段と、指
定された開始アドレスに従って各サイクルにおけるマイ
クロ命令の読出しと分岐を制御する読出し/分岐手段
と、読出されたマイクロ命令を実行する命令実行手段と
を備えたマイクロプログラム制御装置であって、上記マ
イクロ命令は、現読出しサイクルよりN(N≧2)サイ
クル先に読み出すべきマイクロ命令の分岐先ブロックア
ドレスを指定するフィールドと、Nサイクル先に読み出
すべきマイクロ命令のブロック内分岐先アドレスを指定
するフィールドと、Nサイクル先でのマイクロプログラ
ムの終了を判定するフィールドと、次サイクルの演算を
制御するフィールドとを有し、(1)上記命令発行手段
は、 上記開始アドレスを格納する第1のレジスタ手段と、 マイクロプログラムの開始より2〜Nサイクルの間に読
出すべきマイクロ命令のブロックアドレスを格納する第
2のレジスタ手段と、 マイクロプログラムの開始より2〜Nサイクルの間に読
出すべきマイクロ命令のブロック内アドレスとマイクロ
プログラムの開始より2〜Nサイクルの間のマイクロプ
ログラムの終了を判定する情報を格納する第3のレジス
タ手段とを有し、(2)上記読出し/分岐手段は、 前サイクルのマイクロ命令の終了判定フィールドを参照
することによってマイクロプログラムの終了判定信号を
発生させる終了判定手段と、 該終了判定信号を参照してマイクロプログラムの開始ア
ドレス、マイクロプログラムの開始より2〜Nサイクル
の間に読出すべきマイクロ命令のブロックアドレスで指
定されたブロックのブロック内アドレス及び前サイクル
に読出したマイクロ命令のNサイクル先のブロックアド
レスフィールドによって指定されるブロックのブロック
内分岐先アドレスのいずれかを選択するアドレス選択手
段と、 選択されたアドレスを格納する第4のレジスタ手段と、 該マイクロ命令のNサイクル先での分岐先アドレスを指
定するフィールドとNサイクル先での終了を判定するフ
ィールドを記憶する第1の記憶部と、マイクロ命令の上
記ブロックアドレスを含む分岐条件フィールド及び制御
フィールドを記憶する第2の記憶部とを備えて上記マイ
クロ命令を記憶する記憶手段と、 前サイクルに読み出したマイクロ命令の上記分岐条件フ
ィールド及 び前サイクルの演算結果を参照することに
よって分岐を判定する信号 を発生させる分岐判定手段
と、 次サイクルでの演算の制御情報を格納する第4のレジス
タ手段を有し、(3)上記命令実行手段は、該制御情報
に従って次サイクルでの演算を実行する手段を有する、 マイクロプログラム制御装置。 - 【請求項7】請求項4〜6いずれか1項記載の命令発行
手段と読出し/分岐手段 と命令実行手段とをオンチッ
プLSI化してなるマイクロプログラム 制御用LS
I。 - 【請求項8】請求項1〜3いずれか1項の方法をコンピ
ュータ上で実行するためのコンピュータプログラムを記
録した記録媒体。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11102157A JP2000293371A (ja) | 1999-04-09 | 1999-04-09 | マイクロプログラム制御方法及び装置 |
US09/539,898 US6715065B1 (en) | 1999-04-09 | 2000-03-31 | Micro program control method and apparatus thereof having branch instructions |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11102157A JP2000293371A (ja) | 1999-04-09 | 1999-04-09 | マイクロプログラム制御方法及び装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2000293371A true JP2000293371A (ja) | 2000-10-20 |
Family
ID=14319903
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP11102157A Pending JP2000293371A (ja) | 1999-04-09 | 1999-04-09 | マイクロプログラム制御方法及び装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6715065B1 (ja) |
JP (1) | JP2000293371A (ja) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11437032B2 (en) | 2017-09-29 | 2022-09-06 | Shanghai Cambricon Information Technology Co., Ltd | Image processing apparatus and method |
US11740898B2 (en) | 2018-02-13 | 2023-08-29 | Shanghai Cambricon Information Technology Co., Ltd | Computing device and method |
US11630666B2 (en) | 2018-02-13 | 2023-04-18 | Shanghai Cambricon Information Technology Co., Ltd | Computing device and method |
KR102354722B1 (ko) | 2018-02-13 | 2022-01-21 | 상하이 캠브리콘 인포메이션 테크놀로지 컴퍼니 리미티드 | 계산 장치 및 방법 |
CN110162162B (zh) | 2018-02-14 | 2023-08-18 | 上海寒武纪信息科技有限公司 | 处理器的控制装置、方法及设备 |
EP3624020A4 (en) | 2018-05-18 | 2021-05-05 | Shanghai Cambricon Information Technology Co., Ltd | CALCULATION PROCEDURES AND RELATED PRODUCTS |
WO2020001438A1 (zh) | 2018-06-27 | 2020-01-02 | 上海寒武纪信息科技有限公司 | 片上代码断点调试方法、片上处理器及芯片断点调试系统 |
KR102519467B1 (ko) | 2018-08-28 | 2023-04-06 | 캠브리콘 테크놀로지스 코퍼레이션 리미티드 | 데이터 전처리 방법, 장치, 컴퓨터 설비 및 저장 매체 |
WO2020062392A1 (zh) | 2018-09-28 | 2020-04-02 | 上海寒武纪信息科技有限公司 | 信号处理装置、信号处理方法及相关产品 |
CN111385462A (zh) | 2018-12-28 | 2020-07-07 | 上海寒武纪信息科技有限公司 | 信号处理装置、信号处理方法及相关产品 |
CN111832738B (zh) | 2019-04-18 | 2024-01-09 | 中科寒武纪科技股份有限公司 | 一种数据处理方法及相关产品 |
US11934940B2 (en) | 2019-04-18 | 2024-03-19 | Cambricon Technologies Corporation Limited | AI processor simulation |
EP3770823A4 (en) | 2019-06-12 | 2021-01-27 | Shanghai Cambricon Information Technology Co., Ltd | QUANTIFICATION PARAMETER DETERMINATION PROCESS FOR NEURONAL NETWORK, AND RELATED PRODUCT |
US11676029B2 (en) | 2019-06-12 | 2023-06-13 | Shanghai Cambricon Information Technology Co., Ltd | Neural network quantization parameter determination method and related products |
EP4020321A4 (en) | 2019-08-23 | 2024-01-17 | Anhui Cambricon Information Technology Co., Ltd. | DATA PROCESSING METHOD, APPARATUS, COMPUTER APPARATUS AND STORAGE MEDIUM |
EP4024280A4 (en) | 2019-08-27 | 2022-11-16 | Anhui Cambricon Information Technology Co., Ltd. | DATA PROCESSING METHOD AND APPARATUS, COMPUTER EQUIPMENT AND STORAGE MEDIA |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3800293A (en) * | 1972-12-26 | 1974-03-26 | Ibm | Microprogram control subsystem |
GB1443064A (en) * | 1973-07-18 | 1976-07-21 | Int Computers Ltd | Microprogramme unit for a data processor |
JPS52120640A (en) * | 1976-04-02 | 1977-10-11 | Toshiba Corp | Micro program control system |
US4373180A (en) * | 1980-07-09 | 1983-02-08 | Sperry Corporation | Microprogrammed control system capable of pipelining even when executing a conditional branch instruction |
JPS5896349A (ja) | 1981-12-02 | 1983-06-08 | Hitachi Ltd | マイクロ命令制御のデータ処理装置 |
US6112299A (en) * | 1997-12-31 | 2000-08-29 | International Business Machines Corporation | Method and apparatus to select the next instruction in a superscalar or a very long instruction word computer having N-way branching |
-
1999
- 1999-04-09 JP JP11102157A patent/JP2000293371A/ja active Pending
-
2000
- 2000-03-31 US US09/539,898 patent/US6715065B1/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US6715065B1 (en) | 2004-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2000293371A (ja) | マイクロプログラム制御方法及び装置 | |
JPS6313215B2 (ja) | ||
JPH06105429B2 (ja) | マイクロプログラム制御装置 | |
KR100471794B1 (ko) | 가변파이프라인단수의데이터처리장치 | |
US4794518A (en) | Pipeline control system for an execution section of a pipeline computer with multiple selectable control registers in an address control stage | |
JP2008090455A (ja) | マルチプロセッサ信号処理装置 | |
JP3571656B2 (ja) | ポインタレジスタ装置およびポインタ値の更新方法 | |
RU2066067C1 (ru) | Центральный процессор для многопроцессорной вычислительной системы | |
US5475828A (en) | Digital processor having plurality of memories and plurality of arithmetic logic units corresponding in number thereto and method for controlling the same | |
JP2018120448A (ja) | 演算処理装置および情報処理システム | |
US6832309B2 (en) | Generation of modified commands repeatedly from feedback or base command | |
US6044457A (en) | State machine controller capable of producing result per clock cycle using wait/no wait and empty signals to control the advancing of data in pipeline | |
JPS6065342A (ja) | マイクロコンピユ−タ | |
JP3961473B2 (ja) | ベクトル型コンピュータおよびその構成要素であるメモリアクセスリクエスト生成回路 | |
JPH0218732B2 (ja) | ||
JP2982129B2 (ja) | マイクロプログラム制御装置 | |
JPH0338613B2 (ja) | ||
JPS58182772A (ja) | 転送機能を有する記憶装置 | |
JPS58186846A (ja) | マイクロプログラム制御装置 | |
JPH0553794A (ja) | 制御記憶制御回路 | |
JPH1074190A (ja) | 並列プロセッサ | |
JPH0934736A (ja) | 動作切替えコントローラ | |
JPS6069742A (ja) | マイクロプログラム制御方法 | |
JPH0311423A (ja) | ストリングデータ処理機構 | |
JPH0459652B2 (ja) |