JP5076616B2 - プロセッサ及びプリフェッチ制御方法 - Google Patents
プロセッサ及びプリフェッチ制御方法 Download PDFInfo
- Publication number
- JP5076616B2 JP5076616B2 JP2007113792A JP2007113792A JP5076616B2 JP 5076616 B2 JP5076616 B2 JP 5076616B2 JP 2007113792 A JP2007113792 A JP 2007113792A JP 2007113792 A JP2007113792 A JP 2007113792A JP 5076616 B2 JP5076616 B2 JP 5076616B2
- Authority
- JP
- Japan
- Prior art keywords
- prefetch
- instruction
- control unit
- execution
- 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.)
- Active
Links
Images
Landscapes
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
- Memory System Of A Hierarchy Structure (AREA)
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記載の演算処理装置。 - 前記プリフェッチ制御部は、
前記実行履歴情報格納部に格納された経過時間と識別情報に基づいて、前記所定の処理の実行に必要な実行時間を推定することを特徴とする請求項2記載の演算処理装置。 - 前記プリフェッチ制御部は、
前記プリフェッチ対象領域の情報に基づいて指定されたデータが複数存在する場合、複数のデータ間の転送間隔を算出し、算出した転送間隔に基づいて、転送指示を出力することを特徴とする請求項1記載の演算処理装置。 - 前記プリフェッチ制御部は、
前記主記憶制御部における前記主記憶装置をアクセスするのに必要なリソースが空いている場合に転送指示を出力することを特徴とする請求項4記載の演算処理装置。 - データを記憶する主記憶装置に接続されるとともに、転送されたデータを保持するキャッシュメモリと、実行部と、プリフェッチ制御部と、主記憶制御部とを有する演算処理装置の制御方法であって、
前記実行部が、プログラムに含まれる所定の処理の前に挿入されたプリフェッチ開始命令を実行し、
前記実行部が、実行された前記プリフェッチ開始命令により指定されたプリフェッチ対象領域の情報を含むプリフェッチ開始指示を前記プリフェッチ制御部に出力し、
前記実行部からプリフェッチ開始指示を入力した場合、前記プリフェッチ制御部が、前記プリフェッチ対象領域の情報に基づいて指定されたデータを、前記主記憶装置から前記キャッシュメモリに転送させる転送指示を前記主記憶制御部に出力し、
前記主記憶制御部が、入力した転送指示により指定されたデータを、前記主記憶装置から前記キャッシュメモリに転送し、
前記実行部が、前記所定の処理の後に挿入されたプリフェッチ終了命令を実行し、
前記実行部が、前記プリフェッチ開始指示により開始されたプリフェッチを終了させるプリフェッチ終了指示を前記プリフェッチ制御部に出力し、
前記実行部からプリフェッチ終了指示を入力した場合、前記プリフェッチ制御部が、プリフェッチ開始指示を入力してからプリフェッチ終了指示を入力するまでの経過時間と、対応するプリフェッチ開始命令を識別する識別情報とを実行履歴情報格納部に対応付けて格納することを特徴とする演算処理装置の制御方法。
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 JP2008269450A (ja) | 2008-11-06 |
JP5076616B2 true 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 (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7109988B2 (ja) | 2018-05-16 | 2022-08-01 | 日本ドライケミカル株式会社 | 低層建物用高所消火装置 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5170050B2 (ja) * | 2009-09-30 | 2013-03-27 | 日本電気株式会社 | ハードウェアプロセッサおよびハードウェアプロセッサ制御方法並びに情報処理装置 |
CN104508640A (zh) * | 2012-08-22 | 2015-04-08 | 三菱电机株式会社 | 高速缓冲存储器控制器和高速缓冲存储器控制方法 |
JP6119523B2 (ja) * | 2013-09-20 | 2017-04-26 | 富士通株式会社 | 演算処理装置、演算処理装置の制御方法及びプログラム |
US9996350B2 (en) | 2014-12-27 | 2018-06-12 | Intel Corporation | Hardware apparatuses and methods to prefetch a multidimensional block of elements from a multidimensional array |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05334194A (ja) * | 1992-06-04 | 1993-12-17 | Mitsubishi Electric Corp | 情報処理装置 |
US6799263B1 (en) * | 1999-10-28 | 2004-09-28 | Hewlett-Packard Development Company, L.P. | Prefetch instruction for an unpredicted path including a flush field for indicating whether earlier prefetches are to be discarded and whether in-progress prefetches are to be aborted |
JP4030314B2 (ja) * | 2002-01-29 | 2008-01-09 | 富士通株式会社 | 演算処理装置 |
JP2003242027A (ja) * | 2002-02-13 | 2003-08-29 | Sony Corp | インタフェース装置、データ処理システム、及びデータ処理方法 |
JP3973597B2 (ja) * | 2003-05-14 | 2007-09-12 | 株式会社ソニー・コンピュータエンタテインメント | プリフェッチ命令制御方法、プリフェッチ命令制御装置、キャッシュメモリ制御装置、オブジェクトコードの生成方法および装置 |
US20060248520A1 (en) * | 2004-02-12 | 2006-11-02 | Teruo Kawabata | Program conversion device and program conversion method |
JP4212521B2 (ja) * | 2004-06-30 | 2009-01-21 | 株式会社東芝 | 先読み制御装置、プロセッサの一時記憶装置へデータの先読みを制御する先読み制御方法およびプログラム |
JP4151977B2 (ja) * | 2005-03-16 | 2008-09-17 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 先読み装置、先読み方法、および先読みプログラム |
-
2007
- 2007-04-24 JP JP2007113792A patent/JP5076616B2/ja active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7109988B2 (ja) | 2018-05-16 | 2022-08-01 | 日本ドライケミカル株式会社 | 低層建物用高所消火装置 |
Also Published As
Publication number | Publication date |
---|---|
JP2008269450A (ja) | 2008-11-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10817336B2 (en) | Apparatus and method to schedule time-sensitive tasks | |
JP4456490B2 (ja) | Dma装置 | |
EP1916601A2 (en) | Multiprocessor system | |
JP5548037B2 (ja) | 命令発行制御装置及び方法 | |
JP5498505B2 (ja) | データバースト間の競合の解決 | |
US8250557B2 (en) | Configuring a dependency graph for dynamic by-pass instruction scheduling | |
JP5076616B2 (ja) | プロセッサ及びプリフェッチ制御方法 | |
KR101640848B1 (ko) | 멀티코어 시스템 상에서 단위 작업을 할당하는 방법 및 그 장치 | |
JPH08106386A (ja) | データ処理システム | |
JPH0371354A (ja) | メモリ・アクセス要求処理方法及び装置 | |
EP1365321A2 (en) | Multiprocessor system | |
US6567901B1 (en) | Read around speculative load | |
JP5900088B2 (ja) | 並列計算機、並列計算機の制御方法及び制御プログラム | |
JP5499987B2 (ja) | 共有キャッシュメモリ装置 | |
JP4836903B2 (ja) | マイクロプロセッサ制御装置並びにその方法およびプログラム | |
JP5808495B2 (ja) | キャッシュメモリコントローラ及びキャッシュメモリコントロール方法 | |
KR102332523B1 (ko) | 연산 처리 장치 및 방법 | |
JP4404228B2 (ja) | タスクスケジューリングシステム、方法、およびプログラム | |
JP5155655B2 (ja) | マイクロプロセッサ出力ポート、及び、そこから提供された命令の制御 | |
JP6368452B2 (ja) | 非同期のデバイスによって実行されるタスクのスケジューリングの向上 | |
JP2007102447A (ja) | 演算処理装置 | |
JP6349837B2 (ja) | スケジューラ装置及びそのスケジューリング方法、演算処理システム、並びにコンピュータ・プログラム | |
JP2008015668A (ja) | タスク管理装置 | |
JP6488962B2 (ja) | キャッシュ制御装置、キャッシュ制御方法およびキャッシュ制御プログラム | |
JP3795055B1 (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 |