JPH0559450B2 - - Google Patents
Info
- Publication number
- JPH0559450B2 JPH0559450B2 JP58003318A JP331883A JPH0559450B2 JP H0559450 B2 JPH0559450 B2 JP H0559450B2 JP 58003318 A JP58003318 A JP 58003318A JP 331883 A JP331883 A JP 331883A JP H0559450 B2 JPH0559450 B2 JP H0559450B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- instruction
- storage means
- stored
- instructions
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/28—Enhancement of operational speed, e.g. by using several microcontrol devices operating in parallel
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- G06F9/267—Microinstruction 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)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
Description
【発明の詳細な説明】
〔発明の利用分野〕
本発明はマイクロプログラム制御機器のパイプ
ライン方式に関するものであり、更に詳しくはダ
ミーサイクルを発生することなく条件分岐を可能
とすることにより高速化を図り、さらに命令を格
納しているメモリをアクセスするとき、アクセス
するアドレスを変更することなく目的の命令を読
み出して条件分岐を可能にしたマイクロプログラ
ム制御機器のパイプライン方式に関する。
ライン方式に関するものであり、更に詳しくはダ
ミーサイクルを発生することなく条件分岐を可能
とすることにより高速化を図り、さらに命令を格
納しているメモリをアクセスするとき、アクセス
するアドレスを変更することなく目的の命令を読
み出して条件分岐を可能にしたマイクロプログラ
ム制御機器のパイプライン方式に関する。
マイクロプログラム制御機器としてメモリ等の
LSI試験器に用いるパターン発生器を取り上げ、
従来技術を説明する。
LSI試験器に用いるパターン発生器を取り上げ、
従来技術を説明する。
一般にメモリ等のLSI試験に際して使用される
テストパターンは、マイクロプログラム制御方式
によつて発生している。従つて、一つのサイクル
は命令の格納番地の指定・命令の読み出し・命令
の解読・命令の実行の各部分によつて成り立ち、
サイクルの最小周期も各部分の最小動作時間の合
計によつて制限されている。
テストパターンは、マイクロプログラム制御方式
によつて発生している。従つて、一つのサイクル
は命令の格納番地の指定・命令の読み出し・命令
の解読・命令の実行の各部分によつて成り立ち、
サイクルの最小周期も各部分の最小動作時間の合
計によつて制限されている。
一方、被試験素子の高速化に伴ない、LSI試験
器、特にテストパターン発生器の高速化が強く望
まれている。
器、特にテストパターン発生器の高速化が強く望
まれている。
マイクロプログラム制御方式のテストパターン
発生を高速化する為の一般に知られた最良の方法
は、パイプライン方式を採ることにより命令の読
み出しと実行を同時並列に行なう事である。しか
し、この方法によつても、プログラムカウンタが
あるアドレスを指定してから、そこに格納されて
いる命令がパイプラインレジスタに保持されるの
は1サイクル後となる。そのため、プログラムカ
ウンタが条件分岐命令の格納されているアドレス
を指定し、条件分岐命令が読み出され、次のアド
レスが確定されるまで2サイクルタイムの時間を
要し、後半の1サイクルタイムの間アドレスが不
確定のままダミーサイクルとなつてしまう。
発生を高速化する為の一般に知られた最良の方法
は、パイプライン方式を採ることにより命令の読
み出しと実行を同時並列に行なう事である。しか
し、この方法によつても、プログラムカウンタが
あるアドレスを指定してから、そこに格納されて
いる命令がパイプラインレジスタに保持されるの
は1サイクル後となる。そのため、プログラムカ
ウンタが条件分岐命令の格納されているアドレス
を指定し、条件分岐命令が読み出され、次のアド
レスが確定されるまで2サイクルタイムの時間を
要し、後半の1サイクルタイムの間アドレスが不
確定のままダミーサイクルとなつてしまう。
LSI試験器のテスト実行中にダミーサイクルが
生じてしまうと、その部分だけテストパイプ発生
に2サイクル要してしまい、実時間での正常なテ
ストが期待できなくなつてしまう。
生じてしまうと、その部分だけテストパイプ発生
に2サイクル要してしまい、実時間での正常なテ
ストが期待できなくなつてしまう。
さらに、命令を格納しているメモリをアクセス
する場合、目的の命令をダミーサイクルを発生す
ることなく読み出せたとしても、アクセウするア
ドレスが変更された場合には、LSIにおける目的
のアドレスをアクセスすることが不可能になり、
LSI試験器のテストパターン発生器としては使用
できない。
する場合、目的の命令をダミーサイクルを発生す
ることなく読み出せたとしても、アクセウするア
ドレスが変更された場合には、LSIにおける目的
のアドレスをアクセスすることが不可能になり、
LSI試験器のテストパターン発生器としては使用
できない。
本発明は上記した従来技術の欠点に鑑みなされ
たもので、マイクロプログラム制御機器を高速で
動作させるため、ダミーサイクルを発生すること
なく条件分岐命令の実行を可能にし、かつ命令を
格納しているメモリをアクセスするとき、アクセ
スするアドレスを変更することなく目的の命令を
読み出して条件分岐を可能にしたマイクロプログ
ラム制御機器のパイプライン方式を提供すること
を目的としている。
たもので、マイクロプログラム制御機器を高速で
動作させるため、ダミーサイクルを発生すること
なく条件分岐命令の実行を可能にし、かつ命令を
格納しているメモリをアクセスするとき、アクセ
スするアドレスを変更することなく目的の命令を
読み出して条件分岐を可能にしたマイクロプログ
ラム制御機器のパイプライン方式を提供すること
を目的としている。
本発明のマイクロプログラム制御機器のパイプ
ライン方式は、命令の先読みを行ない、プログラ
ムカウンタがアドレスを指定すると同時に、対応
する命令がパイプラインレジスタに保持される様
に構成し、また条件分岐命令時には次に実行され
る可能性のある全ての命令と分岐先アドレスを並
列に先読みし、その中から実行する命令を選択す
ることにより、ダミーサイクルの発生を防止する
ものである。本発明においては、命令を先読みす
る為に、メモリへの命令格納位置を操作して「現
在のアドレス」を用いて「次に実行される命令」
の読み出しを行う。
ライン方式は、命令の先読みを行ない、プログラ
ムカウンタがアドレスを指定すると同時に、対応
する命令がパイプラインレジスタに保持される様
に構成し、また条件分岐命令時には次に実行され
る可能性のある全ての命令と分岐先アドレスを並
列に先読みし、その中から実行する命令を選択す
ることにより、ダミーサイクルの発生を防止する
ものである。本発明においては、命令を先読みす
る為に、メモリへの命令格納位置を操作して「現
在のアドレス」を用いて「次に実行される命令」
の読み出しを行う。
次に、本発明の原理について説明する。第1図
aは、従来方式においてアドレスNに条件分岐命
令が格納されている場合を示す図である。アドレ
スNで条件が成立すればアドレスMに分岐し、条
件が成立しなければ分岐は起きずアドレス(N+
1)に進む。第1図bは本発明によるパイプライ
ン方式の命令格納位置の一例を示す図であり、従
来方式のアドレス(N+1)と分岐先アドレスM
の命令をアドレスNに格納する事により、「現在
アドレス」で「次の命令」の先読みをアクセスす
るアドレスを変更することなく可能にするもので
ある。
aは、従来方式においてアドレスNに条件分岐命
令が格納されている場合を示す図である。アドレ
スNで条件が成立すればアドレスMに分岐し、条
件が成立しなければ分岐は起きずアドレス(N+
1)に進む。第1図bは本発明によるパイプライ
ン方式の命令格納位置の一例を示す図であり、従
来方式のアドレス(N+1)と分岐先アドレスM
の命令をアドレスNに格納する事により、「現在
アドレス」で「次の命令」の先読みをアクセスす
るアドレスを変更することなく可能にするもので
ある。
第1図bにおけるアドレスNで条件が成立した
とすると、次のサイクルでプログラムカウンタは
アドレスMを指定する。同時にパイプラインレジ
スタには、アドレスNによつて読み出された命令
(M)が選択され保持される。
とすると、次のサイクルでプログラムカウンタは
アドレスMを指定する。同時にパイプラインレジ
スタには、アドレスNによつて読み出された命令
(M)が選択され保持される。
即ち、第1図bに示す例によれば、メモリの読
み出し内容が常にプログラムカウンタの指示より
1サイクル先行することになり、それを一時保持
するパイプラインレジスタは常にプログラムカウ
ンタの指示に対応することになる。
み出し内容が常にプログラムカウンタの指示より
1サイクル先行することになり、それを一時保持
するパイプラインレジスタは常にプログラムカウ
ンタの指示に対応することになる。
以下添付の図面に示す実施例により、更に詳細
に本発明について説明する。
に本発明について説明する。
第2図は、同一プログラムを実行する場合の従
来例による命令格納位置と本発明のパイプライン
方式による命令格納位置の相違を示す図であり、
第2図aが従来例の命令格納位置を示し、第2図
bが本発明のパイプライン方式の命令格納位置を
示している。同図において、MOPはノーオペレ
ーシヨンであり、プログラムカウンタをインクリ
メントする。JMPはジヤンプであり、オペラン
ドに示されたアドレスに分岐する。JCはジヤン
プコンデイシヨナリーであり、条件が成立した時
に限りオペランドのアドレスに分岐する。SBR
はサブルーチンコントロールであり、SCはサブ
ルーチンコントロールコンデイシヨナリーであ
り、条件が成立した時に限りサブルーチンをコン
トロールする。RETはリターンである。
来例による命令格納位置と本発明のパイプライン
方式による命令格納位置の相違を示す図であり、
第2図aが従来例の命令格納位置を示し、第2図
bが本発明のパイプライン方式の命令格納位置を
示している。同図において、MOPはノーオペレ
ーシヨンであり、プログラムカウンタをインクリ
メントする。JMPはジヤンプであり、オペラン
ドに示されたアドレスに分岐する。JCはジヤン
プコンデイシヨナリーであり、条件が成立した時
に限りオペランドのアドレスに分岐する。SBR
はサブルーチンコントロールであり、SCはサブ
ルーチンコントロールコンデイシヨナリーであ
り、条件が成立した時に限りサブルーチンをコン
トロールする。RETはリターンである。
第2図aに示す従来の命令格納位置では、実行
されるべき命令を実行されるべきアドレスに格納
している。これに対して、第2図bに示す本発明
のテストパターン発生器の命令格納位置では、次
に実行される可能性のある命令を現在のアドレス
に格納している。第2図bに示す命令格納位置
は、簡単な手順に従つて第2図aに示す命令格納
位置から得られる。第2図bに示すメモリAに
は、第2図aにおける対応するアドレスの次のア
ドレスに格納されている命令を格納する。例え
ば、第2図bのメモリAのアドレス1に格納され
ている命令JC5は、第2図aのアドレス2に格
納されているものである。又、第2図bのメモリ
Aのアドレス2に格納されている命令NOPは、
第2図aのアドレス3に格納されているものであ
る。第2図bのメモリBに何らかの命令が格納さ
れる場合は、第2図aの対応するアドレスに分岐
命令又は条件分岐命令が格納されている場合であ
る。第2図bのメモリBに格納される命令は、第
2図aの対応するアドレスに格納されている分岐
命令の分岐先に格納されている命令である。例え
ば、第2図bのメモリBのアドレス4に格納され
ている命令SBR10は、第2図aのアドレス4
に格納されている命令JC8の分岐先であるアド
レス8に格納されている命令である。又、第2図
bのメモリBのアドレス6に格納されている命令
NOPは、第2図aのアドレス6に格納されてい
る命令SC10の分岐先であるアドレス10に格
納されている命令である。
されるべき命令を実行されるべきアドレスに格納
している。これに対して、第2図bに示す本発明
のテストパターン発生器の命令格納位置では、次
に実行される可能性のある命令を現在のアドレス
に格納している。第2図bに示す命令格納位置
は、簡単な手順に従つて第2図aに示す命令格納
位置から得られる。第2図bに示すメモリAに
は、第2図aにおける対応するアドレスの次のア
ドレスに格納されている命令を格納する。例え
ば、第2図bのメモリAのアドレス1に格納され
ている命令JC5は、第2図aのアドレス2に格
納されているものである。又、第2図bのメモリ
Aのアドレス2に格納されている命令NOPは、
第2図aのアドレス3に格納されているものであ
る。第2図bのメモリBに何らかの命令が格納さ
れる場合は、第2図aの対応するアドレスに分岐
命令又は条件分岐命令が格納されている場合であ
る。第2図bのメモリBに格納される命令は、第
2図aの対応するアドレスに格納されている分岐
命令の分岐先に格納されている命令である。例え
ば、第2図bのメモリBのアドレス4に格納され
ている命令SBR10は、第2図aのアドレス4
に格納されている命令JC8の分岐先であるアド
レス8に格納されている命令である。又、第2図
bのメモリBのアドレス6に格納されている命令
NOPは、第2図aのアドレス6に格納されてい
る命令SC10の分岐先であるアドレス10に格
納されている命令である。
第3図は本発明のマイクロプログラム制御機器
のパイプライン方式の第1の実施例を示すブロツ
ク図である。同図において、プログラムカウンタ
1はメモリA,Bのアドレスを指定する。メモリ
A,Bは第2図bに示した位置に命令を格納す
る。選択器2は、メモリA,Bからそれぞれ出力
される次アドレスの命令S1と分岐先アドレスの
命令S2のうちいずれか一方を選択して出力す
る。パイプラインレジスタ3は、選択器2によつ
て選択された命令を一時保持する。実行部4は、
パイプラインレジスタ3に一時保持された命令を
解読し、プログラムカウンタ1や選択器2等の動
作を指示する。レジスタフアイル5は、サブルー
チンコール時の戻りアドレスにおける命令を一時
記憶する為のメモリであり、発明の本質的なもの
ではない。
のパイプライン方式の第1の実施例を示すブロツ
ク図である。同図において、プログラムカウンタ
1はメモリA,Bのアドレスを指定する。メモリ
A,Bは第2図bに示した位置に命令を格納す
る。選択器2は、メモリA,Bからそれぞれ出力
される次アドレスの命令S1と分岐先アドレスの
命令S2のうちいずれか一方を選択して出力す
る。パイプラインレジスタ3は、選択器2によつ
て選択された命令を一時保持する。実行部4は、
パイプラインレジスタ3に一時保持された命令を
解読し、プログラムカウンタ1や選択器2等の動
作を指示する。レジスタフアイル5は、サブルー
チンコール時の戻りアドレスにおける命令を一時
記憶する為のメモリであり、発明の本質的なもの
ではない。
次に、第3図に示す第1の実施例の動作を第4
図に示すシーケンスチヤートを用いて説明する。
第4図は、第2図bに示したプログラム例を実行
した場合のシーケンスチヤートである。先ず、初
期状態においてパイプラインレジスタ3に、開始
するアドレスに本来対応している命令(従来の方
式において開始アドレスに格納される命令)を入
れておく。第4図においては、アドレス1から開
始するので、パイプラインレジスタ3に命令
NOPを格納しておく。次に、実行部4はこれを
解読し、プログラムカウンタ1にプログラムカウ
ンタ制御信号S4を出力してカウントアツプを指
示し、選択器2に選択信号S3を出力してメモリ
Aからの次アドレスの命令S1(非分岐時命令、
JC5)を選択することを指示する。次のクロツ
クで、プログラムカウンタ1はアドレス2を指示
し、メモリA,Bからの読み出しが行なわれ、パ
イプラインレジスタ3には選択器2を介してアド
レス2に本来対応している命令(従来の方式にお
いて、アドレス2の格納されるべき命令)LC5
が一時保持される。実行部4は命令JC5と条件
信号S5を解読し、条件が成立している場合には
プログラムカウンタ1にプログラムカウンタ制御
信号S4を出力してメモリA,Bからのパラレル
データロードを指示し、選択器2には選択信号S
3を出力してメモリBからの分岐命令S2(分岐
時命令、NOP)を選択する様に指示する。次の
クロツクでプログラムカウンタ1は、パイプライ
ンレジスタ3から出力される分岐先アドレスS6
を受けてアドレス5を指示し、メモリA,Bから
の読み出しが行なわれ、パイプラインレジスタ3
には選択器2を介してメモリBから読み出された
アドレス5の本来の命令であるNOPが保持され
る。以下同様に動作して、プログラムカウンタ1
の指示するアドレス本来の命令がパイプラインレ
ジスタ3に保持され、その入力には次に実行され
る可能性のあるすべての命令が選択器2を通して
セツトアツプされている事になる。以上の説明か
ら明らかな様に、本実施例によれば、条件分岐時
であつてもダミーサイクルを発生することなく、
かつアクセスするメモリアドレスを変更すること
なく、目的の命令を読み出して条件分岐を可能に
している。
図に示すシーケンスチヤートを用いて説明する。
第4図は、第2図bに示したプログラム例を実行
した場合のシーケンスチヤートである。先ず、初
期状態においてパイプラインレジスタ3に、開始
するアドレスに本来対応している命令(従来の方
式において開始アドレスに格納される命令)を入
れておく。第4図においては、アドレス1から開
始するので、パイプラインレジスタ3に命令
NOPを格納しておく。次に、実行部4はこれを
解読し、プログラムカウンタ1にプログラムカウ
ンタ制御信号S4を出力してカウントアツプを指
示し、選択器2に選択信号S3を出力してメモリ
Aからの次アドレスの命令S1(非分岐時命令、
JC5)を選択することを指示する。次のクロツ
クで、プログラムカウンタ1はアドレス2を指示
し、メモリA,Bからの読み出しが行なわれ、パ
イプラインレジスタ3には選択器2を介してアド
レス2に本来対応している命令(従来の方式にお
いて、アドレス2の格納されるべき命令)LC5
が一時保持される。実行部4は命令JC5と条件
信号S5を解読し、条件が成立している場合には
プログラムカウンタ1にプログラムカウンタ制御
信号S4を出力してメモリA,Bからのパラレル
データロードを指示し、選択器2には選択信号S
3を出力してメモリBからの分岐命令S2(分岐
時命令、NOP)を選択する様に指示する。次の
クロツクでプログラムカウンタ1は、パイプライ
ンレジスタ3から出力される分岐先アドレスS6
を受けてアドレス5を指示し、メモリA,Bから
の読み出しが行なわれ、パイプラインレジスタ3
には選択器2を介してメモリBから読み出された
アドレス5の本来の命令であるNOPが保持され
る。以下同様に動作して、プログラムカウンタ1
の指示するアドレス本来の命令がパイプラインレ
ジスタ3に保持され、その入力には次に実行され
る可能性のあるすべての命令が選択器2を通して
セツトアツプされている事になる。以上の説明か
ら明らかな様に、本実施例によれば、条件分岐時
であつてもダミーサイクルを発生することなく、
かつアクセスするメモリアドレスを変更すること
なく、目的の命令を読み出して条件分岐を可能に
している。
第5図は、第2図と同じく同一プログラムを実
行する場合の従来例による命令格納位置と本発明
のパイプライン方式による命令格納位置の相違を
示す図である。第5図aは第2図aと全く同一の
従来例の命令格納位置を示し、第5図bは第6図
に示す第2の実施例を命令格納位置を示してい
る。第2図bに示す命令格納位置を示す図と異つ
ている点は、メモリAおよびメモリBには分岐先
を示すオペランド部分を格納しない事である。そ
の代わりにオペランド専用のメモリOPDを設け、
ここに従来方式と同じアドレスにオペランド(分
岐先アドレス)を格納する。
行する場合の従来例による命令格納位置と本発明
のパイプライン方式による命令格納位置の相違を
示す図である。第5図aは第2図aと全く同一の
従来例の命令格納位置を示し、第5図bは第6図
に示す第2の実施例を命令格納位置を示してい
る。第2図bに示す命令格納位置を示す図と異つ
ている点は、メモリAおよびメモリBには分岐先
を示すオペランド部分を格納しない事である。そ
の代わりにオペランド専用のメモリOPDを設け、
ここに従来方式と同じアドレスにオペランド(分
岐先アドレス)を格納する。
第6図は上記したメモリA,B,OPDを備え
た本発明の第2の実施例を示す図であり、第3図
に示す第1の実施例と同一部分には同一符号を付
してその説明を省略する。同図において、メモリ
A,B,OPDはそれぞれ第5図bに示す命令・
オペランドを格納している。第6図に示す第2の
実施例の動作は、メモリOPDが加わつた事とメ
モリA,Bのビツト幅が減少したことを除けば、
第3図に示す第1の実施例の動作と同一である。
すなわち、第3図に示す第1の実施例において
は、分岐先アドレスはメモリAに格納されてお
り、プログラムカウンタ1によつて読み出された
後、選択器2を介してパイプラインレジスタ3に
格納され、パイプラインレジスタ3からプログラ
ムメモリ1に分岐先アドレスS6として与えられ
た。しかし、第6図に示す第2の実施例において
は、分岐先アドレスはプログラムカウンタ1によ
つてアドレス指示されたメモリOPDから直接読
み出され、プログラムカウンタ1に与えられる。
したがつて、第2の実施例の動作は、第4図に示
すシーケンスチヤートとほぼ同様になる。わずか
に相違する点は、第4図に示すメモリAの内容と
パイプラインレジスタ3の内容において、アドレ
スを示す数字がなくなり、その代わりに分岐時に
はメモリOPDから直接アドレスを示す数字が読
み出されて、アドレスカウンタ1に与えられるこ
とである。具体的には、例えばプログラムカンウ
タ1の値が2のときパイプラインレジスタ3に
JCが格納され、このときメモリOPDのアドレス
2から5が読み出され、アドレスカウンタ1に与
えられる。したがつて、第6図に示す実施例にお
いては、第3図に示す第1の実施例と同様の動作
が行なわれる。
た本発明の第2の実施例を示す図であり、第3図
に示す第1の実施例と同一部分には同一符号を付
してその説明を省略する。同図において、メモリ
A,B,OPDはそれぞれ第5図bに示す命令・
オペランドを格納している。第6図に示す第2の
実施例の動作は、メモリOPDが加わつた事とメ
モリA,Bのビツト幅が減少したことを除けば、
第3図に示す第1の実施例の動作と同一である。
すなわち、第3図に示す第1の実施例において
は、分岐先アドレスはメモリAに格納されてお
り、プログラムカウンタ1によつて読み出された
後、選択器2を介してパイプラインレジスタ3に
格納され、パイプラインレジスタ3からプログラ
ムメモリ1に分岐先アドレスS6として与えられ
た。しかし、第6図に示す第2の実施例において
は、分岐先アドレスはプログラムカウンタ1によ
つてアドレス指示されたメモリOPDから直接読
み出され、プログラムカウンタ1に与えられる。
したがつて、第2の実施例の動作は、第4図に示
すシーケンスチヤートとほぼ同様になる。わずか
に相違する点は、第4図に示すメモリAの内容と
パイプラインレジスタ3の内容において、アドレ
スを示す数字がなくなり、その代わりに分岐時に
はメモリOPDから直接アドレスを示す数字が読
み出されて、アドレスカウンタ1に与えられるこ
とである。具体的には、例えばプログラムカンウ
タ1の値が2のときパイプラインレジスタ3に
JCが格納され、このときメモリOPDのアドレス
2から5が読み出され、アドレスカウンタ1に与
えられる。したがつて、第6図に示す実施例にお
いては、第3図に示す第1の実施例と同様の動作
が行なわれる。
尚、以上の実施例では分岐先が2つの場合を例
として説明したが、本発明はこれに限定されるも
のではなく、分岐先がN個ある場合も適用でき
る。この場合には、メモリをN個並列に設ける事
により実施可能となる。又、命令の格納位置も1
サイクル分の先読み位置としたが、2サイクル以
上分の先読み位置に格納した場合は、メモリのイ
ンターリーブが可能になる。
として説明したが、本発明はこれに限定されるも
のではなく、分岐先がN個ある場合も適用でき
る。この場合には、メモリをN個並列に設ける事
により実施可能となる。又、命令の格納位置も1
サイクル分の先読み位置としたが、2サイクル以
上分の先読み位置に格納した場合は、メモリのイ
ンターリーブが可能になる。
第7図は、本発明の第3の実施例を示すブロツ
ク図であり、3ウエイインターリーブを行うもの
である。本実施例ではプログラムカウンタP1と
メモリM1、プログラムカウンタP2とメモリM
2、プログラムカウンタP3とメモリM3の三つ
のユニツト間でインターリーブを行ない、見かけ
上各メモリM1,M2,M3が動作している速度
の3倍の速さで各メモリM1,M2,M3から命
令が読み出される。
ク図であり、3ウエイインターリーブを行うもの
である。本実施例ではプログラムカウンタP1と
メモリM1、プログラムカウンタP2とメモリM
2、プログラムカウンタP3とメモリM3の三つ
のユニツト間でインターリーブを行ない、見かけ
上各メモリM1,M2,M3が動作している速度
の3倍の速さで各メモリM1,M2,M3から命
令が読み出される。
第7図に示す実施例の動作について次に説明す
る。プログラムカウンタP1,P2,P3は実行
部4から出力されるプログラムカウンタ制御信号
S4a,S4b,S4cによつて順番に更新され
る。そして、各メモリM1,M2,M3のアドレ
スNには、従来の方式においてアドレスNに格納
される命令の3サイクル後に実行される可能性の
あるすべての命令が格納されている。選択器2は
上記各メモリM1,M2,M3の出力を順番に選
択し、更に選択されたメモリM1,M2,M3か
ら出力されている複数の命令のなかから次に実行
するべき命令を実行部4からの選択信号S3に従
つて一つ選択する。パイプラインレジスタ3は、
選択器2で選択された命令を一時保持する。実行
部4は、パイプラインレジスタ3に一時保持され
た命令に従つて選択器2へ選択信号S3を出力す
るとともに、三つのプログラムカウンタP1,P
2,P3のうち順次選択されるいずれか一つのプ
ログラムカウンタにプログラムカウンタ制御信号
S4a,S4b,S4cを出力する。
る。プログラムカウンタP1,P2,P3は実行
部4から出力されるプログラムカウンタ制御信号
S4a,S4b,S4cによつて順番に更新され
る。そして、各メモリM1,M2,M3のアドレ
スNには、従来の方式においてアドレスNに格納
される命令の3サイクル後に実行される可能性の
あるすべての命令が格納されている。選択器2は
上記各メモリM1,M2,M3の出力を順番に選
択し、更に選択されたメモリM1,M2,M3か
ら出力されている複数の命令のなかから次に実行
するべき命令を実行部4からの選択信号S3に従
つて一つ選択する。パイプラインレジスタ3は、
選択器2で選択された命令を一時保持する。実行
部4は、パイプラインレジスタ3に一時保持され
た命令に従つて選択器2へ選択信号S3を出力す
るとともに、三つのプログラムカウンタP1,P
2,P3のうち順次選択されるいずれか一つのプ
ログラムカウンタにプログラムカウンタ制御信号
S4a,S4b,S4cを出力する。
以上の動作説明から明らかな様に、例えばプロ
グラムカウンタP1の値が更新され、メモリM1
に対して新しいアドレスが指示されてから3サイ
クル後に、選択器2によりメモリM1から読み出
された複数の命令の一つが選択・出力される。こ
こで、前記した様にメモリM1には3サイクル後
に実行される可能性のある全ての命令が記憶され
ているから、ダミーサイクルを発生することな
く、しかもアクセスするメモリアドレスを変更す
ることなく、次に実行される命令が読み出せるこ
とになる。
グラムカウンタP1の値が更新され、メモリM1
に対して新しいアドレスが指示されてから3サイ
クル後に、選択器2によりメモリM1から読み出
された複数の命令の一つが選択・出力される。こ
こで、前記した様にメモリM1には3サイクル後
に実行される可能性のある全ての命令が記憶され
ているから、ダミーサイクルを発生することな
く、しかもアクセスするメモリアドレスを変更す
ることなく、次に実行される命令が読み出せるこ
とになる。
上記した第3の実施例では3ウエイインターリ
ーブの場合を想定したが、本発明は言うまでもな
くこれに限定されるものではない。又、前記第1
及び第2及び第3の実施例では、選択手段2の後
に一時保持用のパイプラインレジスタ3を設けた
が、本発明はこれに限定されるものではなく、こ
れらを入れ換えて一時保持手段の後に選択手段を
設けてもよい。
ーブの場合を想定したが、本発明は言うまでもな
くこれに限定されるものではない。又、前記第1
及び第2及び第3の実施例では、選択手段2の後
に一時保持用のパイプラインレジスタ3を設けた
が、本発明はこれに限定されるものではなく、こ
れらを入れ換えて一時保持手段の後に選択手段を
設けてもよい。
以上の説明から明らかな様に、本発明によれ
ば、ダミーサイクルを発生することのない、しか
もアクセスするメモリアドレスを変更することの
ないパイプライン構成、インターリーブ構成を採
用することが可能となり、その結果マイクロプロ
グラム制御機器の一層の高速化を図ることが可能
になる。
ば、ダミーサイクルを発生することのない、しか
もアクセスするメモリアドレスを変更することの
ないパイプライン構成、インターリーブ構成を採
用することが可能となり、その結果マイクロプロ
グラム制御機器の一層の高速化を図ることが可能
になる。
本発明の採用が最も顕著な効果を発揮する例と
して、半導体記憶素子や大規模集積論理回路等を
試験するIC試験装置のパターン発生器の制御部
への適用があげられる。しかし、本発明はこれに
限定されるものではなく、広くマイクロプログラ
ム制御機器に応用できることは言うまでもない。
して、半導体記憶素子や大規模集積論理回路等を
試験するIC試験装置のパターン発生器の制御部
への適用があげられる。しかし、本発明はこれに
限定されるものではなく、広くマイクロプログラ
ム制御機器に応用できることは言うまでもない。
又、本発明における記憶手段への命令格納位置
の編集はリフトウエアによつて行なつても良い
し、専用のハードウエアによつて行なつても良い
し、両者の組み合せによつて行なつても良い。
の編集はリフトウエアによつて行なつても良い
し、専用のハードウエアによつて行なつても良い
し、両者の組み合せによつて行なつても良い。
第1図aは従来の命令格納位置を示す説明図、
第1図bは本発明のマイクロプログラム制御機器
のパイプライン方式による命令格納位置を示す説
明図、第2図aは従来の命令格納位置の具体例を
示す図、第2図bは本発明のマイクロプログラム
制御機器のパイプライン方式による命令格納位置
を示す第1の例を示す図、第3図は本発明のマイ
クロプログラム制御機器のパイプライン方式の第
1の実施例を示すブロツク図、第4図は第3図に
示す第1の実施例の動作を示すシーケンスチヤー
ト、第5図aは従来の命令格納位置の具体例を示
す図、第5図bは本発明のマイクロプログラム制
御機器のパイプライン方式による命令格納位置の
他の具体例を示す図、第6図は本発明のマイクロ
プログラム制御機器のパイプライン方式の第2の
実施例を示すブロツク図、第7図は本発明のマイ
クロプログラム制御機器のパイプライン方式の第
3の実施例を示すブロツク図である。 1,P1,P2,P3……プログラムカウン
タ、2……選択器、3……パイプラインレジス
タ、4……実行部、5……レジスタフアイル、
A,B,OPD,M1,M2,M3……メモリ。
第1図bは本発明のマイクロプログラム制御機器
のパイプライン方式による命令格納位置を示す説
明図、第2図aは従来の命令格納位置の具体例を
示す図、第2図bは本発明のマイクロプログラム
制御機器のパイプライン方式による命令格納位置
を示す第1の例を示す図、第3図は本発明のマイ
クロプログラム制御機器のパイプライン方式の第
1の実施例を示すブロツク図、第4図は第3図に
示す第1の実施例の動作を示すシーケンスチヤー
ト、第5図aは従来の命令格納位置の具体例を示
す図、第5図bは本発明のマイクロプログラム制
御機器のパイプライン方式による命令格納位置の
他の具体例を示す図、第6図は本発明のマイクロ
プログラム制御機器のパイプライン方式の第2の
実施例を示すブロツク図、第7図は本発明のマイ
クロプログラム制御機器のパイプライン方式の第
3の実施例を示すブロツク図である。 1,P1,P2,P3……プログラムカウン
タ、2……選択器、3……パイプラインレジス
タ、4……実行部、5……レジスタフアイル、
A,B,OPD,M1,M2,M3……メモリ。
Claims (1)
- 【特許請求の範囲】 1 命令を格納する為の記憶手段と、該記憶手段
にアドレス信号を出力するアドレス指定手段と、
該アドレス指定手段により上記記憶手段から読み
出される複数の命令のうちから1つの命令を選択
する選択手段と、選択された命令を一時保持する
保持手段と、該一時保持された命令を解読し、そ
の命令内容に応じた指示を各部に与える実行部と
からなり、上記記憶手段に格納された命令を順次
実行することにより、上記アドレス指定手段から
A0,A1,A2,A3……At,A(t+1)…
…なる所望のアドレス系列をクロツクサイクル毎
に発生するマイクロプログラム制御機器のパイプ
ライン方式であつて、 上記記憶手段は、第1の記憶手段と第2の記憶
手段とからなり、あるクロツクサイクルtで発生
したアドレスを元にして、次のクロツクサイクル
t+1において発生するアドレスを規定する為に
必要なアドレス増分あるいは直接のアドレス値を
示す情報を明示的あるいは暗黙的に有した命令を
上記第1の記憶手段における上記クロツクサイク
ルtで発生したアドレスから1減じたアドレスに
格納しておくことともに、該命令が分岐命令のと
きは次のクロツクサイクルt+1での発生アドレ
スを元にして更に次のクロツクサイクルt+2で
のアドレスを発生するのに必要な命令を上記第2
の記憶手段における上記クロツクサイクルtで発
生したアドレスに格納し、 上記実行部は、上記保持手段に保持された命令
の有するアドレス増分及び上記アドレス指定手段
の指定するアドレスとの演算結果あるいは該命令
が指定する直接のアドレス値をもつて上記アドレ
ス指定手段の内容を更新するように構成したこと
を特徴とするマイクロプログラム制御機器のパイ
プライン方式。 2 上記記憶手段が、分岐先アドレスを示すオペ
ランドデータを、分岐元のアドレスに格納した第
3の記憶手段も有することを特徴とする特許請求
の範囲第1項に記載のマイクロプログラム制御機
器のパイプライン方式。
Priority Applications (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP331883A JPS59128642A (ja) | 1983-01-14 | 1983-01-14 | マイクロプログラム制御機器のパイプライン方式 |
| PCT/JP1984/000002 WO1984002785A1 (fr) | 1983-01-14 | 1984-01-11 | Systeme de pipeline pour unite de commande de microprogramme |
| EP19840900531 EP0142562B1 (en) | 1983-01-14 | 1984-01-11 | Pipeline system for microprogram control unit |
| DE8484900531T DE3483875D1 (de) | 1983-01-14 | 1984-01-11 | Pipelinesystem fuer mikroprogrammsteuereinheit. |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP331883A JPS59128642A (ja) | 1983-01-14 | 1983-01-14 | マイクロプログラム制御機器のパイプライン方式 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS59128642A JPS59128642A (ja) | 1984-07-24 |
| JPH0559450B2 true JPH0559450B2 (ja) | 1993-08-31 |
Family
ID=11554004
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP331883A Granted JPS59128642A (ja) | 1983-01-14 | 1983-01-14 | マイクロプログラム制御機器のパイプライン方式 |
Country Status (4)
| Country | Link |
|---|---|
| EP (1) | EP0142562B1 (ja) |
| JP (1) | JPS59128642A (ja) |
| DE (1) | DE3483875D1 (ja) |
| WO (1) | WO1984002785A1 (ja) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS62501940A (ja) * | 1985-02-20 | 1987-07-30 | マジエラン コ−ポレイシヨン(オ−ストラリア)プロプライエタリ リミテイツド | マイクロプログラム・コントロ−ラの改良 |
| JPS63247833A (ja) * | 1987-04-02 | 1988-10-14 | Hitachi Ltd | 条件分岐命令制御方法 |
| JPH0421129A (ja) * | 1990-05-16 | 1992-01-24 | Nec Corp | 命令キャッシュ装置 |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5231692B2 (ja) * | 1971-01-25 | 1977-08-16 | ||
| JPS529342B2 (ja) * | 1971-10-09 | 1977-03-15 | ||
| US3800293A (en) * | 1972-12-26 | 1974-03-26 | Ibm | Microprogram control subsystem |
| DE2445390C3 (de) * | 1974-09-23 | 1979-02-01 | Siemens Ag, 1000 Berlin Und 8000 Muenchen | Überlappt betriebener, taktgesteuerter Speicher |
| JPS5169965A (en) * | 1974-12-14 | 1976-06-17 | Fujitsu Ltd | Maikuro puroguramuseigihoshiki |
| JPS5244535A (en) * | 1975-10-06 | 1977-04-07 | Hitachi Ltd | Information processing equipment |
-
1983
- 1983-01-14 JP JP331883A patent/JPS59128642A/ja active Granted
-
1984
- 1984-01-11 DE DE8484900531T patent/DE3483875D1/de not_active Expired - Lifetime
- 1984-01-11 WO PCT/JP1984/000002 patent/WO1984002785A1/ja not_active Ceased
- 1984-01-11 EP EP19840900531 patent/EP0142562B1/en not_active Expired
Also Published As
| Publication number | Publication date |
|---|---|
| EP0142562B1 (en) | 1990-12-27 |
| EP0142562A1 (en) | 1985-05-29 |
| WO1984002785A1 (fr) | 1984-07-19 |
| EP0142562A4 (en) | 1986-04-15 |
| JPS59128642A (ja) | 1984-07-24 |
| DE3483875D1 (de) | 1991-02-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR100242619B1 (ko) | 메모리 회로와 기능적 유니트 그룹을 포함하는 프로세싱 디바이스 | |
| JPH0115093B2 (ja) | ||
| US4541045A (en) | Microprocessor architecture employing efficient operand and instruction addressing | |
| US4759021A (en) | Test pattern generator | |
| US5657486A (en) | Automatic test equipment with pipelined sequencer | |
| US4758949A (en) | Information processing apparatus | |
| JPH0773037A (ja) | プロセッサの制御機構検証用命令列の自動生成方法及び装置 | |
| JPH0559450B2 (ja) | ||
| JPH0363092B2 (ja) | ||
| JPS6049340B2 (ja) | 分岐命令先取り方式 | |
| US8200943B2 (en) | Microprocessor | |
| JPH0444136A (ja) | メモリアクセス制御装置 | |
| US6996755B2 (en) | Squence control circuit | |
| JP2629899B2 (ja) | タグ分岐装置 | |
| JPH0575985B2 (ja) | ||
| JP2982129B2 (ja) | マイクロプログラム制御装置 | |
| JP2581214B2 (ja) | 論理シミュレータ | |
| JP2004206425A (ja) | トレース装置 | |
| JPH02100137A (ja) | 命令実行制御方式 | |
| JPS60168237A (ja) | 演算装置 | |
| JPS58195255A (ja) | デ−タ処理装置 | |
| JPS6113607B2 (ja) | ||
| JPS62222333A (ja) | マイクロプログラム処理方法及び装置 | |
| JPH0713759A (ja) | 情報処理装置 | |
| JPS62278637A (ja) | マイクロプログラム制御器 |