JP2012150634A - ベクトル命令制御回路及びリストベクトルの追い越し制御方法 - Google Patents
ベクトル命令制御回路及びリストベクトルの追い越し制御方法 Download PDFInfo
- Publication number
- JP2012150634A JP2012150634A JP2011008557A JP2011008557A JP2012150634A JP 2012150634 A JP2012150634 A JP 2012150634A JP 2011008557 A JP2011008557 A JP 2011008557A JP 2011008557 A JP2011008557 A JP 2011008557A JP 2012150634 A JP2012150634 A JP 2012150634A
- Authority
- JP
- Japan
- Prior art keywords
- address
- instruction
- list
- maximum
- minimum
- 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
- Advance Control (AREA)
- Complex Calculations (AREA)
Abstract
【解決手段】本発明にかかるベクトル命令制御回路は、外部から受け付けた複数の命令に関する情報を、アクセス先のメモリのアドレスを含めて命令単位に受け付け順に保持する命令保持回路と、受け付けた複数の命令のうち複数のアドレスの指定を含むリストアドレスを有するリストベクトル命令について、当該リストアドレス内のアドレスを比較して最大アドレス及び最小アドレスを抽出し、当該抽出された最大アドレス及び最小アドレスを当該リストベクトル命令に対応付けて、命令保持回路に格納するアドレス抽出回路と、命令保持回路に格納された最大アドレス及び最小アドレスに基づき、リストベクトル命令と、当該リストベクトル命令の後続命令との追い越し判定を行う追い越し判定回路と、を備える。
【選択図】図1
Description
を備える。
図1は、本発明の実施の形態1にかかるベクトル命令制御回路100の構成を示すブロック図である。ベクトル命令制御回路100は、外部からメモリへのアクセスを行う命令を受け付けて、具体的なアクセス先のアドレスに対するメモリアクセスリクエストを発行する回路である。特に、ベクトル命令制御回路100は、ベクトルスキャタ命令及びベクトルギャザー命令といったリスクベクトル命令の追い越し制御を行う。ベクトル命令制御回路100は、命令保持回路101と、アドレス抽出回路102と、追い越し判定回路103とを備える。
続いて、上述した実施の形態1の一実施例として本発明の実施の形態2について説明する。本発明の実施の形態2は、ベクトル処理装置及び当該ベクトル処理装置を用いたメモリアクセス命令の追い越し制御方法に関するものである。本発明の実施の形態2では、ハードウェアにてベクトルスキャタ命令及びベクトルギャザー命令のアクセス範囲を判定することにより、当該ベクトルスキャタ命令およびベクトルギャザー命令とその前後のメモリアクセス命令との追い越しを可能にすることを特徴とする。
{先頭アドレス+(ベクトル長−1)×ディスタンス+要素長} ・・・(1)
(1)自分の発行準備が整っている
かつ、
(2)自分より前にいる全ての命令とアドレス依存関係が無い
ことを満たすことにより判定される。
エントリMの発行準備完了フラグ=(エントリMの命令登録V)*(エントリMのアクセス領域登録V)*(エントリMのストアデータ転送完了V) ・・・(2)
エントリMとエントリM−1の依存関係フラグ&
エントリMとエントリM−2の依存関係フラグ&
エントリMとエントリM−3の依存関係フラグ&
・
・
・
エントリMとエントリ2の依存関係フラグ&
エントリMとエントリ1の依存関係フラグ&
エントリMとエントリ0の依存関係フラグ ・・・(4)
要素番号1のアドレス=先頭アドレス+ディスタンス×1
要素番号2のアドレス=先頭アドレス+ディスタンス×2
・
・
・
要素番号Aのアドレス=先頭アドレス+ディスタンス×A ・・・(5)
(1)メモリアクセス性能を向上させる。
(2)ソフトウェア(コンパイラ)への負担を無くす。
続いて、本発明の実施の形態3では、上述した実施の形態2に改良を加えて、ハードウェア量の削減を行うものである。本発明の実施の形態3では、命令保持回路は、アクセス先のメモリのアドレスとして、当該アドレスの一部のビットを保持し、アドレス抽出回路は、リストアドレス内のアドレスの一部のビットを比較して、当該一部のビットを最大アドレス及び最小アドレスとして抽出する。これにより、比較対象にビット幅を減少し、高速な処理を実現できる。また、最大/最小アドレスの下位ビットを参照しないことにより、ハードウェア量の削減を実現することができる。特に、一部のビットは、上位の所定数のビットであることが望ましい。例えば、アドレスの下位8ビットを参照しないことで、図5に示す命令保持手段における(最大アドレス側の8ビット+最小アドレス側の8ビット)×Nエントリ=16×Nビットのフリップフロップ削減が可能である。さらに、図4に示す最小アドレス選択回路3431〜3433及び最小アドレス選択回路344の比較対象ビットを8ビット削減することができ、ハードウェアを削減可能である。ただし、8ビットを削減することにより、64B境界以下が無視され、アドレス依存関係の分解能が低下するため、ハードウェア量と性能とのトレードオフがある。
さらに、本発明は上述した実施の形態のみに限定されるものではなく、既に述べた本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。
101 命令保持回路
102 アドレス抽出回路
103 追い越し判定回路
10 ベクトル処理装置
1 命令発行部
11 スカラレジスタ群
2 ベクトル処理部
21 ベクトルレジスタ群
3 メモリアクセス処理部
30 命令保持及び追い越し制御手段
31 VLD/VSTアクセス領域計算手段
32 リストアドレス保持手段
33 ストアデータ保持手段
34 最大/最小アドレス抽出手段
35 メモリロード/ストアリクエスト生成手段
4 メモリ部
51 命令発行
52 命令
53 最大/最小アドレス
54 命令発行
55 リストアドレス転送
56 ストアデータ転送
57 最大/最小アドレス
58 ストアデータ転送完了指示
59 命令
60 リストアドレス転送指示
61 ストアデータ転送指示
62 リストアドレス
63 ストアデータ
64 リクエスト発行
341 選択回路
342 アドレス保持回路
343 最小アドレス選択回路群
3431 最小アドレス選択回路
3432 最小アドレス選択回路
3433 最小アドレス選択回路
344 最小アドレス選択回路
345 セレクタ
346 論理積回路
F11 フリップフロップ
F12 フリップフロップ
F13 フリップフロップ
F14 フリップフロップ
F15 フリップフロップ
F16 フリップフロップ
F17 フリップフロップ
F18 フリップフロップ
F21 フリップフロップ
F22 フリップフロップ
F23 フリップフロップ
F24 フリップフロップ
F25 フリップフロップ
F26 フリップフロップ
Claims (10)
- 外部から受け付けた複数の命令に関する情報を、アクセス先のメモリのアドレスを含めて命令単位に受け付け順に保持する命令保持回路と、
前記受け付けた複数の命令のうち複数のアドレスの指定を含むリストアドレスを有するリストベクトル命令について、当該リストアドレス内のアドレスを比較して最大アドレス及び最小アドレスを抽出し、当該抽出された最大アドレス及び最小アドレスを当該リストベクトル命令に対応付けて、前記命令保持回路に格納するアドレス抽出回路と、
前記命令保持回路に格納された最大アドレス及び最小アドレスに基づき、前記リストベクトル命令と、当該リストベクトル命令の後続命令との追い越し判定を行う追い越し判定回路と、
を備えるベクトル命令制御回路。 - 前記リストアドレスには、N個(Nは、2以上の自然数)のアドレスの指定を含み、
前記アドレス抽出回路は、
アドレスを保持するためのM個(Mは、2以上かつN未満の自然数)のアドレス保持回路と、
前記リストアドレスからM個ごとにアドレスを選択して前記M個のアドレス保持回路に格納する選択回路と、
前記M個のアドレス保持回路に保持されたアドレスのうち最大値及び最小値を選択する第1の最大最小アドレス選択回路と、
前記最大アドレス及び前記最小アドレスを保持する最大最小アドレス保持回路と、
前記最大最小アドレス保持回路に保持された最大アドレスと、前記第1の最大最小アドレス選択回路により選択された最大値とのうち最大値を前記最大アドレスとして選択し、前記最大最小アドレス保持回路に保持された最小アドレスと、前記第1の最大最小アドレス選択回路により選択された最小値とのうち最小値を前記最小アドレスとして選択し、当該選択された最大アドレス及び最小アドレスにより前記最大最小アドレス保持回路を更新する第2の最大最小アドレス選択回路と、
を有することを特徴とする請求項1に記載のベクトル命令制御回路。 - 前記リストベクトル命令におけるストアデータを保持するストアデータ保持回路をさらに備え、
前記命令保持回路は、前記リストベクトル命令におけるストアデータが前記ストアデータ保持回路に格納されたことを示すストアデータ格納完了情報を当該リストベクトル命令に対応付けてさらに保持し、
前記追い越し判定回路は、前記命令保持回路に、前記リストベクトル命令に対応付けられた最大アドレス及び最小アドレスが保持されており、かつ、前記ストアデータ格納完了情報が格納されていた場合に、当該リストベクトル命令について前記追い越し判定の対象とする
ことを特徴とする請求項1又は2に記載のベクトル命令制御回路。 - 前記命令保持回路は、前記アクセス先のメモリのアドレスとして、当該アドレスの一部のビットを保持し、
前記アドレス抽出回路は、前記リストアドレス内のアドレスの一部のビットを比較して、当該一部のビットを前記最大アドレス及び前記最小アドレスとして抽出する
ことを特徴とする請求項1乃至3のいずれか1項に記載のベクトル命令制御回路。 - 前記一部のビットは、上位の所定数のビットであることを特徴とする請求項4に記載のベクトル命令制御回路。
- 複数の命令に関する情報を、アクセス先のメモリのアドレスを含めて命令単位に受け付け順に保持する命令保持回路を有するベクトル命令制御回路におけるリストベクトルの追い越し制御方法であって、
前記ベクトル命令制御回路において、
外部から複数のアドレスの指定を含むリストアドレスを有するリストベクトル命令を受け付け、
前記リストアドレス内のアドレスを比較して最大アドレス及び最小アドレスを抽出し、
前記抽出された最大アドレス及び最小アドレスを当該リストベクトル命令に対応付けて、前記命令保持回路に格納し、
前記外部から前記リストベクトル命令の後続命令を受け付け、
前記命令保持回路に格納された最大アドレス及び最小アドレスに基づき、前記リストベクトル命令と、前記後続命令との追い越し判定を行う
リストベクトルの追い越し制御方法。 - 前記リストアドレスには、N個(Nは、2以上の自然数)のアドレスの指定を含み、
前記ベクトル命令制御回路は、前記最大アドレス及び前記最小アドレスを保持する最大最小アドレス保持回路をさらに有し、
前記ベクトル命令制御回路において、
前記リストアドレスからM個(Mは、2以上かつN未満の自然数)のアドレスを第1のグループとして選択し、
前記第1のグループのうち最大値及び最小値を第1の最大アドレス及び第1の最小アドレスとして選択し、
前記選択された第1の最大アドレス及び第1の最小アドレスを前記最大最小アドレス保持回路へ格納し、
前記リストアドレスから前記第1のグループ以外のM個以内のアドレスを第2のグループとして選択し、
前記第2のグループのうち最大値及び最小値を第2の最大アドレス及び第2の最小アドレスとして選択し、
前記第1の最大アドレスと前記第2の最大アドレスとのうち最大値を前記リストベクトル命令における最大アドレスとして抽出して、当該最大アドレスにより前記最大最小アドレス保持回路を更新し、
前記第1の最小アドレスと前記第2の最小アドレスとのうち最小値を前記リストベクトル命令における最小アドレスとして抽出して、当該最小アドレスにより前記最大最小アドレス保持回路を更新する
ことを特徴とする請求項6に記載のリストベクトルの追い越し制御方法。 - 前記ベクトル命令制御回路は、前記リストベクトル命令におけるストアデータを保持するストアデータ保持回路をさらに有し、
前記命令保持回路は、前記リストベクトル命令におけるストアデータが前記ストアデータ保持回路に格納されたことを示すストアデータ格納完了情報を当該リストベクトル命令に対応付けてさらに保持し、
前記ベクトル命令制御回路において、
前記命令保持回路に、前記リストベクトル命令に対応付けられた最大アドレス及び最小アドレスが保持されており、かつ、前記ストアデータ格納完了情報が格納されていた場合に、当該リストベクトル命令について前記追い越し判定の対象とする
ことを特徴とする請求項6又は7に記載のリストベクトルの追い越し制御方法。 - 前記命令保持回路は、前記アクセス先のメモリのアドレスとして、当該アドレスの一部のビットを保持し、
前記ベクトル命令制御回路において、
前記リストアドレス内のアドレスの一部のビットを比較して、当該一部のビットを前記最大アドレス及び前記最小アドレスとして抽出する
ことを特徴とする請求項6乃至8のいずれか1項に記載のリストベクトルの追い越し制御方法。 - 前記一部のビットは、上位の所定数のビットであることを特徴とする請求項9に記載のリストベクトルの追い越し制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011008557A JP5630281B2 (ja) | 2011-01-19 | 2011-01-19 | ベクトル命令制御回路及びリストベクトルの追い越し制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011008557A JP5630281B2 (ja) | 2011-01-19 | 2011-01-19 | ベクトル命令制御回路及びリストベクトルの追い越し制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012150634A true JP2012150634A (ja) | 2012-08-09 |
JP5630281B2 JP5630281B2 (ja) | 2014-11-26 |
Family
ID=46792822
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011008557A Active JP5630281B2 (ja) | 2011-01-19 | 2011-01-19 | ベクトル命令制御回路及びリストベクトルの追い越し制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5630281B2 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5522283B1 (ja) * | 2013-02-27 | 2014-06-18 | 日本電気株式会社 | リストベクトル処理装置、リストベクトル処理方法、プログラム、コンパイラ、及び、情報処理装置 |
US20150234656A1 (en) * | 2014-02-20 | 2015-08-20 | Nec Corporation | Vector processor, information processing apparatus, and overtaking control method |
JP2015203950A (ja) * | 2014-04-14 | 2015-11-16 | 富士通株式会社 | 演算処理装置及び演算処理装置の制御方法 |
US9189234B2 (en) | 2013-09-04 | 2015-11-17 | Globalfoundries Inc. | Reducing overhead in loading constants |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002024205A (ja) * | 2000-07-12 | 2002-01-25 | Nec Corp | ベクトルスキャタ命令制御回路及びベクトル型情報処理装置 |
JP2002032361A (ja) * | 2000-07-19 | 2002-01-31 | Nec Corp | ベクトル収集・拡散命令実行順序制御装置 |
JP2002297566A (ja) * | 2001-04-03 | 2002-10-11 | Nec Kofu Ltd | ベクトルギャザー命令追い越し回路 |
JP2002366538A (ja) * | 2001-06-12 | 2002-12-20 | Nec Computertechno Ltd | ベクトル処理装置及び該装置を用いた追い越し制御方法 |
JP2005235135A (ja) * | 2004-02-23 | 2005-09-02 | Nec Corp | ベクトル処理装置、及び、追い越し制御回路 |
JP2011118743A (ja) * | 2009-12-04 | 2011-06-16 | Nec Corp | ベクトル型計算機及びベクトル型計算機の命令制御方法 |
-
2011
- 2011-01-19 JP JP2011008557A patent/JP5630281B2/ja active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002024205A (ja) * | 2000-07-12 | 2002-01-25 | Nec Corp | ベクトルスキャタ命令制御回路及びベクトル型情報処理装置 |
JP2002032361A (ja) * | 2000-07-19 | 2002-01-31 | Nec Corp | ベクトル収集・拡散命令実行順序制御装置 |
JP2002297566A (ja) * | 2001-04-03 | 2002-10-11 | Nec Kofu Ltd | ベクトルギャザー命令追い越し回路 |
JP2002366538A (ja) * | 2001-06-12 | 2002-12-20 | Nec Computertechno Ltd | ベクトル処理装置及び該装置を用いた追い越し制御方法 |
JP2005235135A (ja) * | 2004-02-23 | 2005-09-02 | Nec Corp | ベクトル処理装置、及び、追い越し制御回路 |
JP2011118743A (ja) * | 2009-12-04 | 2011-06-16 | Nec Corp | ベクトル型計算機及びベクトル型計算機の命令制御方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5522283B1 (ja) * | 2013-02-27 | 2014-06-18 | 日本電気株式会社 | リストベクトル処理装置、リストベクトル処理方法、プログラム、コンパイラ、及び、情報処理装置 |
US9424032B2 (en) | 2013-02-27 | 2016-08-23 | Nec Corporation | List vector processing apparatus, list vector processing method, storage medium, compiler, and information processing apparatus |
US9189234B2 (en) | 2013-09-04 | 2015-11-17 | Globalfoundries Inc. | Reducing overhead in loading constants |
US20150234656A1 (en) * | 2014-02-20 | 2015-08-20 | Nec Corporation | Vector processor, information processing apparatus, and overtaking control method |
JP2015156112A (ja) * | 2014-02-20 | 2015-08-27 | 日本電気株式会社 | ベクトルプロセッサ、情報処理装置および追い越し制御方法 |
JP2015203950A (ja) * | 2014-04-14 | 2015-11-16 | 富士通株式会社 | 演算処理装置及び演算処理装置の制御方法 |
Also Published As
Publication number | Publication date |
---|---|
JP5630281B2 (ja) | 2014-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6401192B1 (en) | Apparatus for software initiated prefetch and method therefor | |
US9946549B2 (en) | Register renaming in block-based instruction set architecture | |
US9606808B2 (en) | Method and system for resolving thread divergences | |
US20130117541A1 (en) | Speculative execution and rollback | |
JP6463633B2 (ja) | ベクトルアクセス命令に応答してデータにアクセスするためのベクトルデータアクセスユニット及びデータ処理装置 | |
US7721066B2 (en) | Efficient encoding for detecting load dependency on store with misalignment | |
JP5209933B2 (ja) | データ処理装置 | |
US10437594B2 (en) | Apparatus and method for transferring a plurality of data structures between memory and one or more vectors of data elements stored in a register bank | |
US7822948B2 (en) | Apparatus, system, and method for discontiguous multiple issue of instructions | |
JP2008107983A (ja) | キャッシュメモリ | |
CN109101276A (zh) | 在cpu中执行指令的方法 | |
JP5630281B2 (ja) | ベクトル命令制御回路及びリストベクトルの追い越し制御方法 | |
JP5625809B2 (ja) | 演算処理装置、情報処理装置及び制御方法 | |
WO2022026578A1 (en) | Method and apparatus for back end gather/scatter memory coalescing | |
JP2020508534A (ja) | スーパースレッドプロセッサ、処理システム、および方法 | |
JP2020095345A (ja) | 演算処理装置、メモリ装置、及び演算処理装置の制御方法 | |
US9176738B2 (en) | Method and apparatus for fast decoding and enhancing execution speed of an instruction | |
TW200931443A (en) | Apparatus for predicting memory access and method thereof | |
CN111026442B (zh) | 一种cpu中用于消除程序无条件跳转开销的方法及装置 | |
JP6481549B2 (ja) | 情報処理装置および情報処理装置の制御方法 | |
JP2004005710A (ja) | 情報処置装置 | |
JPH06230963A (ja) | メモリアクセス制御装置 | |
CN103514124B (zh) | 缩短存储操作繁忙时间 | |
JP6344022B2 (ja) | 演算処理装置および演算処理装置の制御方法 | |
CN107193757B (zh) | 数据预取方法、处理器和设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20131212 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140825 |
|
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: 20140909 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140922 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5630281 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |