JP2013140472A - ベクトルプロセッサ - Google Patents
ベクトルプロセッサ Download PDFInfo
- Publication number
- JP2013140472A JP2013140472A JP2012000048A JP2012000048A JP2013140472A JP 2013140472 A JP2013140472 A JP 2013140472A JP 2012000048 A JP2012000048 A JP 2012000048A JP 2012000048 A JP2012000048 A JP 2012000048A JP 2013140472 A JP2013140472 A JP 2013140472A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- data
- processing
- vector
- 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.)
- Granted
Links
Images
Landscapes
- Complex Calculations (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
Abstract
【解決手段】ベクトルレジスタファイル401と、パイプライン演算器を有する複数の実行ユニット403-406と、パイプライン処理を制御する命令発行制御回路402と、を有し、実行ユニットは、x個を組合せて基本ビット幅のx倍のビット幅のデータを処理可能な複数の基本パイプライン演算器を有し、命令発行制御回路は、基本ビット幅のx倍のビット幅の1系列のデータの処理を実行する場合に、1系列のデータの処理をx個の実行ユニットで実行することが適切であると判定した場合に1系列のデータの処理をx個の実行ユニットで実行する命令を発行する。
【選択図】図4
Description
一旦この処理を終了した後、適宜上記の処理を繰り返す。
上記のように、kは、1命令の1系列のデータをx個の実行ユニットで実行する場合に、0番目からx−1番目の実行ユニットを表す。
ステップS14では、実行中の各命令に対し、フェッチされた命令(発行命令と呼ぶ)のk番目の副系列に対してペナルティ値を求める。なお、副系列kは発行命令のデータ幅xによって異なるベクトル・データの集合である。
副系列k = { vr[i*n + k*(n/x) +j] | 0 ≦ i < VL/n, 0 ≦ j < n/x }
ペナルティ値(Ie,Ii,Ce) =
max(RAWペナルティ値(Ie,Ii,Ce), WAWペナルティ値(Ie,Ii,Ce), WARペナルティ値(Ie,Ii,Ce))
RAWペナルティ値(Ie, Ii, Ce) = RAWレジスタ干渉(Ie,Ii)? max(RAW最大ペナルティ値(Ie,Ii) - Ce, 0) : 0
WAWペナルティ値(Ie, Ii, Ce) = WAWレジスタ干渉(Ie,Ii)? max(WAW最大ペナルティ値(Ie,Ii) - Ce, 0) : 0
WARペナルティ値(Ie, Ii, Ce) = WARレジスタ干渉(Ie,Ii)? max(WAR最大ペナルティ値(Ie,Ii) - Ce, 0) : 0
RAWレジスタ干渉(Ie,Ii) = (出力レジスタ番号(Ie) == 入力レジスタ番号(Ii))
WAWレジスタ干渉(Ie,Ii) = (出力レジスタ番号(Ie) == 出力レジスタ番号(Ii))
WARレジスタ干渉(Ie,Ii) = (入力レジスタ番号(Ie) == 出力レジスタ番号(Ii))
実行中の命令Ieに対して、判定対象の命令Iiに対して、RAW, WAW, RAWの各ケースに対してペナルティ値を求め、最大の値を全体のペナルティ値とする。RAWレジスタ干渉する場合は、実行中の命令Ieと判定対象の命令Iiの間の最大ペナルティ値を求め、実行中の命令が発行されてから経過したサイクル数を引いた値をRAWペナルティ値とする。ただし、減算した結果、0より小さくなる場合は0とする。また、レジスタ干渉が発生しない場合は0とする。RAW最大ペナルティ値(Ie,Ii)は、先行命令Ieの直後にIi命令が連続発行された場合のペナルティ値で、命令の組み合わせによって一意に決まる値である。また、RAWレジスタ干渉は、実行中の命令Ieが出力するレジスタ番号と判定対象の命令Iiのレジスタ番号が一致する場合に発生する。WAW, WARについてもRAWの場合と同様である。
ペナルティ値(Ie,Ii,ke,ki,Ce) =
max(RAWペナルティ値(Ie,Ii,ke,ki,Ce), WAWペナルティ値(Ie,Ii,ke,ki,Ce), WARペナルティ値(Ie,Ii,ke,ki,Ce))
RAWペナルティ値(Ie,Ii,ke,ki,Ce) = (RAWレジスタ干渉(Ie,Ii) && (系列衝突(Ie,Ii, ke, ki)))? max(RAW最大ペナルティ値(Ie,Ii) - Ce, 0) : 0
WAWペナルティ値(Ie,Ii,ke,ki,Ce) = (WAWレジスタ干渉(Ie,Ii) && (系列衝突(Ie,Ii, ke, ki)))? max(WAW最大ペナルティ値(Ie,Ii) - Ce, 0) : 0
WARペナルティ値(Ie,Ii,ke,ki,Ce) = (WARレジスタ干渉(Ie,Ii) && (系列衝突(Ie,Ii, ke, ki)))? max(WAR最大ペナルティ値(Ie,Ii) - Ce, 0) : 0
RAWレジスタ干渉(Ie,Ii) = (出力レジスタ番号(Ie) == 入力レジスタ番号(Ii))
WAWレジスタ干渉(Ie,Ii) = (出力レジスタ番号(Ie) == 出力レジスタ番号(Ii))
WARレジスタ干渉(Ie,Ii) = (入力レジスタ番号(Ie) == 出力レジスタ番号(Ii))
系列衝突(Ie,Ii, ke, ki) = ((インデックス(xe, ke) ∩ インデックス(xi, ki) ) ≠ φ)
インデックス(x, k) = { t * x + k | 0 ≦ t < (X/x) }
ここで、系列衝突をハードウェアで実装するならば、
(xe > xi) ? (ke/(xe/xi) == ki) : (ke == ki/(xi/xe))
とすることもできる。
ただし、
Ie: 実行中の命令
Ii: 判定対象命令
Ce: 実行中命令の発行後サイクル数
xe: 実行中命令のデータ幅
ke: 実行中命令のデータ系列
xi: 判定対象命令のデータ幅
ki: 判定対象命令のデータ系列
X: 命令セットで定義されるxの最大値
401 ベクトルレジスタファイル
402 命令発行制御回路
403〜406 実行ユニット
411A,411B 算術論理演算ユニット
501 16ビット演算器
502 32ビット演算器
Claims (5)
- 複数の配列要素を含むベクトルレジスタファイルと、
各々が前記配列要素に格納されたデータに対して演算処理を行う複数のパイプライン演算器を有する複数の実行ユニットと、
命令を発行し、前記命令に基づいて前記ベクトルレジスタファイル及び前記実行ユニットの動作を制御することにより、パイプライン処理を制御する命令発行制御回路と、を備え、
前記命令発行制御回路は、1系列のデータの個数を規定するベクトル長を記憶するベクトル長レジスタを備え、前記ベクトル長で規定された前記1系列のデータを処理するように前記複数の実行ユニットに命令をそれぞれ発行するベクトルプロセッサであって、
2つ以上の前記実行ユニットは、前記基本ビット幅のデータを処理する複数の基本パイプライン演算器を備え、前記複数の基本パイプライン演算器は、x(x≦X、X:2のべき)個の前記基本パイプライン演算器を組合せて、前記基本ビット幅のx倍のビット幅のデータを処理可能であり、
前記命令発行制御回路は、前記基本ビット幅のx倍のビット幅の1系列のデータの処理を実行する場合に、1系列のデータの処理をx個の前記実行ユニットで実行することが適切であるか判定し、適切であると判定した時に、前記1系列のデータの処理をx個の前記実行ユニットで実行する命令を発行する
ことを特徴とするベクトルプロセッサ。 - 前記命令発行制御回路は、1系列のデータの処理をx個の前記実行ユニットで実行することが可能であり、かつ実行する場合のペナルティが小さい時に、前記1系列のデータの処理をx個の前記実行ユニットで実行することが適切であると判定する請求項1記載のベクトルプロセッサ。
- 前記ベクトルプロセッサは、m(m:2のべき)個の実行ユニットを有し、
各実行ユニットは、n(n:2のべき)個のパイプライン演算器を有し、
前記ベクトル長は、VL(VL:2のべき)であり、
前記基本ビット幅は、w(w:2のべき)であり、
Xは、mおよびn以下であり、
前記基本ビット幅wの処理を行う命令は、1つの前記実行ユニットを使用して、VL/nサイクル+命令固有のペナルティで、処理が実行され、
前記基本ビット幅wのx倍のビット幅の処理を行う命令は、1系列のデータをn個ずつx個の副系列のデータに分割され、x個の副系列のデータは、x個の前記実行ユニットを使用して、VL/nサイクル+命令固有のペナルティで、処理が実行される請求項1または2記載のベクトルプロセッサ。 - 前記ベクトルプロセッサは、前記複数の実行ユニットに対応して設けられ、各実行ユニットで処理するデータを保持する複数のパイプラインレジスタを備え、
前記命令発行制御回路は、前記1系列のデータを、x個の前記実行ユニットに対応して設けられたx個の前記パイプラインレジスタに格納する命令を発行する請求項1から3のいずれか1項記載のベクトルプロセッサ。 - 前記ベクトルプロセッサは、前記複数の実行ユニットの処理結果を、前記ベクトルレジスタファイルを介さずに、前記複数のパイプラインレジスタに直接書き込むバイパス回路を備える請求項4記載のベクトルプロセッサ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012000048A JP5786719B2 (ja) | 2012-01-04 | 2012-01-04 | ベクトルプロセッサ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012000048A JP5786719B2 (ja) | 2012-01-04 | 2012-01-04 | ベクトルプロセッサ |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013140472A true JP2013140472A (ja) | 2013-07-18 |
JP5786719B2 JP5786719B2 (ja) | 2015-09-30 |
Family
ID=49037854
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012000048A Expired - Fee Related JP5786719B2 (ja) | 2012-01-04 | 2012-01-04 | ベクトルプロセッサ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5786719B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013152544A (ja) * | 2012-01-24 | 2013-08-08 | Fujitsu Semiconductor Ltd | 命令制御回路、プロセッサ、及び命令制御方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02304676A (ja) * | 1989-05-19 | 1990-12-18 | Mitsubishi Electric Corp | ディジタル信号処理装置 |
JP2006285721A (ja) * | 2005-04-01 | 2006-10-19 | Seiko Epson Corp | 演算処理装置および演算処理方法 |
US20070143577A1 (en) * | 2002-10-16 | 2007-06-21 | Akya (Holdings) Limited | Reconfigurable integrated circuit |
JP2008250471A (ja) * | 2007-03-29 | 2008-10-16 | Nec Corp | 再構成可能なsimd型プロセッサ |
JP2011522317A (ja) * | 2008-05-29 | 2011-07-28 | アクシス・セミコンダクター・インコーポレーテッド | リアルタイムな信号処理及び更新のためのマイクロプロセッサ技術 |
JP2012103959A (ja) * | 2010-11-11 | 2012-05-31 | Fujitsu Ltd | ベクトル処理回路、命令発行制御方法、及びプロセッサシステム |
-
2012
- 2012-01-04 JP JP2012000048A patent/JP5786719B2/ja not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02304676A (ja) * | 1989-05-19 | 1990-12-18 | Mitsubishi Electric Corp | ディジタル信号処理装置 |
US20070143577A1 (en) * | 2002-10-16 | 2007-06-21 | Akya (Holdings) Limited | Reconfigurable integrated circuit |
JP2006285721A (ja) * | 2005-04-01 | 2006-10-19 | Seiko Epson Corp | 演算処理装置および演算処理方法 |
JP2008250471A (ja) * | 2007-03-29 | 2008-10-16 | Nec Corp | 再構成可能なsimd型プロセッサ |
JP2011522317A (ja) * | 2008-05-29 | 2011-07-28 | アクシス・セミコンダクター・インコーポレーテッド | リアルタイムな信号処理及び更新のためのマイクロプロセッサ技術 |
JP2012103959A (ja) * | 2010-11-11 | 2012-05-31 | Fujitsu Ltd | ベクトル処理回路、命令発行制御方法、及びプロセッサシステム |
Non-Patent Citations (2)
Title |
---|
JPN6015015099; 葛毅,外6名: '組み込み向けベクトルアーキテクチャ' 情報処理学会研究報告 Vol:2011-ARC-196,No:20, 20110815, Pages:1〜7, 一般社団法人情報処理学会 * |
JPN6015015101; 松浦克彦,外2名: 'マルチスレッド技術を用いたマルチメディア処理向けベクトルユニットの設計と実装' 情報処理学会研究報告 第2003巻, 20030508, Vol:2003,No:40,(2003-ARC-153), 社団法人情報処理学会 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013152544A (ja) * | 2012-01-24 | 2013-08-08 | Fujitsu Semiconductor Ltd | 命令制御回路、プロセッサ、及び命令制御方法 |
Also Published As
Publication number | Publication date |
---|---|
JP5786719B2 (ja) | 2015-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5699554B2 (ja) | ベクトル処理回路、命令発行制御方法、及びプロセッサシステム | |
KR102413832B1 (ko) | 벡터 곱셈 덧셈 명령 | |
US7937559B1 (en) | System and method for generating a configurable processor supporting a user-defined plurality of instruction sizes | |
CN112099852A (zh) | 可变格式、可变稀疏矩阵乘法指令 | |
US9164763B2 (en) | Single instruction group information processing apparatus for dynamically performing transient processing associated with a repeat instruction | |
KR101048234B1 (ko) | 마이크로프로세서 내부의 다수의 레지스터 유닛들을 결합하기 위한 방법 및 시스템 | |
WO2015114305A1 (en) | A data processing apparatus and method for executing a vector scan instruction | |
KR20030067892A (ko) | 가변길이 vliw 명령어를 위한 디스패치 장치 및 방법 | |
US10303399B2 (en) | Data processing apparatus and method for controlling vector memory accesses | |
US20030005261A1 (en) | Method and apparatus for attaching accelerator hardware containing internal state to a processing core | |
JP5326314B2 (ja) | プロセサおよび情報処理装置 | |
CN101438236A (zh) | 用以在微处理器内组合来自多个寄存器单元的对应半字单元的方法及系统 | |
JPH06242953A (ja) | データ・プロセッサ | |
CN116662255A (zh) | 结合超越函数硬件加速器的risc-v处理器实现方法及系统 | |
KR20210156860A (ko) | True/false 벡터 인덱스 레지스터 | |
TWI770079B (zh) | 向量產生指令 | |
JPH10222368A (ja) | データ処理装置 | |
CN112506468A (zh) | 支持高吞吐多精度乘法运算的risc-v通用处理器 | |
US8055883B2 (en) | Pipe scheduling for pipelines based on destination register number | |
JP5786719B2 (ja) | ベクトルプロセッサ | |
JP2014164659A (ja) | プロセッサ | |
US20090063808A1 (en) | Microprocessor and method of processing data | |
KR20010085353A (ko) | 고속 컨텍스트 전환을 갖는 컴퓨터 | |
EP3942407A1 (en) | Processor device and a method for parallel processing instructions in a processor device | |
US20140281368A1 (en) | Cycle sliced vectors and slot execution on a shared datapath |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140904 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150409 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150421 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150617 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20150630 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150713 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5786719 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |