KR930010733A - 라이트 드루 가상 캐시메모리, 에일리어스 어드레싱 및 캐시플러시 - Google Patents
라이트 드루 가상 캐시메모리, 에일리어스 어드레싱 및 캐시플러시 Download PDFInfo
- Publication number
- KR930010733A KR930010733A KR1019920020594A KR920020594A KR930010733A KR 930010733 A KR930010733 A KR 930010733A KR 1019920020594 A KR1019920020594 A KR 1019920020594A KR 920020594 A KR920020594 A KR 920020594A KR 930010733 A KR930010733 A KR 930010733A
- Authority
- KR
- South Korea
- Prior art keywords
- memory
- cache
- cpu
- write
- virtual address
- Prior art date
Links
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/0891—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using clearing, invalidating or resetting means
-
- 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/10—Address translation
-
- 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]
- G06F12/1045—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache
- G06F12/1063—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache the data cache being concurrently virtually addressed
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
CPU, 캐시메모리, 및 주 기억장치를 포함하고 캐시메모리가 가상으로 번지 지정되며 가상번지의 일부는 서로에 대해 에일리어스 어드레싱인 컴퓨터 시스템에서, 캐시제어로직, 캐시 태그어레이, 메모리 관리 유니트 및 에일리어스 검출 로직을 포함하는 캐시메모리가 제공된다. 캐시 제어 조직은 만약 캐시라인이 캐시가능하지 않은 물리적 메모리 페지지에서 메모리 블록에 해당하면 캐시라인의 플러싱을 스킵합으로서 불필요한 플러시를 피하고 CPU에 대해서 캐시 플러시를 감소하는 기록 할당 접근없이 개선된 라이트 드루를 이용해서 주 기억장치와 캐시메모리를 갱신하도록 한다.
Description
본 내용은 요부공개 건이므로 전문내용을 수록하지 않았음
제1도는 본 발명의 가르침을 구체적으로 표현하는 컴퓨터 시스템을 설명하며.
제2도는 본 발명의 캐시 메모리제어기를 설명하며.
제3도는 본 발명의 캐시 메모리 제어기의 캐시 제어 로직의 순서도를 설명한다.
Claims (7)
- 다수의 프로세스를 실행하는 주 기억장치와 케시메모리에 접속되는 중앙처리장치(CPU)를 포함하고 캐시 히트/미스가 가상 번지에 기초하고 상기 가상 번지의 리부는 서로에 대해 에일리어스 어드레스인 컴퓨터 시스템에서 상기 CPU에 대해서 상기 캐시와 캐시 플러싱을 감소시키는 주 기억장치를 갱신하는 방법에 있어서, 다음과 같은 단계 즉, 상기 CPU로부터 기록신호와 가상번지를 수신해서 상기 가상번지가 상기 가상 번지에 기초해서 기록 케시 히트와 기록 캐시 미스중 선택된 하나의 결과를 발생시키는가를 결정하는 단계;상기 가상번지를 상기 주 기억장치의 메모리 위치를 식별하는 물리적 번지로 사상해서 상기 주 기억장치 위치가 상기 주 기억장치의 케시가 가능하지 않은 메모리 블록의 캐시가 가능하지 않은 메모리 위치인가를 결정하는 단계;상기 물리적 번지와, 상기 주 기억장치에 대해 상기 CPU로부터 상기 CPU에 의해 상기 주 기억장치에 디스패치되는 데이타 바이트를 받아들이도록 명령하고 상기 메모리 위치에 상기 데이타 바이트를 저장하는 제1기록제어신호를 상기 주 기억장치에 제공하는 단계;상기 캐시 메모리에 대해서 만약 상기 가상 번지가 상기 기록 캐시 히트의 결과를 낳는다면 상기 CPU에 의해 상기 캐시 메모리로 디스패치되고 상기 캐시 메모리에 의해 받아들여지면 상기 캐시메모리에서 상기 가상번지에 의해 식별되고 상기 메모리 블록에 해당하는 캐시라인에서 캐시되는 상기 데이타 바이트를 받아들이도록 명령하는 제2제어신호를 제공하는 단계;및 만약 상기 가상번지가 상기 기록 캐시미스의 결과를 낳고 상기 메모리 위치가 캐시 가능하지 않은 메모리 위치라면 상기 캐시라인을 프러시하는 단계;를 포함하고, 상기 캐시라인이 캐시가능한 메모리 블록일 경우에만 상기 캐시라인이 플러시되도록 함으로서 불필요한 캐시 플러시를 줄이는 것을 특징으로 하는 방법.
- 제1항에 있어서, 상기 주 기억장치위치가 캐시 가능하지 않은 메모리블록의 캐시 가능하지 않은 메모리 위치인가를 결정하는 상기 단계가 상기 메모리 블록을 포함하는 물리적 메모리에 대해 물리적 메모리 페이지 테이블에서 물리적 메모리 페이지 디스크립터의 "캐시하지 말것"이란 비트가 설정되었는가를 검색하고, 만약 상기 메모리블록을 포함하는 상기 물리적 메모리 페이지가 캐시가능하지 않다면 상기 "캐시하지말것"이란 비트가 설정되는 단계를 포함하는 것을 특징으로 하는 방법.
- 제1항에 있어서, 상기 캐시라인을 플러시하는 단계가 상기 캐시라인에 대해 캐시 태그에서 밸리드 비트를 비설정함으로서 상기 캐시 라인에서 현재 캐시된 데이타를 무효화시키며, 만약 상기 캐시라인에서 현재 캐시된 데이타가 타당하다면 상기 밸리드 비트는 설정되는 단계를 포함하는 것을 특징으로 하는 방법.
- 다수의 프로세스를 실행하는 주 기억장치와 캐시메모리에 접속되는 중앙처리장치(CPU)를 포함하고 캐시 히트미스가 가상 번지에 기초하고 상기 가상번지의 일부는 서로에 대해 에일리어스 어드레스인 컴퓨터 시스템에서 상기 CPU에 대해서 상기 캐시와 캐시 플러싱을 감소시키는 주 기억장치를 갱신하는 캐시 메모리 제어기에 있어서, 상기 캐시메모리의 다수의 해당 캐시라인에서 현재 캐시된 상기 주 기억장치의 다수의 메모리 블록을 식별하는 다수의 캐시 태그를 저장하는 캐시 태그어레이;가상 번지를 상기 주 기억장치의 메모리 블록의 메모리위치를 식별하는 물리적 번지로 사상하며, 캐시 가능하지 않은 메모리 블록을 포함하는 상기 주 기억장치의 캐시 가능하지 않은 메모리 블록을 포함하는 상기 주 기억장치의 캐시 가능하지 않은 물리적 메모리 페이지를 트래킹하는 메모리 관리유니트;및 상기 CPU로 부터 기록신호와 가상번지를 수신하기 위해 상기 CPU, 상기 캐시 태그어레이, 및 상기 메모리 관리 유니트에 접속되고 상기 캐시 태그 어레이를 이용해서 상기 가상 번지가 상기 가상번지에 기초한 기록 캐시 미스와 기록 캐시히트중 선택된 하나의 결과를 낳는지를 결정하고, 상기 메모리 관리유니트를 이용해서 상기 주 기억장치의 메모리위치를 식별하는 물리적 번지로 상기 가상 번지를 사상하고, 상기 메모리 관리 유니트를 이용해서 상기 주 기억장치 위치가 캐시 가능하지 않은 메모리 위치인가를 결정하고, 상기 주 기억장치에 대해 상기 주 기억장치가 상기 CPU로부터 데이타 바이트를 받아들이도록 명령하는 제1기록 제어신호와 상기 물리적 번지를 제공해서 상기 메모리 위치에 상기 데이타 바이트를 저장하고, 상기 가상번지가 상기 기록캐시히트의 결과를 낳는다면 상기 캐시 메모리가 상기 CPU로 부터 상기 데이타 바이트를 받아들이도록 명령하는 제2제어신호를 상기 캐시 메모리에 제공하고, 만약 가상 번지가 상기 기록 캐시 미스의 결과를 낳고 상기 메모리 위치가 캐시 가능하지 않은 메모리 위치가 아니라면 상기 캐시라인을 플러시하는 캐시 제어 로직;을 포함하고 상기 데이타 바이트는 상기 CPU에 의해서 상기 주 기억장치와 상기 캐시 메모리에 동시에 디스패치되고 상기 캐시 메모리에 의해 받아들이여지면 상기 캐시 메모리의 캐시라인에서 캐시되고 상기 캐시라인은 상기 가상번지에 의해 식별되고 상기 메모리 블록에 해당하는 것을 특징으로 하는 캐시 메모리 제어기.
- 제4항에 있어서, 상기 메모리 관리 유니트는 물리적 메모리 페이지 디스크립터 블록내 "캐시하지 말것"이란 비트를 각각 캐시 가능하지 않은 물리적 메모리 페이지에 대해 물리적 메모리 페이지 디스크립터 태이블내에 설정함으로서 상기 주 기억장치의 캐시 가능하지 않은 물리적 메모리 페이지를 트랙하고;상기 캐시 제어로직은 상기 메모리 블록을 구성하는 물리적 메모리 페이지에 대해 상기 물리적 메모리 페이지 디스크립터의 상기"캐시하지말것"이란 비트가 설정되었는지를 검색함으로서 상기 주 기억장치위치가 캐시 가능하지 않은 메모리 위치인가를 결정하는 것을 특징으로 하는 캐시 메모리 제어기.
- 제4항에 있어서, 상기 캐시 제어 로직은 상기 캐시라인에 대해 캐시 태그내 밸리드 비트를 비설정함으로서 상기 캐시라인을 플러시함으로서 상기 캐시라인에서 현재 캐시된 데이타를 무효화시키며, 만약 상기 캐시라인내에 현재 캐시된 데이타가 타당하다면 상기 밸리드 비트는 상기 캐시제어로직에 의해 설정되는 것을 특징으로 하는 캐시 메모리 제어기.
- 다수의 프로세스를 실행하는 주 기억장치와 캐시 메모리에 접속되는 중앙 처리장치(CPU)를 포함하고 캐시 히트/미스가 가상번지에 기초하고 상기 가상 번지의 일부는 서로에 대해 에일리어스 어드레스인 개선된 컴퓨터 시스템에서, 상기 개선을 상기 CPU, 상기 캐시 메모리, 및 상기 주 기억장치에 접속되며, 상기 CPU에 대해서 기록 캐시 미스상에서 캐시 플러시를 감소하는 기록할당 접근없이 개선된 라이트 드두를 갖는 주 기억장치와 상기 캐시를 갱신하도록 하는 개선된 캐시메모리 제어를 포함하는 것을 특징으로 하는 컴퓨터 시스템.※ 참고사항 : 최초출원 내용에 의하여 공개하는 것임.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US78754791A | 1991-11-04 | 1991-11-04 | |
US787,547 | 1991-11-04 | ||
US787547 | 1991-11-04 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR930010733A true KR930010733A (ko) | 1993-06-23 |
KR100285533B1 KR100285533B1 (ko) | 2001-04-02 |
Family
ID=25141839
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019920020594A KR100285533B1 (ko) | 1991-11-04 | 1992-11-04 | 라이트 드루 가상 캐시메모리, 에일리어스 어드레싱 및 캐시플러시 |
Country Status (5)
Country | Link |
---|---|
US (1) | US5933844A (ko) |
EP (1) | EP0541319B1 (ko) |
JP (1) | JP3552114B2 (ko) |
KR (1) | KR100285533B1 (ko) |
DE (1) | DE69219433T2 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100885277B1 (ko) * | 2001-05-16 | 2009-02-23 | 어드밴스드 마이크로 디바이시즈, 인코포레이티드 | 캐시에서의 라인들을 추론적으로 무효화하는 방법 및 시스템 |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6356996B1 (en) * | 1998-03-24 | 2002-03-12 | Novell, Inc. | Cache fencing for interpretive environments |
EP1046998A1 (en) * | 1999-04-22 | 2000-10-25 | Texas Instruments Incorporated | Digital signal processors with virtual addressing |
US6453404B1 (en) * | 1999-05-27 | 2002-09-17 | Microsoft Corporation | Distributed data cache with memory allocation model |
US7065632B1 (en) * | 2000-04-07 | 2006-06-20 | Ip First Llc | Method and apparatus for speculatively forwarding storehit data in a hierarchical manner |
GB2372589B (en) | 2001-02-21 | 2003-01-22 | 3Com Corp | Memory aliasing in a processor system |
US7564375B2 (en) * | 2001-09-11 | 2009-07-21 | Zonar Systems, Inc. | System and method to associate geographical position data collected from a vehicle with a specific route |
US7017054B2 (en) * | 2002-07-02 | 2006-03-21 | Dell Products L.P. | Mirrored tag snoop optimization |
KR100755700B1 (ko) | 2005-12-27 | 2007-09-05 | 삼성전자주식회사 | 비휘발성 메모리가 캐쉬로 사용되는 저장 장치 및 그 관리방법 |
US10056008B1 (en) | 2006-06-20 | 2018-08-21 | Zonar Systems, Inc. | Using telematics data including position data and vehicle analytics to train drivers to improve efficiency of vehicle use |
EP2444938A4 (en) * | 2009-06-17 | 2015-09-02 | Panasonic Ip Man Co Ltd | PICTURE GENERATING DEVICE, PICTURE PRODUCTION METHOD AND INTEGRATED CIRCUIT |
US8914184B2 (en) | 2012-04-01 | 2014-12-16 | Zonar Systems, Inc. | Method and apparatus for matching vehicle ECU programming to current vehicle operating conditions |
US9317423B2 (en) * | 2013-01-07 | 2016-04-19 | Hitachi, Ltd. | Storage system which realizes asynchronous remote copy using cache memory composed of flash memory, and control method thereof |
US9934152B1 (en) * | 2015-02-17 | 2018-04-03 | Marvell International Ltd. | Method and apparatus to use hardware alias detection and management in a virtually indexed physically tagged cache |
US9842051B1 (en) * | 2015-03-25 | 2017-12-12 | Marvell International Ltd. | Managing aliasing in a virtually indexed physically tagged cache |
GB2577404B (en) * | 2016-03-29 | 2020-09-09 | Imagination Tech Ltd | Handling memory requests |
GB2548845B (en) | 2016-03-29 | 2019-11-27 | Imagination Tech Ltd | Handling memory requests |
US10847196B2 (en) | 2016-10-31 | 2020-11-24 | Rambus Inc. | Hybrid memory module |
US10482028B2 (en) * | 2017-04-21 | 2019-11-19 | Intel Corporation | Cache optimization for graphics systems |
US10325341B2 (en) | 2017-04-21 | 2019-06-18 | Intel Corporation | Handling pipeline submissions across many compute units |
US11301378B2 (en) | 2017-10-12 | 2022-04-12 | Rambus Inc. | Nonvolatile physical memory with DRAM cache and mapping thereof |
US12086654B2 (en) | 2021-09-16 | 2024-09-10 | T-Head (Shanghai) Semiconductor Co., Ltd. | Parallel processing unit virtualization |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4439829A (en) * | 1981-01-07 | 1984-03-27 | Wang Laboratories, Inc. | Data processing machine with improved cache memory management |
US4884197A (en) * | 1985-02-22 | 1989-11-28 | Intergraph Corporation | Method and apparatus for addressing a cache memory |
US5119290A (en) * | 1987-10-02 | 1992-06-02 | Sun Microsystems, Inc. | Alias address support |
JPH01173241A (ja) * | 1987-12-28 | 1989-07-07 | Toshiba Corp | キャッシュメモリ装置 |
US5058006A (en) * | 1988-06-27 | 1991-10-15 | Digital Equipment Corporation | Method and apparatus for filtering invalidate requests |
GB2256512B (en) * | 1991-06-04 | 1995-03-15 | Intel Corp | Second level cache controller unit and system |
-
1992
- 1992-11-02 EP EP92310027A patent/EP0541319B1/en not_active Expired - Lifetime
- 1992-11-02 DE DE69219433T patent/DE69219433T2/de not_active Expired - Fee Related
- 1992-11-04 JP JP31932692A patent/JP3552114B2/ja not_active Expired - Lifetime
- 1992-11-04 KR KR1019920020594A patent/KR100285533B1/ko not_active IP Right Cessation
-
1994
- 1994-04-25 US US08/232,600 patent/US5933844A/en not_active Expired - Lifetime
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100885277B1 (ko) * | 2001-05-16 | 2009-02-23 | 어드밴스드 마이크로 디바이시즈, 인코포레이티드 | 캐시에서의 라인들을 추론적으로 무효화하는 방법 및 시스템 |
Also Published As
Publication number | Publication date |
---|---|
EP0541319A1 (en) | 1993-05-12 |
KR100285533B1 (ko) | 2001-04-02 |
EP0541319B1 (en) | 1997-05-02 |
DE69219433T2 (de) | 1997-12-11 |
JP3552114B2 (ja) | 2004-08-11 |
US5933844A (en) | 1999-08-03 |
JPH05257804A (ja) | 1993-10-08 |
DE69219433D1 (de) | 1997-06-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR930010733A (ko) | 라이트 드루 가상 캐시메모리, 에일리어스 어드레싱 및 캐시플러시 | |
US6351790B1 (en) | Cache coherency mechanism | |
US5003459A (en) | Cache memory system | |
US5802572A (en) | Write-back cache having sub-line size coherency granularity and method for maintaining coherency within a write-back cache | |
US5361340A (en) | Apparatus for maintaining consistency in a multiprocessor computer system using virtual caching | |
US5353426A (en) | Cache miss buffer adapted to satisfy read requests to portions of a cache fill in progress without waiting for the cache fill to complete | |
AU608447B2 (en) | Data memory system | |
KR100346014B1 (ko) | 개선된 컴퓨터 메모리 어드레스 변환 시스템 | |
US5440707A (en) | Instruction and data cache with a shared TLB for split accesses and snooping in the same clock cycle | |
US4825412A (en) | Lockout registers | |
US5214770A (en) | System for flushing instruction-cache only when instruction-cache address and data-cache address are matched and the execution of a return-from-exception-or-interrupt command | |
US7496730B2 (en) | System and method for reducing the number of translation buffer invalidates an operating system needs to issue | |
US6874077B2 (en) | Parallel distributed function translation lookaside buffer | |
US8621152B1 (en) | Transparent level 2 cache that uses independent tag and valid random access memory arrays for cache access | |
US5715427A (en) | Semi-associative cache with MRU/LRU replacement | |
US5809562A (en) | Cache array select logic allowing cache array size to differ from physical page size | |
JPH0628262A (ja) | ルックアサイドバッファおよび仮想から物理的へアドレスを高速に翻訳する方法 | |
US6591341B1 (en) | Multilevel cache system and method having a merged tag array to store tags for multiple data arrays | |
US6546467B2 (en) | Cache coherency mechanism using an operation to be executed on the contents of a location in a cache specifying an address in main memory | |
EP0543991A1 (en) | Improving computer performance by simulated cache associativity | |
US5179675A (en) | Data processing system with cache memory addressable by virtual and physical address | |
US6145057A (en) | Precise method and system for selecting an alternative cache entry for replacement in response to a conflict between cache operation requests | |
JPH0721085A (ja) | メモリとi/o装置の間で転送されるデータをキャッシュするためのストリーミングキャッシュおよびその方法 | |
US6202128B1 (en) | Method and system for pre-fetch cache interrogation using snoop port | |
US7949833B1 (en) | Transparent level 2 cache controller |
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: 20031224 Year of fee payment: 4 |
|
LAPS | Lapse due to unpaid annual fee |