JP2016081259A - ベクトル演算装置、制御方法とそのプログラム、及び、ベクトル処理装置 - Google Patents
ベクトル演算装置、制御方法とそのプログラム、及び、ベクトル処理装置 Download PDFInfo
- Publication number
- JP2016081259A JP2016081259A JP2014211277A JP2014211277A JP2016081259A JP 2016081259 A JP2016081259 A JP 2016081259A JP 2014211277 A JP2014211277 A JP 2014211277A JP 2014211277 A JP2014211277 A JP 2014211277A JP 2016081259 A JP2016081259 A JP 2016081259A
- Authority
- JP
- Japan
- Prior art keywords
- vector
- load
- unit
- instruction
- processing unit
- 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
Abstract
Description
これにより、ベクトル演算装置におけるベクトルロード命令の実行時間が長くなり、装置性能が低下する。
本発明の第1の実施形態によるベクトル演算装置について図面を参照して説明する。
次に、本発明の第2の実施形態によるベクトル演算装置、及び、ベクトル処理装置について図面を用いて説明する。図3は、第2の実施形態によるベクトル処理装置100の構成を示すブロック図である。図3に示すように、第2の実施形態のベクトル処理装置100は、ベクトルベクトル演算装置10と、主記憶装置70とを備える。
(ベクトル処理装置100)
ベクトル演算装置10と主記憶装置70は、信号線101及び信号線102を介して相互に接続されている。信号線102は、主記憶装置70に記憶されたベクトルデータをベクトル演算装置10に読み出すため、又は、ベクトル演算装置10で生成したベクトルデータを主記憶装置70に書き込むために用いられる。
ベクトル演算装置10は、命令制御部20と、メモリアクセス処理部30と、プロセッサネットワーク部40と、ベクトル制御部50と、ベクトル処理部60と、を備える。
命令制御部20は、主記憶装置70と信号線101で接続され、メモリアクセス処理部30と信号線103で接続され、ベクトル制御部50と信号線104で接続されている。
メモリアクセス処理部30は、信号線103により命令制御部20と、信号線105によりプロセッサネットワーク部40と、信号線106によりベクトル制御部50と、信号線107によりベクトル処理部60と、それぞれ接続されている。メモリアクセス処理部30は、命令制御部20から送られる命令に応じてベクトル処理部60と主記憶装置70とのアクセスを制御する。第2の実施形態によるベクトル演算装置10のメモリアクセス処理部30は、第1の実施形態によるベクトル演算装置1のメモリアクセス処理部2に相当する。
メモリアクセス処理部30は、後述するロードバッファ62の空き管理を行うロードバッファ管理部31を備える。ロードバッファ管理部31は、ベクトルロード命令に関して、ベクトル処理部60のロードバッファ62における記憶領域の空きを管理する。
(プロセッサネットワーク部40)
プロセッサネットワーク部40は、主記憶装置70と信号線102で接続され、メモリアクセス処理部30と信号線105で接続され、ベクトル処理部60と信号線108で接続される。プロセッサネットワーク部40は、主記憶装置70のデータを一時的に保持するキャッシュ部41を備える。第2の実施形態によるベクトル演算装置10のプロセッサネットワーク部40は、第1の実施形態によるベクトル演算装置1のプロセッサネットワーク部3に相当する。
キャッシュ部41は、命令がベクトルロード命令の場合、主記憶装置70内の所望のベクトルデータをキャッシュ部41が保持しているか否かを判定(キャッシュヒット/ミス判定)する。所望のベクトルデータをキャッシュ部41が保持している場合(キャッシュヒット時)、キャッシュ部41は、キャッシュ部41で保持しているベクトルデータをベクトル処理部30にロードデータとして転送する。一方、キャッシュ部41が保持していない場合(キャッシュミス時)、キャッシュ部41は、主記憶装置70にロード命令を送り、主記憶装置70から所望のベクトルデータを受け取る。続いて、キャッシュ部41は、ベクトルデータをキャッシュ部41へ格納するとともにベクトル処理部60へロードデータとして転送する。キャッシュ部41は、ベクトル処理部60にロードデータを転送する際にロードバッファ番号、要素番号も付加して転送する。
(ベクトル制御部50)
ベクトル制御部50は、命令制御部20と信号線104で接続され、メモリアクセス処理部30と信号線106で接続され、ベクトル処理部60と信号線109で接続される。
(ベクトル処理部60)
ベクトル処理部60は、メモリアクセス処理部30と信号線107で接続され、プロセッサネットワーク部40と信号線108で接続され、ベクトル制御部50と信号線109、110で接続される。
ベクトルロード命令は、メモリアクセス処理部30が信号線103を通じて命令制御部20から受信する。
(ベクトルロード管理部61)
ベクトルロード管理部61は、メモリアクセス処理部30と信号線107で接続され、プロセッサネットワーク部40と信号線108で接続され、ベクトル制御部50と信号線109,110で接続される。
(主記憶装置70)
主記憶装置70は、命令制御部20と信号線101で接続され、プロセッサネットワーク部40と信号線102で接続される。主記憶装置70はプロセッサネットワーク部60から送られてくるベクトルロードに従ってベクトルデータの転送を行う。
本発明の第3の実施形態によるベクトル演算装置、及び、ベクトル処理装置について、図面を用いて説明する。図5は、第3の実施形態によるベクトル処理装置の構成を示すブロック図である。第3の実施形態によるベクトル処理装置100Aは、ロードバッファ管理部64の配置が第2の実施形態によるベクトル処理装置100と相違する。すなわち、第2の実施形態によるベクトル処理装置100は、ロードバッファ管理部31をメモリアクセス処理部30に備えるが、第3の実施形態によるベクトル処理装置100Aは、ロードバッファ管理部64をベクトルベクトル処理部60Aに備える。なお、第3の実施形態によるベクトル処理装置100Aの構成の説明において、第2の実施形態によるベクトル処理装置100と同じ構成については、同一の符号を付与し詳細な説明は省略する。
なお、本発明の各機能は、プログラムを組み込んだLSIのハードウエア部品である回路部品を実装することにより、その動作をハードウエア的に実現することができる。またその機能を提供するプログラムを記憶装置(図示せず)に格納し、そのプログラムを主記憶部100にロードして命令制御部で実行することにより、ソフトウエア的に実現することも可能である。
ベクトル処理装置100、又は、ベクトル演算装置1、10が備える各部の実現手段は、特に限定されない。すなわち、物理的に結合した一つの装置により実現されてもよいし、物理的に分離した二つ以上の装置を有線又は無線で接続し、これら複数の装置により実現してもよい。
ロードバッファを有するベクトル処理部と、
ベクトルデータを一時的に保持するキャッシュ部と、
ベクトルロード命令を前記キャッシュ部へ通知するメモリアクセス処理部と、を備え、
前記メモリアクセス処理部は、前記ロードバッファが使用できない場合、前記ベクトルロード命令の通知を保留し、前記保留されたベクトルロード命令に対応するプリフェッチ命令を生成して通知し、
前記キャッシュ部は、前記プリフェッチ命令に応じてベクトルデータを主記憶装置から読み出して前記キャッシュ部に配置する、ベクトル演算装置。
前記ロードバッファの解放後、前記メモリアクセス処理部は、前記保留されたベクトルロード命令を前記キャッシュ部へ通知する、付記1に記載のベクトル演算装置。
前記キャッシュ部は、前記プリフェッチ命令に応じて対応するベクトルデータが存在するか否か判定し、前記対応するベクトルデータが存在しない場合、前記主記憶装置から読み出して前記キャッシュ部に配置する、付記1又は付記2に記載のベクトル演算装置。
前記キャッシュ部は、前記プリフェッチ命令に応じて、対応するベクトルデータが存在するか否か判定し、前記対応するベクトルデータが存在する場合、前記プリフェッチ命令を完了する、付記3に記載のベクトル演算装置。
前記ロードバッファの使用状態をフラグ情報により管理するロードバッファ管理部を備え、前記メモリアクセス処理部、又は、ベクトル処理部が、前記ロードバッファ管理部を備える、付記1〜付記4のいずれか1つに記載のベクトル演算装置。
前記メモリアクセス処理部は、前記ベクトルロード命令の受付後、前記ロードバッファ管理部を検索して、前記ロードバッファが使用できるかを判定する、付記5に記載のベクトル演算装置。
前記ベクトル処理部は、ロードデータがロードバッファに格納されているか否かを管理するベクトルロード管理部を備え、
前記ベクトルロード管理部は、ロードバッファの解放後にロードバッファ管理部にロードバッファの解放を通知する、付記5又は付記6のいずれか1つに記載のベクトル演算装置。
主記憶装置と、付記1から8のいずれか1つに記載のベクトル演算装置とを備える、付記1〜付記7のいずれか1つに記載のベクトル演算装置。
ロードバッファを有するベクトル処理部と、ベクトルデータを一時的に保持するキャッシュ部を備え、ベクトルロード命令に応じて、主記憶装置から前記ベクトル処理部に前記ベクトルデータを転送する、ベクトル演算装置の制御方法であって、
前記ロードバッファが使用できない場合、前記ベクトルロード命令の通知を保留し、前記保留されたベクトルロード命令に対応するプリフェッチ命令を生成して通知し、
前記プリフェッチ命令に応じてベクトルデータを前記主記憶装置から読み出して前記キャッシュ部に配置する、
ベクトル演算装置の制御方法。
前記ロードバッファの解放後、前記保留されたベクトルロード命令を前記キャッシュ部へ通知する、付記9に記載のベクトル演算装置の制御方法。
前記プリフェッチ命令に応じて対応するベクトルデータが存在するか否か判定し、前記対応するベクトルデータが存在しない場合、前記主記憶装置から読み出して前記キャッシュ部に配置する、付記9又は付記10に記載のベクトル演算装置の制御方法。
前記プリフェッチ命令に応じて対応するベクトルデータが存在するか否か判定し、前記対応するベクトルデータが存在する場合、前記プリフェッチ命令を完了する、付記11に記載のベクトル演算装置の制御方法。
ロードバッファを有するベクトル処理部と、ベクトルデータを一時的に保持するキャッシュ部を備え、ベクトルロード命令に応じて、主記憶装置から前記ベクトル処理部に前記ベクトルデータを転送する、ベクトル演算装置の制御プログラムであって、
前記ベクトル演算装置に、
前記ロードバッファが使用できない場合、前記ベクトルロード命令の通知を保留し、前記保留されたベクトルロード命令に対応するプリフェッチ命令を生成して通知し、
前記プリフェッチ命令に応じてベクトルデータを前記主記憶装置から読み出して前記キャッシュ部に配置する、ことを実行させる、
ベクトル演算装置の制御プログラム。
前記ロードバッファの解放後、前記保留されたベクトルロード命令を前記キャッシュ部へ通知する、付記13に記載のベクトル演算装置の制御プログラム。
前記プリフェッチ命令に応じて対応するベクトルデータが存在するか否か判定し、前記対応するベクトルデータが存在しない場合、前記主記憶装置から読み出して前記キャッシュ部に配置する、付記13又は付記14に記載のベクトル演算装置の制御プログラム。
前記プリフェッチ命令に応じて対応するベクトルデータが存在するか否か判定し、前記対応するベクトルデータが存在する場合、前記プリフェッチ命令を完了する、付記15に記載のベクトル演算装置の制御プログラム。
ロードデータを格納するロードバッファを有し、ベクトルデータに対するベクトル演算を実行するベクトル処理部と、
主記憶装置からの前記ベクトルデータを一時的に保持するキャッシュ部を有し、ベクトルロード命令に応じて、前記主記憶装置から前記ベクトル処理部に前記ベクトルデータを転送するプロセッサネットワーク部と、
前記ベクトルロード命令を前記プロセッサネットワーク部へ通知するメモリアクセス処理部と、を備え、
前記メモリアクセス処理部は、前記ロードバッファが使用できない場合、前記ベクトルロード命令の通知を保留し、前記保留したベクトルロード命令に対応するプリフェッチ命令を前記プロセッサネットワーク部に通知し、
前記プロセッサネットワーク部は、前記プリフェッチ命令に応じて対応するベクトルデータを、前記主記憶装置から読み出して前記キャッシュ部に配置する、ベクトル演算装置。
2 メモリアクセス処理部
3 プロセッサネットワーク部
4 キャッシュ部
5 ベクトル処理部
6 ロードバッファ
10、10A ベクトル演算装置
20 命令制御部
30、30A メモリアクセス処理部
40 プロセッサネットワーク部
41 キャッシュ部
50 ベクトル制御部
60 ベクトル処理部
61 ベクトルロード管理部
62 ロードバッファ
63 ベクトルレジスタ
64 ロードバッファ管理部
100、100A ベクトル処理装置
101 信号線
102 信号線
103 信号線
104 信号線
105 信号線
106 信号線
107 信号線
108 信号線
109 信号線
Claims (10)
- ロードバッファを有するベクトル処理部と、
ベクトルデータを一時的に保持するキャッシュ部と、
ベクトルロード命令を前記キャッシュ部へ通知するメモリアクセス処理部と、を備え、
前記メモリアクセス処理部は、前記ロードバッファが使用できない場合、前記ベクトルロード命令の通知を保留し、前記保留されたベクトルロード命令に対応するプリフェッチ命令を生成して通知し、
前記キャッシュ部は、前記プリフェッチ命令に応じてベクトルデータを主記憶装置から読み出して前記キャッシュ部に配置する、
ベクトル演算装置。 - 前記ロードバッファの解放後、前記メモリアクセス処理部は、前記保留されたベクトルロード命令を前記キャッシュ部へ通知する、請求項1に記載のベクトル演算装置。
- 前記キャッシュ部は、前記プリフェッチ命令に応じて対応するベクトルデータが存在するか否か判定し、前記対応するベクトルデータが存在しない場合、前記主記憶装置から読み出して前記キャッシュ部に配置する、請求項1又は2に記載のベクトル演算装置。
- 前記キャッシュ部は、前記プリフェッチ命令に応じて対応するベクトルデータが存在するか否か判定し、前記対応するベクトルデータが存在する場合、前記プリフェッチ命令を完了する、請求項3に記載のベクトル演算装置。
- 前記ロードバッファの使用状態をフラグ情報により管理するロードバッファ管理部を備え、前記メモリアクセス処理部、又は、ベクトル処理部が、前記ロードバッファ管理部を備える、請求項1から請求項4のいずれか1項に記載のベクトル演算装置。
- 前記メモリアクセス処理部は、前記ベクトルロード命令の受付後、前記ロードバッファ管理部を検索して、前記ロードバッファが使用できるかを判定する、請求項5に記載のベクトル演算装置。
- 前記ベクトル処理部は、ロードデータがロードバッファに格納されているか否かを管理するベクトルロード管理部を備え、
前記ベクトルロード管理部は、ロードバッファの解放後にロードバッファ管理部にロードバッファの解放を通知する、請求項5又は請求項6のいずれか1項に記載のベクトル演算装置。 - 主記憶装置と、請求項1から8に記載のベクトル演算装置とを備える、ベクトル処理装置。
- ロードバッファを有するベクトル処理部と、ベクトルデータを一時的に保持するキャッシュ部を備え、ベクトルロード命令に応じて、主記憶装置から前記ベクトル処理部に前記ベクトルデータを転送する、ベクトル演算装置の制御方法であって、
前記ロードバッファが使用できない場合、前記ベクトルロード命令の通知を保留し、前記保留されたベクトルロード命令に対応するプリフェッチ命令を生成して通知し、
前記プリフェッチ命令に応じてベクトルデータを前記主記憶装置から読み出して前記キャッシュ部に配置する、
ベクトル演算装置の制御方法。 - ロードバッファを有するベクトル処理部と、ベクトルデータを一時的に保持するキャッシュ部を備え、ベクトルロード命令に応じて、主記憶装置から前記ベクトル処理部に前記ベクトルデータを転送する、ベクトル演算装置の制御プログラムであって、
前記ベクトル演算装置に、
前記ロードバッファが使用できない場合、前記ベクトルロード命令の通知を保留し、前記保留されたベクトルロード命令に対応するプリフェッチ命令を生成して通知し、
前記プリフェッチ命令に応じてベクトルデータを前記主記憶装置から読み出して前記キャッシュ部に配置する、ことを実行させる、
ベクトル演算装置の制御プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014211277A JP6413605B2 (ja) | 2014-10-16 | 2014-10-16 | ベクトル演算装置、制御方法とそのプログラム、及び、ベクトル処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014211277A JP6413605B2 (ja) | 2014-10-16 | 2014-10-16 | ベクトル演算装置、制御方法とそのプログラム、及び、ベクトル処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016081259A true JP2016081259A (ja) | 2016-05-16 |
JP6413605B2 JP6413605B2 (ja) | 2018-10-31 |
Family
ID=55958715
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014211277A Active JP6413605B2 (ja) | 2014-10-16 | 2014-10-16 | ベクトル演算装置、制御方法とそのプログラム、及び、ベクトル処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6413605B2 (ja) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009098934A (ja) * | 2007-10-17 | 2009-05-07 | Hitachi Ltd | プロセッサ及びキャッシュメモリ |
JP2009252133A (ja) * | 2008-04-10 | 2009-10-29 | Nec Computertechno Ltd | ベクトル処理装置及びベクトル処理方法 |
JP2012128656A (ja) * | 2010-12-15 | 2012-07-05 | Nec Corp | ベクトル演算処理装置、ベクトル演算処理方法およびベクトル演算処理プログラム |
-
2014
- 2014-10-16 JP JP2014211277A patent/JP6413605B2/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009098934A (ja) * | 2007-10-17 | 2009-05-07 | Hitachi Ltd | プロセッサ及びキャッシュメモリ |
JP2009252133A (ja) * | 2008-04-10 | 2009-10-29 | Nec Computertechno Ltd | ベクトル処理装置及びベクトル処理方法 |
JP2012128656A (ja) * | 2010-12-15 | 2012-07-05 | Nec Corp | ベクトル演算処理装置、ベクトル演算処理方法およびベクトル演算処理プログラム |
Also Published As
Publication number | Publication date |
---|---|
JP6413605B2 (ja) | 2018-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9471532B2 (en) | Remote core operations in a multi-core computer | |
US8453121B2 (en) | Managing the tracing of the execution of a computer program | |
CN107368450B (zh) | 多片处理器及其操作方法 | |
JP5240270B2 (ja) | プロセッサ及びベクトルロード命令の実行方法 | |
KR102064764B1 (ko) | 메시지 시그널 인터럽트의 통신 | |
US8793435B1 (en) | Load miss result buffer with shared data lines | |
JP5970461B2 (ja) | 仮想計算機制御装置、仮想計算機制御方法、仮想計算機制御プログラム、及び集積回路 | |
US9606923B2 (en) | Information processing device with shared memory, memory order guarantee method using counters fence instructions in relation to cache-oriented requests, and recording medium storing program | |
JP5158576B2 (ja) | 入出力制御システム、入出力制御方法、及び、入出力制御プログラム | |
JP6413605B2 (ja) | ベクトル演算装置、制御方法とそのプログラム、及び、ベクトル処理装置 | |
JP6319473B1 (ja) | 情報処理装置 | |
JP4594889B2 (ja) | 複数の処理装置を備えたシステム上で実行されるプログラムのトレース方法、および、複数の処理装置を備えたシステム | |
WO2013101031A1 (en) | Hiding instruction cache miss latency by running tag lookups ahead of the instruction accesses | |
JP5344316B2 (ja) | ベクトル演算処理装置 | |
JP6740719B2 (ja) | 情報処理装置、情報処理方法、およびプログラム | |
JP2016057763A (ja) | キャッシュ装置、及びプロセッサ | |
US11372776B2 (en) | Method and apparatus for an efficient TLB lookup | |
US10223264B2 (en) | Data access control apparatus | |
JP7151439B2 (ja) | 演算処理装置および演算処理装置の制御方法 | |
JP2005025693A (ja) | ベクトル処理装置およびベクトルロード方法 | |
JP2018156497A (ja) | メモリアクセス装置、命令制御方法、プログラム、情報処理装置 | |
JP2014059661A (ja) | 情報処理装置及びその制御方法、プログラム | |
JP2013182507A (ja) | ベクトル処理装置、ベクトルロード命令実行方法、及びベクトルロード命令実行プログラム | |
JPWO2013105237A1 (ja) | 試験プログラム、試験方法、及び処理装置 | |
JP2007220022A (ja) | 割込み制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170915 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180518 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180626 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180809 |
|
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: 20180904 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180917 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6413605 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |