KR100238996B1 - 캐쉬메모리(cash memory)제어방법 - Google Patents
캐쉬메모리(cash memory)제어방법 Download PDFInfo
- 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
Links
Classifications
-
- 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
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
제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)
- 프로세서의 참조하는 데이터가 기억된 주메모리를 억세스하지 않고 해당 데이터를 참조하기 위해, 상기 프로세서의 내부의 내부캐쉬메모리와 상기 프로세서와 독립으로 2차캐쉬메모리를 설치한 시스템에 있어서, 상기 내부 캐쉬메모리 및 상기 2차캐쉬메모리에 빈영역이 존재하는가 아닌가를 감시하는 캐쉬메모리 모니터장치를 구비하고, 상기 프로세서에 의해 데이터참조시에 상기 내부 캐쉬메모리에 미스히트한 2차 캐쉬메모리에 히트한 경우에는 내부캐쉬메모리에 빈 영역이 존재하지 않는 한, 내부 캐쉬메모리에 해당 데이터를 기억시키지 않는 것으로 하고, 상기 프로세서에 의한 데이터 참조시에 상기 캐쉬메모리 및 2차 캐쉬메모리 모두에 미스히트한 경우에는 모두에 빈 영역이 존재하지 않으면 내부 캐쉬메모리에만 해당데이터를 기억시키는 것을 특징으로 하는 캐쉬메모리 제어방법.
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3068469B2 (ja) | 1996-08-28 | 2000-07-24 | 新潟日本電気株式会社 | 2次レベルキャッシュメモリシステム |
-
1991
- 1991-01-21 JP JP3020540A patent/JPH04288644A/ja active Pending
- 1991-12-06 KR KR1019910022274A patent/KR100238996B1/ko not_active IP Right Cessation
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 |