JP3183844B2 - 可変パイプライン段数のデータ処理装置 - Google Patents

可変パイプライン段数のデータ処理装置

Info

Publication number
JP3183844B2
JP3183844B2 JP07841997A JP7841997A JP3183844B2 JP 3183844 B2 JP3183844 B2 JP 3183844B2 JP 07841997 A JP07841997 A JP 07841997A JP 7841997 A JP7841997 A JP 7841997A JP 3183844 B2 JP3183844 B2 JP 3183844B2
Authority
JP
Japan
Prior art keywords
stage
instruction
unit
processing
pipeline
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
Application number
JP07841997A
Other languages
English (en)
Other versions
JPH09319578A (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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co 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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP07841997A priority Critical patent/JP3183844B2/ja
Publication of JPH09319578A publication Critical patent/JPH09319578A/ja
Application granted granted Critical
Publication of JP3183844B2 publication Critical patent/JP3183844B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
    • G06F9/3869Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines

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)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、メモリ中の命令に
従ってデータをパイプライン処理するデータ処理装置に
関する。
【0002】
【従来の技術】近年の電子技術の発展により、マイクロ
コンピュータをはじめ情報処理装置が普及し、あらゆる
分野で用いられている。従来の情報処理装置は、命令の
種類が豊富なことを特徴とするCISC(ComplexInstructi
on Set Computer)タイプと、命令の種類を限定して高
速さを特徴とするRISC(Reduced Instruction Set Comp
uter)タイプとに大別できる。例えば、TRONやMC68040
などは前者であり、SPARCやMIPSなどは後者である。こ
れらはいずれもパイプライン構造をとり命令の見かけ上
の実行時間の短縮を図っている。パイプラインとは、命
令の処理を少なくとも読出し、解読、実行のステージに
分け、これらを並列に実行するものである。
【0003】図16は従来の情報処理装置を構成するデ
ータ処理装置のブロック図を示す。同図において、デー
タ処理装置7は、命令フェッチステージ(以下、IFステ
ージ)で動作しメモリ(図外)から命令の読出しを行う
命令フェッチ回路71と、命令解読ステージ(以下、DE
Cステージ)で動作し命令フェッチ回路71で読出され
た命令を解読する命令解読回路72と、命令実行ステー
ジ(以下、EXステージ)で動作し命令解読回路72によ
って制御される命令実行回路73とを備え、上記3つの
ステージからなる3段パイプライン構造を成している。
さらに、命令実行回路73は、演算のオペランドを格納
するレジスタ731と、レジスタ731から読出したデ
ータまたはレジスタ731に格納するデータを乗せるバ
ス732a〜732cと、バス732aとバス732b
とによって転送されるデータに基づいて演算を行う演算
器733とからなる。
【0004】以上の構成をもつ従来のデータ処理装置7
について、動作クロックの周波数が50MHz(メガヘル
ツ)、つまり各ステージ時間が20ナノ秒である場合の
動作を図17に示すタイムチャートを用いて説明する。
命令フェッチ回路71によって読み出された命令(IFス
テージ:8ナノ秒)は、命令解読回路72で解読され
(DECステージ:10ナノ秒)、命令実行回路73で実
行される(EXステージ:19ナノ秒)。EXステージの詳
細については、命令によって指示されたオペランドデー
タが、レジスタ731から読出され(5ナノ秒)、バス
732aとバス732bとを介して演算器733に入力
され演算器733で演算されてその演算結果がバス73
2cからレジスタ731に格納される(14ナノ秒)。
この演算時間は整数乗算などの最長のものを示してい
る。
【0005】
【発明が解決しようとする問題】しかしながら、パイプ
ライン構造をとる情報処理装置においては、パイプライ
ンの各ステージの処理時間がほぼ均等でかつできるだけ
短いことが要求される。図16に示した従来の情報処理
装置では、各ステージの処理時間にばらつきがあり、EX
ステージの処理時間が他のステージの処理時間より長
く、結果として動作クロックの周波数の上限を低く抑え
てしまっている。
【0006】このように、パイプラインステージの処理
時間のばらつきがあると、最長の処理時間を持つステー
ジによって、クロックの上限が決定され、処理性能の向
上を困難にしているという問題がある。また、EXステー
ジでの処理時間を他のステージの処理時間とほぼ均等に
するためには、極めて高速なデバイスや並列化実装など
が要求され、結果としてコストや消費電力が増大すると
いう問題点がある。
【0007】この問題点を図17に例示する動作タイミ
ング図を用いて詳細に説明する。IFステージやDECステ
ージはマシンサイクルの前半で完了しているので、もし
この2つのステージだけならば100MHzまで動作可能
である。ところが、EXステージの処理時間が19ナノ秒
と圧倒的に長く、この処理時間に動作クロックの上限が
依存し、全体として50MHzそこそこまでしか動作しな
いことが同図からわかる。
【0008】この問題は、RISCにおいては、高速な命令
キャッシュを搭載することや命令の単純化とによってIF
ステージおよびDECステージの処理時間が短縮されると
いう傾向がある反面、高機能な演算器の導入によりEXス
テージの処理時間が増大することがより顕著になる。一
方、CICSにおいては、可変長の命令が複雑化してDECス
テージが他のステージより処理時間が増大するという別
な傾向もある。
【0009】特に、上記の問題は、近年のマルチメディ
ア化に対応すべく様々な機能のデータ処理を拡張処理装
置で実現するため、高機能な専用演算器の導入によりEX
(E)ステージの処理時間が増大することが顕著になって
いる。かかる課題に鑑み本発明は、クロックの周波数の
上限を向上させ、しかも用途に応じて高速クロックを使
用するときも低速クロック使用するときも好適な処理能
力を発揮するコストパーフォーマンスのよいデータ処理
装置を提供することを目的とする。
【0010】
【課題を解決するための手段】上記目的を達成するため
本発明のデータ処理装置は、パイプライン段数がn段
、前記n段の中の所定の段における処理を複数段のパ
イプライン処理で行うことによりnより大きいm段とに
可変であり、n段又はm段の何れかの段数で命令をパイ
プライン処理する処理手段と、処理手段のパイプライン
段数を切り替える切り替え手段とを備えている。
【0011】また、前記切り替え手段は、データ処理装
置に供給される動作クロックが所定の周波数より高い高
速クロックであるか、それ以下の低速クロックであるか
を指定する指定手段と、低速クロックと指定された場合
には前記処理手段をn段で実行させ、高速クロックと指
定された場合には前記m段で実行させるパイプライン制
御手段とを備えるよう構成してもよい。
【0012】また、前記切り替え手段は、データ処理装
置に供給される電源電圧が所定値より高いか低いかを指
定する指定手段と、高いと指定された場合には前記処理
手段をn段で実行させ、低いと指定された場合には前記
m段で実行させるパイプライン制御手段とを備える構成
としてもよい。さらに、前記処理手段は、命令フェッチ
ステージ、命令解読ステージ及び命令実行ステージの少
なくとも3段のパイプライン段数を有し、前記命令フェ
ッチステージ、命令解読ステージ及び命令実行ステージ
の少なくとも1つは、その処理内容がシーケンシャルな
複数の部分処理に分割可能であり、前記処理手段は、前
記n段のパイプライン制御がなされる場合には全部分処
理を1ステージで処理し、前記m段のパイプライン制御
がなされる場合には各部分処理をそれぞれ1ステージで
処理するように構成してもよい。
【0013】そして、データ処理装置において各ステー
ジはそれぞれ個別の処理部が実行し、それら処理部の少
なくとも1つは、前記複数の部分ステージにおける部分
処理を実行する複数の部分処理部と、部分処理部と次段
の部分処理部との間に設けられ、前記n段パイプライン
処理の場合には当該部分処理結果を次段に透過出力し、
前記m段パイプライン処理の場合には当該部分処理結果
を保持し、次サイクル時間において次段に出力する複数
の透過保持部とを備える構成としてもよい。
【0014】また、各透過保持部は、部分処理部からの
部分処理結果を保持するパイプラインラッチと、前記n
段パイプライン処理の場合は当該部分処理結果を選択
し、前記m段パイプライン処理の場合はパイプラインラ
ッチの出力を選択して次段の部分処理部に出力するセレ
クタとを備える構成としてもよい。
【0015】
【発明の実施の形態】
<第一の実施の形態>図1は、本発明の第一の実施の形
態におけるデータ処理装置の構成を示すブロック図を示
す。データ処理装置は、命令フェッチステージ(以下、
IFステージ)、命令解読ステージ(以下、DECステー
ジ)、第1命令実行ステージおよび第2命令実行ステー
ジ(以下、EX1ステージおよびEX2ステージ)の3つまた
は4つのステージからなる3または4段パイプライン構
造を成している。
【0016】図1において、データ処理装置1は、命令
フェッチ回路11と命令解読回路12と命令実行回路1
3と高速ピッチフラグ14とから構成され、パイプライ
ン処理の段数が3段又は4段とに可変になっている。命
令フェッチ回路11は、IFステージで動作し、図外の内
蔵メモリ又は外部メモリから命令を読出す。
【0017】命令解読回路12は、DECステージで動作
し命令フェッチ回路11で読出された命令を解読する。
また、命令解読回路12は、パイプライン処理及びその
段数を制御するパイプライン制御回路121を有する。
パイプライン制御回路121は、高速ピッチフラグ14
がセットされている場合には命令実行回路13を2ステ
ージで動作させ、クリアされている場合には命令実行回
路13を1ステージのみで動作させるようにパイプライ
ンを制御する。これにより高速ピッチフラグの内容に応
じて4段のパイプライン処理と3段のパイプライン処理
とが択一に制御される。
【0018】命令実行回路13は、演算のオペランドを
格納するレジスタ131と、レジスタ131から読出し
たデータまたはレジスタ131に格納するデータを乗せ
るバス132a〜132cと、バス132aとバス13
2bから転送されるデータを用いて演算を行う演算器の
前半部分である第1部分演算器133と、第1部分演算
器133の結果を保持するラッチ134と、高速ピッチ
フラグ14がセットされているときラッチ134を選択
しクリアされているとき第1部分演算器133の結果を
選択するセレクタ135と、セレクタ135の出力を入
力し演算の後半部分を行う第2部分演算器136とから
構成される。この構成により命令実行回路13は、高速
ピッチフラグがセットされている場合には、2ステージ
(EX1ステージ、EX2ステージ)に亘って演算を行い、高
速ピッチフラグがクリアされている場合には、1ステー
ジ(EXステージ)で演算を行う。
【0019】高速ピッチフラグ14は、本データ処理装
置1に供給されている動作クロックの周波数が、高速ク
ロックか低速クロックかを示すフラグを保持する。本実
施例では動作クロックの周波数が50MHzより高いとき
にフラグがセットされ、50MHz以下のときクリアされ
るものとする。ここで、図2、図3に示すように命令フ
ェッチ回路11、命令解読回路12、レジスタ131の
読出し、第1部分演算器133、セレクタ135、第2
部分演算器136の処理時間をそれぞれ、8ナノ秒、1
0ナノ秒、5ナノ秒、5ナノ秒、1ナノ秒、9ナノ秒と
し、その他の処理時間は無視できるものとする。なお比
較を容易にするため、第1部分演算器133の処理時間
と第2部分演算器136の処理時間の和は14ナノ秒で
あり、他の処理時間も従来の技術に例示したものと同じ
である。
【0020】以上のように構成された本発明の第一の実
施の形態による情報処理装置について、その動作を
(1)クロック周波数が低速の場合と(2)クロック周
波数が高速の場合とに分けて説明する。 (1)クロック周波数が50MHz以下(低速)の場合 図2に示したように、本データ処理装置がクロックの周
波数50MHz、即ちマシンサイクル20ナノ秒で動作す
る場合のタイムチャートを示している。この場合高速ピ
ッチフラグ14はクリアされている。命令実行回路13
はEXステージのみで動作する。図2は、パイプラインの
IFステージ、DECステージ、EX1ステージの処理時間をマ
シンサイクル毎に示している。
【0021】(タイミング1) 命令フェッチ回路11
は命令を読出す(処理時間は8ナノ秒)。 (タイミング2) 読出された命令が命令解読回路12
で解読される(同10ナノ秒)。 (タイミング3) 高速ピッチフラグ14がクリアされ
ているので、パイプライン制御回路121により命令実
行回路13は、1マシンサイクルでEXステージを実行す
るよう制御される。すなわち、命令によって指示される
オペランドがレジスタ131から読出され、バス132
aとバス132bとを介して第1部分演算器133に入
力され、まず第1部分演算器133で前半の演算が行わ
れる。セレクタ135は第1部分演算器133の結果を
選択し、第2部分演算器136に出力する。同じマシン
サイクルのタイミングで後半の演算も併せて行う。結果
はバス132cからレジスタ131に格納されて完結す
る(処理時間は合計20ナノ秒)。
【0022】(2)クロック周波数が50MHzを超え1
00MHz以下の場合 図3は、本データ処理装置が、クロックの周波数100
MHz、即ちマシンサイクル10ナノ秒で動作する場合の
タイムチャートを示す。同図は、パイプラインのIFステ
ージ、DECステージ、EX1ステージ、EX2ステージの処理
時間をマシンサイクル毎に示している。
【0023】(タイミング1) 命令フェッチ回路11
で命令を読出す(処理時間8ナノ秒)。 (タイミング2) 読出された命令を命令解読回路12
で解読する(同10ナノ秒)。 (タイミング3) 高速ピッチフラグ14がセットされ
ているので、パイプライン制御回路121により命令実
行回路13は、2マシンサイクルでEX1ステージとEX2ス
テージとを実行するよう制御される。命令解読回路12
の制御に基づいて命令実行回路13で命令を実行する。
命令の実行の詳細は次の通りである。命令によって指示
されるオペランドがレジスタ131から読出され、バス
132aとバス132bとによりまず第1部分演算器1
33で前半の演算が行われ、その結果がラッチ134に
保持される。ラッチ134はEX1ステージのパイプライ
ンラッチとして作用し、ここまででEX1ステージが終わ
る(処理時間は合計10ナノ秒)。
【0024】(タイミング4) EX1ステージの処理結
果が、ラッチ134からセレクタ135を介して出力さ
れ、第2部分演算器136は後半の演算を行う。演算結
果はバス132cからレジスタ131に格納されて完結
する(処理時間は合計10ナノ秒)。以上のように本発
明の第一の実施の形態によれば、高速ピッチフラグ14
をセットすることにより処理時間の長い命令実行回路1
3の動作がEX1、EX2の2つのステージに分割されるた
め、パイプラインの各ステージの処理時間がほぼ均等で
かつ10ナノ秒以下になる。したがって、動作クロック
が50MHzを超え100MHzのまでの範囲で処理性能が
向上する。
【0025】また、クロック周波数が50MHz以下の場
合は、高速ピッチフラグ14をクリアすることにより命
令実行回路13の処理時間が他に比べて長くなるものの
1つのEXステージで動作するため、全体を3段のパイプ
ラインで動作させることになる。この場合、分岐インタ
ロックを4段のパイプラインに比べて短縮することがで
きる。すなわち、分岐命令の実行によりフラッシュされ
る命令数および、インタロックするサイクル数を減少す
ることができる。 <第二の実施の形態>図4は、本発明の第二の実施の形
態における主たるデータ処理装置と従たる拡張処理装置
とからなる情報処理装置の構成を表すブロック図を示
す。
【0026】本情報処理装置は、データ処理装置3と拡
張処理装置2とから構成される。同図において、図1に
示したデータ処理装置1と同じ構成要素は同じ番号を付
して説明を省略し、異なる点を中心に説明する。データ
処理装置3は、高速ピッチフラグ14に応じて3段のパ
イプライン処理と4段のパイプライン処理が択一に行わ
れる点がデータ処理装置1と同じであるが、命令解読回
路12及び命令実行回路13の代わりに命令解読回路3
2及び命令実行回路33が設けられている点と、バス2
32a、232b、232cとで拡張処理装置2と接続
される点とが異なる。また、命令フェッチ回路11によ
り読み出される命令には、データ処理装置1用の命令
(以下通常命令と呼ぶ)と拡張処理装置2用の拡張演算
命令の2種類ある点も異なる。
【0027】命令解読回路32は、図1の命令解読回路
12の機能に加えて、拡張演算命令を解読し、そのオペ
ランドで指定されたデータをレジスタ131から読み出
して拡張処理装置2に供給し、さらに、当該オペランド
データを用いた拡張演算結果を拡張処理装置2から取り
込んでレジスタ131に書き込む制御を行う。命令実行
回路33は、命令実行回路13に比べてバッファ138
a〜cが追加されている点と、第1部分演算器133及
び第2部分演算器136の代わりに加算器137が設け
られた点とが異なり、命令実行回路13の機能に加え
て、命令解読回路32の制御の下で、レジスタ131か
ら読み出されたデータをバス132a、bを介してバッ
ファ138a、bから拡張処理装置2に出力し、また、
拡張処理装置2からバッファ138cを介して入力され
るデータをレジスタ131に書き込む機能を有してい
る。また、加算器137は、第1部分演算器133及び
第2部分演算器136の機能を有している。
【0028】命令バス231は、命令フェッチ回路11
により読み出された命令を命令解読回路32と拡張命令
解読回路22とに同時に伝送するバスである。バス23
2a、bは、データ処理装置3から供給される拡張演算
命令用のオペランドデータを伝送するバスである。バス
232cは、拡張処理装置2による演算結果データをデ
ータ処理装置3に伝送するバスである。
【0029】拡張処理装置2は、拡張命令解読回路22
と拡張命令実行回路23とを備え、データ処理装置3と
動作クロックを共通にし、高速ピッチフラグ14に応じ
て、IFステージ、拡張命令解読ステージ(以下DEC(E)ス
テージ)、拡張命令実行ステージ(以下EX(E)ステー
ジ)からなる3段パイプライン処理と、IFステージ、DE
C(E)ステージ、第1拡張命令実行ステージ(以下EX1(E)
ステージ)、第2拡張命令実行ステージ(以下EX2(E)ス
テージ)からなる4段パイプライン処理とを択一に行
う。このうちIFステージは命令フェッチ回路11によ
る。また、DEC(E),EX(E),EX1(E),EX2(E)の各ステージ
は、データ処理装置3のDEC,EX,EX1,EX2の各ステージの
代わりにそれぞれ実行される。
【0030】拡張命令解読回路22は、DEC(E)ステージ
で動作し命令フェッチ回路11で読み出された拡張演算
命令を解読する。この内部の拡張パイプライン制御回路
221は、高速ピッチフラグ14がセットされている場
合には拡張命令実行回路23をEX1(E)ステージとEX2(E)
ステージからなる2ステージで動作させ、クリアされて
いる場合には拡張命令実行回路23をEX(E)ステージの
みで動作させるようにパイプライン制御を行う。これに
より高速ピッチフラグの内容に応じて4段のパイプライ
ン処理と3段のパイプライン処理とが択一に制御され
る。
【0031】拡張命令実行回路23は、バッファ138
a〜138cにつながるバス232a〜232cと、バ
ス232aとバス232bとによって転送されるデータ
に基づいて乗算を行う乗算器の前半部分である第1部分
乗算器233と、第1部分乗算器233の結果を保持す
るラッチ234と、高速ピッチフラグ14がセットされ
ているときラッチ234を選択しクリアされているとき
第1部分乗算器233の結果を選択するセレクタ235
と、セレクタ235の出力を入力し乗算の後半部分を行
う第2部分乗算器236とからなる。
【0032】ここで、図5、図6に示すように、命令フ
ェッチ回路11、命令解読回路32、レジスタ131の
読出し、加算器137、セレクタ135、拡張命令解読
回路22、第1部分乗算器233、セレクタ235、第
2部分乗算器236の処理時間をそれぞれ、8ナノ秒、
10ナノ秒、5ナノ秒、4ナノ秒、1ナノ秒、9ナノ
秒、5ナノ秒、1ナノ秒、9ナノ秒とし、その他の処理
時間は無視できるものとする。なお比較を容易にするた
め、第1部分乗算器233の処理時間と第2部分乗算器
236の処理時間の和は14ナノ秒であり、他の処理時
間も従来の技術に例示したものと同じである。
【0033】以上のように構成された本発明の第二の実
施の形態による情報処理装置について、その動作を
(1)クロック周波数が低速の場合と(2)クロック周
波数が高速の場合とに分けて説明する。 (1)クロック周波数が低速(50MHz以下)の場合。 図5はクロックの周波数が50MHz、即ちマシンサイク
ルが20ナノ秒で動作する例を示している。予め高速ピ
ッチフラグ14をクリアし、命令実行回路33をEXステ
ージのみで動作させかつ拡張命令実行回路23をEX(E)
ステージのみで動作させる。同図は、パイプラインのIF
ステージ、DECステージ、EXステージおよびEX(E)ステー
ジの処理時間をマシンサイクル毎に示している。
【0034】(タイミング1) 命令フェッチ回路11
で命令を読出す(処理時間は8ナノ秒)。 (タイミング2) 読出された命令を命令解読回路32
と拡張命令解読回路22とで解読する(処理時間はそれ
ぞれ10ナノ秒と9ナノ秒)。 (タイミング3) 命令解読回路32と拡張命令解読回
路22との解読の結果、データ処理装置3のみで処理さ
れる命令であることが判明した場合は命令実行回路33
で命令を実行し、拡張処理装置2で処理される命令であ
ることが判明した場合は拡張命令実行回路23で命令を
実行する。命令の実行の詳細は次の通りである。
【0035】加算命令の場合、命令によって指示される
オペランドがレジスタ131から読出され、バス132
aとバス132bとにより加算器137で加算が行わ
れ、その結果がラッチ134に保持される。しかし高速
ピッチフラグ14がクリアされているためセレクタ13
5は加算器137の結果を選択し、出力をバス132c
からレジスタ131に格納されて完結する(処理時間は
合計10ナノ秒)。
【0036】乗算命令の場合、命令によって指示される
オペランドがレジスタ131から読出され、バス132
aとバス132bからバッファ138aおよびバッファ
138bを経由してバス232aおよび232bに転送
され、まず第1部分乗算器233で前半の乗算が行わ
れ、その結果がラッチ234に保持される。しかし高速
ピッチフラグ14がクリアされているためセレクタ23
5は第1部分乗算器233の結果を選択し、第2部分乗
算器236はこのタイミングで後半の乗算も併せて行
う。結果はバス232cからバッファ138cを経由し
てバス132cに転送されてレジスタ131に格納され
完結する(同20ナノ秒)。 (2)クロック周波数が高速(50MHzを超え100M
Hz以下)の場合 図6はクロックの周波数が100MHz、即ちマシンサイ
クルが10ナノ秒で動作する例を示している。予め高速
ピッチフラグ14をセットし、命令実行回路33をEX1
ステージとEX2ステージとで動作させかつ拡張命令実行
回路23をEX1(E)ステージとEX2(E)ステージとで動作さ
せる。同図は、パイプラインのIFステージ、DECステー
ジ、EX1ステージおよびEX1(E)ステージ、EX2ステージお
よびEX2(E)ステージの処理時間をマシンサイクル毎に示
している。
【0037】(タイミング1) 命令フェッチ回路11
で命令を読出す(処理時間は8ナノ秒)。 (タイミング2) 読出された命令を命令解読回路32
と拡張命令解読回路22とで解読する(処理時間はそれ
ぞれ10ナノ秒と9ナノ秒)。 (タイミング3) 命令解読回路32と拡張命令解読回
路22との解読の結果、データ処理装置3のみで処理さ
れる命令であることが判明した場合は命令実行回路33
で命令を実行し、拡張処理装置2で処理される命令であ
ることが判明した場合は拡張命令実行回路23で命令を
実行する。命令の実行の詳細は次の通りである。
【0038】加算命令の場合、命令によって指示される
オペランドがレジスタ131から読出され、バス132
aとバス132bとにより加算器137で加算が行わ
れ、その結果がラッチ134に保持される。ラッチ13
4はEX1ステージのパイプラインラッチとして作用し、
ここまででEX1ステージが終わる(処理時間は合計9ナ
ノ秒)。
【0039】乗算命令の場合、命令によって指示される
オペランドがレジスタ131から読出され、バス132
aとバス132bからバッファ138aおよびバッファ
138bを経由してバス232aおよび232bに転送
され、まず第1部分乗算器233で前半の乗算が行わ
れ、その結果がラッチ234に保持される。ラッチ23
4はEX1(E)ステージのパイプラインラッチとして作用
し、ここまででEX1(E)ステージが終わる(同10ナノ
秒)。
【0040】(タイミング4) 引き続いて命令実行回
路33および拡張命令実行回路23において、それぞれ
EX2ステージおよびEX2(E)ステージの処理を行う。加算
命令の場合、高速ピッチフラグ14がセットされている
ためセレクタ135はラッチ134の出力を選択し、出
力をバス132cからレジスタ131に格納されて完結
する(処理時間は1ナノ秒)。
【0041】乗算命令の場合、高速ピッチフラグ14が
セットされているためセレクタ235はラッチ234の
出力を選択し、第2部分乗算器236は後半の乗算を行
う。結果はバス232cからバッファ138cを経由し
てバス132cに転送されてレジスタ131に格納され
完結する(同10ナノ秒)。以上のように本発明の第二
の実施の形態によれば、クロック周波数が50MHzを超
える場合は、高速ピッチフラグ14をセットすることに
より処理時間の長い拡張命令実行回路23の動作するパ
イプラインステージが2つに分割されるため、パイプラ
インの各ステージの処理時間がほぼ均等でかつ10ナノ
秒以下になり、拡張処理装置2を付加しても周波数が1
00MHzのクロックまで動作が可能になる。さらにクロ
ック周波数が50MHz以下の場合は、拡張命令実行回路
23の処理時間が他に比べて長いものの1つのステージ
で動作可能であるため、高速ピッチフラグ14をクリア
することにより全体を3段のパイプラインで動作させ、
分岐時におけるパイプラインの停止時間を4段のパイプ
ラインに比べて短縮し、上記した分岐インタロックによ
るペナルティを削減することができる。
【0042】なお、本発明の第一の実施の形態では、ク
ロック周波数が50MHzを超える場合に高速ピッチフラ
グ14をセットし、命令実行回路13の動作するパイプ
ラインステージをEX1ステージとEX2ステージとの2つに
分割し命令実行回路13の処理時間をそれぞれに分けて
いるが、図7の動作タイミング図に示すように、クロッ
ク周波数が50MHzを超える場合であっても命令実行回
路13の動作をEX1ステージのみの1つのステージで行
い、ただしその場合はこのステージを1マシンサイクル
で完結するのではなくさらに1マシンサイクルを伸張し
て2マシンサイクルで完結するようにしてもよい。この
ようにしても、命令実行回路13の処理時間は同図のタ
イミング3とタイミング4とに分かれるため、図3に示
した第1の実施の形態と同様に周波数が100MHzのク
ロックまで動作が可能になる。またクロック周波数が5
0MHz以下の場合の分岐インタロックによるペナルティ
削減も全く同様に実現できる。ただし、EX1ステージを
2マシンサイクルかけて行う命令の次の命令は、図7の
タイミング4で解読されタイミング5以降で実行される
ことになる。
【0043】また、本発明の第二の実施の形態において
も上記と同様、クロック周波数が50MHzを超える場合
にも拡張命令実行回路23の動作をEX1(E)ステージのみ
の1つのステージで行い、EX1(E)ステージを1マシンサ
イクルだけ伸張して2マシンサイクルで完結するように
してもよい。また、本発明の第二の実施の形態では、情
報処理装置の基本構成が3段のパイプラインからなり、
終段の実行ステージがクロックの周波数により分割され
ているが、これを図8(a)〜(c)のパイプライン構
成図に示すようにしてもよい。図8(a)〜(c)はい
ずれも、主たるデータ処理装置が、命令フェッチステー
ジ(IFステージ)、命令解読ステージ(DECステー
ジ)、実行ステージ(EXステージ)、メモリアクセスス
テージ(MEMステージ)、書き戻しステージ(WBステー
ジ)の5段のパイプラインから構成されておりクロック
の周波数には依存しない。一方、従たる拡張処理装置
は、拡張解読ステージ(DEC(E)ステージ)と拡張実行ス
テージとからなるが、後者はクロックの周波数により以
下のように動作する。
【0044】クロックの周波数が低く、拡張実行ステー
ジが基本マシンサイクルで動作可能な場合は、図8
(a)のようになる。即ち、拡張処理装置の処理を伴う
命令は、基本マシンサイクルからなる拡張処理装置のEX
(E)ステージで実行された後、データ処理装置のMEMステ
ージ以降に合流する。クロックの周波数が高く、拡張実
行ステージが基本マシンサイクルでは動作できない場合
は、図8(b)または図8(c)のようになる。即ち、
拡張処理装置の処理を伴う命令は、図8(b)では拡張
処理装置のEX1(E)ステージとEX2(E)ステージとの2つの
ステージで実行された後、データ処理装置のWBステージ
に合流し、図8(c)ではマシンサイクルが伸張された
拡張処理装置のEX(E)ステージで実行された後、データ
処理装置のWBステージに合流する。
【0045】図8(b)または図8(c)いずれの構成
でもパイプラインの各ステージの処理時間がほぼ均等で
かつ短くなり、拡張処理装置を付加してもクロックの周
波数の上限は低下しない。さらにクロック周波数が低い
場合は、図8(a)のように拡張処理装置での処理結果
をデータ処理装置のMEMステージに合流させているため
該処理結果を後続する命令で使用する場合におけるパイ
プラインの停止時間をWBステージに合流させる構成に比
べて短縮し資源干渉インタロックによるペナルティを削
減することができる。 <第三の実施の形態>次に第三の実施の形態として、上
記図8(a)と図8(b)とのパイプライン処理を切り
替える情報処理装置の具体例を説明する。
【0046】図9は、第三の実施の形態におけるデータ
処理装置及び拡張処理装置の構成を示すブロック図であ
る。同図において、第2実施形態における図4と同じ構
成要素には同じ番号を付してあるので、同じ点は説明を
省略して、以下異なる点を中心に説明する。第二実施形
態における図4と異なる点は、データ処理装置3の代わ
りにデータ処理装置4が設けられていることである。デ
ータ処理装置4は、図8(a)、図8(b)に示したよ
うにパイプライン段数(5段)が高速ピッチフラグ14
に拘らず固定されている。
【0047】データ処理装置4は、データ処理装置3と
異なる新たな構成要素として、命令解読回路92(パイ
プライン制御回路192を含む)、加算器137、セレ
クタ94、RAM95、ラッチ96、セレクタ97を備
え、IFステージ、DECステージ、EXステージ、MEMステー
ジ、WBステージの5段パイプライン処理を行う。命令解
読回路92は、データ処理装置4用の通常命令を解読
し、加えて、拡張処理装置2用の拡張演算命令を解読
し、そのオペランドで指定されたデータをレジスタ13
1から読み出して拡張処理装置2に供給し、さらに、当
該オペランドデータを用いた拡張演算結果を拡張処理装
置2から取り込んで、レジスタ131に書き込む制御を
行う。命令解読回路92は、この拡張演算結果を、MEM
ステージで取り込むこともWBステージで取り込むことも
できるように構成されている。
【0048】セレクタ94は、パイプライン制御回路1
92の制御の下でMEMステージにおいて、通常命令の実
行時には前段のパイプラインラッチ134の内容(同図
のB入力)を選択し、拡張演算命令実行時には拡張処理
装置2の拡張演算結果(同図のA入力)を選択する。セ
レクタ97は、パイプライン制御回路192の制御の下
でWBステージにおいて、通常命令の実行時には、RAM
95出力(同図のB入力)又はパイプラインラッチ96
の内容(同図のC入力)を選択し、拡張演算命令実行時
には、拡張処理装置2の拡張演算結果(同図のA入力)
を選択する。
【0049】パイプライン制御回路192は、高速ピッ
チフラグ14に応じて、拡張演算結果をMEMステージで
取り込むかWBステージで取り込むかを制御する。具体的
には高速ピッチフラグ14がクリアされている場合に
は、図8(a)に示したように拡張処理装置2のEX(E)
ステージにおいて実行された拡張演算の結果を、MEMス
テージにおいて取り込んで、WBステージにおいて、レジ
スタ131に書き戻す。また、高速ピッチフラグ14が
セットされている場合には、図8(b)に示したように
拡張処理装置2のEX1(E)、EX2(E)ステージにおいて実行
された拡張演算の結果を、WBステージにおいて取り込む
とともにレジスタ131に書き戻す。
【0050】図10は、パイプライン制御回路192に
よるセレクタ94と97の制御論理を示す説明図であ
る。同図において、第1動作モードは、高速ピッチフラ
グ14がクリアされていること、つまり、図8(a)の
ように拡張処理装置2が拡張演算命令をEX(E)ステージ
で演算する動作を意味する。第2動作モードは、高速ピ
ッチフラグ14がセットされていること、つまり、図8
(b)のように拡張処理装置2が拡張演算命令をEX1(E)
ステージとEX2(E)ステージとで演算する動作を意味す
る。また、同図のA、B、Cは、図9中のセレクタ9
4、97のどの入力が選択されるかを示す。
【0051】同図の制御論理によれば、第1動作モード
で拡張命令が実行された場合には、拡張命令実行回路2
3による拡張演算結果は、MEMステージにおいてセレク
タ94(A入力選択)を介してパイプラインラッチ96
にラッチされ、さらにWBステージにおいてセレクタ97
(C入力選択)を介してレジスタ131に書き込まれ
る。また、第2動作モードで拡張命令が実行された場合
には、拡張命令実行回路23による拡張演算結果は、WB
ステージにおいてセレクタ97(A入力選択)を介して
レジスタ131に書き込まれる。
【0052】また、通常命令が実行された場合には、両
動作モードともに同じ動作である。すなわち、命令実行
回路93による演算結果は、MEMステージにおいてセレ
クタ94(B入力選択)を介してRAM95に書き込ま
れ、又はパイプラインラッチ96にラッチされる。さら
に、WBステージにおいてセレクタ97(B又はC入力選
択)を介してレジスタ131に書き込まれる。このと
き、セレクタ97のB入力が選択されるのは、例えばR
AM95のデータをレジスタ131に転送するロード命
令が実行される場合などである。セレクタ97のC入力
が選択されるのは、例えば命令実行回路93による演算
結果をRAM95ではなくレジスタ131に書き戻す場
合などである。
【0053】以上のように構成された本発明の第三の実
施の形態による情報処理装置について、クロック周波数
が低速の場合の高速の場合とに分けてその動作を説明す
る。 (1)クロック周波数が50MHz以下(低速)の場合 図11は、高速ピッチフラグ14がクリアされている場
合の動作タイミングを示すタイムチャートである。同図
は図8(a)に対応している。
【0054】(タイミング1) 命令フェッチ回路11
は命令を読出す(処理時間は8ナノ秒)。 (タイミング2) 読出された命令は命令解読回路32
と拡張命令解読回路22とで解読される(処理時間はそ
れぞれ10ナノ秒と9ナノ秒)。 (タイミング3) 命令解読回路32と拡張命令解読回
路22との解読の結果、データ処理装置3のみで処理さ
れる通常命令であることが判明した場合は命令実行回路
33が命令を実行し、拡張処理装置2で処理される拡張
演算命令であることが判明した場合は拡張命令実行回路
23が命令を実行する。
【0055】通常命令(加算命令)の場合、命令によっ
て指示されるオペランドがレジスタ131から読出さ
れ、バス132aとバス132bとを介して加算器13
7に転送される。加算器137による加算結果はラッチ
134に保持される(処理時間は9ナノ秒)。拡張演算
命令(乗算命令)の場合、命令によって指示されるオペ
ランドがレジスタ131から読出され、バス132aと
バス132bからバッファ138aおよびバッファ13
8bを経由してバス232aおよび232bに転送さ
れ、まず第1部分乗算器233で前半の乗算が行われ、
その結果がラッチ234に保持される。しかし高速ピッ
チフラグ14がクリアされているためセレクタ235は
第1部分乗算器233の結果を選択し、第2部分乗算器
236はこのタイミングで後半の乗算も併せて行う。
(処理時間は20ナノ秒)。
【0056】(タイミング4) 加算命令の場合、ラッ
チ134に保持された加算結果は、セレクタ94(B入
力)を介して転送され、ラッチ96に保持される(処理
時間1ナノ秒)。乗算命令の場合、第2部分乗算器23
6による演算結果はバス232cからバッファ138c
を経由してバス132cに転送され、さらにデータ処理
装置4内のセレクタ94(A入力選択)を介して(同1
ナノ秒)ラッチ96にラッチされる。
【0057】(タイミング5) ラッチ96の演算結果
は、セレクタ97(C入力選択)を介してレジスタ13
1に格納される(同1ナノ秒)。 (2)クロック周波数が50MHzを越えて100MHz以
下(高速)の場合 図12は、高速ピッチフラグ14がセットされている場
合の動作タイミングを示すタイムチャートである。同図
は図8(b)に対応している。
【0058】(タイミング1)と(タイミング2)につ
いては、図11と同様である。 (タイミング3) 命令解読回路32と拡張命令解読回
路22との解読の結果、データ処理装置3のみで処理さ
れる通常命令であることが判明した場合は命令実行回路
33が命令を実行し、拡張処理装置2で処理される拡張
演算命令であることが判明した場合は拡張命令実行回路
23が命令を実行する。
【0059】通常命令(加算命令)の場合、命令によっ
て指示されるオペランドがレジスタ131から読出さ
れ、バス132aとバス132bを介して加算器137
に転送される。加算器137による加算結果はラッチ1
34に保持される(処理時間は9ナノ秒)。拡張演算命
令(乗算命令)の場合、命令によって指示されるオペラ
ンドがレジスタ131から読出され、バス132aとバ
ス132bからバッファ138aおよびバッファ138
bを経由してバス232aおよび232bに転送され、
まず第1部分乗算器233で前半の乗算が行われ、その
結果がラッチ234に保持される(処理時間は10ナノ
秒)。
【0060】(タイミング4) 加算命令の場合、ラッ
チ134に保持された加算結果は、セレクタ94(B入
力選択)を介して転送され、ラッチ96に保持される
(処理時間1ナノ秒)。乗算命令の場合、高速ピッチフ
ラグ14がセットされているためセレクタ235は、ラ
ッチ234に保持された前半部分の乗算結果を選択し、
第2部分乗算器236は後半の乗算を行う(処理時間は
10ナノ秒)。
【0061】(タイミング5) 加算命令の場合、ラッ
チ96に保持されたデータは、セレクタ97(C入力選
択)を介してレジスタ131に格納される(処理時間1
ナノ秒)。乗算命令の場合、第2部分乗算器236によ
る演算結果はバス232cからバッファ138cを経由
してバス132cに転送され、さらにデータ処理装置4
内のセレクタ97(A入力選択)を介して(同1ナノ
秒)レジスタ131に格納される。
【0062】以上説明してきたように、本実施形態のデ
ータ処理装置と拡張処理装置によれば、図8(a)と図
8(b)とに示したように、データ処理装置のパイプラ
イン段数は固定したまま、拡張処理装置内部の処理段数
を変更することができる。 <第四の実施の形態>第四の実施の形態として、上記図
8(a)と図8(c)とのパイプライン処理を切り替え
る情報処理装置の具体例を説明する。
【0063】図13は、第四の実施の形態におけるデー
タ処理装置及び拡張処理装置の構成を示すブロック図で
ある。同図において、第三の実施形態における図9と同
じ構成要素には同じ番号を付してあるので、同じ点は説
明を省略して、以下異なる点を中心に説明する。図13
は、図9に対して、拡張処理装置内のラッチ234及び
セレクタ235が削除されている点と、命令解読回路9
2の代わりに命令解読回路130が設けられた点とが異
なっている。
【0064】拡張処理装置内のラッチ234及びセレク
タ235が削除されたのは、拡張実行ステージ(EX(E)
ステージ)が伸長されるためには、パイプラインラッチ
が不要だからである。すなわち、図8(a)と図8
(c)に示したように、拡張処理装置の拡張実行ステー
ジ(EX(E)ステージ)が1サイクル時間で拡張演算命令
を実行する場合と、2サイクル時間で拡張演算命令を実
行する場合とがある。2サイクル時間で実行する場合
も、パイプラインラッチは不要である。その結果、拡張
処理装置6は、EX(E)ステージが1サイクル時間である
場合(図8(a))には、パイプライン全体のスループ
ットとしては1サイクル時間当たり1つの拡張演算命令
を処理し、EX(E)ステージが2サイクル時間である場合
(図8(c))には、拡張処理装置のスループットとし
ては2サイクル時間当たり1つの拡張演算命令を処理す
ることになる。
【0065】命令解読回路130は、図9の命令解読回
路92の機能に加えて、高速ピッチフラグ14がセット
されているときには、拡張演算命令については2サイク
ル時間かけて処理するようにパイプラインの流れを制御
する。また、パイプライン制御回路1301は、図9の
パイプライン制御回路192と同じであり、図10に示
した制御論理によりセレクタ94及びセレクタ97を制
御する。
【0066】以上のように構成された本発明の第三の実
施の形態による情報処理装置について、クロック周波数
が低速の場合の高速の場合とに分けてその動作を説明す
る。図14は、高速ピッチフラグ14がクリアされてい
る場合の動作タイミングを示すタイムチャートである。
図14は、図8(a)に対応し、第三の実施形態に示し
た図11と同じ動作を示している。但、タイミング3に
おいてセレクタ235による遅延時間が無くなっている
点のみが異なっている。それゆえタイミング3における
処理時間は19ナノ秒である。
【0067】図15は、高速ピッチフラグ14がセット
されている場合の動作タイミングを示すタイムチャート
である。図15は、図8(c)に対応し、第三の実施形
態に示した図12に対して、同様の動作を示している。
但し、拡張処理装置6は、1つの拡張実行ステージ(EX
(E)ステージ)を2サイクル時間かける点が異なってい
る。また、タイミング4においてセレクタ235による
遅延時間が無くなっている点も異なっている。それゆえ
タイミング4における処理時間は9ナノ秒である。
【0068】以上説明してきたように、本実施形態のデ
ータ処理装置と拡張処理装置によれば、図8(a)と図
8(c)とに示したように、データ処理装置のパイプラ
イン段数は固定したまま、拡張処理装置内部の拡張実行
ステージを伸長することができる。図8(c)のよう
に、拡張実行ステージを伸長した場合には、1つの拡張
演算命令につき2サイクル時間がかかることになる。図
14と図15とを比較すると、拡張演算装置の実行ステ
ージを伸長しても、拡張演算命令の実行に関しては高速
化という利点は得られないが、クロック周波数を高くす
ることができるので、データ処理装置における通常命令
に関しては高速化することができる。これは、プログラ
ム中に拡張演算命令が含まれる割合は通常命令に比べて
遙かに小さいことが多いので、通常命令の高速化を図る
だけでも全体の処理能力は向上することになる。
【0069】なお、上記4つの実施形態では拡張命令解
読回路22が拡張演算命令を解読して実行を制御する構
成を示した。これと異なり、データ処理装置3内部の命
令解読回路32が拡張演算命令のオペランドの解読に加
えて拡張命令実行回路63の実行制御を行うように構成
してもよい。その場合、命令解読回路32が拡張命令解
読回路22の解読及び制御機能を備え、さらにデータ処
理装置3と拡張処理装置2との間で制御信号を伝達する
制御バスを備える構成となる。この構成によれば、図8
(a)〜8(c)に示したパイプライン構成図では、DE
C(E)ステージがDECステージに吸収されてなくなり、DEC
ステージに続いてEX(E)ステージ又はEX1(E)ステージが
実行されることになる。
【0070】また、上記の実施の形態では、いずれもパ
イプラインにおける実行ステージの処理時間が他のステ
ージに比べて長くなる場合について述べているが、律則
するステージが実行ステージのほか、命令解読ステージ
を含めいかなるステージであっても本発明が応用可能で
あることは言うまでもない。また、上記実施の形態で
は、高速ピッチフラグ14は、動作クロックの周波数が
所定の周波数(50MHz)を越えるか以下かにより設定
された。これ以外にも供給される電源電圧値に応じて設
定してもよい。というのは、一般に電源電圧が高いと回
路の遅延時間が速く、低いと遅くなるので、例えばデー
タ処理装置の電源電圧が5Vの場合と3Vの場合とで高
速ピッチフラグ14の設定を使い分ければよい。
【0071】
【発明の効果】本発明のデータ処理装置は、パイプライ
ン段数がn段と、前記n段の中の所定の段における処理
を複数段のパイプライン処理で行うことによりnより大
きいm段とに可変であり、n段又はm段の何れかの段数
で命令をパイプライン処理する処理手段と、処理手段の
パイプライン段数を切り替える切り替え手段とを備えて
いる。この構成によれば、必要に応じてn段パイプライ
ン処理と、高速動作可能なm段パイプラン処理とを用途
に応じて動作させることができる。具体的には、n段パ
イプライン処理において各ステージの処理時間にばらつ
きがあってもm段パイプライン処理においては各ステー
ジの処理時間を均等にすることができるので、m段パイ
プライン処理において動作クロックの上限を向上させる
ことができ、高い処理性能を向上させることができる。
また、低速クロックで足りる用途では、分岐インタロッ
クによるペナルティが少ないn段パイプライン処理を利
用することができる。しかも、処理時間が長いステージ
において高速素子や並列化実装をする必要がないので、
高速化により消費電力が増大することなく、低コストで
実現できる。
【0072】また、前記切り替え手段は、データ処理装
置に供給される動作クロックが所定の周波数より高い高
速クロックであるか、それ以下の低速クロックであるか
を指定する指定手段と、低速クロックと指定された場合
には前記処理手段をn段で実行させ、高速クロックと指
定された場合には前記m段で実行させるパイプライン制
御手段とを備えるよう構成してもよい。
【0073】この構成によれば、ユーザが所望するクロ
ック周波数に応じてn段又はm段とを設定でき、高速処
理を要する用途ではm段パイプライン処理による高速処
理を実現できる。また、前記切り替え手段は、データ処
理装置に供給される電源電圧が所定値より高いか低いか
を指定する指定手段と、高いと指定された場合には前記
処理手段をn段で実行させ、低いと指定された場合には
前記m段で実行させるパイプライン制御手段とを備える
構成としてもよい。
【0074】この構成によれば、ユーザが所望する電源
電圧に応じてn段又はm段とを設定でき、高い電源電圧
を用いる場合にはm段パイプライン処理による高速処理
を実現できる。さらに、前記処理手段は、命令フェッチ
ステージ、命令解読ステージ及び命令実行ステージの少
なくとも3段のパイプライン段数を有し、前記命令フェ
ッチステージ、命令解読ステージ及び命令実行ステージ
の少なくとも1つは、その処理内容がシーケンシャルな
複数の部分処理に分割可能であり、前記処理手段は、前
記n段のパイプライン制御がなされる場合には全部分処
理を1ステージで処理し、前記m段のパイプライン制御
がなされる場合には各部分処理をそれぞれ1ステージで
処理するように構成してもよい。
【0075】この構成によれば、処理時間が長いステー
ジを部分ステージに分割できるので、n段パイプライン
処理における動作クロック周波数の上限を決定付ける当
該処理時間が分割されるので、m段パイプライン処理に
おける動作クロック周波数の上限をさらに向上させるこ
とができる。そして、データ処理装置において各ステー
ジはそれぞれ個別の処理部が実行し、それら処理部の少
なくとも1つは、前記複数の部分ステージにおける部分
処理を実行する複数の部分処理部と、部分処理部と次段
の部分処理部との間に設けられ、前記n段パイプライン
処理の場合には当該部分処理結果を次段に透過出力し、
前記m段パイプライン処理の場合には当該部分処理結果
を保持し、次サイクル時間において次段に出力する複数
の透過保持部とを備える構成としてもよい。
【0076】この構成によれば、処理時間が長いステー
ジを実行する処理部を、複数の部分処理部と透過保持部
に分割するので、m段パイプライン処理における動作ク
ロック周波数の上限を向上させることができる。また、
各透過保持部は、部分処理部からの部分処理結果を保持
するパイプラインラッチと、前記n段パイプライン処理
の場合は当該部分処理結果を選択し、前記m段パイプラ
イン処理の場合はパイプラインラッチの出力を選択して
次段の部分処理部に出力するセレクタとを備える構成と
してもよい。この構成によれば、パイプラインラッチと
セレクタという簡単な回路で複数の部分処理部をパイプ
ラインとすることができる。
【0077】さらに前記処理手段は、命令フェッチステ
ージにおいて命令フェッチを行う命令フェッチ部と、命
令解読ステージにおいてフェッチされた命令の解読を行
う命令解読部と、第1モードでは、1ステージで命令の
全部を実行し、第2モードでは、1ステージで命令の一
部を実行し、次の1ステージで命令の残部を実行する命
令実行部とを有し、前記パイプライン制御手段は、動作
クロックが前記所定周波数より低い周波数の場合には命
令実行部を第1モードで動作させ、高い場合には命令実
行部を第2モードで動作させる構成としてもよい。この
構成によれば、一般的に処理時間が長くかかる命令実行
ステージを分割するので、主としてRISCタイプのデ
ータ処理装置を動作クロックの上限を上げることができ
る。
【0078】そして、前記命令実行部は、命令解読部に
解読された命令に従って、命令内容の一部を実行する第
1部分演算器と、第1部分演算器の実行結果をラッチす
るパイプラインラッチと、第1部分演算器の実行結果と
パイプラインラッチの出力との何れかを選択するセレク
タと、セレクタ出力に対して、前記命令内容の残部を実
行する第2部分演算器とを有し、前記パイプライン制御
部は、命令実行部を第1モードで動作させるためセレク
タに前者を選択させ、かつ命令実行部を1ステージで動
作させ、また、命令実行部を第2モードで動作させるた
めセレクタに後者を選択させ、かつ第1部分演算器を1
ステージで第2部分演算器を1ステージで動作させる構
成としてもよい。
【0079】この構成によれば命令実行部が2つの部分
演算器に分割されるので、データ処理装置を動作クロッ
ク周波数の上限を上げることができる。また、前記デー
タ処理装置は、さらにデータ処理装置により読み出され
た拡張演算命令をパイプライン処理する拡張処理装置と
を備え、前記拡張処理装置は、パイプライン段数がK段
とKより大きいL段とに可変であり、拡張演算命令をパ
イプライン処理する拡張処理手段と、前記切り替え手段
に従って、拡張処理手段のパイプライン段数を切り替え
る拡張パイプライン制御手段とを備える構成としてもよ
い。
【0080】この構成によればデータ処理装置だけを高
速化するのではなく、拡張処理装置も併せて高速化する
ことができる。また、前記拡張処理装置は、1サイクル
時間及び2サイクル時間の何れかの時間で前記拡張演算
命令を実行する拡張命令実行部と、前記切り替え手段に
従って、拡張命令実行部を1サイクル時間で動作させる
か2サイクル時間で動作させるかを切り替える拡張パイ
プライン制御部とからなる構成としてもよい。この構成
によれば、複雑な演算機能を実行するために処理時間が
長い拡張演算実行部を複数のステージに分割することが
できる。
【0081】また、上記目的を達成するデータ処理装置
は、レジスタを有し、メモリから命令を読み出して第1
タイプの命令をパイプライン処理する第1処理手段と、
第1処理手段により読み出された命令中、第2タイプの
命令をパイプライン処理する。パイプライン段数がK段
とKより大きいL段とに可変であり、K段又はL段の何
れかの段数で命令をパイプライン処理する第2処理手段
と、第2処理手段のパイプライン段数を切り替える切り
替え手段とを備え、前記第1処理手段は、第2処理手段
がK段パイプライン処理を行う場合には、所定のステー
ジで第2処理手段の実行結果を獲得し、第2処理手段が
L段パイプライン処理を行う場合には、第1処理手段
は、所定のステージより(L−K)段あとのステージで
第2処理手段の実行結果を獲得し、獲得した実行結果を
前記レジスタに格納するように構成されている。
【0082】ここで、前記第1処理手段は、第1ステー
ジ、第2ステージ、第3ステージ、第4ステージ、第5
ステージを含むパイプライン処理を行い、第1ステージ
においてメモリから命令をフェッチする命令フェッチ部
と、第2ステージにおいてフェッチされた第1のタイプ
の命令を解読するとともに第2のタイプの命令で指定さ
れるメモリアドレスを解読する第1解読部と、第3ステ
ージにおいて第1解読部の解読結果に従って第1のタイ
プの命令を実行する第1実行部と第4ステージにおいて
第1解読部の解読結果に従って命令の実行結果をメモリ
に書き込み、第5ステージにおいて命令の実行結果をレ
ジスタに格納する制御を行うデータ制御部とを備え、前
記第2処理手段は、第2ステージにおいて命令フェッチ
部によりフェッチされた第2のタイプの命令を解読する
第2解読部と、第1モードでは第3ステージにおいて1
サイクル時間で命令を実行し、第2モードでは第3ステ
ージにおいて命令の一部を実行し第4ステージにおいて
命令の残部を実行する第2実行部とを備え、前記データ
制御部は、さらに、第5ステージにおいて第2実行部の
実行結果をレジスタに格納するように構成してもよい。
【0083】この構成によれば、メインプロセッサとし
ての第1処理手段と、コ・プロセッサとしての第2処理
手段とからなるデータ処理装置において、第2タイプの
命令は、第1処理手段によりメモリからフェッチされ、
第2処理手段により命令内容の演算がなされ、第1処理
手段によりその演算の実行結果がデータ格納先のレジス
タに格納される。第1処理手段のパイプライン段数は固
定的であるが、第2処理手段のパイプライン段数だけを
変更することができる。つまり、第2処理手段は命令フ
ェッチステージより後段のステージ数を変更することが
できる。
【0084】また、前記第2処理手段は、K段とL段と
を可変とする代わりに、K段中の所定のステージを伸長
するかしないかを選択する構成としてもよい。この構成
によれば、第2処理手段の所定ステージを伸長した場
合、第1処理手段の動作クロック周波数を向上させるこ
とができる。
【図面の簡単な説明】
【図1】本発明の第一の実施の形態におけるデータ処理
装置の構成を示すブロック図である。
【図2】同実施形態によるデータ処理装置の動作タイミ
ング図である。
【図3】同実施形態によるデータ処理装置の動作タイミ
ング図である。
【図4】第二の実施の形態における主たるデータ処理装
置と従たる拡張処理装置とからなる情報処理装置の構成
を示すブロック図である。
【図5】同実施形態における情報処理装置の動作タイミ
ング図である。
【図6】同実施形態における情報処理装置の動作タイミ
ング図である。
【図7】本発明の他の実施形態における情報処理装置の
動作タイミング図である。
【図8】本発明のさらに他の実施形態における情報処理
装置のパイプライン構成図である。
【図9】第三の実施の形態におけるデータ処理装置及び
拡張処理装置の構成を示すブロック図である。
【図10】同実施形態におけるパイプライン制御回路の
制御論理を示す説明図である。
【図11】同実施形態における低速動作を示すタイムチ
ャートである。
【図12】同実施形態における高速動作タイミングを示
すタイムチャートである。
【図13】第四の実施の形態におけるデータ処理装置及
び拡張処理装置の構成を示すブロック図である。
【図14】同実施形態における低速動作を示すタイムチ
ャートである。
【図15】同実施形態における高速動作を示すタイムチ
ャートである。
【図16】従来のデータ処理装置の構成を示すブロック
図である。
【図17】従来のデータ処理装置の動作タイミング図で
ある。
【符号の説明】
1 データ処理装置 11 命令フェッチ回路 12 命令解読回路 13 命令実行回路 14 高速ピッチフラグ 121 パイプライン制御回路 131 レジスタ 133 部分演算器 134 ラッチ 135 セレクタ 136 部分演算器
───────────────────────────────────────────────────── フロントページの続き (72)発明者 宮地 信哉 大阪府門真市大字門真1006番地 松下電 器産業株式会社内 (56)参考文献 特開 平6−314196(JP,A) 特開 平1−147722(JP,A) 特開 平8−147164(JP,A) 特開 平8−147163(JP,A) 特開 平8−202549(JP,A) 特開 平6−195149(JP,A) 特開 平2−267623(JP,A) 特開 平4−149735(JP,A) 特開 昭64−76225(JP,A) 特開 平3−211613(JP,A) 特開 昭64−46137(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 9/38

Claims (28)

    (57)【特許請求の範囲】
  1. 【請求項1】 パイプライン段数がn段と、前記n段の
    中の所定の段における処理を複数段のパイプライン処理
    で行うことによりnより大きいm段とに可変であり、n
    段又はm段の何れかの段数で命令をパイプライン処理す
    る処理手段と、 処理手段のパイプライン段数を切り替える切り替え手段
    とを備えることを特徴とするデータ処理装置。
  2. 【請求項2】 前記切り替え手段は、 データ処理装置に供給される動作クロックが所定の周波
    数より高い高速クロックであるか、それ以下の低速クロ
    ックであるかを指定する指定手段と、 低速クロックと指定された場合には前記処理手段をn段
    で実行させ、高速クロックと指定された場合には前記m
    段で実行させるパイプライン制御手段とを有することを
    特徴とする請求項1記載のデータ処理装置。
  3. 【請求項3】 前記切り替え手段は、 データ処理装置に供給される電源電圧が所定値より高い
    か低いかを指定する指定手段と、 高いと指定された場合には前記処理手段をn段で実行さ
    せ、低いと指定された場合には前記m段で実行させるパ
    イプライン制御手段とを有することを特徴とする請求項
    1記載のデータ処理装置。
  4. 【請求項4】 前記指定手段は、その指定内容を示すフ
    ラグを保持するフリップフロップ、その指定内容を示す
    データを保持するレジスタ、その指定内容を示す論理値
    が入力される入力端子の何れかであることを特徴とする
    請求項2又は3記載のデータ処理装置。
  5. 【請求項5】 前記処理手段は、命令フェッチステー
    ジ、命令解読ステージ及び命令実行ステージの少なくと
    も3段のパイプライン段数をもつ、 前記命令フェッチステージ、命令解読ステージ及び命令
    実行ステージの少なくとも1つは、その処理内容がシー
    ケンシャルな複数の部分処理に分割可能であり、 前記処理手段は、前記n段のパイプライン制御がなされ
    る場合には全部分処理を1ステージで処理し、前記m段
    のパイプライン制御がなされる場合には各部分処理をそ
    れぞれ1ステージで処理することを特徴とする請求項
    1、2又は3記載のデータ処理装置。
  6. 【請求項6】 前記各ステージはそれぞれ個別の処理部
    が実行し、 それら処理部の少なくとも1つは、 前記複数の部分ステージにおける部分処理を実行する複
    数の部分処理部と、 部分処理部と次段の部分処理部との間に設けられ、前記
    n段パイプライン処理の場合には当該部分処理結果を透
    過出力し、前記m段パイプライン処理の場合には当該部
    分処理結果を保持し次のステージに出力する複数の透過
    保持部とを備え、 前記少なくとも1つの処理部は、前記n段パイプライン
    処理の場合には複数の部分処理部を1ステージで動作
    し、前記段パイプライン処理の場合には複数の部分処
    理部のそれぞれを1ステージで動作す とを特徴とす
    る請求項5記載のデータ処理装置。
  7. 【請求項7】 前記各透過保持部は、 部分処理部からの部分処理結果を保持するパイプライン
    ラッチと、 前記n段パイプライン処理の場合は当該部分処理結果を
    選択し、前記m段パイプライン処理の場合はパイプライ
    ンラッチの出力を選択して次段の部分処理部に出力する
    セレクタとを有することを特徴とする請求項6記載のデ
    ータ処理装置。
  8. 【請求項8】 前記処理手段は、 命令フェッチステージにおいて命令フェッチを行う命令
    フェッチ部と、 命令解読ステージにおいてフェッチされた命令の解読を
    行う命令解読部と、 第1モードでは、1ステージにおいて命令の全部を実行
    し、第2モードでは、1ステージにおいて命令の一部を
    実行し、他の1ステージにおいて命令の残部を実行する
    命令実行部とを備え、 前記切り替え手段は、 データ処理装置が第1の動作環境にあるか第2の動作環
    境にあるかを指定する指定手段と、 第1の動作環境にあると指定された場合には、処理手段
    をn段で実行させるために命令実行部を第1モードで実
    行させ、第2の動作環境にあると指定された場合には処
    理手段をm段で実行させるために命令実行部を第2モー
    ドで実行させるパイプライン制御手段とを備え、 前記第1の動作環境にあるか第2の動作環境にあるか
    は、データ処理装置に供給される動作クロックの周波数
    と、データ処理装置に供給される電源電圧との何れかに
    応じて区別されることを特徴とする請求項1記載のデー
    タ処理装置。
  9. 【請求項9】 前記命令実行部は、 命令解読部に解読された命令に従って、命令内容の一部
    を実行する第1部分演算器と、 第1部分演算器の実行結果をラッチするパイプラインラ
    ッチと、 第1部分演算器の実行結果とパイプラインラッチの出力
    との何れかを選択するセレクタと、 セレクタ出力に対して、前記命令内容の残部を実行する
    第2部分演算器とを有し、 前記パイプライン制御部は、 第1の動作環境にある場合には、命令実行部を第1モー
    ドで動作させるためセレクタに前者を選択させて、第1
    部分演算器と第2部分演算器とを1ステージで実行さ
    せ、 第2の動作環境にある場合には命令実行部を第2モード
    で動作させるためセレクタに後者を選択させて、第1部
    分演算器を1ステージで、第2部分演算器を次の1ステ
    ージで実行させることを特徴とする請求項8記載のデー
    タ処理装置。
  10. 【請求項10】 前記データ処理装置は、さらに処理手
    段により読み出された命令のうち拡張演算命令をパイプ
    ライン処理する拡張処理装置を備え、 前記拡張処理装置は、 パイプライン段数がK段とKより大きいL段とに可変で
    あり、拡張演算命令をパイプライン処理する拡張処理手
    段と、 前記切り替え手段に従って、拡張処理手段のパイプライ
    ン段数を切り替える拡張パイプライン制御手段とを備え
    ることを特徴とする請求項1、2又は3記載のデータ処
    理装置。
  11. 【請求項11】 前記拡張処理手段は、 前記命令フェッチ部によりフェッチされた拡張演算命令
    の解読を行う拡張命令解読部と、 1ステージ及び2ステージの何れかで前記拡張演算命令
    を実行する拡張命令実行部とを備え、 前記拡張パイプライン制御部は、前記切り替え手段に従
    って、拡張命令実行部を1ステージで動作させるか2ス
    テージで動作させるかを切り替えることを特徴とする請
    求項10記載のデータ処理装置。
  12. 【請求項12】 データ処理装置であって、 パイプライン段数がn段とnより大きいm段とに可変で
    ありn段又はm段の何れかの段数で命令をパイプライン
    処理する処理手段と、 処理手段のパイプライン段数を切り替える切り替え手段
    とを備え、 前記切り替え手段は、 データ処理装置が第1の動作環境にあるか、第2の動作
    環境にあるかを指定する指定手段と、 第1の動作環境にあると指定された場合には前記処理手
    段をn段で実行させ、第2の動作環境にあると指定され
    た場合には前記m段で実行させるパイプライン制御手段
    とを備え、 前記処理手段は、命令フェッチステージ、命令解読ステ
    ージ及び命令実行ステージの少なくとも3段のパイプラ
    イン段数をもち、 前記命令フェッチステージ、命令解読ステージ及び命令
    実行ステージの少なくとも1つは、その処理内容がシー
    ケンシャルな複数の部分ステージに分割され、前記n段
    のパイプライン制御がなされる場合には複数の部分ステ
    ージを1ステージで処理し、前記m段のパイプライン制
    御がなされる場合には各部分ステージを1ステージで処
    理し、 前記第1の動作環境にあるか第2の動作環境にあるか
    は、データ処理装置に供給される動作クロックの周波数
    と、データ処理装置に供給される電源電圧との何れかに
    応じて区別されることを特徴とするデータ処理装置。
  13. 【請求項13】 前記処理手段の各ステージはそれぞれ
    個別の処理部が実行し、 それら処理部の少なくとも1つは、 前記複数の部分ステージにおける部分処理を実行する複
    数の部分処理部と、 部分処理部と次段の部分処理部との間に設けられ、前記
    n段パイプライン処理の場合には当該部分処理結果を次
    段に透過出力し、前記m段パイプライン処理の場合には
    当該部分処理結果を保持し、次ステージに出力する複数
    の透過保持部とを備えることを特徴とする請求項12記
    載のデータ処理装置。
  14. 【請求項14】 前記各透過保持部は、 部分処理部からの部分処理結果を保持するパイプライン
    ラッチと、 前記n段パイプライン処理の場合は当該部分処理結果を
    選択し、前記m段パイプライン処理の場合はパイプライ
    ンラッチの出力を選択して次段の部分処理部に出力する
    セレクタとを備えることを特徴とする請求項12記載の
    データ処理装置。
  15. 【請求項15】 前記データ処理装置は、さらに処理手
    段により読み出された命令のうち拡張演算命令をパイプ
    ライン処理する拡張処理装置を備え、 前記拡張処理装置は、 パイプライン段数がK段とKより大きいL段とに可変で
    あり、拡張演算命令をパイプライン処理する拡張処理手
    段と、 前記切り替え手段に従って、拡張処理手段のパイプライ
    ン段数を切り替える拡張パイプライン制御手段とを備え
    ることを特徴とする請求項12、13又は14記載のデ
    ータ処理装置。
  16. 【請求項16】 前記拡張処理手段は、 命令解読ステージで前記命令フェッチ部によりフェッチ
    された拡張演算命令の解読を行う拡張命令解読部と、 1ステージと2ステージの何れかで前記拡張演算命令を
    実行する拡張命令実行部とを備え、 前記拡張パイプライン制御部は、前記切り替え手段に従
    って、拡張命令実行部を1ステージで動作させるか2ス
    テージで動作させるかを切り替えることを特徴とする請
    求項15記載のデータ処理装置。
  17. 【請求項17】 データ処理装置であって、 1ステージで命令フェッチを行う命令フェッチ部と、1
    ステージでフェッチされた命令の解読を行う命令解読部
    と、1ステージ及び2ステージの何れかで、解読された
    命令を実行する命令実行部とを含み、パイプライン段数
    がn段とnより大きいm段とに可変でありn段又はm段
    の何れかの段数で命令をパイプライン処理する処理手段
    と、 処理手段のパイプライン段数を切り替える切り替え手段
    とを備え、 前記切り替え手段は、 データ処理装置が第1の動作環境にあるか、第2の動作
    環境にあるかを指定する指定手段と、 第1の動作環境にあると指定された場合には命令実行部
    を1ステージで動作させるn段パイプライン制御を行
    い、第2の動作環境にあると指定された場合には命令実
    行部を2ステージで動作させるm段パイプライン制御を
    行うパイプライン制御手段とを備え、 前記第1の動作環境にあるか第2の動作環境にあるか
    は、データ処理装置に供給される動作の周波数クロック
    と、データ処理装置に供給される電源電圧との何れかに
    応じて区別されることを特徴とするデータ処理装置。
  18. 【請求項18】 前記指定手段は、データ処理装置に供
    給される動作の周波数クロックと、データ処理装置に供
    給される電源電圧との何れかに応じて、第1の動作環境
    にあるか第2の動作環境にあるかを指定す とを特徴
    とする請求項17記載のデータ処理装置。
  19. 【請求項19】 前記命令実行部は、 命令解読部に解読された命令に従って、命令内容の一部
    を実行する第1部分演算器と、 第1部分演算器の実行結果をラッチするパイプラインラ
    ッチと、 第1部分演算器の実行結果とパイプラインラッチの出力
    との何れかを選択するセレクタと、 セレクタ出力に対して、前記命令内容の残部を実行する
    第2部分演算器とを備え、 前記パイプライン制御部は、 動作クロックが所定の周波数より低い場合には セレク
    タに前者を選択させ、かつ命令実行部を1ステージで動
    作させ、高い場合にはセレクタを後者を選択させ、かつ
    命令実行部を2ステージで動作させ とを特徴とする
    請求項18記載のデータ処理装置。
  20. 【請求項20】 前記データ処理装置は、さらに、処理
    手段により読み出された命令のうち拡張演算命令をパイ
    プライン処理する拡張処理装置を備え、 前記拡張処理装置は、 パイプライン段数がK段とKより大きいL段とに可変で
    あり、拡張演算命令をパイプライン処理する拡張処理手
    段と、 前記切り替え手段に従って、拡張処理手段のパイプライ
    ン段数を切り替える拡張パイプライン制御手段とを備
    え、 前記拡張処理手段は、 1ステージで前記命令フェッチ部によりフェッチされた
    拡張演算命令の解読を行う拡張命令解読部と、 1ステージ及び2ステージの何れかの時間で前記拡張演
    算命令を実行する拡張命令実行部とを備え、 前記拡張パイプライン制御部は、前記切り替え手段に従
    って、拡張命令実行部を1ステージで動作させるか2ス
    テージで動作させるかを切り替えることを特徴とする請
    求項19記載のデータ処理装置。
  21. 【請求項21】 レジスタを有し、メモリから命令を読
    み出して第1タイプの命令をパイプライン処理する第1
    処理手段と、 第1処理手段により読み出された命令中、第2タイプの
    命令を、パイプライン段数がK段とKより大きいL段と
    に可変であり、K段又はL段の何れかの段数でパイプラ
    イン処理する第2処理手段と、 第2処理手段のパイプライン段数を切り替える切り替え
    手段とを備え、 前記第1処理手段は、第2処理手段がK段パイプライン
    処理を行う場合には、所定のステージで第2処理手段の
    実行結果を獲得し、第2処理手段がL段パイプライン処
    理を行う場合には、第1処理手段は、所定のステージよ
    り(L−K)段あとのステージで第2処理手段の実行結
    果を獲得し、獲得した実行結果を前記レジスタに格納す
    ることを特徴とするデータ処理装置。
  22. 【請求項22】 前記データ処理装置は、さらに第1処
    理手段にて読み出された命令を第2処理手段に伝達する
    命令バスと、 第2タイプの命令で指定されたレジスタデータを第1処
    理手段から第2処理手段に伝達する第1バスと、 第2処理手段による第2タイプの命令の実行結果を第2
    処理手段から第1処理手段に伝達する第2バスとを備
    え、 前記第1処理手段は、第2タイプの命令で指定されたレ
    ジスタデータを第1バスを介して第2処理手段に送信
    し、第2処理手段の実行結果を第2バスを介して獲得す
    ることを特徴とする請求項21記載のデータ処理装置。
  23. 【請求項23】 前記切り替え手段は、 データ処理装置が第1の動作環境にあるか第2の動作環
    境にあるかを指定する指定手段と、 第1の動作環境にあると指定された場合には、第2処理
    手段をK段で実行させ、第2の動作環境にあると指定さ
    れた場合には、第2処理手段をL段で実行させるパイプ
    ライン制御手段とを備え、 前記第1の動作環境にあるか第2の動作環境にあるか
    は、データ処理装置に供給される動作クロックの周波数
    と、データ処理装置に供給される電源電圧との何れかに
    応じて区別されることを特徴とする請求項21記載のデ
    ータ処理装置。
  24. 【請求項24】 前記第1処理手段は、 第1ステージ、第2ステージ、第3ステージ、第4ステ
    ージ、第5ステージを含むパイプライン処理を行い、 第1ステージにおいてメモリから命令をフェッチする命
    令フェッチ部と、 第2ステージにおいてフェッチされた第1のタイプの命
    令を解読するとともに、第2のタイプの命令で指定され
    るデータ格納先を検出する第1解読部と、 第3ステージにおいて第1解読部の解読結果に従って第
    1のタイプの命令を実行する第1実行部と、 第4ステージにおいて第1解読部の解読結果に従ってメ
    モリをアクセスし、第5ステージにおいて命令の実行結
    果をレジスタに格納する制御を行うデータ制御部とを備
    え、 前記第2処理手段は、 第2ステージにおいて命令フェッチ部によりフェッチさ
    れた第2のタイプの命令を解読する第2解読部と、 第1モードでは、第3ステージにおいて命令を実行し、
    第2モードでは、第3ステージにおいて命令の一部を実
    行し第4ステージにおいて命令の残部を実行する第2実
    行部とを備え、 前記パイプライン制御手段は、第1の動作環境にあると
    指定された場合には、第2実行部を第1モードで実行さ
    せ、第2の動作環境にあると指定された場合には、第2
    モードで実行させ、 前記データ制御部は、さらに、第1モードでは第4ステ
    ージにおいて第2実行部の実行結果を獲得して第5ステ
    ージにおいてレジスタに書き込み、第2モードでは第5
    ステージにおいて第2実行部の実行結果を獲得してレジ
    スタに書き込むことを特徴とする請求項21、22又は
    23記載のデータ処理装置。
  25. 【請求項25】 前記第2実行部は、 第2解読部により解読された命令の一部を実行する第1
    部分演算部と、 第1モードでは第1部分演算部の実行結果を透過出力
    し、第2モードでは第1部分演算部の実行結果を保持
    し、次のステージに出力する透過保持部と、 透過保持部から出力される第1部分演算部の実行結果を
    受けて、当該命令の残部を実行する第2部分演算部とを
    備えることを特徴とする請求項24記載のデータ処理装
    置。
  26. 【請求項26】 データ処理装置であって、各々のステージが同一の単位時間を消費するm個のステ
    ージからなり、レジスタを有し、メモリから命令を読み
    出して第1タイプの命令をパイプライン処理する 第1処
    理手段と、 第1処理手段により読み出された命令中、第2タイプの
    命令をパイプライン処理し、前記mより小さいK段のパ
    イプラインからなり、K段中の何れかのステージは、さ
    らに前記単位時間を消費する通常モードと、前記単位時
    間の整数倍を消費する伸長モードとを切り替え可能であ
    る第2処理手段と、 第2処理手段の前記所定ステージを通常モードとするか
    伸長モードとするかを切り替える切り替え手段とを備
    え、 前記第1処理手段は、第2処理手段が通常モードにある
    場合には、所定のステージで第2処理手段の実行結果を
    獲得し、第2処理手段が伸長モードにある場合には、前
    記所定ステージよりも伸長された分だけ後のステージで
    第2処理手段の実行結果を獲得し、さらに第1処理手段
    は、獲得した実行結果を前記レジスタに格納することを
    特徴とするデータ処理装置。
  27. 【請求項27】 前記データ処理装置は、さらに第1処
    理手段にて読み出された命令を第2処理手段に伝達する
    命令バスと、 第2タイプの命令で指定されたレジスタデータを第1処
    理手段から第2処理手段に伝達する第1バスと、 第2処理手段による第2タイプの命令の実行結果を第2
    処理手段から第1処理手段に伝達する第2バスとを備
    え、 前記第1処理手段は、第2タイプの命令で指定されたレ
    ジスタデータを第1バスを介して第2処理手段に送信
    し、第2処理手段の実行結果を第2バスを介して獲得す
    ることを特徴とする請求項26記載のデータ処理装置。
  28. 【請求項28】 前記第1処理手段は、第1ステージ、
    第2ステージ、第3ステージ、第4ステージ、第5ステ
    ージを含むパイプライン処理を行い、 第1ステージにおいてメモリから命令をフェッチする命
    令フェッチ部ト、 第2ステージにおいてフェッチされた第1のタイプの命
    令を解読するとともに、第2のタイプの命令で指定され
    るデータ格納先を検出する第1解読部と、 第3ステージにおいて第1解読部の解読結果に従って第
    1のタイプの命令を実行する第1実行部と、 第4ステージにおいて第1解読部の解読結果に従ってメ
    モリをアクセスし、第5ステージにおいて命令の実行結
    果をレジスタに格納する制御を行うデータ制御部と、 前記第2処理手段は、 第2ステージにおいて命令フェッチ部によりフェッチさ
    れた第2のタイプの命令を解読する第2解読部と、 第1モードでは、第3ステージにおいて前記単位時間を
    消費して命令を実行し、第2モードでは、伸長された第
    3ステージにおいて前記単位時間の2倍を消費して命令
    を実行する第2実行部とを備え、 前記パイプライン制御手段は、第1の動作環境にあると
    指定された場合には、第2実行部を第1モードで実行さ
    せ、第2の動作環境にあると指定された場合には、第2
    モードで実行させ、 前記データ制御部は、さらに、第1モードでは第4ステ
    ージにおいて第2実行部の実行結果を獲得して第5ステ
    ージにおいてレジスタに書き込み、第2モードでは第5
    ステージにおいて第2実行部の実行結果を獲得してレジ
    スタに書き込むことを特徴とする請求項26記載のデー
    タ処理装置。
JP07841997A 1996-03-29 1997-03-28 可変パイプライン段数のデータ処理装置 Expired - Lifetime JP3183844B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP07841997A JP3183844B2 (ja) 1996-03-29 1997-03-28 可変パイプライン段数のデータ処理装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP8-77313 1996-03-29
JP7731396 1996-03-29
JP07841997A JP3183844B2 (ja) 1996-03-29 1997-03-28 可変パイプライン段数のデータ処理装置

Publications (2)

Publication Number Publication Date
JPH09319578A JPH09319578A (ja) 1997-12-12
JP3183844B2 true JP3183844B2 (ja) 2001-07-09

Family

ID=26418411

Family Applications (1)

Application Number Title Priority Date Filing Date
JP07841997A Expired - Lifetime JP3183844B2 (ja) 1996-03-29 1997-03-28 可変パイプライン段数のデータ処理装置

Country Status (1)

Country Link
JP (1) JP3183844B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009118776A1 (ja) * 2008-03-25 2009-10-01 富士通株式会社 マルチプロセッサ

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7395411B2 (en) 2005-03-14 2008-07-01 Sony Computer Entertainment Inc. Methods and apparatus for improving processing performance by controlling latch points
JP2007200180A (ja) * 2006-01-30 2007-08-09 Nec Electronics Corp プロセッサシステム
WO2008012874A1 (fr) 2006-07-25 2008-01-31 National University Corporation Nagoya University Dispositif de traitement d'opération
US8127114B2 (en) * 2007-03-28 2012-02-28 Qualcomm Incorporated System and method for executing instructions prior to an execution stage in a processor
TW200919306A (en) * 2007-07-11 2009-05-01 Ibm Adaptive execution frequency control method for enhanced instruction throughput
JP2011108020A (ja) * 2009-11-18 2011-06-02 Mitsubishi Electric Corp 信号処理装置
JP2014160393A (ja) * 2013-02-20 2014-09-04 Casio Comput Co Ltd マイクロプロセッサ及び演算処理方法
JP6162491B2 (ja) * 2013-06-10 2017-07-12 Necプラットフォームズ株式会社 処理装置、処理方法、および、プログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009118776A1 (ja) * 2008-03-25 2009-10-01 富士通株式会社 マルチプロセッサ
JP5170234B2 (ja) * 2008-03-25 2013-03-27 富士通株式会社 マルチプロセッサ

Also Published As

Publication number Publication date
JPH09319578A (ja) 1997-12-12

Similar Documents

Publication Publication Date Title
KR100471794B1 (ko) 가변파이프라인단수의데이터처리장치
US5949996A (en) Processor having a variable number of stages in a pipeline
US6343337B1 (en) Wide shifting in the vector permute unit
JP2001256038A (ja) 柔軟な乗算ユニットを有するデータ・プロセッサ
JP2000222206A (ja) データ処理装置
JP2004171177A (ja) キャッシュシステムおよびキャッシュメモリ制御装置
JP2003108368A (ja) 並列演算プロセッサ、その演算制御方法及びプログラム
JP2000076066A (ja) 信号処理回路
JP3183844B2 (ja) 可変パイプライン段数のデータ処理装置
Ozawa et al. A Cascade ALU Architecture for Asynchronous Super-Scalar Processors
US6178500B1 (en) Vector packing and saturation detection in the vector permute unit
JP3541623B2 (ja) データ処理装置
JP3479385B2 (ja) 情報処理装置
US6889320B1 (en) Microprocessor with an instruction immediately next to a branch instruction for adding a constant to a program counter
JP2000322235A (ja) 情報処理装置
JP2011513858A (ja) ハードウェア・プリフェッチ・アドレス及び算術演算値を計算するための二重機能加算器
JPH04104350A (ja) マイクロプロセッサ
US6584556B1 (en) Modulo address generation method and apparatus
JP2001092658A (ja) データ処理回路及びデータ処理装置
JP2584156B2 (ja) プログラム制御型プロセッサ
JP3461887B2 (ja) 可変長パイプライン制御装置
US20050033939A1 (en) Address generation
GB2390179A (en) Improved stack architecture
US6832309B2 (en) Generation of modified commands repeatedly from feedback or base command
JP3441847B2 (ja) データメモリを有するプロセッサ

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080427

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090427

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100427

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110427

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120427

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120427

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130427

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130427

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140427

Year of fee payment: 13

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term