JPH03220629A - 分岐命令方式 - Google Patents
分岐命令方式Info
- Publication number
- JPH03220629A JPH03220629A JP1510090A JP1510090A JPH03220629A JP H03220629 A JPH03220629 A JP H03220629A JP 1510090 A JP1510090 A JP 1510090A JP 1510090 A JP1510090 A JP 1510090A JP H03220629 A JPH03220629 A JP H03220629A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- branch
- address
- read
- register
- 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
Links
Landscapes
- Advance Control (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔概要〕
分岐命令を構成する方式に関し、
デイレイド分岐命令と同様な効率を維持しながら、プロ
グラム作成時の制限を除去した分岐命令方式を提供する
ことを目的とし、 PCからアドレスを与えてROMから命令を読み出し、
第1の命令サイクルで読み出した命令をIRIに保持し
て命令の実行を制御し、次の命令サイクルでIRIから
読み出した命令をIR2に保持して命令実行結果の転送
を制御する処理装置のパイプライン制御方式において、
IRIに保持された命令が分岐命令のとき次の命令のア
ドレスをPC3に保持して次の命令サイクルで分岐先ア
ドレスの命令をPCから読み出し、分岐する場合は分岐
命令の次のアドレスの命令を実行せずに分岐先アドレス
から読み出した命令を実行し、分岐しない場合は分岐命
令の次の命令を実行するとともに分岐先アドレスの命令
を実行せずにPC3に保持された分岐命令の次の命令ア
ドレスに1を加えた値でPCから読み出したアドレスの
命令を実行して2命令サイクルで分岐命令を実行する。
グラム作成時の制限を除去した分岐命令方式を提供する
ことを目的とし、 PCからアドレスを与えてROMから命令を読み出し、
第1の命令サイクルで読み出した命令をIRIに保持し
て命令の実行を制御し、次の命令サイクルでIRIから
読み出した命令をIR2に保持して命令実行結果の転送
を制御する処理装置のパイプライン制御方式において、
IRIに保持された命令が分岐命令のとき次の命令のア
ドレスをPC3に保持して次の命令サイクルで分岐先ア
ドレスの命令をPCから読み出し、分岐する場合は分岐
命令の次のアドレスの命令を実行せずに分岐先アドレス
から読み出した命令を実行し、分岐しない場合は分岐命
令の次の命令を実行するとともに分岐先アドレスの命令
を実行せずにPC3に保持された分岐命令の次の命令ア
ドレスに1を加えた値でPCから読み出したアドレスの
命令を実行して2命令サイクルで分岐命令を実行する。
本発明は分岐命令を構成する方式に係り、特にパイプラ
イン制御を用いたディジタル・シグナル・プロセッサ(
DSP)等における命令実行制御における分岐命令方式
に関するものである。
イン制御を用いたディジタル・シグナル・プロセッサ(
DSP)等における命令実行制御における分岐命令方式
に関するものである。
音声信号を実時間で処理するDSPでは、処理の高速化
のために、パイプライン制御を用いることが常識化して
いる。
のために、パイプライン制御を用いることが常識化して
いる。
この場合、分岐命令を実行するとパイプラインに乱れが
発生し、命令の実行に関係しない無駄時間が発生する。
発生し、命令の実行に関係しない無駄時間が発生する。
これに対してデイレイド分岐方式と呼ばれる比較的高速
の分岐方法が知られているが、この方法では、ある条件
が成立したときのみ分岐する条件分岐を行う場合には高
速化されない。
の分岐方法が知られているが、この方法では、ある条件
が成立したときのみ分岐する条件分岐を行う場合には高
速化されない。
そこで、デイレイド分岐と同等な効率を維持しながら、
条件分岐に対して適用される場合にも、無駄時間要素を
生しない分岐命令方式が要望される。
条件分岐に対して適用される場合にも、無駄時間要素を
生しない分岐命令方式が要望される。
第5図は、従来の一般的なパイプライン制御を用いたD
SPの命令実行回路を示したものであって、PCは命令
のアドレスを発生するプログラム・カウンタ、ROMは
実行するプログラムの命令データが記憶されているリー
ドオンリー・メモリ、IRL IR2はそれぞれ命令
を一時保持するインストラクション・レジスタ、■Dは
命令を解読するインストラクション・デコーダである。
SPの命令実行回路を示したものであって、PCは命令
のアドレスを発生するプログラム・カウンタ、ROMは
実行するプログラムの命令データが記憶されているリー
ドオンリー・メモリ、IRL IR2はそれぞれ命令
を一時保持するインストラクション・レジスタ、■Dは
命令を解読するインストラクション・デコーダである。
PCで作成された命令のアドレスはROMに与えられ、
ROMから命令のデータが読み出される。
ROMから命令のデータが読み出される。
ROMから読み出されたデータは、IRIに転送され、
次にIR2に転送される。IRI、IR2のデータは、
命令解読に用いられるものであって、IRIからのデー
タはメモリアクセス時のアドレス計算等の制御に用いら
れ、IR2からのデータは内部バス制御における転送命
令の制御等に使用される。
次にIR2に転送される。IRI、IR2のデータは、
命令解読に用いられるものであって、IRIからのデー
タはメモリアクセス時のアドレス計算等の制御に用いら
れ、IR2からのデータは内部バス制御における転送命
令の制御等に使用される。
第6図は、第5図の回路のタイムチャートを示したもの
であって、横軸は1命令サイクルを単位とした時間の流
れを示し、矢印で示すようにパイプライン的に順次命令
がシフトされる。第5図においてnは命令を示し、(n
)はROMのn番地のデータを表している。また、kは
分岐先アドレスである。
であって、横軸は1命令サイクルを単位とした時間の流
れを示し、矢印で示すようにパイプライン的に順次命令
がシフトされる。第5図においてnは命令を示し、(n
)はROMのn番地のデータを表している。また、kは
分岐先アドレスである。
いま第6図において、n番地の命令が条件分岐命令であ
る場合には、n番地の命令は実行に3サイクル必要であ
る。これは、n−1番地の命令で条件が変化する場合、
条件が確定するのはn番地の命令の最初のサイクルであ
り、その時点での条件に応じて分岐する場合には、次の
サイクルで分岐先のアドレスkをPCにロードしなけれ
ばならない。このため、単なる分岐の処理(PCへのロ
ード)に3サイクル必要となる。この場合、n+1番地
の命令は実行されないことになる。
る場合には、n番地の命令は実行に3サイクル必要であ
る。これは、n−1番地の命令で条件が変化する場合、
条件が確定するのはn番地の命令の最初のサイクルであ
り、その時点での条件に応じて分岐する場合には、次の
サイクルで分岐先のアドレスkをPCにロードしなけれ
ばならない。このため、単なる分岐の処理(PCへのロ
ード)に3サイクル必要となる。この場合、n+1番地
の命令は実行されないことになる。
デイレイド分岐は、このような無駄時間を減少させるた
めに、ある制限を設けて、分岐命令を2サイクルで実行
できるようにしたものである。
めに、ある制限を設けて、分岐命令を2サイクルで実行
できるようにしたものである。
第7図はデイレイド分岐命令のタイムチャートを示した
ものである。
ものである。
いま第7図においてnが分岐命令である場合、デイレイ
ド分岐ではn+1番地の命令は実行を許される。このよ
うにすることによって、分岐命令は、n+1番地の命令
に意味のある処理を行なえる場合にはlサイクル、n+
1番地の命令に意味のない処理しか行えない場合には、
無処理の命令を書いて、実質的に2サイクル命令として
分岐を行うことができる。
ド分岐ではn+1番地の命令は実行を許される。このよ
うにすることによって、分岐命令は、n+1番地の命令
に意味のある処理を行なえる場合にはlサイクル、n+
1番地の命令に意味のない処理しか行えない場合には、
無処理の命令を書いて、実質的に2サイクル命令として
分岐を行うことができる。
分岐には条件がある場合と、条件がない場合との2種類
がある。条件がある場合で特に演算命令の結果を条件と
して分岐する場合には、直前の命令の結果は使用しては
ならないことになる。従って演算結果のフラグを条件と
して分岐を行う場合ば、直前に無処理命令等を挿入する
必要がある。
がある。条件がある場合で特に演算命令の結果を条件と
して分岐する場合には、直前の命令の結果は使用しては
ならないことになる。従って演算結果のフラグを条件と
して分岐を行う場合ば、直前に無処理命令等を挿入する
必要がある。
第8図はデイレイド分岐を用いたプログラムを示すもの
であって、無処理(NOP)命令を挿入する場合を例示
している。すなわち MOV datal、A (datalをAレジスタへ
)MOV data2.Acc (data2をへcc
レジスタへ)CMP (Acc−への演算を行う) NOP (無処理) BRIF ZR,IILL(Acc−Aの結果が0なら
ばし1へ分岐)LI MOV・・・ のようにNOP (無処理)命令を挿入することが必要
となる。
であって、無処理(NOP)命令を挿入する場合を例示
している。すなわち MOV datal、A (datalをAレジスタへ
)MOV data2.Acc (data2をへcc
レジスタへ)CMP (Acc−への演算を行う) NOP (無処理) BRIF ZR,IILL(Acc−Aの結果が0なら
ばし1へ分岐)LI MOV・・・ のようにNOP (無処理)命令を挿入することが必要
となる。
また第9図は従来例の回路図を示したものであって、P
Cの制御を行う部分を示したものである。
Cの制御を行う部分を示したものである。
同図において、5ELIはセレクタ、Accは加算処理
を行うアキュムレータである。
を行うアキュムレータである。
通常の命令実行状態では、PCの値はAccに入力され
て′1′′ずつインクリメントされ、5EL1を経て再
度PCに入力されることによって、ROMにおける命令
を順次アクセスする。内部バスからは、分岐命令時にP
Cに入力される。
て′1′′ずつインクリメントされ、5EL1を経て再
度PCに入力されることによって、ROMにおける命令
を順次アクセスする。内部バスからは、分岐命令時にP
Cに入力される。
従来のデイレイド分岐命令においては、演算命令の結果
を条件として分岐する場合には、直前の命令の結果を使
用できないため、無処理命令を挿入する等の処理を行う
必要があるが、このような制限は、プログラム作成時に
、プログラマに対して負担を与える結果となる。
を条件として分岐する場合には、直前の命令の結果を使
用できないため、無処理命令を挿入する等の処理を行う
必要があるが、このような制限は、プログラム作成時に
、プログラマに対して負担を与える結果となる。
本発明はこのような従来技術の課題を解決しようとする
ものであって、デイレイド分岐命令と同様な効率を維持
しながら、上述のようなプログラム作成時の制限を除去
した分岐命令方式を提供することを目的としている。
ものであって、デイレイド分岐命令と同様な効率を維持
しながら、上述のようなプログラム作成時の制限を除去
した分岐命令方式を提供することを目的としている。
本発明は第1図にその原理的構成を示すように、プログ
ラムカウンタ(PC)からアドレスを与えてメモリ(R
OM)から命令を読み出し、第1の命令サイクルで読み
出した命令を第1のレジスタ(TR1)に保持してこの
命令の実行を制御し、次の命令サイクルで第1のレジス
タ(IR1)から読み出した命令を第2のレジスタ(r
R2)に保持してこの命令実行結果の転送を制御する処
理装置のパイプライン制御方式において、次のようにし
て2命令サイクルで分岐命令を実行するものである。
ラムカウンタ(PC)からアドレスを与えてメモリ(R
OM)から命令を読み出し、第1の命令サイクルで読み
出した命令を第1のレジスタ(TR1)に保持してこの
命令の実行を制御し、次の命令サイクルで第1のレジス
タ(IR1)から読み出した命令を第2のレジスタ(r
R2)に保持してこの命令実行結果の転送を制御する処
理装置のパイプライン制御方式において、次のようにし
て2命令サイクルで分岐命令を実行するものである。
すなわち第1のレジスタ(TR1)に保持された命令が
分岐命令であったとき、次の命令サイクルで次の命令の
アドレスを第3のレジスタ(PC8)に保持するととも
に、分岐先アドレスの命令をプログラムカウンタ(PC
)の値に従ってメモリから読み出す。
分岐命令であったとき、次の命令サイクルで次の命令の
アドレスを第3のレジスタ(PC8)に保持するととも
に、分岐先アドレスの命令をプログラムカウンタ(PC
)の値に従ってメモリから読み出す。
分岐する場合は、この分岐命令の次のアドレスの命令を
実行することなく、分岐先アドレスから読み出された命
令を実行する。
実行することなく、分岐先アドレスから読み出された命
令を実行する。
分岐しない場合は、分岐命令の次の命令を実行するとと
もに、分岐先アドレスの命令を実行することなく、第3
のレジスタ(PCS)に保持されている分岐命令の次の
命令アドレスに1を加算してプログラムカウンタ(PC
)に入力して読み出したアドレスの命令を実行する。
もに、分岐先アドレスの命令を実行することなく、第3
のレジスタ(PCS)に保持されている分岐命令の次の
命令アドレスに1を加算してプログラムカウンタ(PC
)に入力して読み出したアドレスの命令を実行する。
第2図および第3図は本発明の詳細な説明する図である
。
。
第2図は、本発明の分岐命令方式を採用した場合の、分
岐する場合の条件分岐命令のタイムチャートを示したも
のである。
岐する場合の条件分岐命令のタイムチャートを示したも
のである。
第2図において、n番地の命令が分岐命令である。分岐
命令ば2サイクルであって、次のn+1番地の命令は分
岐時には実行されない。
命令ば2サイクルであって、次のn+1番地の命令は分
岐時には実行されない。
n−1番地の命令が演算命令のとき、その演算結果のフ
ラグにより、n番地の命令実行の最初のサイクルで判断
を行って、分岐先であるに番地のアドレスに分岐を行い
、以後これに続けて命令実行を行う。
ラグにより、n番地の命令実行の最初のサイクルで判断
を行って、分岐先であるに番地のアドレスに分岐を行い
、以後これに続けて命令実行を行う。
第3図は、本発明の分岐命令方式を採用した場合の、分
岐しない場合の条件分岐命令のタイムチャートを示した
ものである。
岐しない場合の条件分岐命令のタイムチャートを示した
ものである。
第3図において、分岐命令は同様に2サイクル0
である。分岐命令があったときは、第2図の場合と同様
に、分岐を行うと否とに拘わらずPCに分岐先アドレス
kをロードする。この際、次のn+1番地のPCの値を
一旦他の場所に記憶しておき、その後分岐が行われなか
ったときは、これに“1′′を加算した値n+2を再び
PCに戻して、この命令から命令実行を行う。
に、分岐を行うと否とに拘わらずPCに分岐先アドレス
kをロードする。この際、次のn+1番地のPCの値を
一旦他の場所に記憶しておき、その後分岐が行われなか
ったときは、これに“1′′を加算した値n+2を再び
PCに戻して、この命令から命令実行を行う。
このように条件の判断を、デイレイド分岐命令方式では
n−1番地の命令実行時に行っているのに対し、本発明
ではn番地の命令実行時の最初のサイクルで行っている
。従って本発明によれば、デイレイド分岐命令方式と同
様に高速の分岐を行うことができるとともに、分岐の直
前に無処理命令を挿入する等の処理が不要になるので、
プログラム作成時の複雑さが緩和され、かつ直前の演算
命令の結果を条件として利用できることになる。
n−1番地の命令実行時に行っているのに対し、本発明
ではn番地の命令実行時の最初のサイクルで行っている
。従って本発明によれば、デイレイド分岐命令方式と同
様に高速の分岐を行うことができるとともに、分岐の直
前に無処理命令を挿入する等の処理が不要になるので、
プログラム作成時の複雑さが緩和され、かつ直前の演算
命令の結果を条件として利用できることになる。
第4図は本発明の実施例のブロック図であって、第9図
におけると同じものを同じ符号で示し、5EL2は第2
のセレクタ、PC8はPCの値を保1 持する第3のレジスタである。
におけると同じものを同じ符号で示し、5EL2は第2
のセレクタ、PC8はPCの値を保1 持する第3のレジスタである。
通常の命令実行状態では、PCの値は5EL2を経てA
ccに入力されて“′1パずつインクリメントされ、S
EL 1を経て再度PCに入力されることによって、R
OMにおける命令を順次アクセスする。内部バスからは
、分岐命令時にPCに入力される。
ccに入力されて“′1パずつインクリメントされ、S
EL 1を経て再度PCに入力されることによって、R
OMにおける命令を順次アクセスする。内部バスからは
、分岐命令時にPCに入力される。
PC5は分岐すると否とに拘わらず常にPCの値をラッ
チし、分岐しなかったときは、5EL2を経てPC3の
値をAccに入力して“′1゛をインクリメントし、S
EL 1を経てPCに入力して次の番地の命令を読み出
す。
チし、分岐しなかったときは、5EL2を経てPC3の
値をAccに入力して“′1゛をインクリメントし、S
EL 1を経てPCに入力して次の番地の命令を読み出
す。
以上説明したように本発明によれば、デイレイド分岐命
令方式と同様に高速の分岐を行うことができ、デイレイ
ド分岐命令と同様な効率を維持しながら、分岐の直前に
無処理命令を挿入する等のプログラム作成時の制限を除
去した分岐命令方式を得ることができ、プログラム作成
時の複雑さが緩和されるとともに、直前の演算命令の結
果を条2 件として利用することができるようになるという利点が
ある。
令方式と同様に高速の分岐を行うことができ、デイレイ
ド分岐命令と同様な効率を維持しながら、分岐の直前に
無処理命令を挿入する等のプログラム作成時の制限を除
去した分岐命令方式を得ることができ、プログラム作成
時の複雑さが緩和されるとともに、直前の演算命令の結
果を条2 件として利用することができるようになるという利点が
ある。
第1図は本発明の原理的構成示す図、第2図および第3
図は本発明の詳細な説明する図、第4図は本発明の実施
例のブロック図、第5図はパイプライン制御を用いたD
SPの命令実行制御回路を示す図、第6図は第5図の回
路のタイムチャートを示す図、第7図はデイレイド分岐
命令のタイムチャートを示す図、第8図はデイレイド分
岐命令を用いたプログラムを示す図、第9図は従来例の
回路図である。 PCはプログラムカウンタ、ROMはメモリ、IRIは
第1のレジスタ、IR2は第2のレジスタ、PC8は第
3のレジスタである。
図は本発明の詳細な説明する図、第4図は本発明の実施
例のブロック図、第5図はパイプライン制御を用いたD
SPの命令実行制御回路を示す図、第6図は第5図の回
路のタイムチャートを示す図、第7図はデイレイド分岐
命令のタイムチャートを示す図、第8図はデイレイド分
岐命令を用いたプログラムを示す図、第9図は従来例の
回路図である。 PCはプログラムカウンタ、ROMはメモリ、IRIは
第1のレジスタ、IR2は第2のレジスタ、PC8は第
3のレジスタである。
Claims (1)
- 【特許請求の範囲】 プログラムカウンタ(PC)からアドレスを与えてメモ
リ(ROM)から命令を読み出し、第1の命令サイクル
で該読み出した命令を第1のレジスタ(IR1)に保持
して該命令の実行を制御し、次の命令サイクルで該第1
のレジスタ(IR1)から読み出した命令を第2のレジ
スタ(IR2)に保持して該命令実行結果の転送を制御
する処理装置のパイプライン制御方式において、 前記第1のレジスタ(IR1)に保持された命令が分岐
命令であったとき次の命令サイクルで次の命令のアドレ
スを第3のレジスタ(PCS)に保持するとともに分岐
先アドレスの命令をプログラムカウンタ(PC)から読
み出し、分岐する場合は該分岐命令の次のアドレスの命
令を実行することなく分岐先アドレスから読み出された
命令を実行し、分岐しない場合は分岐命令の次の命令を
実行するとともに分岐先アドレスの命令を実行すること
なく前記第3のレジスタ(PCS)に保持されている分
岐命令の次の命令アドレスに1を加算してプログラムカ
ウンタ(PC)に入力して読み出したアドレスの命令を
実行することによって2命令サイクルで分岐命令を実行
することを特徴とする分岐命令方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2015100A JP2897049B2 (ja) | 1990-01-26 | 1990-01-26 | 分岐命令方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2015100A JP2897049B2 (ja) | 1990-01-26 | 1990-01-26 | 分岐命令方式 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH03220629A true JPH03220629A (ja) | 1991-09-27 |
| JP2897049B2 JP2897049B2 (ja) | 1999-05-31 |
Family
ID=11879422
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2015100A Expired - Fee Related JP2897049B2 (ja) | 1990-01-26 | 1990-01-26 | 分岐命令方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2897049B2 (ja) |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS58169247A (ja) * | 1982-03-30 | 1983-10-05 | Fujitsu Ltd | 高速命令読出し方式 |
-
1990
- 1990-01-26 JP JP2015100A patent/JP2897049B2/ja not_active Expired - Fee Related
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS58169247A (ja) * | 1982-03-30 | 1983-10-05 | Fujitsu Ltd | 高速命令読出し方式 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2897049B2 (ja) | 1999-05-31 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4879646A (en) | Data processing system with a pipelined structure for editing trace memory contents and tracing operations during system debugging | |
| JPS6217252B2 (ja) | ||
| JPH02287626A (ja) | パイプライン方式の分岐命令制御装置 | |
| US5421026A (en) | Data processor for processing instruction after conditional branch instruction at high speed | |
| JP2798121B2 (ja) | データ処理装置 | |
| JPH03220629A (ja) | 分岐命令方式 | |
| JPH1091441A (ja) | プログラム実行方法およびその方法を利用した装置 | |
| JPH02197924A (ja) | 中央演算処理装置 | |
| JPH0544049B2 (ja) | ||
| JP3490191B2 (ja) | 計算機 | |
| JP2636821B2 (ja) | 並列処理装置 | |
| JPH0228724A (ja) | 分岐命令制御方式 | |
| JP3451932B2 (ja) | 情報処理装置及びパイプライン処理方法 | |
| JP3476314B2 (ja) | マイクロプロセッサ | |
| JP3063593B2 (ja) | プログラマブルコントローラ | |
| JP2622026B2 (ja) | 中央処理装置におけるレジスタ書込制御方式 | |
| JP2869414B1 (ja) | データ処理装置 | |
| JPH0338613B2 (ja) | ||
| JPS61170830A (ja) | レジスタ参照方法 | |
| JPH02230326A (ja) | パイプライン情報処理装置 | |
| JPH0437926A (ja) | ディジタル計算機 | |
| JPS6047618B2 (ja) | 情報処理装置 | |
| JPS60159958A (ja) | デ−タ転送制御回路 | |
| JPH0997180A (ja) | プログラマブルコントローラ | |
| JP2005134987A (ja) | パイプライン演算処理装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |