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
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 |
---|---|---|---|
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 | ||
US364,943 | 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 |
AU634354B2 (en) * | 1990-08-31 | 1993-02-18 | 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 |
DE69734399D1 (de) * | 1996-01-24 | 2006-03-02 | Sun Microsystems Inc | Verfahren und vorrichtung zur stapel-cachespeicherung |
US6038643A (en) * | 1996-01-24 | 2000-03-14 | Sun Microsystems, Inc. | Stack management unit and method for a processor having a stack |
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 |
US6289418B1 (en) | 1997-03-31 | 2001-09-11 | Sun Microsystems, Inc. | Address pipelined stack caching 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 |
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 | 日本電気株式会社 | プリフェッチ制御装置 |
US6058457A (en) * | 1997-06-23 | 2000-05-02 | Sun Microsystems, Inc. | Method for storing method frames in multiple stacks |
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 |
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 |
US6170050B1 (en) | 1998-04-22 | 2001-01-02 | Sun Microsystems, Inc. | Length decoder for variable length data |
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 |
US6230260B1 (en) | 1998-09-01 | 2001-05-08 | International Business Machines Corporation | Circuit arrangement and method of speculative instruction execution utilizing instruction history caching |
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 |
US7020879B1 (en) * | 1998-12-16 | 2006-03-28 | Mips Technologies, Inc. | Interrupt and exception handling for multi-streaming digital processors |
US6389449B1 (en) * | 1998-12-16 | 2002-05-14 | Clearwater Networks, Inc. | Interstream control and communications 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 |
US7529907B2 (en) | 1998-12-16 | 2009-05-05 | Mips Technologies, Inc. | Method and apparatus for improved computer load and store operations |
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 |
AU2001273211A1 (en) | 2000-07-14 | 2002-01-30 | Clearwater Networks, Inc. | Instruction fetch and dispatch in multithreaded system |
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 |
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 |
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 |
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 EP EP90110881A patent/EP0402787B1/en not_active Expired - Lifetime
- 1990-06-08 SG SG1996007658A patent/SG49211A1/en unknown
- 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 |
---|---|
KR910001547A (ko) | 1991-01-31 |
EP0402787B1 (en) | 1996-08-21 |
EP0402787A2 (en) | 1990-12-19 |
AU5681990A (en) | 1990-12-13 |
JPH0529939B2 (ko) | 1993-05-06 |
JPH0363852A (ja) | 1991-03-19 |
SG49211A1 (en) | 1998-05-18 |
US5093777A (en) | 1992-03-03 |
DE69028153T2 (de) | 1997-04-03 |
US5694572A (en) | 1997-12-02 |
AU638716B2 (en) | 1993-07-08 |
EP0402787A3 (en) | 1991-09-04 |
DE69028153D1 (de) | 1996-09-26 |
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 | |
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 | |
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 | |
JPH0844626A (ja) | キャッシュシステムのフラッシュサイクル制御方法 | |
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) | ベクトル処理装置のオペランドキャッシュ | |
JP2864548B2 (ja) | 命令キャッシュ装置 | |
CN115587052A (zh) | 一种缓存性能的处理方法及其相关设备 | |
EP0600703A2 (en) | Information processing apparatus capable of simultaneously storing and fetching data | |
JPH0619957A (ja) | ベクトルデータ処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 19900609 |
|
PG1501 | Laying open of application | ||
A201 | Request for examination | ||
PA0201 | Request for examination |
Patent event code: PA02012R01D Patent event date: 19911207 Comment text: Request for Examination of Application Patent event code: PA02011R01I Patent event date: 19900609 Comment text: Patent Application |
|
N231 | Notification of change of applicant | ||
PN2301 | Change of applicant |
Patent event date: 19940715 Comment text: Notification of Change of Applicant Patent event code: PN23011R01D |
|
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 19950227 Patent event code: PE09021S01D |
|
G160 | Decision to publish patent application | ||
PG1605 | Publication of application before grant of patent |
Comment text: Decision on Publication of Application Patent event code: PG16051S01I Patent event date: 19950904 |
|
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 19951219 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 19960312 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 19960312 End annual number: 3 Start annual number: 1 |
|
PR1001 | Payment of annual fee |
Payment date: 19980903 Start annual number: 4 End annual number: 4 |
|
PR1001 | Payment of annual fee |
Payment date: 19990922 Start annual number: 5 End annual number: 5 |
|
FPAY | Annual fee payment |
Payment date: 20000927 Year of fee payment: 6 |
|
PR1001 | Payment of annual fee |
Payment date: 20000927 Start annual number: 6 End annual number: 6 |
|
LAPS | Lapse due to unpaid annual fee | ||
PC1903 | Unpaid annual fee |