JP4212521B2 - 先読み制御装置、プロセッサの一時記憶装置へデータの先読みを制御する先読み制御方法およびプログラム - Google Patents
先読み制御装置、プロセッサの一時記憶装置へデータの先読みを制御する先読み制御方法およびプログラム Download PDFInfo
- Publication number
- JP4212521B2 JP4212521B2 JP2004194372A JP2004194372A JP4212521B2 JP 4212521 B2 JP4212521 B2 JP 4212521B2 JP 2004194372 A JP2004194372 A JP 2004194372A JP 2004194372 A JP2004194372 A JP 2004194372A JP 4212521 B2 JP4212521 B2 JP 4212521B2
- Authority
- JP
- Japan
- Prior art keywords
- information
- access
- data
- prefetch
- address translation
- 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.)
- Expired - Fee Related
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
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)
- Advance Control (AREA)
Description
"Computer Architecture: A Quantitative Approach", John L. Hennessy , David A. Patterson, Morgan Kaufmann, Publishers ; ISBN: 1558607242
図1は本発明の第1の実施形態に係る計算機システムを示すブロック図である。計算機システム101は、プロセッサ102、キャッシュ103、バスアクセス装置104、バス105、主記憶装置106、および先読み制御装置107を含んでいる。プロセッサ102は、演算処理に使用するデータをキャッシュ103に対してアクセスする。キャッシュ103は、必要なデータがキャッシュ上に存在しない場合には、バスアクセス装置104に対してデータ転送を指示する。バスアクセス装置104は、指示されたデータをバス105を介して主記憶装置106より転送する。先読み制御装置107は、プロセッサ102から得たアクセスヒント情報およびシステム情報に基づいて先読み処理を制御し、バスアクセス装置104に必要なデータの転送を指示する。アクセスヒント情報およびシステム情報については後述する。
本発明の第2の実施形態はアドレス変換情報の先読みに関する。第1の実施形態で説明したデータの一時記憶(キャッシュ)のみならず、アドレス変換の仕組みについても、同様に本発明を適用可能であることを説明する。
図16は、本発明の第3の実施形態に係る先読み制御装置を示すブロック図である。
図17は本発明の第4の実施形態に係る計算機システムを示すブロック図である。同図に示すように、本実施形態に係る計算機システムは、バス905を介して主記憶装置906に対し接続される複数のプロセッサユニット901a,901b,901c...を有する。なお、図16において、各プロセッサユニットは第2の実施形態で説明した計算機システム901と同様の構成であるが、アドレス変換装置等を含まずデータキャッシュのみを備える構成も可能である。
102,902,1102…プロセッサ;
103,903,1003…キャッシュ;
104,904,1004…バスアクセス装置;
105,905,1005…バス;
106,906,1006…主記憶装置;
107,907,1007…先読み制御装置;
908,1008…アドレス変換装置;
909,1009…アドレス変換情報キャッシュ
Claims (12)
- 主記憶装置にバスを介して接続され、該バスを介して前記主記憶装置からアドレス変換情報を読み出して一時記憶装置に転送するアドレス変換装置に対し、アドレス変換情報の先読みを指示する先読み制御装置において、
前記主記憶装置に対するデータアクセスの時間間隔を表すアクセスヒント情報を取得する手段と、
前記アクセスヒント情報を記憶するテーブルと、
前記アドレス変換装置による前記バスを介したアドレス変換情報の転送における転送遅延時間を表すシステム情報を取得する手段と、
データの転送指示を監視することにより、前記テーブルに記憶されたアクセスヒント情報に該当するデータアクセスの開始を識別する手段と、
前記データアクセスの開始を識別したら、前記アクセスヒント情報が表すデータアクセスの時間間隔及びアドレス変換単位とデータアクセスのストライドとの大小関係から、同一のアドレス変換情報を用いることが可能な時間を表すアドレス変換情報使用時間を計算し、該アドレス変換情報使用時間と前記システム情報が表す転送遅延時間とに基づいて、第1の先読み単位数を計算する手段と、
前記第1の先読み単位数のアドレス変換情報を当該アドレス変換情報を用いるアドレス変換に先行して前記主記憶装置から読み出すとともに前記一時記憶装置に転送するよう、前記アドレス変換装置に指示する手段と、を具備する先読み制御装置。 - 前記一時記憶装置はアドレス変換情報キャッシュを含む請求項1記載の先読み制御装置。
- 前記データアクセスの時間間隔と前記システム情報が表す転送遅延時間とに基づいて第2の先読み単位数を計算し、該第2の先読み単位数に相当するデータを当該データについてのデータアクセスに先行して前記主記憶装置から読み出すとともにデータキャッシュに転送するよう、バスアクセス装置に指示する手段をさらに具備する請求項1記載の先読み制御装置。
- 前記第2の先読み単位数は、前記転送遅延時間をデータアクセス時間で除することにより計算され、前記データアクセス時間は、前記アクセスヒント情報が表すデータアクセスの時間間隔をプロセッサのクロック速度で除することにより計算されることを特徴とする請求項3記載の先読み制御装置。
- 主記憶装置にバスを介して接続され、該バスを介して前記主記憶装置からアドレス変換情報を読み出して一時記憶装置に転送するアドレス変換装置に対し、アドレス変換情報の先読みを指示する先読み制御方法において、
前記主記憶装置に対するデータアクセスの時間間隔を表すアクセスヒント情報を取得するステップと、
前記アクセスヒント情報をテーブルに記憶するステップと、
前記アドレス変換装置による前記バスを介したアドレス変換情報の転送における転送遅延時間を表すシステム情報を取得するステップと、
データの転送指示を監視することにより、前記テーブルに記憶されたアクセスヒント情報に該当するデータアクセスの開始を識別するステップと、
前記データアクセスの開始を識別したら、前記アクセスヒント情報が表すデータアクセスの時間間隔及びアドレス変換単位とデータアクセスのストライドとの大小関係から、同一のアドレス変換情報を用いることが可能な時間を表すアドレス変換情報使用時間を計算し、該アドレス変換情報使用時間と前記システム情報が表す転送遅延時間とに基づいて、第1の先読み単位数を計算するステップと、
前記第1の先読み単位数のアドレス変換情報を当該アドレス変換情報を用いるアドレス変換に先行して前記主記憶装置から読み出すとともに前記一時記憶装置に転送するよう、前記アドレス変換装置に指示するステップと、を具備する先読み制御方法。 - 前記一時記憶装置はアドレス変換情報キャッシュを含む請求項5記載の先読み制御方法。
- 前記データアクセスの時間間隔と前記システム情報が表す転送遅延時間とに基づいて第2の先読み単位数を計算し、該第2の先読み単位数に相当するデータを当該データについてのデータアクセスに先行して前記主記憶装置から読み出すとともにデータキャッシュに転送するようバスアクセス装置に指示するステップをさらに具備する請求項5記載の先読み制御方法。
- 前記第2の先読み単位数は、前記転送遅延時間をデータアクセス時間で除することにより計算され、前記データアクセス時間は、前記アクセスヒント情報が表すデータアクセスの時間間隔をプロセッサのクロック速度で除することにより計算されることを特徴とする請求項7記載の先読み制御方法。
- 主記憶装置にバスを介して接続され、該バスを介して前記主記憶装置からアドレス変換情報を読み出して一時記憶装置に転送するアドレス変換装置に対し、アドレス変換情報の先読みを指示する先読み制御装置としてコンピュータを機能させるためのプログラムであって、
前記主記憶装置に対するデータアクセスの時間間隔を表すアクセスヒント情報を取得する手順と、
前記アクセスヒント情報をテーブルに記憶する手順と、
前記アドレス変換装置による前記バスを介したアドレス変換情報の転送における転送遅延時間を表すシステム情報を取得する手順と、
データの転送指示を監視することにより、前記テーブルに記憶されたアクセスヒント情報に該当するデータアクセスの開始を識別する手順と、
前記データアクセスの開始を識別したら、前記アクセスヒント情報が表すデータアクセスの時間間隔及びアドレス変換単位とデータアクセスのストライドとの大小関係から、同一のアドレス変換情報を用いることが可能な時間を表すアドレス変換情報使用時間を計算し、該アドレス変換情報使用時間と前記システム情報が表す転送遅延時間とに基づいて、第1の先読み単位数を計算する手順と、
前記第1の先読み単位数のアドレス変換情報を当該アドレス変換情報を用いるアドレス変換に先行して前記主記憶装置から読み出すとともに前記一時記憶装置に転送するよう、前記アドレス変換装置に指示する手順とをコンピュータに実行させるためのプログラム。 - 前記一時記憶装置はアドレス変換情報キャッシュを含む請求項9記載のプログラム。
- 前記データアクセスの時間間隔と前記システム情報が表す転送遅延時間とに基づいて第2の先読み単位数を計算し、該第2の先読み単位数に相当するデータを当該データについてのデータアクセスに先行して前記主記憶装置から読み出すとともにデータキャッシュに転送するようバスアクセス装置に指示する手順をさらにコンピュータに実行させるための請求項9記載のプログラム。
- 前記第2の先読み単位数は、前記転送遅延時間をデータアクセス時間で除することにより計算され、前記データアクセス時間は、前記アクセスヒント情報が表すデータアクセスの時間間隔をプロセッサのクロック速度で除することにより計算されることを特徴とする請求項11記載のプログラム。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004194372A JP4212521B2 (ja) | 2004-06-30 | 2004-06-30 | 先読み制御装置、プロセッサの一時記憶装置へデータの先読みを制御する先読み制御方法およびプログラム |
EP05253269A EP1622032A3 (en) | 2004-06-30 | 2005-05-27 | Preload controller, preload control method for controlling preload of data by processor to temporary memory, and program |
US11/151,344 US7500061B2 (en) | 2004-06-30 | 2005-06-14 | Preload controller, preload control method for controlling preload of data by processor to temporary memory, and program |
CNB2005100818213A CN100385390C (zh) | 2004-06-30 | 2005-06-30 | 预载控制器以及控制数据的预载访问的方法 |
US12/190,370 US20080307162A1 (en) | 2004-06-30 | 2008-08-12 | Preload controller, preload control method for controlling preload of data by processor to temporary memory, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004194372A JP4212521B2 (ja) | 2004-06-30 | 2004-06-30 | 先読み制御装置、プロセッサの一時記憶装置へデータの先読みを制御する先読み制御方法およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006018474A JP2006018474A (ja) | 2006-01-19 |
JP4212521B2 true JP4212521B2 (ja) | 2009-01-21 |
Family
ID=34941479
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004194372A Expired - Fee Related JP4212521B2 (ja) | 2004-06-30 | 2004-06-30 | 先読み制御装置、プロセッサの一時記憶装置へデータの先読みを制御する先読み制御方法およびプログラム |
Country Status (4)
Country | Link |
---|---|
US (2) | US7500061B2 (ja) |
EP (1) | EP1622032A3 (ja) |
JP (1) | JP4212521B2 (ja) |
CN (1) | CN100385390C (ja) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4945200B2 (ja) | 2006-08-29 | 2012-06-06 | 株式会社日立製作所 | 計算機システム及びプロセッサの制御方法 |
JP5076616B2 (ja) * | 2007-04-24 | 2012-11-21 | 富士通株式会社 | プロセッサ及びプリフェッチ制御方法 |
US7730289B2 (en) * | 2007-09-27 | 2010-06-01 | Faraday Technology Corp. | Method for preloading data in a CPU pipeline |
JP2011095852A (ja) * | 2009-10-27 | 2011-05-12 | Toshiba Corp | キャッシュメモリ制御回路 |
JP2011198091A (ja) * | 2010-03-19 | 2011-10-06 | Toshiba Corp | 仮想アドレスキャッシュメモリ、プロセッサ及びマルチプロセッサシステム |
US9403003B2 (en) | 2010-07-30 | 2016-08-02 | Advanced Bionics Ag | Methods and systems for fitting a sound processor to a patient using a plurality of pre-loaded sound processing programs |
US8850123B2 (en) * | 2010-10-19 | 2014-09-30 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Cache prefetch learning |
US9092358B2 (en) * | 2011-03-03 | 2015-07-28 | Qualcomm Incorporated | Memory management unit with pre-filling capability |
CN102522110B (zh) * | 2011-11-30 | 2014-07-30 | 苏州顺芯半导体有限公司 | 数字音频接口发送电路中实现数据预加载的方法和装置 |
CN104025065B (zh) | 2011-12-21 | 2018-04-06 | 英特尔公司 | 用于存储器层次察觉的生产者‑消费者指令的装置和方法 |
US9711392B2 (en) | 2012-07-25 | 2017-07-18 | Infineon Technologies Ag | Field emission devices and methods of making thereof |
US9122613B2 (en) * | 2013-03-07 | 2015-09-01 | Arm Limited | Prefetching of data and instructions in a data processing apparatus |
US9384136B2 (en) * | 2013-04-12 | 2016-07-05 | International Business Machines Corporation | Modification of prefetch depth based on high latency event |
JP6458682B2 (ja) * | 2015-08-24 | 2019-01-30 | 富士通株式会社 | 演算処理装置及び演算処理装置の制御方法 |
US10402332B2 (en) * | 2016-05-24 | 2019-09-03 | Xilinx, Inc. | Memory pre-fetch for virtual memory |
US10713173B2 (en) | 2018-09-06 | 2020-07-14 | Intel Corporation | Memory controller with pre-loader |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09198249A (ja) * | 1996-01-16 | 1997-07-31 | Canon Inc | プリフェッチ制御装置及び方法 |
US5829028A (en) * | 1996-05-06 | 1998-10-27 | Advanced Micro Devices, Inc. | Data cache configured to store data in a use-once manner |
US5940876A (en) * | 1997-04-02 | 1999-08-17 | Advanced Micro Devices, Inc. | Stride instruction for fetching data separated by a stride amount |
US6012106A (en) * | 1997-11-03 | 2000-01-04 | Digital Equipment Corporation | Prefetch management for DMA read transactions depending upon past history of actual transfer lengths |
US6401192B1 (en) * | 1998-10-05 | 2002-06-04 | International Business Machines Corporation | Apparatus for software initiated prefetch and method therefor |
JP3969009B2 (ja) * | 2001-03-29 | 2007-08-29 | 株式会社日立製作所 | ハードウェアプリフェッチシステム |
US6760818B2 (en) * | 2002-05-01 | 2004-07-06 | Koninklijke Philips Electronics N.V. | Memory region based data pre-fetching |
US6918010B1 (en) * | 2002-10-16 | 2005-07-12 | Silicon Graphics, Inc. | Method and system for prefetching data |
KR20050084232A (ko) * | 2002-12-12 | 2005-08-26 | 코닌클리즈케 필립스 일렉트로닉스 엔.브이. | 데이터 프리패치 방법, 프리패치 시스템 및 프로세싱시스템 |
US6981099B2 (en) * | 2002-12-16 | 2005-12-27 | Sun Microsystems, Inc. | Smart-prefetch |
US7146467B2 (en) * | 2003-04-14 | 2006-12-05 | Hewlett-Packard Development Company, L.P. | Method of adaptive read cache pre-fetching to increase host read throughput |
US7177985B1 (en) * | 2003-05-30 | 2007-02-13 | Mips Technologies, Inc. | Microprocessor with improved data stream prefetching |
US7228387B2 (en) * | 2003-06-30 | 2007-06-05 | Intel Corporation | Apparatus and method for an adaptive multiple line prefetcher |
-
2004
- 2004-06-30 JP JP2004194372A patent/JP4212521B2/ja not_active Expired - Fee Related
-
2005
- 2005-05-27 EP EP05253269A patent/EP1622032A3/en not_active Withdrawn
- 2005-06-14 US US11/151,344 patent/US7500061B2/en not_active Expired - Fee Related
- 2005-06-30 CN CNB2005100818213A patent/CN100385390C/zh not_active Expired - Fee Related
-
2008
- 2008-08-12 US US12/190,370 patent/US20080307162A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
EP1622032A2 (en) | 2006-02-01 |
US20060004966A1 (en) | 2006-01-05 |
CN100385390C (zh) | 2008-04-30 |
JP2006018474A (ja) | 2006-01-19 |
US7500061B2 (en) | 2009-03-03 |
CN1716187A (zh) | 2006-01-04 |
EP1622032A3 (en) | 2009-07-15 |
US20080307162A1 (en) | 2008-12-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4212521B2 (ja) | 先読み制御装置、プロセッサの一時記憶装置へデータの先読みを制御する先読み制御方法およびプログラム | |
US8667225B2 (en) | Store aware prefetching for a datastream | |
JP3820261B2 (ja) | データ処理システムの外部および内部命令セット | |
US7644234B2 (en) | Information processing apparatus with a cache memory and information processing method | |
US9727469B2 (en) | Performance-driven cache line memory access | |
JP7160956B2 (ja) | 分岐命令のタイプに基づく先行分岐予測の選択的実行 | |
JP3549079B2 (ja) | キャッシュ制御の命令プリフェッチ方法 | |
US9201798B2 (en) | Processor instruction based data prefetching | |
MXPA97002265A (en) | Method and apparatus for processing memory type information within a microprocess | |
JP2004326785A (ja) | 同時マルチスレッドのための分割分岐履歴テーブルおよびカウント・キャッシュ | |
TW200842703A (en) | Branch predictor directed prefetch | |
TW201126413A (en) | Microprocessor that performs fast repeat string loads | |
US5784711A (en) | Data cache prefetching under control of instruction cache | |
US7526613B2 (en) | Data processing system with prefetching means | |
US9639472B2 (en) | Prefetch list management in a computer system | |
US6446143B1 (en) | Methods and apparatus for minimizing the impact of excessive instruction retrieval | |
US20220083338A1 (en) | DSB Operation with Excluded Region | |
Zhao et al. | Hardware support for accelerating data movement in server platform | |
JP2015060529A (ja) | 演算処理装置、演算処理装置の制御方法及びプログラム | |
JPH0651982A (ja) | 演算処理装置 | |
Few | Infovis as seen by the world out there: 2007 in review | |
KR100282225B1 (ko) | 데이타 캐쉬 메모리의 제어장치 | |
EP0482706A2 (en) | Method for intelligent data cache prefetching, and computer for implementing this method | |
JP2002318688A (ja) | 画像処理装置、画像処理方法、プログラム | |
JPH0492940A (ja) | トランザクション実行方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080604 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080617 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080813 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080902 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081003 |
|
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: 20081021 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20081028 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111107 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111107 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121107 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131107 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |