KR0128272B1 - 보조 메모리를 포함하는 정보 처리 시스템 및 그 동작 방법 - Google Patents

보조 메모리를 포함하는 정보 처리 시스템 및 그 동작 방법

Info

Publication number
KR0128272B1
KR0128272B1 KR1019940024922A KR19940024922A KR0128272B1 KR 0128272 B1 KR0128272 B1 KR 0128272B1 KR 1019940024922 A KR1019940024922 A KR 1019940024922A KR 19940024922 A KR19940024922 A KR 19940024922A KR 0128272 B1 KR0128272 B1 KR 0128272B1
Authority
KR
South Korea
Prior art keywords
information
memory
processing system
instruction
response
Prior art date
Application number
KR1019940024922A
Other languages
English (en)
Other versions
KR950012226A (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 KR950012226A publication Critical patent/KR950012226A/ko
Application granted granted Critical
Publication of KR0128272B1 publication Critical patent/KR0128272B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30043LOAD or STORE instructions; Clear instruction
    • 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/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0811Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
    • 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/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3824Operand accessing
    • G06F9/383Operand prefetching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3824Operand accessing
    • G06F9/3834Maintaining memory consistency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/6022Using a prefetch buffer or dedicated prefetch cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/6028Prefetching based on hints or prefetch instructions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Advance Control (AREA)
  • Hardware Redundancy (AREA)
  • Information Transfer Systems (AREA)

Abstract

본 발명은 보조 메모리를 포함하는 정보 처리 시스템 및 그 동작 방법을 제공한다. 보조 메모리는, 제1 인스트럭션에 응답하여, 시스템 메모리로부터 제1 정보를 저장한다. 캐시 메모리는 제2 인스트럭션에 응답하여, 제1 정보가 제2 정보를 포함하면 보조 메모리로부터 제2 정보를 저장하고, 그렇지 않으면 시스템 메모리로부터 제2 정보를 저장한다.

Description

보조 메모리를 포함하는 정보 처리 시스템 및 그 동작 방법
제1도는 본 발명의 바람직한 실시예에 따른 정보 처리 시스템의 블록도
제2도는 제1도의 프리페치 메모리의 동작 방법을 도시하는 순서도.
제3도는 제1도의 캐시 메모리의 동작 방법을 도시하는 순서도.
제4도는 본 발명의 다른 실시예에 따른 정보 처리 시스템의 블록도.
* 도면의 주요부분에 대한 부호의 설명
12 : 캐시 메모리 16 : 프로세서
18 : 버스 인터페이스 장치 19 : 실행 유닛
20 : 스누프 레지스터 22 : 기록 레지스터
24 : 판독 레지스터 26 : 터치 로드 레지스터
30 : 시스템 메모리
본 발명은 일반적으로 정보처리 시스템에 관한 것으로, 특히, 정보처리시스템(information processing system) 및 그 동작 방법에 관한 것이다.
대부분의 정보 처리 시스템은 시스템 메모리(system memory)와 캐시 메모리(cache memory)를 구비한다.
캐시 메모리는 비교적 용량이 적은 고속 메모리로서, 하나 이상의 시스템 메모리 부분으로부터 정보를 복사(copy)하여 저장한다. 흔히, 캐시 메모리는 시스템 메모리와 물리적으로 분리되어 있다. 이와 같은 캐시 메모리는 시스템의 프로세서 장치(processor devices)와 일체적으로 구성될 수도 있고 일체적으로 구성되지 않을 수도 있다.
정보는 시스템 메모리의 일부로부터 캐시 메모리로 복사될 수 있다. 캐시 메모리의 정보는 변경(modify)될수 있다. 또한, 변경된 정보는 캐시 메모리로부터 시스템 메모리의 일부분으로 다시 복사(copy back)될 수 있다.
프로세서의 실행 유닛(execution units)는 인스트럭션(instructions)에 응답하여 캐시 메모리에 저장된 정보를 처리할 수 있다. 이러한 인스트럭션에는 프로세서의 레지스터와 캐시 모메리 사이에 데이터 정보(data information)를 전송하기 위한 메모리 인스트렉션(memory instructions)도 포함된다. 예컨대 로드/저장(load/store) 인스트럭션이나 판독/기록(read/write)인스트럭션과 같은 메모리 인스트럭션에 관련된 정보가 캐시 메모리내에 저장되어 있지 않은 상황 즉 캐시 미스(cache miss)상황에서는, 상기 데이터 정보는 시스템 메모리로부터 요구된다. 캐시 미스 상황에 응답하여 시스템 메모리로부터 정보를 기다리는 동안에 상당한 지연이 발생할 수 있다.
이와 같은 캐시 미스 상황의 부정적인 영향(즉 지연)을 감소시키기 위해, 프로세서는 예컨대 터치 로드(touch load)인스트럭션과 같은 프리페치(prefetch) 인스트럭션을 지원하여, 데이터 정보가 프로세서의 다른 인스트럭션에 대해 사용되기 휠씬 이전에 이 데이터 정보를 시스템 메모리내의 지정된 어드레스로부터 캐시 메모리에 로딩(loading)할수 있다.
그럼에도 불구하고, 프리페치 인스트럭션 스스로가 캐시 미스 상황을 초래할 경우, 그리고 캐시 메모리가 블로킹(blocking)형 캐시 메모리인 경우, 후속 메모리 인스트럭션들은, 정보가 시스템 메모리로부터 수신될 때까지 캐시 메모리를 사용할 수 없게 된다. 즉, 후속 메모리 인스트럭션들은 이들이 캐시 메모리에 이미 저장되어 있는 정보를 지정(specify)하더라도 캐시 메모리의 사용이 차단된다.
따라서, 종래의 블로킹형 캐시 메모리를 사용할 경우, 이러한 프리페치 인스트럭션은 비효과적이며 심지어 프로세서의 성능을 저하시킬 수 있다. 종래의 기법에 의하면, 프리페치 동작은 캐시 메모리가 비블로킹(non­blocking)형으로 만들어지지 않는 한 매우 비실용적이다. 비블로킹형 캐시 메모리(non­blocking cache memory)의 경우, 후속 메모리 인스트럭션들은 이들이 캐시 메모리에 이미 저장되어 있는 정보를 지정하는 경우에 캐시 메모리의 사용이 차단되지 않는다.
그러나, 비블로킹형 캐시 메모리를 위한 논리(logic)는 블로킹형 캐시 메모리를 위한 논리보다 복잡하다. 더우기, 비블로킹형 캐시 메모리는 올바르게 동작했는지를 검증하는 것이 어려운데, 그 이유는 시스템 메모리로부터 정보를 기다리는 동안에도 후속 메모리 인스트럭션들이 캐시메모리를 사용할 수 있기 때문이다.
따라서, 블로킹형 캐시 메모리를 갖는 시스템에 대해서도 프리페치 인스트럭션이 효과적인 정보 처리 시스템 및 그 동작 방법이 필요하다. 더욱이, 캐시 미스 상황시의 부정적인 영향 즉, 지연이 감소되는 정보 처리 시스템 및 그 동작 방법이 필요하다.
본 발명의 정보 처리 시스템 및 그 동작 방법에 따르면, 보조 메모리(supplemental memory)가 제1 인스트럭션에 응답하여 시스템 메모리로부터 제1 정보를 저장한다. 캐시 메모리는, 제2 인스트럭션에 응답하여, 제1 정보가 제2 정보를 포함할 경우 보조 메모리로부터 제2 정보를 저장하고, 그렇지 않으면 시스템 메모리로부터 제2 정보를 저장한다.
본 발명의 다른 기술적 이점은 캐시 미스 상황에서의 부정적인 영향이 감소된다는 것이다.
본 발명의 예시적인 실시예 및 이점들은 첨부된 제1도 내지 제4도의 도면을 참조함으로써 보다 잘 이해될 수 있으며, 도면에서 동일한 부분이나 대응 부분에는 동일한 참조번호가 사용된다.
제1도는 본 발명의 바람직한 실시예에 따른 정보 처리 시스템(10)의 블록도이다. 시스템(10)에서, 캐시 메모리(12)는 프로세서(16)와 일체적으로 구성되어 있다. 프로세서(16)는 단일 직접 회로 수퍼스칼라 마이크로프로세서(single integrated circuit superscalar microprocessor)일수 있다. 다른 실시예에서는, 캐시 메모리(12)가 프로세서(16)와 일체적으로 구성되지 않을 수도 있다. 또다른 실시예에서, 프로세서(16)는 다중칩(multi­chip) 마이크로프로세서일 수 있다. 역시 또다른 실시예에서, 프로세서(16)는 비수퍼스칼라 프로세서(non­superscalar processor)일 수 있다.
프로세서(16)는 버스 인터페이스 장치(BIU : bus interface unit)(18), 스누프 레지스터(snoop register)(20)와, 기록 레지스터(22) 및 판독 레지스터(24)를 포함한다. 또한 프로세서(16)는 실행 유닛(19)을 포함한다. 본 바람직한 실시예의 중요한 측면으로서, 프로세서(16)는 터치로드 레지스터(TLR : touch load register)로 형성된 프리페치 메모리(26)를 더 포함한다. 시스템(10)은 프로세서(16)외에도 시스템 버스(system bus)(28) 및 이에 접속된 시스템 메모리(30)를 포함한다. 또한, 프로세서(16)의 BIU(18)는 시스템 버스(28)에 접속된다.
프리페치 메모리(26)는 시스템 메모리(30)와 시스템(10) 내부의 캐시 메모리(12)에 추가된 것이라는 점에서 보조 메모리이다. 프로세서(16)는 시스템 메모리(30)내의 소정 어드레스로부터 데이터 정보를 입력한다.
이러한 데이터 정보는 시스템 메모리(30)로부터 시스템 버스(28)를 통해 BIU(18)에 입력되고, BIU(18)로부터 판독 레지스터(24)로 저장된다. 데이터 정보는 적절한 시점에 판독 레지스터(24)로부터 캐시 메모리(12)로 저장된다. 프로세서(16)는 데이터 정보와 함께 어드레스 정보를 저장함으로써 데이터 정보와 이 데이터 정보에 대응하는 어드레스를 상호 연관(associate)시킨다.
마찬가지로, 프로세서는 데이터 정보를 시스템 메모리(30)의 소정 어드레스로 출력한다. 이러한 데이터 정보는 캐시 메모리(12)로부터 기록 레지스터(22)에 저장된다. 적절한 시점에서 이 데이터 정보는 기록 레지스터(22)로부터 BIU(18)로 출력되고, BIU(18)는 시스템 버스(28)를 통해 시스템 메모리(30)로 데이터 정보를 출력한다. 이때 데이터 정보는 시스템 메모리(30)내에서 그 데이터 정보에 대응하는 어드레스에 저장된다.
저장된 데이터의 코히어런시(coherency)를 유지하기 위해, 프로세서(16)는 시스템 버스(28)상의 어드레스 정보(address information)를 스누핑(snooping)한다. 이러한 어드레스 정보는 시스템 버스(28)로부터 BIU(18)에 입력된 후, BIU(18)로부터 스누프 레지스터(20)내로 저장된다. 스누프 레지스터(20)에 저장된 어드레스 정보는 캐시 메모리(12)와, 기록 레지스터(22) 및 판독 레지스터(24)내의 어드레스 정보와 비교된다. 또한, 중요하게도, 스누프 레지스터(20)에 저장된 어드레스 정보는 프리페치 메모리(26)(제1도의 TLR(26))내의 어드레스 정보와 한번 더 비교된다.
스누프 레지스터(20)에 저장된 어드레스 정보가 캐시 메모리(12), 기록 레지스터(22), 판독 레지스터(24) 또는 프리페치 메모리(26)에 저장된 어드레스 정보와 일치한다면, 프로세서(16)는 적절한 코히어런시 동작(coherency action)으로 응답한다.
실행 유닛(19)은 인스트럭션에 응답하여 캐시 메모리(12)에 저장된 정보를 처리한다. 이들 인스트럭션에는 캐시 메모리(12)와 프로세서(16)의 레지스터들 사이에서 데이터 정보를 전송하는 메모리 인스트럭션도 포함된다. 예컨대 로드/저장 인스트럭션 또는 판독/기록인스트럭션과 같은 메모리 인스트럭션에 관련된 정보가 캐시 메모리(12)내에 저장되어 있지 않은 상황, 즉, 케시 미스 상황에서는, 프로세서(16)가 캐시 미스 상황에 응답하여 시스템 메모리(30)로부터 정보를 기다리는 동안에 상당한 지연이 발생할 수 있다.
바람직한 실시예에 있어서, 캐시 메모리(12)는 블로킹형캐시 메모리이다. 유리하게도, 블로킹형 캐시 메모리를 위한 논리는 비블로킹형 캐시 메모리를 위한 논리에 비해 덜 복잡하다. 따라서, 프로세서(16)가 캐시 미스 상황에 응답하여 시스템 메모리(30)로부터의 정보를 기다리는 동안에, 후속 메모리 인스트럭션은 원하는 정보가 시스템 메모리(30)로부터 수신될 때까지 캐시 메모리(12)의 사용으로부터 차단된다. 후속 메모리 인스트럭션들은 이들이 캐시 메모리(12)내에 이미 저장되어 있는 정보를 지정할지라도 차단된다. 이에 비해, 비블로킹형 캐시 메모리에서는, 후속 메모리 인스트럭션들이 캐시 메모리에 이미 저장되어 있는 정보를 지정하는 경우에 이 후속 메모리 인스트럭션들에 의한 캐시 메모리 사용은 차단되지 않는다.
프로세서(16)가 시스템 메모리(30)로부터의 정보를 기다리는 이러한 캐시 미스 상황의 부정적인 영향을 감소시키기 위해, 프로세서(16)는, 예컨대 터치 로드 인스트럭션과 같은 프리페치 인스트럭션을 지원하여, 데이터 정보가 프로세서의 다른 인스트럭션에 대해 사용되기 휠씬 이전에 이 데이터 정보를 시스템 메모리(30)내의 특정 어드레스로부터 캐시 메모리(12)로 로딩하도록 지원할 수 있다. 종래의 블로킹형 캐시 메모리에 있어서 이러한 프리페치 인스트럭션은 상대적으로 비효과적이고 심지어 프로세서(16)의 성능을 저하시킬 수도 있었다. 그 이유는, 프리페치 인스트럭션이 캐시 미스 상황을 초래할 경우 후속 메모리 인스트럭션들은 프로세서(16)가 시스템 메모리(30)로부터 정보를 수신할 때까지 캐시 메모리(12)의 사용이 차단되었기 때문이다.
유리하게도, 바람직한 실시예의 프로세서(16)는 프리페치 메모리(26)를 구비한다. 제2도 및 제3도를 참조하여 이후에 보다 상세히 논의하는 바와 같이, 프리페치 메모리(26)는 블로킹형 캐시 메모리(12)의 논리를 많이 복잡하게 만들지 않으면서 프리페치 동작을 지원한다.
제2도는 프리페치 메모리(26)(제1도의 TLR(26))의 동작 방법을 도시하는 순서도이다. 먼저, 본 방법에 따르면, 프로세서(16)가 예컨대 터치 로드 인스트럭션과 같은 프리페치 인스트럭션이 실행 대기중(pending execution)에 있음을 판정할 때까지, 판정 단계(50)에서 자체­순환(self­loop)한다. 다른 실시예에서는 프로세서(16)가 특정 유형의 인스트럭션(instruction having a particular type)이 실행 대기중임을 판정할 때까지 단계(50)에서 자체­순환하며, 특히, 이와같은 다른 실시예에 있어서 상기 특정 유형의 인스터럭션은 프리페치 인스트럭션 유형이 아닌 다른 유형의 인스트럭션일 수 있다.
제2도를 계속 참조하면, 실행 대기중인 프리페치 인스트럭션에 응답하여, 본 방법은 판정 단계(51)로 진행하고, 여기에서 프로세서(16)는 목표 데이터 정보가 캐시 메모리(12)내에 이미 저장되어 있는지를 판정한다. 목표 데이터 정보가 이미 캐시 메모리(12)에 저장되어 있다면, 본 방법은 판정 단계(50)로 복귀한다. 목표데이타 정보가 이미 캐시 메모리(12)에 저장되어 있지 않다면(즉, 캐시 미스 상황), 본 방법은 판정 단계(51)로부터 단계(52)로 진행하고 프로세서(16)는 시스템 버스(28)를 통해 시스템 메모리(30)로부터의 목표 데이터 정보를 요구한다.
단계(52)이후에, 본 방법은 요구된 데이터가 시스템 버스(28)를 통해 시스템 메모리(30)로부터 수신될 때까지 판정 단계(50)를 자체­순환한다. 제1도의 BIU(18)는 수신된 데이터 정보를 입력한다. 수신중인 데이터 정보에 응답하여 본 방법은 단계(56)로 진행하고 여기에서 정보가 캐시 메모리(12) 대신에 프리패치 메모리(26)에 저장된다. 판정 단계(56)이후, 본 방법은 판정 단계(50)로 복귀한다.
본 바람직한 실시예의 중요한 측면으로서, 프리페치 인스트럭션과 관련하여 요구된 데이터 정보는 캐시 메모리(12)가 아닌 프리페치 메모리(26)에 저장되기 때문에, 프로세서(16)가 시스템 메모리(30)로부터 데이터 정보를 기다리는 동안에도 예컨대 로드/저장 인스트럭션 또는 판독/기록 인스트럭션과 같은 후속 메모리 인스트럭션들은 캐시 메모리(12)를 사용할 수 있게 된다.
제3도는 캐시 메모리(12)의 동작 방법을 도시하는 순서도이다.
먼저, 본 방법은 프로세서(16)가 메모리 인스트럭션이 실행 대기중에 있음을 판정할 때까지 판정 단계(60)에서 자체­순환한다. 실행 대기중에 있는 메모리 인스트럭션에 응답하여 본 방법은 판정 단계(62)로 진행하고, 여기에서 프로세서(16)는 목표 데이터 정보가 캐시 메모리(12)에 이미 저장되어 있는지를 판정한다. 만약 목표 데이터 정보가 이미 캐시 메모리(12)에 저장되어 있다면, 본 방법은 단계(64)로 진행하고 프로세서(16)는 이미 캐시 메모리(12)에 저장되어 있는 데이터 정보를 이용하여 메모리 인스트럭션을 실행한다. 단계(64) 이후에, 본 방법은 판정 단계(60)로 복귀한다.
목표 데이터 정보가 이미 캐시 메모리(12)에 저장되어 있지 않다면, 본 방법은 판정 단계(62)로부터 판정단계(66)로 진행하고 프로세서(16)는 목표 데이터 정보가 프레페치 메모리(26)(제1도의 TLR(26))에 저장되어 있는지를 판정한다. 목표 데이터 정보가 프리페치 메모리(26)에 저장되어 있다면, 본 방법은 단계(68)로 진행하고 프로세서(16)는 목표 데이터 정보를 프리페치 메모리(26)로부터 케시 메모리(12)내로 저장한다. 단계(68)이후, 본 방법은 단계(64)로 진행한다.
목표 데이터 정보가 프리페치 메모리(26)에 저장되어 있지 않다면, 본 방법은 판정단계(66)로부터 판정 단계(70)로 진행하고 프로세서(16)는 시스템 버스(28)를 통해 시스템 메모리(30)로부터의 목표 데이터 정보를 요구한다. 단계(70)이후, 본 방법은 요구된 데이터 정보가 시스템 버스(28)를 통해 시스템 메모리(30)로부터 수신될 때까지 판정 단계(72)에서 자체­순환한다. BIU(18)는 수신된 데이터 정보를 입력한다. 수신중인 데이터 정보에 응답하여, 본 방법은 단계(74)로 진행하고 정보는 판독 레지스터(24)내에 저장된다. 단계(74)이후, 본 방법은 단계(76)로 진행하여 프로세서(16)가 판독 레지스터(24)로부터 캐시 메모리(12)로 정보를 저장한다. 단계(76)이후, 본 방법은 단계(64)로 진행한다.
따라서, 바람직한 실시예의 중요한 측면으로서, 목표 데이터 정보가 프리페치 메모리(26)내에 저장되어 있지 않다면, 정보는 이 프리페치 메모리(26)에 추가되지 않으면서 시스템 메모리(30)로부터 캐시 메모리(12)내로 저장된다. 또한, 상기 정보가 프리페치 메모리(26)에 추가되는 다른 실시예에 있어서도, 캐시 메모리(12)는 시스템 메모리(30)로부터 정보를 저장할 때 프리페치 메모리(26)를 우회(bypass)하여 정보를 저장한다. 프리페치 메모리(26)를 우회함으로써 캐시 메모리(12)는 프리페치 메모리가 정보를 저장할 때까지 기다리지 않고 신속히 시스템 메모리(30)로부터 정보를 저장한다.
제4도는 본 발명의 다른 실시예에 따른 정보 처리 시스템(90)의 블록도이다. 제4도에서, 프리페치 메모리(26)는 프로세서(16)과 일체적으로 구성되지 않는다. 대신에, 프리페치 메모리(26)는 시스템 버스(28)에 접속된 메모리 어레이(memory array)로 형성된다. 제1도의 시스템(10)과 마찬가지로, 시스템(90)은 제2도 및 제3도의 방법에 따라 동작한다.
따라서, 제2도의 단계 (52)에서, 프리페치 인스트럭션에 응답하여 프로세서(16)는 시스템 버스(28)상에 특별한 통신 신호를 출력함으로써, 시스템 버스(28)상의 동작을 프리페치 동작으로서 지정한다. 시스템 버스(28)는 이러한 특별한 통신 신호를 지원하고, 프리페치 메모리(26)는 이에 응답하는 논리를 포함한다. 시스템 버스(28)상이 특별한 통신 신호에 응답하여 프리페치 메모리(26)는 시스템 버스(28)를 통해 시스템 메모리(30)로부터 정보를 수신한 후, 이 정보를 제2도의 단계(56)에서 저장한다.
프리페치 인스트럭션과 관련하여 요구된 데이터 정보가 캐시 메모리(12)가 아닌 프리페치 메모리(26)에 저장되기 때문에, 예컨대 : 로드/저장인스트럭션 또는 판독/기록 인스트럭션과 같은 후속 메모리 인스트럭션들은, 프리페치 메모리(26)가 시스템 메모리(30)로부터의 데이터 정보를 기다리는 동안에도 캐시 메모리(12)를 사용할 수 있게 된다.
다행히, 프리페치 메모리(26)는 시스템 메모리(30)보다 매우 작다.
따라서, 캐시 메모리(12)는 시스템 메모리(30)로부터 정보를 입력(제2도의 단계(70­74))하는 것보다 더 빨리 프리페치 메모리(26)로부터 정보를 입력(제2도의 단계(66 및 68))할 수 있다. 프로세서(16)와 마찬가지로, 제4도의 프리페치 메모리(26)는 데이터 정보와 함께 어드레스 정보를 저장함으로써 데이터 정보를 그의 대응하는 어드레스와 연관시킨다.
제1도 및 제4도에서, 프리패치 메모리(26)는 프리페치 동작에 있어서 독립된 캐시 라인(separate cache line)으로서 동작한다. 메모리 인스트럭션이 캐시 메모리(12)에는 없는 정보를 요구(즉, 캐시 미스 상황)하지만 이 정보가 프리페치 메모리(26)에 저장되어 있다면, 정보는 프리페치 메모리(26)로부터 캐시 메모리(12)로 전송된다. 다행히, 이런 상황에서는 캐시 미스가 발생하여도 프리세서(16)는 시스템 메모리(30)로부터 상기 정보를 요구하지 않는다. 제1도에 도시된 실시예에 있어서, 프리페치 메모리(26)의 정보는 캐시 메모리(12)로 전송되기에 앞서, 후속 프리페치 동작에 관련된 정보에 의해 오버라이트(overwrite)된다. 대조적으로, 제4도에 실시예의 경우, 다중 프리페치 동작과 관련된 정보는 동시에 프리페치 메모리(26)에 저장될 수 있다.
제1도를 참조하면, 스누프 레지스터(20)에 저장된 어드레스 정보가 프리페치 메모리(26)에 저장된 어드레스 정보와 일치할 경우, 프로세서(16)는 프리페치 메모리(26)의 내용을 무효화(invalidate)시킨다. 이러한 상황에 있어서, 프로세서(16)는 프리페치 메모리(26)로부터의 정보를 폐기(cast out)하지 않는데, 그 이유는 프리페치 메모리(26)내에서는 정보가 변경되지 않기 때문이다.
제4도를 참조하면, 프로세서(16)와 마찬가지로, 저장된 데이터 정보의 코히어런시를 유지하기 위해 제4도의 프리페치 메모리(26)는 시스템 버스(26)상의 어드레스 정보를 스누핑하기 위한 논리를 포함한다. 스누핑된 어드레스 정보가 프리페치 메모리(26)에 저장된 어드레스 정보와 일치할 경우, 제4도의 프리페치 메모리(26)는 이 스누핑된 어드레스 정보에 대응하는 데이터 내용을 무효화한다. 제4도를 계속 참조하면, 정보가 프리페치 메모리(26)내에서 변경되지 않기 때문에, 프리페치 메모리(26)는 정보를 폐기시키지 않는다.
특히, 제1도 및 제4도에서, 프리페치 메모리(26)는 캐시 메모리(12)에 대해 레벨­2캐시 메모리(level­2 cache memory)로서 동작한다.
그러나, 전형적인 종래의 레벨­2 캐시 메모리와는 달리, 프리페치 메모리(26)는 대응하는 레벨­1 캐시 메모리(level­1 cache memory)(12)보다 액세스 시간(access time)이 빠르고, 논리가 덜 복잡하며, 크기도 작다. 프리패치 메모리(26)는 시스템 메모리(30)보다 상당히 빠르며 또한 캐시 메모리(12)보다 상당히 작고 빠르다.
이것은 프리페치 메모리(26)에 저장된 정보가 캐시 메모리(12)에 저장된 모든 정보를 포함할 필요가 없기 때문에 가능하다. 프리페치 메모리(26)는 단지 프리페치 인스트럭션에 대해서만 캐시 메모리(12)에 대해 레벨­2 캐시 메모리로서 동작한다. 따라서, 캐시 메모리(12)는 시스템 메모리(30)(제2도의 단계(70­74))보다 휠씬 빠르게 프리페치 메모리(26)(제2도의 단계(66 및 68))로부터 정보를 입력할 수 있다.
프리페치 메모리(26)가 없다면, 캐시 메모리(12)가 비블로킹형으로 만들어지지 않는 한, 프리페치 동작은 상당히 비실용적이다. 그러나, 캐시 메모리(12)가 비블로킹형으로 만들어지면, 후속 메모리 인스트럭션들은 프로세서(16)가 시스템 메모리(30)로부터 정보를 기다리는 동안에도 캐시 메모리(12)를 사용할 수 있기 때문에, 비블로킹형 캐시 메모리가 올바르게 동작했는지를 검증하기가 어렵다. 더우기, 비블로킹형 캐시 메모리를 위한 논리는 블로킹형 캐시 메모리를 위한 논리보다 복잡하다. 따라서, 캐시 메모리(12)가 비블로킹형으로 만들어지는 것에 비해, 프리페치 메모리(26)와 블로킹형 캐시 메모리(12)를 조합하는 것이 유리하다. 이렇게 조합된 메모리는 프리페치 인스트럭션에 대해서는 비블로킹형으로 동작하며 다른 메모리 인스트럭션에 대해서는 블로킹형으로 동작한다.
비록 본 발명의 예시적인 실시예 및 이점들이 상세히 전술되었지만, 이들은 실시예로서 기술된 것이지 본 발명을 제한하기 위해 기술된 것은 아니다. 본 발명의 범주 및 사상을 벗어남이 없이 다양한 변화와, 대체 및 변경이 이루어질 수 있다. 본 발명의 범주 및 사상은 예시적인 실시예에 의해 제한되어서는 안되고, 다음의 특허청구범위에 의해서만 정의되어야 한다.

Claims (40)

  1. 정보 처리 시스템에 있어서, ① 정보(information)를 통신하기 위한 버스와, ② 상기 버스에 접속되어 상기 정보의 적어도 한 부분(subest)을 저장하는 시스템 메모리(a system memory)와, ③ 프리페치 메모리와, ④ 캐시 메모리와, ⑤ 상기 버스와 상기 프리페치 메모리와 상기 캐시 메모리에 접속된 소정 회로를 포함하되, 상기 소정회로는, ㉠ 제1정보를 요구하는 프리페치 인스트럭션에 응답하여, 상기 시스템 메모리로부터 상기 제1정보를 상기 프리페치 메모리에 저장하고, ㉡ 제2정보를 요구하는 메모리 인스트럭션에 응답하여, 상기 제2 정보­상기 제1 정보가 이 제2 정보를 포함할 경우에는 제2 정보가 상기 프리페치 메모리로부터 유래되지만, 그렇지 않을 경우에는 상기 프리페치 메모리에 추가됨이 없이 상기 시스템 메모리로부터 유래된다­를 상기 캐시 메모리에 저장하고, ㉢ 상기 버스로부터의 어드레스 정보에 응답하여, 상기 프리페치 메모리내의 상기 제1 정보의 코히어런시(coherency)를 유지하는 정보처리시스템.
  2. 제1항에 있어서, 상기 캐시 메모리는 블로킹형 캐시 메모리(a blocking cache memory)인 정보처리 시스템.
  3. 제1항에 있어서, 상기 메모리들에 결합되어 상기 인스트럭션들을 처리하는 프로세서를 더 포함하는 정보처리 시스템.
  4. 제3항에 있어서, 상기 캐시 메모리와 상기 프로세서가 일체적으로 이루어진 정보 처리 시스템.
  5. 제3항에 있어서, 상기 프리페치 메모리와 상기 소정회로가 상기 프로세서와 일체적으로 이루어진 정보 처리 시스템.
  6. 제1항에 있어서, 상기 프리페치 메모리가 상기 캐시 메모리보다 작은 (smaller) 정보 처리 시스템.
  7. 제1항에 있어서, 상기 프로페치 메모리가 상기 시스템 메모리보다 작은 정보처리 시스템.
  8. 정보 처리 시스템에 있어서, ① 정보를 통신하기 위한 버스와, ② 상기 버스에 접속되어 상기 정보의 적어도 한 부분(subest)을 저장하는 시스템 메모리와, ③ 보조메모리와, ④ 캐시 메모리와, ⑤ 상기 버스와 상기 보조 메모리와 상기 캐시 메모리에 접속된 소정 회로를 포함하되, 상기 소정 회로는, ㉠ 제1 정보를 요구하는 제1 인스트럭션에 응답하여, 상기시스템 메모리로부터 상기 제1 정보를 상기 프리페치 메모리에 저장하고, ㉡ 제2 정보를 요구하는 제2 인스트럭션에 응답하여, 상기 제2 정보­상기 제1 정보가 이 제2 정보를 포함할 경우에는 제2 정보가 상기 프리페치 메모리로부터 유래되지만, 그렇지 않을 경우에는 상기 보조 메모리에 추가됨이 없이 상기 시스템 메모리로부터 유래된다-를 상기 캐시 메모리에 저장하고, ㉢ 상기 버스로부터의 어드레스 정보에 응답하여, 상기 보조 메모리내의 상기 제1 정보의 코히어런시(coherency)를 유지하는 정보 처리 시스템.
  9. 제7항에 있어서, 상기 보조 메모리는 프리페치 메모리인 정보 처리 시스템.
  10. 제7항에 있어서, 상기 제1 인스트럭션은 프리페치 인스트럭션인 정보 처리 시스템.
  11. 제7항에 있어서, 상기 캐시 메모리는 블로킹형 캐시 메모리인 정보 처리 시스템.
  12. 제7항에 있어서, 상기 메모리들에 결합되어 상기 인스트럭션들을 처리하는 프로세서를 더 포함하는 정보 처리 시스템.
  13. 제12항에 있어서, 상기 캐시 메모리와 상기 프로세서가 일체적으로 이루어진 정보 처리 시스템.
  14. 제12항에 있어서, 상기 보조 메모리와 상기 소정 회로가 상기 프로세서와 일체적으로 이루어진 정보 처리 시스템.
  15. 제12항에 있어서, 상기 프로세서는, 상기 제1 인스트럭션에 응답하여, 상기 제1 인스트럭션을 지정하는 소정 신호를 상기 소정 회로에 출력하는 정보 처리 시스템.
  16. 제15항에 있어서, 상기 소정 회로는, 상기 소정 신호에 응답하여,상기 제1 정보를 상기 보조 메모리에 저장하는 정보 처리 시스템.
  17. 제7항에 있어서, 상기 메모리는 상기 캐시 메모리보다 작은 정보 처리 시스템.
  18. 제7항에 있어서, 상기 보조 메모리는 상기 시스템 메모리보다 작은 정보 처리 시스템.
  19. 제7항에 있어서, 상기 소정 회로는, 제1 인스트럭션 유형(a first instruction type)을 갖는 상기 제1 인스트럭션에 응답하여, 상기 제1 정보를 상기 보조 메모리에 저장하는 정보 처리 시스템.
  20. 제19 항에 있어서, 상기 소정 회로는, 제2 인스트럭션 유형을 갖는 상기 제2 인스트럭션에 응답하여, 상기 제2 정보를 상기 캐시 메모리에 저장하는 정보 처리 시스템.
  21. 정보처리 시스템의 동작 방법에 있어서, ① 버스를 통해 정보를 통신하는 단계와, ② 상기 정보의 적어도 한 부분(subset)을 시스템 메모리에 저장하는 단계와, ③제1 정보를 요구하는 제1 인스트럭션에 응답하여, 상기 시스템 메모리로부터 상기 제1 정보를 보조 메모리에 저장하는 단계와, ④ 제2 정보를 요구하는 제2 인스트럭션에 응답하여, 상기 제1 정보가 상기 제2 정보를 포함할 경우에는 상기 제2 정보를 상기 보조 메모리로부터 캐시 메모리로 저장하지만, 그렇지 않을 경우에는 상기 제2 정보를 상기 보조 메모리에 추가하지 않으면서 상기 시스템 메모리부터 추출하는 단계와, ⑤ 상기 버스로부터의 어드레스 정보에 응답하여, 상기 보조 메모리내의 상기 제1 정보의 코히어런시(coherency)를 유지하는 단계를 포함하는 정보 처리 시스템의 동작 방법.
  22. 제21항에 있어서, 상기 보조 메모리에 상기 제1 정보를 저장하는 상기 단계는, 상기 제1 정보를 프리페치 메로리에 저장하는 단계를 포함하는 정보 처리 시스템의 동작 방법.
  23. 제21항에 있어서, 상기 제1 인스트럭션에 응답하여 상기 제1 정보를 저장하는 상기 단계는, 프리페치 인스트럭션에 응답하여 상기 제1 정보를 저장하는 단계를 포함하는 정보 처리 시스템의 동작 방법.
  24. 제21항에 있어서, 상기 캐시 메모리에 상기 제2 정보를 저장하는 상기 단계는, 상기 제2 정보를 블로킹형 캐시 메모리에 저장하는 단계를 포함하는 정보 처리 시스템의 동작 방법.
  25. 제21항에 있어서, 상기 제1 인스트럭션에 응답하여 소정 신호를 출력하는 단계를 더 포함하는 정보 처리 시스템의 동작 방법.
  26. 제25항에 있어서, 상기 제1 인스트럭션에 응답하여 상기 제1 정보를 저장하는 상기 단계는, 상기 소정 신호에 응답하여 상기 제1 정보를 저장하는 단계를 포함하는 정보 처리 시스템의 동작 방법.
  27. 제21항에 있어서, 상기 제1 정보를 저장하는 상기 단계는, 제1 인스트럭션 유형을 갖는 상기 제1 인스트럭션에 응답하여 상기 제1 정보를 저장하는 단계를 포함하는 정보 처리 시스템의 동작 방법.
  28. 제27항에 있어서, 상기 제2 정보를 저장하는 상기 단계는, 제2 인스트럭션 유형을 갖는 상기 제2 인스트럭션에 응답하여 상기 제2 정보를 저장하는 단계를 포함하는 정보 처리 시스템의 동작 방법.
  29. 제1항에 있어서, 상기 소정 회로는 상기 버스로부터의 상기 어드레스 정보와 상기 프리페치 메모리내에 저장된 어드레스 정보가 일치하면 상기 프리페치 메모리내의 상기 제1 정보를 무효화시키는 정보 처리 시스템.
  30. 제7항에 있어서, 상기 소정 회로는 상기 버스로부터의 상기 어드레스 정보와 상기 보조 메모리내에 저장된 어드레스 정보가 일치하면 상기 보조 메모리내의 상기 제1 정보를 무효화시키는 정보 처리 시스템.
  31. 제21항에 있어서, 상기 보조 메모리내의 상기 제1 정보의 코히어런시를 유지하는 상기 단계는, 상기 버스로부터의 상기 어드레스 정보와 상기 보조 메모리내에 저장된 어드레스 정보가 일치하면 상기 보조 메모리내의 상기 제1 정보를 무효화시키는 단계를 포함하는 정보 처리 시스템의 동작 방법.
  32. 제1항에 있어서, 상기 프리페치 메모리가 상기 시스템 메모리로부터 상기 제1 정보를 기다리는 것과 무관하게 상기 소정 회로는 상기 메모리 인스트럭션에 응답하여 상기 제2 정보를 상기 캐시 메모리에 저장하는 정보 처리 시스템.
  33. 제1항에 있어서, 상기 제1 정보가 상기 캐시 메모리내의 존재하지 않을 경우, 상기 소정 회로는 상기 프리페치 인스트럭션에 응답하여 상기 시스템 메모리로부터 상기 제1 정보를 상기 프리페치 메모리에 저장하는 정보 처리 시스템.
  34. 제33항에 있어서, 상기 제1 정보가 상기 캐시 메모리내에 존재하지 않는 경우에만 상기 소정 회로가 상기 프리페치 인스트럭션에 응답하여 상기 시스템 메모리로부터 상기 제1 정보를 프리페치 메모리에 저장하는 정보 처리 시스템.
  35. 제7항에 있어서, 상기 보조 메모리가 상기 시스템 메모리로부터 상기 제1 정보를 기다리는 것과 무관하게 상기 소정 회로는 상기 제2 인스트럭션에 응답하여 상기 제2 정보를 상기 캐시 메모리에 저장하는 정보 처리 시스템.
  36. 제7항에 있어서, 상기 제1 정보가 상기 캐시 메모리내에 존재하지 않을 경우, 소정 회로는 상기 제1 인스트럭션에 응답하여 상기 시스템에 메모리로부터 상기 제1 정보를 상기 보조 메모리에 저장하는 정보 처리 시스템.
  37. 제36항에 있어서, 상기 제1 정보가 상기 캐시 메모리내에 존재하지 않는 경우에만 상기 소정 회로가 상기 제1 인스트럭션에 응답하여 상기 시스템 메모리로부터 상기 제1 정보를 상기 보조 메모리에 저장하는 정보 처리 시스템.
  38. 제21항에 있어서, 상기 제2 정보를 저장하는 상기 단계는, 상기 보조 메모리가 상기 시스템 메모리로부터 상기 제1 정보를 기다리는 것과 무관하게 상기 소정 회로가 상기 제2 인스트럭션에 응답하여 상기 제2 정보를 상기 캐시 메모리내에 저장하는 단계를 포함하는 정보 처리 시스템의 동작 방법.
  39. 제21항에 있어서, 상기 제1 정보를 저장하는 상기 단계는, 상기 제1 정보가 상기 캐시 메모리에 존재하지 않을 경우, 상기 제1 인스트럭션에 응답하여 상기 시스템 메모리로부터 상기 제1 정보를 상기 보조 메모리내에 저장하는 단계를 포함하는 정보 처리 시스템의 동작 방법.
  40. 제39항에 있어서, 상기 제1 정보를 저장하는 상기 단계는, 상기 제1 정보가 상기 캐시 메모리내에 존재하지 않는 경우에만 상기 제1 인스트럭션에 응답하여 상기 시스템 메모리로부터 상기 제1 정보를 상기 보조 메모리에 저장하는 단계를 포함하는 정보 처리 시스템의 동작 방법.
KR1019940024922A 1993-10-01 1994-09-30 보조 메모리를 포함하는 정보 처리 시스템 및 그 동작 방법 KR0128272B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13060493A 1993-10-01 1993-10-01
US08/130,604 1993-10-01
US08/130.604 1993-10-01

Publications (2)

Publication Number Publication Date
KR950012226A KR950012226A (ko) 1995-05-16
KR0128272B1 true KR0128272B1 (ko) 1998-04-15

Family

ID=22445466

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019940024922A KR0128272B1 (ko) 1993-10-01 1994-09-30 보조 메모리를 포함하는 정보 처리 시스템 및 그 동작 방법

Country Status (11)

Country Link
US (1) US5802562A (ko)
EP (1) EP0646870B1 (ko)
JP (1) JP2702414B2 (ko)
KR (1) KR0128272B1 (ko)
CN (1) CN1086036C (ko)
AT (1) ATE220810T1 (ko)
BR (1) BR9403859A (ko)
CA (1) CA2126120C (ko)
DE (1) DE69430973T2 (ko)
ES (1) ES2176225T3 (ko)
TW (1) TW228580B (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6138212A (en) * 1997-06-25 2000-10-24 Sun Microsystems, Inc. Apparatus and method for generating a stride used to derive a prefetch address
US6317810B1 (en) * 1997-06-25 2001-11-13 Sun Microsystems, Inc. Microprocessor having a prefetch cache
US6098154A (en) * 1997-06-25 2000-08-01 Sun Microsystems, Inc. Apparatus and method for generating a stride used to derive a prefetch address
US6134633A (en) * 1997-10-31 2000-10-17 U.S. Philips Corporation Prefetch management in cache memory
US6078992A (en) * 1997-12-05 2000-06-20 Intel Corporation Dirty line cache
US6549984B1 (en) * 1997-12-17 2003-04-15 Intel Corporation Multi-bus access cache
US6848028B1 (en) * 2000-01-05 2005-01-25 Sun Microsystems, Inc. Microprocessor having a page prefetch cache for database applications
JP4826973B2 (ja) * 2009-09-30 2011-11-30 エヌイーシーコンピュータテクノ株式会社 情報処理装置及び情報処理装置のデータキャッシング方法並びにマルチプロセッサシステム

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS53134335A (en) * 1977-04-28 1978-11-22 Fujitsu Ltd Memory control system
US4189770A (en) * 1978-03-16 1980-02-19 International Business Machines Corporation Cache bypass control for operand fetches
US4268907A (en) * 1979-01-22 1981-05-19 Honeywell Information Systems Inc. Cache unit bypass apparatus
US4378591A (en) * 1980-12-31 1983-03-29 Honeywell Information Systems Inc. Memory management unit for developing multiple physical addresses in parallel for use in a cache memory
US4363095A (en) * 1980-12-31 1982-12-07 Honeywell Information Systems Inc. Hit/miss logic for a cache memory
US4719568A (en) * 1982-12-30 1988-01-12 International Business Machines Corporation Hierarchical memory system including separate cache memories for storing data and instructions
US4853846A (en) * 1986-07-29 1989-08-01 Intel Corporation Bus expander with logic for virtualizing single cache control into dual channels with separate directories and prefetch for different processors
JPH0291744A (ja) * 1988-09-29 1990-03-30 Toshiba Corp キャッシュメモリシステム
US5201041A (en) * 1988-12-29 1993-04-06 International Business Machines Corporation Cache bypass apparatus
US5123095A (en) * 1989-01-17 1992-06-16 Ergo Computing, Inc. Integrated scalar and vector processors with vector addressing by the scalar processor
EP0378864B1 (en) * 1989-01-18 1993-05-19 New Holland Belgium N.V. Filter assembly for use in a hydraulic circuit
US5119485A (en) * 1989-05-15 1992-06-02 Motorola, Inc. Method for data bus snooping in a data processing system by selective concurrent read and invalidate cache operation
JPH03100745A (ja) * 1989-09-13 1991-04-25 Nec Corp キャッシュ装置
EP0449540B1 (en) * 1990-03-27 2000-05-17 Digital Equipment Corporation Memory system and method with prefetch buffer
US5317718A (en) * 1990-03-27 1994-05-31 Digital Equipment Corporation Data processing system and method with prefetch buffers
US5530941A (en) * 1990-08-06 1996-06-25 Ncr Corporation System and method for prefetching data from a main computer memory into a cache memory
US5420994A (en) * 1990-08-06 1995-05-30 Ncr Corp. Method for reading a multiple byte data element in a memory system with at least one cache and a main memory
US5454093A (en) * 1991-02-25 1995-09-26 International Business Machines Corporation Buffer bypass for quick data access
GB2256512B (en) * 1991-06-04 1995-03-15 Intel Corp Second level cache controller unit and system
JPH04369061A (ja) * 1991-06-17 1992-12-21 Mitsubishi Electric Corp キャッシュメモリの制御方式
JP2881049B2 (ja) * 1991-07-30 1999-04-12 株式会社日立製作所 プリフェッチバッファ
JPH06103169A (ja) * 1992-09-18 1994-04-15 Nec Corp 中央演算処理装置のリードデータプリフェッチ機構
JPH06222990A (ja) * 1992-10-16 1994-08-12 Fujitsu Ltd データ処理装置
US5566324A (en) * 1992-12-24 1996-10-15 Ncr Corporation Computer apparatus including a main memory prefetch cache and method of operation thereof
DE69327981T2 (de) * 1993-01-21 2000-10-05 Advanced Micro Devices, Inc. Kombinierte Speicheranordnung mit einem Vorausholungspuffer und einem Cachespeicher und Verfahren zur Befehlenversorgung für eine Prozessoreinheit, das diese Anordnung benutzt.

Also Published As

Publication number Publication date
ATE220810T1 (de) 2002-08-15
CA2126120C (en) 1999-06-22
ES2176225T3 (es) 2002-12-01
US5802562A (en) 1998-09-01
CN1086036C (zh) 2002-06-05
EP0646870A1 (en) 1995-04-05
JP2702414B2 (ja) 1998-01-21
JPH07121443A (ja) 1995-05-12
CA2126120A1 (en) 1995-04-02
TW228580B (en) 1994-08-21
CN1122027A (zh) 1996-05-08
DE69430973D1 (de) 2002-08-22
KR950012226A (ko) 1995-05-16
BR9403859A (pt) 1995-06-20
EP0646870B1 (en) 2002-07-17
DE69430973T2 (de) 2003-02-13

Similar Documents

Publication Publication Date Title
US4701844A (en) Dual cache for independent prefetch and execution units
US5706464A (en) Method and system for achieving atomic memory references in a multilevel cache data processing system
US5404484A (en) Cache system for reducing memory latency times
CA1322058C (en) Multi-processor computer systems having shared memory and private cache memories
EP0381470B1 (en) Processing of memory access exceptions along with prefetched instructions within the instruction pipeline of a virtual memory system-based digital computer
US6581151B2 (en) Apparatus and method for speculatively forwarding storehit data based on physical page index compare
KR100204741B1 (ko) 제1및 제2캐시 메모리 사용방법
US5163142A (en) Efficient cache write technique through deferred tag modification
EP0405882A2 (en) Move 16 block move and coprocessor interface instruction
US6993630B1 (en) Data pre-fetch system and method for a cache memory
US5835946A (en) High performance implementation of the load reserve instruction in a superscalar microprocessor that supports multi-level cache organizations
US5832276A (en) Resolving processor and system bus address collision in a high-level cache
US6378023B1 (en) Interrupt descriptor cache for a microprocessor
US5926830A (en) Data processing system and method for maintaining coherency between high and low level caches using inclusive states
JP3159435B2 (ja) ロード/ロード検出及びリオーダー方法及び装置
US5269009A (en) Processor system with improved memory transfer means
US5930820A (en) Data cache and method using a stack memory for storing stack data separate from cache line storage
US5530835A (en) Computer memory data merging technique for computers with write-back caches
US5367657A (en) Method and apparatus for efficient read prefetching of instruction code data in computer memory subsystems
KR0128272B1 (ko) 보조 메모리를 포함하는 정보 처리 시스템 및 그 동작 방법
US5860150A (en) Instruction pre-fetching of a cache line within a processor
US5860100A (en) Pipelined flushing of a high level cache and invalidation of lower level caches
US5619673A (en) Virtual access cache protection bits handling method and apparatus
US6934810B1 (en) Delayed leaky write system and method for a cache memory
EP0442690A2 (en) Data cache store buffer for high performance computer

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: 20050915

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee