JP2012079108A - メモリアクセス判定回路、メモリアクセス判定方法、キャッシュ制御装置および電子機器 - Google Patents
メモリアクセス判定回路、メモリアクセス判定方法、キャッシュ制御装置および電子機器 Download PDFInfo
- Publication number
- JP2012079108A JP2012079108A JP2010223942A JP2010223942A JP2012079108A JP 2012079108 A JP2012079108 A JP 2012079108A JP 2010223942 A JP2010223942 A JP 2010223942A JP 2010223942 A JP2010223942 A JP 2010223942A JP 2012079108 A JP2012079108 A JP 2012079108A
- Authority
- JP
- Japan
- Prior art keywords
- cache
- value
- reference value
- address
- data
- 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/0862—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
-
- 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/60—Details of cache memory
- G06F2212/6022—Using a prefetch buffer or dedicated prefetch cache
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
【解決手段】キャッシュ制御部32のキャッシュ判定部33は、カウンタ部22のカウント値CTに対応するアドレスADRをキャッシュ判定する。基準値算出部49は、アドレスADRに対するキャッシュヒットのヒット率HRと、キャッシュミスのときにカウント値CTに対応するアドレスADRに対するキャッシュミスのミス率MRとに基づいて、カウンタ部22がカウント値CTをカウントするための基準値m,nを変更する。
【選択図】図2
Description
[電子機器の構成]
図1に示すように、電子機器は、処理装置11、キャッシュ装置12、メインメモリ13を含む。
図3に示すように、カウンタ部22は、加算回路22a〜22c、選択回路22d、保持回路22eを含む。
ウェイト信号WTがネゲートされているとき、基準値f(=1)に基づいて、カウント値CTは基準値fづつ、つまり「1」づつ増加する。ウェイト信号WTがアサートされると、保持回路22eは、そのときのカウント値CT(=2)を保持する。
キャッシュ制御部32は、キャッシュ判定、データの先読み制御を行うように構成されている。その構成を説明する。
キャッシュ判定部33は、アドレス演算部23から受け取ったアドレスADRに基づいて、キャッシュ判定を行う。つまり、キャッシュ判定部33は、キャッシュメモリ31から、キャッシュメモリ31に格納されている全データに対応するアドレス情報IADを取得する。キャッシュ判定部33は、キャッシュメモリ31から受け取ったアドレス情報IADに基づいて、アドレス演算部23から受け取ったアドレスADRに対してキャッシュ判定を行う。
先ず、基準値fでカウントを開始する(ステップ61)。
次いで、アドレスADRに対してキャッシュ判定を行う(ステップ64)。キャッシュヒットである場合(ステップ64:No)、アドレスADRのデータがキャッシュメモリ31(図1参照)から読み出され、データ処理部21へ送られる。そして、ステップ61へ移行する。キャッシュミスの場合(ステップ64:Yes)、カウント値CTを保持する(ステップ65)。また、キャッシュミスと判定されたアドレスADRに対する読み出し処理を開始する。この読み出し処理は、アドレスADRのデータを含む1ライン分のデータをメインメモリ13から読み出して、キャッシュメモリ31に格納することを含む。キャッシュメモリ31へのデータの格納が終了するまでの間、基準値mに基づいて値をカウントし、カウント値CTを生成する(ステップ66)。
キャッシュ装置12は、ウェイト信号WTがアサートされているときにカウント値CTを生成するための基準値m,nを変更するように構成されている。その構成を説明する。
HR=(AC/HC)×100
により、ヒット率HR(Hit Rate)を算出する。そして、ヒット率算出部43は、算出したヒット率HRをヒット率保持部44と基準値算出部49に出力する。
MR=(PMC/MC)×100
により、ミス率MR(最初の先読みアドレスのミス率:1st Premiss Rate)を算出する。そして、ミス率算出部47は、算出したミス率MRをミス率保持部48と基準値算出部49に出力する。
先ず、初期化処理を行う(ステップ81)。この処理において、ミス率保持部48の保持ミス率BMRをクリア(=0)する。また、基準値保持部50の保持基準値Bmを初期値(例えば「4」)とする。更に、変化方向保持部51の変化方向値Dmを初期値(例えば「0」)とする。
MR=(PMC/MC)×100
によりミス率MR(1st Premiss Rate)を算出する(ステップ84)。
先ず、初期化処理を行う(ステップ91)。この処理において、ヒット率保持部44の保持ヒット率BHRをクリア(=0)する。また、基準値保持部50の保持基準値Bnを初期値(例えば「4」)とする。更に、変化方向保持部51の変化方向値Dnを初期値(例えば「0」)とする。
HR=(AC/HC)×100
によりヒット率HR(Hit Rate)を算出する(ステップ93)。
従って、基準値算出部49は、ヒット率HRとミス率MRとに基づいて、キャッシュメモリ31におけるヒット率HRを高くし、その状態を維持するように基準値m,nを変更する。基準値m,nを変更する変更部は、ヒット率算出部43、ミス率算出部47、基準値算出部49を含む。
次に、上記のように構成された電子機器の動作を説明する。
先ず、キャッシュ判定、プリフェッチ動作を説明する。
<m、nが固定の場合の動作説明>
一例として、基準値fを「1」、基準値m,nを「4」とする。なお、図1に示すアドレス演算部23におけるカウント値CTと、そのカウント値CTに対応するアドレスADRを「CT,ADR」として示すと、それぞれ「0,0」「1,16」「2,32」「3,48」「4,64」「5,80」「6,96」「7,112」「8,128」「9,144」「10,160」となる。
処理の1つに、画像を回転する処理がある。
図10,図11は、それぞれ処理対象の画像101,102を示す。
図17に示すように、先ず、カウント値CT(=0)に基づいて、アドレス「0」によるリードが行われる。この時、キャッシュメモリ31にはデータが格納されていないため、アドレス「0」はキャッシュミスとなり、このアドレス「0」によりメインメモリ13に対してリードが実行される。即ち、アドレス「0」〜「3」のデータがメインメモリ13から読み出され、キャッシュメモリ31に書き込まれる。データが書き込まれるラインの番号をLnとする。つまり、0番目のライン(Ln=0)にデータが書き込まれる。
図20〜図22は、図14に示す周辺の領域122を処理する場合を示す。また、図20は、基準値m,nを「8,8」に設定した場合の処理を示し、図21は、基準値m,nを「4,4」に設定した場合の処理を示し、図22は、基準値m,nを「2,2」に設定した場合の処理を示す。
キャッシュのヒット率は、リードレイテンシを100サイクルとした場合の値である。処理速度は、「1」が最高速となるように正規化した値である。図12により、ヒット率を高くするほど処理速度が上がることが判る。また、わずかにヒット率を高くする(図において例えば0.2%)ことで、処理速度を約1.5倍にすることが可能であることが判る。従って、この実施形態のように、ヒット率を高くするように基準値m,nを変更することで、データの処理速度を高くする、つまりデータの処理時間を短縮することができる。
(1)基準値fに基づいてカウントされた値に対応するアドレスが発生するので、連続性を有するデータに対してキャッシュ判定を高速化することができる。従って、連続性を有するデータに対して処理を高速化することができる。
(5)キャッシュメモリのヒット率HRと先読みアドレスのミス率MRを算出し、これらの値が高くなるように基準値m,nを動的に変更することで、キャッシュのヒット率が高い状態を保つことができ、データに対する処理の高速化を図ることができる。
・上記実施形態では、基準値m,nをそれぞれ変更するようにしたが、基準値m,nを互いに同じ値に変更するようにしてもよい。例えば、基準値mの値を「10」に変更した場合に、基準値nの値を「10」に変更する。このようにしても、処理に応じて基準値m,nを動的に変更することで、処理時間の短縮化を図ることが可能となる。
・上記実施形態では、基準値算出部49の基準値テーブル49aを用いて基準値m及び基準値nの値を変更するようにしたが、基準値mと基準値nとのそれぞれにテーブルを設け、それぞれのテーブルから値を選択するようにしてもよい。
13 メインメモリ
22 カウンタ部
31 キャッシュメモリ
32 キャッシュ制御部
33 キャッシュ判定部
43 ヒット率算出部
47 ミス率算出部
49 基準値算出部
f,m,n 基準値
CT カウント値
HR ヒット率
MR ミス率
Claims (10)
- 制御信号に応じて第1の基準値と第2の基準値とを切り替え、前記第1の基準値又は前記第2の基準値に基づいて値をカウントするカウンタと、
前記カウンタの出力に対応するアドレスに基づいてキャッシュ判定を行い、キャッシュミスと判定した場合に前記制御信号を出力する制御部と、
前記キャッシュ判定に応じて前記第2の基準値の値を変更する変更部と、
を有することを特徴とするメモリアクセス判定回路。 - 前記変更部は、
前記キャッシュ判定に基づくキャッシュのヒット率を算出するヒット率算出部を有し、
前記ヒット率に応じて前記第2の基準値の値を変更する、
ことを特徴とする請求項1記載のメモリアクセス判定回路。 - 前記ヒット率算出部は、
キャッシュミスが発生したときに前記第2の基準値に基づくカウント値に応じたアドレスのキャッシュ判定に基づくキャッシュのミス率を算出する、
ことを特徴とする請求項2記載のメモリアクセス判定回路。 - 前記第2の基準値は、前記制御部がキャッシュミスと判定した後の最初のサイクルにおける第1のアドレスを生成するための基準値(m)と、前記最初のサイクル以後のサイクルにおける第2のアドレスを生成するための基準値(n)とを含み、
前記変更部は、
キャッシュミスが発生したときに前記第2の基準値に基づくカウント値に応じたアドレスのキャッシュ判定に基づくキャッシュのミス率に基づいて前記第1のアドレスを生成するための基準値の値を変更し、
前記キャッシュ判定に基づくキャッシュのヒット率に基づいて前記第2のアドレスを生成するための基準値の値を変更する、
ことを特徴とする請求項1記載のメモリアクセス判定回路。 - 前記変更部は、前回のヒット率を保持し、その保持したヒット率と算出したヒット率とに基づいて、ヒット率が高くなるように前記第2の基準値の値を変更する、
ことを特徴とする請求項1〜4のうちの何れか一項に記載のメモリアクセス判定回路。 - 前記制御部は、キャッシュミスが発生したときに、前記カウンタの出力に対応するアドレスを先読みアドレスとしてメインメモリに対する先読み処理を行い、前記メインメモリから読み出したデータをキャッシュメモリに記憶する、
ことを特徴とする請求項1〜5のうちの何れか一項に記載のメモリアクセス判定回路。 - 前記カウンタは、前記制御部がキャッシュミスであると判定した場合に前記第1の基準値に基づくカウント値を保持し、前記キャッシュミスとなったアドレスに基づくメインメモリへのアクセス状況に応じて前記第2の基準値に基づくカウント値を、保持された前記第1の基準値に基づくカウント値に切り替えることを特徴とする請求項1〜6のうちの何れか一項に記載のメモリアクセス判定回路。
- 基準値に基づいて値をカウントするカウンタの出力に対応するアドレスに基づいてキャッシュ判定を行って制御信号を出力するキャッシュ判定部と、
前記制御信号に応じて、前記判定部がキャッシュミスであると判定した場合に前記基準値を、前記キャッシュ判定におけるヒット率が高くなるように変更する変更部と、
を有することを特徴とするキャッシュ制御装置。 - 制御信号に応じて第1の基準値と第2の基準値とを切り替え、前記第1の基準値又は前記第2の基準値に基づいて値をカウントし、
前記カウントされた値に対応するアドレスに基づいてキャッシュ判定を行い、キャッシュミスと判定した場合に前記制御信号を出力し、前記キャッシュ判定に応じて前記第2の基準値の値を変更する、
ことを特徴とするメモリアクセス判定方法。 - メインメモリと、
前記メインメモリよりも高速なキャッシュメモリと、
制御信号に応じて第1の基準値と第2の基準値とを切り替え、前記第1の基準値又は前記第2の基準値に基づいて値をカウントするカウンタと、
前記カウンタの出力に対応するアドレスに基づいてキャッシュ判定を行い、キャッシュミスと判定した場合に前記制御信号を出力する制御部と、
前記キャッシュ判定に応じて前記第2の基準値の値を変更する変更部と、
を有することを特徴とする電子機器。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010223942A JP5569312B2 (ja) | 2010-10-01 | 2010-10-01 | メモリアクセス判定回路、メモリアクセス判定方法、キャッシュ制御装置および電子機器 |
US13/232,418 US8850118B2 (en) | 2010-10-01 | 2011-09-14 | Circuit and method for dynamically changing reference value for address counter based on cache determination |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010223942A JP5569312B2 (ja) | 2010-10-01 | 2010-10-01 | メモリアクセス判定回路、メモリアクセス判定方法、キャッシュ制御装置および電子機器 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012079108A true JP2012079108A (ja) | 2012-04-19 |
JP5569312B2 JP5569312B2 (ja) | 2014-08-13 |
Family
ID=45890819
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010223942A Expired - Fee Related JP5569312B2 (ja) | 2010-10-01 | 2010-10-01 | メモリアクセス判定回路、メモリアクセス判定方法、キャッシュ制御装置および電子機器 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8850118B2 (ja) |
JP (1) | JP5569312B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6191240B2 (ja) * | 2013-05-28 | 2017-09-06 | 富士通株式会社 | 変数更新装置、変数更新システム、変数更新方法、変数更新プログラム、変換プログラム、及びプログラム変更検証システム |
US10360159B1 (en) * | 2013-12-12 | 2019-07-23 | Groupon, Inc. | System, method, apparatus, and computer program product for providing a cache mechanism |
TW202001791A (zh) * | 2018-06-06 | 2020-01-01 | 晨星半導體股份有限公司 | 影像處理系統及其記憶體管理方法 |
CN110660012A (zh) * | 2018-06-29 | 2020-01-07 | 晨星半导体股份有限公司 | 图像处理系统及其内存管理方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007241927A (ja) * | 2006-03-13 | 2007-09-20 | Toshiba Corp | データ記憶装置及び方法 |
JP2008225915A (ja) * | 2007-03-13 | 2008-09-25 | Fujitsu Ltd | プリフェッチ制御装置、記憶装置システムおよびプリフェッチ制御方法 |
WO2008155815A1 (ja) * | 2007-06-19 | 2008-12-24 | Fujitsu Limited | 情報処理装置及びキャッシュ制御方法 |
JP2008310741A (ja) * | 2007-06-18 | 2008-12-25 | Fujitsu Ltd | キャッシュの最適化方法及び装置 |
JP2010198342A (ja) * | 2009-02-25 | 2010-09-09 | Fujitsu Semiconductor Ltd | メモリアクセス判定回路、メモリアクセス判定方法および電子機器 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09259040A (ja) | 1996-03-25 | 1997-10-03 | Sharp Corp | キャッシュメモリ装置 |
US7930485B2 (en) * | 2007-07-19 | 2011-04-19 | Globalfoundries Inc. | Speculative memory prefetch |
US8161242B2 (en) * | 2008-08-01 | 2012-04-17 | International Business Machines Corporation | Adaptive spill-receive mechanism for lateral caches |
-
2010
- 2010-10-01 JP JP2010223942A patent/JP5569312B2/ja not_active Expired - Fee Related
-
2011
- 2011-09-14 US US13/232,418 patent/US8850118B2/en not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007241927A (ja) * | 2006-03-13 | 2007-09-20 | Toshiba Corp | データ記憶装置及び方法 |
JP2008225915A (ja) * | 2007-03-13 | 2008-09-25 | Fujitsu Ltd | プリフェッチ制御装置、記憶装置システムおよびプリフェッチ制御方法 |
JP2008310741A (ja) * | 2007-06-18 | 2008-12-25 | Fujitsu Ltd | キャッシュの最適化方法及び装置 |
WO2008155815A1 (ja) * | 2007-06-19 | 2008-12-24 | Fujitsu Limited | 情報処理装置及びキャッシュ制御方法 |
JP2010198342A (ja) * | 2009-02-25 | 2010-09-09 | Fujitsu Semiconductor Ltd | メモリアクセス判定回路、メモリアクセス判定方法および電子機器 |
Also Published As
Publication number | Publication date |
---|---|
US8850118B2 (en) | 2014-09-30 |
US20120084513A1 (en) | 2012-04-05 |
JP5569312B2 (ja) | 2014-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3172950B2 (ja) | 予測キャッシングシステム | |
JP4706458B2 (ja) | 画像処理装置および画像処理方法 | |
CN107748723B (zh) | 支持无冲突跨步按块访问的存储方法及访存装置 | |
US20160105630A1 (en) | Method and Device for Processing Input Image Data | |
WO2022016925A1 (zh) | 神经网络计算装置 | |
JP5569312B2 (ja) | メモリアクセス判定回路、メモリアクセス判定方法、キャッシュ制御装置および電子機器 | |
CN113222115B (zh) | 面向卷积神经网络的共享缓存阵列 | |
JP5332721B2 (ja) | メモリアクセス制御回路、メモリアクセス制御方法および電子機器 | |
JP2014142938A (ja) | ピクセルキャッシュ及びピクセルキャッシュの動作方法 | |
JP5387558B2 (ja) | 画像処理装置および画像処理方法 | |
JP5327482B2 (ja) | 画像処理装置及び画像処理方法 | |
KR20220086512A (ko) | 데이터 워핑 장치 및 방법 | |
US20100030978A1 (en) | Memory controller, memory control method, and image processing device | |
JP2006164070A (ja) | データバッファ回路、インターフェース回路及びその制御方法 | |
CN114219700B (zh) | 一种图像处理方法、系统、设备及介质 | |
JP2015118638A (ja) | 情報処理装置及びその制御方法、プログラム | |
JP2003030129A (ja) | データバッファ | |
EP3948762A1 (en) | An electronic device and a method of operating such the electronic device | |
JP3866455B2 (ja) | 画像処理装置 | |
WO2020239211A1 (en) | Electronic device and method of operating such an electronic device | |
JP2003016438A (ja) | 画像生成装置 | |
JP4995540B2 (ja) | 半導体集積回路装置 | |
JP6076053B2 (ja) | 画像補間装置 | |
CN115147257A (zh) | 基于高速缓存的扭曲引擎 | |
JP2021190002A (ja) | 情報処理装置及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130701 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140213 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140311 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140507 |
|
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: 20140527 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140609 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5569312 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |