JP2010086496A - キャッシュメモリを備えるベクトル計算機システム、及びその動作方法 - Google Patents
キャッシュメモリを備えるベクトル計算機システム、及びその動作方法 Download PDFInfo
- Publication number
- JP2010086496A JP2010086496A JP2008258032A JP2008258032A JP2010086496A JP 2010086496 A JP2010086496 A JP 2010086496A JP 2008258032 A JP2008258032 A JP 2008258032A JP 2008258032 A JP2008258032 A JP 2008258032A JP 2010086496 A JP2010086496 A JP 2010086496A
- Authority
- JP
- Japan
- Prior art keywords
- write
- pattern
- allocate
- vector
- block
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0888—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0804—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/45—Caching of specific data in cache memory
- G06F2212/454—Vector or matrix data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
【解決手段】ベクトル計算機システムは、複数のストアリクエストを含むベクトルストア命令を発行するベクトルプロセッサと、ベクトルプロセッサとメインメモリとの間に設けられたライトバック方式のキャッシュメモリと、そのキャッシュメモリがライトアロケート方式で動作するか非ライトアロケート方式で動作するかを指定するアロケート制御信号を生成するライトアロケート決定部と、を備える。ベクトルプロセッサがベクトルストア命令を発行した時、ライトアロケート決定部は、複数のストアリクエストの対象アドレスのパターンである書き込みパターンに基づいてアロケート制御信号を生成する。キャッシュメモリは、ライトアロケート方式と非ライトアロケート方式のうちアロケート制御信号で指定される一方に従って、各々のストアリクエストを処理する。
【選択図】図2
Description
図2は、本実施の形態に係るベクトル計算機システム1の構成を概略的に示すブロック図である。ベクトル計算機システム1は、ベクトルプロセッサ10、キャッシュメモリ20、メインメモリ30、及びライトアロケート決定部40を備えている。
次に、ライトアロケートの可否の判断基準の一例を説明する。尚、下記の判断基準はあくまでも一例であり、システム構成に応じて適宜変更されてもよい。図5は、ベクトルストア命令に関する書き込みパターンPATが含み得る3種類のパターンP1〜P3を概念的に示している。書き込みパターンPATは、これら3種類のパターンP1〜P3のうち少なくとも1つを含む。
図8は、本実施の形態に係るベクトル計算機システム1に搭載されるキャッシュメモリ20の基本構成の一例を示している。例として、セットアソシアティブ方式のキャッシュメモリ20を考える。そのキャッシュメモリ20は、上述のデータアレイ21に加えて、タグアレイ22、LRUアレイ23、比較器24、及び書き込みコントローラ25を有している。
4−1.第1の例
図10は、ライトアロケート決定部40の第1の例を示すブロック図である。アドレスレジスタ51には、対象アドレスが格納される。対象アドレスは、ディスタンスずつ更新される。ディスタンスレジスタ52には、ディスタンスが格納される。残要素数レジスタ53には、ストアリクエストの残数、すなわち、書き込み対象要素の残数が格納される。全要素数レジスタ53には、ベクトルストア命令に含まれるストアリクエストの総数、すなわち、書き込み対象要素の総数が格納される。
図11は、ベクトル計算機システム1の一例を概略的に示している。図11の例では、1ブロック分(32バイト)のデータがベクトルプロセッサ10からキャッシュメモリ20に転送される。このとき、ベクトルプロセッサ10は、ライトイネーブル信号WEも出力する。ライトイネーブル信号WEは、1ブロック分(32バイト)のデータに含まれる各要素(8バイト)が書き込み対象か否かを示す4ビットの信号である。例えば、WE=「1001」の場合、最初と最後の要素が書き込み対象である。また、WE=「1111」の場合、全ての要素が書き込み対象である。このように、ライトイネーブル信号WEは、上述の書き込みパターンPATに相当すると言える。従って、ライトアロケート決定部40は、ライトイネーブル信号WEを書き込みパターンPATとして受け取り、そのライトイネーブル信号WEに基づいてアロケート制御信号CONを生成することができる。
図13は、マルチコアの場合のベクトル計算機システム1を概略的に示している。この場合、キャッシュメモリ20は、複数のベクトルプロセッサ10によって共有される。例えば図13において、キャッシュメモリ20は、ベクトルプロセッサ10−0、10−1によって共有される。このとき、上述の第2の例のような転送バンド幅の大きなデータパスを設けることが実装的に不可能な場合がある。
10 ベクトルプロセッサ
20 キャッシュメモリ
21 データアレイ
22 タグアレイ
23 LRUアレイ
24 比較器
25 書き込みコントローラ
30 メインメモリ
40 ライトアロケート決定部
70 パターン判定部
80 リクエストアービタ
90 パターン判定部
CON アロケート制御信号
Claims (10)
- 複数のストアリクエストを含むベクトルストア命令を発行するベクトルプロセッサと、
前記ベクトルプロセッサとメインメモリとの間に設けられたライトバック方式のキャッシュメモリと、
前記キャッシュメモリがライトアロケート方式で動作するか非ライトアロケート方式で動作するかを指定するアロケート制御信号を生成するライトアロケート決定部と
を備え、
前記ベクトルプロセッサが前記ベクトルストア命令を発行した時、前記ライトアロケート決定部は、前記複数のストアリクエストの対象アドレスのパターンである書き込みパターンに基づいて、前記複数のストアリクエストの各々に関して前記アロケート制御信号を生成し、
前記キャッシュメモリは、前記ライトアロケート方式と前記非ライトアロケート方式のうち前記アロケート制御信号で指定される一方に従って、前記各々のストアリクエストを処理する
ベクトル計算機システム。 - 請求項1に記載のベクトル計算機システムであって、
前記メインメモリの1ブロックは、前記キャッシュメモリの1ラインに対応付けられ、
前記書き込みパターンは、
前記メインメモリのあるブロックに含まれる全てのデータに対してストアリクエストが発生する第1パターンと、
前記メインメモリのあるブロックに対して1回だけストアリクエストが発生する第2パターンと、
前記第1パターン及び前記第2パターン以外の第3パターンと
のうち少なくとも1つを含み、
前記第1パターンあるいは前記第2パターンの場合、前記ライトアロケート決定部は、前記非ライトアロケート方式を指定する前記アロケート制御信号を生成し、
前記第3パターンの場合、前記ライトアロケート決定部は、前記ライトアロケート方式を指定する前記アロケート制御信号を生成する
ベクトル計算機システム。 - 請求項2に記載のベクトル計算機システムであって、
前記複数のストアリクエストの対象データは、前記メインメモリ上で連続的に位置し、
前記書き込みパターンは、少なくとも前記第1パターンを含む
ベクトル計算機システム。 - 請求項2に記載のベクトル計算機システムであって、
前記複数のストアリクエストの対象データは、前記メインメモリ上で離散的に位置し、
前記書き込みパターンは、前記第2パターンと前記第3パターンのうち少なくとも一方を含む
ベクトル計算機システム。 - 請求項2乃至4のいずれか一項に記載のベクトル計算機システムであって、
前記ベクトルプロセッサは、1ブロック分のデータと共に、前記1ブロック分のデータに含まれる各要素が書き込み対象か否かを示すライトイネーブル信号を出力し、
前記ライトアロケート決定部は、前記ライトイネーブル信号を前記書き込みパターンとして受け取り、前記ライトイネーブル信号が前記第1パターン、前記第2パターン及び前記第3パターンのいずれに相当するか判定する
ベクトル計算機システム。 - 請求項2乃至4のいずれか一項に記載のベクトル計算機システムであって、
前記ベクトルプロセッサは、前記複数のストアリクエストに関して、ブロック毎に反転する同一ブロックフラグを出力し、
前記ライトアロケート決定部は、前記同一ブロックフラグを前記書き込みパターンとして受け取り、前記同一ブロックフラグが前記第1パターン、前記第2パターン及び前記第3パターンのいずれに相当するか判定する
ベクトル計算機システム。 - ベクトルプロセッサ用のライトバック方式のキャッシュメモリであって、
前記キャッシュメモリがライトアロケート方式で動作するか非ライトアロケート方式で動作するかを指定するアロケート制御信号を生成するライトアロケート決定部と、
前記ライトアロケート方式と前記非ライトアロケート方式のうち前記アロケート制御信号で指定される一方に従って、ストアリクエストを処理する書き込みコントローラと
を備え、
前記ベクトルプロセッサが複数のストアリクエストを含むベクトルストア命令を発行した時、前記ライトアロケート決定部は、前記複数のストアリクエストの対象アドレスのパターンである書き込みパターンに基づいて、前記複数のストアリクエストの各々に関して前記アロケート制御信号を生成する
キャッシュメモリ。 - 請求項7に記載のキャッシュメモリであって、
メインメモリの1ブロックは、前記キャッシュメモリの1ラインに対応付けられ、
前記書き込みパターンは、
前記メインメモリのあるブロックに含まれる全てのデータに対してストアリクエストが発生する第1パターンと、
前記メインメモリのあるブロックに対して1回だけストアリクエストが発生する第2パターンと、
前記第1パターン及び前記第2パターン以外の第3パターンと
のうち少なくとも1つを含み、
前記第1パターンあるいは前記第2パターンの場合、前記ライトアロケート決定部は、前記非ライトアロケート方式を指定する前記アロケート制御信号を生成し、
前記第3パターンの場合、前記ライトアロケート決定部は、前記ライトアロケート方式を指定する前記アロケート制御信号を生成する
キャッシュメモリ。 - ベクトルプロセッサとライトバック方式のキャッシュメモリとを備えるベクトル計算機システムの動作方法であって、
前記ベクトルプロセッサが、複数のストアリクエストを含むベクトルストア命令を発行するステップと、
前記複数のストアリクエストの対象アドレスのパターンである書き込みパターンに基づいて、前記複数のストアリクエストの各々をライトアロケート方式と非ライトアロケート方式のどちらで処理するかを指定するステップと、
前記キャッシュメモリが、前記ライトアロケート方式と前記非ライトアロケート方式のうち前記指定された一方に従って、前記各々のストアリクエストを処理するステップと
を含む
ベクトル計算機システムの動作方法。 - 請求項9に記載のベクトル計算機システムの動作方法であって、
メインメモリの1ブロックは、前記キャッシュメモリの1ラインに対応付けられ、
前記書き込みパターンは、
前記メインメモリのあるブロックに含まれる全てのデータに対してストアリクエストが発生する第1パターンと、
前記メインメモリのあるブロックに対して1回だけストアリクエストが発生する第2パターンと、
前記第1パターン及び前記第2パターン以外の第3パターンと
のうち少なくとも1つを含み、
前記第1パターンあるいは前記第2パターンの場合、前記非ライトアロケート方式が指定され、
前記第3パターンの場合、前記ライトアロケート方式が指定される
ベクトル計算機システムの動作方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008258032A JP4888839B2 (ja) | 2008-10-03 | 2008-10-03 | キャッシュメモリを備えるベクトル計算機システム、及びその動作方法 |
US12/573,400 US8151058B2 (en) | 2008-10-03 | 2009-10-05 | Vector computer system with cache memory and operation method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008258032A JP4888839B2 (ja) | 2008-10-03 | 2008-10-03 | キャッシュメモリを備えるベクトル計算機システム、及びその動作方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010086496A true JP2010086496A (ja) | 2010-04-15 |
JP4888839B2 JP4888839B2 (ja) | 2012-02-29 |
Family
ID=42076711
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008258032A Expired - Fee Related JP4888839B2 (ja) | 2008-10-03 | 2008-10-03 | キャッシュメモリを備えるベクトル計算機システム、及びその動作方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8151058B2 (ja) |
JP (1) | JP4888839B2 (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015232879A (ja) * | 2014-06-05 | 2015-12-24 | エイアールエム リミテッド | データ処理装置における動的なキャッシュ・アロケーション・ポリシーの適応 |
US9753799B2 (en) | 2014-12-13 | 2017-09-05 | Via Alliance Semiconductor Co., Ltd. | Conditional pattern detector for detecting hangs |
US9946651B2 (en) | 2014-12-13 | 2018-04-17 | Via Alliance Semiconductor Co., Ltd | Pattern detector for detecting hangs |
US10067871B2 (en) | 2014-12-13 | 2018-09-04 | Via Alliance Semiconductor Co., Ltd | Logic analyzer for detecting hangs |
US10324842B2 (en) | 2014-12-13 | 2019-06-18 | Via Alliance Semiconductor Co., Ltd | Distributed hang recovery logic |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8533396B2 (en) * | 2010-11-19 | 2013-09-10 | Advanced Micro Devices, Inc. | Memory elements for performing an allocation operation and related methods |
US10108548B2 (en) | 2014-08-19 | 2018-10-23 | MIPS Tech, LLC | Processors and methods for cache sparing stores |
GB2543303B (en) * | 2015-10-14 | 2017-12-27 | Advanced Risc Mach Ltd | Vector data transfer instruction |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS58118083A (ja) * | 1981-12-30 | 1983-07-13 | インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション | 多重処理システムにおけるキヤツシユ制御機構 |
JPH0512114A (ja) * | 1991-07-04 | 1993-01-22 | Nec Corp | キヤツシユメモリ |
JPH0520190A (ja) * | 1991-07-10 | 1993-01-29 | Koufu Nippon Denki Kk | キヤツシユ無効化処理回路 |
JPH07152650A (ja) * | 1993-11-30 | 1995-06-16 | Oki Electric Ind Co Ltd | キャッシュ制御装置 |
JPH07210463A (ja) * | 1994-01-21 | 1995-08-11 | Hitachi Ltd | キャッシュメモリシステム及びデータプロセッサ |
JPH11143774A (ja) * | 1997-11-06 | 1999-05-28 | Hitachi Ltd | キャッシュ制御機構 |
JPH11312123A (ja) * | 1998-04-28 | 1999-11-09 | Matsushita Electric Ind Co Ltd | キャッシュ制御装置 |
JP2001331475A (ja) * | 2000-05-23 | 2001-11-30 | Nec Corp | ベクトル命令処理装置およびベクトル命令処理方法 |
JP3770091B2 (ja) * | 2001-02-09 | 2006-04-26 | 日本電気株式会社 | キャッシュ制御方法及びキャッシュ制御回路 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0325421B1 (en) * | 1988-01-20 | 1994-08-10 | Advanced Micro Devices, Inc. | Organization of an integrated cache unit for flexible usage in supporting multiprocessor operations |
US6643765B1 (en) * | 1995-08-16 | 2003-11-04 | Microunity Systems Engineering, Inc. | Programmable processor with group floating point operations |
US6360298B1 (en) * | 2000-02-10 | 2002-03-19 | Kabushiki Kaisha Toshiba | Load/store instruction control circuit of microprocessor and load/store instruction control method |
US7356651B2 (en) * | 2004-01-30 | 2008-04-08 | Piurata Technologies, Llc | Data-aware cache state machine |
-
2008
- 2008-10-03 JP JP2008258032A patent/JP4888839B2/ja not_active Expired - Fee Related
-
2009
- 2009-10-05 US US12/573,400 patent/US8151058B2/en not_active Expired - Fee Related
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS58118083A (ja) * | 1981-12-30 | 1983-07-13 | インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション | 多重処理システムにおけるキヤツシユ制御機構 |
JPH0512114A (ja) * | 1991-07-04 | 1993-01-22 | Nec Corp | キヤツシユメモリ |
JPH0520190A (ja) * | 1991-07-10 | 1993-01-29 | Koufu Nippon Denki Kk | キヤツシユ無効化処理回路 |
JPH07152650A (ja) * | 1993-11-30 | 1995-06-16 | Oki Electric Ind Co Ltd | キャッシュ制御装置 |
JPH07210463A (ja) * | 1994-01-21 | 1995-08-11 | Hitachi Ltd | キャッシュメモリシステム及びデータプロセッサ |
JPH11143774A (ja) * | 1997-11-06 | 1999-05-28 | Hitachi Ltd | キャッシュ制御機構 |
JPH11312123A (ja) * | 1998-04-28 | 1999-11-09 | Matsushita Electric Ind Co Ltd | キャッシュ制御装置 |
JP2001331475A (ja) * | 2000-05-23 | 2001-11-30 | Nec Corp | ベクトル命令処理装置およびベクトル命令処理方法 |
JP3770091B2 (ja) * | 2001-02-09 | 2006-04-26 | 日本電気株式会社 | キャッシュ制御方法及びキャッシュ制御回路 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015232879A (ja) * | 2014-06-05 | 2015-12-24 | エイアールエム リミテッド | データ処理装置における動的なキャッシュ・アロケーション・ポリシーの適応 |
US9753799B2 (en) | 2014-12-13 | 2017-09-05 | Via Alliance Semiconductor Co., Ltd. | Conditional pattern detector for detecting hangs |
US9946651B2 (en) | 2014-12-13 | 2018-04-17 | Via Alliance Semiconductor Co., Ltd | Pattern detector for detecting hangs |
US10067871B2 (en) | 2014-12-13 | 2018-09-04 | Via Alliance Semiconductor Co., Ltd | Logic analyzer for detecting hangs |
KR101890021B1 (ko) * | 2014-12-13 | 2018-09-20 | 비아 얼라이언스 세미컨덕터 씨오., 엘티디. | 행 검출을 위한 패턴 검출기 |
US10324842B2 (en) | 2014-12-13 | 2019-06-18 | Via Alliance Semiconductor Co., Ltd | Distributed hang recovery logic |
Also Published As
Publication number | Publication date |
---|---|
US20100088473A1 (en) | 2010-04-08 |
JP4888839B2 (ja) | 2012-02-29 |
US8151058B2 (en) | 2012-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4888839B2 (ja) | キャッシュメモリを備えるベクトル計算機システム、及びその動作方法 | |
US6317811B1 (en) | Method and system for reissuing load requests in a multi-stream prefetch design | |
US8171239B2 (en) | Storage management method and system using the same | |
US6427188B1 (en) | Method and system for early tag accesses for lower-level caches in parallel with first-level cache | |
US7260686B2 (en) | System, apparatus and method for performing look-ahead lookup on predictive information in a cache memory | |
JP7340326B2 (ja) | メンテナンス動作の実行 | |
JPH1196074A (ja) | 交換アルゴリズム動的選択コンピュータシステム | |
US8595443B2 (en) | Varying a data prefetch size based upon data usage | |
JP5059609B2 (ja) | メモリへの様々なタイプのアクセスを予測するため、およびキャッシュメモリに関連付けられた予測を管理するための、システム、装置、および方法 | |
US20170168957A1 (en) | Aware Cache Replacement Policy | |
JP5336423B2 (ja) | 計算機システム | |
US11301250B2 (en) | Data prefetching auxiliary circuit, data prefetching method, and microprocessor | |
JP2023507078A (ja) | プリフェッチレベルの降格 | |
EP1605360A1 (en) | Cache coherency maintenance for DMA, task termination and synchronisation operations | |
US11055025B2 (en) | Semiconductor memory device performing command merge operation and operation method thereof | |
US7219197B2 (en) | Cache memory, processor and cache control method | |
US7461211B2 (en) | System, apparatus and method for generating nonsequential predictions to access a memory | |
US8266381B2 (en) | Varying an amount of data retrieved from memory based upon an instruction hint | |
KR102482516B1 (ko) | 메모리 어드레스 변환 | |
US11321235B2 (en) | Cache memory device, system including the same, and method of operating the same | |
JP5699854B2 (ja) | 記憶制御システムおよび方法、置換方式および方法 | |
US8356141B2 (en) | Identifying replacement memory pages from three page record lists | |
US11080195B2 (en) | Method of cache prefetching that increases the hit rate of a next faster cache | |
US20230359560A1 (en) | Hybrid allocation of data lines in a streaming cache memory | |
US7143239B2 (en) | Cache structure and methodology |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100913 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110120 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110316 |
|
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: 20111121 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4888839 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20111204 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20141222 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |