KR930002786B1 - 적어도 2가지 필사이즈를 갖는 캐쉬 메모리 - Google Patents

적어도 2가지 필사이즈를 갖는 캐쉬 메모리 Download PDF

Info

Publication number
KR930002786B1
KR930002786B1 KR1019890701200A KR890701200A KR930002786B1 KR 930002786 B1 KR930002786 B1 KR 930002786B1 KR 1019890701200 A KR1019890701200 A KR 1019890701200A KR 890701200 A KR890701200 A KR 890701200A KR 930002786 B1 KR930002786 B1 KR 930002786B1
Authority
KR
South Korea
Prior art keywords
cache memory
rate
filling
data
miss
Prior art date
Application number
KR1019890701200A
Other languages
English (en)
Other versions
KR900700959A (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 KR900700959A publication Critical patent/KR900700959A/ko
Application granted granted Critical
Publication of KR930002786B1 publication Critical patent/KR930002786B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0842Multiuser, multiprocessor or multiprocessing cache systems for multiprocessing or multitasking

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)

Abstract

내용 없음.

Description

적어도 2가지 필사이즈를 갖는 캐쉬 메모리
[도면의 간단한 설명]
제 1 도는 캐쉬 메모리내에 저장된 데이타 블록의 구조를 나타내는 도면이다.
제 2 도는 가상 매프형 캐쉬 메모리를 활용하는 컴퓨터 시스템의 블록도이다.
[발명의 상세한 설명]
[발명의 분야]
본 발명은 디지탈 컴퓨터 및 그 아키텍춰 분야에 관한 것으로서, 특히 디지탈 컴퓨터에서 사용되는 캐쉬 메모리의 필링(filling)에 관한 것이다.
[발명의 배경]
현대의 컴퓨터 시스템은 다양한 성능 특성을 갖는 메모리 장치를 필요로 한다. 때때로 어떤 최신 중앙 처리 장치(CPU)에 그들의 동작을 위한 명령 및 데이타를 공급하기 위해서는 초고속의 정보 검색 및 전송이 가능한 메모리 장치가 필요하다. 이러한 메모리는 통상 랜덤 액세스 메모리(RAM)의 형태이며, "캐쉬 메모리"라 불리운다. 이러한 캐쉬 메모리는 데이타를 고속 검색하도록 일반적으로 소형이고 거의 수천 바이트로 되어있다. 그러한 사이즈의 메모리에 저장될 수 있는 완성 프로그램 또는 데이타 베이스의 수가 적기 때문에, 컴퓨터 시스템은 또한 더큰 용량의 메모리를 채용하고 있지만, 액세스 및 검색 시간은 더 느려지며, 그러한 메모리로는 느린 검색 속도를 갖는 보다 대형의 RAM, 버블 메모리, 여러가지 형태의 디스크메모리, 및 그밖의 메모리를 들 수 있다. 컴퓨터 운영을 최적화하는데 통상적으로 사용되는 방법은 CPU에 직접적으로 캐쉬 메모리를 결합시키고, 캐쉬 메모리와 CPU에 보다 대형의 메모리 장치를 결합시키는 것이다. 이러한 방식으로, 캐쉬 메모리는 CPU 운영을 방해하지 않는 속도로 즉시에 요구된 명령 및 데이타를 CPU에 제공할 수 있다. 메인 메모리는 통상 캐쉬 메모리에 리필(refill)데이타를 제공하여, 캐쉬 메모리는 풀(full)상태를 유지한다. CPU가 명령 또는 데이타를 요구할때 상기 명령이나 요구된 데이타가 캐쉬 메모리 내에 없는 경우, 이것은 CPU가 필요로 하는 별도의 시간을 소모하여 메인 메모리로부터 얻어질 수 있다.
가상 메모리 맵핑을 사용하는 캐쉬 메모리에 나타나는 문제는 그 캐쉬 메모리가 클리어 되거나 플러쉬(fulsh)되는 경우에 발생한다.
메모리는 적어도 두가지 방식으로 맵핑될 수 있는데, 그 첫번째는 요구된 데이타가 저장되는 실제 물리적 어드레스를 명령어가 참조하는 물리적 맵핑이고, 두번째는 가상적 맵핑이다. 이 가상적 맵핑의 경우, 명령은 데이타가 저장되는 물리적 어드레스를 얻을 수 있도록 몇가지 유형으로 번역 되어야만 하는 가상 어드레스를 참조한다. 가상 맵핑에 의해서, 보다 유용하게 메인 메모리를 활용할 수 있으며, 특히 사용자들간에 인접 분할(contiguous partitions)없이 상기 메인 메모리가 할당될 수 있는 바와같은 다중 프로그래밍 환경에 있어서 유용하다. 물리적 뿐아니라 가상적으로 맵핑되는 캐쉬 메모리가 컴퓨터 설계에 현재 사용되고 있다.
캐쉬 메모리의 물리적 위치는 또한 컴퓨터 운영을 최적화 하는데 중요한 역할을 하고 있다. CPU 운영은 가상 어드레스로 실행된다. 컴퓨터 시스템이 가상적으로 맵핑된 캐쉬 메모리를 사용하는 경우, 그 캐쉬 메모리를 CPU에 직접 결합시키는 것이 유리하다. 가상적 어드레스를 물리적 어드레스 번역하는 것이 요구되는데, 이같은 번역은 캐쉬 메모리로부터 다은 스트림(down stream)으로 이루어질 수 있다.
몇가지 이유, 즉 새로운 프로그램이 행해지는 바와같은 이유로 인해 가상적으로 맵핑된 캐쉬 메모리의 가상적 어드레스의 물리적 어드레스 번역 매프가 변경된다. 이 경우에, 캐쉬 메모리는 플러쉬(클리어)되어 새로운 매프로 대체되어야 한다.
캐쉬 메모리가 플러쉬 된후, 캐쉬 메모리는 새로운 데이타 및 명령으로 리필링되는데, 종래에 있어서는 캐쉬 메모리가 플러쉬 된후, 주어진 프로그램이 오랜시간 동안 실행되는 경우 캐쉬 메모리는 데이타 또는 명령이 캐쉬 메모리에 입력되는 속도와 동일한 속도로 리필링이 되었다. 캐쉬 메모리내에서 데이타 또는 명령을 찾기 위한 시도의 횟수가 적을수록 메인 메모리의 탐색을 요하는 미스가 야기되기 때문에, 캐쉬 메모리는 완전히 풀(full)상태인 경우에 매우 효과적으로 동작한다. 따라서, 캐쉬 메모리가 플러쉬된 이후 일정속도로 리필링 되었을 경우, 메인 메모리를 참조하여 그로부터의 응답을 필요로 하는 많은 "미스"가 발생되었고, 이는 비효과적으로 캐쉬 메모리를 활용하는 결과가 초래되었다. 반면, 캐쉬 메모리가 아주 고속에서 연속적으로 리필링되거나, 리프레쉬 되는 경우, 현재 활용이 가능한 데이타 또는 명령을 중복 기입해야 하는 것과 같은 다른 문제점이 발생한다.
따라서, 본 발명의 목적은 캐쉬 메모리가 적어도 두가지 상이한 속도로 필링(filling)될 수 있는 메카니즘을 제공하는데 있는데, 그 첫번째는 캐쉬 메모리가 클리어 된 후 즉시 사용이 가능한 고속 방식의 경우이고, 두번째는 캐쉬 메모리가 거의 완전히 필링된 경우에 사용이 가능한 보다 저속 방식의 경우를 말한다.
[발명의 요약]
상술한 목적과 그밖의 목적은 정보를 컴퓨터의 캐쉬 메모리내에 필링시키는 방법을 제공하는 본 발명에 의해 달성될 수 있는데, 이러한 방법에는 요구된 정보를 얻기 위해 캐쉬 메모리를 탐색하는 단계, 그 요구된 정보가 캐쉬 메모리내에서 발견되지 않는 경우, 미스 신호를 발생시키는 단계, 미스 신호가 발생된 경우, 그 필요한 정보가 할당되어야만 하는 캐쉬 메모리내의 데이타 블록의 유효 비트를 결정하는 단계가 포함된다. 유효 비트가 낫혼(not on)상태인 경우에, 캐쉬 메모리에는 N 데이타 블록이 기입 되는데, 이는 그 블록내의 데이타가 이미 사용되어서 현재는 더이상 가치가 없는 경우를 나타낸다. 이러한 N 데이타 블록은 필요한 정보를 갖고 있는 데이타 블록을 포함한다. 유효 비트가 온상태인 경우에, P 데이타 블록은 동시에 캐쉬 메모리에 기입되며, 여기서 P는 N보다 작은데, 이러한 P 데이타 블록은 요구된 정보를 구비한 데이타 블록을 포함한다.
[발명의 상세한 설명]
제 1 도를 참조하여 보면, 캐쉬 메모리는 통상 데이타 블록내에 정보를 기억한다. 각기 10, 20, 30, 40, 50이란 번호를 부여한 데이타 블록은 유효 비트, 택필드, 프로세스 식별(process Identification; PID) 필드 및 데이타 필드를 포함한다.
데이타 블록내에 포함된 정보가 유효한지를 판단하도록 유효 비트가 사용된다. 캐쉬 메모리가 플러쉬되는 경우, 각 데이타 블록내의 모든 유효 비트 0로 세트되는데, 이는 무효 데이타를 나타내며, 이것에 의해 현재 데이타 블록내의 내용을 무효로 하고 새로운 기입을 허용하게 된다. 새로운 유효 데이타가 각 블록에 공급되는 경우, 유효 비트는 턴온 상태가 되는데, 이는 각 블록에 포함된 데이타가 유효하여 사용이 가능하다는 것을 나타낸다.
다중 사용자 컴퓨터 환경의 경우, 각 사용자의 프로그램이 일정 시간동안 실행되는 동시에 다른 프로그램도 실행된다. 후술하는 몇가지 이유로 인해서, 고유한 PID 넘버로서 실행되는 각 프로그램을 식별하는 것이 가능하다. 본 발명에 있어서, 6비트 필드가 PID 넘버에 사용되는데, 이것은 적어도 63가지 상이한 프로세스가 트래킹될 수 있음을 나타낸다. 데이타 필드는 각 데이타 블록내에 저장된 데이타가 실제로 할당되는 곳이다.
제 2 도를 참조하면, 캐쉬 메모리(100)는 가상적으로 맵핑되어, CPU(120)에 결합된다. 캐쉬 메모리(100)는 예를들자면, 가상적 어드레스를 물리적 이드레스로 번역하는 번역 버퍼가 될 수 있다. 메인 메모리(160)은 캐쉬 메모리(100) 및 CPU(120)뿐만아니라 도시되어 있지 않은 복수의 입/출력 장치에 결합된다. 전술한 바와같이, 가상적 맵핑이 물리적 맵핑으로 변화할때마다, 가상 매프형 캐쉬 메모리는 플러쉬되어야 한다. 이것이 발생하는 한가지 경우는 한 실행 프로그램이 CPU내의 또다른 실행 프로그램에 대해 변경되는 경우이다.
본 발명은 다음의 방식으로 하드웨어를 통해서 가상 캐쉬 메모리의 필링을 최적화 한다. 이하의 설명에 있어서, 우리는 캐쉬 메모리 미스인 경우, 다시 말하면 캐쉬 메모리내에서 소정의 데이타 또는 명령을 찾는데에 실패했다고 가정한다. 일반적으로 이것은 탐색을 위해 사용되어진 어드레스택이 특정블록을 참조하지만, 그 블록이 다른 데이타 또는 무효 데이타를 포함하고 있는 경우에 발생한다. 미스가 발생할때마다, 유효 비트가 오프 또는 온상태 인지를 알아보기 위한 검사가 본 발명의 일실시예에 의해 행해진다. 유효 비트가 오프인 경우는 최종 플러쉬 이래 해당 블록에 데이타가 기입되지 않았으며, 따라서 캐쉬 메모리는 한꺼번에 N 블록과 동일한 고속의 속도로 필링 되어야 함을 나타낸다. 유효 비트가 온인 경우는, 캐쉬 메모리에는 유효 데이타가 이미 존재하며, 유효 데이타에 또다른 데이타를 중복 기입하는 것은 시간 낭비를 초래한다는 전제하에서 캐쉬 메모리에는 한 블록이 리필링된다.
공간적 위치 배열의 원리가, 컴퓨터의 경우에 있어 활용되는데, 이것은 데이타 또는 명령을 저장하는 소정의 블록의 필요한 경우에, 데이타 또는 명령을 저장한 인접 블록이 또한 필요하게 되는 것과 매우 유사하다는 것을 나타내다. 전술한 모든 실시예에 있어서, 블록 N의 숫자는 4이다. 따라서, 자연적으로 서로 정렬되어지는 4블록은 캐쉬 메모리를 리필링하는데 사용된다. 상기 실시예에 있어서, 그 블록은 자연적으로 정렬된 4블록의 그룹에서 선택되는데, 그 4블록은 0 내지 3, 4 내지 7로서 그 그룹내에서 "미스"블록이 발견되는 경우 한 그룹으로서 페치(fetch)된다. 예를들면, 블록 2가 무효한 것으로 발견된다면 블록 0 내지 3이 페치될 것이다.
본 발명의 제 2 실시예는 PID 넘버와 유효 비트 모두에 관한 것으로서, 특히 다수의 상이한 프로그램 또는 프로세스가 거의 동일한 시간에 실행되는 다중-사용자 컴퓨터 시스템에 유용하다. 각 PID는 단일 CPU상에서 거의 동시에 실행되는 적어도 32 프로세스 또는 프로그램중의 하나를 참조하는 고유 넘버를 나타낸다. 이러한 실시예에 있어서, 유효 비트는 매경우의 미스 이후에 검사된다. 유효 비트가 오프인 경우, 그 상황은 제 1 실시예에서 기술한 것과 동일한 것으로 간주된다. 즉, 캐쉬 메모리 영역은 비어있고, N 블록 리필링이 발생한다. 유효 비트가 온인 경우, 두번째의 비교가 행해지는데, 이 경우는 실행중인 프로세스의 PID와 판독중인 특정 블록의 PID 사이의 비교를 말한다. 두개의 넘버가 일치하지 않는 경우, 실행중인 프로그램은 최근까지 CPU를 제어한 프로그램과 상이하며, 그 블록내에 포함된 데이타 또는 명령은 유용하지 않다. 따라서, 미스는 이예에서는 또한 N 블록으로서 리필링된다. 단지 유효 비트가 온되고, PID 넘버가 일치된 경우에만 미스는 한 블럭으로서 리필링된다. 이것으로 인해서, 실행되는 프로세스에 여전히 유전히 유용한 데이터에 대한 중복 기입을 방지할 수 있다.
또 다른 실시예에 의해서 최종 미스의 어드레스를 기억시킬 수 있다. 두번째 미스가 발생하는 경우, 2가지 미스의 위치가 비교된다. 그것이 동일 정렬 그룹의 블럭내에서 발생하는 경우, 예를들자면 블록 2와 3에서 발생하는 경우, 실행중인 프로그램은 새로운 영역으로 이동되어서, 새로운 데이타와 명령어를 필요로 하고, 미스가 N 블럭으로서 리필링되는 것을 가정해 볼수 있는데, 이러한 상태는 전술한 실시예 외에 새로 부가된 것이다.
또다른 실시예에 의해서도 미스 카운터를 제공할 수 있는데, 즉, 유효 비트가 오프 상태 및/또는 PID 넘버가 일치하지 않는 경우, 그 미스는 N 블럭으로서 리필링된다. 또한, 유효 비트가 온상태이고 PID 넘버가 일치되는 경우에도 발생하는 모든 판독 미스 트랙이 미스카운터에 의해 유지된다. 이러한 카운터의 계수가 소정의 한계값을 초과하는 경우에, 각 미스는 N 블럭으로서 리필링된다. 이 경우에, 실행중인 프로그램은 몇가지 천이를 거쳐 새로운 영역으로 점프하여 데이타 및 명령의 변경을 필요로 한다고 가정할 수 있다. 히트가 발생하지마자 그 카운터는 0으로 리세트된다. 이러한 실시예에 의해서 각 히트마다 카운터를 감소시키는 것이 선택적으로 고려될 수 있다. 카운터가 소정의 제 2 한계값 이하로 감소하는 경우에만, 미스가 한 블럭으로 리필링된다.
다른 실시예에 의해서, 정렬된 그룹의 블럭내에서 어느 블럭이 판독되는지가 검사된다. 나중의 두가지 실시예에서와 같이, 유효 비트가 오프 상태 및/또는 PID 넘버가 일치되지 않는 경우, 미스는 N 블럭으로서 리필링된다. 유효 비트가 온상태이고 PID 넘버가 일치되는 경우라도, 검사중인 블럭이 정렬된 그룹의 블럭내의 첫번째 블럭인 경우에, 그 미스는 N 블럭으로서 리필링된다. 이러한 판정은 임의 프로그램 및 데이타 세트의 트래픽 패턴을 기반으로 하고 있다.
본 발명은 전술한 실시예에 국한되지 않고 본 분야의 통상의 지식 소유자에 의해서 본 특허청구 범위에 개시되는 바와같이 본 발명의 사상 및 영역을 벗어나지 않는 범위내에서 여러가지로 수정 및 변경될 수 있다.

Claims (13)

  1. 컴퓨터내의 캐쉬 메모리에 정보를 전송하는 방법에 있어서, (a) 요구된 정보를 얻기 위해 캐쉬 메모리를 탐색하는 단계와; (b) 요구된 정보가 캐쉬 메모리에서 발견되지 않는 경우 미스 신호를 발생시키는 단계와; (c) 상기 단계(b)에 따라 미스 신호가 발생된 경우, 요구된 정보를 저장해야 하는 상기 캐쉬 메모리내의 데이타 블럭의 소정의 비트 상태를 결정하는 단계와; (d)상기 소정의 비트가 제 1 조건을 나타내는 상태를 갖는 경우, 상기 요구된 정보를 데이타 블럭을 포함하는 다수의 데이타 블록을 제 1 속도로 상기 캐쉬 메모리내에 필링시키는 단계와; (e) 상기 소정의 비트가 제 2 조건을 나타내는 상태를 갖는 경우, 요구된 정보를 포함하는 적어도 하나의 데이타 블록을 제 1 속도보다 느린 제 2 속도로 상기 캐쉬 메모리내에 필링시키는 단계를 포함하는 것을 특징으로 하는 정보 전송 방법.
  2. 정보를 컴퓨터의 캐쉬 메모리내에 필링시키는 방법에 있어서, (a) 요구된 정보를 얻기 위해 캐쉬 메모리를 탐색하는 단계와; (b) 상기 요구된 정보가 캐쉬 메모리에서 발견되지 않은 경우, 미스 신호를 발생시키는 단계와; (c) 상기 단계(b)에 따라 미스 신호가 발생하고, 상기 요구된 정보가 상기 캐쉬 메모리내에 없는 경우, 요구된 정보를 저장해야 하는 상기 캐쉬 메모리내의 데이타 블록의 소정의 비트 상태를 결정하는 단계와; (d) 상기 소정의 비트가 제 1 조건을 나타내는 상태를 갖는 경우, 상기 요구된 정보를 저장한 데이타 블록을 포함하는 다수의 데이타 블록을 제 1 속도로 상기 캐쉬 메모리내에 필링시키는 단계와; (e) 상기 요구된 정보가 할당되야만하는 상기 데이타 블록의 프로세스 식별 넘버를 상기 컴퓨터에 의해서 실행되는 프로세스의 프로세스 식별 넘버와 비교하는 단계와; (f) 상기 두가지 프로세스 식별 넘버가 일치하지 않는 경우, 상기 다수의 데이타 블록을 제 1 속도로 상기 캐쉬 메모리내에 필링시키는 단계와; (g) 상기 두가지 프로세스 식별 넘버가 일치하는 경우, 요구된 정보를 포함하는 적어도 하나의 데이타 블록을 제 1 속도보다 느린 제 2 속도로 상기 캐쉬 메모리내에 필링시키는 단계를 포함하는 것을 특징으로 하는 캐쉬 메모리 필링 방법.
  3. 정보를 컴퓨터의 캐쉬 메모리내에 필링시키는 방법에 있어서, (a) 요구된 정보를 저장해야 하는 상기 캐쉬 메모리내의 데이타 블록을 탐색하고, 상기 요구된 정보가 상기 캐쉬 메모리내에 없는 경우 미스 신호를 발생시키는 단계와; (b) 상기 (a)단계에서 발생된 미스 신호의 계수를 기억시키는 단계와; (c) 탐색된 상기 데이타 블록의 소정의 비트 상태를 결정하는 단계와; (d) 상기 소저으이 비트가 제 1 조건을 나타내는 상태를 갖는 경우, 요구된 정보를 저장한 데이타 블록을 포함하는 다수의 데이타 블록을 제 1 속도로 상기 캐쉬 메모리내에 필링시키는 단계와; (e) 상기 계수를 미스의 제 1 한계 넘버와 비교하는 단계와; (f) 상기 미스 신호 계수가 제 1 소정의 넘버를 초과한 경우, 다수의 데이타 블록을 제 1 속도로 상기 캐쉬 메모리내에 필링시키는 단계와; (g) 상기 미스 신호 계수가 상기 제 1 한계 넘버보다 작거나 같은 경우, 그리고 상기 소정의 비트가 제 2 조건을 나타내는 상태를 갖는 경우, 상기 정보를 포함하는 적어도 하나의 데이타 블록을 제 1 속도보다 느린 제 2 속도로 상기 캐쉬 메모리에 기입하는 단계와; (h)상기 데이타 블록에 대한 탐색 결과로서 히트(hit)될때마다, 상기 미스 신호의 계수를 감소시키고, 상기 미스 신호의 계수가 제 2 소정의 넘버이하로 될때마다 다수의 데이타의 블록을 제 1 속도로 상기 캐쉬 메모리에 계속해서 필링시키는 단계를 포함하는 것을 특징으로 하는 캐쉬 메모리 필링 방법.
  4. 제 3 항에 있어서, 상기 데이타 블록에 대한 탐색 결과로서 히트될때마다, 상기 단계(b)는 상기 계수를 0으로 감소시키는 것을 특징으로 하는 캐쉬 메모리 필링 방법.
  5. 제 1 항에 있어서, 상기 캐쉬 메모리를 탐색한 결과로서 미스 신호가 발생된 경우, 상기 미스의 위치를 기억시키는 단계와; 상기 기억된 미스의 위치를 다음번에 발생하는 미스의 위치와 비교하는 단계와; 상기 미스 위치와 상기 다음 발생 미스 위치가 소정의 넘버의 데이타 블록내에서 떨어져 있는 경우, 다수의 데이타 블록을 상기 제 1 속도로 상기 캐쉬 메모리내에 필링시키는 단계를 추가로 포함하는 것을 특징으로 하는 정보 전송 방법.
  6. 제 5 항에 있어서, 상기 소정의 거리는 동일하게 정렬된 그룹의 블록인 것을 특징으로 하는 방법.
  7. 정보를 컴퓨터의 캐쉬 메모리내에 필링시키기 위한 장치에 있어서, 데이타 블록의 소정의 비트가 제 1 조건 또는 제 2 조건을 나타내는지의 여부에 관해 상기 캐쉬 메모리내의 상기 데이타 블록의 소정의 비트상태를 결정하는 수단과; 상기 소정의 비트가 상기 제 1 조건을 나타내는 경우에 제 1 속도로, 그리고 상기 비트가 상기 제 2 조건을 나타내는 경우에는 상기 제 1 속도 보다 느린 제 2 속도로 데이타 블록들을 상기 캐쉬 메모리내에 필링시키는 수단을 구비하는 것을 특징으로 하는 캐쉬 메모리 필링 장치.
  8. 제 6 항에 있어서, 상기 데이타 블록의 프로세스 식별 넘버를 상기 컴퓨터에 의해 실행중인 프로세스의 프로세스 식별 넘버와 비교하는 수단을 추가로 구비하는데, 상기 캐쉬 메모리 필링 수단은 상기 비교수단에 의한 상기 프로세스 식별 넘버들의 비교에 근거하여 제 1 속도 또는 제 2 속도로 상기 데이타 블록을 필링시키는 것을 특징으로 하는 캐쉬 메모리 필링 장치.
  9. 제 7 항에 있어서, 상기 캐쉬 메모리는 전송 버퍼인 것을 특징으로 하는 캐쉬 메모리 필링 장치.
  10. 제 1 항에 있어서, 상기 제 1 속도의 경우, 제 1 소정의 시간 주기당 4데이타 블록의 속도로 상기 캐쉬 메모리를 필링시키고, 상기 제 2 속도의 경우 상기 제 1 소정의 시간 주기당 1데이타 블록의 속도로 상기 캐쉬 메모리를 필링시키는 것을 특징으로 하는 정보 전송 방법.
  11. 제 3 항에 있어서, 탐색된 상기 데이타 블록의 프로세스 식별 넘버를 상기 컴퓨터에 의해 실행중인 프로세스의 프로세스 식별 넘버와 비교하는 단계를 추가로 포함하는데, 상기 두가지의 프로세스 식별 넘버가 동일한 경우 상기 캐쉬 메모리를 필링시키기 위해 상기 제 2 속도가 이용되는 것을 특징으로 하는 캐쉬 메모리 필링 방법.
  12. 제 1 항에 있어서, 상기 캐쉬 메모리를 탐색한 결과로서 미스 신호가 발생된 경우, 상기 미스의 위치를 기억시키는 단계와; 상기 기억된 미스 위치를 다음번에 발생하는 미스의 위치와 비교하는 단계와; 상기 기억된 미스 위치가 상기 다음번에 발생하는 미스 위치와 상기 기억된 미스 위치에 의해 결정되는 것처럼 정렬된 블록그룹내의 제 1 블록인 경우, 제 1 속도 다수의 블록을 상기 캐쉬 메모리내에 필링시키는 단계를 추가로 포함하는 것을 특징으로 하는 정보 전송 방법.
  13. 제 1 항에 있어서, 요구된 정보가 할당되어야 하는 캐쉬 메모리내에 데이타 블록의 프로세스 식별 넘버를 컴퓨터에 의해 실행중인 프로세스의 프로세스 식별 넘버와 비교하는 단계를 추가로 포함하는데, 상기 두가지 프로세스 식별넘버가 동일한 경우 상기 캐쉬 메모리는 상기 제 2 속도로 필링되는 것을 특징으로 하는 정보 전송 방법.
