KR20090108716A - 프로세서의 캐시 폴리시를 설정하기 위한 방법 및 장치 - Google Patents
프로세서의 캐시 폴리시를 설정하기 위한 방법 및 장치 Download PDFInfo
- Publication number
- KR20090108716A KR20090108716A KR1020097017373A KR20097017373A KR20090108716A KR 20090108716 A KR20090108716 A KR 20090108716A KR 1020097017373 A KR1020097017373 A KR 1020097017373A KR 20097017373 A KR20097017373 A KR 20097017373A KR 20090108716 A KR20090108716 A KR 20090108716A
- Authority
- KR
- South Korea
- Prior art keywords
- cache
- memory
- processor
- policy information
- cache policy
- Prior art date
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/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
-
- 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
-
- 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/12—Replacement control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
-
- 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/0804—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
-
- 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/0888—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass
-
- 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/0893—Caches characterised by their organisation or structure
- G06F12/0897—Caches characterised by their organisation or structure with two or more cache hierarchy levels
-
- 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/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
Claims (20)
- 캐시 폴리시들(cache policies)을 결정하는 방법으로서,프로세서에 의해 사용되는 정보를 저장하도록 구성된 하나 이상의 타겟 메모리 디바이스들과 연관된 캐시 폴리시 정보를 수신하는 단계; 및상기 캐시 폴리시 정보에 기초하여 하나 이상의 캐시 폴리시들을 설정하는 단계를 포함하는 캐시 폴리시들을 결정하는 방법.
- 제 1 항에 있어서,상기 캐시 폴리시 정보를 수신하는 단계는 요청하지 않은(unsolicited) 캐시 폴리시 정보를 수신하는 단계를 포함하는, 캐시 폴리시들을 결정하는 방법.
- 제 1 항에 있어서,상기 캐시 폴리시 정보를 수신하는 단계는,상기 타겟 메모리 디바이스들 중 하나에 대한 메모리 액세스를 지시(directing)하는 단계; 및상기 메모리 액세스에 응답하여 캐시 폴리시 정보를 수신하는 단계를 포함하는, 캐시 폴리시들을 결정하는 방법.
- 제 3 항에 있어서,상기 메모리 액세스에 응답하여 캐시 폴리시 정보를 수신하는 단계는 상기 메모리 액세스가 지시된 상기 타겟 메모리 디바이스에 의해 제공되는 캐시 폴리시 정보를 수신하는 단계를 포함하는, 캐시 폴리시들을 결정하는 방법.
- 제 3 항에 있어서,상기 메모리 액세스에 응답하여 캐시 폴리시 정보를 수신하는 단계는 상기 메모리 액세스와 연관된 어드레스에 기초하여 어드레스 디코더에 의해 제공되는 캐시 폴리시 정보를 수신하는 단계를 포함하는, 캐시 폴리시들을 결정하는 방법.
- 제 3 항에 있어서,상기 하나 이상의 캐시 폴리시들을 설정하는 단계는,상기 메모리 액세스와 연관된 페이지 테이블 엔트리(page table entry)에 액세스하는 단계; 및상기 페이지 테이블 엔트리에 의해 표시된 하나 이상의 캐시 폴리시들을 상기 메모리 액세스에 응답하여 수신된 상기 캐시 폴리시 정보로 오버라이딩(overriding)하는 단계를 포함하는, 캐시 폴리시들을 결정하는 방법.
- 프로세서로서,상기 프로세서에 대한 로컬(local) 정보를 저장하도록 구성된 적어도 하나의 캐시; 및상기 프로세서에 의해 사용되는 정보를 저장하도록 구성된 하나 이상의 타겟 메모리 디바이스들과 연관된 캐시 폴리시 정보에 기초하여, 상기 적어도 하나의 캐시에 대한 하나 이상의 캐시 폴리시들을 설정하도록 구성된 메모리 관리 유닛을 포함하는 프로세서.
- 제 7 항에 있어서,상기 메모리 관리 유닛은 요청하지 않은 캐시 폴리시 정보를 처리하도록 구성되는, 프로세서.
- 제 7 항에 있어서,상기 메모리 관리 유닛은 상기 타겟 메모리 디바이스들 중 하나에 대한 메모리 액세스를 지시하고 상기 메모리 액세스에 응답하여 수신되는 캐시 폴리시 정보를 처리하도록 구성되는, 프로세서.
- 제 9 항에 있어서,상기 메모리 관리 유닛은 상기 메모리 액세스가 지시된 상기 타겟 메모리 디바이스에 의해 제공되는 캐시 폴리시 정보를 처리하도록 구성되는, 프로세서.
- 제 9 항에 있어서,상기 메모리 관리 유닛은 상기 메모리 액세스와 연관된 어드레스에 기초하여 어드레스 디코더에 의해 제공되는 캐시 폴리시 정보를 처리하도록 구성되는, 프로세서.
- 제 11 항에 있어서,상기 어드레스 디코더는 상기 프로세서에 포함되는, 프로세서.
- 제 9 항에 있어서,상기 메모리 관리 유닛은 상기 메모리 액세스와 연관된 페이지 테이블 엔트리에 액세스하고 상기 페이지 테이블 엔트리에 의해 표시된 하나 이상의 캐시 폴리시들을 상기 메모리 액세스에 응답하여 수신된 상기 캐시 폴리시 정보로 오버라이드(override)하도록 구성되는, 프로세서.
- 시스템으로서,프로세서에 대한 로컬 정보를 저장하도록 구성된 적어도 하나의 캐시를 갖는 상기 프로세서;상기 프로세서에 결합되고 상기 프로세서에 의해 사용되는 정보를 저장하도록 구성된 하나 이상의 타겟 메모리 디바이스들; 및상기 하나 이상의 타겟 메모리 디바이스들과 연관된 캐시 폴리시 정보에 기 초하여 상기 적어도 하나의 캐시에 대한 하나 이상의 캐시 폴리시들을 설정하도록 구성되며, 상기 프로세서에 포함되는 메모리 관리 유닛을 포함하는 시스템.
- 제 14 항에 있어서,상기 메모리 관리 유닛은 요청하지 않은 캐시 폴리시 정보를 처리하도록 구성되는, 시스템.
- 제 14 항에 있어서,상기 메모리 관리 유닛은 상기 타겟 메모리 디바이스들 중 하나에 대한 메모리 액세스를 지시하고 상기 메모리 액세스에 응답하여 수신된 캐시 폴리시 정보를 처리하도록 구성되는, 시스템.
- 제 16 항에 있어서,상기 메모리 관리 유닛은 상기 메모리 액세스가 지시된 상기 타겟 메모리 디바이스에 의해 제공되는 캐시 폴리시 정보를 처리하도록 구성되는, 시스템.
- 제 16 항에 있어서,상기 메모리 액세스와 연관된 어드레스에 기초하여 상기 캐시 폴리시 정보를 제공하도록 구성된 어드레스 디코더를 더 포함하는, 시스템.
- 제 18 항에 있어서,상기 어드레스 디코더는 상기 프로세서에 포함되는, 시스템.
- 제 16 항에 있어서,상기 메모리 관리 유닛은 상기 메모리 액세스에 응답하여 액세스되는 페이지 테이블 엔트리에 액세스하고 상기 페이지 테이블 엔트리에 의해 표시되는 하나 이상의 캐시 폴리시들을 상기 메모리 액세스에 응답하여 수신된 상기 캐시 폴리시 정보로 오버라이드하도록 구성되는, 시스템.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/626,434 | 2007-01-24 | ||
US11/626,434 US7949834B2 (en) | 2007-01-24 | 2007-01-24 | Method and apparatus for setting cache policies in a processor |
PCT/US2008/051953 WO2008092032A1 (en) | 2007-01-24 | 2008-01-24 | Method and apparatus for setting cache policies in a processor |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20090108716A true KR20090108716A (ko) | 2009-10-16 |
KR101079970B1 KR101079970B1 (ko) | 2011-11-04 |
Family
ID=39456426
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020097017373A KR101079970B1 (ko) | 2007-01-24 | 2008-01-24 | 프로세서에서 캐시 정책을 설정하기 위한 방법 및 장치 |
Country Status (11)
Country | Link |
---|---|
US (1) | US7949834B2 (ko) |
EP (1) | EP2115599B1 (ko) |
JP (1) | JP5313168B2 (ko) |
KR (1) | KR101079970B1 (ko) |
CN (1) | CN101589374B (ko) |
BR (1) | BRPI0806756A2 (ko) |
CA (1) | CA2674868C (ko) |
MX (1) | MX2009007948A (ko) |
RU (1) | RU2427892C2 (ko) |
TW (1) | TWI446166B (ko) |
WO (1) | WO2008092032A1 (ko) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8239634B2 (en) * | 2007-06-05 | 2012-08-07 | Nec Corporation | Input/output control based on information specifying input/output issuing source and input/output priority |
US8393008B2 (en) * | 2008-05-21 | 2013-03-05 | Microsoft Corporation | Hardware-based output protection of multiple video streams |
US8151077B1 (en) * | 2008-06-30 | 2012-04-03 | Emc Corporation | Application aware cache management |
US8504776B2 (en) * | 2008-08-29 | 2013-08-06 | Infineon Technologies Ag | Device and method for controlling caches |
US8516260B2 (en) * | 2008-10-27 | 2013-08-20 | Advanced Micro Devices, Inc. | Method, apparatus, and device for providing security among a calling function and a target function |
US8161246B2 (en) * | 2009-03-30 | 2012-04-17 | Via Technologies, Inc. | Prefetching of next physically sequential cache line after cache line that includes loaded page table entry |
CN101866321B (zh) * | 2010-06-13 | 2012-03-21 | 北京北大众志微系统科技有限责任公司 | 一种高速缓存管理策略的调整方法及系统 |
US9652560B1 (en) * | 2011-07-18 | 2017-05-16 | Apple Inc. | Non-blocking memory management unit |
US8954704B2 (en) | 2011-08-12 | 2015-02-10 | International Business Machines Corporation | Dynamic network adapter memory resizing and bounding for virtual function translation entry storage |
US20130042238A1 (en) * | 2011-08-12 | 2013-02-14 | International Business Machines Corporation | Optimized Virtual Function Translation Entry Memory Caching |
US10042750B2 (en) * | 2013-03-15 | 2018-08-07 | Micron Technology, Inc. | Apparatuses and methods for adaptive control of memory using an adaptive memory controller with a memory management hypervisor |
US10146437B2 (en) | 2014-03-17 | 2018-12-04 | Primaryio, Inc. | Tier aware caching solution to increase application performance |
US10133488B2 (en) * | 2014-03-17 | 2018-11-20 | Primaryio, Inc. | Apparatus and method for cache provisioning, configuration for optimal application performance |
US9715455B1 (en) * | 2014-05-05 | 2017-07-25 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Hint selection of a cache policy |
WO2016191569A1 (en) * | 2015-05-27 | 2016-12-01 | Google Inc. | Memory system architecture |
US10019404B2 (en) * | 2016-04-20 | 2018-07-10 | Allone Solution Co., Ltd. | Accessing method for accessing hybrid hard-disk drive |
US10402336B2 (en) * | 2017-03-31 | 2019-09-03 | Intel Corporation | System, apparatus and method for overriding of non-locality-based instruction handling |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0340046A (ja) * | 1989-07-06 | 1991-02-20 | Hitachi Ltd | キャッシュメモリ制御方式および情報処理装置 |
US5325504A (en) * | 1991-08-30 | 1994-06-28 | Compaq Computer Corporation | Method and apparatus for incorporating cache line replacement and cache write policy information into tag directories in a cache system |
ZA954460B (en) * | 1994-09-30 | 1996-02-05 | Intel Corp | Method and apparatus for processing memory-type information within a microprocessor |
AU5854796A (en) * | 1995-05-10 | 1996-11-29 | 3Do Company, The | Method and apparatus for managing snoop requests using snoop advisory cells |
US5946713A (en) * | 1997-08-18 | 1999-08-31 | Intel Corporation | Memory attribute palette |
JPH1173368A (ja) * | 1997-08-28 | 1999-03-16 | Seiko Epson Corp | メモリモジュール、情報処理装置の制御方法および記録媒体 |
US6434669B1 (en) | 1999-09-07 | 2002-08-13 | International Business Machines Corporation | Method of cache management to dynamically update information-type dependent cache policies |
US7328328B2 (en) * | 2002-02-19 | 2008-02-05 | Ip-First, Llc | Non-temporal memory reference control mechanism |
WO2003090052A2 (en) * | 2002-04-18 | 2003-10-30 | Advanced Micro Devices Inc. | A computer system including a secure execution mode - capable cpu and a security services processor connected via a secure communication path |
US6891543B2 (en) * | 2002-05-08 | 2005-05-10 | Intel Corporation | Method and system for optimally sharing memory between a host processor and graphics processor |
US7353334B2 (en) * | 2002-08-19 | 2008-04-01 | Aristos Logic Corporation | Method of increasing performance and manageability of network storage systems using optimized cache setting and handling policies |
US7039756B2 (en) | 2003-04-28 | 2006-05-02 | Lsi Logic Corporation | Method for use of ternary CAM to implement software programmable cache policies |
JP4765249B2 (ja) * | 2003-11-18 | 2011-09-07 | セイコーエプソン株式会社 | 情報処理装置およびキャッシュメモリ制御方法 |
WO2005050454A1 (ja) * | 2003-11-18 | 2005-06-02 | Matsushita Electric Industrial Co., Ltd. | キャッシュメモリおよびその制御方法 |
JP2005267497A (ja) * | 2004-03-22 | 2005-09-29 | Hitachi Global Storage Technologies Netherlands Bv | データ記憶装置、その制御方法及び磁気ディスク記憶装置 |
JP2006185284A (ja) * | 2004-12-28 | 2006-07-13 | Renesas Technology Corp | データ処理装置 |
GB2422926B (en) * | 2005-02-04 | 2008-10-01 | Advanced Risc Mach Ltd | Data processing apparatus and method for controlling access to memory |
US7472225B2 (en) * | 2005-06-20 | 2008-12-30 | Arm Limited | Caching data |
US7616218B1 (en) * | 2005-12-05 | 2009-11-10 | Nvidia Corporation | Apparatus, system, and method for clipping graphics primitives |
-
2007
- 2007-01-24 US US11/626,434 patent/US7949834B2/en active Active
-
2008
- 2008-01-24 JP JP2009547424A patent/JP5313168B2/ja active Active
- 2008-01-24 KR KR1020097017373A patent/KR101079970B1/ko active IP Right Grant
- 2008-01-24 CA CA2674868A patent/CA2674868C/en not_active Expired - Fee Related
- 2008-01-24 BR BRPI0806756-2A patent/BRPI0806756A2/pt not_active Application Discontinuation
- 2008-01-24 EP EP08713984.6A patent/EP2115599B1/en not_active Not-in-force
- 2008-01-24 CN CN2008800027469A patent/CN101589374B/zh active Active
- 2008-01-24 WO PCT/US2008/051953 patent/WO2008092032A1/en active Application Filing
- 2008-01-24 TW TW097102764A patent/TWI446166B/zh active
- 2008-01-24 RU RU2009131695/08A patent/RU2427892C2/ru not_active IP Right Cessation
- 2008-01-24 MX MX2009007948A patent/MX2009007948A/es active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
CA2674868A1 (en) | 2008-07-31 |
TWI446166B (zh) | 2014-07-21 |
JP2010517179A (ja) | 2010-05-20 |
RU2427892C2 (ru) | 2011-08-27 |
MX2009007948A (es) | 2009-08-07 |
WO2008092032A1 (en) | 2008-07-31 |
JP5313168B2 (ja) | 2013-10-09 |
CA2674868C (en) | 2015-02-03 |
CN101589374A (zh) | 2009-11-25 |
RU2009131695A (ru) | 2011-02-27 |
EP2115599A1 (en) | 2009-11-11 |
TW200842572A (en) | 2008-11-01 |
US20080177952A1 (en) | 2008-07-24 |
CN101589374B (zh) | 2012-07-04 |
EP2115599B1 (en) | 2017-07-19 |
KR101079970B1 (ko) | 2011-11-04 |
US7949834B2 (en) | 2011-05-24 |
BRPI0806756A2 (pt) | 2011-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101079970B1 (ko) | 프로세서에서 캐시 정책을 설정하기 위한 방법 및 장치 | |
US7805588B2 (en) | Caching memory attribute indicators with cached memory data field | |
US8239657B2 (en) | Address translation method and apparatus | |
JP5583274B2 (ja) | コンピュータ・メモリを管理する方法、対応するコンピュータ・プログラム製品、およびそのためのデータ・ストレージ・デバイス | |
KR100285533B1 (ko) | 라이트 드루 가상 캐시메모리, 에일리어스 어드레싱 및 캐시플러시 | |
US8621152B1 (en) | Transparent level 2 cache that uses independent tag and valid random access memory arrays for cache access | |
JP2009020881A (ja) | 可変のページサイズのメモリ編成を実装する処理システム | |
US20070094476A1 (en) | Updating multiple levels of translation lookaside buffers (TLBs) field | |
KR20130040952A (ko) | 메모리 액세스를 정확하게 예측하기 위한 영역 기반 기술 | |
US6948032B2 (en) | Method and apparatus for reducing the effects of hot spots in cache memories | |
US7472225B2 (en) | Caching data | |
US7949833B1 (en) | Transparent level 2 cache controller | |
GB2307319A (en) | Dual-directory virtual cache | |
JP2000122929A (ja) | 情報処理装置 | |
US20080147984A1 (en) | Method and apparatus for faster execution path | |
US20040117583A1 (en) | Apparatus for influencing process scheduling in a data processing system capable of utilizing a virtual memory processing scheme | |
JP2000347941A (ja) | キャッシュメモリ装置 | |
JPH09231136A (ja) | キャッシュメモリの置き換えブロック選択装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20140929 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20150930 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20160929 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20170929 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20180928 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20190924 Year of fee payment: 9 |