JP2008269450A - プロセッサ及びプリフェッチ制御方法 - Google Patents
プロセッサ及びプリフェッチ制御方法 Download PDFInfo
- Publication number
- JP2008269450A JP2008269450A JP2007113792A JP2007113792A JP2008269450A JP 2008269450 A JP2008269450 A JP 2008269450A JP 2007113792 A JP2007113792 A JP 2007113792A JP 2007113792 A JP2007113792 A JP 2007113792A JP 2008269450 A JP2008269450 A JP 2008269450A
- Authority
- JP
- Japan
- Prior art keywords
- prefetch
- instruction
- cache
- block
- control 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
Landscapes
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
【解決手段】本プロセッサは、実行ユニットとキャッシュとキャッシュブロックを主記憶からキャッシュに転送する主記憶制御部とキャッシュブロックの転送指示を主記憶制御部に出力するマルチブロックプリフェッチ制御部とを有する。そして、実行ユニットは、プログラム内の所定の処理の前に挿入された第1prefetch開始命令を実行し、プリフェッチ対象領域情報を含む第2prefetch開始命令をマルチブロックプリフェッチ制御部に出力する。また、マルチブロックプリフェッチ制御部は、第2prefetch開始命令を受信した場合、当該命令に含まれるプリフェッチ対象領域情報とキャッシュブロックの大きさとに基づき、転送すべき複数のキャッシュブロックを特定し、複数のキャッシュブロックを所定の処理の実行時間内で転送するようにスケジューリングし、転送指示を出力する。
【選択図】図4
Description
(調整後先頭アドレス)= 0xffffffc0 &(先頭アドレス) (1)
(調整後末尾アドレス)= 0xffffffc0 &(末尾アドレス+0x0000003f) (2)
図7の例では、(1)式により、調整後先頭アドレス(0xa0000040)が算出され、(2)式により、調整後末尾アドレス(0xa0000180)が算出される。
プログラムを実行する実行ユニットと、
キャッシュメモリと、
所定の大きさのキャッシュブロックを主記憶から前記キャッシュメモリに転送する主記憶制御部と、
前記キャッシュブロックの転送指示を前記主記憶制御部に出力するマルチブロックプリフェッチ制御部と、
を有し、
前記実行ユニットは、
前記プログラム内の所定の処理の前に挿入された第1プリフェッチ開始命令を実行し、当該第1プリフェッチ開始命令に係るプリフェッチ対象領域の情報を含む第2プリフェッチ開始命令を前記マルチブロックプリフェッチ制御部に出力し、
前記マルチブロックプリフェッチ制御部は、
前記実行ユニットから前記第2プリフェッチ開始命令を受信した場合に、前記第2プリフェッチ開始命令に含まれる前記プリフェッチ対象領域の情報と前記キャッシュブロックの前記所定の大きさとに基づいて、転送すべき複数のキャッシュブロックを特定し、
前記複数のキャッシュブロックを前記主記憶から前記キャッシュメモリに前記所定の処理の実行時間内で転送するようにスケジューリングし、前記転送指示を出力する
プロセッサ。
前記マルチブロックプリフェッチ制御部は、
前記主記憶制御部における主記憶アクセス用リソースの使用状況を監視し、前記主記憶アクセス用リソースが空いている場合に、前記転送指示を出力する
付記1記載のプロセッサ。
前記実行ユニットは、
前記プログラム内の所定の処理の後に挿入された第1プリフェッチ終了命令を実行し、第2プリフェッチ終了命令を前記マルチブロックプリフェッチ制御部に出力し、
前記マルチブロックプリフェッチ制御部は、
前記実行ユニットから前記第2プリフェッチ終了命令を受信した場合に、前記第2プリフェッチ開始命令を受信してから前記第2プリフェッチ終了命令を受信するまでの時間と当該時間に対応する前記第1プリフェッチ開始命令を特定するための所定の情報とを実行履歴テーブルに格納する
付記1記載のプロセッサ。
前記マルチブロックプリフェッチ制御部は、
前記実行履歴テーブルに格納された情報を基に前記所定の処理の実行時間を推定する
付記3記載のプロセッサ。
前記マルチブロックプリフェッチ制御部は、
推定された、前記所定の処理の実行時間を基に前記複数のキャッシュブロックの転送間隔を算出し、当該転送間隔を基に前記転送指示の出力時間を特定する
付記4記載のプロセッサ。
前記マルチブロックプリフェッチ制御部は、
前記複数のキャッシュブロックの転送間隔を算出し、当該転送間隔を基に前記転送指示の出力時間を特定する
付記1記載のプロセッサ。
前記マルチブロックプリフェッチ制御部は、
前記出力時間に達した場合又は前記主記憶制御部における主記憶アクセス用のリソースが空いている場合に、前記転送指示を出力する
付記5又は6記載のプロセッサ。
前記マルチブロックプリフェッチ制御部は、
前記転送指示を出力した後、前記複数のキャッシュブロックのうち未転送のキャッシュブロックがある場合には、前記転送間隔を基に次に出力すべき前記転送指示の出力時間を特定する
付記7記載のプロセッサ。
前記プリフェッチ対象領域の情報が、当該プリフェッチ対象領域の先頭アドレスと当該プリフェッチ対象領域の終了アドレス又はサイズとを含む
付記1記載のプロセッサ。
前記所定の処理が、前記第1プリフェッチ開始命令と前記第1プリフェッチ終了命令との間の処理を所定回数繰り返すループ処理である
付記3記載のプロセッサ。
プログラム内の所定の処理の前に挿入された第1プリフェッチ開始命令の実行時に実行ユニットから出力され、当該第1プリフェッチ開始命令に係るプリフェッチ対象領域の情報を含む第2プリフェッチ開始命令を受信した場合に、前記第2プリフェッチ開始命令に含まれる前記プリフェッチ対象領域の情報とキャッシュブロックのサイズとに基づいて、主記憶からキャッシュメモリに転送すべき複数のキャッシュブロックを特定するステップと、
前記複数のキャッシュブロックを前記主記憶から前記キャッシュメモリに前記所定の処理の実行時間内で転送するようにスケジューリングし、転送指示を主記憶制御部に出力するステップと、
を含む、プリフェッチ制御方法。
11 実行ユニット 13 キャッシュメモリ
15 マルチブロックプリフェッチ制御部 17 主記憶制御部
151 プリフェッチ予定表 152 実行履歴テーブル
Claims (6)
- プログラムを実行する実行ユニットと、
キャッシュメモリと、
所定の大きさのキャッシュブロックを主記憶から前記キャッシュメモリに転送する主記憶制御部と、
前記キャッシュブロックの転送指示を前記主記憶制御部に出力するマルチブロックプリフェッチ制御部と、
を有し、
前記実行ユニットは、
前記プログラム内の所定の処理の前に挿入された第1プリフェッチ開始命令を実行し、当該第1プリフェッチ開始命令に係るプリフェッチ対象領域の情報を含む第2プリフェッチ開始命令を前記マルチブロックプリフェッチ制御部に出力し、
前記マルチブロックプリフェッチ制御部は、
前記実行ユニットから前記第2プリフェッチ開始命令を受信した場合に、前記第2プリフェッチ開始命令に含まれる前記プリフェッチ対象領域の情報と前記キャッシュブロックの前記所定の大きさとに基づいて、転送すべき複数のキャッシュブロックを特定し、
前記複数のキャッシュブロックを前記主記憶から前記キャッシュメモリに前記所定の処理の実行時間内で転送するようにスケジューリングし、前記転送指示を出力する
プロセッサ。 - 前記実行ユニットは、
前記プログラム内の所定の処理の後に挿入された第1プリフェッチ終了命令を実行し、第2プリフェッチ終了命令を前記マルチブロックプリフェッチ制御部に出力し、
前記マルチブロックプリフェッチ制御部は、
前記実行ユニットから前記第2プリフェッチ終了命令を受信した場合に、前記第2プリフェッチ開始命令を受信してから前記第2プリフェッチ終了命令を受信するまでの時間と当該時間に対応する前記第1プリフェッチ開始命令を特定するための所定の情報とを実行履歴テーブルに格納する
請求項1記載のプロセッサ。 - 前記マルチブロックプリフェッチ制御部は、
前記実行履歴テーブルに格納された情報を基に前記所定の処理の実行時間を推定する
請求項2記載のプロセッサ。 - 前記マルチブロックプリフェッチ制御部は、
前記複数のキャッシュブロックの転送間隔を算出し、当該転送間隔を基に前記転送指示の出力時間を特定する
請求項1記載のプロセッサ。 - 前記マルチブロックプリフェッチ制御部は、
前記出力時間に達した場合又は前記主記憶制御部における主記憶アクセス用のリソースが空いている場合に、前記転送指示を出力する
請求項4記載のプロセッサ。 - プログラム内の所定の処理の前に挿入された第1プリフェッチ開始命令の実行時に実行ユニットから出力され、当該第1プリフェッチ開始命令に係るプリフェッチ対象領域の情報を含む第2プリフェッチ開始命令を受信した場合に、前記第2プリフェッチ開始命令に含まれる前記プリフェッチ対象領域の情報とキャッシュブロックのサイズとに基づいて、主記憶からキャッシュメモリに転送すべき複数のキャッシュブロックを特定するステップと、
前記複数のキャッシュブロックを前記主記憶から前記キャッシュメモリに前記所定の処理の実行時間内で転送するようにスケジューリングし、転送指示を主記憶制御部に出力するステップと、
を含む、プリフェッチ制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007113792A JP5076616B2 (ja) | 2007-04-24 | 2007-04-24 | プロセッサ及びプリフェッチ制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007113792A JP5076616B2 (ja) | 2007-04-24 | 2007-04-24 | プロセッサ及びプリフェッチ制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008269450A true JP2008269450A (ja) | 2008-11-06 |
JP5076616B2 JP5076616B2 (ja) | 2012-11-21 |
Family
ID=40048832
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007113792A Active JP5076616B2 (ja) | 2007-04-24 | 2007-04-24 | プロセッサ及びプリフェッチ制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5076616B2 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011076314A (ja) * | 2009-09-30 | 2011-04-14 | Nec Corp | ハードウェアプロセッサおよびハードウェアプロセッサ制御方法並びに情報処理装置 |
WO2014030387A1 (ja) * | 2012-08-22 | 2014-02-27 | 三菱電機株式会社 | キャッシュメモリコントローラ及びキャッシュメモリコントロール方法 |
JP2015060529A (ja) * | 2013-09-20 | 2015-03-30 | 富士通株式会社 | 演算処理装置、演算処理装置の制御方法及びプログラム |
US10656944B2 (en) | 2014-12-27 | 2020-05-19 | Intel Corporation | Hardware apparatus and methods to prefetch a multidimensional block of elements from a multidimensional array |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7109988B2 (ja) | 2018-05-16 | 2022-08-01 | 日本ドライケミカル株式会社 | 低層建物用高所消火装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05334194A (ja) * | 1992-06-04 | 1993-12-17 | Mitsubishi Electric Corp | 情報処理装置 |
JP2001134440A (ja) * | 1999-10-28 | 2001-05-18 | Hewlett Packard Co <Hp> | 命令をプリフェッチする方法 |
JP2003223359A (ja) * | 2002-01-29 | 2003-08-08 | Fujitsu Ltd | 演算処理装置 |
JP2003242027A (ja) * | 2002-02-13 | 2003-08-29 | Sony Corp | インタフェース装置、データ処理システム、及びデータ処理方法 |
JP2004348175A (ja) * | 2003-05-14 | 2004-12-09 | Sony Computer Entertainment Inc | プリフェッチ命令制御方法、プリフェッチ命令制御装置、およびキャッシュメモリ制御装置 |
WO2005078579A1 (ja) * | 2004-02-12 | 2005-08-25 | Matsushita Electric Industrial Co., Ltd. | プログラム変換装置およびプログラム変換方法 |
JP2006018474A (ja) * | 2004-06-30 | 2006-01-19 | Toshiba Corp | 先読み制御装置、プロセッサの一時記憶装置へデータの先読みを制御する先読み制御方法およびプログラム |
JP2006260067A (ja) * | 2005-03-16 | 2006-09-28 | Internatl Business Mach Corp <Ibm> | 先読み装置、先読み方法、および先読みプログラム |
-
2007
- 2007-04-24 JP JP2007113792A patent/JP5076616B2/ja active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05334194A (ja) * | 1992-06-04 | 1993-12-17 | Mitsubishi Electric Corp | 情報処理装置 |
JP2001134440A (ja) * | 1999-10-28 | 2001-05-18 | Hewlett Packard Co <Hp> | 命令をプリフェッチする方法 |
JP2003223359A (ja) * | 2002-01-29 | 2003-08-08 | Fujitsu Ltd | 演算処理装置 |
JP2003242027A (ja) * | 2002-02-13 | 2003-08-29 | Sony Corp | インタフェース装置、データ処理システム、及びデータ処理方法 |
JP2004348175A (ja) * | 2003-05-14 | 2004-12-09 | Sony Computer Entertainment Inc | プリフェッチ命令制御方法、プリフェッチ命令制御装置、およびキャッシュメモリ制御装置 |
WO2005078579A1 (ja) * | 2004-02-12 | 2005-08-25 | Matsushita Electric Industrial Co., Ltd. | プログラム変換装置およびプログラム変換方法 |
JP2006018474A (ja) * | 2004-06-30 | 2006-01-19 | Toshiba Corp | 先読み制御装置、プロセッサの一時記憶装置へデータの先読みを制御する先読み制御方法およびプログラム |
JP2006260067A (ja) * | 2005-03-16 | 2006-09-28 | Internatl Business Mach Corp <Ibm> | 先読み装置、先読み方法、および先読みプログラム |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011076314A (ja) * | 2009-09-30 | 2011-04-14 | Nec Corp | ハードウェアプロセッサおよびハードウェアプロセッサ制御方法並びに情報処理装置 |
WO2014030387A1 (ja) * | 2012-08-22 | 2014-02-27 | 三菱電機株式会社 | キャッシュメモリコントローラ及びキャッシュメモリコントロール方法 |
JP2015060529A (ja) * | 2013-09-20 | 2015-03-30 | 富士通株式会社 | 演算処理装置、演算処理装置の制御方法及びプログラム |
US10656944B2 (en) | 2014-12-27 | 2020-05-19 | Intel Corporation | Hardware apparatus and methods to prefetch a multidimensional block of elements from a multidimensional array |
Also Published As
Publication number | Publication date |
---|---|
JP5076616B2 (ja) | 2012-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1916601A2 (en) | Multiprocessor system | |
JP5548037B2 (ja) | 命令発行制御装置及び方法 | |
TWI453663B (zh) | 預取資料的系統與方法 | |
CN109446112B (zh) | 用于预取流量的改进控制的方法和系统 | |
JP5498505B2 (ja) | データバースト間の競合の解決 | |
US8250557B2 (en) | Configuring a dependency graph for dynamic by-pass instruction scheduling | |
JP2006195823A (ja) | Dma装置 | |
JP5076616B2 (ja) | プロセッサ及びプリフェッチ制御方法 | |
JP5336423B2 (ja) | 計算機システム | |
JP2008090546A (ja) | マルチプロセッサシステム | |
CN107729267B (zh) | 资源的分散分配以及用于支持由多个引擎执行指令序列的互连结构 | |
KR20110075296A (ko) | 멀티코어 시스템 상에서 단위 작업을 할당하는 방법 및 그 장치 | |
JP5499987B2 (ja) | 共有キャッシュメモリ装置 | |
JP4030314B2 (ja) | 演算処理装置 | |
KR102332523B1 (ko) | 연산 처리 장치 및 방법 | |
CN103197917A (zh) | 计算线程阵列粒度执行抢占 | |
JP5128382B2 (ja) | 複数のロード命令を実行するための方法および装置 | |
JP5155655B2 (ja) | マイクロプロセッサ出力ポート、及び、そこから提供された命令の制御 | |
US20060047921A1 (en) | Method and apparatus for managing storage used by a processor when processing instructions | |
KR101122180B1 (ko) | 명령 제어 장치 및 명령 제어 방법 | |
JP6368452B2 (ja) | 非同期のデバイスによって実行されるタスクのスケジューリングの向上 | |
KR20190094195A (ko) | 벡터 생성 명령 | |
JP6349837B2 (ja) | スケジューラ装置及びそのスケジューリング方法、演算処理システム、並びにコンピュータ・プログラム | |
JP2008015668A (ja) | タスク管理装置 | |
JP6488962B2 (ja) | キャッシュ制御装置、キャッシュ制御方法およびキャッシュ制御プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100119 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120412 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120424 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120622 |
|
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: 20120731 |
|
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: 20120813 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150907 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5076616 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |