KR960035272A - 캐시메모리와 프로세서 버스간의 인터페이스 및 그 방법 - Google Patents

캐시메모리와 프로세서 버스간의 인터페이스 및 그 방법 Download PDF

Info

Publication number
KR960035272A
KR960035272A KR1019960008828A KR19960008828A KR960035272A KR 960035272 A KR960035272 A KR 960035272A KR 1019960008828 A KR1019960008828 A KR 1019960008828A KR 19960008828 A KR19960008828 A KR 19960008828A KR 960035272 A KR960035272 A KR 960035272A
Authority
KR
South Korea
Prior art keywords
quot
address
bytes
cache memory
request
Prior art date
Application number
KR1019960008828A
Other languages
English (en)
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 KR960035272A publication Critical patent/KR960035272A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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
    • 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/0893Caches characterised by their organisation or structure
    • G06F12/0897Caches characterised by their organisation or structure with two or more cache hierarchy levels
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Bus Control (AREA)

Abstract

프로세서 시스템의 버스 인터페이스 유니트는 리퀘스트당 특정한 수의 바이트를 수신하기 위하여 최적화된 캐시 메모리와 버스 트랜잭션당 상이한 수의 바이트를 제공하기 위하여 최적화된 외부 버스 사이에서 효과적인 인터페이스를 제공한다. 일실시예에 있어서, 캐시메모리는 16바이트의 메모리 블록을 요구하고, 버스 인터페이스 유니트에 응답하여 외부 메모리 소오스로부터 복구된 32바이트 대신에 버스 트랜잭션을 실행한다. 리퀘스트된 16바이트가 캐시메모리에 제공되고, 나머지 16바이트가 버스 인터페이스 유니트에 의해 버퍼된 바이트의 캐시 어드레스와 함께, 버퍼된다. 버퍼된 바이트를 맞추는 메모리 블록을 위한 캐시 메모리로부터의 후속하는 리퀘스트는 어떠한 외부버스 트랜잭션을 초기화하지 않으면서, 버스 인터페이스 유니트에 의해 직접 처리된다. 캐시 메모리는 외부 버스가 리퀘스트된 16바이트보다는 트랜잭션당 32바이트를 전송한다는 것을 알 필요가 없다. 버스 인터페이스 유니트가 물리적 트랜잭션을 사용하기 때문에, 능동적으로 사용된 캐시 구성 및 어떤 페이징 구조에 대한 상세한 설명은 관련이 없다. 그 밖에, 적은 오버헤드가 필요하며 프로세서와 긴밀하게 통신할 필요도 없다.

Description

캐시메모리와 프로세서 버스간의 인터페이스 및 그 방법
본 내용은 요부공개 건이므로 전문내용을 수록하지 않았음
제1도는 본 발명에 따른 마이크로프로세서의 블록도, 제2도는 제1도의 선형으로 어드레스되는(linearly-addressed) 명령어 캐시(instruction cache)의 블록도, 제3도는 제1도의 선형으로 어드레스되는 데이타 캐시(data chche)의 블록도.

Claims (40)

  1. 프로세서 시스템에 있어서, 메모리 소오스로부터 복구된 바이트를 제1캐시 메모리에 제공하는 방법으로서, 상기 제1캐시 메모리는 리퀘스트당 다수의 “N”바이트를 수신하도록 구성되며, 상기 메모리 소오스는 프로세서 버스 트랜잭션당 다수의 “M”바이트를 전송하도록 구성된 프로세서 버스를 사용하여 억세스된고, “M”은 “N”보다 크며, 상기 방법은, 제1리퀘스트 어드레스와 관련된 다수의 “N”바이트를 복구호기 위하여 제1캐시 메모리로부터 리퀘스트를 수신하는 단계와 , 이전의 프로세스 버스 트랜잭션으로부터 버퍼된 다수된 “N”바이트와 관련된 버퍼된 어드레스와 상기 제1리퀘스트 어드레스를 비교하는 단계와, 상기 제1리퀘스트 어드레스가 버퍼된 어드레스와 맞는다면 상기 제1캐시 메모리 버퍼된 다수의 “N”바이트를 제공하는단계와, 상기 제1리퀘스트 어드레스가 버퍼된 어드레스와 맞지 않는다면 상기 메모리 소오스로부터 상기 제1리퀘스트 어드레스와 관련된 다수의 “M”바이트를 복구하기 위하여 프로세스 버스 트랜잭션을 실행하는 단계와, 상기 실행단계에 후속하여, 상기 제1캐시 메모리에 상기 제1리퀘스트 어드레스와 관련된 복구된 다수의 “M”바이트의 일부분을 제공하는 단계와, 복구된 다수의 “M”바이트의 나머지 부분과 이에 따른 어드레스를 버퍼링하는 단계로 구성되며, 상기 다수의 “M”바이트의 일부분은 상기 제1리퀘스트 어드레스에 따른 다수의 “N”바이트를 포함하는 것을 특징으로 하는 메모리 소오스로부터 복구된 바이트를 제1캐시 메모리에 제공하는 방법.
  2. 제1항에 있어서, 상기 방법은, 제2리퀘스트 어드레스와 관련된 다수의 바이트를 억세스하기 위하여 제2캐쉬 메모리로부터 리퀘스트를 수신하는 단계와, 이전의 프로세서 버스 트랜잭션으로부터 버퍼된 다수의 “N”바이트와 관련된 버퍼된 어드레스가 상기 버퍼된 제2리퀘스트 어드레스를 비교하는 단계와, 장래의 사용을 방지하기 위하여, 상기 제2리퀘스트 어드레스가 상기 어드레스와 맞는다면, 그에 관련된 상기 버퍼된 어드레스와 상기 버퍼된 다수의 “N”바이트를 무효로 하는 단계를 포함하는 것을 특징으로 하는 메모리 소오스로부터 복구된 바이트를 제1캐시 메모리에 제공하는 방법.
  3. 제1항에 있어서, 상기 방법은, 제2리퀘스트 어드레스와 관련된 다수의 바이트를 억세스하기 위하여 제2캐쉬 메모리로부터 리퀘스트를 수신하는 단계와, 장래의 사용을 방지하기 위하여, 그에 관련된 상기 버퍼된 어드레스가 상기 버퍼된 어드레스와 상기 버퍼된 다수의 “N”바이트를 무효로 하는 단계로 포함하는 것을 특징으로 하는 메모리 소오스로부터 복구된 바이트를 제1캐시 메모리에 제공하는 방법.
  4. 제3항에 있어서, 상기 제2캐시 메모리로부터의 리퀘스트는 캐시라인 필 리퀘스트를 포함하는 것을 특징으로 하는 메모리 소오스로부터 복구된 바이트를 제1캐시 메모리에 제공하는 방법.
  5. 제3항에 있어서, 상기 제2캐시 메모리로부터의 리퀘스트는 캐시라인 라이트백 리퀘스트를 포함하는 것을 특징으로 하는 메모리 소오스로부터 복구된 바이트를 제1캐시 메모리에 제공하는 방법.
  6. 제1항에 있어서, 상기 방법은, 제3리퀘스트 어드레스와 관련된 버스 감시동작을 위하여 외부 장치로부터 리퀘스트를 수신하는 단계와, 이전의 프로세서 버스 트랜잭션으로부터 버퍼된 다수의 “N”바이트와 관련된 버퍼된 어드레스와 제2리퀘스트 어드레스를 비교하는 단계와, 장래의 사용을 방지하기 위하여, 제2리퀘스트 어드레스가 상기 버퍼된 어드레스와 맞는다면, 그에 관련된 상기 버퍼된 어드레스와 상기 버퍼된 다수의 “N”바이트를 무효로 하는 단계를 포함하는 것을 특징으로 하는 메모리 소오스로부터 복구된 바이트를 제1캐시 메모리에 제공하는 방법.
  7. 제1항에 있어서, 상기 방법은, 제3리퀘스트 어드레스와 관련된 버스 감시동작을 위하여 외부 장치로부터 리퀘스트를 수신하는 단계와, 장래의 사용을 방지하기 위하여 그에 관련된 상기 버퍼된 어드레스와 상기 버퍼된 다수의 “N”바이트를 무효로 하는 단계를 포함하는 것을 특징으로 하는 메모리 소오스로부터 복구된 바이트를 제1캐시 메모리에 제공하는 방법.
  8. 제7항에 있어서, 상기 버스 감시동작은 판독동작 및 캐시 문의동작으로 구성된 그룹으로부터 선택된 동작을 포함하는 것을 특징으로 하는 메모리 소오스로부터 복구된 바이트를 제1캐시 메모리에 제공하는 방법.
  9. 제1항에 있어서, 상기 프로세서 시스템은 X86 프로세서 시스템을 포함하는 것을 특징으로 하는 메모리 소오스로부터 복구된 바이트를 제1캐시 메모리에 제공하는 방법.
  10. 제9항에 있어서, “M”은 십진법 32와 동일하며, 프로세서 버스 트랜잭션은 4개의 연속적인 8-바이트 전송으로 구성된 버스트 판독 사이클을 포함하는 것을 특징으로 하는 메모리 소오스로부터 복구된 바이트를 제1캐시 메모리에 제공하는 방법.
  11. 제9항에 있어서, “M”은 십진법 16와 동일하며, 프로세서 버스 트랜잭션은 4개의 연속적인 4-바이트 전송으로 구성된 버스트 판독 사이클을 포함하는 것을 특징으로 하는 메모리 소오스로부터 복구된 바이트를 제1캐시 메모리에 제공하는 방법.
  12. 제9항에 있어서, 프로세서 버스 트랜잭션은 다수의 연속적인 64비트 전송을 포함하는 버스트 판독사이클을 포함하는 것을 특징으로 하는 메모리 소오스로부터 복구된 바이트를 제1캐시 메모리에 제공하는 방법.
  13. 제9항에 있어서, 프로세서 버스 트랜잭션은 다수의 “M”바이트를 복구하는 단일 판독 사이클을 포함하는 것을 특징으로 하는 메모리 소오스로부터 복구된 바이트를 제1캐시 메모리 제공하는 방법.
  14. 제10항에 있어서, 상기 인용 단계는 상기 프로세서 시스템의 버스 인터페이스 유니트내에서 성취되어, 상기 프로세서 버스에 상기 제1캐시 메모리를 인터페이스하는 것을 특징으로 하는 메모리 소으스로부터 복구된 바이트 제1캐시를 메모리에 제공하는 방법.
  15. 제14항에 있어서, 상기 제1캐시 메모리는 데이타 캐시 메모리를 포함하고 상기 제2캐시 메모리는 데이타 캐시 메모리를 포함하는 것을 특징으로 하는 메모리 소오스로부터 복구된 바이트를 제1캐시 메모리에 제공하는 방법.
  16. 제14항에 있어서, 상기 제1캐시 메모리는 메모리를 포함하고 상기 제2캐시 메모리는 명령어 캐시 메모리를 포함하는 것을 특징으로 하는 메모리 소오스로부터 복구된 바이트를 제1캐시 메모리에 제공하는 방법.
  17. X86 프로세서 시스템의 버스 인터페이스 유니트에 있어서, 외부 메모리 소오스로부터 복구된 명령어 바이트를 명령어 캐시 메모리에 제공하는 방법으로서, 상기 명령어 캐시 메모리는 프리-패치 리퀘스트당 다수의 “N”바이트를 수신하도록 구성되며, 외부 메모리 소오스는 명령어를 프리-페치할 때, 버스 트랜잭션당 다수의 “M”바이트를 전송하도록 구성된 프로세서 버스를 사용하여 억세스되고, “M”은 “N”보다 크며, 상기 방법은, 제1프리-페치 어드레스와 관련된 다수의 “N”바이트를 복구하기 위하여 명령어 캐시 메모리로부터 프리-페치 리퀘스트를 수신하는 단계와, 상기 제1프리-페치 어드레스가 이전의 프로세스 프리-페치 버스 트랜잭션으로부터 유효한 버퍼된 다수의 “N”바이트와 관련된 버퍼된 프리-페치 어드레스와 맞는 경우에는 포지티브 표시를 발생하고, 상기 경우와 반대이면 네거티브 표시를 발생하는 단계와, 상기 포지티브 표시의 경우에는, 상기 명령어 캐시 메모리에 버퍼된 다수의 “N”바이트를 제공하는 단계와, 상기 네거티브 표시의 경우에는, 상기 외부 메모리 소오스로부터 상기 제1리퀘스트 어드레스와 관련된 다수의 "M"바이트를 복구하기 위하여프로세서 프리-패치 버스 트랜잭션을 실행하는 단계와, 상기 제1프리-패치 어드레스와 관련된 복구된 다수의"M"바이트의 일부분을 상기 명령어 캐시에 제공하는 단계와, 복구된 다수의 "M"바이트의 나머지 부분과 이에 따른 어드레스를 버퍼링하고 이를 유효화하는 단계로 구성되며, 상기 다수의 "M"바이트의 일부분은 상기 제1프리-페치 어드레스에 따른 다수의 “N”바이트를 포함하는 것을 특징으로 하는 외부 메모리 소오스로부터복구된 명령어 바이트를 명령어 캐시 메모리에 제공하는 방법.
  18. 제17항에 있어서, 상기 복구된 다수의 “M”바이트의 상기 버퍼된 나머지 부분과 이에 따른 버퍼된 어드레스를 유효화하는 단계는 상기 버퍼된 어드레스와 관련된 플래그를 어써팅하는 단계를 포함하는 것을 특징으로 하는 외부 메모리 소오스로부터 복구된 명령어 바이트를 명령어 캐시 메모리에 제공하는 방법.
  19. 제17항에 있어서, 상기 복구된 다수의 “M”바이트의 상기 버퍼된 나머지 부분과 이에 버퍼된 어드레스를 유효화하는 단계는 상기 복구된 다수의 “M”바이트의 상기 버퍼된 나머지 부분과 관련된 플래그를 어써팅하는 단계를 포함하는 것을 특징으로 하는 외부 메모리 소오스로부터 복구된 명령어 바이트를 명령어 캐시 메모리에 제공하는 방법.
  20. 제17항에 있어서, 상기 방법은, 데이타 캐시 메모리로부터 제2리퀘스트 어드레스와 관련된 라이트백 리퀘스트를 수신하는 단계와, 이전의 프로세서 버스 트랜잭션으로부터 버퍼된 다수의 “N”바이트와 관련된 버퍼된 어드레스와 상기 제2리퀘스트 어드레스를 비교하는 단계와, 상기 제2리궤스트 어드레스가 상기 버퍼된 어드레스와 맞는다면, 그에 관련된 상기 버퍼된 어드레스와 상기 버퍼된 다수의 “N”바이트를 무효로 하는 단계를 포함하는 것을 특징으로 하는 외부 메모리 소오스로부터 복구된 명령어 바이트를 명령어 캐시 메모리에 제공하는 방법.
  21. 제17항에 있어서, 상기 방법은, 데이타 캐시 메모리로부터 제2리퀘스트 어드레스와 관련된 라이트백 리궤스트를 수신하는 단계와, 그에 관련된 상기 버퍼된 어드레스와 상기 버퍼된 다수의 “N”바이트를 무효로 하는 단계를 포함하는 것을 특징으로 하는 외부 메모리 소오스로부터 복구된 명령어 바이트를 명령어 캐시 메모리에 제공하는 방법.
  22. 제17항에 있어서, 상기 방법은, 상기 외부 메모리 소오스로부터 제2리퀘스트 어드레스와 관련된 다수의 바이트를 복구하기 위하여 데이타 캐시 메모리로부터 리퀘스트를 수신하는 단계와, 이전의 프로세서 프리-페치 버스 트랜잭션으로부터 버퍼된 다수의 “N”바이트와 관련된 버퍼된 어드레스와 상기 제2리퀘스트 어드레스를 비교하는 단계와, 상기 제2리퀘스트 어드레스가 상기 버퍼된 어드레스와 맞는다면, 그에 관련된 상기 버퍼된 어드레스와 상기 버퍼된 다수의 “N”바이트를 무효로 하는 단계를 포함하는 것을 특징으로 하는 외부 메모리 소오스로부터 복구된 명령어 바이트를 명령어 캐시 메모리에 제공하는 방법.
  23. 제17항에 있어서, 상기 방법은, 상기 외부 메모리 소오스로부터 제2리퀘스트 어드레스와 관련된 다수의 바이트를 복구하기 위하여 데이타 캐시 메모리로부터 리퀘스트를 수신하는 단계와, 그와 관련된 상기 버퍼된 어드레스와 상기 버퍼된 다수의 “N”바이트를 무효로 하는 단계를 포함하는 것을 특징으로 하는 외부 메모리 소오스로부터 복구된 명령어 바이트를 명령어 캐시 메모리에 제공하는 방법.
  24. 제17항에 있어서, 상기 방법은, 제3리퀘스트 어드레스와 관련된 버스 감시동작을 위하여 외부 장치로부터 리퀘스트를 수신하는 단계와, 이전의 프로세서 프리-페치 버스 트랜잭션으로부터 버퍼된 다수의 “N”바이트와 관련된 버퍼된 어드레스와 상기 제3리퀘스트 어드레스를 비교하는 단계와, 상기 제3리궤스트 어드레스가 상기 버퍼된 어드레스와 맞는다면, 그에 관련된 상기 버퍼된 어드레스와 상기 버퍼된 다수의 “N”바이트를 무효로 하는 단계를 포함하는 것을 특징으로 하는 외부 메모리 소오스로부터 복구된 명령어 바이트를 명령어 캐시 메모리에 제공하는 방법.
  25. 제17항에 있어서, 상기 방법은, 제3리퀘스트 어드레스와 관련된 버스 감시동작을 위하여 외부 장치로부터 리퀘스트를 수신하는 단계와, 그에 관련된 상기 버퍼된 어드레스와 상기 버퍼된 다수의 “N”바이트를 무효로 하는 단계를 포함하는 것을 특징으로 하는 외부 메모리 소오스로부터 복구된 명령어 바이트를 명령어 캐시 메모리에 제공하는 방법.
  26. 제17항에 있어서, 상기 버스 감시동작은 판독동작, 기록동작 및 캐시 문의동작으로 구성된 그룹으로부터 선택된 동작을 포함하는 것을 특징으로 하는 외부 메모리 소오스로부터 복구된 명령어 바이트를 명령어 캐시 메모리에 제공하는 방법.
  27. 상기 프로세서 버스 트랜잭션은 4개의 연속적인 8-비트 전송을 포함하는 버스트 판독사이클을 포함하는 것을 특징으로 하는 외부 메모리 소오스로부터 복구된 명령어 바이트를 명령어 캐시 메모리에 제공하는 방법.
  28. 제17항에 있어서, 특정한 다수의 바이트와 관련된 어드레스는 상기 특정한 다수의 바이트를 포함하는 상기 외부 메모리 소오스의 블록의 개시 어드레스를 포함하는 것을 특징으로 하는 외부 메모리 소오스로부터 복구된 명령어 바이트를 명령어 캐시 메모리에 제공하는 방법.
  29. 제17항에 있어서, 특정한 다수의 바이트와 관련된 어드레스는 상기 특정한 다수의 바이트를 포함하는 상기 외부 메모리 소오스의 블록의 개시 어드레스와는 다른 어드레스를 포함하는 것을 특징으로 하는 외부 메모리 소오스로부터 복구된 명령어 바이트를 명령어 캐시 메모리에 제공하는 방법.
  30. 프로세서 시스템에 있어서, 제1캐시 메모리를 프로세서 버스에 인터페이스하는 버스 인터페이스 회로로서, 상기 제1캐시 메모리는 리퀘스트당 다수의 “N”바이트를 수신하도록 구성되며, 상기 프로세서 버스는 제1캐시 메모리 동작을 위하여 프로세서 버스 트랜잭션당 다수의 “M”바이트를 전송하도록 구성되며 “M”은 “N”보다 크며, 상기 버스 인터페이스 회로는, 상기 프로세서 버스에 연결되어, 프로세서 버스 트랜잭션을 초기화하고 이에 따라 전송된 다수의 “M”바이트를 복구하는 컨트롤러 회로와, 상기 컨트롤러 회로에 연결되어, 상기 제1캐시 메모리로부터 리퀘스트 어드레스를 수신하고 상기 리퀘스트 어드레스에 관련된 다수의 “N”바이트를 제공하기 위하여 상기 제1캐시 메모리로부터 리퀘스트를 수신하는 캐시 인터페이스 회로와, 상기 컨트롤러 회로에 연결되어, 상기 프로세서 버스로부터 복구된 상기 다수의 “M”바이트의 일부분인, 다수의 “M-N”바이트를 버퍼링하는 제1버퍼회로와, 상기 컨트롤러 회로에 연결되어 상기 버퍼된 다수의 “M-N”바이트와 관련된 어드레스를 버퍼링하는 제2버퍼회로와, 상기 제2버퍼회로에 저장된 상기 버퍼된 어드레스와 상기 리퀘스트 어드레스를 비교하는 비교기 회로로 구성되는 것을 특징으로 하는 버스 인터페이스 회로.
  31. 제30항에 있어서 상기 제1캐시 메모리는 상기 프로세서 시스템의 프로세서내에 상주하는 것을 특징으로 하는 버스 인터페이스 회로.
  32. 제30항에 있어서 상기 제1캐시 메모리는 상기 프로세서 시스템의 프로세서의 외부에 상주하는 것을 특징으로 하는 버스 인터페이스 회로.
  33. 제30항에 있어서 상기 버스 인터페이스 회로는 상기 컨트롤러 회로에 연결되어, 상기 버퍼된 다수의 “M-N”바이트와 이와 관련된 상기 어드레스의 유효성을 표시하는 표시회로를 포함하는 것을 특징으로 하는 버스 인터페이스 회로.
  34. 제33항에 있어서 상기 버스 인터페이스 회로는 상기 컨트롤러 회로와 상기 표시회로에 연결되어, 제2캐시 메모리로부터 리퀘스트를 수신하고 상기 버퍼된 다수의 M-N바이트와 이와 관련된 상기 어드레스의 무효성을 표시하는 제2캐시 메모리 인터페이스 회로를 포함하는 것을 특징으로 하는 버스 인터페이스 회로.
  35. 제30항에 있어서, 상기 프로세서 버스 트랜잭션은 4개의 연속적인 8-비트 전송을 포함하는 버스트 판독사이클을 포함하는 것을 특징으로 하는 버스 인터페이스 회로.
  36. 제30항에 있어서, 상기 프로세서 버스 트랜잭션은 다수의 8-비트 전송을 포함하는 버스트 판독사이클을 포함하는 것을 특징으로 하는 버스 인터페이스 회로.
  37. X86 프로세서 시스템에 있어서, 프로세서 버스에 명령어 캐시 메모리를 인터페이스하는 회로로서, 상기 명령어 캐시 메모리는 리퀘스트당 다수의 “N”바이트를 수신하도록 구성되며, 상기 프로세서 버스는 메모리 소오스로부터 프로세서 버스 트랜잭션당 다수의 “M”바이트를 복구하고, “M”은 “N”보다 크며, 상기 회로는, 상기 프로세서 버스로부터 다수의 “M”바이트를 수신하는 수신수단과, “N”바이트라고 하는, 상기 수신된 다수의 “M”바이트의 일부분을 상기 명령어 캐시 메모리에 제공하는 제공수단과, “M-N”바이트라고 하는, 상기 명령에 캐시 메모리에 이미 제공되지 않은 상기 수신된 다수의 “M”바이트의 나머지 부분을 버퍼링하는 버퍼수단과, 후속하는 리퀘스트에 따라 상기 캐시 메모리에 상기 수신된 “M”바이트의 상기 버퍼된 나머지 부분을 제공하는 수단으로 구성되는 것을 특징으로 하는 프로세서 버스에 명령어 캐시 메모리를 인터페이스하는 회로.
  38. 제37항에 있어서 상기 회로는 상기 수신된 다수의 “M”바이트의 상기 버퍼된 나머지 부분과 관련된 어드레스를 버퍼링하는 버퍼수단을 포함하는 것을 특징으로 하는 프로세서 버스에 명령어 캐시 메모리를 인터페이스하는 회로.
  39. 제38항에 있어서 상기 회로는 상기 후속 리퀘스트와 관련된 어드레스와 상기 버퍼된 어드레스를 비교하는 비교수단을 포함하는 것을 특징으로 하는 프로세서 버스에 명령어 캐시 메모리를 인터페이스하는 회로.
  40. 제39항에 있어서 상기 회로는 상기 수신된 다수의 “M”바이트의 상기 버퍼된 나머지 부분과 이에 관련된 상기 버퍼된 어드레스의 유효성을 표시하는 표시수단을 포함하는 것을 특징으로 하는 프로세서 버스에 명령어 캐시 메모리를 인터페이스하는 회로.
    ※ 참고사항 : 최초출원 내용에 의하여 공개하는 것임.
KR1019960008828A 1995-03-28 1996-03-28 캐시메모리와 프로세서 버스간의 인터페이스 및 그 방법 KR960035272A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/412,471 1995-03-28
US08/412,471 US5737550A (en) 1995-03-28 1995-03-28 Cache memory to processor bus interface and method thereof

Publications (1)

Publication Number Publication Date
KR960035272A true KR960035272A (ko) 1996-10-24

Family

ID=23633129

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960008828A KR960035272A (ko) 1995-03-28 1996-03-28 캐시메모리와 프로세서 버스간의 인터페이스 및 그 방법

Country Status (4)

Country Link
US (1) US5737550A (ko)
EP (1) EP0735479A1 (ko)
JP (1) JPH08328950A (ko)
KR (1) KR960035272A (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3707890B2 (ja) * 1996-12-26 2005-10-19 三星電子株式会社 外部記憶装置のデータ出力方法
JP3119214B2 (ja) * 1997-09-30 2000-12-18 ソニー株式会社 記憶装置、データ処理システム並びにデータの書き込み及び読み出し方法
US6092064A (en) * 1997-11-04 2000-07-18 International Business Machines Corporation On-line mining of quantitative association rules
FR2778762B1 (fr) * 1998-05-14 2000-12-08 Sgs Thomson Microelectronics Interface de microprocesseur avec une memoire externe optimisee par un systeme de decodage anticipe
JP3439350B2 (ja) * 1998-10-02 2003-08-25 Necエレクトロニクス株式会社 キャッシュ・メモリ制御方法及びキャッシュ・メモリ制御装置
WO2007097030A1 (ja) * 2006-02-27 2007-08-30 Fujitsu Limited キャッシュ制御装置およびキャッシュ制御方法
US10613763B2 (en) * 2016-04-21 2020-04-07 Adesto Technologies Corporation Memory device having multiple read buffers for read latency reduction

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3781808A (en) * 1972-10-17 1973-12-25 Ibm Virtual memory system
AT354159B (de) * 1975-02-10 1979-12-27 Siemens Ag Assoziativspeicher mit getrennt assoziierbaren bereichen
US4155119A (en) * 1977-09-21 1979-05-15 Sperry Rand Corporation Method for providing virtual addressing for externally specified addressed input/output operations
US4179737A (en) * 1977-12-23 1979-12-18 Burroughs Corporation Means and methods for providing greater speed and flexibility of microinstruction sequencing
US4384343A (en) * 1979-02-12 1983-05-17 Honeywell Information Systems Inc. Firmware controlled search and verify apparatus and method for a data processing system
US4502111A (en) * 1981-05-29 1985-02-26 Harris Corporation Token generator
US4453212A (en) * 1981-07-13 1984-06-05 Burroughs Corporation Extended address generating apparatus and method
AU3229484A (en) * 1983-09-07 1985-03-14 Amdahl Corporation Time shared translation buffer
US4807115A (en) * 1983-10-07 1989-02-21 Cornell Research Foundation, Inc. Instruction issuing mechanism for processors with multiple functional units
JPH0658631B2 (ja) * 1983-12-19 1994-08-03 株式会社日立製作所 デ−タ処理装置
DE3588166T2 (de) * 1984-07-31 1998-02-12 Texas Instruments Inc Entwurf einer Cache-Hierarchie zur Anwendung in einer Speicherverwaltungseinheit
DE3751503T2 (de) * 1986-03-26 1996-05-09 Hitachi Ltd Datenprozessor in Pipelinestruktur mit der Fähigkeit mehrere Befehle parallel zu dekodieren und auszuführen.
CA1286784C (en) * 1986-08-27 1991-07-23 Joseph A. Petolino, Jr. Cache storage queue
US4926322A (en) * 1987-08-03 1990-05-15 Compag Computer Corporation Software emulation of bank-switched memory using a virtual DOS monitor and paged memory management
JP2818415B2 (ja) * 1988-05-18 1998-10-30 日本電気株式会社 バッファ記憶装置
US4912630A (en) * 1988-07-29 1990-03-27 Ncr Corporation Cache address comparator with sram having burst addressing control
US5056006A (en) * 1988-09-12 1991-10-08 General Electric Company Parallel processor with single program storage and sequencer and simultaneous instruction processing
JP2810068B2 (ja) * 1988-11-11 1998-10-15 株式会社日立製作所 プロセッサシステム、コンピュータシステム及び命令処理方法
US5113515A (en) * 1989-02-03 1992-05-12 Digital Equipment Corporation Virtual instruction cache system using length responsive decoded instruction shifting and merging with prefetch buffer outputs to fill instruction buffer
US5226126A (en) * 1989-02-24 1993-07-06 Nexgen Microsystems Processor having plurality of functional units for orderly retiring outstanding operations based upon its associated tags
US5119485A (en) * 1989-05-15 1992-06-02 Motorola, Inc. Method for data bus snooping in a data processing system by selective concurrent read and invalidate cache operation
US5129067A (en) * 1989-06-06 1992-07-07 Advanced Micro Devices, Inc. Multiple instruction decoder for minimizing register port requirements
US5136697A (en) * 1989-06-06 1992-08-04 Advanced Micro Devices, Inc. System for reducing delay for execution subsequent to correctly predicted branch instruction using fetch information stored with each block of instructions in cache
EP0415366B1 (en) * 1989-08-28 1997-06-11 Nec Corporation Microprocessor having predecoder unit and main decoder unit operating in pipeline processing manner
US5185868A (en) * 1990-01-16 1993-02-09 Advanced Micro Devices, Inc. Apparatus having hierarchically arranged decoders concurrently decoding instructions and shifting instructions not ready for execution to vacant decoders higher in the hierarchy
US5226130A (en) * 1990-02-26 1993-07-06 Nexgen Microsystems Method and apparatus for store-into-instruction-stream detection and maintaining branch prediction cache consistency
US5261066A (en) * 1990-03-27 1993-11-09 Digital Equipment Corporation Data processing system and method with small fully-associative cache and prefetch buffers
DE69123629T2 (de) * 1990-05-04 1997-06-12 Ibm Maschinenarchitektur für skalaren Verbundbefehlssatz
CA2037708C (en) * 1990-05-04 1998-01-20 Richard J. Eickemeyer General purpose compound apparatus for instruction-level parallel processors
EP0459232B1 (en) * 1990-05-29 1998-12-09 National Semiconductor Corporation Partially decoded instruction cache and method therefor
JPH04156613A (ja) * 1990-10-20 1992-05-29 Fujitsu Ltd 命令バッファ装置
JP2646854B2 (ja) * 1990-12-18 1997-08-27 三菱電機株式会社 マイクロプロセッサ
EP0498654B1 (en) * 1991-02-08 2000-05-10 Fujitsu Limited Cache memory processing instruction data and data processor including the same
US5228134A (en) * 1991-06-04 1993-07-13 Intel Corporation Cache memory integrated circuit for use with a synchronous central processor bus and an asynchronous memory bus
US5293603A (en) * 1991-06-04 1994-03-08 Intel Corporation Cache subsystem for microprocessor based computer system with synchronous and asynchronous data path
GB2260429B (en) * 1991-10-11 1995-05-24 Intel Corp Versatile cache memory
GB2260628A (en) * 1991-10-11 1993-04-21 Intel Corp Line buffer for cache memory
GB2263985B (en) * 1992-02-06 1995-06-14 Intel Corp Two stage window multiplexors for deriving variable length instructions from a stream of instructions
SG45269A1 (en) * 1992-02-06 1998-01-16 Intel Corp End bit markers for instruction decode
US5438668A (en) * 1992-03-31 1995-08-01 Seiko Epson Corporation System and method for extraction, alignment and decoding of CISC instructions into a nano-instruction bucket for execution by a RISC computer
JPH06222990A (ja) * 1992-10-16 1994-08-12 Fujitsu Ltd データ処理装置
US5337415A (en) * 1992-12-04 1994-08-09 Hewlett-Packard Company Predecoding instructions for supercalar dependency indicating simultaneous execution for increased operating frequency
IE80854B1 (en) * 1993-08-26 1999-04-07 Intel Corp Processor ordering consistency for a processor performing out-of-order instruction execution

Also Published As

Publication number Publication date
EP0735479A1 (en) 1996-10-02
US5737550A (en) 1998-04-07
JPH08328950A (ja) 1996-12-13

Similar Documents

Publication Publication Date Title
EP0405882B1 (en) Move 16 block move and coprocessor interface instruction
US5499355A (en) Prefetching into a cache to minimize main memory access time and cache size in a computer system
US5644788A (en) Burst transfers using an ascending or descending only burst ordering
US7797494B2 (en) Arithmetic processor, information processing apparatus and memory access method in arithmetic processor
US6718441B2 (en) Method to prefetch data from system memory using a bus interface unit
SE9101325L (sv) Foerfarande foer att oeka databehandlingshastigheten i datasystem
JPS63193253A (ja) データ処理装置及び方法
JP2012198935A (ja) フラッシュを備えた集積回路
KR960035272A (ko) 캐시메모리와 프로세서 버스간의 인터페이스 및 그 방법
US5761709A (en) Write cache for servicing write requests within a predetermined address range
EP0173909B1 (en) Look-aside buffer least recently used marker controller
JPS62102344A (ja) バツフア・メモリ制御方式
JP2570859B2 (ja) データ処理装置
JP3296240B2 (ja) バス接続装置
EP0732656A3 (en) Cache MMU system
TW444160B (en) Buffer management device and method for improving buffer usage and access performance in a data processing system
KR20040067063A (ko) 디지털 신호 처리장치의 저전력 소비형 캐시 메모리 장치및 이에 대한 제어방법
US6332184B1 (en) Method and apparatus for modifying memory accesses utilizing TLB entries
US6078971A (en) Input/output buffer and method for invalidating transferred data in direct memory access transfer
JPS63147230A (ja) 命令の先取りを行なうデ−タ処理装置
KR100239290B1 (ko) 피6(p6) 버스를 이용한 컴퓨터 시스템에서 메모리 엑세스 장치
JPH08272687A (ja) 入出力キャッシュメモリ
KR0136511B1 (ko) 다중 페이지 구조를 갖는 가상주소변환장치의 적중실패 처리장치 및 그 방법
JPS6410858B2 (ko)
JPH0895855A (ja) 演算処理システムに用いられるプリフェッチバッファ装置

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid