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

データ処理装置

Info

Publication number
JPH08161168A
JPH08161168A JP6298378A JP29837894A JPH08161168A JP H08161168 A JPH08161168 A JP H08161168A JP 6298378 A JP6298378 A JP 6298378A JP 29837894 A JP29837894 A JP 29837894A JP H08161168 A JPH08161168 A JP H08161168A
Authority
JP
Japan
Prior art keywords
instruction
cycle
circuit
decoding
information
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
Application number
JP6298378A
Other languages
English (en)
Other versions
JP3493768B2 (ja
Inventor
Kosuke Yoshioka
康介 吉岡
Kozo Kimura
浩三 木村
Tokuzo Kiyohara
督三 清原
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 Holdings Corp
Original Assignee
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP29837894A priority Critical patent/JP3493768B2/ja
Publication of JPH08161168A publication Critical patent/JPH08161168A/ja
Application granted granted Critical
Publication of JP3493768B2 publication Critical patent/JP3493768B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【目的】 複数命令流を解読実行するデータ処理装置に
おいてマルチサイクル命令を必要最小限のハードウェア
追加で実行できる。 【構成】 マルチサイクル命令が命令解読回路1に読み
込まれる。命令実行制御回路2はマルチサイクル命令解
読管理回路3からの情報に従ってマルチサイクル命令を
解読する命令流を決定する。マルチサイクル命令解読管
理回路3は命令発行制御回路2からの情報に従って解読
する命令流を選択し、命令解読回路1から解読命令の情
報を得る。この情報に従ってマルチサイクル命令解読管
理回路3は単一の命令であるマルチサイクル命令を複数
の命令に分割する。さらに命令解読回路1はマルチサイ
クル命令解読管理回路3からの情報に従ってレジスタ群
4から読みだすレジスタ番号の情報を解読する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は出現頻度が少なくかつ実
行レイテンシが大きいマルチサイクル命令を、必要最小
限のハードウェア追加で性能劣化を引き起こさずに実装
できる命令発行制御装置とマルチサイクル命令解読管理
装置を備えたデータ処理装置に関するものである。
【0002】
【従来の技術】命令の並列実行を可能とするマイクロプ
ロセッサの制御技術は、命令実行の高速化を可能とする
手法として注目されている。
【0003】従来、実行に複数サイクル要するマルチサ
イクル命令はマイクロプログラムを解読機構あるいは実
行回路で内蔵しそれらを順次実行することによって実現
されていた。このマルチサイクル命令を複数命令流を有
するマイクロプロセッサにおいて実現する場合、マイク
ロプログラムを複数命令流ごとに設けた場合には、ハー
ドウェアの増加を引き起こす。
【0004】
【発明が解決しようとする課題】マルチサイクル命令解
読機構が複数存在することによるハードウェア増加、あ
るいはマルチサイクル命令解読機構を共有した場合、資
源競合を引き起こし解読機構を選択するアービトレーシ
ョン処理が必要となり、ハードウェア増加の原因となっ
ていた。
【0005】
【課題を解決するための手段】上記問題点を解決するた
めに本願第1の発明のマルチサイクル命令解読管理回路
を備えたデータ処理装置は、複数の命令流を解読する複
数の命令解読回路と、それぞれの命令流に1対1に対応
してデータの読みだし書き込みを行うレジスタ群と、前
記複数の命令解読回路よりマルチサイクル命令を解読中
であることを知らされることによりマルチサイクル命令
の発行制御を行う命令発行制御回路と、前記命令発行制
御回路よりマルチサイクル命令解読を行う命令流を知
り、複数ある命令流から解読する命令を選択しマルチサ
イクル命令の解読管理を行うマルチサイクル命令解読管
理回路を備えることにより、複数命令流に存在するマル
チサイクル命令を命令解読回路に1対1に対応してマル
チサイクル命令解読管理回路を設けることなく解読制御
を行うことを特徴としている。
【0006】本願第2の発明のデータ処理装置は、マル
チサイクル命令解読管理回路からの指示に従い当該サイ
クルで解読する命令が参照するレジスタ番号を切り出す
ことにより、マルチサイクル命令において使用するレジ
スタ番号を特にマルチサイクル命令解読管理回路中にあ
るマイクロ命令に設けることなく、マルチサイクル命令
を実行することを特徴としている。
【0007】
【作用】本発明は上記した構成によって、従来の構成で
はマルチサイクル命令の解読機構によって大幅なハード
ウェア増を招く回路構成を防ぐものである。
【0008】更にこの構成を用いることにより命令流の
排他制御を実行することが可能となる。
【0009】
【実施例】以下本発明の一実施例におけるマルチサイク
ル命令解読管理回路を備えたデータ処理装置について、
図面を参照しながら説明する。
【0010】(図1)は本発明の実施例における命令発
行制御回路およびマルチサイクル命令解読管理回路を備
えたデータ処理装置の構成図を示すものである。
【0011】(図1)に置いて1は複数の命令解読回路、
2は命令実行制御回路、3はマルチサイクル命令解読管
理回路、4はレジスタ群、10は基本演算を行う基本命
令実行回路、11はデータをメモリから書き込みあるい
は読みだしを行うロードストア命令実行回路、14複数
の命令流が同一の実行回路での実行を同時に要求した場
合、どの命令流がその実行回路を次のサイクルで使用す
るかを決定する調停回路である。
【0012】(図2)は動作説明を行うための命令シーケ
ンス例である。命令シーケンス中のR8a、R14a、
R16a、R24a、R8b、R14b、R16b、R
24bはレジスタ名を示している。このうちレジスタ名
の最後尾に付いているa,bは属する命令流を示してい
る。またSAVE、RESTORE、ST,LD,MO
Vは命令を示している。このうちSTはレジスタからメ
モリへのストア命令、LDはメモリからレジスタへのロ
ード命令、MOVはレジスタからレジスタへの移動命令
である。
【0013】さらに(a)に示された命令流にあるSA
VE,RESTOREの機能は(b)に示された命令流
と同等の機能を持つマルチサイクル命令である。すなわ
ち(a)の命令流を実行すると機能的には(b)の命令
流を全て実行したもの同じ動作を行うことになる。命令
中の最後尾の数字は同一命令流の実行順序を示すもので
ある。命令動作は第1、第2オペランドがソースで、第
3オペランドがディスティネーションであるものとす
る。
【0014】ここで(図1)では命令解読回路1、レジス
タ群4は命令流の数に対応して3個ずつ記載されてい
る。これら各回路の数は命令流の数と同数用意されてお
り、各命令流に所属する資源は他の命令流から参照され
ることはない。ここでは説明の簡単化のため(図2)の命
令流は2つを表記している。
【0015】(図3)は動作説明を行うためのパイプライ
ン動作例である。図の中でDECは命令解読回路1での
動作、EXは基本命令実行回路10あるいはロードスト
ア命令実行回路11での動作、MULTI-ADMIN
はマルチサイクル命令解読管理回路3から出力されるマ
ルチサイクル命令のサイクル数である。命令解読回路
1、レジスタ群4は命令流と同数用意されているが(図
3)中のDECは説明のための命令シーケンス分のみ記
載されている。
【0016】以下実施例のマルチサイクル命令解読管理
回路を備えたデータ処理装置について、(図1)(図2)
(図3)を用いてその動作を説明する。
【0017】動作を開始すると命令流a、bともに命令
解読回路1にSAVE、RESTORE命令が読み込ま
れる。なおこの命令流の数は前述したように3と規定し
なくても制御可能である。さらにこれら複数の命令流は
複数存在する命令解読回路1に対して1対1の対応で固
定された命令解読回路1に読み込まれるものとする。
【0018】命令解読回路1では命令を解読し、解読さ
れた命令が基本命令かマルチサイクル命令であるかを判
断し、命令発行制御回路2に通知する。このSAVE、
RESTORE命令はマルチサイクル命令であるが、ま
ず最初に命令がマルチサイクル命令であるかないかに関
わらない動作に関しての説明を行う。
【0019】この命令発行制御回路2は現在実行されて
いる基本命令実行回路10の状態、ロードストア命令実
行回路11の状態さらにマルチサイクル命令解読管理回
路3により管理されているマルチサイクル命令の実行状
況の情報により命令発行を行う命令流を決定する。命令
発行を妨げる要因は複数存在するがこれらをパイプライ
ンの流れを妨げるということでパイプラインハザードと
呼ぶ。パイプラインハザードには資源の競合により発生
する構造的ハザード、データの依存関係により発生する
データハザード、制御の順に依存して発生する制御ハザ
ードがある。
【0020】ここでは説明の簡単にするためにデータハ
ザードは発生しないものとする。また制御ハザードは、
発行する命令が命令解読回路1に供給されない等の場合
に関することなので、ここでは命令は既に命令解読回路
1に供給されているものとし扱わない。
【0021】そこで問題となるのは構造ハザードのみと
なる。(図1)の構造を例に取ると命令解読回路1、レジ
スタ群4は命令流の数だけ資源が存在するので構造的ハ
ザードは発生しないが、基本命令実行回路10、ロード
ストア命令実行回路11は(図1)の仮定ではそれぞれ1
個しか存在しないので複数命令流で同一回路を使用しよ
うとした場合、資源の競合が発生し構造的ハザードとな
る。
【0022】命令発行制御回路2は、これら構造的ハザ
ードが発生する場合に、資源の競合を解決するために調
停回路を持ち調停を行う。例えば命令流a、bともに同
一サイクルで基本命令実行回路10への使用要求が機能
ユニット使用要求線5を使って命令解読回路1から出さ
れたとする。この場合、命令発行制御回路2は基本命令
実行回路10が次サイクルで使用可能かどうかを基本命
令状態線13を用いて知り、使用可能な場合には命令発
行制御回路2にある調停回路14を用いて命令流a、b
のどちらの命令を発行するかを決定する。
【0023】この調停回路14は元来、複数命令流を実
行するデータ処理装置において実行回路が命令流の数と
同数かそれ以上用意されていない場合には必ず存在し、
複数命令流からの使用要求の調停を行う。次にマルチサ
イクル命令の場合の動作を説明する。命令解読回路1で
解読された命令がマルチサイクル命令であった場合、こ
の命令が発行可能かどうかはマルチサイクル命令解読管
理回路3が管理しており、そのサイクルでマルチサイク
ル命令が解読中でさらに次サイクルで継続して解読する
か否かを命令発行制御回路2に伝える。
【0024】命令発行制御回路2はこの情報と命令解読
回路1から送られる情報をもとにその命令が発行可能か
どうかを判断する。単一の命令流のみがマルチサイクル
命令の解読を行う場合、命令発行制御回路2はマルチサ
イクル命令解読管理回路3からの情報により次サイクル
でマルチサイクル命令の解読が行われない場合には、そ
のマルチサイクル命令を発行することを命令解読回路1
に伝える。
【0025】またマルチサイクル命令解読管理回路3で
既にマルチサイクル命令の解読が行われている状態の場
合には、その命令発行及び解読を停止する。複数の命令
流がマルチサイクル命令の解読を要求した場合、マルチ
サイクル命令解読管理回路3からの情報に従い、次サイ
クルでそれら命令の発行が可能であった場合、命令発行
制御回路2は命令を発行する命令流を決めるために調停
回路14を使用する。
【0026】この調停回路14によりマルチサイクル命
令を発行する命令流が決まると、発行を行う命令流の命
令解読回路1にのみそのことを伝える。(図2)(図3)の
例の場合、命令流a,bでは1サイクル目で同時にマル
チサイクル命令の解読要求が命令発行制御回路2へ出さ
れる。このときマルチサクル命令解読管理回路3では、
それ以前のサイクルでマルチサイクル命令の解読が行わ
れていないので、命令発行制御回路2は調停回路14を
使用して調停を行う。
【0027】この例の場合、命令流aのSAVE命令が
調停により選択され次サイクルで命令発行が行われる。
またこのSAVE命令は(図2b)で示されるように第1
サイクルはストア命令、第2サイクルはMOV命令の機
能を持つ命令であるので、(図3)のサイクル2ではスト
ア命令がロードストア命令実行回路11に発行すること
になる。
【0028】一方、命令流bのRESTORE命令は調
停により発行権を得られなかったのでストール(発行延
期)することになる。ここでこの時のマルチサイクル命
令解読管理回路3と命令解読回路1の動作について説明
する。
【0029】マルチサイクル命令解読管理回路3の機能
はマルチサイクル命令を現在解読中でありかつ現在マル
チサイクルの何サイクル目を解読しているかという状態
保持の機能と、実際に特定のマルチサイクル命令のある
サイクルでどのような機能の基本命令が動作するかとい
うことを記憶装置から取り出し命令実行回路へ指示を送
るという機能がある。
【0030】マルチサイクル命令解読管理回路3では命
令発行制御回路2からの情報によりサイクル1で命令流
aの発行が行われることが決定すると、その内部状態が
マルチサイクル命令が実行中という状態に遷移する。こ
のことにより2サイクル目で命令流bが引続きマルチサ
イクル命令の解読要求を出した場合でも、先行する命令
流aのマルチサイクル命令が完了しない限り命令流bの
命令発行は行われず引続きストールすることになる。
【0031】また状態管理部では現在マルチサイクル命
令が何サイクル目で終了するかを管理し次サイクルで終
了する場合には新たなマルチサイクル命令の発行を許可
するように命令発行制御回路2に情報を伝える。
【0032】さらにこの現在マルチサイクル命令の何サ
イクル目を解読中であるかは情報線6を通して命令解読
回路1に伝えられ、命令解読回路1ではこの情報にした
がってレジスタ群4に対して命令実行に必要なレジスタ
の読みだしを行う。(図2)(図3)の例の場合ではSAV
E命令の実行には第1サイクル目でR16とR14の読
みだしが必要なので命令解読回路1はその指示をレジス
タ群4に対して出す。
【0033】またマルチサイクル命令解読管理回路3で
はSAVE命令の第1サイクル目はストア(ST)命令で
あることを機能記憶部から読みだし情報線8を用いてロ
ードストア命令実行回路11に伝える。これらの指示及
びレジスタの値を用いて、サイクル2でロードストア命
令実行回路11においてストア命令の実行を行う。また
SAVE命令の第2サイクルはMOV命令なので、それ
ぞれ必要なレジスタ値を読みだし基本命令実行回路10
に伝える。またサイクル2はこのサイクルが命令流aの
マルチサイクル命令の最終サイクルであるので、次サイ
クルであるサイクル3では状態管理部の状態はマルチサ
イクル命令を解読していない状態に戻る。
【0034】これら動作によってサイクル3でMOV命
令が基本命令実行回路10で実行される。このサイクル
3において既に命令流aの命令解読が終了しているの
で、次に命令流bにあるRESOTRE命令が発行され
ることになる。
【0035】
【発明の効果】本発明のデータ処理装置はマルチサイク
ル命令の解読において、複数命令流ごとにマルチサイク
ル命令解読管理装置を設けることなく解読が可能で、更
にこれらの機構を用いることにより複数命令流間で共有
している資源に対するアクセスの競合を避けることがで
きる。
【0036】また命令解読回路とマルチサイクル命令解
読管理回路で命令解読を分担して行うことによりハード
ウェアの増加を抑えることができる。
【図面の簡単な説明】
【図1】本発明の実施例におけるデータ処理装置の構成
【図2】本発明の実施例を説明するために用いる命令シ
ーケンス図
【図3】本発明の実施例を説明するために用いるパイプ
ライン動作説明図

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】複数の命令流を解読する複数の命令解読回
    路と、 それぞれの命令流に1対1に対応してデータの読みだし
    書き込みを行うレジスタ群と、 前記複数の命令解読回路よりマルチサイクル命令を解読
    中であることを知らされることによりマルチサイクル命
    令の発行制御を行う命令発行制御回路と、 前記命令発行制御回路よりマルチサイクル命令解読を行
    う命令流を知り、 複数ある命令流から解読する命令を選択しマルチサイク
    ル命令の解読管理を行うマルチサイクル命令解読管理回
    路を備えることにより、 複数命令流に存在するマルチサイクル命令を命令解読回
    路に1対1に対応してマルチサイクル命令解読管理回路
    を設けることなく解読制御を行うことを特徴とするデー
    タ処理装置。
  2. 【請求項2】マルチサイクル命令解読管理回路からの情
    報により解読する命令が使用するレジスタ番号の情報を
    変更することが出来る命令解読装置を備えたことを特徴
    とする請求項1記載のデータ処理装置。
JP29837894A 1994-12-01 1994-12-01 データ処理装置 Expired - Lifetime JP3493768B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP29837894A JP3493768B2 (ja) 1994-12-01 1994-12-01 データ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP29837894A JP3493768B2 (ja) 1994-12-01 1994-12-01 データ処理装置

Publications (2)

Publication Number Publication Date
JPH08161168A true JPH08161168A (ja) 1996-06-21
JP3493768B2 JP3493768B2 (ja) 2004-02-03

Family

ID=17858925

Family Applications (1)

Application Number Title Priority Date Filing Date
JP29837894A Expired - Lifetime JP3493768B2 (ja) 1994-12-01 1994-12-01 データ処理装置

Country Status (1)

Country Link
JP (1) JP3493768B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011060048A (ja) * 2009-09-10 2011-03-24 Nec Computertechno Ltd 情報処理装置、情報処理方法及び情報処理プログラム

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63254530A (ja) * 1987-04-10 1988-10-21 Nec Corp 情報処理装置
JPH04123230A (ja) * 1990-09-14 1992-04-23 Hitachi Ltd データ処理装置
JPH04130537A (ja) * 1990-09-20 1992-05-01 Matsushita Electric Ind Co Ltd データ処理装置
JPH04360234A (ja) * 1991-06-06 1992-12-14 Matsushita Electric Ind Co Ltd 情報処理装置
JPH07182168A (ja) * 1993-12-24 1995-07-21 Nec Corp 演算装置及びその制御方法
JPH07281896A (ja) * 1994-04-15 1995-10-27 Hitachi Ltd 情報処理装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63254530A (ja) * 1987-04-10 1988-10-21 Nec Corp 情報処理装置
JPH04123230A (ja) * 1990-09-14 1992-04-23 Hitachi Ltd データ処理装置
JPH04130537A (ja) * 1990-09-20 1992-05-01 Matsushita Electric Ind Co Ltd データ処理装置
JPH04360234A (ja) * 1991-06-06 1992-12-14 Matsushita Electric Ind Co Ltd 情報処理装置
JPH07182168A (ja) * 1993-12-24 1995-07-21 Nec Corp 演算装置及びその制御方法
JPH07281896A (ja) * 1994-04-15 1995-10-27 Hitachi Ltd 情報処理装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011060048A (ja) * 2009-09-10 2011-03-24 Nec Computertechno Ltd 情報処理装置、情報処理方法及び情報処理プログラム

Also Published As

Publication number Publication date
JP3493768B2 (ja) 2004-02-03

Similar Documents

Publication Publication Date Title
US6671827B2 (en) Journaling for parallel hardware threads in multithreaded processor
JP3797471B2 (ja) マルチスレッドvliwプロセッサにおける分割可能なパケットを識別するための方法および装置
US7020871B2 (en) Breakpoint method for parallel hardware threads in multithreaded processor
US6944850B2 (en) Hop method for stepping parallel hardware threads
US7257814B1 (en) Method and apparatus for implementing atomicity of memory operations in dynamic multi-streaming processors
JPH03129433A (ja) 並列処理装置および並列処理方法
KR20040069352A (ko) 멀티-스레딩 프로세서에서 스레드의 실행을 정지시키기위한 시스템 및 방법
US8635621B2 (en) Method and apparatus to implement software to hardware thread priority
JPH0766329B2 (ja) 情報処理装置
JP2008047145A (ja) デュアルスレッドプロセッサ
JP3777541B2 (ja) マルチスレッドvliwプロセッサにおけるパケット分割の方法および装置
US7761688B1 (en) Multiple thread in-order issue in-order completion DSP and micro-controller
JPH03233630A (ja) 情報処理装置
EP1299801B1 (en) Method and apparatus for implementing atomicity of memory operations in dynamic multi-streaming processors
US20020156999A1 (en) Mixed-mode hardware multithreading
JP3493768B2 (ja) データ処理装置
JP2004038751A (ja) プロセッサ及び命令制御方法
JP3520372B2 (ja) メモリ制御ユニット並びに入出力制御ユニットの動作におけるクリティカル・パスの削除
JPH07244588A (ja) データ処理装置
JPH076037A (ja) 命令解読装置
JP2011248454A (ja) プロセッサ装置及びプロセッサ装置の制御方法
JP3630904B2 (ja) 演算実行方法および演算実行装置
JPH04308930A (ja) 電子計算機
JPS58114250A (ja) 共有マイクロプロセツサ
JP2011008617A (ja) マルチスレッド実行装置、オブジェクトプログラムの生成方法、プログラム

Legal Events

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

Free format text: PAYMENT UNTIL: 20071121

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20081121

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20091121

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20091121

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20101121

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20111121

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20121121

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20121121

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20131121

Year of fee payment: 10

EXPY Cancellation because of completion of term