KR950011291B1 - 캐시미스 예상방법 및 장치 - Google Patents

캐시미스 예상방법 및 장치 Download PDF

Info

Publication number
KR950011291B1
KR950011291B1 KR1019900008452A KR900008452A KR950011291B1 KR 950011291 B1 KR950011291 B1 KR 950011291B1 KR 1019900008452 A KR1019900008452 A KR 1019900008452A KR 900008452 A KR900008452 A KR 900008452A KR 950011291 B1 KR950011291 B1 KR 950011291B1
Authority
KR
South Korea
Prior art keywords
address
cache
miss
stack
pattern
Prior art date
Application number
KR1019900008452A
Other languages
English (en)
Other versions
KR910001547A (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 KR910001547A publication Critical patent/KR910001547A/ko
Application granted granted Critical
Publication of KR950011291B1 publication Critical patent/KR950011291B1/ko

Links

Images

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
    • 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
    • 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
    • G06F9/3832Value prediction for operands; operand history buffers
    • 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/6026Prefetching based on access pattern detection, e.g. stride based prefetch

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)

Abstract

내용 없음.

Description

캐시미스 예상방법 및 장치
제1도는 캐시 메모리를 사용하여 본 발명을 실시하기 위한 예로서의 환경을 구성하는 전형적인 데이터 처리 시스템의 일반적인 블록도.
제2도는 간단한 형태로 본 발명을 실시하는 동작 순서를 나타내는 플로우챠트.
제3도는 본 발명의 간단한 실시예의 논리도.
제4도는 본 발명의 보다 유력한 실시예를 나타내는 논리도.
* 도면의 주요부분에 대한 부호의 설명
11 : 시스템 인터페이스 유닛 12 : 캐시 메모리 유닛
13 : 메인 메모리 유닛 14 : 중앙처리장치
15 : 유저 유닛 16 : 어드레스 번역 장치
20 : 미스 스택 21,22,23,24,41,42,43,44 : 전자식 스위치
26,27,28 : 감산회로 29,30 : 비교회로
31 : 가산회로 32,38 : AND-게이트
39 : OR-게이트 45,46,47 : 감산회로
48 : 가산회로
본 발명은 캐시 메모리의 특징을 포함하는 데이터 처리 시스템의 기술분야에 관한 것으로서, 구체적으로 오퍼랜드호출에 대해 캐시 메모리 미스를 예상하고, 이 예상된 정보를 이용하여 데이타를 메인 메모리로부터 캐시 메모리로 전송함으로써 캐시 미스의 비율을 낮추는 방법 및 장치에 관한 것이다.
메인 메모리내에서 정보의 동적 서브 세트를 유지하여 시스템 동작을 가속화시키도록 프로세서와 메인 메모리 사이에 고속 캐시 메모리를 사용하는 기술은 본 기술분야에서 잘 알려져 있다. 간단히 말하면, 캐시는 선택 및 갱신된 동적으로 변화하는 집합된 일부의 메인 메모리 정보를 유지함으로써 앞으로 진행되는 동작에서 프로세서에 의해 요구되는 명령 및/또는 데이터를 그 일부분의 정보에 포함할 수 있는 양호한 기회를 갖게 된다. 주어진 동작에 대해 캐시 "히트"가 존재하는 경우 프로세서는 메인 메모리가 동일 정보를 얻기 위해서 액세스되어야만 하는 것보다 더 빠르게 정보를 얻을 수 있다. 따라서, 많은 고성능 데이터 처리 시스템에 있어서, "캐시 미스 비율"은 시스템 실행 속도에 대한 주요 제약중의 하나이므로 가능한 낮게 유지되어야 한다.
캐시 미스 비율을 낮게 유지하기 위해서는 임의의 주어진 시간에서 메인 메모리로부터 캐시내에 배치되는 정보를 주의 깊에 선택해야 한다. 캐시내에 일시 존재하도록 명령 블록을 선택하는 여러가지 기술이 있으며, 프로그램된 명령을 다소 선형적으로 사용함으로서 이들 기술을 통계적으로 유효하게 할 수 있다. 그러나, 주어진 순간에서 캐시 메모리내에 존재하는 오퍼랜드 정보를 선택하는 것은 보다 덜 효과적이며, 캐시미스 어드레스를 포함하는 하나 또는 그 이상의 인접 블록을 전송하는데 일반적으로 제약이 뒤따른다. 이러한 시도는 캐시 미스 비율을 약간 감소시킬 수 있으나 캐시용량을 사용하는데 효과적이지 못하다.
따라서, 본 기술 분야에 숙련된 자는 캐시 미스 비율을 현저히 낮게 유지하는 방식으로 캐시 메모리내의 일시 저장을 위한 오퍼랜드 정보를 선택하는 수단을 제공하는 것이 몹시 바람직함을 알 수 있을 것이며, 그것이 본 발명이 지향하는 목표이다.
본 발명의 광범위한 제1목적은 데이터 처리 시스템에 개량된 캐시 메모리를 제공하는 것이다.
본 발명의 제2목적은 동작시 개량된 캐시 미스 비율을 나타내는 것을 특징으로 하는 캐시 메모리를 제공하는 것이다.
본 발명의 제3목적은 캐시 미스를 효과적으로 예상하기 위한 캐시 메모리 내장 회로를 제공하는 것이다
본 발명의 제4목적은 오퍼랜드에 대한 캐시 미스 비율이 현저히 낮아지는 캐시 메모리 선택 프로세스를 제공하는 것이다.
간단히 말해서 본 발명의 이러한 그리고 다른 목적은 최신의 캐시 미스를 저장하며 그 내부의 패턴을 검색하는 캐시 메모리내의 특별한 목적 장치에 의해 달성된다. 이때, 임의의 검출된 패턴은 예상된 캐시 미스를 포함하는 블록을 메인 메모리로부터 선추출함으로서 연속 캐시 미스를 예상하도록 사용된다.
본 발명의 주제는 명세서의 종결부에 구체적으로 제시되어 있으며 명확히 청구되어 있다. 그러나 본 발명의 구성 및 작동 방법은 첨부된 도면 및 청구범위와 관련한 이하의 설명을 참조함으로써 보다 잘 이해될 수 있을 것이다.
이제 제1도를 참조하면, 제1도는 캐시 메모리 특징부를 내장하는 데이터 처리 시스템에 대한 고레벨 블록도를 도시하고 있다. 본 기술분야에 숙련된 자는 이러한 블록도가 단지 예에 지나지 않으며 실제로는 여러가지 변형의 예가 사용될 수 있음을 이해하고 있으리라고 생각한다. 캐시 메모리의 기능은 본 발명을 기술하는데 필요한 배경을 제공하는데 지나지 않는다. 따라서, 예시된 데이터 처리 시스템은 중앙처리장치(14)가 소망의 처리를 실행하는데 필요로하는 데이터 신호 그룹(즉, 명령 및 오퍼랜드를 포함하는 정보워드)를 저장하는 메인 메모리 유닛(13)을 포함한다. 중앙처리장치(14)가 필요로 하는 증가된 확률을 가진 신호 그룹은 메인 메모리 유닛(13, 또는 유저 유닛 15)으로부터 시스템 인터페이스 유닛(11)을 통해 캐시 메모리 유닛(12)으로 전송된다(본 기술분야에 숙련된 자는 몇몇의 데이터 처리 시스템 아키텍쳐에 있어서, 신호 그룹이 시스템 버스를 통해서 전송되므로 시스템 버스와 상호 작용하는 각 부품에 대해 인터페이스 유닛이 필요함을 이해하고 있으리라 생각한다). 신호 그룹은 중앙처리장치(14)가 요구할 때까지 캐시 메모리 유닛(12)에 저장된다. 올바른 신호 그룹을 검색하기 위해, 어드레스 번역 장치(16)가 통상 내장되는데, 이 장치는 (추출되는 신호 그룹을 식별하기 위해서 중앙처리장치(14)에 의해 사용된)가상 어드레스를 신호 그룹을 식별하는 데이터 처리 시스템의 나머지 부분이 그 신호 그룹을 위해 사용하는 실제 어드레스로 변환한다.
캐시 메모리 유닛(14)에 일시 저장된 정보는 분리된 섹션에서 저장된 또는 동일하게 저장된 명령과 오퍼랜드 양자를 포함할 수 있다. 본 발명의 실행에 있어서, 단지 오퍼랜드 정보에 관해서만 본 발명의 동작을 야기하려는 의도때문에, 명령 및 오퍼랜드는 (적어도 이들이 어드레스를 뒤섞지 않는다는 점에서) 캐시 메모리 유닛(12)의 분리된 메모리 섹션내에 저장되는 것이 바람직하다.
본 발명은 오퍼랜드 호출로부터 발생하는 캐시 미스의 감지된 패턴의 인식 및 이용에 기초를 두고 있다. 예컨대, 3개의 연속 미스 ABC가 실제로는 다음의 연속 어드레스 D를 가진 연속 오퍼랜드 어드레스인 감지된 패턴을 고려해보라. 단지 예로서, 이것은 데이터의 단일 열에서 연속되는 행을 계속적으로 액세싱하는 것을 요구하는 데이터 조작 과정에서 발생할 수 있다. 이러한 패턴이 감지되는 경우, 신호 그룹 D가 액세스될 가능성이 증가되어 신호 그룹 D가 순서대로 캐시 메모리 유닛(14)으로 선추출될 수 있다.
본 발명의 근본 원리를 제2도의 동작 플로우챠트에 제시한다. 프로세서 (또는 다른 시스템 유닛)가 오퍼랜드를 요구하는 경우, 캐시내에 오퍼랜드가 현재 잔류하고 있는지의 여부가 결정된다. 그렇다면, 즉 캐시히트인 경우 (즉, 캐시 미스 없음), 오퍼랜드는 요구 시스템 유닛으로 송출되고, 다음 오퍼랜드요구가 대기된다. 그러나, 캐시 미스가 있는 경우, 실제적으로 이 요구는 (훨씬 느린) 메인 메모리로 제지향된다.
본 기술분야에 숙련된 자는 제2도에 기술된 설명이 캐시 메모리 동작을 일반적으로 설명하고 있음을 이해할 수 있을 것이다. 그러나, 본 발명에 있어서, 캐시 미스의 어드레스는 의미가 있다. 따라서, 캐시 미스의 어드레스는 이하에 상세히 기술된 미스 스택의 상단에 위치하게 된다. 이때 (연속적인 순서로 최근 캐시 미스의 어드레스 기록을 포함하는) 미스 스택은 여러개의 패턴중 제1패턴이 존재하는가를 결정하기 위해 조사된다. 이러한 제1패턴은, 예컨대, 최근 캐시 미스에 가까운 어드레스일 수 있다. 제1패턴이 감지되지 않는 경우, 추가의 패턴이 시도된다. 예컨대, 제2패턴은 2개의 이격된 기억장소에 놓여있는 연속 어드레스를 요구하는 최근 캐시 미스일 수 있다. 패턴 정합이 이루어지지 않는한, 패턴 목록을 통하여 프로세스가 계속된다. 목록내에 있는 모든 패턴을 검사한 경우에도 정합이 이루어지지 않았을 경우, 다음 캐시 미스가 프로세스를 새롭게 시작하기 위해 대기된다.
그러나, 목록내의 패턴이 검출되는 경우, 미스 스택내의 정보 및 감지된 패턴으로부터 예상 어드레스가 계산된다. 그 다음, 이 예상 어드레스는 예상 어드레스에 의해 식별된 신호 그룹을 메인 메모리로부터 캐시로 선추출하기 위해서 사용된다. 전술한 예에서, 연속 오퍼랜드 캐시 미스 오퍼랜드 어드레스 ABC가 연속적이며 인접한 패턴으로 감지되는 경우, 예상 어드레스 D의 값은 C+1이 될 것이다.
미스 스택의 통계학적 상태를 최적화하기 위하여 예상 어드레스그 자체는 스택의 상단에 위치될 수 있는데, 이는 그것이 본 발명에 따라 선추출되어지지 않았었다면 (아마도 분명히) 그 자체가 캐시 미스의 주원인이었기 때문이다.
동작 속도는 필수적이기 때문에 본 발명은 펌웨어(firm ware) 제어가 예상되지만 하드웨어 형태(예를 들면, 게이트 어레이)로 실시되는 것이 유리할 수도 있다. 제3도에 도시된 비교적 간단한 하드웨어적 구성을 먼저 고려해보면, 미스 스택(20)은 16개의 가장 최근의 캐시 미스 어드레스를 유지하며, 스택상의 엔트리가 상단에서 이루어짐에 따라 가장 오래된 것은 어드레스 p로 식별된다. 4개의 입력을 가진 4개의 전자식 스위치(21,22,23,24)는 라인(25)을 통해 시프트 패턴 신호에 의해 일제히 구동되며, 그 결과:제1상태에서는 어드레스 A,B,C 및 D가 스위치의 각 출력에 나타나고, 제2상태에서는 어드레스 B,D,F,H가 스위치의 출력에 나타나며, 제3상태에서는 어드레스 C,F,I,L가 스위치의 출력에 나타나고, 제4상태에서는 어드레스 D,H,L,P가 스위치의 출력에 나타난다. 감산회로(26,27,28)는 입력으로서 전자식 스위치(21,22,23,24)의 각 출력을 수신하도록 접속되며, 그 결과:감산회로(26)로부터의 출력은 스위치(21)의 출력 마이너스 스위치(22)의 출력이며; 감산회로(27)로부터의 출력은 스위치(22)의 출력 마이너스 스위치(23)의 출력이고; 감산회로(28)로부터의 출력은 스위치(23)의 출력 마이너스 스위치(24)의 출력이 된다.
가산회로(31)의 하나로 입력에는 감산회로(26)로부터의 출력이 인가되며, 다른 입력은 전자식 스위치(21)의 출력에 의해 구동된다. 추가로, 감산회로(26)로부터의 출력은 또한 비교회로(29)의 하나의 입력에 인가된다. 감산회로(27)로부터의 출력은 비교회로(29)의 다른 입력에 인가되며, 또한 감산회로(28)의 출력에 의해 구동되는 다른 입력을 가진 다른 비교회로(30)의 하나의 입력에 인가된다.
비교회로(29,30)로부터의 출력은 선추출 인에이블 신호를 선택적으로 발생하는 AND-게이트(32)의 두입력에 각각 인가된다.
이제 제3도에 예시한 회로의 동작을 고려하면, 전술한 바와 같이,미스 스택(20)는 최근의 총 16개의 캐시 미스 어드레스를 유지하는데, 어드레스 A가 가장 최신의 것이다. 어드레스 A에 의해 식별된 신호 그룹에 대한 요구가 캐시 미스로 되는 경우, 미스 스택에 존재하는 어드레스중의 패턴을 찾기 위해서 회로 동작이 시작된다. 전자식 스위치(21,22,23,24)는 제1상태에 있으므로, 어드레스 A가 스위치(21)의 출력으로 통과되고, 어드레스 B가 스위치(22)의 출력에 나타나며, 어드레스 C가 스위치(23)의 출력에 나타나고, 그리고 어드레스 D가 스위치(24)의 출력에 나타난다. A와 B, B와 C 및 C와 D간의 차이가 모두 동일하지 않는 경우, 감산회로(26,27,28)로부터의 모든 출력이 동일하지 않게 되어, 비교회로(29,30)의 하나 또는 양자는 비교신호를 발생하지 않으며; AND-게이트(32)는 인에이블되지 않으므로 "패턴 정합 비발견"조건을 나타낸다.
그 다음, 스위치는 그들의 각 출력에서 어드레스 B,D,F,H가 나타나는 제2상태로 진행된다. 이제, (B-D)=(D-F)=(F-H), 즉 순차 패턴이 어드레스 변화에서 감지되었다고 가정하면, 결과로서 비교회로(29,30)는 AND-게이트(32)를 완전히 인에이블시켜 선추출 인에이블 신호를 발생시키는 비교신호를 발생할 것이다. 이와 동시에, 가산회로(31)로부터의 출력은 예상 어드레스(B+(B-D))가 될 것이다. 이 예상 어드레스가 감지 패턴을 확장함으로 인해 선추출된 신호 그룹이 프로세서에 의해 요구될 확률을 증가시키며, 이에 의해 캐시 미스 비율이 낮춰짐을 알게될 것이다.
패턴이 어드레스 결합 BDFH에서 감지되지 않는 경우, 전자식 스위치는 어드레스 결합 CFIL을 조사하기 위해 다음 상태로 진행되며, 필요하다면 어드레스 결합 DHLP로 진행된다. 어떤 패턴도 감지되지 않는 경우, 회로는 미스 스택의 상단에 새로운 엔트리로 배치될 캐시 미스를 기다리며, 패턴 정합 검색이 다시 시작되기 전에 어드레스 P를 스택의 하부밖으로 밀어낸다.
이제 제4도에 도시된 본 발명의 어느 정도보다 복잡하고 유력한 실시예를 고려하면, 전자식 스위치(41,42,43,44)는 그들의 각 입력에서 예시된 실시예의 미스 스택(40)에 저장된 최신의 캐시 미스 어드레스를 수신한다. 전자식 스위치(41,42,43,44)의 각각은 시프트 패턴 신호의 영향에 따라 단일 출력으로 순차적으로 선택 전송될 수 있는 8개의 입력을 가짐을 주목해야 한다. 또한, 미스 스택(40)은 16개의 최근의 캐시 미스 어드레스 A 내지 P이외에, 3개의 미래 엔트리 WXY를 저장하고 있음을 주목해야 한다. 감산 회로(45,46,47)는 전술한 제3도의 실시예의 대응하는 감산회로(26,27,28)와 동일한 역할을 수행함을 또한 주목해야 한다. 이와 유사하게, 가산회로(48)는 전술한 가산회로(31)에 대응한다.
비교회로(49)는 감산회로(45,46)의 각 출력을 수신하며, 그 출력은 선추출 인에이블 신호를 선택적으로 발생하는 AND-게이트(38)의 한 입력에 인가된다. 비교회로(50)는 감산회로(46,47)의 각 출력을 수신하지만, 제3도의 실시에에 대응 비교기(30)와 달리, 그 출력은 감소된 앞보기(lookahead)신호에 의해 다른 입력이 구동되는 OR-게이트(39)의 하나의 입력에 인가된다. OR-게이트(29)의 출력은 AND-게이트(38)의 다른입력에 결합된다. 이러한 배열로 인하여, 감소된 앞보기 신호의 활동은 OR-게이트(39)를 인에이블시키고, 부분적으로 AND-게이트(38)를 인에이블시킨다. 감소된 앞보기 신호의 인가의 효과는 비교회로(49)에서 단지 감산회로(45,46)의 출력들을 비교하는 것이어서, 이 비교는 선추출 인에이블 신호를 발생하도록 AND-게이트(38)를 완전히 인에이블시킨다. 예컨대, 이 동작 모드는 패턴이 모든 소수의 캐시 미스를 변화시키는 것 같은 경우에 유용할 수 있으며, 그리고 가장 최근의 예에 알맞다.
제4도의 배열에 대해서는, 프로세스 중간 단계에서 비록 패턴 정합이 검출되었다 하더라도 (제2도의 플로우챠트에서의 "패턴 그룹이 >1인가" 질문에 대한 "예)응답에 으해 표시되어진 것처럼) 패턴 그룹내 모든 패턴을 시험하는 것이 유리하다. 이것은 미스 스택에 대해 매리 엔트리 WXY중 하나의 이상의 패턴 목록을 통하여또는 심지어 패턴 목록의 서브 세트를 통하여 단일 패스(pass)중에 전개될 수 있다는 사실에 기인한다. 제4도의 특정한 구성(이것은 많은 가능한 유용한 형태중 단지 예일분이다)에 따르면,다음과 같은 결과가 얻어질 수 있다.
Figure kpo00001
목적 상태는 스위치 상태에 의한 그룹으로 검색된다; 즉 그룹 1은 스위치 상태 0,1,2를 포함하며, 결국 미리 엔트리 WXY를 채우게 되고; 그룹 2는 상태 3,4를 포함하며, 결국 엔트리 WX를 채우게 되고; 그룹 3은 상태 5,6을 포함하며, 결국 엔트리 WX를 채우게 되고; 그리고그룹 4는 상태 7을 포함하며, 결국 엔트리 W를 채우게 된다. 예상되어진 목적 상태가 도달되는 경우, 검색은 현 캐시 미스동안 중지된다; 즉, 미리 발생된 예상 어드레스 W를 다른 예상 어드레스 W와 대체하는 것은 바람직하지 않다.
본 기술분야에 숙련된 자는, 복합 바이너리 디지트 정보가 마치 단일 바이너리 디지트 정보인 것처럼 제공되어 있으므로, 제3도 및 제4도의 논리회로가 어느정도 단순화된 것임을 알 수 있을 것이다. 따라서, 실제로는, 전자식 스위치, 게이트 등의 어레이는 필요하고 완전히 전통적일 수 있는 추가의 차원을 처리하는 실제적으로 사용될 수 있다. 아울러, 본 발명의 구조를 소정의 데이터 처리 시스템 환경내로 내장시키기 위한 타이밍 신호 및 논리는 그 환경에 적합할 것이며 또한 간단한 논리회로 설계의 중요 부분일 것이다.
따라서, 본 발명의 원리는 예시된 실시예로 명확히 알 수 있지만, 본 기술분야에 숙련된 자라면 본 발명의 원리를 벗어남이 없이 특정한 환경 및 동작 요구 조건에 특히 적합한 본 발명의 실시예에 사용된 구조, 배열, 부분, 소자, 물질 및 부품에 있어서 여러가지 변형이 가해질 수 있음을 명백히 알 수 있을 것이다.

Claims (10)

  1. 캐시 메모리를 내장한 데이터 처리 시스템에서 캐시 미스 어드레스를 예상하기 위한 방법에 있어서, 가) 복수의 캐시 미스 어드레스를 저장하기 위한 미스 스택을 설정하는 단계와; 나) 캐시 미스를 대기하는 단계와; 다) 캐시 미스가 발생하는 경우, 호출된 명령의 어드레스를 미스 스택의 상단에 배치하는 단계와; 라) 잔류 캐시 미스 어드레스간의 어드레스 패턴을 찾기 위해 상기 미스 스택을 조사하는 단계와; 마) 패턴이 감지되지 않는 경우, 상기 나) 캐시 미스 대기 단계로 되돌리는 단계와; 바) 패턴이 감지된 경우, 1) 예상 어드레스를 계산하기 위해 상기 감지된 패턴 및 상기 미스 스택내의 적어도 하나의 어드레스를 사용하는 단계와; 2) 상기 예상 어드레스에 의해 식별된 신호 그룹을 캐시 메모리내로 선추출하는 단계와; 3) 상기 나) 캐시 미스 대기 단계로 되돌리는 단계를 포함하는 것을 특징으로 하는 캐시 미스 어드레스 예상 방법.
  2. 제1항에 있어서, 상기 라) 미스 스택 조사 단계 동안, 소정 어드레스 패턴의 목록은 검색 가능하며, 조사는 제1패턴 정합이 감지될 때까지 각 패턴에서 계속되는 것을 특징으로 하는 캐시 미스 어드레스 예상 방법.
  3. 캐시 메모리를 내장한 데이터 처리 시스템에서 캐시 미스 어드레스를 예상하기 위한 방법에 있어서, 가) 복수의 캐시 미스어드레스를 저장하기 위한 미스 스택을 설정하는 단계와; 나) 캐시 미스를 대기하는 단계와; 다) 캐시 미스가 발생하는 경우, 호출된 명령의 어드레스를 상기 미스 스택의 상단에 배치하는 단계와; 라) 복수의 패턴 그룹중 현재 그룹내의 선택된 어드레스 패턴과의 정합을 찾기 위해 상기 미스 스택에 잔류하는 상기 캐시 미스 어드레스를 조사하는 단계와; 마) 상기 선택된 패턴이 감지되지 않는 경우, 상기 현재 그룹의 모든 패턴이 조사되었을지를 결정하는 단계와; 바) 상기 현재 그룹내의 모든 패턴이 조사되지 않았을 경우, 상기 현재 그룹중 다른 패턴을 선택하여 상기 라) 캐시 미스 어드레스 조사 단계로 되돌리는 단계와; 사) 패턴 목록중 모든 그룹내의 모든 패턴이 검색된 경우, 다른 그룹을 현재 그룹으로 할당하고, 새로운 현재 그룹으로부터 패턴을 선택하여 상기 라) 캐시 미스 어드레스 조사 단계로 되돌리는 단계와; 자) 선택된 패턴이 감지된 경우, 1) 예상 어드레스를 계산하기 위해 상기 미스스택내의 적어도 하나의 어드레스 및 상기 감지된 패턴을 상요하는 단계와; 2) 상기 예상 어드레스에 의해 식별된 신호 그룹을 캐시 메모리내로 선추출하는 단계와; 3) 다른 그룹을 현재 그룹으로 할당하여 상기 라) 캐시 미스 어드레스 조사 단계로 되돌리는 단계를 포함하는 것을 특징으로 하는 캐시 미스 어드레스 예상 방법.
  4. 캐시 메모리내로 정보를 선추출하기 위해 에상 어드레스를 발생시키기 위한 장치에 있어서, 가) 캐시미스를 나타내는 복수의 어드레스를 저장하기 위한 선입선출 스택과; 나) 복수의 어드레스 입력과 단일의 어드레스 출력을 각각 가진 복수의 전자식 스위치 수단과; 다) 상기 스텝에 개별적으로 저장된 상기 어드레스를 소정 순서로 상기 전자식 스위치 수단의 입력에 결합시키는 수단과; 라) 상기 전자식 스위치 수단의 입력에 인가된 상기 어드레스를 상기 전자식 스위치의 출력에 전송하여 상기 전자식 스위치의 출력에서 소정의 상기 어드레스 결합을 설정하기 위한 상기 전자식 스위치 수단을 스위칭하기 위한 수단과; 마) 상기 전자식 스위치 수단의 출력으로부터 한쌍의 다른 어드레스를 수신하여 그들 사이의 변위를 나타내는 값을 발생하도록 각각이 결합된 적어도 2개의 감산회로 수단과; 바) 상기 감산회로 수단의 대응쌍으로부터 한쌍의 출력을 수신하도록 결합되며, 비교 조건이 존재하는 경우 상기 한쌍의 출력에 응답하여 선추출 인에이블 논리신호를 발생하기 위한 적어도 하나의 비교회로 수단과; 사) 예상 어드레스를 얻도록 상기 전자식 스위치의 출력중 하나에 나타나는 상기 하나의 어드레스와 상기 감산회로 수단중 하나에 나타나는 변위정보를 결합하는데 적합한 예상 어드레스 발생 수단을 포함하며, 상기 예상 어드레스와 상기 선추출 인에이블 논리회로가 정리된채 존재하여 상기 예상 어드레스에 의해 식별된 신호 그룹이 상기 캐시 메모리내로 선추출되게 하는 것을 특징으로 하는 예상 어드레스 발생 장치.
  5. 제4항에 있어서, 적어도 3개의 상기 감산회로 수단과, 적어도 2개의 상기 비교회로 수단을 구비하며, 상기 적어도 2개의 비교회로 수단으로부터 결합된 출력을 각각 수신하는 분리된 입력을 가진 AND-게이트 수단을 추가로 구비하고, 상기 AND-게이트는 완전히 인에이블될 때만 상기 선추출 인에이블 논리신호를 선택적으로 발생하는 것을 특징으로 하는 예상 어드레스 발생 장치.
  6. 제5항에 있어서, 상기 AND-게이트 수단의 적어도 하나의 입력을 구동하며, 상기 비교회로의 적어도 하나로부터 결합된 출력 및 선택적으로 인가된 감소된 앞보기 논리신호를 수신하는 입력을 가진 OR-게이트 수단을 추가로 구비하는데, 상기 OR-게이트수단에 상기 감소된 앞보기 신호를 인가함으로써 상기 AND-게이트 수단은 구동되도록 부분적으로 인에이블되고 그리고 상기 선추출 인에이블 논리신호의 발생을 고려하여 적어도 하나의 상기 비교회로가 제거되는 것을 특징으로 하는 예상 어드레스 발생 장치.
  7. 요구 어드레스에 대응하는 어드레스가 저장되어 있는지 또한 어떤 저장된 어드레스가 캐시에 저장된 정보에 대응하는지의 여부를 결정하기 위해 반복적으로 캐시가 조회되는 데이터 처리 시스템에서의 캐시 미스 어드레스 예상 방법으로서; 상기 데이터 처리 시스템에는 메인 메모리와 어드레스를 유지하는 스택이 포함되고; 상기 캐시의 운영시 상기 데이터 처리 시스템에 의해 수행되는 캐시 미스 어드레스 예상 방법에 있어서, 가) 상기 캐시가 조회될대 캐시 미스가 발생하는 경우, 요구 어드레스를 상기 스택에 입력하는 단계와; 나) 복수의 소정의 어드레스 패턴중 하나가 상기 요구 어드레스에 의해 표시되는지의 여부를 결정하기 위해 상기 스택에 나타난 요구 어드레스를 조사하는 단계와; 다) 1) 단계 나)에서 상기 패턴중 어느것도 표시되는 것으로 결정되지 않은 경우, 단계 가)로 되돌리는 단계와, 2) ① 단계 나)에서 상기 패턴중 하나가 표시되었다고 결정될 경우, 예상된 캐시 미스의 어드레스를 발생하는 단계와, ② 상기 메인 메모리로부터 정보를 얻고 그 정보를 캐시에 기입하기 위해 상기 발생된 어드레스를 사용하는 단계와, ③ 단계 가)로 되돌리는 단계를 포함하는 것을 특징으로 하는 캐시 미스 어드레스 예상 방법.
  8. 제7항에 있어서, 단계 다)의 2)에서, 상기 어드레스는 하나의 소정 패턴 및 상기 스택에 나타난 요구 어드레스중 하나를 사용하는 계산을 수행함에 의해 발생되는 것을 특징으로 하는 캐시 미스 어드레스 예상 방법.
  9. 제8항에 있어서, 상기 스택은 선입 선출형 스택이고, 단계 가)에서, 상기 요구 어드레스는 상기 스택의 상단에 입력되는 것을 특징으로 하는 캐시 미스 어드레스 예상 방법.
  10. 요구 어드레스에 대응하는 어드레스가 캐시에 저장되어 있는지 또한 어떤 저장된 어드레스가 상기 캐시에 저장된 정보에 대응하는지의 여부를 결정하기 위해 반복적으로 상기 캐시가 조회되는 데이터 처리 시스템에서 캐시 미스의 예상 어드레스를 발생하기 위한 장치로서, 상기 데이터 처리 시스템이 복수의 상기 요구 어드레스를 각각의 셀에 유지하기 위한 저장부(20)를 포함하는 캐시 미스예상 어드레스 발생 장치에 있어서; 각각의 스위치는 복수의 입력단자, 하나의 출력단자 및 하나의 제어단자를 포함하며, 상기 제어단자에 인가된 제어신호는 상기 스위치가 상기 입력단자중 하나를 상기 출력단자에 결합시키도록 하는 복수의 스위치(21-24)를 구비하는데, 상기 제어신호는 상기 스위치의 입력단자가 상기 출력단자에 연속적으로 결합되도록 하기 위해 상기 제어단자에 전송되고; 상기 스위치의 상기 입력단자 각각을 상기 셀중 하나에 결합시키는 회로와; 각각의 제1산술회로는 한쌍의 입력단자 및 하나의 출력단자를 포함하며, 상기 제1산술회로 각각의 입력단자는 2개의 상기 스위치의 각 출력단자에 결합되고, 각각의 상기 제1산술회로는 상기 2개의 스위치에 의해 상기 입력단자에 결합된 상기 저장부의 2개 셀로부터 상기 입력단자에 수신된 2개의 요구 어드레스에 따라 산술 연산을 수행하고 상기 산술 연산의 결고를 표시하는 신호를 출력단자에서 출력하는 복수의 제1산술회로(26-28)와; 비교기의 각각은 한쌍의 입력단자 및 하나의 출력단자를 포함하고, 상기 비교기 각각의 입력단자가 상기 제1산출회로의 2개의 출력단자 각각에 결합되고, 각각의 상기 비교기는 수신된 2개의 산술결과 신호를 비교하여 상기 결과 신호가 동일한지를 나타내는 신호를 출력단자에서 전송시키는 복수의 비교기(29,30)와; 한쌍의 입력단자와 하나의 출력단자를 포함하고, 제2산술회로의 제1입력단자는 상기 스위치중 하나의 출력단자에 결합되고 상기 제2산술회로의 제2입력단자는 상기 제1산술회로중 하나의 출력단자에 결합되며, 상기 제2산술회로는 상기 제1입력단자에 의해 수신된 요구 어드레스와 상기 제2입력단자에 의해 수신된 신호로 표시된 산술 결과에 따라 산술연산을 수행하고 상기 제2산술회로에 의해 수행된 상기 산술연산의 결과를 표시하는 출력신호를 그 출력단자에서 전송시키는 제2산술회로(31)를 포함하며, 모든 상기 비교기의 출력단자에서 전송된 신호들이 상기 비교된 산술결과가 동일함을 나타낼 경우, 상기 제2산술회로의 동일 발생 출력신호에 의해 표시된 산술결과는 캐시 미스의 상기 예상 어드레스를 표시하는 것을 특징으로 하는 캐시 미스 예상 어드레스 발생 장치.
KR1019900008452A 1989-06-12 1990-06-09 캐시미스 예상방법 및 장치 KR950011291B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US364,943 1989-06-12
US07/364,943 US5093777A (en) 1989-06-12 1989-06-12 Method and apparatus for predicting address of a subsequent cache request upon analyzing address patterns stored in separate miss stack
US364943 1989-06-12

Publications (2)

Publication Number Publication Date
KR910001547A KR910001547A (ko) 1991-01-31
KR950011291B1 true KR950011291B1 (ko) 1995-09-30

Family

ID=23436798

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019900008452A KR950011291B1 (ko) 1989-06-12 1990-06-09 캐시미스 예상방법 및 장치

Country Status (7)

Country Link
US (2) US5093777A (ko)
EP (1) EP0402787B1 (ko)
JP (1) JPH0363852A (ko)
KR (1) KR950011291B1 (ko)
AU (1) AU638716B2 (ko)
DE (1) DE69028153T2 (ko)
SG (1) SG49211A1 (ko)

Families Citing this family (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5093777A (en) * 1989-06-12 1992-03-03 Bull Hn Information Systems Inc. Method and apparatus for predicting address of a subsequent cache request upon analyzing address patterns stored in separate miss stack
US5210838A (en) * 1990-05-15 1993-05-11 Sun Microsystems, Inc. Method and apparatus for predicting the effective addresses of future memory load operations in a microprocessor
GB2247546B (en) * 1990-08-31 1995-03-01 Sun Microsystems Inc Method and apparatus for predictive caching
US5357618A (en) * 1991-04-15 1994-10-18 International Business Machines Corporation Cache prefetch and bypass using stride registers
SE469402B (sv) * 1991-05-02 1993-06-28 Swedish Inst Of Computer Scien Foerfarande foer att haemta data till ett cache-minne
US5367656A (en) * 1992-03-13 1994-11-22 Bull Hn Information Systems Inc. Controlling cache predictive prefetching based on cache hit ratio trend
US5787475A (en) * 1992-07-21 1998-07-28 Digital Equipment Corporation Controlled prefetching of data requested by a peripheral
US5450561A (en) * 1992-07-29 1995-09-12 Bull Hn Information Systems Inc. Cache miss prediction method and apparatus for use with a paged main memory in a data processing system
US5715421A (en) * 1992-10-16 1998-02-03 Seiko Epson Corporation Apparatus and method of addressing paged mode memory including adjacent page precharging
US5588128A (en) * 1993-04-02 1996-12-24 Vlsi Technology, Inc. Dynamic direction look ahead read buffer
WO1995001600A1 (en) * 1993-07-02 1995-01-12 Oakleigh Systems, Inc. Predictive disk cache system
US5452440A (en) * 1993-07-16 1995-09-19 Zitel Corporation Method and structure for evaluating and enhancing the performance of cache memory systems
US5426764A (en) * 1993-08-24 1995-06-20 Ryan; Charles P. Cache miss prediction apparatus with priority encoder for multiple prediction matches and method therefor
US5701426A (en) * 1995-03-31 1997-12-23 Bull Information Systems Inc. Data processing system and method using cache miss address prediction and forced LRU status in a cache memory to improve cache hit ratio
US5790823A (en) * 1995-07-13 1998-08-04 International Business Machines Corporation Operand prefetch table
US6038643A (en) * 1996-01-24 2000-03-14 Sun Microsystems, Inc. Stack management unit and method for a processor having a stack
JP3634379B2 (ja) * 1996-01-24 2005-03-30 サン・マイクロシステムズ・インコーポレイテッド スタックキャッシングのための方法及び装置
US6055621A (en) * 1996-02-12 2000-04-25 International Business Machines Corporation Touch history table
US5854911A (en) * 1996-07-01 1998-12-29 Sun Microsystems, Inc. Data buffer prefetch apparatus and method
US6167488A (en) * 1997-03-31 2000-12-26 Sun Microsystems, Inc. Stack caching circuit with overflow/underflow unit
US6009499A (en) * 1997-03-31 1999-12-28 Sun Microsystems, Inc Pipelined stack caching circuit
US6289418B1 (en) 1997-03-31 2001-09-11 Sun Microsystems, Inc. Address pipelined stack caching method
US6131144A (en) * 1997-04-01 2000-10-10 Sun Microsystems, Inc. Stack caching method with overflow/underflow control using pointers
JP3175675B2 (ja) * 1997-12-04 2001-06-11 日本電気株式会社 プリフェッチ制御装置
US6138210A (en) * 1997-06-23 2000-10-24 Sun Microsystems, Inc. Multi-stack memory architecture
US6092152A (en) * 1997-06-23 2000-07-18 Sun Microsystems, Inc. Method for stack-caching method frames
US6067602A (en) * 1997-06-23 2000-05-23 Sun Microsystems, Inc. Multi-stack-caching memory architecture
US6058457A (en) * 1997-06-23 2000-05-02 Sun Microsystems, Inc. Method for storing method frames in multiple stacks
US6197685B1 (en) * 1997-07-11 2001-03-06 Matsushita Electronics Corporation Method of producing multilayer wiring device with offset axises of upper and lower plugs
US6047363A (en) * 1997-10-14 2000-04-04 Advanced Micro Devices, Inc. Prefetching data using profile of cache misses from earlier code executions
US6134643A (en) * 1997-11-26 2000-10-17 Intel Corporation Method and apparatus for cache line prediction and prefetching using a prefetch controller and buffer and access history
US6484239B1 (en) * 1997-12-29 2002-11-19 Intel Corporation Prefetch queue
US6108768A (en) * 1998-04-22 2000-08-22 Sun Microsystems, Inc. Reissue logic for individually reissuing instructions trapped in a multiissue stack based computing system
US6275903B1 (en) 1998-04-22 2001-08-14 Sun Microsystems, Inc. Stack cache miss handling
US6237086B1 (en) 1998-04-22 2001-05-22 Sun Microsystems, Inc. 1 Method to prevent pipeline stalls in superscalar stack based computing systems
US6170050B1 (en) 1998-04-22 2001-01-02 Sun Microsystems, Inc. Length decoder for variable length data
US6230260B1 (en) 1998-09-01 2001-05-08 International Business Machines Corporation Circuit arrangement and method of speculative instruction execution utilizing instruction history caching
US6389449B1 (en) * 1998-12-16 2002-05-14 Clearwater Networks, Inc. Interstream control and communications for multi-streaming digital processors
US7529907B2 (en) 1998-12-16 2009-05-05 Mips Technologies, Inc. Method and apparatus for improved computer load and store operations
US7020879B1 (en) * 1998-12-16 2006-03-28 Mips Technologies, Inc. Interrupt and exception handling for multi-streaming digital processors
US7035997B1 (en) 1998-12-16 2006-04-25 Mips Technologies, Inc. Methods and apparatus for improving fetching and dispatch of instructions in multithreaded processors
US7257814B1 (en) 1998-12-16 2007-08-14 Mips Technologies, Inc. Method and apparatus for implementing atomicity of memory operations in dynamic multi-streaming processors
US7237093B1 (en) * 1998-12-16 2007-06-26 Mips Technologies, Inc. Instruction fetching system in a multithreaded processor utilizing cache miss predictions to fetch instructions from multiple hardware streams
US6393527B1 (en) * 1998-12-18 2002-05-21 Ati International Srl Prefetch buffer with continue detect
US6490652B1 (en) * 1999-02-03 2002-12-03 Ati Technologies Inc. Method and apparatus for decoupled retrieval of cache miss data
US6311260B1 (en) 1999-02-25 2001-10-30 Nec Research Institute, Inc. Method for perfetching structured data
US20020135611A1 (en) * 1999-03-04 2002-09-26 Trevor Deosaran Remote performance management to accelerate distributed processes
US6580431B1 (en) 1999-03-04 2003-06-17 Nexmem System, method, and computer program product for intelligent memory to accelerate processes
JP3438650B2 (ja) * 1999-05-26 2003-08-18 日本電気株式会社 キャッシュメモリ
US6442673B1 (en) * 1999-11-05 2002-08-27 I.P. First L.L.C. Update forwarding cache for address mode
US6629234B1 (en) 2000-03-30 2003-09-30 Ip. First, L.L.C. Speculative generation at address generation stage of previous instruction result stored in forward cache for use by succeeding address dependent instruction
JP2004518183A (ja) 2000-07-14 2004-06-17 クリアウオーター・ネツトワークス・インコーポレイテツド マルチスレッド・システムにおける命令のフェッチとディスパッチ
US6584549B2 (en) 2000-12-29 2003-06-24 Intel Corporation System and method for prefetching data into a cache based on miss distance
US7035979B2 (en) * 2002-05-22 2006-04-25 International Business Machines Corporation Method and apparatus for optimizing cache hit ratio in non L1 caches
US7107438B2 (en) 2003-02-04 2006-09-12 Via Technologies, Inc. Pipelined microprocessor, apparatus, and method for performing early correction of conditional branch instruction mispredictions
US7100024B2 (en) 2003-02-04 2006-08-29 Via Technologies, Inc. Pipelined microprocessor, apparatus, and method for generating early status flags
US7185182B2 (en) 2003-02-04 2007-02-27 Via Technologies, Inc. Pipelined microprocessor, apparatus, and method for generating early instruction results
US8966230B2 (en) 2009-09-30 2015-02-24 Intel Corporation Dynamic selection of execution stage
CN102163144A (zh) * 2011-05-05 2011-08-24 浙江大学 嵌入式处理器的硬件数据预取方法
US8954678B2 (en) * 2012-06-15 2015-02-10 International Business Machines Corporation Automatic pattern-based operand prefetching
US9015422B2 (en) * 2013-07-16 2015-04-21 Apple Inc. Access map-pattern match based prefetch unit for a processor
US10360159B1 (en) * 2013-12-12 2019-07-23 Groupon, Inc. System, method, apparatus, and computer program product for providing a cache mechanism
US9971694B1 (en) 2015-06-24 2018-05-15 Apple Inc. Prefetch circuit for a processor with pointer optimization
KR102429903B1 (ko) * 2015-12-03 2022-08-05 삼성전자주식회사 비휘발성 메인 메모리 시스템의 페이지 폴트 처리 방법
US10180905B1 (en) 2016-04-07 2019-01-15 Apple Inc. Unified prefetch circuit for multi-level caches
US9904624B1 (en) 2016-04-07 2018-02-27 Apple Inc. Prefetch throttling in a multi-core system
US10331567B1 (en) 2017-02-17 2019-06-25 Apple Inc. Prefetch circuit with global quality factor to reduce aggressiveness in low power modes

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1515376A (en) * 1975-07-09 1978-06-21 Int Computers Ltd Data storage systems
US4371924A (en) * 1979-11-09 1983-02-01 Rockwell International Corp. Computer system apparatus for prefetching data requested by a peripheral device from memory
US4317168A (en) * 1979-11-23 1982-02-23 International Business Machines Corporation Cache organization enabling concurrent line castout and line fetch transfers with main storage
US4370710A (en) * 1980-08-26 1983-01-25 Control Data Corporation Cache memory organization utilizing miss information holding registers to prevent lockup from cache misses
US4583165A (en) * 1982-06-30 1986-04-15 International Business Machines Corporation Apparatus and method for controlling storage access in a multilevel storage system
US4679141A (en) * 1985-04-29 1987-07-07 International Business Machines Corporation Pageable branch history table
IT1202687B (it) * 1987-03-25 1989-02-09 Honeywell Inf Systems Memoria tampone a predizione di hit
US4991090A (en) * 1987-05-18 1991-02-05 International Business Machines Corporation Posting out-of-sequence fetches
US4980823A (en) * 1987-06-22 1990-12-25 International Business Machines Corporation Sequential prefetching with deconfirmation
US4943908A (en) * 1987-12-02 1990-07-24 International Business Machines Corporation Multiple branch analyzer for prefetching cache lines
US4888679A (en) * 1988-01-11 1989-12-19 Digital Equipment Corporation Method and apparatus using a cache and main memory for both vector processing and scalar processing by prefetching cache blocks including vector data elements
US5093777A (en) * 1989-06-12 1992-03-03 Bull Hn Information Systems Inc. Method and apparatus for predicting address of a subsequent cache request upon analyzing address patterns stored in separate miss stack
US5269013A (en) * 1991-03-20 1993-12-07 Digital Equipment Corporation Adaptive memory management method for coupled memory multiprocessor systems
US5185861A (en) * 1991-08-19 1993-02-09 Sequent Computer Systems, Inc. Cache affinity scheduler
US5305389A (en) * 1991-08-30 1994-04-19 Digital Equipment Corporation Predictive cache system
US5367656A (en) * 1992-03-13 1994-11-22 Bull Hn Information Systems Inc. Controlling cache predictive prefetching based on cache hit ratio trend

Also Published As

Publication number Publication date
DE69028153T2 (de) 1997-04-03
KR910001547A (ko) 1991-01-31
US5694572A (en) 1997-12-02
JPH0529939B2 (ko) 1993-05-06
DE69028153D1 (de) 1996-09-26
EP0402787A2 (en) 1990-12-19
EP0402787A3 (en) 1991-09-04
AU638716B2 (en) 1993-07-08
EP0402787B1 (en) 1996-08-21
SG49211A1 (en) 1998-05-18
JPH0363852A (ja) 1991-03-19
AU5681990A (en) 1990-12-13
US5093777A (en) 1992-03-03

Similar Documents

Publication Publication Date Title
KR950011291B1 (ko) 캐시미스 예상방법 및 장치
US5367656A (en) Controlling cache predictive prefetching based on cache hit ratio trend
US5278961A (en) Physical address to logical address translator for memory management units
US5701426A (en) Data processing system and method using cache miss address prediction and forced LRU status in a cache memory to improve cache hit ratio
US4631660A (en) Addressing system for an associative cache memory
US5278963A (en) Pretranslation of virtual addresses prior to page crossing
CA1277044C (en) Apparatus and method for providing a cache memory unit with a write operation utilizing two system clock cycles
US5450561A (en) Cache miss prediction method and apparatus for use with a paged main memory in a data processing system
CA1157569A (en) Address pairing apparatus for a control store of a data processing system
US5412786A (en) Data pre-fetch control device
US4967350A (en) Pipelined vector processor for executing recursive instructions
US5283890A (en) Cache memory arrangement with write buffer pipeline providing for concurrent cache determinations
US5426764A (en) Cache miss prediction apparatus with priority encoder for multiple prediction matches and method therefor
US5495591A (en) Method and system for cache miss prediction based on previous cache access requests
US5692151A (en) High performance/low cost access hazard detection in pipelined cache controller using comparators with a width shorter than and independent of total width of memory address
US6374344B1 (en) Methods and apparatus for processing load instructions in the presence of RAM array and data bus conflicts
KR0128506B1 (ko) 다른 컴퓨터 시스템과 통신 가능한 데이타 처리 시스템
US7519955B2 (en) Apparatus and method for transferring multiple scan length signal groups for JTAG boundary scans
US6671781B1 (en) Data cache store buffer
EP0349757B1 (en) Apparatus and method for enhanced virtual to real address translation for accessing a cache memory unit
JPH0520350A (ja) ベクトル処理装置
JP3697990B2 (ja) ベクトル処理装置のオペランドキャッシュ
EP0600703A2 (en) Information processing apparatus capable of simultaneously storing and fetching data
JPH0619957A (ja) ベクトルデータ処理装置
JPH02156351A (ja) キャッシュメモリ装置

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E902 Notification of reason for refusal
G160 Decision to publish patent application
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20000927

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee