JPH1165838A - 演算装置およびこの演算装置における待ち時間の設定方法 - Google Patents
演算装置およびこの演算装置における待ち時間の設定方法Info
- Publication number
- JPH1165838A JPH1165838A JP21878397A JP21878397A JPH1165838A JP H1165838 A JPH1165838 A JP H1165838A JP 21878397 A JP21878397 A JP 21878397A JP 21878397 A JP21878397 A JP 21878397A JP H1165838 A JPH1165838 A JP H1165838A
- Authority
- JP
- Japan
- Prior art keywords
- address
- instruction
- microcode
- micro
- stored
- 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
Landscapes
- Executing Machine-Instructions (AREA)
Abstract
(57)【要約】
【課題】 プログラマが各命令の実行サイクル数を加算
しながらプログラミングする必要があり、作業に手間が
かかるとともに正確な時間を設定することが困難であっ
た。 【解決手段】 制御ROM1bには、各アドレスに対応
したデータパス部7の制御情報が格納されている。一
方、シーケンスROM1aには次に実行すべきマイクロ
コードの格納番地が格納されており、信号S0〜SJは
データパス部7に送られアドレスAに対応する仕事をデ
ータパス部7に行わせる。
しながらプログラミングする必要があり、作業に手間が
かかるとともに正確な時間を設定することが困難であっ
た。 【解決手段】 制御ROM1bには、各アドレスに対応
したデータパス部7の制御情報が格納されている。一
方、シーケンスROM1aには次に実行すべきマイクロ
コードの格納番地が格納されており、信号S0〜SJは
データパス部7に送られアドレスAに対応する仕事をデ
ータパス部7に行わせる。
Description
【0001】
【発明の属する技術分野】この発明は、指定されたマシ
ンサイクル数だけウエイトサイクルを挿入することがで
きる演算装置およびこの演算装置における待ち時間の設
定方法に関するものである。
ンサイクル数だけウエイトサイクルを挿入することがで
きる演算装置およびこの演算装置における待ち時間の設
定方法に関するものである。
【0002】
【従来の技術】図10は従来の演算装置におけるNOP
命令による待ち時間の設定方法を示すフローチャート、
図11は従来の演算装置における他のNOP命令による
待ち時間の設定方法を示すフローチャート、図12は従
来の演算装置におけるタイマを用いた待ち時間設定方法
を示すフローチャートである。図10は待ち時間が短い
場合のプログラムの流れであり、複数個のNOP命令を
命令Aと命令Bとの間に挿入するものであり、例えば、
NOP命令1個の実行に2サイクル必要であるとすれ
ば、10個のNOP命令を挿入することにより、20サ
イクルの待ち時間を設定することができる。
命令による待ち時間の設定方法を示すフローチャート、
図11は従来の演算装置における他のNOP命令による
待ち時間の設定方法を示すフローチャート、図12は従
来の演算装置におけるタイマを用いた待ち時間設定方法
を示すフローチャートである。図10は待ち時間が短い
場合のプログラムの流れであり、複数個のNOP命令を
命令Aと命令Bとの間に挿入するものであり、例えば、
NOP命令1個の実行に2サイクル必要であるとすれ
ば、10個のNOP命令を挿入することにより、20サ
イクルの待ち時間を設定することができる。
【0003】また、図11は待ち時間が長い場合のプロ
グラムの流れであり、時間待ちのループを命令Aと命令
Bとの間に挿入するものであり、例えば、Aレジスタに
‘8’をセットした後、Aレジスタの内容をデクリメン
トし、Aレジスタの内容が‘0’であれば次の命令に移
行し、‘0’でなければDECAに戻るものである。図
12は待ち時間が長い場合のプログラムの流れであり、
マイクロコンピュータに内蔵されている汎用タイマを利
用して待ち時間を設定できるものであり、命令Aと命令
Bとの間にタイマをスタートさせる命令と初期設定され
たサイクルをカウントすると割り込み発生を行なわせタ
イマを終了させるものである。
グラムの流れであり、時間待ちのループを命令Aと命令
Bとの間に挿入するものであり、例えば、Aレジスタに
‘8’をセットした後、Aレジスタの内容をデクリメン
トし、Aレジスタの内容が‘0’であれば次の命令に移
行し、‘0’でなければDECAに戻るものである。図
12は待ち時間が長い場合のプログラムの流れであり、
マイクロコンピュータに内蔵されている汎用タイマを利
用して待ち時間を設定できるものであり、命令Aと命令
Bとの間にタイマをスタートさせる命令と初期設定され
たサイクルをカウントすると割り込み発生を行なわせタ
イマを終了させるものである。
【0004】
【発明が解決しようとする課題】従来の演算装置および
この演算装置における待ち時間の設定方法は以上のよう
に構成されているので、NOP命令を用いた待ち時間の
設定方法では、プログラマが各命令(NOP命令あるい
はループを構成する命令)の実行サイクル数を加算しな
がらプログラミングする必要があり、作業に手間がかか
るとともに正確な時間を設定することが困難であった。
特に、パイプライン処理や命令の先取り機能等を取り入
れた最近の高機能なマイクロコンピュータでは、各命令
の実行サイクル数の正確な算出自体が困難であるなどの
課題があった。
この演算装置における待ち時間の設定方法は以上のよう
に構成されているので、NOP命令を用いた待ち時間の
設定方法では、プログラマが各命令(NOP命令あるい
はループを構成する命令)の実行サイクル数を加算しな
がらプログラミングする必要があり、作業に手間がかか
るとともに正確な時間を設定することが困難であった。
特に、パイプライン処理や命令の先取り機能等を取り入
れた最近の高機能なマイクロコンピュータでは、各命令
の実行サイクル数の正確な算出自体が困難であるなどの
課題があった。
【0005】また、汎用タイマを用いた待ち時間設定
は、タイマの初期設定や割り込み処理ルーチンの用意な
ど、余分なプログラミングが多く必要であり、また短い
待ち時間の設定には不向きであるなどの課題があった。
は、タイマの初期設定や割り込み処理ルーチンの用意な
ど、余分なプログラミングが多く必要であり、また短い
待ち時間の設定には不向きであるなどの課題があった。
【0006】この発明は上記のような課題を解決するた
めになされたもので、待ち時間を容易に、かつ正確に設
定できるとともに、待ち時間を少ないプログラム量で設
定することができる演算装置およびこの演算装置におけ
る待ち時間の設定方法を得ることを目的とする。
めになされたもので、待ち時間を容易に、かつ正確に設
定できるとともに、待ち時間を少ないプログラム量で設
定することができる演算装置およびこの演算装置におけ
る待ち時間の設定方法を得ることを目的とする。
【0007】
【課題を解決するための手段】請求項1記載の発明に係
る演算装置は、マイクロアドレス発生回路により入力し
た命令コードをデコードし、実行すべきマイクロコード
が格納されている番地を設定し、アドレスデコーダを介
して出力し、マイクロコードROMにより、マイクロア
ドレス発生回路から入力した番地に格納されている各ア
ドレスに対応した制御情報を出力するとともに、次に実
行するマイクロコードの格納番地をマイクロアドレス発
生回路に出力し、データパス部により、制御情報を入力
すると命令の実行完了後に命令と命令との間をどの程度
待機させるかを指定する待ち時間値をデータバスを介し
て入力し、この待ち時間値を指定された値で減算し、減
算結果が0となった時点で次に実行するマイクロコード
の格納番地の入力許可信号をマイクロアドレス発生回路
に出力するようにしたものである。
る演算装置は、マイクロアドレス発生回路により入力し
た命令コードをデコードし、実行すべきマイクロコード
が格納されている番地を設定し、アドレスデコーダを介
して出力し、マイクロコードROMにより、マイクロア
ドレス発生回路から入力した番地に格納されている各ア
ドレスに対応した制御情報を出力するとともに、次に実
行するマイクロコードの格納番地をマイクロアドレス発
生回路に出力し、データパス部により、制御情報を入力
すると命令の実行完了後に命令と命令との間をどの程度
待機させるかを指定する待ち時間値をデータバスを介し
て入力し、この待ち時間値を指定された値で減算し、減
算結果が0となった時点で次に実行するマイクロコード
の格納番地の入力許可信号をマイクロアドレス発生回路
に出力するようにしたものである。
【0008】請求項2記載の発明に係る演算装置におけ
る待ち時間の設定方法は、入力した命令コードをデコー
ドし、実行すべきマイクロコードが格納されている番地
を設定した後に出力し、この入力した番地に格納されて
いる各アドレスに対応した制御情報を出力するととも
に、次に実行するマイクロコードの格納番地を出力し、
制御情報を入力すると命令の実行完了後に命令と命令と
の間をどの程度待機させるかを指定する待ち時間値をデ
ータバスを介して入力し、この待ち時間値を指定された
値で減算し、減算結果が0となった時点で次に実行する
マイクロコードの格納番地の入力許可信号を出力するよ
うにしたものである。
る待ち時間の設定方法は、入力した命令コードをデコー
ドし、実行すべきマイクロコードが格納されている番地
を設定した後に出力し、この入力した番地に格納されて
いる各アドレスに対応した制御情報を出力するととも
に、次に実行するマイクロコードの格納番地を出力し、
制御情報を入力すると命令の実行完了後に命令と命令と
の間をどの程度待機させるかを指定する待ち時間値をデ
ータバスを介して入力し、この待ち時間値を指定された
値で減算し、減算結果が0となった時点で次に実行する
マイクロコードの格納番地の入力許可信号を出力するよ
うにしたものである。
【0009】請求項3記載の発明に係る演算装置は、ダ
ウンカウンタに任意の値が設定されるとCPU部の他の
回路とは独立に基本クロックの1サイクル毎にその内容
をデクリメントし、このダウンカウンタの値の内容をゼ
ロ検出回路によりチェックし、ゼロであればゼロ検出信
号をマイクロアドレス発生回路に出力し、このゼロ検出
信号を入力したマイクロアドレス発生回路は、マイクロ
コードROMから次に実行するマイクロコードの格納番
地を入力するようにしたものである。
ウンカウンタに任意の値が設定されるとCPU部の他の
回路とは独立に基本クロックの1サイクル毎にその内容
をデクリメントし、このダウンカウンタの値の内容をゼ
ロ検出回路によりチェックし、ゼロであればゼロ検出信
号をマイクロアドレス発生回路に出力し、このゼロ検出
信号を入力したマイクロアドレス発生回路は、マイクロ
コードROMから次に実行するマイクロコードの格納番
地を入力するようにしたものである。
【0010】請求項4記載の発明に係る演算装置におけ
る待ち時間の設定方法は、任意の値が設定されるとCP
U部の他の回路とは独立に基本クロックの1サイクル毎
にその内容をデクリメントした後、この値の内容をチェ
ックし、ゼロであればゼロ検出信号をマイクロアドレス
発生回路に出力し、このゼロ検出信号を入力したマイク
ロアドレス発生回路は、マイクロコードROMから次に
実行するマイクロコードの格納番地を入力するようにし
たものである。
る待ち時間の設定方法は、任意の値が設定されるとCP
U部の他の回路とは独立に基本クロックの1サイクル毎
にその内容をデクリメントした後、この値の内容をチェ
ックし、ゼロであればゼロ検出信号をマイクロアドレス
発生回路に出力し、このゼロ検出信号を入力したマイク
ロアドレス発生回路は、マイクロコードROMから次に
実行するマイクロコードの格納番地を入力するようにし
たものである。
【0011】
【発明の実施の形態】以下、この発明の実施の一形態を
説明する。 実施の形態1.図1はこの発明の実施の形態1による演
算装置を示す構成図であり、図において、1は出力Iビ
ットのシーケンスROM1aおよび出力Jビットの制御
ROM1bから構成されるマイクロコードROM、2は
マイクロコードROM1から出力された出力信号をラッ
チするラッチ回路であり、制御ROM1bからの出力信
号S0〜SJは、一旦ラッチされた後に定められたタイ
ミングに基づいてデータパス部7に出力される。一方、
シーケンスROM1aからの出力信号A0〜AIは、一
旦ラッチされた後に定められたタイミングに基づいてマ
イクロアドレス発生回路3へ出力される。
説明する。 実施の形態1.図1はこの発明の実施の形態1による演
算装置を示す構成図であり、図において、1は出力Iビ
ットのシーケンスROM1aおよび出力Jビットの制御
ROM1bから構成されるマイクロコードROM、2は
マイクロコードROM1から出力された出力信号をラッ
チするラッチ回路であり、制御ROM1bからの出力信
号S0〜SJは、一旦ラッチされた後に定められたタイ
ミングに基づいてデータパス部7に出力される。一方、
シーケンスROM1aからの出力信号A0〜AIは、一
旦ラッチされた後に定められたタイミングに基づいてマ
イクロアドレス発生回路3へ出力される。
【0012】3はシーケンスROM1aからの出力信号
A0〜AIに基づいて次に実行すべきマイクロコードの
格納番地を決めてアドレスデコーダ4へ出力するマイク
ロアドレス発生回路、4はマイクロアドレス発生回路3
から入力したアドレスをデコードし、デコード信号5と
してマイクロコードROM1へ出力するアドレスデコー
ダである。なお、命令実行の最初のマシンサイクルにお
いては、マイクロアドレス発生回路3は命令レジスタ6
より命令コードを受け取りこれをデコードしてマイクロ
コードアドレスを決める。
A0〜AIに基づいて次に実行すべきマイクロコードの
格納番地を決めてアドレスデコーダ4へ出力するマイク
ロアドレス発生回路、4はマイクロアドレス発生回路3
から入力したアドレスをデコードし、デコード信号5と
してマイクロコードROM1へ出力するアドレスデコー
ダである。なお、命令実行の最初のマシンサイクルにお
いては、マイクロアドレス発生回路3は命令レジスタ6
より命令コードを受け取りこれをデコードしてマイクロ
コードアドレスを決める。
【0013】次に動作について説明する。図2はこの発
明の実施の形態1による命令の実装方法を簡略的に示す
フローチャートであり、図のように、命令の実行サイク
ル数nを任意に指定できるNOP命令を基本命令の一つ
としてマイクロコンピュータに実装して、命令Aと命令
Bの間に配置する。なお、nの値はプログラマが任意に
設定する。一般にマイクロコンピュータの有する命令の
実行は、複数のマイクロコード(マイクロ命令)を順次
実行することによって行われる。例えば、ある命令がマ
イクロコードROM内のA.B.Cの3つの番地に格納
されたマイクロコードをこの順に実行することによって
実行される。この場合、最初にこの命令の命令コードが
マイクロアドレス発生回路3においてデコードされ、最
初に実行すべきマイクロコードの格納番地Aが求めら
れ、これがアドレスデコーダ4を介してマイクロコード
ROM1へ出力される。
明の実施の形態1による命令の実装方法を簡略的に示す
フローチャートであり、図のように、命令の実行サイク
ル数nを任意に指定できるNOP命令を基本命令の一つ
としてマイクロコンピュータに実装して、命令Aと命令
Bの間に配置する。なお、nの値はプログラマが任意に
設定する。一般にマイクロコンピュータの有する命令の
実行は、複数のマイクロコード(マイクロ命令)を順次
実行することによって行われる。例えば、ある命令がマ
イクロコードROM内のA.B.Cの3つの番地に格納
されたマイクロコードをこの順に実行することによって
実行される。この場合、最初にこの命令の命令コードが
マイクロアドレス発生回路3においてデコードされ、最
初に実行すべきマイクロコードの格納番地Aが求めら
れ、これがアドレスデコーダ4を介してマイクロコード
ROM1へ出力される。
【0014】制御ROM1bには、各アドレスに対応し
たデータパス部7の制御情報が格納されている。一方、
シーケンスROM1aには次に実行すべきマイクロコー
ドの格納番地(この場合はB)がそれぞれ格納されてお
り、ラッチ回路2を通して信号S0〜SJ、A0〜AI
として出力される。S0〜SJはデータパス部7に送ら
れアドレスAに対応する仕事をデータパス部7に行わせ
る。一方、A0〜AIはマイクロアドレス発生回路3に
戻され、これは通常そのまま次のサイクルにアドレスデ
コーダ4を通してマイクロコードROM1に入力され、
B番地に格納されたマイクロコードが次に実行される。
このような原理によってA,B,Cの3つの番地に格納
されたマイクロコードが順次実行され1つの命令の実行
が完了する。
たデータパス部7の制御情報が格納されている。一方、
シーケンスROM1aには次に実行すべきマイクロコー
ドの格納番地(この場合はB)がそれぞれ格納されてお
り、ラッチ回路2を通して信号S0〜SJ、A0〜AI
として出力される。S0〜SJはデータパス部7に送ら
れアドレスAに対応する仕事をデータパス部7に行わせ
る。一方、A0〜AIはマイクロアドレス発生回路3に
戻され、これは通常そのまま次のサイクルにアドレスデ
コーダ4を通してマイクロコードROM1に入力され、
B番地に格納されたマイクロコードが次に実行される。
このような原理によってA,B,Cの3つの番地に格納
されたマイクロコードが順次実行され1つの命令の実行
が完了する。
【0015】次に命令の実行シーケンスを図3のタイミ
ングチャートをもとにさらに詳しく説明する。図3はこ
の発明の実施の形態1による演算装置の実行シーケンス
を示すタイミングチャートであり、図において、ФはC
PU部の基本クロックであり、この1サイクルが1マシ
ンサイクルに対応する。まず、サイクル(8)のФ=
‘L’の期間に命令レジスタ6が命令コードをマイクロ
アドレス発生回路3に出力する。次に、マイクロアドレ
ス発生回路3では、命令コードをデコードしてこの命令
を実行するに際して最初に実行すべきマイクロコードが
格納されている番地Aをもとめ、これをサイクル(9)
でアドレスデコーダ4に出力する。そして、アドレスデ
コーダ4では入力アドレスをただちにデコードし、デコ
ード信号5をマイクロコードROM1に出力する。
ングチャートをもとにさらに詳しく説明する。図3はこ
の発明の実施の形態1による演算装置の実行シーケンス
を示すタイミングチャートであり、図において、ФはC
PU部の基本クロックであり、この1サイクルが1マシ
ンサイクルに対応する。まず、サイクル(8)のФ=
‘L’の期間に命令レジスタ6が命令コードをマイクロ
アドレス発生回路3に出力する。次に、マイクロアドレ
ス発生回路3では、命令コードをデコードしてこの命令
を実行するに際して最初に実行すべきマイクロコードが
格納されている番地Aをもとめ、これをサイクル(9)
でアドレスデコーダ4に出力する。そして、アドレスデ
コーダ4では入力アドレスをただちにデコードし、デコ
ード信号5をマイクロコードROM1に出力する。
【0016】これにより、制御ROM1bおよびシーケ
ンスROM1bのA番地に格納されている内容が、サイ
クル(9)のФ=‘L’の期間に出力される。制御RO
M1bからの出力は、ラッチ回路2によって一旦ラッチ
された後、各々定められたタイミングで信号S0〜SJ
としてデータパス部7へ出力し制御する。一方、シーケ
ンスROM1aの出力は、次に実行すべきマイクロコー
ドの格納番地Bを示しており、同様にラッチ回路2によ
り次のサイクル(10)で示されるФ=‘H’の期間ま
で保持される。
ンスROM1bのA番地に格納されている内容が、サイ
クル(9)のФ=‘L’の期間に出力される。制御RO
M1bからの出力は、ラッチ回路2によって一旦ラッチ
された後、各々定められたタイミングで信号S0〜SJ
としてデータパス部7へ出力し制御する。一方、シーケ
ンスROM1aの出力は、次に実行すべきマイクロコー
ドの格納番地Bを示しており、同様にラッチ回路2によ
り次のサイクル(10)で示されるФ=‘H’の期間ま
で保持される。
【0017】そして、マイクロアドレス発生回路3では
このシーケンスROM1aからの出力を受け取り、これ
を次のマイクロコードアドレスとしてサイクル(10)
の期間にアドレスデコーダ4に出力する。以上のような
動作を各マシンサイクルごとに繰り返すことによって
A,B,Cの各番地に格納されたマイクロコードは順次
実行に移され命令が完了する。これと同時にサイクル
(11)で示されるサイクルのФ=‘L’の期間に命令
レジスタから次の命令コードがマイクロアドレス発生回
路3に送られ次の命令の実行が始まる。
このシーケンスROM1aからの出力を受け取り、これ
を次のマイクロコードアドレスとしてサイクル(10)
の期間にアドレスデコーダ4に出力する。以上のような
動作を各マシンサイクルごとに繰り返すことによって
A,B,Cの各番地に格納されたマイクロコードは順次
実行に移され命令が完了する。これと同時にサイクル
(11)で示されるサイクルのФ=‘L’の期間に命令
レジスタから次の命令コードがマイクロアドレス発生回
路3に送られ次の命令の実行が始まる。
【0018】次にnサイクルのNOP命令の実現方法に
ついて説明する。図4はこの発明の実施の形態1による
演算装置の具体的な構成を示す構成図、図5は図4の演
算装置のウエイト命令の命令実行シーケンスを示すフロ
ーチャート、図6は図4の演算装置のウエイト命令を示
すタイミングチャートである。まず、サイクル(12)
のФ=‘L’の期間に命令レジスタ6にこの命令の命令
コードが格納され、同時に何サイクルウエイトさせるか
を指定するnの値がオペランドレジスタ18に格納され
る。次に、命令レジスタ6の内容は、直ちにマイクロア
ドレス発生回路3に転送され、マイクロアドレス発生回
路3ではこの命令コードをデコードして、最初に実行す
べきマイクロコードが格納されている番地Aを決める。
ついて説明する。図4はこの発明の実施の形態1による
演算装置の具体的な構成を示す構成図、図5は図4の演
算装置のウエイト命令の命令実行シーケンスを示すフロ
ーチャート、図6は図4の演算装置のウエイト命令を示
すタイミングチャートである。まず、サイクル(12)
のФ=‘L’の期間に命令レジスタ6にこの命令の命令
コードが格納され、同時に何サイクルウエイトさせるか
を指定するnの値がオペランドレジスタ18に格納され
る。次に、命令レジスタ6の内容は、直ちにマイクロア
ドレス発生回路3に転送され、マイクロアドレス発生回
路3ではこの命令コードをデコードして、最初に実行す
べきマイクロコードが格納されている番地Aを決める。
【0019】なお、マイクロアドレスは8ビット長であ
るとし、Aの番地を‘00H’番地とする。したがっ
て、サイクル(13)では‘00H’番地がアドレスデ
コーダ4を介してマイクロコードROM1に出力され、
‘00H’番地の内容がФ=‘L’の期間に読み出され
る。そして、読み出された信号の一部は、ラッチ回路2
で一旦ラッチされ、各信号毎に定められたタイミングで
次サイクル(14)にS0〜SJ信号としてデータパス
部7に出力される。
るとし、Aの番地を‘00H’番地とする。したがっ
て、サイクル(13)では‘00H’番地がアドレスデ
コーダ4を介してマイクロコードROM1に出力され、
‘00H’番地の内容がФ=‘L’の期間に読み出され
る。そして、読み出された信号の一部は、ラッチ回路2
で一旦ラッチされ、各信号毎に定められたタイミングで
次サイクル(14)にS0〜SJ信号としてデータパス
部7に出力される。
【0020】このS0〜SJ信号はサイクル(14)に
データパス部7に以下のような仕事を実行させる。Ф=
‘H’の期間にオペランドレジスタ18の内容(n)を
Iバスに読み出し、Dバスには‘1’を出力させる。I
バス及びDバスに読み出された内容は、ラッチ19でФ
=‘L’の期間まで保持され、それぞれI’バス及び
D’バスに出力される。次に、ALUではI’バスの内
容からD’バスの内容が減算され(n−1が実行され
る)、その結果はФ=‘H’の期間にテンポラリレジス
タ20に格納される。この内容はのゼロ検出回路21で
チェックされ、ゼロであればゼロ検出信号Z0=‘H’
とし、ゼロでなければゼロ検出信号Z0=‘L’とな
る。すなわちn−1の演算結果がゼロであればZ0=
‘H’、そうでなければZ0=‘L’である。
データパス部7に以下のような仕事を実行させる。Ф=
‘H’の期間にオペランドレジスタ18の内容(n)を
Iバスに読み出し、Dバスには‘1’を出力させる。I
バス及びDバスに読み出された内容は、ラッチ19でФ
=‘L’の期間まで保持され、それぞれI’バス及び
D’バスに出力される。次に、ALUではI’バスの内
容からD’バスの内容が減算され(n−1が実行され
る)、その結果はФ=‘H’の期間にテンポラリレジス
タ20に格納される。この内容はのゼロ検出回路21で
チェックされ、ゼロであればゼロ検出信号Z0=‘H’
とし、ゼロでなければゼロ検出信号Z0=‘L’とな
る。すなわちn−1の演算結果がゼロであればZ0=
‘H’、そうでなければZ0=‘L’である。
【0021】一方、サイクル(13)の期間のФ=
‘L’の期間にシーケンスROM1aの‘00H’番地
から読み出される次のマイクロアドレスはBであり、こ
こではB=‘03H’番地とする。読み出された内容は
ラッチ回路2を通って、サイクル(13)のФ=‘L’
の期間から次のサイクル(14)のФ=‘H’の期間ま
での間A0〜A7信号=‘03H’としてマイクロアド
レス発生回路3へ出力される。ただし、これらの信号の
内A0信号は先のゼロ検出信号Z0の反転信号とAND
されたのちにマイクロアドレス発生回路3に出力され
る。したがって、サイクル(14)でデータパス部7に
より実行されたn−1の結果がゼロでなければ(Z0=
‘L’)、マイクロアドレス発生回路3に出力され、次
に実行するマイクロアドレスは‘03H’のままであ
る。
‘L’の期間にシーケンスROM1aの‘00H’番地
から読み出される次のマイクロアドレスはBであり、こ
こではB=‘03H’番地とする。読み出された内容は
ラッチ回路2を通って、サイクル(13)のФ=‘L’
の期間から次のサイクル(14)のФ=‘H’の期間ま
での間A0〜A7信号=‘03H’としてマイクロアド
レス発生回路3へ出力される。ただし、これらの信号の
内A0信号は先のゼロ検出信号Z0の反転信号とAND
されたのちにマイクロアドレス発生回路3に出力され
る。したがって、サイクル(14)でデータパス部7に
より実行されたn−1の結果がゼロでなければ(Z0=
‘L’)、マイクロアドレス発生回路3に出力され、次
に実行するマイクロアドレスは‘03H’のままであ
る。
【0022】しかし、サイクル(14)でデータパス部
7により実行されたn−1の結果がゼロであると(Z0
=‘H’)、‘02H’に変更される(ここではこの
‘02H’番地をCとする)。したがって、サイクル
(14)でマイクロコードROM1に出力される番地
は、B=‘03H’番地となり、その番地の制御情報に
基づいたデータパス部7の動作が次のサイクル(15)
で実行される。すなわち、このサイクル(15)では、
テンポラリレジスタ20の内容(n−1)がIバスヘ、
‘1’がDバスヘ読み出され、ALUでは(n−1)−
1が実行され、結果n−2が再びテンポラリレジスタ2
0に格納される。ここで、再度ゼロ検出が行われZ0の
値が決まる。
7により実行されたn−1の結果がゼロであると(Z0
=‘H’)、‘02H’に変更される(ここではこの
‘02H’番地をCとする)。したがって、サイクル
(14)でマイクロコードROM1に出力される番地
は、B=‘03H’番地となり、その番地の制御情報に
基づいたデータパス部7の動作が次のサイクル(15)
で実行される。すなわち、このサイクル(15)では、
テンポラリレジスタ20の内容(n−1)がIバスヘ、
‘1’がDバスヘ読み出され、ALUでは(n−1)−
1が実行され、結果n−2が再びテンポラリレジスタ2
0に格納される。ここで、再度ゼロ検出が行われZ0の
値が決まる。
【0023】一方、‘03H’番地のシーケンスROM
1aの内容は、自分自身である‘03H’番地を指す。
以降の動作は、テンポラリレジスタ20のデクリメント
を値がゼロになるまで繰り返し、ゼロを検出するとマイ
クロアドレスがC=‘02H’番地になって命令を終了
する。なお、この命令の実行サイクル数はn+1サイク
ルであるが、プログラマが指定した値をコンパイラで機
械語に変換する時に−1の補正などをすれば解決する。
1aの内容は、自分自身である‘03H’番地を指す。
以降の動作は、テンポラリレジスタ20のデクリメント
を値がゼロになるまで繰り返し、ゼロを検出するとマイ
クロアドレスがC=‘02H’番地になって命令を終了
する。なお、この命令の実行サイクル数はn+1サイク
ルであるが、プログラマが指定した値をコンパイラで機
械語に変換する時に−1の補正などをすれば解決する。
【0024】以上のように、この実施の形態1によれ
ば、命令と次の命令との間に一定のウエイト命令を挿入
することにより、待ち時間を容易に、かつ正確に設定で
きるとともに、待ち時間を少ないプログラム量で設定す
ることができるなどの効果が得られる。
ば、命令と次の命令との間に一定のウエイト命令を挿入
することにより、待ち時間を容易に、かつ正確に設定で
きるとともに、待ち時間を少ないプログラム量で設定す
ることができるなどの効果が得られる。
【0025】実施の形態2.図7はこの発明の実施の形
態2による演算装置を示す構成図であり、図において、
実施の形態1と同一の符号については同一または相当部
分を示すので説明を省略する。22は任意の値nを設定
するダウンカウンタであり、値nが設定されるとその
後、CPU部の他の回路とは独立にФの1サイクル毎に
その内容をデクリメントする。23はダウンカウンタ2
2の値nの内容をチェックし、ゼロであればゼロ検出信
号Z0=‘H’とし、ゼロでなければゼロ検出信号Z0
=‘L’となるゼロ検出回路である。
態2による演算装置を示す構成図であり、図において、
実施の形態1と同一の符号については同一または相当部
分を示すので説明を省略する。22は任意の値nを設定
するダウンカウンタであり、値nが設定されるとその
後、CPU部の他の回路とは独立にФの1サイクル毎に
その内容をデクリメントする。23はダウンカウンタ2
2の値nの内容をチェックし、ゼロであればゼロ検出信
号Z0=‘H’とし、ゼロでなければゼロ検出信号Z0
=‘L’となるゼロ検出回路である。
【0026】次に動作について説明する。図8はこの発
明の実施の形態2による演算装置の命令実行の流れを示
すフローチャート、図9はこの発明の実施の形態2によ
る演算装置の命令の実行シーケンスを示すフローチャー
トである。まず、ダウンカウンタ22に付属されている
ゼロ検出回路23からの出力であるゼロ検出信号Z0
は、実施の形態1と同様にその反転信号がマイクロコー
ドROM1のラッチ回路2の出力のA0信号とANDさ
れて、マイクロアドレス発生回路3に出力される。命令
aによってダウンカウンタに値がセットされた後、CP
Uはそれに続く命令Cを順次実行していく。そして命令
bが実行されるとここで先に設定されたダウンカウンタ
の内容がゼロになるまで待って、次に命令Bの実行に移
る。
明の実施の形態2による演算装置の命令実行の流れを示
すフローチャート、図9はこの発明の実施の形態2によ
る演算装置の命令の実行シーケンスを示すフローチャー
トである。まず、ダウンカウンタ22に付属されている
ゼロ検出回路23からの出力であるゼロ検出信号Z0
は、実施の形態1と同様にその反転信号がマイクロコー
ドROM1のラッチ回路2の出力のA0信号とANDさ
れて、マイクロアドレス発生回路3に出力される。命令
aによってダウンカウンタに値がセットされた後、CP
Uはそれに続く命令Cを順次実行していく。そして命令
bが実行されるとここで先に設定されたダウンカウンタ
の内容がゼロになるまで待って、次に命令Bの実行に移
る。
【0027】命令bの実行シーケンスは図9に示す通り
である。実施の形態1で示したnサイクルのウエイト命
令の制御と同じ原理を使って、ダウンカウンタの内容が
ゼロになるまでは、A番地の内容(NOP)を繰り返し
実行し、ゼロ検出信号Z0が‘H’になるとB番地に移
って命令を終了する。この実施の形態であれば命令Aと
命令Bの間に他の処理が入っても、この処理に必要なサ
イクル数を計算することなく、命令Aと命令Bの間の待
ち時間を正確に設定できる。
である。実施の形態1で示したnサイクルのウエイト命
令の制御と同じ原理を使って、ダウンカウンタの内容が
ゼロになるまでは、A番地の内容(NOP)を繰り返し
実行し、ゼロ検出信号Z0が‘H’になるとB番地に移
って命令を終了する。この実施の形態であれば命令Aと
命令Bの間に他の処理が入っても、この処理に必要なサ
イクル数を計算することなく、命令Aと命令Bの間の待
ち時間を正確に設定できる。
【0028】以上のように、この実施の形態2によれ
ば、実施の形態1の効果の他に、命令と命令との間の待
ち時間に他の処理を実行させることができるなどの効果
が得られる。
ば、実施の形態1の効果の他に、命令と命令との間の待
ち時間に他の処理を実行させることができるなどの効果
が得られる。
【0029】
【発明の効果】以上のように、この発明によれば、命令
と次の命令との間に一定のウエイト命令を挿入すること
により、待ち時間を容易に、かつ正確に設定できるとと
もに、待ち時間を少ないプログラム量で設定することが
できる効果がある。
と次の命令との間に一定のウエイト命令を挿入すること
により、待ち時間を容易に、かつ正確に設定できるとと
もに、待ち時間を少ないプログラム量で設定することが
できる効果がある。
【0030】この発明によれば、命令と命令との間の待
ち時間に他の処理を実行させることができる効果があ
る。
ち時間に他の処理を実行させることができる効果があ
る。
【図1】 この発明の実施の形態1による演算装置を示
す構成図である。
す構成図である。
【図2】 この発明の実施の形態1による命令の実装方
法を簡略的に示すフローチャートである。
法を簡略的に示すフローチャートである。
【図3】 この発明の実施の形態1による演算装置の実
行シーケンスを示すタイミングチャートである。
行シーケンスを示すタイミングチャートである。
【図4】 この発明の実施の形態1による演算装置の具
体的な構成を示す構成図である。
体的な構成を示す構成図である。
【図5】 図4の演算装置のウエイト命令の命令実行シ
ーケンスを示すフローチャートである。
ーケンスを示すフローチャートである。
【図6】 図4の演算装置のウエイト命令を示すタイミ
ングチャートである。
ングチャートである。
【図7】 この発明の実施の形態2による演算装置を示
す構成図である。
す構成図である。
【図8】 この発明の実施の形態2による演算装置の命
令実行の流れを示すフローチャートである。
令実行の流れを示すフローチャートである。
【図9】 この発明の実施の形態2による演算装置の命
令の実行シーケンスを示すフローチャートである。
令の実行シーケンスを示すフローチャートである。
【図10】 従来の演算装置におけるNOP命令による
待ち時間の設定方法を示すフローチャートである。
待ち時間の設定方法を示すフローチャートである。
【図11】 従来の演算装置における他のNOP命令に
よる待ち時間の設定方法を示すフローチャートである。
よる待ち時間の設定方法を示すフローチャートである。
【図12】 従来の演算装置におけるタイマを用いた待
ち時間設定方法を示すフローチャートである。
ち時間設定方法を示すフローチャートである。
1 マイクロコードROM、3 マイクロアドレス発生
回路、4 アドレスデコーダ、7 データパス部、22
ダウンカウンタ、23 ゼロ検出回路。
回路、4 アドレスデコーダ、7 データパス部、22
ダウンカウンタ、23 ゼロ検出回路。
Claims (4)
- 【請求項1】 各アドレスに対応した制御情報を格納す
るとともに、次に実行すべきマイクロコードの格納番地
を格納するマイクロコードROMと、 このマイクロコードROMに格納されているアドレスに
対応する動作を実行するデータパス部と、上記マイクロ
コードROMに格納されているマイクロコードの格納番
地を入力し、アドレスデコーダを介して上記マイクロコ
ードROMへ出力するマイクロアドレス発生回路とを備
えた演算装置において、 上記マイクロアドレス発生回路は、入力した命令コード
をデコードし、実行すべきマイクロコードが格納されて
いる番地を設定し、上記アドレスデコーダを介して出力
し、上記マイクロコードROMは、上記マイクロアドレ
ス発生回路から入力した番地に格納されている各アドレ
スに対応した制御情報を出力するとともに、次に実行す
るマイクロコードの格納番地を上記マイクロアドレス発
生回路に出力し、上記データパス部は、上記制御情報を
入力すると命令の実行完了後に命令と命令との間をどの
程度待機させるかを指定する待ち時間値をデータバスを
介して入力し、この待ち時間値を指定された値で減算
し、減算結果が0となった時点で次に実行するマイクロ
コードの格納番地の入力許可信号を上記マイクロアドレ
ス発生回路に出力することを特徴とする演算装置。 - 【請求項2】 各アドレスに対応した制御情報を格納す
るとともに、次に実行すべきマイクロコードの格納番地
を格納し、この格納されているアドレスに対応する動作
を実行し、格納されている上記マイクロコードの格納番
地を入力し、アドレスデコーダを介して出力する演算装
置における待ち時間の設定方法において、入力した命令
コードをデコードし、実行すべきマイクロコードが格納
されている番地を設定した後に出力し、この入力した番
地に格納されている各アドレスに対応した制御情報を出
力するとともに、次に実行するマイクロコードの格納番
地を出力し、上記制御情報を入力すると命令の実行完了
後に命令と命令との間をどの程度待機させるかを指定す
る待ち時間値をデータバスを介して入力し、この待ち時
間値を指定された値で減算し、減算結果が0となった時
点で次に実行するマイクロコードの格納番地の入力許可
信号を出力することを特徴とする演算装置における待ち
時間の設定方法。 - 【請求項3】 任意の値が設定されるとCPU部の他の
回路とは独立に基本クロックの1サイクル毎にその内容
をデクリメントするダウンカウンタと、このダウンカウ
ンタの値の内容をチェックし、ゼロであればゼロ検出信
号をマイクロアドレス発生回路に出力するゼロ検出回路
とを備え、このゼロ検出信号を入力したマイクロアドレ
ス発生回路は、マイクロコードROMから次に実行する
マイクロコードの格納番地を入力することを特徴とする
請求項1記載の演算装置。 - 【請求項4】 任意の値が設定されるとCPU部の他の
回路とは独立に基本クロックの1サイクル毎にその内容
をデクリメントした後、この値の内容をチェックし、ゼ
ロであればゼロ検出信号をマイクロアドレス発生回路に
出力し、このゼロ検出信号を入力したマイクロアドレス
発生回路は、マイクロコードROMから次に実行するマ
イクロコードの格納番地を入力することを特徴とする請
求項2記載の演算装置における待ち時間の設定方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP21878397A JPH1165838A (ja) | 1997-08-13 | 1997-08-13 | 演算装置およびこの演算装置における待ち時間の設定方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP21878397A JPH1165838A (ja) | 1997-08-13 | 1997-08-13 | 演算装置およびこの演算装置における待ち時間の設定方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH1165838A true JPH1165838A (ja) | 1999-03-09 |
Family
ID=16725317
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP21878397A Pending JPH1165838A (ja) | 1997-08-13 | 1997-08-13 | 演算装置およびこの演算装置における待ち時間の設定方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH1165838A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AT515428B1 (de) * | 2014-07-04 | 2015-09-15 | Banny Klaus | Filter |
-
1997
- 1997-08-13 JP JP21878397A patent/JPH1165838A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AT515428B1 (de) * | 2014-07-04 | 2015-09-15 | Banny Klaus | Filter |
AT515428A4 (de) * | 2014-07-04 | 2015-09-15 | Banny Klaus | Filter |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4750865B2 (ja) | デ―タ・プロセッサにおいて後続の命令処理に影響を及ぼす方法および装置 | |
JP2848606B2 (ja) | マクロ命令パイプラインを用いてマイクロ命令を変更する方法及び装置 | |
EP0352935B1 (en) | Pipelined processor | |
JP3745039B2 (ja) | 遅延命令を有するマイクロプロセッサ | |
US8006114B2 (en) | Software programmable timing architecture | |
JP2507638B2 (ja) | デ―タ処理装置 | |
EP0357188A2 (en) | Pipelined processor | |
JPH07129413A (ja) | 割込み処理装置 | |
JP3578883B2 (ja) | データ処理装置 | |
JPH07120284B2 (ja) | データ処理装置 | |
US5185870A (en) | System to determine if modification of first macroinstruction to execute in fewer clock cycles | |
JP3738253B2 (ja) | プログラム・ループを並列に処理する方法および装置 | |
JPS6019028B2 (ja) | 情報処理装置 | |
JPH1165838A (ja) | 演算装置およびこの演算装置における待ち時間の設定方法 | |
KR100188374B1 (ko) | 연산처리장치 | |
JP2694948B2 (ja) | マイクロプログラム処理装置 | |
EP0573071A2 (en) | A microprocessor | |
JP2000029696A (ja) | プロセッサおよびパイプライン処理制御方法 | |
JP2525492B2 (ja) | プログラマブルコントロ―ラ | |
US20030182511A1 (en) | Apparatus and method for resolving an instruction conflict in a software pipeline nested loop procedure in a digital signal processor | |
JP2825315B2 (ja) | 情報処理装置 | |
JPH1173301A (ja) | 情報処理装置 | |
JP3539914B2 (ja) | マイクロコンピュータ | |
JP2503223B2 (ja) | 先行制御方式 | |
JP2924735B2 (ja) | パイプライン演算装置及びデコーダ装置 |