KR100262906B1 - 데이터 선인출 방법 및 시스템 - Google Patents
데이터 선인출 방법 및 시스템 Download PDFInfo
- Publication number
- KR100262906B1 KR100262906B1 KR1019960038616A KR19960038616A KR100262906B1 KR 100262906 B1 KR100262906 B1 KR 100262906B1 KR 1019960038616 A KR1019960038616 A KR 1019960038616A KR 19960038616 A KR19960038616 A KR 19960038616A KR 100262906 B1 KR100262906 B1 KR 100262906B1
- Authority
- KR
- South Korea
- Prior art keywords
- cache
- line
- cache line
- address
- stream
- Prior art date
- Legal status (The legal status 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 status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 24
- 239000000872 buffer Substances 0.000 claims abstract description 96
- 238000012545 processing Methods 0.000 claims abstract description 24
- 230000015654 memory Effects 0.000 claims description 100
- 230000000750 progressive effect Effects 0.000 abstract description 5
- 230000008569 process Effects 0.000 description 10
- 230000008901 benefit Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 230000004807 localization Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- 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
-
- 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
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
- G06F2212/6022—Using a prefetch buffer or dedicated prefetch cache
-
- 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)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
Claims (13)
- 프로세서(a processor)와, 버스(a bus)를 통해 상기 프로세서에 결합된 시스템 메모리(a system memory)와, 상기 프로세서에 결합된 제1캐시(a first cache)와, 상기 프로세서에 결합된 제2캐시(a second cache)와, 상기 시스템 메모리로부터 선인출된 하나 이상의 데이터 라인을 저장하기 위한 스트림 버퍼 회로(a stream buffer circuit)와, 선인출 조건(a prefetch condition)을 표시하기 위한 스트림 필터 회로(a stream filter circuit)와, 상기 스트림 필터 회로에 결합되어, 상기 시스템 메모리로부터 상기 제1및 제2캐시와 상기 스트리,a 버퍼 회로로 데이터의 인출 및 선인출을 선택적으로 제어하기 위한 제어 회로를 포함하며, 상기 제어 회로는, 상기 스프로세서로부터 제1캐시 라인(a first cache line)에 대한 요구를 수신하기 위한 회로와, 상기 제1캐시 라인이 상기 제1캐시내에 있는지를 판단하기 위한 회로와, 상기 제1캐시 라인이 상기 제1캐시내에 없고 상기 제1캐시 라인이 상기 제2캐시내에 있으면, 상기 제2캐시로부터 상기 제1캐시로 상기 제1캐시 라인을 인출하기 위한 회로와, 상기 제1캐시 라인이 상기 제2캐시내에 없으면, 상기 시스템 메모리로부터 상기 제1캐시에 상기 제1캐시 라인을 인출하기 위한 회로와, 제1증가된 어드레스(a first incremented address)를 발생하기 위해 상기 제1캐시 라인의 어드레스를 증가시키기 위한 회로와, 상기 스트림 필터내에 상기 증가된 어드레스를 저장하기 위한 회로와, 상기 증가된 어드레스를 갖는 제2캐시 라인(a second cache line)에 대해 상기 프로세서로부터 요구(request)를 수신하기 위한 회로와, 상기 제2캐시 라인이 상기 제1캐시내에 있는지를 판단하기 위한 회로와, 상기 증가된 어드레스가 상기 스트림 필터내에 있는지를 판단하기 위한 회로와, 제2증가된 어드레스(second incremented address)를 발생하기 위해 상기 증가된 어드레스를 증가시키기 위한 회로와, 상기 제2증가된 어드레스로 시작하는 스트림(a stream)을 할당하기 위한 회로와, 상기 제2증가된 어드레스를 갖는 제3캐시 라인이 상기 제1캐시내에 있는지를 판단하기 위한 회로와, 상기 제2캐시 라인이 상기 제2캐시내에 있고, 상기 제2캐시 라인이 상기 제1캐시내에 없으면, 상기 제2캐시로부터 상기 제1캐시로 상기 제2캐시 라인을 인출하기 위한 회로와, 상기 제2캐시 라인이 상기 제2캐시내에 없으면, 상기 시스템 메모리로부터 상기 제1캐시로 상기 제2캐시 라인을 인출하기 위한 회로와, 상기 제3캐시 라인이 상기 제2캐시내에 있고, 상기 제3캐시 라인이 상기 제1캐시내에 없으면, 상기 제2캐시로부터 상기 제1캐시에 상기 제3캐시 라인을 선인출하기 위한 회로와, 상기 제3캐시 라인이 상기 제2캐시내에 없으면, 상기 시스템 메모리로부터 상기 제1캐시에 상기 제3캐시 라인을 선인출하기 위한 회로를 포함하는 데이터 처리 시스템.
- 제1항에 있어서, 상기 제어 회로는 제3증가된 어드레스를 발생하기 위해 상기 제2증가된 어드레스를 증가시키기 위한 회로와, 상기 제3증가된 어드레스를 갖는 제4캐시 라인이 상기 제2캐시내에 있는지를 판단하기 위한 회로와, 상기 제4캐시 라인이 상기 제2캐시내에 없으면 상기 시스템 메모리로부터 상기 스트림 버퍼 회로로 상기 제4캐시 라인을 선인출하기 위한 회로와, 상기 제3캐시 라인에 대해 상기 프로세서로부터 요구를 수신하기 위한 회로와, 상기 제1캐시로부터 상기 프로세서로 상기 제3캐시 라인을 전송하기 위한 회로와, 상기 제4캐시 라인이 상기 제1캐시내에 있는지를 판단하기 위한 회로와, 상기 제4캐시 라인이 상기 제2캐시내에 있으면 상기 제2캐시로부터 상기 제1캐시로 상기 제4캐시 라인을 인출하기 위한 회로와, 상기 제4캐시 라인이 상기 제2캐시내에 없으면, 상기 스트림 버퍼 회로로부터 상기 제1캐시로 상기 제4캐시 라인을 인출하기 위한 회로와, 제4증가된 어드레스를 발생하기 위해 상기 제3증가된 어드레스를 증가시키기 위한 회로와, 상기 제4증가된 어드레스를 갖는 제5캐시 라인이 상기 제2캐시내에 있는지를 판단하기 위한 회로와, 상기 제5캐시 라인이 상기 제2캐시내에 있으면, 상기 제2캐시로부터 상기 스트림 버퍼 회로로 상기 제5캐시 라인을 인출하기 위한 회로와, 상기 제5캐시 라인이 상기 제2캐시내에 없으면, 상기 시스템 메모리로부터 상기 스트림 버퍼 회로로 상기 제5캐시 라인을 선인출하기 위한 회로를 더 포함하는 데이터 처리 시스템.
- 제1항에 있어서, 상기 스트림 버퍼 회로내에 저장된 하나 이상의 캐시 라인이 상기 제1캐시내에 위치하는 데이터 처리 시스템.
- 제1항에 있어서, 상기 스트림 버퍼 회로내에 저장된 하나 이상의 캐시 라인이 상기 프로세서를 포함하는 칩(a chip)내에 위치하는 데이터 처리 시스템.
- 제1항에 있어서, 상기 스트림 버퍼 회로내에 저장된 하나 이상의 캐시 라인이 상기 프로세서와 상기 시스템 메모리에 결합된 노드 제어기(a node controller)내에 위치하는 데이터 처리 시스템.
- 제1항에 있어서, 상기 제1캐시는 상기 프로세서와 동일한 칩상에 위치하는 주 캐시(primary cache)고, 상기 제2캐시는 상기 칩의 외부에 위치하는 보조 캐시(secondary cache)인 데이터 처리 시스템.
- 제1항에 있어서, 상기 스트림 필터 회로는 다수의 스트림을 추적할 수 있으며, 상기 스트림 필터 회로내 각각의 엔트리는 상기 다수의 스트림중 하나를 추적하고, 상기 각각의 엔트리는 상기 각각의 엔트리에 의해 추적된 상기 스트림의 유효성을 표시하는 제1표시기(indicator) 및 상기 각각의 엔트리에 대한 어드레스의 증가 방향을 표시하는 제2표시기를 포함하는 데이터 처리 시스템.
- 제1항에 있어서, 상기 스트림 버퍼 회로는 각각의 엔트리에 대해, 1)페이지 어드레스(a page address), 2)라인 어드레스(a line address), 및 3)유효성 표시기(a validity indicator)를 포함하는 데이터 처리 시스템.
- 제1항에 있어서, 상기 스트림 필커 회로내 엔트리는 실 어드레스를 갖는 반면에, 상기 스트림 버퍼 회로내 엔트리는 유효 어드레스를 갖는 데이터 처리 시스템.
- 제1항에 있어서, 상기 프로세서, 상기 제어 회로, 상기 스트림 필터 회로, 상기 제1캐시, 및 상기 스트림 버퍼 회로의 일부가 동일한 칩상에 위치하는 데이터 처리 시스템.
- 제1항에 있어서, 제2프로세서와, 상기 제2프로세서에 결합된 상기 시스템 메모리와, 상기 제2프로세서에 결합된 제3캐시와, 상기 제2프로세서에 결합된 제4캐시와, 상기 제2프로세서에 결합되어, 상기 시스템 메모리로부터 선인출된 하나 이상의 데이터의 라인을 저장하기 위한 제2스트림 버퍼 회로와, 상기 제2프로세서에 결합되어, 선인출 조건을 표시하기 위한 제2스트림 필터 회로와, 상기 제2스트림 필터 회로에 결합되어, 상기 시스템 메모리로부터 상기 제3및 제4캐시와 상기 제2스트림 버퍼 회로로 데이터의 인출 및 선인출을 선택적으로 제어하기 위한 제2제어 회로를 더 포함하는 데이터 처리 시스템.
- 데이터 처리 시스템에서, 프로세서로부터 제1캐시 라인에 대한 요구를 수신하는 단계와, 상기 제1캐시 라인이 제1캐시내에 있는지를 판단하는 단계와, 상기 제1캐시 라인이 상기 제1캐시내에 없고, 상기 제1캐시 라인이 제2캐시내에 있으면, 상기 제2캐시로부터 상기 제1캐시로 상기 제1캐시 라인을 인출하는 단계와, 상기 제1캐시 라인이 상기 제2캐시내에 없으면, 시스템 메모리로부터 상기 제1캐시로 상기 제1캐시 라인을 인출하는 단계와, 제1증가된 어드레스를 발생하기 위해 상기 제1캐시 라인의 어드레스를 증가시키는 단계와, 스트림 필터내에 상기 증가된 어드레스를 저장하는 단계와, 상기 증가된 어드레스를 갖는 제2캐시 라인에 대해 상기 프로세서로부터 요구를 수신하는 단계와, 상기 제2캐시 라인이 상기 제1캐시내에 있는지를 판단하는 단계와, 상기 증가된 어드레스가 상기 스트림 필터내에 있는지를 판단하는 단계와, 제2증가된 어드레스를 발생하기 위해 상기 증가된 어드레스를 증가시키는 단계와, 상기 제2증가된 어드레스로 시작하는 스트림(a stream)을 할당하는 단계와, 상기 제2증가된 어드레스를 갖는 제3캐시 라인이 상기 제1캐시내에 있는지를 판단하는 단계와, 상기 제2캐시 라인이 상기 제2캐시내에 있고, 상기 제2캐시 라인이 상기 제1캐시내에 없으면, 상기 제2캐시로부터 상기 제1캐시로 상기 제2캐시라인을 인출하는 단계와, 상기 제2캐시 라인이 상기 제2캐시내에 없으면, 상기 시스템 메모리로부터 상기 제1캐시로 상기 제2캐시 라인을 인출하는 단계와, 상기 제3캐시 라인이 상기 제2캐시내에 있고 상기 제3캐시 라인이 상기 제1캐시내에 없으면, 상기 제2캐시로부터 상기 제1캐시로 상기 제3캐시라인을 선인출하는 단계와, 상기 제3캐시 라인이 상기 제2캐시내에 없으면, 상기 시스템 메모리로부터 상기 제1캐시로 상기 제3캐시 라인을 선인출하는 단계를 포함하는 데이터 처리 방법.
- 제12항에 있어서, 제3증가된 어드레스를 발생하기 위해 상기 제2증가된 어드레스를 증가시키는 단계와, 상기 제3증가된 어드레스를 갖는 제4캐시 라인이 상기 제2캐시내에 있는지를 판단하는 단계와, 상기 제4캐시 라인이 상기 제2캐시내에 없으면, 상기 시스템 메모리로부터 스트림 버퍼 회로로 상기 제4캐시 라인을 선인출하는 단계와, 상기 프로세서로부터 상기 제3캐시 라인에 대한 요구를 수신하는 단계와, 상기 제1캐시로부터 상기 프로세서로 상기 제3캐시 라인을 전송하는 단계와, 상기 제4캐시 라인이 상기 제1캐시내에 있는지를 판단하는 단계와, 상기 제4캐시 라인이 상기 제2캐시내에 있으면 상기 제2캐시로부터 상기 제1캐시로 상기 제4캐시 라인을 인출하는 단계와, 상기 제4캐시 라인이 상기 제2캐시내에 없으면 상기 스트림 버퍼 회로로부터 상기 제1캐시로 상기 제4캐시 라인을 인출하는 단계와, 제4증가된 어드레스를 발생하기 위해 상기 제3증가된 어드레스를 증가시키는 단계와, 상기 제4증가된 어드레스를 갖는 제5캐시 라인이 상기 제2캐시내에 있는지를 판단하는 단계와, 상기 제5캐시 라인이 상기 제2캐시내에 있으면, 상기 제2캐시로부터 상기 스트림 버퍼 회로로 상기 제5캐시 라인을 인출하는 단계와, 상기 제5캐시 라인이 상기 제2캐시내에 없으면, 상기 시스템 메모리로부터 상기 스트림 버퍼 회로로 상기 제5캐시 라인을 선인출하는 단계를 더 포함하는 데이터 처리 방법.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US8/554,180 | 1995-11-06 | ||
US08/554,180 US6085291A (en) | 1995-11-06 | 1995-11-06 | System and method for selectively controlling fetching and prefetching of data to a processor |
US08/554,180 | 1995-11-06 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR970029103A KR970029103A (ko) | 1997-06-26 |
KR100262906B1 true KR100262906B1 (ko) | 2000-08-01 |
Family
ID=24212343
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019960038616A Expired - Fee Related KR100262906B1 (ko) | 1995-11-06 | 1996-09-06 | 데이터 선인출 방법 및 시스템 |
Country Status (4)
Country | Link |
---|---|
US (1) | US6085291A (ko) |
JP (1) | JPH09146835A (ko) |
KR (1) | KR100262906B1 (ko) |
TW (1) | TW371331B (ko) |
Families Citing this family (47)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6195735B1 (en) * | 1996-12-31 | 2001-02-27 | Texas Instruments Incorporated | Prefetch circuity for prefetching variable size data |
US6243822B1 (en) * | 1997-12-24 | 2001-06-05 | Elbrus International Limited | Method and system for asynchronous array loading |
JP3071752B2 (ja) | 1998-03-24 | 2000-07-31 | 三菱電機株式会社 | ブリッジ方法、バスブリッジ及びマルチプロセッサシステム |
US6658552B1 (en) * | 1998-10-23 | 2003-12-02 | Micron Technology, Inc. | Processing system with separate general purpose execution unit and data string manipulation unit |
US6226721B1 (en) * | 1998-12-09 | 2001-05-01 | Advanced Micro Devices, Inc. | Method and system for generating and utilizing speculative memory access requests in data processing systems |
US6546439B1 (en) | 1998-12-09 | 2003-04-08 | Advanced Micro Devices, Inc. | Method and system for improved data access |
US6219769B1 (en) | 1998-12-09 | 2001-04-17 | Advanced Micro Devices, Inc. | Method and system for origin-sensitive memory control and access in data processing systems |
US6260123B1 (en) | 1998-12-09 | 2001-07-10 | Advanced Micro Devices, Inc. | Method and system for memory control and access in data processing systems |
US6381683B1 (en) | 1998-12-09 | 2002-04-30 | Advanced Micro Devices, Inc. | Method and system for destination-sensitive memory control and access in data processing systems |
US6510497B1 (en) | 1998-12-09 | 2003-01-21 | Advanced Micro Devices, Inc. | Method and system for page-state sensitive memory control and access in data processing systems |
JP3757117B2 (ja) | 1998-12-18 | 2006-03-22 | 富士通株式会社 | キャッシュ装置及び制御方法 |
US6223257B1 (en) * | 1999-05-12 | 2001-04-24 | Rise Technology Company | Instruction cache address generation technique having reduced delays in fetching missed data |
US6487637B1 (en) | 1999-07-30 | 2002-11-26 | International Business Machines Corporation | Method and system for clearing dependent speculations from a request queue |
US6418516B1 (en) * | 1999-07-30 | 2002-07-09 | International Business Machines Corporation | Method and system for managing speculative requests in a multi-level memory hierarchy |
US6473833B1 (en) | 1999-07-30 | 2002-10-29 | International Business Machines Corporation | Integrated cache and directory structure for multi-level caches |
US6594730B1 (en) * | 1999-08-03 | 2003-07-15 | Intel Corporation | Prefetch system for memory controller |
US6317811B1 (en) * | 1999-08-26 | 2001-11-13 | International Business Machines Corporation | Method and system for reissuing load requests in a multi-stream prefetch design |
US6446167B1 (en) * | 1999-11-08 | 2002-09-03 | International Business Machines Corporation | Cache prefetching of L2 and L3 |
US6467030B1 (en) * | 1999-11-09 | 2002-10-15 | International Business Machines Corporation | Method and apparatus for forwarding data in a hierarchial cache memory architecture |
US6567894B1 (en) * | 1999-12-08 | 2003-05-20 | International Business Machines Corporation | Method and apparatus to prefetch sequential pages in a multi-stream environment |
JP2001344153A (ja) * | 2000-05-30 | 2001-12-14 | Nec Corp | マルチプロセッサシステムのキャッシュメモリ制御装置 |
US6901500B1 (en) * | 2000-07-28 | 2005-05-31 | Silicon Graphics, Inc. | Method and apparatus for prefetching information and storing the information in a stream buffer |
US6523093B1 (en) * | 2000-09-29 | 2003-02-18 | Intel Corporation | Prefetch buffer allocation and filtering system |
US6665776B2 (en) | 2001-01-04 | 2003-12-16 | Hewlett-Packard Development Company L.P. | Apparatus and method for speculative prefetching after data cache misses |
JP4341186B2 (ja) | 2001-01-22 | 2009-10-07 | 株式会社日立製作所 | メモリシステム |
US6795876B1 (en) * | 2001-03-27 | 2004-09-21 | Intel Corporation | Adaptive read pre-fetch |
JP3969009B2 (ja) * | 2001-03-29 | 2007-08-29 | 株式会社日立製作所 | ハードウェアプリフェッチシステム |
US6954840B2 (en) | 2001-11-30 | 2005-10-11 | Intel Corporation | Method and apparatus for content-aware prefetching |
US6675280B2 (en) | 2001-11-30 | 2004-01-06 | Intel Corporation | Method and apparatus for identifying candidate virtual addresses in a content-aware prefetcher |
US7093077B2 (en) | 2001-11-30 | 2006-08-15 | Intel Corporation | Method and apparatus for next-line prefetching from a predicted memory address |
US7260704B2 (en) | 2001-11-30 | 2007-08-21 | Intel Corporation | Method and apparatus for reinforcing a prefetch chain |
US6871246B2 (en) * | 2003-05-07 | 2005-03-22 | Freescale Semiconductor, Inc. | Prefetch control in a data processing system |
US7139878B2 (en) * | 2003-06-20 | 2006-11-21 | Freescale Semiconductor, Inc. | Method and apparatus for dynamic prefetch buffer configuration and replacement |
US7200719B2 (en) * | 2003-07-31 | 2007-04-03 | Freescale Semiconductor, Inc. | Prefetch control in a data processing system |
US20050039016A1 (en) * | 2003-08-12 | 2005-02-17 | Selim Aissi | Method for using trusted, hardware-based identity credentials in runtime package signature to secure mobile communications and high-value transaction execution |
KR100546403B1 (ko) * | 2004-02-19 | 2006-01-26 | 삼성전자주식회사 | 감소된 메모리 버스 점유 시간을 가지는 시리얼 플레쉬메모리 컨트롤러 |
JP4532931B2 (ja) * | 2004-02-25 | 2010-08-25 | 株式会社日立製作所 | プロセッサ、および、プリフェッチ制御方法 |
US7263579B2 (en) * | 2004-03-24 | 2007-08-28 | Intel Corporation | Integrated circuit capable of pre-fetching data |
US20060143401A1 (en) * | 2004-12-27 | 2006-06-29 | Jacob Doweck | Method and apparatus for prefetching based on cache fill buffer hits |
US7380066B2 (en) * | 2005-02-10 | 2008-05-27 | International Business Machines Corporation | Store stream prefetching in a microprocessor |
US7350029B2 (en) * | 2005-02-10 | 2008-03-25 | International Business Machines Corporation | Data stream prefetching in a microprocessor |
JP4378335B2 (ja) | 2005-09-09 | 2009-12-02 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ディスクへのトランザクション・データ書き込みの方式を動的に切り替える装置、切り替える方法、及び切り替えるプログラム |
US20080098176A1 (en) * | 2006-10-18 | 2008-04-24 | Krishna M V V Anil | Method and Apparatus for Implementing Memory Accesses Using Open Page Mode for Data Prefetching |
US7917701B2 (en) * | 2007-03-12 | 2011-03-29 | Arm Limited | Cache circuitry, data processing apparatus and method for prefetching data by selecting one of a first prefetch linefill operation and a second prefetch linefill operation |
US8683129B2 (en) * | 2010-10-21 | 2014-03-25 | Oracle International Corporation | Using speculative cache requests to reduce cache miss delays |
US20130179642A1 (en) * | 2012-01-10 | 2013-07-11 | Qualcomm Incorporated | Non-Allocating Memory Access with Physical Address |
US9047198B2 (en) | 2012-11-29 | 2015-06-02 | Apple Inc. | Prefetching across page boundaries in hierarchically cached processors |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5170476A (en) * | 1990-01-22 | 1992-12-08 | Motorola, Inc. | Data processor having a deferred cache load |
US5261066A (en) * | 1990-03-27 | 1993-11-09 | Digital Equipment Corporation | Data processing system and method with small fully-associative cache and prefetch buffers |
US5317718A (en) * | 1990-03-27 | 1994-05-31 | Digital Equipment Corporation | Data processing system and method with prefetch buffers |
US5784711A (en) * | 1990-05-18 | 1998-07-21 | Philips Electronics North America Corporation | Data cache prefetching under control of instruction cache |
US5357618A (en) * | 1991-04-15 | 1994-10-18 | International Business Machines Corporation | Cache prefetch and bypass using stride registers |
JPH07506921A (ja) * | 1992-03-06 | 1995-07-27 | ランバス・インコーポレーテッド | コンピュータ・システムにおける主記憶装置のアクセス時間とキャッシュ・メモリのサイズを最小限にするためのキャッシュへの先取り |
US5371870A (en) * | 1992-04-24 | 1994-12-06 | Digital Equipment Corporation | Stream buffer memory having a multiple-entry address history buffer for detecting sequential reads to initiate prefetching |
US5361391A (en) * | 1992-06-22 | 1994-11-01 | Sun Microsystems, Inc. | Intelligent cache memory and prefetch method based on CPU data fetching characteristics |
US5388247A (en) * | 1993-05-14 | 1995-02-07 | Digital Equipment Corporation | History buffer control to reduce unnecessary allocations in a memory stream buffer |
US5537573A (en) * | 1993-05-28 | 1996-07-16 | Rambus, Inc. | Cache system and method for prefetching of data |
CA2128828C (en) * | 1993-08-24 | 2001-01-02 | David Michael Silver | Multilingual standard resources |
US5490113A (en) * | 1994-06-15 | 1996-02-06 | Digital Equipment Corporation | Memory stream buffer |
US5553265A (en) * | 1994-10-21 | 1996-09-03 | International Business Machines Corporation | Methods and system for merging data during cache checking and write-back cycles for memory reads and writes |
US5761706A (en) * | 1994-11-01 | 1998-06-02 | Cray Research, Inc. | Stream buffers for high-performance computer memory system |
US5664147A (en) * | 1995-08-24 | 1997-09-02 | International Business Machines Corp. | System and method that progressively prefetches additional lines to a distributed stream buffer as the sequentiality of the memory accessing is demonstrated |
-
1995
- 1995-11-06 US US08/554,180 patent/US6085291A/en not_active Expired - Fee Related
-
1996
- 1996-05-24 TW TW085106154A patent/TW371331B/zh active
- 1996-08-27 JP JP8225449A patent/JPH09146835A/ja active Pending
- 1996-09-06 KR KR1019960038616A patent/KR100262906B1/ko not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH09146835A (ja) | 1997-06-06 |
KR970029103A (ko) | 1997-06-26 |
US6085291A (en) | 2000-07-04 |
TW371331B (en) | 1999-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100262906B1 (ko) | 데이터 선인출 방법 및 시스템 | |
KR100240911B1 (ko) | 데이터 프리페치 방법, 캐시 라인 프리페치 방법 및 시스템(progressive data cache) | |
KR100240912B1 (ko) | 데이터 프리페치 장치 및 시스템, 캐시 라인 프리페치 방법 | |
US5740399A (en) | Modified L1/L2 cache inclusion for aggressive prefetch | |
US5758119A (en) | System and method for indicating that a processor has prefetched data into a primary cache and not into a secondary cache | |
US5751994A (en) | System and method for enhancing computer operation by prefetching data elements on a common bus without delaying bus access by multiple bus masters | |
US8725987B2 (en) | Cache memory system including selectively accessible pre-fetch memory for pre-fetch of variable size data | |
US6105111A (en) | Method and apparatus for providing a cache management technique | |
USRE45078E1 (en) | Highly efficient design of storage array utilizing multiple pointers to indicate valid and invalid lines for use in first and second cache spaces and memory subsystems | |
US5210845A (en) | Controller for two-way set associative cache | |
US6725337B1 (en) | Method and system for speculatively invalidating lines in a cache | |
EP0604139B1 (en) | Computer system including a prefetch cache | |
US6321296B1 (en) | SDRAM L3 cache using speculative loads with command aborts to lower latency | |
US12332790B2 (en) | Multi-level cache security | |
JP2000242558A (ja) | キャッシュシステム及びその操作方法 | |
KR100234647B1 (ko) | 인스트럭션 프리페치 방법 및 데이터 처리 시스템 | |
EP0470739B1 (en) | Method for managing a cache memory system | |
US5717894A (en) | Method and apparatus for reducing write cycle wait states in a non-zero wait state cache system | |
US5287512A (en) | Computer memory system and method for cleaning data elements | |
US6976130B2 (en) | Cache controller unit architecture and applied method | |
US5835945A (en) | Memory system with write buffer, prefetch and internal caches | |
JP3219196B2 (ja) | キャッシュデータアクセス方法及び装置 | |
GB2454811A (en) | Cache memory which pre-fetches data when an address register is written | |
GB2454808A (en) | Cache which prefetches data at a second address when an access matches a first address |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 19960906 |
|
A201 | Request for examination | ||
AMND | Amendment | ||
PA0201 | Request for examination |
Patent event code: PA02012R01D Patent event date: 19961126 Comment text: Request for Examination of Application Patent event code: PA02011R01I Patent event date: 19960906 Comment text: Patent Application |
|
PG1501 | Laying open of application | ||
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 19990518 Patent event code: PE09021S01D |
|
AMND | Amendment | ||
E601 | Decision to refuse application | ||
PE0601 | Decision on rejection of patent |
Patent event date: 19990928 Comment text: Decision to Refuse Application Patent event code: PE06012S01D Patent event date: 19990518 Comment text: Notification of reason for refusal Patent event code: PE06011S01I |
|
J201 | Request for trial against refusal decision | ||
PJ0201 | Trial against decision of rejection |
Patent event date: 19991222 Comment text: Request for Trial against Decision on Refusal Patent event code: PJ02012R01D Patent event date: 19990928 Comment text: Decision to Refuse Application Patent event code: PJ02011S01I Appeal kind category: Appeal against decision to decline refusal Decision date: 20000308 Appeal identifier: 1999101004604 Request date: 19991222 |
|
AMND | Amendment | ||
PB0901 | Examination by re-examination before a trial |
Comment text: Amendment to Specification, etc. Patent event date: 20000113 Patent event code: PB09011R02I Comment text: Request for Trial against Decision on Refusal Patent event date: 19991222 Patent event code: PB09011R01I Comment text: Amendment to Specification, etc. Patent event date: 19990816 Patent event code: PB09011R02I Comment text: Amendment to Specification, etc. Patent event date: 19961126 Patent event code: PB09011R02I |
|
B701 | Decision to grant | ||
PB0701 | Decision of registration after re-examination before a trial |
Patent event date: 20000308 Comment text: Decision to Grant Registration Patent event code: PB07012S01D Patent event date: 20000211 Comment text: Transfer of Trial File for Re-examination before a Trial Patent event code: PB07011S01I |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20000509 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20000510 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
LAPS | Lapse due to unpaid annual fee | ||
PC1903 | Unpaid annual fee |
Termination category: Default of registration fee Termination date: 20040210 |