KR910003496A - 캐시 미스의 강제발생에 의한 다중 레벨 캐시 시스템의 성능 증가방법 - Google Patents

캐시 미스의 강제발생에 의한 다중 레벨 캐시 시스템의 성능 증가방법 Download PDF

Info

Publication number
KR910003496A
KR910003496A KR1019900010065A KR900010065A KR910003496A KR 910003496 A KR910003496 A KR 910003496A KR 1019900010065 A KR1019900010065 A KR 1019900010065A KR 900010065 A KR900010065 A KR 900010065A KR 910003496 A KR910003496 A KR 910003496A
Authority
KR
South Korea
Prior art keywords
cache memory
instruction
data
memory
processor
Prior art date
Application number
KR1019900010065A
Other languages
English (en)
Other versions
KR100204741B1 (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 KR910003496A publication Critical patent/KR910003496A/ko
Application granted granted Critical
Publication of KR100204741B1 publication Critical patent/KR100204741B1/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
    • 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/0893Caches characterised by their organisation or structure
    • G06F12/0897Caches characterised by their organisation or structure with two or more cache hierarchy levels

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)
  • Advance Control (AREA)

Abstract

내용 없음.

Description

캐시 미스의 강제발생에 의한 다중 레벨 캐시 시스템의 성능 증가방법
본 내용은 요부공개 건이므로 전문내용을 수록하지 않았음
제2도는 본 발명의 바람직한 실시태양에 따라 중앙처리 장치, 코프로세서 및 메인 메모리사이에 접속된 메인 캐시 메모리 및 룩어사이드 캐시 메모리를 도시하는 도면.
제3도는 본 발명의 바람직한 실시태양에 따른 어드레스 구성을 도시하는 도면.
제4도는 본 발명의 바람직한 실시태양에 따라서 제3도에 도시된 룩어사이드 캐시 메모리 시스템 내에서 무효 데이타를 나타내는데 사용된 기억 장치를 도시하는 도면.

Claims (12)

  1. 복수의 명령을 실행하는 컴퓨팅 시스템에 있어서, 시스템 메모리내 데이타의 억세스를 포함하는 복수의 명령을 순조롭게 실행하기 위하여 프로세서에 의해 제1캐시 메모리 및 제2캐시 메모리를 이용하며, 상기 각각의 데이타 억세스 목적이 데이타를 상기 시스템 메모리로 부터 판독하거나 또는 상기 시스템 메모리내에 기록하려는 목적인 방법으로서, 상기 방법이, (R)상기 프로세서에 의해 제1명령을 실행하는 단계와, 상기 제1명령을 실행하는 단계가 다음과 같은 부속단계로서, (i)상기 제1명령의 실행에 필요한 데이타를 구하기 위해 제1캐시 메모리를 억세스하는 단계와, (ii)상기 제1명령의 실행에 필요한 데이타가 상기 제1캐시 메모리내에 존재하지 않을때, 상기 제1명령의 실행에 필요한 데이타를 구하기 위해 상기 제3캐시 메모리를 억세스하고 상기 제1명령의 실행에 필요한 데이타를 상기 제2캐시 메모리로 부터 상기 제1캐시 메모리내로 기록하는 단계를 포함하며, (b)상기 프로세서에 의해 제2명령을 실행하는 단계와, 상기 제2명령을 실행하는 단계가 다음과 같은 부속단계로서 (i)상기 제1명령의 실행에 필요한 데이타가 상기 제2캐시 메모리로 부터 상기 제1캐시 메모리내로 기록되어져 있는가의 여부에 대하여 결정하는 단계와, (ii)상기 부속단계(b)의 (i)에서 수행된 결정이 상기 제1명령의 실행에 필요하는 데이타가 상기 제2캐시 메모리로부터 상기 제1캐시 메모리내로 기록되지 않았음을 나타낼 때, 상기 제2명령의 실행에 필요한 데이타를 구하기 위해, 상기 제1캐시 메모리를 엑세스하는 단계와, (iii)상기 부속단계(b)의 (i)에서 수행된 결정이 상기 제1명령의 실행에 따라 필요한 데이타가 상기 제2캐시 메모리로부터 상기 제1캐시 메모리내에 기록되어 있음을 나타낼때, 상기 제2명령에 필요한 데이타가 마치 상기 제1캐시 메모리내에 존재하지 않은 것 처럼하여 상기 제2명령의 실행에 필요한 데이타를 구하기위해 상기 제3캐시 메모리를 억세스하는 단계를 포함하는 방법.
  2. 제1항에 있어서, 상기 제1캐시 메모리 및 상기 제2캐시 메모리는 상기 프로세서에 의해 병렬로 억세스가능하며 상기 프로세서에 의해 상기 제1캐시 메모리에 기록된 모든 데이타는 또한 상기 제3캐시 메모리에도 기록되는 방법.
  3. 제1항에 있어서, 상기 프로세서는 명령을 파이프라인 단에서 실행하며, 상기 파이프라인 단은 명령이 페치되는 페치 단과, 산술기능이 수행되는 ALU 단과, 상기 제1캐시 메모리로 데이타가 억세스되는 메모리단을 포함 하는 방법.
  4. 제3항에 있어서, 복수의 명령중의 한 명령을 실행하는데 필요한 데이타가 상기 제1캐시 메모리에서 취득가능하지 않을때, 상기 명령의 실행에 필요한 데이타는 상기 복수의 캐시단을 억세스하는중에 상기 제2캐시 메모리 로부터 억세스되는 방법.
  5. 제4항에 있어서, 상기 부속단계(a)는 (ii)는 상기 제1명령을 상기 복수의 캐시단으로 억세스하는 중에 발생하며, 상기 부속단계(b)의 (i)는 상기 제2명령을 상기 메모리 단으로 억세스하는 중에 발생하는 방법.
  6. 제5항에 있어서, 상기 제1캐시 및 상기 제2캐시 메모리는 상기 프로세서에 의해 병렬로 억세스가능하며 상기 프로세서에 의해 상기 제1캐시 메모리에 기록된 모든 데이타는 또한 상기 제2캐시 메모리에도 기록되는 방법.
  7. 복수의 명령을 실행하는 컴퓨팅 시스템에 있어서, 시스템 메모리내 데이타의 억세스를 포함하는 복수 명령을 순조롭계 실행하기 위하여 프로세서에 의해 제1캐시 메모리 및 제2캐시 메모리를 이용하며, 상기 각각의 데이타 억세스의 목적이 데이타를 상기 시스템 메모리로부터 판독하거나 또는 상기 시스템 메모리내에 기록하려는 목적인 방법으로서, 상기 방법이, (a)상기 프로세서에 의해 제1명령을 실행하는 단계와, 상기 제1명령을 실행하 는 단계가 다음과 같은 부속단계로서, (i)상기 제1명령의 실행하는데 필요한 데이타를 구하기 위해 상기 제1캐시 메모리를 억세스하는 단계와, (ii)상기 제1명령의 실행에 필요한 데이타가 상기 제1캐시 메모리내에 존재하지 않을때, 상기 제1명령의 실행에 필요한 데이타를 구하기 위해 상기 제2캐시 메모리를 억세스하고 상기 제1명령의 실행에 필요한 데이타를 상기 제2캐시 메모리로 부터 상기 제1캐시 메모리에 기록하는 단계를 포함하며, (b)상기 프로세서에 의해 제2명령을 실행하는 단계를 포함하며, 상기 제2명령을 실행하는 단계가 다음과 같은 부속단계 로서, (i)상기 제2명령의 실행에 필요한 데이타를 구하기 위해 상기 제1캐시 메모리를 억세스하는 단계와, (ii)상기 부속단계(b)의 (i)가 제1명령의 실행에 필요한 데이타를 상기 단계(a)의 (ii)에서 상기 제1캐시 메모리로부터 상기 제1캐시 메모리내에 동시에 기록하려고 시도될때, 상기 제1명령의 실행에 필요한 데이타를 상기 제2캐시 메모리로부터 상기 제1캐시 메모리내에 기록하는 것을 중단시키는 단계를 포함하는 방법.
  8. 제7항에 있어서, 상기 제1캐시 메모리 및 상기 제2캐시 메모리는 상기 프로세서에 의해 병렬로 억세스가능하며 상기 프로세서에 의해 상기 제1캐시 메모리에 기록된 모든 데이타는 또한 상기 제1캐시 메모리에도 기록되는 방법.
  9. 제7항에 있어서, 상기 프로세서는 명령을 파이프라인 단에서 실행하며, 상기 파이프라인 단은 명령이 페치 되는 페치단과, 산술기능이 수행되는 ALU단과, 상기 제1캐시 메모리로 데이타가 억세스되는 메모리단을 포함하는 방법.
  10. 제9항에 있어서, 복수의 명령중의 한 명령을 실행하는데 필요한 상기 데이타가 상기 제1캐시 메모리에서 취득가능하지 않을때, 상기 명령의 진행에 필요한 데이타는 상기 복수의 캐시단을 억세스하는, 중에 상기 제2캐시 메모리로부터 억세스되는 방법.
  11. 제10항에 있어서, 상기 부속단계(b)의 (ii)는 제1명령을 상기 복수의 캐시단으로 억세스하는 중에 발생하며, 상기 부속단계(b)의 (i)는 상기 제2명령을 상기 메모리단으로 억세스하는 중에 발생하는 방법.
  12. 제11항에 있어서, 상기 제1캐시 및 상기 제2캐시 메모리는 상기 프로세서에 의해 병렬로 억세스가능하며 상기 프로세서에 의해 상기 제1캐시 메모리에 기록된 모든 데이타는 또한 상기 제2캐시 메모리에도 기록되는 방법.
    ※ 참고사항 : 최초출원 내용에 의하여 공개하는 것임.
KR1019900010065A 1989-07-05 1990-07-04 제1및 제2캐시 메모리 사용방법 KR100204741B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/376,265 US5155832A (en) 1989-07-05 1989-07-05 Method to increase performance in a multi-level cache system by the use of forced cache misses
US376265 1989-07-05

Publications (2)

Publication Number Publication Date
KR910003496A true KR910003496A (ko) 1991-02-27
KR100204741B1 KR100204741B1 (ko) 1999-06-15

Family

ID=23484313

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019900010065A KR100204741B1 (ko) 1989-07-05 1990-07-04 제1및 제2캐시 메모리 사용방법

Country Status (5)

Country Link
US (1) US5155832A (ko)
EP (1) EP0407052B1 (ko)
JP (1) JP3016575B2 (ko)
KR (1) KR100204741B1 (ko)
DE (1) DE69025658T2 (ko)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5261066A (en) * 1990-03-27 1993-11-09 Digital Equipment Corporation Data processing system and method with small fully-associative cache and prefetch buffers
US6101576A (en) * 1992-07-31 2000-08-08 Fujitsu Limited Method for saving generated character image in a cache system including a backup cache
JP3409866B2 (ja) * 1992-09-18 2003-05-26 株式会社日立製作所 並列計算機
US5509135A (en) * 1992-09-25 1996-04-16 Digital Equipment Corporation Multi-index multi-way set-associative cache
JP2768889B2 (ja) * 1993-06-07 1998-06-25 株式会社東芝 論理シミュレーション装置
JPH0784881A (ja) * 1993-09-13 1995-03-31 Mitsubishi Electric Corp キャッシュメモリ
US5809525A (en) * 1993-09-17 1998-09-15 International Business Machines Corporation Multi-level computer cache system providing plural cache controllers associated with memory address ranges and having cache directories
KR970010368B1 (ko) * 1994-01-18 1997-06-25 삼성전자 주식회사 캐시라인 리프레이스장치 및 방법
US5826052A (en) * 1994-04-29 1998-10-20 Advanced Micro Devices, Inc. Method and apparatus for concurrent access to multiple physical caches
US5539895A (en) * 1994-05-12 1996-07-23 International Business Machines Corporation Hierarchical computer cache system
US5553264A (en) * 1994-06-24 1996-09-03 Digital Equipment Corporation Method and apparatus for efficient cache refilling by the use of forced cache misses
US5537575A (en) * 1994-06-30 1996-07-16 Foley; Denis System for handling cache memory victim data which transfers data from cache to the interface while CPU performs a cache lookup using cache status information
DE19526960A1 (de) * 1994-09-27 1996-03-28 Hewlett Packard Co Eine Übersetzungs-Querzuordnungs-Puffer-Organisation mit variabler Seitengrößenabbildung und Opfer-Cache-Speicherung
US5584013A (en) * 1994-12-09 1996-12-10 International Business Machines Corporation Hierarchical cache arrangement wherein the replacement of an LRU entry in a second level cache is prevented when the cache entry is the only inclusive entry in the first level cache
US5721864A (en) * 1995-09-18 1998-02-24 International Business Machines Corporation Prefetching instructions between caches
US5860150A (en) * 1995-10-06 1999-01-12 International Business Machines Corporation Instruction pre-fetching of a cache line within a processor
US5794243A (en) * 1995-12-11 1998-08-11 International Business Machines Corporation Method and apparatus for executing a binary search in a data cache
US5740391A (en) * 1996-03-01 1998-04-14 Hewlett-Packard Co. Preventing premature early exception signaling with special instruction encoding
US5813033A (en) * 1996-03-08 1998-09-22 Advanced Micro Devices, Inc. Superscalar microprocessor including a cache configured to detect dependencies between accesses to the cache and another cache
US5765194A (en) * 1996-05-01 1998-06-09 Hewlett-Packard Company Timing consistent dynamic compare with force miss circuit
US5781923A (en) * 1996-05-28 1998-07-14 Hewlett-Packard Company Adding a field to the cache tag in a computer system to indicate byte ordering
US5761490A (en) * 1996-05-28 1998-06-02 Hewlett-Packard Company Changing the meaning of a pre-decode bit in a cache memory depending on branch prediction mode
US5875469A (en) * 1996-08-26 1999-02-23 International Business Machines Corporation Apparatus and method of snooping processors and look-aside caches
US6122711A (en) * 1997-01-07 2000-09-19 Unisys Corporation Method of and apparatus for store-in second level cache flush
US5895495A (en) * 1997-03-13 1999-04-20 International Business Machines Corporation Demand-based larx-reserve protocol for SMP system buses
US6073212A (en) * 1997-09-30 2000-06-06 Sun Microsystems, Inc. Reducing bandwidth and areas needed for non-inclusive memory hierarchy by using dual tags
US5909697A (en) * 1997-09-30 1999-06-01 Sun Microsystems, Inc. Reducing cache misses by snarfing writebacks in non-inclusive memory systems
US6253291B1 (en) 1998-02-13 2001-06-26 Sun Microsystems, Inc. Method and apparatus for relaxing the FIFO ordering constraint for memory accesses in a multi-processor asynchronous cache system
US6336168B1 (en) * 1999-02-26 2002-01-01 International Business Machines Corporation System and method for merging multiple outstanding load miss instructions
US6341331B1 (en) * 1999-10-01 2002-01-22 International Business Machines Corporation Method and system for managing a raid storage system with cache
TW490637B (en) * 2001-01-16 2002-06-11 Ind Tech Res Inst Memory emulator for simulating memory components of different interface specification and not restrained to memory space
US6996812B2 (en) * 2001-06-18 2006-02-07 International Business Machines Corporation Software implementation of synchronous memory barriers
CN104657145B (zh) * 2015-03-09 2017-12-15 上海兆芯集成电路有限公司 用于微处理器的重发停靠的系统和方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3938097A (en) * 1974-04-01 1976-02-10 Xerox Corporation Memory and buffer arrangement for digital computers
US4268907A (en) * 1979-01-22 1981-05-19 Honeywell Information Systems Inc. Cache unit bypass apparatus
JPS57105879A (en) * 1980-12-23 1982-07-01 Hitachi Ltd Control system for storage device
US4667288A (en) * 1983-06-30 1987-05-19 Honeywell Information Systems Inc. Enable/disable control checking apparatus
US4774654A (en) * 1984-12-24 1988-09-27 International Business Machines Corporation Apparatus and method for prefetching subblocks from a low speed memory to a high speed memory of a memory hierarchy depending upon state of replacing bit in the low speed memory
US4755930A (en) * 1985-06-27 1988-07-05 Encore Computer Corporation Hierarchical cache memory system and method
US4713755A (en) * 1985-06-28 1987-12-15 Hewlett-Packard Company Cache memory consistency control with explicit software instructions
US4794521A (en) * 1985-07-22 1988-12-27 Alliant Computer Systems Corporation Digital computer with cache capable of concurrently handling multiple accesses from parallel processors
US4833599A (en) * 1987-04-20 1989-05-23 Multiflow Computer, Inc. Hierarchical priority branch handling for parallel execution in a parallel processor
US5023776A (en) * 1988-02-22 1991-06-11 International Business Machines Corp. Store queue for a tightly coupled multiple processor configuration with two-level cache buffer storage

Also Published As

Publication number Publication date
US5155832A (en) 1992-10-13
JPH0342745A (ja) 1991-02-22
DE69025658D1 (de) 1996-04-11
KR100204741B1 (ko) 1999-06-15
EP0407052B1 (en) 1996-03-06
JP3016575B2 (ja) 2000-03-06
EP0407052A3 (en) 1992-02-12
EP0407052A2 (en) 1991-01-09
DE69025658T2 (de) 1996-07-18

Similar Documents

Publication Publication Date Title
KR910003496A (ko) 캐시 미스의 강제발생에 의한 다중 레벨 캐시 시스템의 성능 증가방법
US7461209B2 (en) Transient cache storage with discard function for disposable data
US5247639A (en) Microprocessor having cache bypass signal terminal
US9251095B2 (en) Providing metadata in a translation lookaside buffer (TLB)
JP5231018B2 (ja) ページ内のプログラムカウンター相対アドレスまたは絶対アドレスの分岐命令のためのtlbの抑制
US5940858A (en) Cache circuit with programmable sizing and method of operation
KR900005299A (ko) 가상계산기 시스템
US4937738A (en) Data processing system which selectively bypasses a cache memory in fetching information based upon bit information of an instruction
US20140337585A1 (en) Page table management
KR920004962A (ko) 디지탈신호처리장치용 가상의 긴명령어 메모리장치 및 그 명령어 발생방법
JPS59165144A (ja) 命令取出し装置
KR100705171B1 (ko) 어드레스 변환 장치 및 방법
KR19980042268A (ko) 데이터 처리 시스템 및 그 방법
KR890017609A (ko) 멀티프로세서 데이타 처리시스템 및 그것에 사용되는 캐시장치
EP3264317B1 (en) Permission control for contingent memory access program instruction
JP2575598B2 (ja) マルチプロセッサ・コンピュータ・システムのシステム・メモリの並行性を増大する方法およびシステム
US5161219A (en) Computer system with input/output cache
US8180980B2 (en) Device emulation support within a host data processing apparatus
US6820254B2 (en) Method and system for optimizing code using an optimizing coprocessor
US4641277A (en) System for detecting access to storage
KR900018808A (ko) 파이프라인방식(pipeline 方式)의 마이크로프로세서
KR890002777A (ko) 액세스 및 오류논리신호를 이용하는 주기억장치보호를 위한 장치 및 그 방법
Cho et al. Page fault behavior and two prepaging schemes
US5815729A (en) Method and apparatus for on the fly descriptor validation
JPH08305634A (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: 20090325

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee