KR930010733A - 라이트 드루 가상 캐시메모리, 에일리어스 어드레싱 및 캐시플러시 - Google Patents

라이트 드루 가상 캐시메모리, 에일리어스 어드레싱 및 캐시플러시 Download PDF

Info

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
Application number
KR1019920020594A
Other languages
English (en)
Other versions
KR100285533B1 (ko
Inventor
영 마크
Original Assignee
마이클 에이치. 모리스
선 마이크로시스템즈 인코오퍼레이티드
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 마이클 에이치. 모리스, 선 마이크로시스템즈 인코오퍼레이티드 filed Critical 마이클 에이치. 모리스
Publication of KR930010733A publication Critical patent/KR930010733A/ko
Application granted granted Critical
Publication of KR100285533B1 publication Critical patent/KR100285533B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0891Addressing 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1045Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache
    • G06F12/1063Address 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

Abstract

CPU, 캐시메모리, 및 주 기억장치를 포함하고 캐시메모리가 가상으로 번지 지정되며 가상번지의 일부는 서로에 대해 에일리어스 어드레싱인 컴퓨터 시스템에서, 캐시제어로직, 캐시 태그어레이, 메모리 관리 유니트 및 에일리어스 검출 로직을 포함하는 캐시메모리가 제공된다. 캐시 제어 조직은 만약 캐시라인이 캐시가능하지 않은 물리적 메모리 페지지에서 메모리 블록에 해당하면 캐시라인의 플러싱을 스킵합으로서 불필요한 플러시를 피하고 CPU에 대해서 캐시 플러시를 감소하는 기록 할당 접근없이 개선된 라이트 드루를 이용해서 주 기억장치와 캐시메모리를 갱신하도록 한다.

Description

라이트 드루 가상 캐시메모리, 에일리어스 어드레싱 및 캐시플러시
본 내용은 요부공개 건이므로 전문내용을 수록하지 않았음
제1도는 본 발명의 가르침을 구체적으로 표현하는 컴퓨터 시스템을 설명하며.
제2도는 본 발명의 캐시 메모리제어기를 설명하며.
제3도는 본 발명의 캐시 메모리 제어기의 캐시 제어 로직의 순서도를 설명한다.

Claims (7)

  1. 다수의 프로세스를 실행하는 주 기억장치와 케시메모리에 접속되는 중앙처리장치(CPU)를 포함하고 캐시 히트/미스가 가상 번지에 기초하고 상기 가상 번지의 리부는 서로에 대해 에일리어스 어드레스인 컴퓨터 시스템에서 상기 CPU에 대해서 상기 캐시와 캐시 플러싱을 감소시키는 주 기억장치를 갱신하는 방법에 있어서, 다음과 같은 단계 즉, 상기 CPU로부터 기록신호와 가상번지를 수신해서 상기 가상번지가 상기 가상 번지에 기초해서 기록 케시 히트와 기록 캐시 미스중 선택된 하나의 결과를 발생시키는가를 결정하는 단계;상기 가상번지를 상기 주 기억장치의 메모리 위치를 식별하는 물리적 번지로 사상해서 상기 주 기억장치 위치가 상기 주 기억장치의 케시가 가능하지 않은 메모리 블록의 캐시가 가능하지 않은 메모리 위치인가를 결정하는 단계;상기 물리적 번지와, 상기 주 기억장치에 대해 상기 CPU로부터 상기 CPU에 의해 상기 주 기억장치에 디스패치되는 데이타 바이트를 받아들이도록 명령하고 상기 메모리 위치에 상기 데이타 바이트를 저장하는 제1기록제어신호를 상기 주 기억장치에 제공하는 단계;상기 캐시 메모리에 대해서 만약 상기 가상 번지가 상기 기록 캐시 히트의 결과를 낳는다면 상기 CPU에 의해 상기 캐시 메모리로 디스패치되고 상기 캐시 메모리에 의해 받아들여지면 상기 캐시메모리에서 상기 가상번지에 의해 식별되고 상기 메모리 블록에 해당하는 캐시라인에서 캐시되는 상기 데이타 바이트를 받아들이도록 명령하는 제2제어신호를 제공하는 단계;및 만약 상기 가상번지가 상기 기록 캐시미스의 결과를 낳고 상기 메모리 위치가 캐시 가능하지 않은 메모리 위치라면 상기 캐시라인을 프러시하는 단계;를 포함하고, 상기 캐시라인이 캐시가능한 메모리 블록일 경우에만 상기 캐시라인이 플러시되도록 함으로서 불필요한 캐시 플러시를 줄이는 것을 특징으로 하는 방법.
  2. 제1항에 있어서, 상기 주 기억장치위치가 캐시 가능하지 않은 메모리블록의 캐시 가능하지 않은 메모리 위치인가를 결정하는 상기 단계가 상기 메모리 블록을 포함하는 물리적 메모리에 대해 물리적 메모리 페이지 테이블에서 물리적 메모리 페이지 디스크립터의 "캐시하지 말것"이란 비트가 설정되었는가를 검색하고, 만약 상기 메모리블록을 포함하는 상기 물리적 메모리 페이지가 캐시가능하지 않다면 상기 "캐시하지말것"이란 비트가 설정되는 단계를 포함하는 것을 특징으로 하는 방법.
  3. 제1항에 있어서, 상기 캐시라인을 플러시하는 단계가 상기 캐시라인에 대해 캐시 태그에서 밸리드 비트를 비설정함으로서 상기 캐시 라인에서 현재 캐시된 데이타를 무효화시키며, 만약 상기 캐시라인에서 현재 캐시된 데이타가 타당하다면 상기 밸리드 비트는 설정되는 단계를 포함하는 것을 특징으로 하는 방법.
  4. 다수의 프로세스를 실행하는 주 기억장치와 캐시메모리에 접속되는 중앙처리장치(CPU)를 포함하고 캐시 히트미스가 가상 번지에 기초하고 상기 가상번지의 일부는 서로에 대해 에일리어스 어드레스인 컴퓨터 시스템에서 상기 CPU에 대해서 상기 캐시와 캐시 플러싱을 감소시키는 주 기억장치를 갱신하는 캐시 메모리 제어기에 있어서, 상기 캐시메모리의 다수의 해당 캐시라인에서 현재 캐시된 상기 주 기억장치의 다수의 메모리 블록을 식별하는 다수의 캐시 태그를 저장하는 캐시 태그어레이;가상 번지를 상기 주 기억장치의 메모리 블록의 메모리위치를 식별하는 물리적 번지로 사상하며, 캐시 가능하지 않은 메모리 블록을 포함하는 상기 주 기억장치의 캐시 가능하지 않은 메모리 블록을 포함하는 상기 주 기억장치의 캐시 가능하지 않은 물리적 메모리 페이지를 트래킹하는 메모리 관리유니트;및 상기 CPU로 부터 기록신호와 가상번지를 수신하기 위해 상기 CPU, 상기 캐시 태그어레이, 및 상기 메모리 관리 유니트에 접속되고 상기 캐시 태그 어레이를 이용해서 상기 가상 번지가 상기 가상번지에 기초한 기록 캐시 미스와 기록 캐시히트중 선택된 하나의 결과를 낳는지를 결정하고, 상기 메모리 관리유니트를 이용해서 상기 주 기억장치의 메모리위치를 식별하는 물리적 번지로 상기 가상 번지를 사상하고, 상기 메모리 관리 유니트를 이용해서 상기 주 기억장치 위치가 캐시 가능하지 않은 메모리 위치인가를 결정하고, 상기 주 기억장치에 대해 상기 주 기억장치가 상기 CPU로부터 데이타 바이트를 받아들이도록 명령하는 제1기록 제어신호와 상기 물리적 번지를 제공해서 상기 메모리 위치에 상기 데이타 바이트를 저장하고, 상기 가상번지가 상기 기록캐시히트의 결과를 낳는다면 상기 캐시 메모리가 상기 CPU로 부터 상기 데이타 바이트를 받아들이도록 명령하는 제2제어신호를 상기 캐시 메모리에 제공하고, 만약 가상 번지가 상기 기록 캐시 미스의 결과를 낳고 상기 메모리 위치가 캐시 가능하지 않은 메모리 위치가 아니라면 상기 캐시라인을 플러시하는 캐시 제어 로직;을 포함하고 상기 데이타 바이트는 상기 CPU에 의해서 상기 주 기억장치와 상기 캐시 메모리에 동시에 디스패치되고 상기 캐시 메모리에 의해 받아들이여지면 상기 캐시 메모리의 캐시라인에서 캐시되고 상기 캐시라인은 상기 가상번지에 의해 식별되고 상기 메모리 블록에 해당하는 것을 특징으로 하는 캐시 메모리 제어기.
  5. 제4항에 있어서, 상기 메모리 관리 유니트는 물리적 메모리 페이지 디스크립터 블록내 "캐시하지 말것"이란 비트를 각각 캐시 가능하지 않은 물리적 메모리 페이지에 대해 물리적 메모리 페이지 디스크립터 태이블내에 설정함으로서 상기 주 기억장치의 캐시 가능하지 않은 물리적 메모리 페이지를 트랙하고;상기 캐시 제어로직은 상기 메모리 블록을 구성하는 물리적 메모리 페이지에 대해 상기 물리적 메모리 페이지 디스크립터의 상기"캐시하지말것"이란 비트가 설정되었는지를 검색함으로서 상기 주 기억장치위치가 캐시 가능하지 않은 메모리 위치인가를 결정하는 것을 특징으로 하는 캐시 메모리 제어기.
  6. 제4항에 있어서, 상기 캐시 제어 로직은 상기 캐시라인에 대해 캐시 태그내 밸리드 비트를 비설정함으로서 상기 캐시라인을 플러시함으로서 상기 캐시라인에서 현재 캐시된 데이타를 무효화시키며, 만약 상기 캐시라인내에 현재 캐시된 데이타가 타당하다면 상기 밸리드 비트는 상기 캐시제어로직에 의해 설정되는 것을 특징으로 하는 캐시 메모리 제어기.
  7. 다수의 프로세스를 실행하는 주 기억장치와 캐시 메모리에 접속되는 중앙 처리장치(CPU)를 포함하고 캐시 히트/미스가 가상번지에 기초하고 상기 가상 번지의 일부는 서로에 대해 에일리어스 어드레스인 개선된 컴퓨터 시스템에서, 상기 개선을 상기 CPU, 상기 캐시 메모리, 및 상기 주 기억장치에 접속되며, 상기 CPU에 대해서 기록 캐시 미스상에서 캐시 플러시를 감소하는 기록할당 접근없이 개선된 라이트 드두를 갖는 주 기억장치와 상기 캐시를 갱신하도록 하는 개선된 캐시메모리 제어를 포함하는 것을 특징으로 하는 컴퓨터 시스템.
    ※ 참고사항 : 최초출원 내용에 의하여 공개하는 것임.
KR1019920020594A 1991-11-04 1992-11-04 라이트 드루 가상 캐시메모리, 에일리어스 어드레싱 및 캐시플러시 KR100285533B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US78754791A 1991-11-04 1991-11-04
US787,547 1991-11-04
US787547 1997-01-22

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100885277B1 (ko) * 2001-05-16 2009-02-23 어드밴스드 마이크로 디바이시즈, 인코포레이티드 캐시에서의 라인들을 추론적으로 무효화하는 방법 및 시스템

Families Citing this family (20)

* Cited by examiner, † Cited by third party
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
WO2010146828A1 (ja) * 2009-06-17 2010-12-23 パナソニック株式会社 画像生成装置、画像生成方法及び集積回路
US20130261939A1 (en) 2012-04-01 2013-10-03 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
CN109416656B (zh) 2016-10-31 2023-08-11 拉姆伯斯公司 混合存储器模块
US10325341B2 (en) 2017-04-21 2019-06-18 Intel Corporation Handling pipeline submissions across many compute units
US10482028B2 (en) 2017-04-21 2019-11-19 Intel Corporation Cache optimization for graphics systems
WO2019074743A1 (en) 2017-10-12 2019-04-18 Rambus Inc. NON-VOLATILE PHYSICAL MEMORY WITH DRAM CACHE MEMORY

Family Cites Families (6)

* Cited by examiner, † Cited by third party
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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100885277B1 (ko) * 2001-05-16 2009-02-23 어드밴스드 마이크로 디바이시즈, 인코포레이티드 캐시에서의 라인들을 추론적으로 무효화하는 방법 및 시스템

Also Published As

Publication number Publication date
EP0541319B1 (en) 1997-05-02
KR100285533B1 (ko) 2001-04-02
JPH05257804A (ja) 1993-10-08
JP3552114B2 (ja) 2004-08-11
DE69219433T2 (de) 1997-12-11
EP0541319A1 (en) 1993-05-12
DE69219433D1 (de) 1997-06-05
US5933844A (en) 1999-08-03

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
JPH0628262A (ja) ルックアサイドバッファおよび仮想から物理的へアドレスを高速に翻訳する方法
US6591341B1 (en) Multilevel cache system and method having a merged tag array to store tags for multiple data arrays
US5809562A (en) Cache array select logic allowing cache array size to differ from physical page size
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