JPH10105399A - データ処理装置 - Google Patents

データ処理装置

Info

Publication number
JPH10105399A
JPH10105399A JP25643396A JP25643396A JPH10105399A JP H10105399 A JPH10105399 A JP H10105399A JP 25643396 A JP25643396 A JP 25643396A JP 25643396 A JP25643396 A JP 25643396A JP H10105399 A JPH10105399 A JP H10105399A
Authority
JP
Japan
Prior art keywords
instruction
pipeline
instructions
outputs
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.)
Pending
Application number
JP25643396A
Other languages
English (en)
Inventor
Hideki Sugimoto
英樹 杉本
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP25643396A priority Critical patent/JPH10105399A/ja
Publication of JPH10105399A publication Critical patent/JPH10105399A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】 【課題】命令コード長を増加させること無くパイプライ
ン資源の使用効率を上げ、性能重視の処理装置とメモリ
効率/コスト重視の処理装置とで同一命令セットを使用
可能とする。 【解決手段】フェッチされた命令を順に蓄え順に出力す
る命令バッファ103と、この命令バッファ103から
出力される命令をデコードしこの命令をパイプライン処
理するパイプラインの各機能の制御信号107,10
8,109,110を出力する制御手段である命令デコ
ーダ106と、を有し、さらに、命令バッファ103に
順に蓄えらている複数の命令を事前にデコードしこれら
複数の命令がパイプラインで同時に実行可能であること
を検出し検出信号を出力する検出手段であるプリデコー
ダ105を備え、命令デコーダ106が検出信号に対応
して制御信号107,108,109,110を変換出
力する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はデータ処理装置に関
し、特にパイプライン処理を行うデータ処理装置に関す
る。
【0002】
【従来の技術】従来、この種のパイプライン処理を行う
データ処理装置では、一つの命令が一つのパイプライン
の1ステージを占有し、パイプライン中を順次移動する
ことによってクロックサイクル毎にパイプラインのステ
ージ数分の命令を実行可能としている。
【0003】たとえば、図5は、従来のRISC方式の
単一パイプラインを有するデータ処理装置の例を示すブ
ロック図である。図5を参照すると、このデータ処理装
置は、記憶装置である命令メモリ502と、この命令メ
モリ502からフェッチされた命令を順に蓄え順に出力
する命令バッファ503と、この命令バッファ503か
ら出力される命令をデコードしこの命令をパイプライン
処理するパイプラインの各機能の制御信号を出力する制
御手段である命令デコーダ505と、を有している。ま
た、この命令デコーダ505からの制御信号により、パ
イプラインの5つの各ステージで命令をパイプライン処
理している。すなわち、IF(Instruction Fetch )ス
テージ,ID(instruction decode)ステージ,EX
(execution )ステージ,MEM(memory)ステージ,
WB(write back)ステージからなるパイプラインを持
っている。
【0004】第1ステージであるIFステージにおい
て、実行する命令は、フェッチポインタ501によって
示されるアドレスにしたがって命令メモリ502からフ
ェッチされ、命令バッファ503に転送される。同時に
501のフェッチポインタは、次の命令のフェッチのた
めにインクリメンタ504によってインクリメントされ
る。
【0005】第2ステージであるIDステージにおい
て、命令デコーダ505は、命令バッファ503の内容
を順次デコードし、即値データ506,レジスタ選択信
号507,命令種別信号508,書込レジスタ選択信号
509を出力する。また、レジスタファイル510から
レジスタ選択信号507に従ってデータが読み出され、
即値データ506と共に命令実行に必要なデータが選択
され、内部データバス511,512を介して演算器5
13に転送される。また、命令種別信号508および書
込レジスタ選択信号509は、次のステージのために、
EIレジスタ514およびERレジスタ515にそのま
ま転送される。
【0006】第3ステージであるEXステージにおい
て、演算器513によって各命令に応じた演算処理が行
われ、結果がEDパイプラインレジスタ516に転送さ
れる。MIレジスタ517およびMRレジスタ518に
は次のステージのためにEIレジスタ514およびER
レジスタ515の内容が転送される。
【0007】第4ステージであるMEMステージにおい
て、データメモリ520をアクセスしない命令の場合に
はEDパイプラインレジスタ516の内容をMDパイプ
ラインレジスタ519に転送するのみである。また、デ
ータメモリ520に書込む命令の場合には、MIレジス
タ517およびEDパイプラインレジスタ514の内容
に従いデータメモリ520がアクセスされ、ロード命令
の場合にはMDパイプラインレジスタ519に結果が転
送される。WRレジスタ521には、次のステージのた
めに、MRレジスタ518の内容が転送される。
【0008】第5ステージであるWBステージにおい
て、MDパイプラインレジスタ519の内容をレジスタ
ファイル510のレジスタにWRレジスタ521のアド
レス指定により書込み、命令実行を終了する。
【0009】図4は、従来のRISC方式の複数のパイ
プラインを有するデータ処理装置の例として、特開平2
−130635号公報に記載された発明を示すブロック
図である。命令ディスパッチャ605は命令バッファ6
03の内容から同時に実行可能な命令を検出し、各パイ
プライン実行器606〜609にそれぞれの命令を渡
す。パイプライン実行器606〜609の内部の動作
は、先に図3で説明したIDステージ〜WBステージの
動作と同一である。
【0010】
【発明が解決しようとする課題】従来のRISC方式の
パイプラインを有するデータ処理装置においては、一つ
の命令が一つのパイプラインの1ステージを占有するた
め、1パイプライン当りの処理効率を上げるためには命
令のオペランドフィールドを増やして命令の汎用性を高
める必要があり、1命令当りの命令コード長が大きくな
り、プログラムを収めるメモリの必要量が多くなるとい
う問題点がある。
【0011】また、オペランドフィールドを減らして命
令コード長を短くし性能よりもメモリ容量やハードウェ
アの縮小に重点を置いた処理装置と、性能を重視してオ
ペランドフィールドを多く取り命令コード長を大きくし
た処理装置との間で、命令の互換性が無くなるという問
題点がある。
【0012】例えば、代表的なRISC方式のデータ処
理装置では、オペランドとなるレジスタは32本であ
り、オペランドフィールド当り5bitを要する。した
がって2オペランドの命令にした場合、オペランドフィ
ールドに5x2=10bitが必要となり、一般的な語
長である32bitとの整合性を考えると、16bit
長の命令となる。
【0013】しかし、通常のパイプラインでは、ソー
ス,ディスティネーション,ライトバックの3つの指定
は独立にできるため、ディスティネーションとライトバ
ックを同一とする2オペランドの命令では、パイプライ
ンを最大限に活用することができない。一方、これらを
独立に指定できるようにした3オペランドの命令の場合
には、オペランドフィールドに5x3=15bitが必
要となり、命令コードの種類が1bitで表現しきれな
いこと、一般的な語長である32bitとの整合性を考
えると32bit長の命令となってしまいコード効率や
ハードウェアの縮小に有利な16bit長の命令を持つ
処理装置との互換性が無くなるという問題点がある。
【0014】特開平2−130635号公報に記載され
た構成においては、複数の命令を複数のパイプラインを
使用して同時実行することによって、オペランドフィー
ルドを増やさずに全体の処理効率を上げることを可能に
しているが、一つのパイプラインについて見ると同様の
問題を持っており、回路規模当りの処理効率が悪いとい
う問題点がある。
【0015】従って、本発明の目的は、命令コード長を
増加させること無くパイプライン資源の使用効率を上
げ、性能重視の処理装置とメモリ効率/コスト重視の処
理装置とで同一命令セットを使用可能とすることにあ
る。
【0016】
【課題を解決するための手段】そのため、本発明は、記
憶装置からフェッチされた命令を順に蓄え順に出力する
命令バッファと、この命令バッファから出力される命令
をデコードしこの命令をパイプライン処理するパイプラ
インの各機能の制御信号を出力する制御手段と、を有す
るデータ処理装置において、前記命令バッファに順に蓄
えらている複数の命令を事前にデコードしこれら複数の
命令が前記パイプラインで同時に実行可能であることを
検出し検出信号を出力する検出手段を備え、前記制御手
段が前記検出信号に対応して前記制御信号を変換出力し
ている。
【0017】また、前記パイプラインが複数のパイプラ
インからなり、これら複数のパイプラインに前記制御手
段が前記制御信号をそれぞれ変換出力している。
【0018】
【発明の実施の形態】次に、本発明について図面を参照
して説明する。図1は、本発明のデータ処理装置の実施
形態1を示すブロック図である。本実施形態のデータ処
理装置は、IFステージにおいて、図5の従来のデータ
処理装置と同様に、命令メモリ102,命令バッファ1
03と、を有すると共に、プリデコーダ105,命令デ
コーダ106を備え、この命令デコーダ106からの制
御信号により、パイプラインの5つの各ステージで命令
をパイプライン処理している。すなわち、IF(Instru
ction Fetch )ステージ,ID(instruction decode)
ステージ,EX(execution )ステージ,MEM(memo
ry)ステージ,WB(write back)ステージからなるパ
イプラインを持っている。プリデコーダ105,命令デ
コーダ106以外の各ブロックは、図5の従来のデータ
処理装置と同様であれ宇野で、重複説明を省略する。
【0019】実行する命令は、フェッチポインタ101
によって示されるアドレスに従って命令メモリ102か
らフェッチされ、命令バッファ103に転送される。同
時に、フェッチポインタ101は、次の命令のフェッチ
のために、インクリメンタ104によってインクリメン
トされる。
【0020】プリデコーダ105は、命令バッファ10
3に順に蓄えらている複数の命令を事前にデコードし、
これら複数の命令がパイプラインで同時に実行可能であ
ることを検出し検出信号を出力する検出手段である。
【0021】命令デコーダ106は、命令バッファ10
3から出力される命令をデコードし、この命令をパイプ
ライン処理するパイプラインの各機能の制御信号を出力
する。同時に、この制御信号をプリデコーダ105から
の検出信号に対応して変換出力し、この変換出力された
制御信号により、パイプラインは、複数の命令を1命令
と解釈し同時実行する。
【0022】すなわち、IDステージにおいて、命令デ
コーダ106は、命令バッファ103の内容を順次デコ
ードし、即値データ107,レジスタ選択信号108,
命令種別信号109,書込レジスタ選択信号110を出
力する。しかし、プリデコーダ105が命令バッファ1
03内に単一パイプラインで同時実行可能な複数の命令
を検出した場合には、その検出を命令デコーダ106に
通知し、命令デコーダ106は、これら複数の命令が同
時実行されるように、即値データ107,レジスタ選択
信号108,命令種別信号109,書込レジスタ選択信
号110を変換して出力する。
【0023】以降は、従来のデータ処理装置と同様に、
レジスタファイル111からレジスタ選択信号108に
従ってデータが読み出され、即値データ107と共に命
令実行に適当な物が選択され、内部データバス112,
113を介して演算器114に転送される。また、命令
種別信号109および書込レジスタ選択信号110は、
次のステージのために、EIレジスタ115およびER
レジスタ116にそのまま転送され、EXステージ以降
の処理が行われ命令実行を終了する。
【0024】図2は、図1のデータ処理装置の命令実行
動作を説明するための説明図であり、命令バッファ10
3の内容例として、転送命令,加算命令が連続して格納
されている様子を示している。この命令順の場合のパイ
プライン動作について説明する。ここで、転送命令mo
v r1,r3は、レジスタr1の内容をr3に転送す
る命令であり、また、加算命令add r2,r3は、
レジスタr2の内容をr3の内容と加算し、結果をr3
に戻す命令である。
【0025】この加算命令add r2,r3で使用さ
れるレジスタr3の内容は、転送命令mov r1,r
3の実行後の結果であるから、この2命令での処理は、
レジスタr1とr2の内容を加算してr3に戻す処理と
等価であり、レジスタ選択信号108としてr1および
r2コードを変換出力し、命令種別信号109として加
算コードを変換出力し、書き込みレジスタ選択信号11
0としてr3コードを変換出力することによって、同時
に処理可能である。
【0026】図3は、本発明のデータ処理装置の実施形
態2を示すブロック図である。本実施形態のデータ処理
装置は、特開平2−130635号公報に記載されたR
ISC方式の複数のパイプラインを有するデータ処理装
置に適用した例であり、本発明が、複数パイプラインを
使用して複数命令を同時に実行する処理装置に於いても
有効であることを示した例である。プリデコーダ30
5,命令ディスパッチャ306以外の各ブロックおよび
各パイプライン内の構成は、図1の実施形態1のデータ
処理装置と同様であり重複説明を省略する。
【0027】プリデコーダ305は、例えば図1の実施
形態1のデータ処理装置のデコーダ部と同じ構成であ
り、命令バッファ303から単一のパイプラインで実行
可能である命令を検出し命令ディスパッチャ306に通
知する。
【0028】命令ディスパッチャ306は、命令バッフ
ァ303の内容とプリデコーダ305出力とから同時実
行可能な命令を検出し、その検出結果をパイプライン実
行器307〜310に渡し、それぞれのパイプラインで
同時に実行する。このとき、命令ディスパッチャ306
は、プリデコーダ305が検出した単一のパイプライン
で実行可能な複数の命令を1つの命令として解釈し、一
つのパイプラインに渡す。
【0029】図4は、図3のデータ処理装置の命令実行
動作を説明するための説明図であり、命令バッファ10
3の内容例として、転送命令,加算命令,転送命令,加
算命令,ストア命令,分岐命令が連続して格納されてい
る様子を示している。この命令順の場合のパイプライン
動作について説明する。ここで、転送命令mov r
1,r3および加算命令add r2,r3は、図2で
説明したように、一つのパイプラインで実行可能であ
る。ストア命令st r1,0[r0]は、r1をメモ
リアドレス0[r0]にストアする命令であり、分岐命
令br L1は、アドレスL1へ分岐する命令である。
【0030】まず、プリデコーダ305が、図2で説明
したように、転送命令mov r1,r3および加算命
令add r2,r3が一つのパイプラインで実行可能
であることを検出し、その結果を命令ディスパッチャ3
06に通知するため、命令ディスパッチャ306は、こ
れらをそれぞれ一つの命令として解釈し、レジスタ選択
信号,命令種別信号,書き込みレジスタ選択信号のコー
ドを変換し、パイプライン307,308へそれぞれ出
力する。さらに、この場合、次のストア命令st r
1,0[r0]および分岐命令br L1が、パイプラ
イン307,308における最終結果と無関係であるた
め、異なる各パイプラインでそれぞれ同時実行可能であ
り、即値データ,レジスタ選択信号,命令種別信号,書
き込みレジスタ選択信号をパイプライン309,310
へそれぞれ出力する。これにより、4つのパイプライン
307,308,309,310にてプログラム命令を
同時実行できる。
【0031】
【発明の効果】以上説明したように、本発明によるデー
タ処理装置では、従来に比べコード長の短い命令セット
のみで1パイプライン当りの処理効率を上げることが可
能となり、プログラムを収める記憶装置の容量を削減す
ることにより装置のコスト削減が可能となる。
【0032】また、性能重視の処理装置とメモリ効率/
コスト重視の処理装置とにおいて、同じ命令セットが使
用可能となり、開発環境やソフトウェア資源の共用化に
よる開発期間の短縮や開発コストの削減が可能であるな
どの効果がある。
【図面の簡単な説明】
【図1】本発明のデータ処理装置の実施形態1を示すブ
ロック図である。
【図2】図1のデータ処理装置の命令実行動作を説明す
るための説明図である。
【図3】本発明のデータ処理装置の実施形態2を示すブ
ロック図である。
【図4】図3のデータ処理装置の命令実行動作を説明す
るための説明図である。
【図5】従来のデータ処理装置の例1を示すブロック図
である。
【図6】従来のデータ処理装置の例2を示すブロック図
である。
【符号の説明】
101,301,501,601 フェッチポインタ 102,302,502,602 命令メモリ 103,303,503,603 命令バッファ 104,304,504,604 インクリメンタ 105,305 プリデコーダ 106,505 命令デコーダ 107,506 即値データ 108,507 レジスタ選択信号 109,508 命令種別信号 110,509 書込レジスタ選択信号 111,510 レジスタファイル 112,113,511,512 内部データバス 113,513 演算器 114,514 EIレジスタ 116,515 ERレジスタ 117,516 EDパイプラインレジスタ 118,517 MIレジスタ 119,518 MRレジスタ 120,519 MDパイプラインレジスタ 121,520 データメモリ 122,521 WRレジスタ 306,605 命令ディスパッチャ 307〜610,606〜609 パイプライン実行

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 記憶装置からフェッチされた命令を順に
    蓄え順に出力する命令バッファと、この命令バッファか
    ら出力される命令をデコードしこの命令をパイプライン
    処理するパイプラインの各機能の制御信号を出力する制
    御手段と、を有するデータ処理装置において、前記命令
    バッファに順に蓄えらている複数の命令を事前にデコー
    ドしこれら複数の命令が前記パイプラインで同時に実行
    可能であることを検出し検出信号を出力する検出手段を
    備え、前記制御手段が前記検出信号に対応して前記制御
    信号を変換出力することを特徴とするデータ処理装置。
  2. 【請求項2】 前記パイプラインが複数のパイプライン
    からなり、これら複数のパイプラインに前記制御手段が
    前記制御信号をそれぞれ変換出力する、請求項1記載の
    データ処理装置。
JP25643396A 1996-09-27 1996-09-27 データ処理装置 Pending JPH10105399A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP25643396A JPH10105399A (ja) 1996-09-27 1996-09-27 データ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP25643396A JPH10105399A (ja) 1996-09-27 1996-09-27 データ処理装置

Publications (1)

Publication Number Publication Date
JPH10105399A true JPH10105399A (ja) 1998-04-24

Family

ID=17292601

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25643396A Pending JPH10105399A (ja) 1996-09-27 1996-09-27 データ処理装置

Country Status (1)

Country Link
JP (1) JPH10105399A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006126449A1 (ja) * 2005-05-26 2006-11-30 Nec Corporation 情報処理装置および命令実行方法
JP2020077333A (ja) * 2018-11-09 2020-05-21 富士通株式会社 演算処理装置および演算処理装置の制御方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006126449A1 (ja) * 2005-05-26 2006-11-30 Nec Corporation 情報処理装置および命令実行方法
US8271766B2 (en) 2005-05-26 2012-09-18 Nec Corporation Intentionally delaying execution of a copy instruction to achieve simultaneous execution with a subsequent, non-adjacent write instruction
JP5051452B2 (ja) * 2005-05-26 2012-10-17 日本電気株式会社 情報処理装置および命令実行方法
JP2020077333A (ja) * 2018-11-09 2020-05-21 富士通株式会社 演算処理装置および演算処理装置の制御方法
US11080063B2 (en) 2018-11-09 2021-08-03 Fujitsu Limited Processing device and method of controlling processing device

Similar Documents

Publication Publication Date Title
JP6456867B2 (ja) 密結合ヘテロジニアスコンピューティングのためのハードウェアプロセッサ及び方法
US7694109B2 (en) Data processing apparatus of high speed process using memory of low speed and low power consumption
US7473293B2 (en) Processor for executing instructions containing either single operation or packed plurality of operations dependent upon instruction status indicator
US20010010072A1 (en) Instruction translator translating non-native instructions for a processor into native instructions therefor, instruction memory with such translator, and data processing apparatus using them
JPH09311786A (ja) データ処理装置
JPH0926878A (ja) データ処理装置
JP2002536738A (ja) 間接vliwプロセッサにおける実行時間並列処理のための動的vliwサブ命令選択システム
JP2001501330A (ja) デジタル信号処理集積回路アーキテクチャ
JPH03218523A (ja) データプロセッサ
JPH0496825A (ja) データ・プロセッサ
US7788472B2 (en) Instruction encoding within a data processing apparatus having multiple instruction sets
JPH0673105B2 (ja) 命令パイプライン方式のマイクロプロセッサ
JP2002215387A (ja) 命令トランスレータを備えたデータ処理装置およびメモリインタフェース装置
US6055628A (en) Microprocessor with a nestable delayed branch instruction without branch related pipeline interlocks
KR100267089B1 (ko) 스칼라/벡터연산이조합된단일명령복수데이터처리
US6925548B2 (en) Data processor assigning the same operation code to multiple operations
JPH10105399A (ja) データ処理装置
EP1499956A2 (en) Method and apparatus for swapping the contents of address registers
CN111813447B (zh) 一种数据拼接指令的处理方法和处理装置
WO2021061626A1 (en) Instruction executing method and apparatus
JP2877468B2 (ja) 電子計算機
JP2861560B2 (ja) データ処理装置
JPH0651984A (ja) マイクロプロセッサ
JP2956707B2 (ja) 情報処理装置
JP3102399B2 (ja) データ処理装置及び方法

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 19990601