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
Links
Landscapes
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
Abstract
おいてマルチサイクル命令を必要最小限のハードウェア
追加で実行できる。 【構成】 マルチサイクル命令が命令解読回路1に読み
込まれる。命令実行制御回路2はマルチサイクル命令解
読管理回路3からの情報に従ってマルチサイクル命令を
解読する命令流を決定する。マルチサイクル命令解読管
理回路3は命令発行制御回路2からの情報に従って解読
する命令流を選択し、命令解読回路1から解読命令の情
報を得る。この情報に従ってマルチサイクル命令解読管
理回路3は単一の命令であるマルチサイクル命令を複数
の命令に分割する。さらに命令解読回路1はマルチサイ
クル命令解読管理回路3からの情報に従ってレジスタ群
4から読みだすレジスタ番号の情報を解読する。
Description
行レイテンシが大きいマルチサイクル命令を、必要最小
限のハードウェア追加で性能劣化を引き起こさずに実装
できる命令発行制御装置とマルチサイクル命令解読管理
装置を備えたデータ処理装置に関するものである。
ロセッサの制御技術は、命令実行の高速化を可能とする
手法として注目されている。
イクル命令はマイクロプログラムを解読機構あるいは実
行回路で内蔵しそれらを順次実行することによって実現
されていた。このマルチサイクル命令を複数命令流を有
するマイクロプロセッサにおいて実現する場合、マイク
ロプログラムを複数命令流ごとに設けた場合には、ハー
ドウェアの増加を引き起こす。
読機構が複数存在することによるハードウェア増加、あ
るいはマルチサイクル命令解読機構を共有した場合、資
源競合を引き起こし解読機構を選択するアービトレーシ
ョン処理が必要となり、ハードウェア増加の原因となっ
ていた。
めに本願第1の発明のマルチサイクル命令解読管理回路
を備えたデータ処理装置は、複数の命令流を解読する複
数の命令解読回路と、それぞれの命令流に1対1に対応
してデータの読みだし書き込みを行うレジスタ群と、前
記複数の命令解読回路よりマルチサイクル命令を解読中
であることを知らされることによりマルチサイクル命令
の発行制御を行う命令発行制御回路と、前記命令発行制
御回路よりマルチサイクル命令解読を行う命令流を知
り、複数ある命令流から解読する命令を選択しマルチサ
イクル命令の解読管理を行うマルチサイクル命令解読管
理回路を備えることにより、複数命令流に存在するマル
チサイクル命令を命令解読回路に1対1に対応してマル
チサイクル命令解読管理回路を設けることなく解読制御
を行うことを特徴としている。
チサイクル命令解読管理回路からの指示に従い当該サイ
クルで解読する命令が参照するレジスタ番号を切り出す
ことにより、マルチサイクル命令において使用するレジ
スタ番号を特にマルチサイクル命令解読管理回路中にあ
るマイクロ命令に設けることなく、マルチサイクル命令
を実行することを特徴としている。
はマルチサイクル命令の解読機構によって大幅なハード
ウェア増を招く回路構成を防ぐものである。
排他制御を実行することが可能となる。
ル命令解読管理回路を備えたデータ処理装置について、
図面を参照しながら説明する。
行制御回路およびマルチサイクル命令解読管理回路を備
えたデータ処理装置の構成図を示すものである。
2は命令実行制御回路、3はマルチサイクル命令解読管
理回路、4はレジスタ群、10は基本演算を行う基本命
令実行回路、11はデータをメモリから書き込みあるい
は読みだしを行うロードストア命令実行回路、14複数
の命令流が同一の実行回路での実行を同時に要求した場
合、どの命令流がその実行回路を次のサイクルで使用す
るかを決定する調停回路である。
ンス例である。命令シーケンス中のR8a、R14a、
R16a、R24a、R8b、R14b、R16b、R
24bはレジスタ名を示している。このうちレジスタ名
の最後尾に付いているa,bは属する命令流を示してい
る。またSAVE、RESTORE、ST,LD,MO
Vは命令を示している。このうちSTはレジスタからメ
モリへのストア命令、LDはメモリからレジスタへのロ
ード命令、MOVはレジスタからレジスタへの移動命令
である。
VE,RESTOREの機能は(b)に示された命令流
と同等の機能を持つマルチサイクル命令である。すなわ
ち(a)の命令流を実行すると機能的には(b)の命令
流を全て実行したもの同じ動作を行うことになる。命令
中の最後尾の数字は同一命令流の実行順序を示すもので
ある。命令動作は第1、第2オペランドがソースで、第
3オペランドがディスティネーションであるものとす
る。
タ群4は命令流の数に対応して3個ずつ記載されてい
る。これら各回路の数は命令流の数と同数用意されてお
り、各命令流に所属する資源は他の命令流から参照され
ることはない。ここでは説明の簡単化のため(図2)の命
令流は2つを表記している。
ン動作例である。図の中でDECは命令解読回路1での
動作、EXは基本命令実行回路10あるいはロードスト
ア命令実行回路11での動作、MULTI-ADMIN
はマルチサイクル命令解読管理回路3から出力されるマ
ルチサイクル命令のサイクル数である。命令解読回路
1、レジスタ群4は命令流と同数用意されているが(図
3)中のDECは説明のための命令シーケンス分のみ記
載されている。
回路を備えたデータ処理装置について、(図1)(図2)
(図3)を用いてその動作を説明する。
解読回路1にSAVE、RESTORE命令が読み込ま
れる。なおこの命令流の数は前述したように3と規定し
なくても制御可能である。さらにこれら複数の命令流は
複数存在する命令解読回路1に対して1対1の対応で固
定された命令解読回路1に読み込まれるものとする。
れた命令が基本命令かマルチサイクル命令であるかを判
断し、命令発行制御回路2に通知する。このSAVE、
RESTORE命令はマルチサイクル命令であるが、ま
ず最初に命令がマルチサイクル命令であるかないかに関
わらない動作に関しての説明を行う。
いる基本命令実行回路10の状態、ロードストア命令実
行回路11の状態さらにマルチサイクル命令解読管理回
路3により管理されているマルチサイクル命令の実行状
況の情報により命令発行を行う命令流を決定する。命令
発行を妨げる要因は複数存在するがこれらをパイプライ
ンの流れを妨げるということでパイプラインハザードと
呼ぶ。パイプラインハザードには資源の競合により発生
する構造的ハザード、データの依存関係により発生する
データハザード、制御の順に依存して発生する制御ハザ
ードがある。
ザードは発生しないものとする。また制御ハザードは、
発行する命令が命令解読回路1に供給されない等の場合
に関することなので、ここでは命令は既に命令解読回路
1に供給されているものとし扱わない。
なる。(図1)の構造を例に取ると命令解読回路1、レジ
スタ群4は命令流の数だけ資源が存在するので構造的ハ
ザードは発生しないが、基本命令実行回路10、ロード
ストア命令実行回路11は(図1)の仮定ではそれぞれ1
個しか存在しないので複数命令流で同一回路を使用しよ
うとした場合、資源の競合が発生し構造的ハザードとな
る。
ードが発生する場合に、資源の競合を解決するために調
停回路を持ち調停を行う。例えば命令流a、bともに同
一サイクルで基本命令実行回路10への使用要求が機能
ユニット使用要求線5を使って命令解読回路1から出さ
れたとする。この場合、命令発行制御回路2は基本命令
実行回路10が次サイクルで使用可能かどうかを基本命
令状態線13を用いて知り、使用可能な場合には命令発
行制御回路2にある調停回路14を用いて命令流a、b
のどちらの命令を発行するかを決定する。
行するデータ処理装置において実行回路が命令流の数と
同数かそれ以上用意されていない場合には必ず存在し、
複数命令流からの使用要求の調停を行う。次にマルチサ
イクル命令の場合の動作を説明する。命令解読回路1で
解読された命令がマルチサイクル命令であった場合、こ
の命令が発行可能かどうかはマルチサイクル命令解読管
理回路3が管理しており、そのサイクルでマルチサイク
ル命令が解読中でさらに次サイクルで継続して解読する
か否かを命令発行制御回路2に伝える。
回路1から送られる情報をもとにその命令が発行可能か
どうかを判断する。単一の命令流のみがマルチサイクル
命令の解読を行う場合、命令発行制御回路2はマルチサ
イクル命令解読管理回路3からの情報により次サイクル
でマルチサイクル命令の解読が行われない場合には、そ
のマルチサイクル命令を発行することを命令解読回路1
に伝える。
既にマルチサイクル命令の解読が行われている状態の場
合には、その命令発行及び解読を停止する。複数の命令
流がマルチサイクル命令の解読を要求した場合、マルチ
サイクル命令解読管理回路3からの情報に従い、次サイ
クルでそれら命令の発行が可能であった場合、命令発行
制御回路2は命令を発行する命令流を決めるために調停
回路14を使用する。
令を発行する命令流が決まると、発行を行う命令流の命
令解読回路1にのみそのことを伝える。(図2)(図3)の
例の場合、命令流a,bでは1サイクル目で同時にマル
チサイクル命令の解読要求が命令発行制御回路2へ出さ
れる。このときマルチサクル命令解読管理回路3では、
それ以前のサイクルでマルチサイクル命令の解読が行わ
れていないので、命令発行制御回路2は調停回路14を
使用して調停を行う。
調停により選択され次サイクルで命令発行が行われる。
またこのSAVE命令は(図2b)で示されるように第1
サイクルはストア命令、第2サイクルはMOV命令の機
能を持つ命令であるので、(図3)のサイクル2ではスト
ア命令がロードストア命令実行回路11に発行すること
になる。
停により発行権を得られなかったのでストール(発行延
期)することになる。ここでこの時のマルチサイクル命
令解読管理回路3と命令解読回路1の動作について説明
する。
はマルチサイクル命令を現在解読中でありかつ現在マル
チサイクルの何サイクル目を解読しているかという状態
保持の機能と、実際に特定のマルチサイクル命令のある
サイクルでどのような機能の基本命令が動作するかとい
うことを記憶装置から取り出し命令実行回路へ指示を送
るという機能がある。
令発行制御回路2からの情報によりサイクル1で命令流
aの発行が行われることが決定すると、その内部状態が
マルチサイクル命令が実行中という状態に遷移する。こ
のことにより2サイクル目で命令流bが引続きマルチサ
イクル命令の解読要求を出した場合でも、先行する命令
流aのマルチサイクル命令が完了しない限り命令流bの
命令発行は行われず引続きストールすることになる。
令が何サイクル目で終了するかを管理し次サイクルで終
了する場合には新たなマルチサイクル命令の発行を許可
するように命令発行制御回路2に情報を伝える。
イクル目を解読中であるかは情報線6を通して命令解読
回路1に伝えられ、命令解読回路1ではこの情報にした
がってレジスタ群4に対して命令実行に必要なレジスタ
の読みだしを行う。(図2)(図3)の例の場合ではSAV
E命令の実行には第1サイクル目でR16とR14の読
みだしが必要なので命令解読回路1はその指示をレジス
タ群4に対して出す。
はSAVE命令の第1サイクル目はストア(ST)命令で
あることを機能記憶部から読みだし情報線8を用いてロ
ードストア命令実行回路11に伝える。これらの指示及
びレジスタの値を用いて、サイクル2でロードストア命
令実行回路11においてストア命令の実行を行う。また
SAVE命令の第2サイクルはMOV命令なので、それ
ぞれ必要なレジスタ値を読みだし基本命令実行回路10
に伝える。またサイクル2はこのサイクルが命令流aの
マルチサイクル命令の最終サイクルであるので、次サイ
クルであるサイクル3では状態管理部の状態はマルチサ
イクル命令を解読していない状態に戻る。
令が基本命令実行回路10で実行される。このサイクル
3において既に命令流aの命令解読が終了しているの
で、次に命令流bにあるRESOTRE命令が発行され
ることになる。
ル命令の解読において、複数命令流ごとにマルチサイク
ル命令解読管理装置を設けることなく解読が可能で、更
にこれらの機構を用いることにより複数命令流間で共有
している資源に対するアクセスの競合を避けることがで
きる。
読管理回路で命令解読を分担して行うことによりハード
ウェアの増加を抑えることができる。
図
ーケンス図
ライン動作説明図
Claims (2)
- 【請求項1】複数の命令流を解読する複数の命令解読回
路と、 それぞれの命令流に1対1に対応してデータの読みだし
書き込みを行うレジスタ群と、 前記複数の命令解読回路よりマルチサイクル命令を解読
中であることを知らされることによりマルチサイクル命
令の発行制御を行う命令発行制御回路と、 前記命令発行制御回路よりマルチサイクル命令解読を行
う命令流を知り、 複数ある命令流から解読する命令を選択しマルチサイク
ル命令の解読管理を行うマルチサイクル命令解読管理回
路を備えることにより、 複数命令流に存在するマルチサイクル命令を命令解読回
路に1対1に対応してマルチサイクル命令解読管理回路
を設けることなく解読制御を行うことを特徴とするデー
タ処理装置。 - 【請求項2】マルチサイクル命令解読管理回路からの情
報により解読する命令が使用するレジスタ番号の情報を
変更することが出来る命令解読装置を備えたことを特徴
とする請求項1記載のデータ処理装置。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011060048A (ja) * | 2009-09-10 | 2011-03-24 | Nec Computertechno Ltd | 情報処理装置、情報処理方法及び情報処理プログラム |
Citations (6)
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 | 情報処理装置 |
-
1994
- 1994-12-01 JP JP29837894A patent/JP3493768B2/ja not_active Expired - Lifetime
Patent Citations (6)
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)
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 |