KR970029103A - 데이터 처리 시스템 및 데이터 처리 방법 - Google Patents

데이터 처리 시스템 및 데이터 처리 방법 Download PDF

Info

Publication number
KR970029103A
KR970029103A KR1019960038616A KR19960038616A KR970029103A KR 970029103 A KR970029103 A KR 970029103A KR 1019960038616 A KR1019960038616 A KR 1019960038616A KR 19960038616 A KR19960038616 A KR 19960038616A KR 970029103 A KR970029103 A KR 970029103A
Authority
KR
South Korea
Prior art keywords
cache
cache line
line
circuitry
address
Prior art date
Application number
KR1019960038616A
Other languages
English (en)
Other versions
KR100262906B1 (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 KR970029103A publication Critical patent/KR970029103A/ko
Application granted granted Critical
Publication of KR100262906B1 publication Critical patent/KR100262906B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/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
    • 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
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/6022Using a prefetch buffer or dedicated prefetch cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/6026Prefetching 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

주 캐시 및 보조 캐시와 스트림 필터 및 버퍼를 구현하는 데이타 처리 시스템에서, 캐시 라인의 프리페칭은 추론적인 방법으로 수행된다. 제1모드에서, 데이터가 프리페치되지 않을 수도 있다. 제2모드에서, 2개의 캐시 라인이 프리페치되는데, 하나의 라인은 L1 캐시내로 프리페치되고, 나머지 한 라인은 스트림 버퍼내로 프리페치된다. 제3모드에서, 2개를 초과하는 캐시 라인이 한번에 프리페치된다. 프리페칭은 캐시 적중실패 혹은 적중시 수행될 수도 있다. 연속적인 캐시 라인상의 캐시 적중실패는 캐시 라인의 스트림을 스트림 버퍼에 할당할 수도 있다.

Description

데이터 처리 시스템 및 데이터 처리 방법
본 내용은 요부공개 건이므로 전문내용을 수록하지 않았음
제1도는 본 발명에 따라 구성할 수 있는 멀티프로세서 시스템을 도시하는 도면,
제2도는 본 발명에 따라 구성할 수 있는 데이터 처리 시스템을 도시하는 도면,
제3도는 스트림 필터 및 스트림 버퍼를 도시하는 도면.

Claims (20)

  1. 프로세서(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 data processing system).
  2. 제1항에 있어서, 상기 제어 회로는, 상기 프로세서로부터 제1캐시 라인(a first cache line)에 대한 요구를 수신하기 위한 회로와; 상기 제1캐시 라인이 상기 제1캐시내에 있는지를 판단하기 위한 회로와; 상기 제1캐시 라인이 상기 제1캐시내에 없고 상기 제1캐시 라인이 상기 제2캐시내에 있으면, 상기 제2캐시로부터 상기 제1캐시로 상기 제1캐시 라인을 인출하기 위한 회로와; 상기 제1캐시 라인이 상기 제2캐시내에 없으면, 상기 시스템 메모리로부터 상기 제1캐시로 상기 제1캐시 라인을 인출하기 위한 회로와; 제1증가된 어드레스(a first incremented address)를 발생하기 위해 상기 제1캐시 라인의 어드레스를 증가시키기 위한 회로와; 상기 스트림 필터내에 상기 증가된 어드레스를 저장하기 위한 회로를 더 포함하는 데이터 처리 시스템.
  3. 제2항에 있어서, 상기 제어 회로는, 상기 증가된 어드레스를 갖는 제2캐시 라인(a second cache line)에 대해 상기 프로세서로부터 요구(a request)를 수신하기 위한 회로와; 상기 제2캐시 라인이 상기 제1캐시내에 있는지를 판단하기 위한 회로와; 상기 증가된 어드레스가 상기 스트림 필터내에 있는지를 판단하기 위한 회로와; 제2증가된 어드레스(a second incremented address)를 발생하기 위해 상기 증가된 어드레스를 증가시키기 위한 회로와; 상기 제2증가된 어드레스로 시작하는 스트림을 할당하기 위한 회로와; 상기 제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캐시 라인을 프리페칭하기 위한 회로를 더 포함하는 데이터 처리 시스템.
  4. 제3항에 있어서, 상기 제어 회로는, 제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캐시 라인을 프리페치하기 위한 회로를 더 포함하는 데이터 처리 시스템.
  5. 제1항에 있어서, 상기 스트림 버퍼 회로내에 저장된 하나 이상의 캐시 라인이 상기 제1캐시내에 위치되는 데이터 처리 시스템.
  6. 제1항에 있어서, 상기 스트림 버퍼 회로내에 저장된 하나 이상의 캐시 라인이 상기 프로세서를 포함하는 칩(a chip)내에 위치되는 데이터 처리 시스템.
  7. 제1항에 있어서, 상기 스트림 버퍼 회로내에 저장된 하나 이상의 캐시 라인이 상기 프로세서와 상기 시스템 메모리에 결합된 노드 제어기(a node controller)내에 위치되는 데이터 처리 시스템.
  8. 제1항에 있어서, 상기 제1캐시는 상기 프로세서와 동일한 칩상에 위치되는 주 캐시(primary cache)고, 상기 제2캐시는 상기 칩의 외부에 위치되는 보조 캐시(secondary cache)인 데이터 처리 시스템.
  9. 제1항에 있어서, 상기 스트림 필터 회로는 다수의 스트림을 추적할 수 있으며, 상기 스트림 필터 회로내 각각의 엔트리는 상기 다수의 스트림중 하나를 추적하고, 상기 각각의 엔트리에 의해 추적된 상기 스트림의 유효성을 표시하는 제1표시기(indicator) 및 상기 각각의 엔트리에 대한 어드레스의 증가 방향을 표시하는 제2표시를 포함하는 데이터 처리 시스템.
  10. 제1항에 있어서, 상기 스트림 버퍼 회로는 각각의 엔트리에 대해, 1) 페이지 어드레스(a page address), 2) 라인 어드레스(a line address), 및 3) 유효성 표시기(a validity indicator)를 포함하는 데이터 처리 시스템.
  11. 제1항에 있어서, 상기 스트림 필터 회로내 엔트리는 실제 어드레스를 갖는 반면에, 상기 스트림 버퍼 회로내 엔트리는 유효 어드레스를 갖는 데이터 처리 시스템.
  12. 제1항에 있어서, 상기 프로세서, 상기 제어 회로, 상기 스트림 필터 회로, 상기 제1캐시, 및 상기 스트림 버퍼 회로의 일부가 동일한 칩상에 위치되는 데이터 처리 시스템.
  13. 제1항에 있어서, 제2프로세서와; 상기 제2프로세서에 결합된 상기 시스템 메모리와; 상기 제2프로세서에 결합된 제3캐시와; 상기 제2프로세서에 결합된 제4캐시와; 상기 제2프로세서에 결합되어, 상기 시스템 메모리로부터 프리페치된 하나 이상의 데이터를 라인을 저장하기 위한 제2스트림 버퍼 회로와; 상기 제2프로세서에 결합되어, 프리페치 조건을 표시하기 위한 제2스트림 필터 회로와; 상기 제2스트림 필터 회로에 결합되어, 상기 시스템 메모리로부터 상기 제3 및 제4캐시와 상기 제2스트림 버퍼 회로로 데이터의 인출 및 프리페칭을 선택적으로 제어하기 위한 제2제어 회로를 더 포함하는 데이터 처리 시스템.
  14. 데이터 처리 시스템에서, 프로세서로부터 제1캐시 라인에 대한 요구를 수신하는 단계와; 상기 제1캐시 라인이 제1캐시내에 있는지를 판단하는 단계와; 상기 제1캐시 라인이 상기 제1캐시내에 없고, 상기 제1캐시 라인이 상기 제2캐시내에 있으면, 제2캐시로부터 상기 제1캐시로 상기 제1캐시 라인을 인출하는 단계와; 상기 제1캐시 라인이 상기 제2캐시내에 없으면, 시스템 메모리로부터 상기 제1캐시로 상기 제1캐시 라인을 인출하는 단계와; 제1증가된 어드레스를 발생하기 위해 상기 제1캐시 라인의 어드레스를 증가시키는 단계와; 스트림 필터내에 상기 증가된 어드레스를 저장하는 단계를 포함하는 데이터 처리 방법.
  15. 제14항에 있어서, 상기 증가된 어드레스를 갖는 제2캐시 라인에 대해 상기 프로세서로부터 요구를 수신하는 단계와; 상기 제2캐시 라인이 상기 제1캐시내에 있는지를 판단하는 단계와; 상기 증가된 어드레스가 상기 스트림 필터내에 있는지를 판단하는 단계와; 제2증가괸 어드레스를 발생하기 위해 상기 증가된 어드레스를 증가시키는 단계와; 상기 제2증가된 어드레스로 시작하는 스트림을 할당하는 단계와; 상기 제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캐시 라인을 프리페칭하는 단계를 더 포함하는 데이터 처리 방법.
  16. 제15항에 있어서, 제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캐시 라인을 프리페칭하는 단계를 더 포함하는 데이터 처리 방법.
  17. 제16항에 있어서, 상기 스트림 버퍼 회로내에 저장된 하나 이상의 캐시 라인이 상기 제1캐시내에 위치되는 데이터 처리 방법.
  18. 제17항에 있어서, 상기 제1캐시는 상기 프로세서와 동일한 칩상에 위치되는 주 캐시이고, 상기 제2캐시는 상기 칩의 외부에 위치되는 보조 캐시인 데이터 처리 방법.
  19. 제18항에 있어서, 상기 스트림 필터 회로는 다수의 스트림을 추적할 수 있으며, 상기 스트림 필터 회로내 각각의 엔트리는 상기 다수의 스트림중 하나를 추적하고, 상기 각각의 엔트리는 상기 각각의 엔트리에 의해 추적된 상기 스트림의 유효성을 표시하는 제1표시기와 상기 각각의 엔트리에 대한 어드레스의 증가 방향을 표시하는 제2표시기를 포함하는 데이터 처리 방법.
  20. 제19항에 있어서, 상기 스트림 필터 회로내의 엔트리는 실제 어드레스를 갖는 반면에, 상기 스트림 버퍼 회로내의 엔트리는 유효 어드레스를 갖는 데이터 처리 방법.
    ※ 참고사항 : 최초출원 내용에 의하여 공개하는 것임.
KR1019960038616A 1995-11-06 1996-09-06 데이터 선인출 방법 및 시스템 KR100262906B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/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
US8/554,180 1995-11-06

Publications (2)

Publication Number Publication Date
KR970029103A true KR970029103A (ko) 1997-06-26
KR100262906B1 KR100262906B1 (ko) 2000-08-01

Family

ID=24212343

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960038616A 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)

* Cited by examiner, † Cited by third party
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
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
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
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
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
US6918009B1 (en) 1998-12-18 2005-07-12 Fujitsu Limited Cache device and control method for controlling cache memories in a multiprocessor system
US6223257B1 (en) * 1999-05-12 2001-04-24 Rise Technology Company Instruction cache address generation technique having reduced delays in fetching missed data
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
US6487637B1 (en) 1999-07-30 2002-11-26 International Business Machines Corporation Method and system for clearing dependent speculations from a request queue
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 株式会社日立製作所 ハードウェアプリフェッチシステム
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
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
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
US7350029B2 (en) * 2005-02-10 2008-03-25 International Business Machines Corporation Data stream prefetching in a microprocessor
US7380066B2 (en) * 2005-02-10 2008-05-27 International Business Machines Corporation Store 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)

* Cited by examiner, † Cited by third party
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
DE4391002T1 (de) * 1992-03-06 1995-02-23 Rambus Inc Vor-heranholen in einen Cache-Speicher zum minimieren der Hauptspeicherzugriffszeit und der Cache-Speichergröße in einen Computersystem
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

Also Published As

Publication number Publication date
KR100262906B1 (ko) 2000-08-01
JPH09146835A (ja) 1997-06-06
TW371331B (en) 1999-10-01
US6085291A (en) 2000-07-04

Similar Documents

Publication Publication Date Title
KR970029103A (ko) 데이터 처리 시스템 및 데이터 처리 방법
US5664147A (en) System and method that progressively prefetches additional lines to a distributed stream buffer as the sequentiality of the memory accessing is demonstrated
US8458408B2 (en) Cache directed sequential prefetch
KR100277818B1 (ko) 컴퓨터 시스템의 데이터 처리 속도를 증가시키는 방법
KR930022210A (ko) 캐시 미스 버퍼
EP0780770A1 (en) Hybrid numa coma caching system and methods for selecting between the caching modes
US6470428B1 (en) Sequential memory access cache controller
KR970029141A (ko) 인스트럭션 프리페치 방법 및 데이터 처리 시스템
JP2002297379A (ja) ハードウェアプリフェッチシステム
JPH0628180A (ja) プリフェッチバッファ
HK1052774A1 (en) Method and apparatus for pipelining ordered input/output transactions in a cache coherent, multi-processor system
JP2818415B2 (ja) バッファ記憶装置
KR910017286A (ko) 캐쉬 및 프리페치 버퍼를 갖는 데이타 처리 시스템 및 방법
US10229066B2 (en) Queuing memory access requests
US20080307169A1 (en) Method, Apparatus, System and Program Product Supporting Improved Access Latency for a Sectored Directory
US5367657A (en) Method and apparatus for efficient read prefetching of instruction code data in computer memory subsystems
JPH10307754A (ja) システム・バスに対するキャッシュ操作の要求ベースの発行方法及び装置
KR960002008A (ko) 비순차적 액세스에 대해 저유효 대기시간을 가진 파이프라인방식 캐시시스템
US5619673A (en) Virtual access cache protection bits handling method and apparatus
US8886895B2 (en) System and method for fetching information in response to hazard indication information
EP0884683A3 (en) Cache device
GB2331379A (en) Controlling access to a shared memory by dual mapping
US6385703B1 (en) Speculative request pointer advance for fast back-to-back reads
KR970705085A (ko) 캐시의 문맥이 무가치한 경우에 캐시가 판독되는 것을 방지하는 파이프라인형 마이크로프로세서(A Pipelined Microprocessor that Prevents the Cache From Being Read When the Contents of the Cache Are Invalid)
KR950020135A (ko) 다중처리시스템의 캐쉬메모리

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B701 Decision to grant
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee