JP2897049B2 - 分岐命令方式 - Google Patents

分岐命令方式

Info

Publication number
JP2897049B2
JP2897049B2 JP2015100A JP1510090A JP2897049B2 JP 2897049 B2 JP2897049 B2 JP 2897049B2 JP 2015100 A JP2015100 A JP 2015100A JP 1510090 A JP1510090 A JP 1510090A JP 2897049 B2 JP2897049 B2 JP 2897049B2
Authority
JP
Japan
Prior art keywords
instruction
branch
address
register
read
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 - Fee Related
Application number
JP2015100A
Other languages
English (en)
Other versions
JPH03220629A (ja
Inventor
登 小林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2015100A priority Critical patent/JP2897049B2/ja
Publication of JPH03220629A publication Critical patent/JPH03220629A/ja
Application granted granted Critical
Publication of JP2897049B2 publication Critical patent/JP2897049B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Description

【発明の詳細な説明】 〔概要〕 分岐命令を構成する方式に関し、 ディレイド分岐命令と同様な効率を維持しながら、プ
ログラム作成時の制限を除去した分岐命令方式を提供す
ることを目的とし、 PCからアドレスを与えてROMから命令を読み出し、第
1の命令サイクルで読み出した命令をIR1に保持して命
令の実行を制御し、次の命令サイクルでIR1から読み出
した命令をIR2に保持して命令実行結果の転送を制御す
る処理装置のパイプライン制御方式において、IR1に保
持された命令が分岐命令のとき次の命令のアドレスをPC
Sに保持して次の命令サイクルで分岐先アドレスの命令
をPCから読み出し、分岐する場合は分岐命令の次のアド
レスの命令を実行せずに分岐先アドレスから読み出した
命令を実行し、分岐しない場合は分岐命令の次の命令を
実行するとともに分岐先アドレスの命令を実行せずにPC
Sに保持された分岐命令の次のアドレスに1を加えた値
でPCから読み出したアドレスの命令を実行して2命令サ
イクルで分岐命令を実行する。
〔産業上の利用分野〕
本発明は分岐命令を構成する方式に係り、特にパイプ
ライン制御を用いたディジタル・シグナル・プロセッサ
(DSP)等における命令実行制御における分岐命令方式
に関するものである。
音声信号を実時間で処理するDSPでは、処理の高速化
のために、パイプライン制御を用いることが常識化して
いる。
この場合、分岐命令を実行するとパイプラインに乱れ
が発生し、命令の実行に関係しない無駄時間が発生す
る。これに対してディレイド分岐方式と呼ばれる比較的
高速の分岐方法が知られているが、この方法では、ある
条件が成立したときのみ分岐する条件分岐を行う場合に
は高速化されない。
そこで、ディレイド分岐と同等な効率を維持しなが
ら、条件分岐に対して適用される場合にも、無駄時間要
素を生じない分岐命令方式が要望される。
〔従来の技術〕
第5図は、従来の一般的なパイプライン制御を用いた
DSPの命令実行回路を示したものであって、PCは命令の
アドレスを発生するプログラム・カウンタ、ROMは実行
するプログラムの命令データが記憶されているリードオ
ンリー・メモリ、IR1,IR2はそれぞれ命令を一時保持す
るインストラクション・レジスタ、IDは命令を解読する
インストラクション・デコーダである。
PCで作成された命令のアドレスはROMに与えられ、ROM
から命令のデーダが読み出される。ROMから読み出され
たデータは、IR1に転送され、次にIR2に転送される。IR
1,IR2のデータは、命令解読に用いられるものであっ
て、IR1からのデータはメモリアクセス時のアドレス計
算等の制御に用いられ、IR2からのデータは内部バス制
御における転送命令の制御等に使用される。
第6図は、第5図の回路のタイムチャートを示したも
のであって、横軸は1命令サイクルを単位とした時間の
流れを示し、矢印で示すようにパイプライン的に順次命
令がシフトされる。第5図においてnは命令を示し、
(n)はROMのn番地のデータを表している。また、k
は分岐先アドレスである。
いま第6図において、n番地の命令が条件分岐命令で
ある場合には、n番地の命令は実行に3サイクル必要で
ある。これは、n−1番地の命令で条件が変化する場
合、条件が確定するのはn番地の命令の最初のサイクル
であり、その時点での条件に応じて分岐する場合には、
次のサイクルで分岐先のアドレスkをPCにロードしなけ
ればならない。このため、単なる分岐の処理(PCへのロ
ード)に3サイクル必要となる。この場合、n+1番地
の命令は実行されないことになる。
ディレイド分岐は、このような無駄時間を減少させる
ために、ある制限を設けて、分岐命令を2サイクルで実
行できるようにしたものである。
第7図はディレイド分岐命令のタイムチャートを示し
たものである。
いま第7図においてnが分岐命令である場合、ディレ
イド分岐ではn+1番地の命令は実行を許される。この
ようにすることによって、分岐命令は、n+1番地の命
令に意味のある処理を行なえる場合には1サイクル、n
+1番地の命令に意味のない処理しか行えない場合に
は、無処理の命令を書いて、実質的に2サイクル命令と
して分岐を行うことができる。
分岐には条件がある場合と、条件がない場合との2種
類がある。条件がある場合で特に演算命令の結果を条件
として分岐する場合には、直前の命令の結果は使用して
はならないことになる。従って演算結果のフラグを条件
として分岐を行う場合は、直前に無処理命令等を挿入す
る必要がある。
第8図はディレイド分岐を用いたプログラムを示すも
のであって、無処理(NOP)命令を挿入する場合を例示
している。すなわち のようにNOP(無処理)命令を挿入することが必要とな
る。
また第9図は従来例の回路図を示したものであって、
PCの制御を行う部分を示したものである。同図におい
て、SEL1はセレクタ、Accは加算処理を行うアキュムレ
ータである。
通常の命令実行状態では、PCの値はAccに入力されて
“1"ずつインクリメントされ、SEL1を経て再度PCに入力
されることによって、ROMにおける命令を順次アクセス
する。内部バスからは、分岐命令時にPCに入力される。
〔発明が解決しようとする課題〕
従来のディレイド分岐命令においては、演算命令の結
果を条件として分岐する場合には、直前の命令の結果を
使用できないため、無処理命令を挿入する等の処理を行
う必要があるが、このような制限は、プログラム作成時
に、プログラマに対して負担を与える結果となる。
本発明はこのような従来技術の課題を解決しようとす
るものであって、ディレイド分岐命令と同様な効率を維
持しながら、上述のようなプログラム作成時の制限を除
去した分岐命令方式を提供することを目的としている。
〔課題を解決するための手段〕
本発明は第1図にその原理的構成を示すように、プロ
グラムカウンタ(PC)からアドレスを与えてメモリ(RO
M)から命令を読み出し、第1の命令サイクルで読み出
した命令を第1のレジスタ(IR1)に保持してこの命令
の実行を制御し、次の命令サイクルで第1のレジスタ
(IR1)から読み出した命令を第2のレジスタ(IR2)に
保持してこの命令実行結果の転送を制御する処理装置の
パイプライン制御方式において、次のようにして2命令
サイクルで分岐命令を実行するものである。
すなわち第1のレジスタ(IR1)に保持された命令が
分岐命令であったとき、次の命令サイクルで次の命令の
アドレスを第3のレジスタ(PCS)に保持するととも
に、分岐先アドレスの命令をプログラムカウンタ(PC)
の値に従ってメモリから読み出す。
分岐する場合は、この分岐命令の次のアドレスの命令
を実行することなく、分岐先アドレスから読み合された
命令を実行する。
分岐しない場合は、分岐命令の次の命令を実行すると
ともに、分岐先アドレスの命令を実行することなく第3
のレジスタ(PCS)に保持されている分岐命令の次の命
令アドレスに1を加算してプログラムカウンタ(PC)に
入力して読み出したアドレスの命令を実行する。
〔作用〕
第2図および第3図は本発明の作用を説明する図であ
る。
第2図は、本発明の分岐命令方式を採用した場合の、
分岐する場合の条件分岐命令のタイムチャートを示した
ものである。
第2図において、n番地の命令が分岐命令である。分
岐命令は2サイクルであって、次のn+1番地の命令は
分岐時には実行されない。
n−1番地の命令が演算命令のとき、その演算結果の
フラグにより、n番地の命令実行の最初のサイクルで判
断を行って、分岐先であるk番地のアドレスに分岐を行
い、以後これに続けて命令実行を行う。
第3図は、本発明の分岐命令方式を採用した場合の、
分岐しない場合の条件分岐命令のタイムチャートを示し
たものである。
第3図において、分岐命令は同様に2サイクルであ
る。分岐命令があったときは、第2図の場合と同様に、
分岐を行うと否とに拘わらずPCに分岐先アドレスkをロ
ードする。この際、次のn+1番地のPCの値を一旦他の
場所に記憶しておき、その後分岐が行われなかったとき
は、これに“1"を加算した値n+2を再びPCに戻して、
この命令から命令実行を行う。
このように条件の判断を、ディレイド分岐命令方式で
はn−1番地の命令実行時に行っているのに対し、本発
明ではn番地の命令実行時の最初のサイクルで行ってい
る。従って本発明によれば、ディレイド分岐命令方式と
同様に高速の分岐を行うことができるとともに、分岐の
直前に無処理命令を挿入する等の処理が不要になるの
で、プログラム作成時の複雑さが緩和され、かつ直前の
演算命令の結果を条件として利用できることになる。
〔実施例〕
第4図は本発明の実施例のブロック図であって、第9
図におけると同じものを同じ符号で示し、SEL2は第2の
セレクタ、PCSはPCの値を保持する第3のレジスタであ
る。
通常の命令実行状態では、PCの値はSEL2を経てAccに
入力されて“1"ずつインクリメントされ、SEL1を経て再
度PCに入力されることによって、ROMにおける命令を順
次アクセスする。内部バスからは、分岐命令時にPCに入
力される。
PCSは分岐すると否とに拘わらず常にPCの値をラッチ
し、分岐しなかったときは、SEL2を経てPCSの値をAccに
入力して“1"をインクリメントし、SEL1を経てPCに入力
して次の番地の命令を読み出す。
〔発明の効果〕
以上説明したように本発明によれば、ディレイド分岐
命令方式と同様に高速の分岐を行うことができ、ディレ
イド分岐命令と同様な効率を維持しながら、分岐の直前
に無処理命令を挿入する等のプログラム作成時の制限を
除去した分岐命令方式を得ることができ、プログラム作
成時の複雑さが緩和されるとともに、直前の演算命令の
結果を条件として利用することができるようになるとい
う利点がある。
【図面の簡単な説明】
第1図は本発明の原理的構成示す図、第2図および第3
図は本発明の作用を説明する図、第4図は本発明の実施
例のブロック図、第5図はパイプライン制御を用いたDS
Pの命令実行制御回路を示す図、第6図は第5図の回路
のタイムチャートを示す図、第7図はディレイド分岐命
令のタイムチャートを示す図、第8図はディレイド分岐
命令を用いたプログラムを示す図、第9図は従来例の回
路図である。 PCはプログラムカウンタ、ROMはメモリ、IR1は第1のレ
ジスタ、IR2は第2のレジスタ、PCSは第3のレジスタで
ある。

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】プログラムカウンタ(PC)からアドレスを
    与えてメモリ(ROM)から命令を読み出し、第1の命令
    サイクルで該読み出した命令を第1のレジスタ(IR1)
    に保持して該命令の実行を制御し、次の命令サイクルで
    該第1のレジスタ(IR1)から読み出した命令を第2の
    レジスタ(IR2)に保持して該命令実行結果の転送を制
    御する処理装置のパイプライン制御方式において、 前記第1のレジスタ(IR1)に保持された命令が分岐命
    令であったとき次の命令サイクルで次の命令サイクルを
    第3のレジスタ(PCS)に保持するとともに分岐先アド
    レスの命令を読み出し、分岐する場合は該分岐命令の次
    の命令アドレスの命令を実行することなく分岐先アドレ
    スから読み出された命令を実行し、分岐しない場合は分
    岐命令の次の命令を実行するとともに分岐先アドレスの
    命令を実行することなく前記第3のレジスタ(PCS)に
    保持されている分岐命令の次の命令アドレスに1を加算
    してプログラムカウンタ(PC)に入力して読み出したア
    ドレスの命令を実行することによって2命令サイクルで
    分岐命令を実行することを特徴とする分岐命令方式。
JP2015100A 1990-01-26 1990-01-26 分岐命令方式 Expired - Fee Related JP2897049B2 (ja)

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 JPH03220629A (ja) 1991-09-27
JP2897049B2 true 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)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
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
JPH03220629A (ja) 1991-09-27

Similar Documents

Publication Publication Date Title
EP0241946B1 (en) Information processing system
JP2665081B2 (ja) マイクロコンピュータのレジスタ間データ転送方式
JP2897049B2 (ja) 分岐命令方式
US5812845A (en) Method for generating an object code for a pipeline computer process to reduce swapping instruction set
CA2157435C (en) Vector data bypass mechanism for vector computer
EP0573071A2 (en) A microprocessor
US5854919A (en) Processor and its operation processing method for processing operation having bit width exceeding data width of bit storage unit
JPH05282473A (ja) データ処理装置
JP2758624B2 (ja) マイクロプログラムの調速方式
JPS60178539A (ja) 情報処理装置におけるバイパス制御方式
JPS61175732A (ja) 情報処理装置の性能制御方式
JPS588011B2 (ja) マイクロプログラムセイギヨホウシキ
JP2679603B2 (ja) マイクロコンピュータ
JPH0228724A (ja) 分岐命令制御方式
JP2731740B2 (ja) 通信レジスタ付並列計算機
JPS59223846A (ja) 演算処理装置
JPH01145730A (ja) データ行先き制御方式
JPH02230326A (ja) パイプライン情報処理装置
JPS60159958A (ja) デ−タ転送制御回路
JPH0338613B2 (ja)
JPH0997180A (ja) プログラマブルコントローラ
JPH024011B2 (ja)
JPH07113891B2 (ja) パイプライン処理装置
JPH02139652A (ja) マイクロ・コンピューター
JPH11327902A (ja) 情報処理装置及びパイプライン処理方法

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees