KR950011291B1 - 캐시미스 예상방법 및 장치 - Google Patents
캐시미스 예상방법 및 장치 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims description 21
- 238000012545 processing Methods 0.000 claims description 22
- 238000000605 extraction Methods 0.000 claims description 2
- 230000008878 coupling Effects 0.000 claims 2
- 238000010168 coupling process Methods 0.000 claims 2
- 238000005859 coupling reaction Methods 0.000 claims 2
- 238000006073 displacement reaction Methods 0.000 claims 2
- 230000004044 response Effects 0.000 claims 1
- 230000002194 synthesizing effect Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- IZFHEQBZOYJLPK-SSDOTTSWSA-M (R)-dihydrolipoate Chemical compound [O-]C(=O)CCCC[C@@H](S)CCS IZFHEQBZOYJLPK-SSDOTTSWSA-M 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000001747 exhibiting effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003389 potentiating effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3824—Operand accessing
- G06F9/383—Operand prefetching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0862—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3824—Operand accessing
- G06F9/383—Operand prefetching
- G06F9/3832—Value prediction for operands; operand history buffers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
- G06F2212/6026—Prefetching 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도의 특정한 구성(이것은 많은 가능한 유용한 형태중 단지 예일분이다)에 따르면,다음과 같은 결과가 얻어질 수 있다.
목적 상태는 스위치 상태에 의한 그룹으로 검색된다; 즉 그룹 1은 스위치 상태 0,1,2를 포함하며, 결국 미리 엔트리 WXY를 채우게 되고; 그룹 2는 상태 3,4를 포함하며, 결국 엔트리 WX를 채우게 되고; 그룹 3은 상태 5,6을 포함하며, 결국 엔트리 WX를 채우게 되고; 그리고그룹 4는 상태 7을 포함하며, 결국 엔트리 W를 채우게 된다. 예상되어진 목적 상태가 도달되는 경우, 검색은 현 캐시 미스동안 중지된다; 즉, 미리 발생된 예상 어드레스 W를 다른 예상 어드레스 W와 대체하는 것은 바람직하지 않다.
본 기술분야에 숙련된 자는, 복합 바이너리 디지트 정보가 마치 단일 바이너리 디지트 정보인 것처럼 제공되어 있으므로, 제3도 및 제4도의 논리회로가 어느정도 단순화된 것임을 알 수 있을 것이다. 따라서, 실제로는, 전자식 스위치, 게이트 등의 어레이는 필요하고 완전히 전통적일 수 있는 추가의 차원을 처리하는 실제적으로 사용될 수 있다. 아울러, 본 발명의 구조를 소정의 데이터 처리 시스템 환경내로 내장시키기 위한 타이밍 신호 및 논리는 그 환경에 적합할 것이며 또한 간단한 논리회로 설계의 중요 부분일 것이다.
따라서, 본 발명의 원리는 예시된 실시예로 명확히 알 수 있지만, 본 기술분야에 숙련된 자라면 본 발명의 원리를 벗어남이 없이 특정한 환경 및 동작 요구 조건에 특히 적합한 본 발명의 실시예에 사용된 구조, 배열, 부분, 소자, 물질 및 부품에 있어서 여러가지 변형이 가해질 수 있음을 명백히 알 수 있을 것이다.
Claims (10)
- 캐시 메모리를 내장한 데이터 처리 시스템에서 캐시 미스 어드레스를 예상하기 위한 방법에 있어서, 가) 복수의 캐시 미스 어드레스를 저장하기 위한 미스 스택을 설정하는 단계와; 나) 캐시 미스를 대기하는 단계와; 다) 캐시 미스가 발생하는 경우, 호출된 명령의 어드레스를 미스 스택의 상단에 배치하는 단계와; 라) 잔류 캐시 미스 어드레스간의 어드레스 패턴을 찾기 위해 상기 미스 스택을 조사하는 단계와; 마) 패턴이 감지되지 않는 경우, 상기 나) 캐시 미스 대기 단계로 되돌리는 단계와; 바) 패턴이 감지된 경우, 1) 예상 어드레스를 계산하기 위해 상기 감지된 패턴 및 상기 미스 스택내의 적어도 하나의 어드레스를 사용하는 단계와; 2) 상기 예상 어드레스에 의해 식별된 신호 그룹을 캐시 메모리내로 선추출하는 단계와; 3) 상기 나) 캐시 미스 대기 단계로 되돌리는 단계를 포함하는 것을 특징으로 하는 캐시 미스 어드레스 예상 방법.
- 제1항에 있어서, 상기 라) 미스 스택 조사 단계 동안, 소정 어드레스 패턴의 목록은 검색 가능하며, 조사는 제1패턴 정합이 감지될 때까지 각 패턴에서 계속되는 것을 특징으로 하는 캐시 미스 어드레스 예상 방법.
- 캐시 메모리를 내장한 데이터 처리 시스템에서 캐시 미스 어드레스를 예상하기 위한 방법에 있어서, 가) 복수의 캐시 미스어드레스를 저장하기 위한 미스 스택을 설정하는 단계와; 나) 캐시 미스를 대기하는 단계와; 다) 캐시 미스가 발생하는 경우, 호출된 명령의 어드레스를 상기 미스 스택의 상단에 배치하는 단계와; 라) 복수의 패턴 그룹중 현재 그룹내의 선택된 어드레스 패턴과의 정합을 찾기 위해 상기 미스 스택에 잔류하는 상기 캐시 미스 어드레스를 조사하는 단계와; 마) 상기 선택된 패턴이 감지되지 않는 경우, 상기 현재 그룹의 모든 패턴이 조사되었을지를 결정하는 단계와; 바) 상기 현재 그룹내의 모든 패턴이 조사되지 않았을 경우, 상기 현재 그룹중 다른 패턴을 선택하여 상기 라) 캐시 미스 어드레스 조사 단계로 되돌리는 단계와; 사) 패턴 목록중 모든 그룹내의 모든 패턴이 검색된 경우, 다른 그룹을 현재 그룹으로 할당하고, 새로운 현재 그룹으로부터 패턴을 선택하여 상기 라) 캐시 미스 어드레스 조사 단계로 되돌리는 단계와; 자) 선택된 패턴이 감지된 경우, 1) 예상 어드레스를 계산하기 위해 상기 미스스택내의 적어도 하나의 어드레스 및 상기 감지된 패턴을 상요하는 단계와; 2) 상기 예상 어드레스에 의해 식별된 신호 그룹을 캐시 메모리내로 선추출하는 단계와; 3) 다른 그룹을 현재 그룹으로 할당하여 상기 라) 캐시 미스 어드레스 조사 단계로 되돌리는 단계를 포함하는 것을 특징으로 하는 캐시 미스 어드레스 예상 방법.
- 캐시 메모리내로 정보를 선추출하기 위해 에상 어드레스를 발생시키기 위한 장치에 있어서, 가) 캐시미스를 나타내는 복수의 어드레스를 저장하기 위한 선입선출 스택과; 나) 복수의 어드레스 입력과 단일의 어드레스 출력을 각각 가진 복수의 전자식 스위치 수단과; 다) 상기 스텝에 개별적으로 저장된 상기 어드레스를 소정 순서로 상기 전자식 스위치 수단의 입력에 결합시키는 수단과; 라) 상기 전자식 스위치 수단의 입력에 인가된 상기 어드레스를 상기 전자식 스위치의 출력에 전송하여 상기 전자식 스위치의 출력에서 소정의 상기 어드레스 결합을 설정하기 위한 상기 전자식 스위치 수단을 스위칭하기 위한 수단과; 마) 상기 전자식 스위치 수단의 출력으로부터 한쌍의 다른 어드레스를 수신하여 그들 사이의 변위를 나타내는 값을 발생하도록 각각이 결합된 적어도 2개의 감산회로 수단과; 바) 상기 감산회로 수단의 대응쌍으로부터 한쌍의 출력을 수신하도록 결합되며, 비교 조건이 존재하는 경우 상기 한쌍의 출력에 응답하여 선추출 인에이블 논리신호를 발생하기 위한 적어도 하나의 비교회로 수단과; 사) 예상 어드레스를 얻도록 상기 전자식 스위치의 출력중 하나에 나타나는 상기 하나의 어드레스와 상기 감산회로 수단중 하나에 나타나는 변위정보를 결합하는데 적합한 예상 어드레스 발생 수단을 포함하며, 상기 예상 어드레스와 상기 선추출 인에이블 논리회로가 정리된채 존재하여 상기 예상 어드레스에 의해 식별된 신호 그룹이 상기 캐시 메모리내로 선추출되게 하는 것을 특징으로 하는 예상 어드레스 발생 장치.
- 제4항에 있어서, 적어도 3개의 상기 감산회로 수단과, 적어도 2개의 상기 비교회로 수단을 구비하며, 상기 적어도 2개의 비교회로 수단으로부터 결합된 출력을 각각 수신하는 분리된 입력을 가진 AND-게이트 수단을 추가로 구비하고, 상기 AND-게이트는 완전히 인에이블될 때만 상기 선추출 인에이블 논리신호를 선택적으로 발생하는 것을 특징으로 하는 예상 어드레스 발생 장치.
- 제5항에 있어서, 상기 AND-게이트 수단의 적어도 하나의 입력을 구동하며, 상기 비교회로의 적어도 하나로부터 결합된 출력 및 선택적으로 인가된 감소된 앞보기 논리신호를 수신하는 입력을 가진 OR-게이트 수단을 추가로 구비하는데, 상기 OR-게이트수단에 상기 감소된 앞보기 신호를 인가함으로써 상기 AND-게이트 수단은 구동되도록 부분적으로 인에이블되고 그리고 상기 선추출 인에이블 논리신호의 발생을 고려하여 적어도 하나의 상기 비교회로가 제거되는 것을 특징으로 하는 예상 어드레스 발생 장치.
- 요구 어드레스에 대응하는 어드레스가 저장되어 있는지 또한 어떤 저장된 어드레스가 캐시에 저장된 정보에 대응하는지의 여부를 결정하기 위해 반복적으로 캐시가 조회되는 데이터 처리 시스템에서의 캐시 미스 어드레스 예상 방법으로서; 상기 데이터 처리 시스템에는 메인 메모리와 어드레스를 유지하는 스택이 포함되고; 상기 캐시의 운영시 상기 데이터 처리 시스템에 의해 수행되는 캐시 미스 어드레스 예상 방법에 있어서, 가) 상기 캐시가 조회될대 캐시 미스가 발생하는 경우, 요구 어드레스를 상기 스택에 입력하는 단계와; 나) 복수의 소정의 어드레스 패턴중 하나가 상기 요구 어드레스에 의해 표시되는지의 여부를 결정하기 위해 상기 스택에 나타난 요구 어드레스를 조사하는 단계와; 다) 1) 단계 나)에서 상기 패턴중 어느것도 표시되는 것으로 결정되지 않은 경우, 단계 가)로 되돌리는 단계와, 2) ① 단계 나)에서 상기 패턴중 하나가 표시되었다고 결정될 경우, 예상된 캐시 미스의 어드레스를 발생하는 단계와, ② 상기 메인 메모리로부터 정보를 얻고 그 정보를 캐시에 기입하기 위해 상기 발생된 어드레스를 사용하는 단계와, ③ 단계 가)로 되돌리는 단계를 포함하는 것을 특징으로 하는 캐시 미스 어드레스 예상 방법.
- 제7항에 있어서, 단계 다)의 2)에서, 상기 어드레스는 하나의 소정 패턴 및 상기 스택에 나타난 요구 어드레스중 하나를 사용하는 계산을 수행함에 의해 발생되는 것을 특징으로 하는 캐시 미스 어드레스 예상 방법.
- 제8항에 있어서, 상기 스택은 선입 선출형 스택이고, 단계 가)에서, 상기 요구 어드레스는 상기 스택의 상단에 입력되는 것을 특징으로 하는 캐시 미스 어드레스 예상 방법.
- 요구 어드레스에 대응하는 어드레스가 캐시에 저장되어 있는지 또한 어떤 저장된 어드레스가 상기 캐시에 저장된 정보에 대응하는지의 여부를 결정하기 위해 반복적으로 상기 캐시가 조회되는 데이터 처리 시스템에서 캐시 미스의 예상 어드레스를 발생하기 위한 장치로서, 상기 데이터 처리 시스템이 복수의 상기 요구 어드레스를 각각의 셀에 유지하기 위한 저장부(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산술회로의 동일 발생 출력신호에 의해 표시된 산술결과는 캐시 미스의 상기 예상 어드레스를 표시하는 것을 특징으로 하는 캐시 미스 예상 어드레스 발생 장치.
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)
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)
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 |
-
1989
- 1989-06-12 US US07/364,943 patent/US5093777A/en not_active Expired - Lifetime
-
1990
- 1990-06-05 AU AU56819/90A patent/AU638716B2/en not_active Ceased
- 1990-06-08 SG SG1996007658A patent/SG49211A1/en unknown
- 1990-06-08 EP EP90110881A patent/EP0402787B1/en not_active Expired - Lifetime
- 1990-06-08 DE DE69028153T patent/DE69028153T2/de not_active Expired - Fee Related
- 1990-06-09 KR KR1019900008452A patent/KR950011291B1/ko not_active IP Right Cessation
- 1990-06-12 JP JP2153812A patent/JPH0363852A/ja active Granted
-
1992
- 1992-02-26 US US07/841,687 patent/US5694572A/en not_active Expired - Lifetime
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 |