JP2005536798A - メモリバスのプロトコル特性に適合するプロセッサのプリフェッチ - Google Patents
メモリバスのプロトコル特性に適合するプロセッサのプリフェッチ Download PDFInfo
- Publication number
- JP2005536798A JP2005536798A JP2004530473A JP2004530473A JP2005536798A JP 2005536798 A JP2005536798 A JP 2005536798A JP 2004530473 A JP2004530473 A JP 2004530473A JP 2004530473 A JP2004530473 A JP 2004530473A JP 2005536798 A JP2005536798 A JP 2005536798A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- cache
- processor
- data elements
- mode
- 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.)
- Pending
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)
Abstract
Description
An+1=An+(4×要素サイズ)
を使用して見つけられる。
An MOD (要素サイズ)=0
である。メモリサブシステム内のキャッシュラインを整列させることにより、メモリサブシステムからのこれらのキャッシュラインの読み出しが容易になる。図3aのキャッシュラインは、それぞれが、4個の要素を有し、すなわち、
An MOD 4=0
であるとしても、8個の要素のキャッシュラインもまた容易にサポートされる。8個の要素からなるキャッシュラインを有するメモリは図3bに示されている。
An+1=An+(8×要素サイズ)
を使用して見つけられる。
Claims (29)
- 第1のN個のデータ要素の組および隣接する第2のN個のデータ要素の組を記憶するメモリロケーションを有する第1のメモリであって、両方のデータ要素の組が前記第1のメモリ内でライン状に整列され、前記N個のデータ要素が整数個のラインを形成する、前記第1のメモリを準備するステップと、
キャッシュメモリを準備するステップと、
前記キャッシュメモリにアクセスし、かつ、第1のモードおよび第2のモードの二つのモードのそれぞれで動作するプロセッサを準備するステップと、
前記プロセッサの動作モードを判定するステップと、
前記プロセッサが前記第1の動作モードにある時、前記第1のメモリから前記キャッシュメモリへN個のデータ要素を同時に転送するステップと、
Mが1よりも大きい整数であり、前記プロセッサが前記第2の動作モードにある時少なくとも時折は、前記第1のメモリから前記キャッシュメモリへM×N個のデータ要素を同時に転送するステップと、
を有する、キャッシュラインをフェッチする方法。 - 前記第1のモードは前記プロセッサによって要求されたデータがその要求の時点で前記キャッシュメモリ内に記憶されているキャッシュヒットモードを含み、
前記第2のモードは前記プロセッサによって要求されたデータがその要求の時点で前記キャッシュメモリ以外に記憶されているキャッシュミスモードを含む、
請求項1に記載の方法。 - キャッシュミスが発生したデータ要素が前記第1のメモリ内でM本のラインの境界に揃えられているかどうかを判定するステップをさらに有し、
前記第1のメモリから前記キャッシュメモリへM×N個のデータ要素を同時に転送するステップは前記データ要素がM本のラインの境界に揃えられている時に限り実行される、
請求項2に記載のキャッシュラインをフェッチする方法。 - Mが2のべき乗である、請求項3に記載の方法。
- Mが2である、請求項4に記載の方法。
- N=4である、請求項5に記載の方法。
- キャッシュミスが発生したデータ要素が前記第1のメモリ内でM本のラインの境界に揃えられたデータ要素のライン内にあるかどうかを判定するステップをさらに有し、
前記第1のメモリから前記キャッシュメモリへM×N個のデータ要素を同時に転送するステップは前記データ要素がM本のラインの境界に揃えられている時に限り実行される、
請求項2に記載の方法。 - Mが2のべき乗である、請求項7に記載の方法。
- Mが2である、請求項8に記載の方法。
- N=4である、請求項9に記載の方法。
- 第1の動作モードおよび第2の動作モードを含む複数の動作モードの中からプロセッサの動作モードを判定するステップと、
前記プロセッサが前記第1の動作モードにある時、第1のメモリからキャッシュメモリへN個のデータ要素を同時に転送するステップと、
Mが1よりも大きい整数であり、前記プロセッサが前記第2の動作モードにある時に少なくとも時折は、前記第1のメモリから前記キャッシュメモリへM×N個のデータ要素を同時に転送するステップと、
を実行する命令を記述するデータが記憶されたメモリ。 - 前記データは、前記第1の動作モードが前記プロセッサによって要求されたデータがその要求の時点で前記キャッシュメモリ内に記憶されているキャッシュヒットモードを含み、前記第2の動作モードが前記プロセッサによって要求されたデータがその要求の時点で前記キャッシュメモリ以外に記憶されているキャッシュミスモードを含むように、命令を実行するためのデータである、請求項11に記載のメモリ。
- 前記データは、キャッシュミスが発生したデータ要素が前記第1のメモリ内でM本のラインの境界に揃えられているかどうかを判定するステップを実行する命令を記述し、
前記第1のメモリから前記キャッシュメモリへM×N個のデータ要素を同時に転送するステップは前記データ要素がM本のラインの境界に揃えられている時に限り実行される、
請求項12に記載のメモリ。 - Mが2のべき乗である、請求項13に記載のメモリ。
- Mが2である、請求項14に記載のメモリ。
- N=4である、請求項15に記載のメモリ。
- 前記データは、キャッシュミスが発生したデータ要素が前記第1のメモリ内でM本のラインの境界に揃えられたデータ要素のライン内にあるかどうかを判定するステップを実行する命令を記述し、
前記第1のメモリから前記キャッシュメモリへM×N個のデータ要素を同時に転送するステップは前記データ要素がM本のラインの境界に揃えられている時に限り実行される、
請求項12に記載のメモリ。 - Mが2のべき乗である、請求項17に記載のメモリ。
- Mが2である、請求項18に記載のメモリ。
- N=4である、請求項19に記載のメモリ。
- キャッシュメモリと、
M>Nであり、MおよびNのそれぞれはキャッシュラインがもつ整数であり、第1の動作モードにおいて、1本以上のキャッシュラインを形成するN個のデータ要素を前記キャッシュメモリに単一オペレーションでフェッチし、第2の別の動作モードにおいて、2本以上のキャッシュラインを形成するM個のデータ要素を前記キャッシュメモリに単一オペレーションでフェッチするキャッシュラインフェッチ回路と、
を有する、メモリシステム回路。 - N個のデータ要素が1本のキャッシュラインを形成し、M個のデータ要素が複数個のキャッシュラインを形成する、請求項21に記載のメモリシステム回路。
- M個のデータ要素が2本のキャッシュラインを形成する、請求項22に記載のメモリシステム回路。
- N=4である、請求項23に記載のメモリシステム。
- キャッシュヒット動作モードとキャッシュミス動作モードの範囲内で動作するプロセッサを有し、
前記第1の動作モードが前記プロセッサの前記キャッシュヒット動作モードであり、前記第2の別の動作モードが前記プロセッサの前記キャッシュミス動作モードである、
請求項23に記載のメモリシステム。 - キャッシュヒット動作モードとキャッシュミス動作モードの範囲内で動作するプロセッサを有し、
前記第1の動作モードが前記プロセッサの前記キャッシュヒット動作モードであり、前記第2の別の動作モードが前記プロセッサの前記キャッシュミス動作モードである、
請求項21に記載のメモリシステム。 - 前記第2の別の動作モードがキャッシュミスモードであり、
キャッシュミスがM個のデータ要素の境界に揃えられたデータ要素であるキャッシュライン内のデータ要素に関係する、
請求項26に記載のメモリシステム。 - 前記第2の別の動作モードがキャッシュミスモードであり、
キャッシュミスがM個のデータ要素の境界に揃えられたデータ要素に関係する、
請求項27に記載のメモリシステム。 - キャッシュメモリと、
M>Nであり、MおよびNのそれぞれはキャッシュラインがもつ整数であり、第1のキャッシュヒット動作モードにおいて、1本以上のキャッシュラインを形成するN個のデータ要素をキャッシュメモリに単一オペレーションでフェッチし、第2のキャッシュミス動作モードにおいて、2本以上のキャッシュラインを形成するM個のデータ要素を前記キャッシュメモリに単一オペレーションでフェッチするキャッシュラインフェッチ回路と、
を有する、メモリシステム回路。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/226,158 US7162588B2 (en) | 2002-08-23 | 2002-08-23 | Processor prefetch to match memory bus protocol characteristics |
PCT/IB2003/003755 WO2004019213A1 (en) | 2002-08-23 | 2003-08-15 | Processor prefetch to match memory bus protocol characteristics |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005536798A true JP2005536798A (ja) | 2005-12-02 |
Family
ID=31887174
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004530473A Pending JP2005536798A (ja) | 2002-08-23 | 2003-08-15 | メモリバスのプロトコル特性に適合するプロセッサのプリフェッチ |
Country Status (6)
Country | Link |
---|---|
US (1) | US7162588B2 (ja) |
EP (1) | EP1535163A1 (ja) |
JP (1) | JP2005536798A (ja) |
CN (1) | CN100390757C (ja) |
AU (1) | AU2003255978A1 (ja) |
WO (1) | WO2004019213A1 (ja) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW576977B (en) * | 2002-09-11 | 2004-02-21 | Sunplus Technology Co Ltd | Structure and method for planning control commands and data access |
US7237068B2 (en) * | 2003-01-28 | 2007-06-26 | Sun Microsystems, Inc. | Computer system employing bundled prefetching and null-data packet transmission |
US7904887B2 (en) * | 2006-02-16 | 2011-03-08 | International Business Machines Corporation | Learning and cache management in software defined contexts |
JP4574712B2 (ja) * | 2006-02-28 | 2010-11-04 | 富士通株式会社 | 演算処理装置、情報処理装置及び制御方法 |
US20080098176A1 (en) * | 2006-10-18 | 2008-04-24 | Krishna M V V Anil | Method and Apparatus for Implementing Memory Accesses Using Open Page Mode for Data Prefetching |
US8032711B2 (en) * | 2006-12-22 | 2011-10-04 | Intel Corporation | Prefetching from dynamic random access memory to a static random access memory |
US8166277B2 (en) * | 2008-02-01 | 2012-04-24 | International Business Machines Corporation | Data prefetching using indirect addressing |
US8209488B2 (en) * | 2008-02-01 | 2012-06-26 | International Business Machines Corporation | Techniques for prediction-based indirect data prefetching |
US8473688B2 (en) * | 2010-03-26 | 2013-06-25 | Microsoft Corporation | Anticipatory response pre-caching |
US9285860B2 (en) * | 2010-05-03 | 2016-03-15 | Qualcomm Incorporated | Apparatus and methods employing variable clock gating hysteresis for a communications port |
JP5598337B2 (ja) * | 2011-01-12 | 2014-10-01 | ソニー株式会社 | メモリアクセス制御回路、プリフェッチ回路、メモリ装置および情報処理システム |
CN102591799B (zh) | 2011-12-30 | 2015-04-15 | 华为技术有限公司 | 一种存放数据的方法和装置 |
US9507628B1 (en) | 2015-09-28 | 2016-11-29 | International Business Machines Corporation | Memory access request for a memory protocol |
CN106844232A (zh) * | 2016-12-23 | 2017-06-13 | 北京北大众志微系统科技有限责任公司 | 一种面向多核处理器的共享末级高速缓存访存方法和装置 |
CN106844231A (zh) * | 2016-12-23 | 2017-06-13 | 北京北大众志微系统科技有限责任公司 | 末级高速缓存软硬件协作分区域管理系统及管理方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02257235A (ja) * | 1988-10-28 | 1990-10-18 | Apollo Computer Inc | キャッシュメモリを関連する主メモリから選択的にローディングする装置及び方法 |
JP2001075866A (ja) * | 1999-08-21 | 2001-03-23 | Koninkl Philips Electronics Nv | 記憶装置を動作する方法および記憶装置 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1989009444A1 (en) * | 1988-04-01 | 1989-10-05 | Digital Equipment Corporation | Cache with at least two fill sizes |
US5784711A (en) | 1990-05-18 | 1998-07-21 | Philips Electronics North America Corporation | Data cache prefetching under control of instruction cache |
US5752263A (en) * | 1995-06-05 | 1998-05-12 | Advanced Micro Devices, Inc. | Apparatus and method for reducing read miss latency by predicting sequential instruction read-aheads |
US5664147A (en) * | 1995-08-24 | 1997-09-02 | International Business Machines Corp. | System and method that progressively prefetches additional lines to a distributed stream buffer as the sequentiality of the memory accessing is demonstrated |
US5835929A (en) * | 1996-05-20 | 1998-11-10 | Integrated Device Technology, Inc. | Method and apparatus for sub cache line access and storage allowing access to sub cache lines before completion of a line fill |
US5854934A (en) * | 1996-08-23 | 1998-12-29 | Hewlett-Packard Company | Optimizing compiler having data cache prefetch spreading |
US6279081B1 (en) * | 1998-12-22 | 2001-08-21 | Hewlett-Packard Company | System and method for performing memory fetches for an ATM card |
US6754780B1 (en) * | 2000-04-04 | 2004-06-22 | Hewlett-Packard Development Company, L.P. | Providing data in response to a read command that maintains cache line alignment |
TW480406B (en) * | 2000-08-09 | 2002-03-21 | Via Tech Inc | Two-way cache system of peripheral device interface and its operating method |
US6499085B2 (en) * | 2000-12-29 | 2002-12-24 | Intel Corporation | Method and system for servicing cache line in response to partial cache line request |
US6584549B2 (en) * | 2000-12-29 | 2003-06-24 | Intel Corporation | System and method for prefetching data into a cache based on miss distance |
US6662277B2 (en) * | 2001-07-31 | 2003-12-09 | Hewlett-Packard Development Company, L.P. | Cache system with groups of lines and with coherency for both single lines and groups of lines |
-
2002
- 2002-08-23 US US10/226,158 patent/US7162588B2/en not_active Expired - Lifetime
-
2003
- 2003-08-15 AU AU2003255978A patent/AU2003255978A1/en not_active Abandoned
- 2003-08-15 WO PCT/IB2003/003755 patent/WO2004019213A1/en active Application Filing
- 2003-08-15 EP EP03792594A patent/EP1535163A1/en not_active Withdrawn
- 2003-08-15 CN CNB038199335A patent/CN100390757C/zh not_active Expired - Fee Related
- 2003-08-15 JP JP2004530473A patent/JP2005536798A/ja active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02257235A (ja) * | 1988-10-28 | 1990-10-18 | Apollo Computer Inc | キャッシュメモリを関連する主メモリから選択的にローディングする装置及び方法 |
JP2001075866A (ja) * | 1999-08-21 | 2001-03-23 | Koninkl Philips Electronics Nv | 記憶装置を動作する方法および記憶装置 |
Also Published As
Publication number | Publication date |
---|---|
AU2003255978A1 (en) | 2004-03-11 |
US7162588B2 (en) | 2007-01-09 |
WO2004019213A1 (en) | 2004-03-04 |
EP1535163A1 (en) | 2005-06-01 |
US20040039878A1 (en) | 2004-02-26 |
CN100390757C (zh) | 2008-05-28 |
CN1679006A (zh) | 2005-10-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6131155A (en) | Programmer-visible uncached load/store unit having burst capability | |
JP3816586B2 (ja) | 先取り命令を生成する方法とシステム | |
US6138213A (en) | Cache including a prefetch way for storing prefetch cache lines and configured to move a prefetched cache line to a non-prefetch way upon access to the prefetched cache line | |
US4933837A (en) | Methods and apparatus for optimizing instruction processing in computer systems employing a combination of instruction cache and high speed consecutive transfer memories | |
JP3718319B2 (ja) | 命令とデータの先取りを最適化するためのハードウェア機構 | |
US8725987B2 (en) | Cache memory system including selectively accessible pre-fetch memory for pre-fetch of variable size data | |
JP4006436B2 (ja) | 種々のキャッシュ・レベルにおける連想セットの重畳一致グループを有するマルチレベル・キャッシュ | |
US5838945A (en) | Tunable software control of harvard architecture cache memories using prefetch instructions | |
JP2005536798A (ja) | メモリバスのプロトコル特性に適合するプロセッサのプリフェッチ | |
WO1998027492A1 (en) | Cache hierarchy management with locality hints for different cache levels | |
US6748496B1 (en) | Method and apparatus for providing cacheable data to a peripheral device | |
WO2021243340A1 (en) | Computer memory expansion device and method of operation | |
US6101589A (en) | High performance shared cache | |
US6094711A (en) | Apparatus and method for reducing data bus pin count of an interface while substantially maintaining performance | |
US20020056027A1 (en) | Information processing system | |
JP4173858B2 (ja) | 命令キャッシュ、及びメモリ競合を低減する方法 | |
US6836823B2 (en) | Bandwidth enhancement for uncached devices | |
JP2008257508A (ja) | キャッシュ制御方法およびキャッシュ装置並びにマイクロコンピュータ | |
JP2004240616A (ja) | メモリコントローラ及びメモリアクセス制御方法 | |
EP1930811A1 (en) | Methods and devices for cache enhancing | |
US20120151150A1 (en) | Cache Line Fetching and Fetch Ahead Control Using Post Modification Information | |
EP2062144B1 (en) | Arrangement with instruction cache | |
WO2012069874A1 (en) | Integrated circuit device, signal processing system and method for prefetching lines of data therefor | |
JPH06282489A (ja) | コンピュータメモリシステム、データキャッシュ動作の方法およびデータキャッシュシステム | |
JP2004213544A (ja) | マルチプロセッサ装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060814 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20080703 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090508 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090810 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090825 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091225 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20100311 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20100402 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20110421 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20110426 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20110523 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20110526 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20110621 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20110627 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20111118 |