KR100238996B1 - 캐쉬메모리(cash memory)제어방법 - Google Patents

캐쉬메모리(cash memory)제어방법 Download PDF

Info

Publication number
KR100238996B1
KR100238996B1 KR1019910022274A KR910022274A KR100238996B1 KR 100238996 B1 KR100238996 B1 KR 100238996B1 KR 1019910022274 A KR1019910022274 A KR 1019910022274A KR 910022274 A KR910022274 A KR 910022274A KR 100238996 B1 KR100238996 B1 KR 100238996B1
Authority
KR
South Korea
Prior art keywords
cache memory
data
stored
internal
memory
Prior art date
Application number
KR1019910022274A
Other languages
English (en)
Other versions
KR920015203A (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 KR920015203A publication Critical patent/KR920015203A/ko
Application granted granted Critical
Publication of KR100238996B1 publication Critical patent/KR100238996B1/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

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

프로세서(11)의 내부에 내부 캐쉬메모리(7)를 프로세서(11)와는 별도로, 2차 캐쉬메모리(4)를 준비하여, 내부 캐쉬메모리(7)의 내용과 2차 캐쉬 메모리(4)의 내용의 중복을 감소시켜, 힛트의 확율을 향상시킨다.
내부 캐쉬메모리(7)와 2차 캐쉬메모리(4)의 기억상황, 즉, 새로운 데이타의 기억이 허용되는 빈영역의 유무를 감시하고, 이 빈영역의 발생상황에 따라서, 내부 캐쉬메모리(7)와 2차 캐쉬메모리(4)의 데이타의 기억을 선택한다.

Description

캐쉬메모리(cash memory) 제어방법
제1도는 본 발명에 관계된 계산기 시스템의 개념도.
제2도는 종래의 계산기 시스템의 개념도.
제3도는 종래의 캐쉬 메모리 제어방법의 플로우 챠트.
제4도는 캐쉬 모니터 장치의 개념도.
제5도는 본 발명의 캐쉬메모리 제어방법의 플로우 챠트.
〈도면의 주요부분에 대한 부호의 설명〉
3 : 주 메모리 4 : 2차 캐쉬메모리
7 : 내부 캐쉬메모리 11 : 프로세서(CPU)
12 : 캐쉬 모니터장치
본 발명은 프로세서의 데이타 참조를 고속화하기 위한 캐쉬메모리를 제어하는 캐쉬메모리 제어방법에 관한 것이다.
계산기 시스템에 있어서, 각종 연산처리를 실행하는 프로세서와, 프로세서를 참조하는 각종 데이타를 격납하는 주 메모리가 준비된다.
이와 같은 시스템에 있어서 프로세서는, 연산처리를 실행하는 경우, 필요에 따라 주 메모리로 부터 데이타를 독출하게 된다.
또, 보다 고속도의 연산처리를 실현하기 위해, 캐쉬메모리를 준비하여, 주 메모리의 액세스 빈도를 감소시키는 수법이 이용된다.
제 2 도에, 종래의 계산기 시스템의 개념도를 나타낸다.
도면에 나타낸 계산기 시스템(1)은 프로세서(CPU)(2), 주 메모리(3), 2차 캐쉬메모리(4)가 설치되고, 각가 CPU버스 (5)에 접속되어 있다.
또, CPU(2)와 2차 캐쉬메모리(4)는 로칼버스(6)를 통해서 접속되어 있다.
CPU(2)는 주메모리(3)에 격납된 데이타를 참조하여 각종 연산을 실행하는 것으로, 그 내부에 내부 캐쉬메모리(7)가 설치되어 있다.
주 메모리(3)는 CPU(2)를 참조하는 데이타를 격납하는 RAM등으로 이루어진다.
2차 캐쉬메모리(4)는 CPU(2)를 참조하는 주 메모리(3)의 데이타의 일부를 격납하는 RAM등으로 이루어진 것으로, 주 메모리(3) 보다도 고속도로 프로세서(2)가 데이타를 액세스할 수 있는 것이다.
이상의 구성의 계산기 시스템(1)의 동작(캐쉬 메모리 제어방법)을 제 3 도를 참조하면서 설명한다.
제 3 도는 종래의 캐쉬메모리 제어방법의 플로우 챠트이다.
먼저, 프로세서(2)에 데이터(주 메모리 3 에 기억된 데이터)를 참조하는 사태가 발생하면(스텝 S21), CPU(2)는 우선 처음에 내부 캐쉬메모리(7)에 목적으로 하는 데이타가 기억되어 있는지 여부를 판단한다. (스텝 S2)
이 결과가 예, 즉 내부 캐쉬메모리(7)에 목적으로 하는 데이타가 기억되어 있는 경우(힛트의 경우), CPU(2)는 내부 캐쉬메모리(7)에서 데이타를 읽어내고(스텝 S3), 데이타 획득에 관계되는 처리를 종료하여, 연산처리를 실행하게 된다.
스텝 S2의 결과가 아니오인 경우, 즉, 내부 캐쉬메모리(7)에 목적의 데이타가 기억되어 있지 않은 경우(미스 힛트의 경우), CPU(2)는 2차 캐쉬메모리(4)에 목적으로 하는 데이타가 기억되어 있는가 여부를 판단한다(스텝 S4).
이 결과가 예, 즉, 2차 캐쉬메모리(4)에 목적의 데이타가 기억되어 있는 경우(힛트의 경우), CPU(2)는 2차 캐쉬메모리(4)에서 데이타를 읽어내어, 내부 캐쉬메모리(7)에 기억시킨다(스탭 5).
이에 의해서, 내부 캐쉬메모리(4)에는 새롭게 2차 캐쉬메모리(4)에서 읽어낸 데이타가 기억되고, CPU(2)는 읽어낸 데이타에 대응하는 연산처리를 실행하게 된다.
스텝 S4의 결과가 아니오인 경우, CPU(2)는 주 메모리(3)을 액세스 하고, 목적의 데이타를 읽어내, 2차 캐쉬메모리 및 내부 캐쉬메모리에 기억시킨다(스텝 S6).
이것에 의해, 2차 캐쉬메모리(4) 및 내부 캐쉬메모리(7)에는 새롭게 주 메모리(3)에서 읽어낸 데이타가 기억되고, CPU(2)는 읽어낸 데이타에 대응하는 연산처리를 실행하게 된다.
또한, CPU(2)는 내부 캐쉬메모리(7) 및 2차 캐쉬메모리(4)에 격납된 데이타의 참조빈도를 감시하고, 미리 설정된 일정한 참조빈도 이하의 데이타가 기억된 영역은 새로운 데이터의 기억을 허용하는 빈 영역으로 설정한다.
또, 빈 영역이 존재하지 않는 상태에서 새로운 데이터를 기억하지 않으면 안되는 사태가 발생했을 경우, CPU(2)는 참조빈도가 낮은 데이타가 기억된 영역에, 새로운 데이타를 기억한다.
그런데, 종래의 캐쉬메모리 제어방법은, 내부 캐쉬메모리(7)에 있어서 미스힛트하여 2차 캐쉬 메모리(4)에 힛트 했을 경우, 2차 캐쉬메모리(4)에 있어서 힛트한 데이타를 무조건으로 내부 캐쉬메모리(7)에 기억하고 있다.
또, 내부 캐쉬메모리(7) 및 2차 캐쉬메모리(4) 공히 미스 힛트했을 경우에도, 무조건 내부 캐쉬메모리(7) 및 2차 캐쉬메모리(4)에 주메모리(3)에서 읽어낸 데이터를 기억하고 있다.
이때문에, 내부 캐쉬메모리(7) 및 2차 캐쉬메모리(4)에 동일한 데이타가 기억되는 사태가 많이 발생하는 것에 의해, 내부 캐쉬메모리(7)에 있어 미스 힛트한 경우, 2차 캐쉬메모리(4)에 있어서도 미스힛트 하고마는 확율이 높아져, 2개의 캐쉬메모리를 설치하는 유효성이 낮은 문제가 생겼었다.
내부 캐쉬메모리(7)와 2차 캐쉬메모리(4)의 내용이 상이할 정도로, 어느 캐쉬메모리에서 힛트하는 빈도가 높아져 유효성이 높아지고, 주 메모리(3)을 참조하는 빈도가 낮아지게 된다.
본 발명은 이상의 점에 착안하여 이루어진 것으로, 2개의 캐쉬메모리에 있어서 미스 힛트하는 빈도를 억제하여 2개의 캐쉬메모리를 유효성을 최대한 발휘할 수 있도록한 캐쉬메모리 제어방법을 제공하는 것을 목적으로 하고 있는 것이다.
본 발명의 캐쉬메모리 제어방법은, 프로세서를 참조하는 데이타가 기억된 주 메모리를 액세스하지 않고 그 데이터를 참조하기 위한 상기 프로세서의 내부의 내부 캐쉬메모리와, 상기 프로세서와는 독립적으로 2차 캐쉬메모리를 설치한 시스템에 있어서, 상기 내부 캐쉬메모리 및 상기 2차 캐쉬메모리에 각각 기억된 전기데이타가 무효로되고, 새로운 데이타의 기억이 가능한 빈 영역이 존재하는가 여부를 감시하여 상기 데이타를 상기 내부 캐쉬메모리 및 상기 2차 캐쉬메모리에 기억시키는 경우, 상기 빈 영역이 상기 내부 메모리 및 상기 2차 캐쉬메모리의 어느것에도 존재하지 않을 때에는, 상기 내부 캐쉬메모리에만 상기 데이타를 기억시키고, 그 이외의 때에는, 상기 빈 영역에 상기 데이타를 기억시키는 것이다.
제 1 도에 본 발명에 관한 계산기 시스템의 개념도를 나타낸다.
도면에 나타낸 계산기 시스템(10)은 프로세서(CPU)(11), 주 메모리 (3), 2차 캐쉬메모리(4), 캐쉬 모니터장치(12)가 설치되고, 각각 CPU버스(5)에 접속되어 있다.
또, 캐쉬 모니터장치(12)는 로칼버스(13), (14)을 통해서 CPU2 및 2차 캐쉬메모리(4)에 접속되어 있다.
CPU(11)는 주 메모리(3)에 격납된 데이타를 참조하여 각종 연산을 실행하는 것으로 그 내부에 내부 캐쉬메모리(7)가 설치되어 있다.
주 메모리(3)는 CPU(11)를 참조하는 데이타를 격납하는 RAM등으로 이루어져 있는 것이다.
2차 캐쉬메모리(4)는 CPU(11)를 참조하는 주 메모리(3)의 데이타의 일부를 격납하는 RAM등으로 이루어진 것으로, 주 메모리(3) 보다도 고속도로 CPU(11)가 데이타를 액세스할 수 있는 것이다.
내부 캐쉬메모리(7)는 CPU(11)를 참조하는 데이타를 일시 격납하는 RAM 등의 내부기억장치를 구성하는 것으로, 2차 캐쉬메모리(4)보다도 고속도로 CPU(11)가 데이타를 액세스할 수 있는 것이다.
캐쉬 모니터장치(12)는 내부 캐쉬메모리(7) 및 2차 캐쉬메모리(4)의 데이타를 격납하는 영역이 빈영역(새로운 데이터의 기억이 허용되는 영역)인가의 여부를 관리하는 테이블을 구비하는 것이다.
제 4 도에 캐쉬 모니터장치(12)의 개념도를 나타낸다.
도면에 나타낸 바와 같이, 캐쉬 모니터장치(12)에는 내부 캐쉬메모리(7)의 각 영역의 상태를 나타내는 내부 캐쉬테이블(15)과, 2차 캐쉬 메모리(4)의 각 영역의 상태를 나타내는 2차 캐쉬테이블(16)이 설치되어 있다.
내부 캐쉬메모리(7)의 영역은 n개, 2차 캐쉬메모리(4)의 영역에 m개 준비되어 있다고 하면, 내부 캐쉬테이블(15)에는 항복 KA1-KAn, 2차 캐쉬테이블(16)에는 항목 KB1~KBm 이 설치된다.
각각의 항목은, 예를들면 내용(1)의 경우, 데이타의 기억에 사용중인 사용영역을 나타내고, 내용(0)의 경우, 새로운 데이타의 기억이 허용된 빈 영역을 나타낸다.
여기서, 제 1 도로 돌아가서, 본 발명에 관한 계산기 시스템(10)의 동작(본 발명의 캐쉬메모리 제어방법)을 제 5 도를 참조하면서 설명한다.
제5도는 본 발명의 캐쉬메모리 제어방법의 플로우 챠트이다.
먼저, CPU(11)에 테이타(주메모리 3 에 기억된 데이타)를 참조하는 사태가 발생하면(스텝 S11), CPU(11)는 먼저, 처음에 내부 캐쉬메모리(7)에 목적으로 하는 데이타가 기억되어 있는가 여부를 판단한다. (스텝 S12).
이 결과 예, 즉, 내부 캐쉬메모리(7)에 목적으로 하는 데이타가 기억되어있는 경우(힛트의 경우), CPU(11)는 내부 캐쉬메모리(7)에서 데이타를 읽어내고(스텝 S13), 데이타 획득에 관한 처리를 종료하여 연산처리를 실행하게 된다.
스텝 S12의 결과가 아니오인 경우, 즉 내부 캐쉬메모리(7)에 목적의 데이타가 기억되어 있지 않은 경우(미스 힛트의 경우), CPU(11)는 2차 캐쉬메모리(4)에 목적으로 하는 데이타가 기억되어 있는가를 판단한다.(스텝 S14)
이 결과가 예, 즉, 2차 캐쉬메모리(4)에 목적 데이터가 기억되고 있는경우(힛트의 경우), CPU(11)는 2차 캐쉬메모리(4)에서 데이타를 읽고, 캐쉬 모니터장치(12)의 내부 캐쉬테이블(15)의 검색을 행한다.
이 검색의 결과, 내용(0)의 항목(항목 KAn)이 존재한 경우 읽어낸 데이타를 이 항목에 대응하는 영역에 기억시키고, CPU(11)은 읽어낸 데이타에 대응하는 연산처리를 실행한다(스텝 S15).
또한, 스텝 S15 에서 검색의 결과, 내용(0)의 항목이 존재하지 않는 경우, CPU(11)는 2차 캐쉬메모리에서 읽어낸 데이타의 내부 캐쉬메모리에 기억을 실행하지 않고 바로 연산처리를 실행한다.
스텝 S14의 결과가 아니오인 경우, 즉 2차 캐쉬메모리(4)에 목적 데이타가 기억되어 있지 않은 경우(미스힛트의 경우), CPU(11)는 캐쉬 모니터장치(12)의 내부 캐쉬테이블(15) 및 2차 캐쉬테이블(16)의 검색을 행한다.
이 검색의 결과, 내용(0)의 항목(항목 KAn, KAm)이 존재한 경우, 읽어낸 데이타를 이 항목에 대응하는 영역에 기억시키고, CPU(11)는 읽어낸 데이타에 대응하는 연산처리를 실행한다 (스텝 S16).
또한, 스텝 S16 에서 검색의 결과, 내용(0)의 항목이 존재하지 않은 경우, CPU(11)는 주 메모리(3)에서 읽어낸 데이타를 내부 캐쉬메모리(7)의 영역내, 참조 빈도의 가장 낮은 영역에 기억시킨다.
또한, CPU(11)는 내부 캐쉬메모리(7) 및 2차 캐쉬메모리(4)에 격납된 데이타의 참조빈도를 감시하고, 미리 설정된 일정한 참조빈도 이하의 데이타가 기억된 영역을 새로운 데이터의 기억을 허용하는 빈영역으로 설정하는 처리는, 종래와 같이 실시되어, 영역을 데이타의 기억에 사용하는 경우 및 빈영역으로 설정할 때 캐쉬 모니터장치(12)에 사용 및 빈 항목을 통지한다.
캐쉬 모니터장치(12)는 이 통지를 받으면 내부 캐쉬테이블(15) 및 2차 캐쉬테이블(16)의 해당하는 항목의 내용을 변경한다.
이상 설명한 바와 같이, 본 발명의 캐쉬메모리 제어방법은, 내부 캐쉬메모리(7)에 미스 힛트하여 2차 캐쉬메모리(4)에 힛트한 경우, 내부 캐쉬메모리(7)에 빈영역이 존재하지 않는 한, 2차 캐쉬메모리(4)에서 내부 캐쉬메모리(7)로의 데이타 전송을 실시하지 않기 때문에, 내부 캐쉬메모리(7)와 2차 캐쉬메모리(4)에 중복된 데이타를 기억하는 사태를 회피한다.
또, 내부 캐쉬메모리(7) 및 2차 캐쉬메모리(4) 공히 미스 힛트 했을 경우, 빈 영역이 존재하는 경우에는 그 빈영역에 새로운 데이타를 기억시키고, 빈 영역이 존재하지않는 경우에는 내부 캐쉬메모리(7)에만 새로운 데이타의 기억을 실행하기 위해서, 빈 영역이 존재하지 않음에도 불구하고, 중복된 데이터를 기억하는 사태를 회피한다.
본 발명은 이상의 실시예에 한정하지 않는다.
본 실시예에서는 주 메모리(3)을 RAM으로서 설명했지만, 자기 기억 장치등의 기억장치에 있어서도 적용할 수 있다.
또, 캐쉬모니터 장치(12)는 독립하여 설치되는 것이 아니고, 예를들면 프로세서(11)의 기능의 일부로서 구성하는 것도 가능하다.
그리고, 내부 캐쉬메모리(7) 및 2차 캐쉬메모리의 양자에 있어서 미스힛트하고, 또한, 양자에 빈 영역이 존재했을 경우, 새로운 데이타를 양자에 기억시키지 않고, 내부 캐쉬메모리(7)만이 격납하도록 해도 상관없다.
이상 설명한 바와 같이, 본 발명의 캐쉬메모리 제어방법에 의하면, 내부 캐쉬메모리와 2차 캐쉬메모리의 내용이 극히 다르도록 데이타의 기억을 행하기 때문에 내부 캐쉬메모리와 2차 캐쉬메모리를 합한 힛트의 확율을 향상시킬 수 있다.

Claims (1)

  1. 프로세서의 참조하는 데이터가 기억된 주메모리를 억세스하지 않고 해당 데이터를 참조하기 위해, 상기 프로세서의 내부의 내부캐쉬메모리와 상기 프로세서와 독립으로 2차캐쉬메모리를 설치한 시스템에 있어서, 상기 내부 캐쉬메모리 및 상기 2차캐쉬메모리에 빈영역이 존재하는가 아닌가를 감시하는 캐쉬메모리 모니터장치를 구비하고, 상기 프로세서에 의해 데이터참조시에 상기 내부 캐쉬메모리에 미스히트한 2차 캐쉬메모리에 히트한 경우에는 내부캐쉬메모리에 빈 영역이 존재하지 않는 한, 내부 캐쉬메모리에 해당 데이터를 기억시키지 않는 것으로 하고, 상기 프로세서에 의한 데이터 참조시에 상기 캐쉬메모리 및 2차 캐쉬메모리 모두에 미스히트한 경우에는 모두에 빈 영역이 존재하지 않으면 내부 캐쉬메모리에만 해당데이터를 기억시키는 것을 특징으로 하는 캐쉬메모리 제어방법.
KR1019910022274A 1991-01-21 1991-12-06 캐쉬메모리(cash memory)제어방법 KR100238996B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP91-020540 1991-01-21
JP3020540A JPH04288644A (ja) 1991-01-21 1991-01-21 キャッシュメモリ制御方法

Publications (2)

Publication Number Publication Date
KR920015203A KR920015203A (ko) 1992-08-26
KR100238996B1 true KR100238996B1 (ko) 2000-01-15

Family

ID=12029991

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019910022274A KR100238996B1 (ko) 1991-01-21 1991-12-06 캐쉬메모리(cash memory)제어방법

Country Status (2)

Country Link
JP (1) JPH04288644A (ko)
KR (1) KR100238996B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3068469B2 (ja) 1996-08-28 2000-07-24 新潟日本電気株式会社 2次レベルキャッシュメモリシステム

Also Published As

Publication number Publication date
KR920015203A (ko) 1992-08-26
JPH04288644A (ja) 1992-10-13

Similar Documents

Publication Publication Date Title
US5664148A (en) Cache arrangement including coalescing buffer queue for non-cacheable data
US4774654A (en) Apparatus and method for prefetching subblocks from a low speed memory to a high speed memory of a memory hierarchy depending upon state of replacing bit in the low speed memory
US5241664A (en) Multiprocessor system
US7979643B2 (en) Method for tuning a cache
US8010747B2 (en) Method for tracking of non-resident pages
US6047357A (en) High speed method for maintaining cache coherency in a multi-level, set associative cache hierarchy
EP0139407B1 (en) Data select match
US6701393B1 (en) Systems and methods for managing storage location descriptors
US5289588A (en) Interlock acquisition for critical code section execution in a shared memory common-bus individually cached multiprocessor system
US5586296A (en) Cache control system and method for selectively performing a non-cache access for instruction data depending on memory line access frequency
JPS63195752A (ja) キヤツシユメモリ−
US9842058B2 (en) Locking entries into translation lookaside buffers
US4716524A (en) Apparatus and method removing increment/decrement pairs to decimate a block reference stream
KR100851738B1 (ko) 로우-레벨 캐시를 포함한 액세스 촉진용 리버스 디렉토리
KR20070040340A (ko) 소형 캐시 시스템에서 원자적 보존 라인에 라이트백하는것을 배제하는 방법 및 시스템
KR100238996B1 (ko) 캐쉬메모리(cash memory)제어방법
JPS638851A (ja) キャッシュ・メモリ制御方式
US6839806B2 (en) Cache system with a cache tag memory and a cache tag buffer
US6282616B1 (en) Caching managing method for network and terminal for data retrieving
GB2250114A (en) Multiple processor data processing system with cache memory
EP1314090B1 (en) Method and system for translation lookaside buffer coherence in multi-processor systems
JPH03230238A (ja) キャッシュメモリ制御方式
US11182299B2 (en) Data acquisition method, microprocessor and apparatus with storage function
KR0152398B1 (ko) 다중 캐시 시스템에서 지연 스누우핑 장치
JPH01228036A (ja) キャッシュメモリ

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20061011

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee