KR100871185B1 - 전용 캐시 메모리 - Google Patents
전용 캐시 메모리 Download PDFInfo
- Publication number
- KR100871185B1 KR100871185B1 KR1020067013045A KR20067013045A KR100871185B1 KR 100871185 B1 KR100871185 B1 KR 100871185B1 KR 1020067013045 A KR1020067013045 A KR 1020067013045A KR 20067013045 A KR20067013045 A KR 20067013045A KR 100871185 B1 KR100871185 B1 KR 100871185B1
- Authority
- KR
- South Korea
- Prior art keywords
- cache memory
- dedicated
- thread
- sector
- processor
- 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/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/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0842—Multiuser, multiprocessor or multiprocessing cache systems for multiprocessing or multitasking
-
- 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
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)
- Acyclic And Carbocyclic Compounds In Medicinal Compositions (AREA)
Abstract
Description
Claims (29)
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 프로세서 코어(core); 및범용 동작을 위한 캐시 메모리를 포함하는 프로세서로서,상기 프로세서는, 스레드와 관련된 제1 컴퓨터 프로세스의 결과로 상기 캐시 메모리에 대한 캐시 동작이 일어날 경우 상기 캐시 메모리를 평가하여 상기 캐시 메모리에 상기 스레드를 위한 전용 캐시 섹터가 존재하는지를 판정하고, 만일 전용 캐시 섹터가 존재하지 않는다면, 상기 스레드를 위한 전용 캐시 섹터가 필요한지를 판정하고,상기 프로세스가 상기 스레드를 위한 전용 캐시가 존재하지 않고 상기 스레드를 위해 필요하다고 판정하면, 상기 프로세서는 상기 캐시 메모리에 전용 캐시 섹터를 생성하고, 그 결과 상기 캐시 메모리는 상기 범용 동작을 위한 제1 캐시 메모리 섹터 및 상기 스레드에 전용인 제2 캐시 메모리 섹터를 갖는, 프로세서.
- 제7항에 있어서,상기 제1 컴퓨터 프로세스는 멀티미디어 프로세스인 프로세서.
- 제7항에 있어서,상기 제1 컴퓨터 프로세스에는 상기 프로세서의 연산 사이클들의 서브세트가 사전-할당되는 프로세서.
- 삭제
- 제7항에 있어서,컴퓨터 동작의 스레드를 위하여 전용 캐시가 존재한다면, 상기 프로세서는 상기 전용 캐시가 제거되어야 하는지를 판정하는 프로세서.
- 제7항에 있어서,상기 프로세서는 제2 캐시 메모리 섹터의 사이즈가 동적으로 변경될 수 있는지를 판정하는 프로세서.
- 버스;상기 버스에 연결된 프로세서; 및상기 프로세서를 위한 동작들을 지원하는 캐시 메모리를 포함하는 시스템으로서,상기 프로세서는, 제1 프로그램 스레드와 관련된 제1 컴퓨터 프로세스의 결과로 상기 캐시 메모리에 대한 캐시 동작이 일어날 경우 상기 캐시 메모리를 평가하여 상기 캐시 메모리에 상기 제1 프로그램 스레드를 위한 전용 캐시 메모리 섹터가 존재하는지를 판정하고, 만일 전용 캐시 메모리 섹터가 존재하지 않는다면, 상기 제1 프로그램 스레드를 위한 전용 캐시 메모리 섹터가 필요한지를 판정하고,상기 프로세스가 상기 제1 프로그램 스레드를 위한 전용 캐시 메모리 섹터가 존재하지 않고 상기 제1 프로그램 스레드를 위해 필요하다고 판정하면, 상기 프로세서는 상기 캐시 메모리에 전용 섹터를 생성하고, 그 결과 상기 캐시 메모리는 범용 동작을 위한 제1 캐시 메모리 섹터 및 상기 제1 프로그램 스레드에 전용인 제2 캐시 메모리 섹터를 갖는, 시스템.
- 제13항에 있어서,제1 프로그램 스레드는 멀티미디어 프로세스인 시스템.
- 제13항에 있어서,상기 제1 프로그램 스레드에는 상기 프로세서의 연산 사이클들의 서브세트가 사전-할당되는 시스템.
- 삭제
- 제13항에 있어서,상기 제2 캐시 메모리 섹터는 상기 프로세서에 의해 동적으로 제거될 수 있는 시스템.
- 제13항에 있어서,상기 제2 캐시 메모리 섹터의 사이즈는 상기 프로세서에 의해 동적으로 변경될 수 있는 시스템.
- 제13항에 있어서,상기 제1 캐시 메모리 섹터 및 상기 제2 캐시 메모리 섹터는 상기 프로세서의 일부로서 포함되는 시스템.
- 제1 스레드와 관련된 컴퓨터 동작을 수행하는 단계 - 상기 컴퓨터 동작의 결과로 캐시 메모리에 대한 캐시 동작이 일어남 - ;상기 제1 스레드를 위하여 전용 캐시 메모리가 존재하는지를 판정하는 단계;상기 제1 스레드를 위하여 전용 캐시 메모리가 존재한다고 판정되면, 상기 전용 캐시 메모리에서 상기 캐시 동작을 수행하는 단계; 및상기 제1 스레드를 위하여 전용 캐시 메모리가 존재하지 않는다고 판정되면, 상기 제1 스레드를 위하여 전용 캐시 메모리 섹터가 필요한지를 판정하는 단계를 포함하는 방법.
- 제20항에 있어서,상기 전용 캐시 메모리 섹터를 생성하는 단계를 더 포함하는 방법.
- 제20항에 있어서,상기 전용 캐시 메모리 섹터가 부정확한 사이즈인 것을 판정하고 상기 전용 캐시 메모리 섹터의 사이즈를 변경하는 단계를 더 포함하는 방법.
- 제20항에 있어서,상기 전용 캐시 메모리 섹터를 제거하는 단계를 더 포함하는 방법.
- 제20항에 있어서,상기 전용 캐시 메모리 섹터를 플러쉬(flushing)하지 않고 상기 캐시 메모리를 플러쉬하는 단계를 더 포함하는 방법.
- 인스트럭션들의 시퀀스들(sequences)을 나타내는 데이터가 저장되어 있는 머신 판독가능 매체(machine-readable medium)로서,프로세서에 의해 상기 인스트럭션들이 실행될 때 상기 프로세서가제1 스레드와 관련된 컴퓨터 동작을 수행하는 단계 - 상기 컴퓨터 동작의 결과로 캐시 메모리에 대한 캐시 동작이 일어남 - ;상기 제1 스레드를 위하여 전용 캐시 메모리가 존재하는지를 판정하는 단계;상기 제1 스레드를 위하여 전용 캐시 메모리가 존재한다고 판정되면, 상기 전용 캐시 메모리에서 상기 캐시 동작을 수행하는 단계; 및상기 제1 스레드를 위하여 전용 캐시 메모리가 존재하지 않는다고 판정되면, 상기 제1 스레드를 위하여 전용 캐시 메모리 섹터가 필요한지를 판정하는 단계를 포함하는 동작들을 수행하도록 하는 머신 판독가능 매체.
- 제25항에 있어서,상기 인스트럭션들의 시퀀스는 상기 프로세서가 상기 전용 캐시 메모리 섹터를 생성하는 단계를 포함하는 동작들을 수행하도록 하는 인스트럭션들을 더 포함하는 머신 판독가능 매체.
- 제25항에 있어서,상기 인스트럭션들의 시퀀스는 상기 프로세서가 상기 전용 캐시 메모리 섹터가 부정확한 사이즈인 것을 판정하고 상기 전용 캐시 메모리 섹터의 사이즈를 변경하는 단계를 포함하는 동작들을 수행하도록 하는 인스트럭션들을 더 포함하는 머신 판독가능 매체.
- 제25항에 있어서,상기 인스트럭션들의 시퀀스는 상기 프로세서가 상기 전용 캐시 메모리 섹터를 제거하는 단계를 포함하는 동작들을 수행하도록 하는 인스트럭션들을 더 포함하는 머신 판독가능 매체.
- 제25항에 있어서,상기 인스트럭션들의 시퀀스는 상기 프로세서로 하여금 상기 전용 캐시 메모리 섹터를 플러쉬하지 않고 상기 캐시 메모리를 플러쉬하는 단계를 포함하는 동작들을 수행하도록 하는 인스트럭션들을 더 포함하는 머신 판독가능 매체.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/750,148 | 2003-12-31 | ||
US10/750,148 US7213107B2 (en) | 2003-12-31 | 2003-12-31 | Dedicated cache memory |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20060108740A KR20060108740A (ko) | 2006-10-18 |
KR100871185B1 true KR100871185B1 (ko) | 2008-12-01 |
Family
ID=34701158
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020067013045A KR100871185B1 (ko) | 2003-12-31 | 2004-12-23 | 전용 캐시 메모리 |
Country Status (9)
Country | Link |
---|---|
US (1) | US7213107B2 (ko) |
EP (1) | EP1702270B1 (ko) |
KR (1) | KR100871185B1 (ko) |
CN (1) | CN100465922C (ko) |
AT (1) | ATE508413T1 (ko) |
DE (1) | DE602004032572D1 (ko) |
HK (1) | HK1094362A1 (ko) |
TW (1) | TWI293414B (ko) |
WO (1) | WO2005066799A1 (ko) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100899097B1 (ko) | 2007-05-11 | 2009-05-25 | 한국과학기술원 | 복수의 인덱싱 정보를 제공하는 방법 및 이를 이용한 캐쉬메모리 장치 |
US8327363B2 (en) | 2007-07-24 | 2012-12-04 | Microsoft Corporation | Application compatibility in multi-core systems |
US8544014B2 (en) | 2007-07-24 | 2013-09-24 | Microsoft Corporation | Scheduling threads in multi-core systems |
US8793434B2 (en) * | 2011-07-08 | 2014-07-29 | Advanced Micro Devices, Inc. | Spatial locality monitor for thread accesses of a memory resource |
JP5778872B2 (ja) * | 2012-03-15 | 2015-09-16 | 株式会社日立製作所 | ストレージシステムおよびデータ管理方法 |
US10089233B2 (en) | 2016-05-11 | 2018-10-02 | Ge Aviation Systems, Llc | Method of partitioning a set-associative cache in a computing platform |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4371929A (en) * | 1980-05-05 | 1983-02-01 | Ibm Corporation | Multiprocessor system with high density memory set architecture including partitionable cache store interface to shared disk drive memory |
US4675816A (en) * | 1985-08-26 | 1987-06-23 | Brandon Ronald E | Electronic method of locating a football |
US4905141A (en) * | 1988-10-25 | 1990-02-27 | International Business Machines Corporation | Partitioned cache memory with partition look-aside table (PLAT) for early partition assignment identification |
DE69130086T2 (de) * | 1990-06-15 | 1999-01-21 | Compaq Computer Corp | Mehrstufeneinschluss in mehrstufigen Cache-Speicherhierarchien |
US5293609A (en) * | 1991-04-19 | 1994-03-08 | International Business Machines Corporation | Hit-density-based replacement for data cache with prefetching |
US5426765A (en) * | 1991-08-30 | 1995-06-20 | Compaq Computer Corporation | Multiprocessor cache abitration |
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 |
US5346210A (en) * | 1992-08-28 | 1994-09-13 | Teem Systems, Inc. | Object locator system |
US5692154A (en) * | 1993-12-20 | 1997-11-25 | Compaq Computer Corporation | Circuit for masking a dirty status indication provided by a cache dirty memory under certain conditions so that a cache memory controller properly controls a cache tag memory |
US5829027A (en) * | 1994-05-04 | 1998-10-27 | Compaq Computer Corporation | Removable processor board having first, second and third level cache system for use in a multiprocessor computer system |
US5564698A (en) * | 1995-06-30 | 1996-10-15 | Fox Sports Productions, Inc. | Electromagnetic transmitting hockey puck |
US5917553A (en) * | 1996-10-22 | 1999-06-29 | Fox Sports Productions Inc. | Method and apparatus for enhancing the broadcast of a live event |
US6360303B1 (en) * | 1997-09-30 | 2002-03-19 | Compaq Computer Corporation | Partitioning memory shared by multiple processors of a distributed processing system |
US6161166A (en) | 1997-11-10 | 2000-12-12 | International Business Machines Corporation | Instruction cache for multithreaded processor |
US6349363B2 (en) * | 1998-12-08 | 2002-02-19 | Intel Corporation | Multi-section cache with different attributes for each section |
US6272598B1 (en) * | 1999-03-22 | 2001-08-07 | Hewlett-Packard Company | Web cache performance by applying different replacement policies to the web cache |
US6493800B1 (en) * | 1999-03-31 | 2002-12-10 | International Business Machines Corporation | Method and system for dynamically partitioning a shared cache |
US6457102B1 (en) * | 1999-11-05 | 2002-09-24 | Emc Corporation | Cache using multiple LRU's |
US6427195B1 (en) | 2000-06-13 | 2002-07-30 | Hewlett-Packard Company | Thread local cache memory allocator in a multitasking operating system |
US6523092B1 (en) * | 2000-09-29 | 2003-02-18 | Intel Corporation | Cache line replacement policy enhancement to avoid memory page thrashing |
US7017008B2 (en) * | 2000-12-29 | 2006-03-21 | Intel Corporation | Method and apparatus for optimizing data streaming in a computer system utilizing random access memory in a system logic device |
US6778283B2 (en) * | 2001-01-05 | 2004-08-17 | 4Th & Exactly Llc | Method and apparatus for locating a football on a field of play |
US6904499B2 (en) * | 2001-03-30 | 2005-06-07 | Intel Corporation | Controlling cache memory in external chipset using processor |
US6516387B1 (en) * | 2001-07-30 | 2003-02-04 | Lsi Logic Corporation | Set-associative cache having a configurable split and unified mode |
US6662272B2 (en) * | 2001-09-29 | 2003-12-09 | Hewlett-Packard Development Company, L.P. | Dynamic cache partitioning |
US6990557B2 (en) | 2002-06-04 | 2006-01-24 | Sandbridge Technologies, Inc. | Method and apparatus for multithreaded cache with cache eviction based on thread identifier |
-
2003
- 2003-12-31 US US10/750,148 patent/US7213107B2/en active Active
-
2004
- 2004-06-04 TW TW093116272A patent/TWI293414B/zh not_active IP Right Cessation
- 2004-12-23 EP EP04815499A patent/EP1702270B1/en not_active Not-in-force
- 2004-12-23 WO PCT/US2004/043430 patent/WO2005066799A1/en active Application Filing
- 2004-12-23 DE DE602004032572T patent/DE602004032572D1/de active Active
- 2004-12-23 AT AT04815499T patent/ATE508413T1/de not_active IP Right Cessation
- 2004-12-23 CN CNB2004800390628A patent/CN100465922C/zh not_active Expired - Fee Related
- 2004-12-23 KR KR1020067013045A patent/KR100871185B1/ko active IP Right Grant
-
2007
- 2007-02-07 HK HK07101404.1A patent/HK1094362A1/xx not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
EP1702270B1 (en) | 2011-05-04 |
KR20060108740A (ko) | 2006-10-18 |
EP1702270A1 (en) | 2006-09-20 |
HK1094362A1 (en) | 2007-03-30 |
CN100465922C (zh) | 2009-03-04 |
US7213107B2 (en) | 2007-05-01 |
US20050144393A1 (en) | 2005-06-30 |
WO2005066799A1 (en) | 2005-07-21 |
ATE508413T1 (de) | 2011-05-15 |
TW200521681A (en) | 2005-07-01 |
CN1898656A (zh) | 2007-01-17 |
TWI293414B (en) | 2008-02-11 |
DE602004032572D1 (de) | 2011-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10417130B2 (en) | System and method for spatial memory streaming training | |
US6785772B2 (en) | Data prefetching apparatus in a data processing system and method therefor | |
KR100289627B1 (ko) | 멀티태스킹 기능을 가지는 정보처리시스템을 위한 자원관리방법 및 그 장치 | |
US6076151A (en) | Dynamic memory allocation suitable for stride-based prefetching | |
US6782454B1 (en) | System and method for pre-fetching for pointer linked data structures | |
US5941981A (en) | System for using a data history table to select among multiple data prefetch algorithms | |
US7424578B2 (en) | Computer system, compiler apparatus, and operating system | |
CN100371886C (zh) | 基于存储区的数据预取的处理器和方法 | |
US20030079089A1 (en) | Programmable data prefetch pacing | |
KR100440805B1 (ko) | 소규모의 하드웨어로 높은 적중률의 분기 예측을 하는 정보 처리 장치 | |
US7765527B2 (en) | Per thread buffering for storing profiling data | |
JP3739491B2 (ja) | プリフェッチ命令を用いるハーバードアーキテクチャキャッシュメモリの調和したソフトウェア制御 | |
US6959435B2 (en) | Compiler-directed speculative approach to resolve performance-degrading long latency events in an application | |
US7058945B2 (en) | Information processing method and recording medium therefor capable of enhancing the executing speed of a parallel processing computing device | |
US6564313B1 (en) | System and method for efficient instruction prefetching based on loop periods | |
CN101131671A (zh) | 控制对非易失性存储器的访问 | |
JPH0628184A (ja) | ブランチ予測方法及びブランチプロセッサ | |
EP2341441B1 (en) | Methods and apparatus to perform adaptive pre-fetch operations in managed runtime environments | |
US6931490B2 (en) | Set address correlation address predictors for long memory latencies | |
KR100871185B1 (ko) | 전용 캐시 메모리 | |
CN101156135A (zh) | 用于管理返回堆栈的方法和设备 | |
KR20030034172A (ko) | 주프로세서용 명령의 프리페치에 보조프로세서를 이용하는방법 및 장치 | |
US8327122B2 (en) | Method and system for providing context switch using multiple register file | |
US8661169B2 (en) | Copying data to a cache using direct memory access | |
US7512753B2 (en) | Disk array control apparatus and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
J201 | Request for trial against refusal decision | ||
B701 | Decision to grant | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20121019 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20131101 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20141031 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20151030 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20161028 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20171027 Year of fee payment: 10 |