JP2010205088A - ベクトル処理装置、及びベクトル処理方法 - Google Patents
ベクトル処理装置、及びベクトル処理方法 Download PDFInfo
- Publication number
- JP2010205088A JP2010205088A JP2009051373A JP2009051373A JP2010205088A JP 2010205088 A JP2010205088 A JP 2010205088A JP 2009051373 A JP2009051373 A JP 2009051373A JP 2009051373 A JP2009051373 A JP 2009051373A JP 2010205088 A JP2010205088 A JP 2010205088A
- Authority
- JP
- Japan
- Prior art keywords
- vector
- instruction
- register
- issue
- save
- 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
Links
Images
Landscapes
- Advance Control (AREA)
- Complex Calculations (AREA)
Abstract
【解決手段】本発明によるベクトル処理装置は、複数のベクトルレジスタと、複数のベクトルレジスタに対応する複数の退避用レジスタと、ベクトル命令管理部とを具備する。ベクトル命令管理部は、待機中の先行命令による読み出し先の第1ベクトルレジスタと、後続命令の書き込み先の第2ベクトルレジスタが重複する場合、待機中の先行命令の読み出し先のベクトルレジスタを、第1ベクトルレジスタから第1ベクトルレジスタに対応する第1退避用レジスタに変更する。又、ベクトル命令管理部は、第1ベクトルレジスタ内のデータを削除することなく、当該データを第1退避用レジスタに書き込む。
【選択図】図2
Description
本発明によるベクトル処理装置には、ベクトルレジスタ421〜42nとして通常使用するベクトルレジスタ421a〜42na(以下、通常レジスタ421a〜421nと称す)と退避用のベクトルレジスタ421b〜42nb(以下、退避用レジスタ421b〜42nbと称す)とが設けられる。本発明によるベクトル処理装置では、先行命令である読み出し命令が待たされているベクトルレジスタに対し、後続の書き込み命令が割り当てられた場合、当該ベクトルレジスタの退避用レジスタにデータを退避させることにより、先行する読み出し命令の開始を待たずに、後続の書き込み命令を実行し、ベクトル処理性能を向上できる。
図2は、本発明によるベクトル処理システムの実施の形態における構成図である。図2を参照して、本発明によるベクトル処理システムの実施の形態における構成を説明する。
次に、図3及び図4を参照して、本発明によるベクトル処理装置の動作の詳細を説明する。ここでは、ベクトルレジスタ群に含まれる通常レジスタ421a〜427aをV0、V1、V2、V3、V4、V5、V6とし、退避用レジスタ421b〜427bをV0’、V1’、V2’、V3’、V4’、V5’、V6’として説明する。又、以下に示す(1)〜(5)のベクトル命令列が実行されることを一例に本発明によるベクトル処理の動作を説明する。
<ベクトル命令列例>
(1)除算命令D:V5÷V6をV1に格納(処理時間が長い命令)
(2)加算命令A0:V2+V3をV0に格納
(3)乗算命令M:V0×V1をV2に格納
(4)移送命令T:V4をV0に格納
(5)加算命令A1:V1+V2をV3に格納
尚、除算命令Dは処理時間が長く、処理が終了するまで7クロック分の時間がかかるものとする。
時刻T2において、デコードステージレジスタ213に除算命令Dが格納される。この際、発行ステージ1レジスタ216には、命令は存在しないため、退避条件検出回路231の出力である退避有効信号103と、追い越し有効信号104はともに“0”となる。又、時刻T2において実行中の命令がないため、発行チェック回路217は、発行可能と判定し発行待機信号105を“0”に設定する。一方、発行チェック回路220は、発行ステージ2レジスタ219に命令が存在しないため、発行不可能と判定する。
時刻T2において、発行チェック回路217は発行可能と判定しているが、発行ステージ1レジスタ216にベクトル命令が格納されていないため、時刻T3では、発行1レジスタ218への命令のセットは行わなれない。又、発行チェック回路220は発行不可能と判定しているため、時刻T3では、発行2レジスタ221への命令のセットは行わなれない。
時刻T3において、発行チェック回路217は発行可能と判定しているため、発行ステージ1レジスタ216にセットされている除算命令Dは、時刻T4において発行1レジスタ218にセットされ、次のタイミング(時刻T5)において直ちに発行される。尚、除算命令Dの実行(発行1レジスタ218へのセット)に伴いベクトルレジスタV1に対する読み出しフラグが立つ。この読み出しフラグは、除算命令Dの結果がベクトルレジスタV1に書き込まれるまでの間“1”に設定される。ここでは、7クロックの期間(時刻T11まで)“1”に設定される。一方、発行チェック回路220は、発行不可能と判定しているため時刻T4では発行2レジスタ221への命令のセットは行わなれない。
時刻T4において、発行チェック回路217は発行可能と判定しているため、発行ステージ1レジスタ216にセットされている加算命令A0は、時刻T5において発行1レジスタ218にセットされ、次のタイミング(時刻T6)において直ちに発行される。一方、発行チェック回路220は、発行不可能と判定しているため時刻T5では発行2レジスタ221への命令のセットは行わなれない。
時刻T5において、発行チェック回路217は発行不可能と判定しているため、発行ステージ1レジスタ216で乗算命令Mは待機する。この際、リネーミング回路214において、乗算命令Mは乗算命令M’に書き換えられる。詳細には、リネーミング回路214は、リネーミング情報102に基づいて、リネーミング対象となるベクトルレジスタを特定し、当該ベクトルレジスタを、対応する退避用ベクトルレジスタに変更するようにリネーミングを行なう。ここでは、乗算命令Mにおいて、後続の移送命令Tの書き込み対象レジスタと同一の読み出し対象レジスタ(ベクトルレジスタV0)を、退避用レジスタV0’に変えるように乗算命令Mが書き換えられる。すなわち、乗算命令M’は、V0’*V1をV2に格納する命令となる(V0’は、通常レジスタV0の退避用レジスタ)。一方、発行チェック回路220は、発行不可能と判定しているため時刻T6では発行2レジスタ221への命令のセットは行わなれない。
時刻T6において、発行チェック回路220は発行可能と判定しているため、発行ステージ2レジスタ219にセットされている移送命令Tは、時刻T7において発行2レジスタ221にセットされ、次のタイミング(時刻T8)において直ちに発行される。一方、発行チェック回路217は、発行不可能(待機)と判定しているため時刻T7では発行1レジスタ218への命令のセットは行わなれない。
時刻T7において、発行チェック回路220は発行可能と判定しているため、発行ステージ2レジスタ219にセットされている加算命令A1は、時刻T8において発行2レジスタ221にセットされ、次のタイミング(時刻T9)において直ちに発行される。一方、発行チェック回路217は、発行不可能(待機)と判定しているため時刻T8では発行1レジスタ218への命令のセットは行わなれない。
2:ベクトル命令管理部
3:主記憶装置
4:ベクトル処理部
20:命令発行管理部
21:ベクトルレジスタビジー管理部
22:退避判定部
40:ベクトルマスク生成部
41、45:選択部
421〜42n:ベクトルレジスタ
421a〜42na:通常レジスタ
421b〜42nb:退避用レジスタ
461〜46n:演算器
211:命令入力レジスタ
212:命令デコードレジスタ
213:デコードステージレジスタ
214:リネーミング回路
215:セレクタ回路
216:発行ステージ1レジスタ
217、220:発行チェック回路
218:発行1レジスタ
219:発行ステージ2レジスタ
221:発行2レジスタ
231:退避条件検出回路
232、234:AND回路
233:OR回路
235:退避スタートレジスタ
103:退避有効信号
104:追い越し有効信号
105:発行待機信号
Claims (8)
- 複数のベクトルレジスタと、
前記複数のベクトルレジスタに対応する複数の退避用レジスタと、
待機中の先行命令による読み出し先の第1ベクトルレジスタと、後続命令の書き込み先の第2ベクトルレジスタが重複する場合、前記待機中の先行命令の読み出し先のベクトルレジスタを、前記第1ベクトルレジスタから前記第1ベクトルレジスタに対応する第1退避用レジスタに変更し、前記第1ベクトルレジスタ内のデータを削除することなく、前記データを前記第1退避用レジスタに書き込むベクトル命令管理部と、
を具備するベクトル処理装置。 - 請求項1に記載のベクトル処理装置において、
前記ベクトル命令管理部は、
先行命令によって使用されるベクトルレジスタと、実行中の命令によって使用されるベクトルレジスタとを比較して、先行命令の発行可否を判定するベクトルレジスタビジー管理部と、
先行命令による読み出し先のベクトルレジスタと、後続命令による書き込み先のベクトルレジスタとを比較して、ベクトルデータを退避するか否かを判定する退避判定部と、
前記ベクトルレジスタビジー管理部の判定結果と、前記退避判定部の判定結果とに基づいて、発行する命令を決定する命令発行管理部と、
を備えるベクトル処理装置。 - 請求項2に記載のベクトル処理装置において、
前記命令発行管理部は、
先行命令がセットされる第1発行ステージレジスタと、
後続命令がセットされるデコードステージレジスタと、
前記ベクトルレジスタビジー管理部において、前記先行命令の発行を待ち合わせると判定された場合、前記デコードステージレジスタ内の後述命令がセットされる第2発行ステージレジスタと、
を備える
前記命令発行管理部は、前記第1発行ステージレジスタと前記第2発行ステージレジスタの一方にセットされた命令を発行する
ベクトル処理装置。 - 請求項3に記載のベクトル処理装置において、
前記命令発行管理部は、
前記第1発行ステージレジスタにセットされた先行命令を変更するリネーミング回路と、
前記退避判定部において退避が必要であると判定された場合、前記リネーミング回路で変更された先行命令を前記第1発行ステージレジスタにセットするセレクタ回路と、
を更に備えるベクトル処理装置。 - 複数のベクトルレジスタと、前記複数のベクトルレジスタに対応する複数の退避用レジスタとを備えるベクトル処理装置によるベクトル処理方法において、
待機中の先行命令による読み出し先の第1ベクトルレジスタと、後続命令の書き込み先の第2ベクトルレジスタが重複する場合、前記待機中の先行命令の読み出し先のベクトルレジスタを、前記第1ベクトルレジスタから前記第1ベクトルレジスタに対応する第1退避用レジスタに変更するステップと、
前記第1ベクトルレジスタ内のデータを削除することなく、前記データを前記第1退避用レジスタに書き込むステップと、
を具備するベクトル処理方法。 - 請求項5に記載のベクトル処理方法において、
先行命令によって使用されるベクトルレジスタと、実行中の命令によって使用されるベクトルレジスタとを比較して、先行命令の発行可否を判定するステップと、
先行命令による読み出し先のベクトルレジスタと、後続命令による書き込み先のベクトルレジスタとを比較して、ベクトルデータを退避するか否かを判定するステップと、
前記ベクトルレジスタビジー管理部の判定結果と、前記退避判定部の判定結果とに基づいて、発行する命令を決定するステップと、
を更に備えるベクトル処理方法。 - 請求項6に記載のベクトル処理方法において、
先行命令を第1発行ステージレジスタにセットするステップと、
後続命令をデコードステージレジスタにセットするステップと、
前記ベクトルレジスタビジー管理部において、前記先行命令の発行を待ち合わせると判定された場合、前記デコードステージレジスタ内の後述命令を第2発行ステージレジスタにセットするステップと、
を更に備え、
前記発行する命令を決定するステップは、前記第1発行ステージレジスタと前記第2発行ステージレジスタの一方にセットされた命令を発行するステップを備える
ベクトル処理方法。 - 請求項7に記載のベクトル処理方法において、
前記先行命令を変更するステップは、前記第1発行ステージレジスタにセットされた先行命令を変更するステップと、
前記退避判定部において退避が必要であると判定された場合、前記変更された先行命令を前記第1発行ステージレジスタにセットするステップと、
を備えるベクトル処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009051373A JP2010205088A (ja) | 2009-03-04 | 2009-03-04 | ベクトル処理装置、及びベクトル処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009051373A JP2010205088A (ja) | 2009-03-04 | 2009-03-04 | ベクトル処理装置、及びベクトル処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010205088A true JP2010205088A (ja) | 2010-09-16 |
Family
ID=42966481
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009051373A Pending JP2010205088A (ja) | 2009-03-04 | 2009-03-04 | ベクトル処理装置、及びベクトル処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010205088A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018169838A (ja) * | 2017-03-30 | 2018-11-01 | 日本電気株式会社 | プロセッサ |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0228765A (ja) * | 1988-04-01 | 1990-01-30 | Nec Corp | 命令処理順序制御システム |
JP2007334819A (ja) * | 2006-06-19 | 2007-12-27 | Nec Corp | ベクトルリネーミング方式およびベクトル型計算機 |
JP2008083947A (ja) * | 2006-09-27 | 2008-04-10 | Nec Computertechno Ltd | 情報処理装置、記憶領域制御方法及びプログラム |
-
2009
- 2009-03-04 JP JP2009051373A patent/JP2010205088A/ja active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0228765A (ja) * | 1988-04-01 | 1990-01-30 | Nec Corp | 命令処理順序制御システム |
JP2007334819A (ja) * | 2006-06-19 | 2007-12-27 | Nec Corp | ベクトルリネーミング方式およびベクトル型計算機 |
JP2008083947A (ja) * | 2006-09-27 | 2008-04-10 | Nec Computertechno Ltd | 情報処理装置、記憶領域制御方法及びプログラム |
Non-Patent Citations (1)
Title |
---|
JPN6011047339; Roger Espasa et al.: '"Tarantula: A Vector Extension to the Alpha Architecture"' Proceedings. 29th Annual International Symposium on Computer Architecture, 2002. , 20020529, pages:281-292, IEEE * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018169838A (ja) * | 2017-03-30 | 2018-11-01 | 日本電気株式会社 | プロセッサ |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8555039B2 (en) | System and method for using a local condition code register for accelerating conditional instruction execution in a pipeline processor | |
JP3729087B2 (ja) | マルチプロセッサシステム、データ依存投機実行制御装置およびその方法 | |
US7793079B2 (en) | Method and system for expanding a conditional instruction into a unconditional instruction and a select instruction | |
EP0269980B1 (en) | Data processor for parallelly executing conflicting instructions | |
JP5548037B2 (ja) | 命令発行制御装置及び方法 | |
US8347068B2 (en) | Multi-mode register rename mechanism that augments logical registers by switching a physical register from the register rename buffer when switching between in-order and out-of-order instruction processing in a simultaneous multi-threaded microprocessor | |
US9471325B2 (en) | Method and apparatus for selective renaming in a microprocessor | |
JP2002163105A (ja) | データ依存関係検出装置 | |
JP5209933B2 (ja) | データ処理装置 | |
US8239661B2 (en) | System and method for double-issue instructions using a dependency matrix | |
EP3140730B1 (en) | Detecting data dependencies of instructions associated with threads in a simultaneous multithreading scheme | |
US11314516B2 (en) | Issuing instructions based on resource conflict constraints in microprocessor | |
JP4985452B2 (ja) | ベクトル処理装置 | |
US20160004538A1 (en) | Multiple issue instruction processing system and method | |
JP2010205088A (ja) | ベクトル処理装置、及びベクトル処理方法 | |
WO2016201699A1 (zh) | 指令处理方法及设备 | |
JP2000163265A (ja) | 命令発行回路 | |
US20200142697A1 (en) | Instruction completion table with ready-to-complete vector | |
JP2894438B2 (ja) | パイプライン処理装置 | |
JP5392810B2 (ja) | 命令発行制御装置及び命令発行制御方法 | |
US20240176621A1 (en) | Processor | |
JP3473506B2 (ja) | パイプライン処理装置 | |
JPH08263289A (ja) | 複数命令流パイプライン計算機 | |
CN113703841A (zh) | 一种寄存器数据读取的优化方法、装置及介质 | |
JP2015201026A (ja) | 演算処理装置および演算処理装置の制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120207 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130416 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130424 |
|
A521 | Written amendment |
Effective date: 20130624 Free format text: JAPANESE INTERMEDIATE CODE: A523 |
|
A02 | Decision of refusal |
Effective date: 20130912 Free format text: JAPANESE INTERMEDIATE CODE: A02 |