KR1019890701200A 1988-04-01 1989-03-30 적어도 2가지 필사이즈를 갖는 캐쉬 메모리 KR930002786B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US17659688A 1988-04-01 1988-04-01
US176.596 1988-04-01
US176,596 1988-04-01
PCT/US1989/001314 WO1989009444A1 (en) 1988-04-01 1989-03-30 Cache with at least two fill sizes

Publications (2)

Publication Number Publication Date
KR900700959A KR900700959A (ko) 1990-08-17
KR930002786B1 true KR930002786B1 (ko) 1993-04-10

Family

ID=22645015

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019890701200A KR930002786B1 (ko) 1988-04-01 1989-03-30 적어도 2가지 필사이즈를 갖는 캐쉬 메모리

Country Status (6)

Country Link
EP (1) EP0359815B1 (ko)
JP (1) JP2700148B2 (ko)
KR (1) KR930002786B1 (ko)
CA (1) CA1314107C (ko)
DE (1) DE68924896T2 (ko)
WO (1) WO1989009444A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1182562B1 (en) * 2000-08-21 2011-05-11 Texas Instruments France Smartcache with interruptible block prefetch
US7162588B2 (en) 2002-08-23 2007-01-09 Koninklijke Philips Electronics N.V. Processor prefetch to match memory bus protocol characteristics

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4392200A (en) * 1980-01-28 1983-07-05 Digital Equipment Corporation Cached multiprocessor system with pipeline timing
US4442488A (en) * 1980-05-05 1984-04-10 Floating Point Systems, Inc. Instruction cache memory system
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
US4489378A (en) * 1981-06-05 1984-12-18 International Business Machines Corporation Automatic adjustment of the quantity of prefetch data in a disk cache operation

Also Published As

Publication number Publication date
KR900700959A (ko) 1990-08-17
WO1989009444A1 (en) 1989-10-05
EP0359815A4 (en) 1992-04-01
EP0359815A1 (en) 1990-03-28
DE68924896D1 (de) 1996-01-04
JP2700148B2 (ja) 1998-01-19
EP0359815B1 (en) 1995-11-22
JPH02500552A (ja) 1990-02-22
DE68924896T2 (de) 1996-07-25
CA1314107C (en) 1993-03-02

Similar Documents

Publication Publication Date Title
US5038278A (en) Cache with at least two fill rates
US6038647A (en) Cache memory device and method for providing concurrent independent multiple accesses to different subsets within the device
US4980823A (en) Sequential prefetching with deconfirmation
JP3618385B2 (ja) データをバッファリングする方法およびそのシステム
US5630097A (en) Enhanced cache operation with remapping of pages for optimizing data relocation from addresses causing cache misses
US6401181B1 (en) Dynamic allocation of physical memory space
US5003459A (en) Cache memory system
US5214770A (en) System for flushing instruction-cache only when instruction-cache address and data-cache address are matched and the execution of a return-from-exception-or-interrupt command
CN101361049B (zh) 用于高级高速缓存驱逐候选对象标识的巡查窥探
US5442571A (en) Method and apparatus for cache miss reduction by simulating cache associativity
US7472253B1 (en) System and method for managing table lookaside buffer performance
US20070094450A1 (en) Multi-level cache architecture having a selective victim cache
US6578111B1 (en) Cache memory system and method for managing streaming-data
US4825412A (en) Lockout registers
JPH02281350A (ja) キヤツシユ・メモリ管理
US7386679B2 (en) System, method and storage medium for memory management
US6842826B1 (en) Method and apparatus for providing efficient management of least recently used (LRU) algorithm insertion points corresponding to defined times-in-cache
US5717888A (en) Accessing cached data in a peripheral disk data storage system using a directory having track and cylinder directory entries
US7549035B1 (en) System and method for reference and modification tracking
US7177980B2 (en) Cache storage system and method
KR930002786B1 (ko) 적어도 2가지 필사이즈를 갖는 캐쉬 메모리
JPH0743671B2 (ja) キャッシュ・メモリ制御方式
WO2002027498A2 (en) System and method for identifying and managing streaming-data
KR920005296B1 (ko) 정보처리장치
JP2700147B2 (ja) 命令キャッシュ・フラッシュ・オン・rei制御

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
G160 Decision to publish patent application
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee