KR101697515B1 - 캐시 라인의 태그 거리 상관관계를 이용한 캐시 교체 방법 및 임베디드 시스템 - Google Patents

캐시 라인의 태그 거리 상관관계를 이용한 캐시 교체 방법 및 임베디드 시스템 Download PDF

Info

Publication number
KR101697515B1
KR101697515B1 KR1020150178863A KR20150178863A KR101697515B1 KR 101697515 B1 KR101697515 B1 KR 101697515B1 KR 1020150178863 A KR1020150178863 A KR 1020150178863A KR 20150178863 A KR20150178863 A KR 20150178863A KR 101697515 B1 KR101697515 B1 KR 101697515B1
Authority
KR
South Korea
Prior art keywords
cache
cache line
lru
tag
line
Prior art date
Application number
KR1020150178863A
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 전남대학교산학협력단
Priority to KR1020150178863A priority Critical patent/KR101697515B1/ko
Application granted granted Critical
Publication of KR101697515B1 publication Critical patent/KR101697515B1/ko

Links

Images

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
    • 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/0891Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using clearing, invalidating or resetting means
    • 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
    • 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/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/122Replacement control using replacement algorithms of the least frequently used [LFU] type, e.g. with individual count value
    • 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/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/123Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
    • 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/601Reconfiguration of cache memory

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

캐시 라인의 태그 거리 상관관계를 이용한 캐시 교체 방법 및 임베디드 시스템{Cache replacement algorithm for last-level caches by exploiting tag-distance correlation of cache lines and embedded systems}
본 발명은 캐시 교체 방법 및 임베디스 시스템에 관한 것으로, 보다 구체적으로는 라스트 레벨 캐시의 각 캐시 라인 태그와 요청된 명령어 블록의 태그 사이의 상관관계를 고려하여 주 메모리로의 접근을 감소시킴으로써 시스템을 성능을 향상시킬 수 있는 캐시 교체 방법 및 임베디드 시스템에 관한 것이다.
캐시(cache)란 주 메모리에서 읽어들인 명령어나 프로그램들로 채워지는 버퍼 형태의 고속 기억 장치를 의미하는 것으로 주 메모리와 프로세서 코어 사이에 위치하는 고속 버퍼 메모리이다.
또한, 캐시는 캐시 메모리 또는 로컬 메모리라고도 하며, 기억 용량은 적지만 주 메모리에 비해 고속으로 액세스할 수 있는 장점이 있다.
또한, 캐시는 프로세서 코어와 함께 하나의 프로세서 장치로 불리기도 한다.
또한, 캐시는 프로세서 코어가 가장 먼저 접근하는 L1 캐시와 L1 캐시에서 명령어 인출에 미스(miss)가 발생할 때 접근하는 L2 캐시로 구분할 수 있으며, L2 캐시는 라스트 레벨 캐시(LLC:Last Level Cache)라고도 한다.
도 1은 기존의 캐시 교체 방법을 설명하기 위한 것으로 LRU 교체 기법을 설명하기 위한 도면이다.
LRU란 least recently used의 약자로 최근에 가장 오랫동안 사용되지 않은 캐시 라인(캐시 블록이라고도 함)을 교체하는 기법을 LRU 교체 기법이라고 한다.
도 1을 참조하면, 먼저, 종래의 LRU 교체 기법은 먼저, 프로세서 코어(10)에서 명령어 요청이 발생하면 L1 캐시(20)로 접근하여 요청된 명령어가 존재하는지 판단한 후, 명령어가 존재할 경우 인출하고 종료하고 그렇지 않을 경우(미스(miss)가 발생할 경우) 라스트 레벨 캐시(30)로 접근하여 요청된 명령어가 존재하는지 판단한다.
만약, 라스트 레벨 캐시(30)에 요청된 명령어가 존재할 경우 명령어를 인출하고 인출된 명령어를 L1 캐시에 저장한다. 그러나 라스트 레벨 캐시(30)에 요청된 명령어가 존재하지 않을 경우 주 메모리(40)에 접근하여 명령어를 인출하고 인출된 명령어는 라스트 레벨 캐시(30)와 L1 캐시(20)에 저장된다.
이때 라스트 레벨 캐시(30)의 LRU 위치에 존재하는, 즉, 최근 사용 빈도가 가장적은 캐시 라인을 희생(evict)시키고 LRU 위치에 Pre-LRU 캐시 라인이 이동한다. 또한, 인출된 명령어는 MRU(Most Recently Used) 위치에 교체되고, 이전에 MRU 위치에 저장된 캐시 라인과 MRU 및 Pre-LRU 사이의 캐시 라인들은 LRU 위치를 향해 한 칸씩 이동한다.
이러한 종래의 LRU 교체 기법은 최근 많이 사용된 캐시 라인을 라스트 레벨 캐시(30)에 갱신하여 저장할 수 있어 명령어의 클럭당 명령어 처리수(IPC:Instruction per Clock)를 증가시킬 수 있으나, LRU 위치에 한번 위치하는 캐시 라인이 바로 희생되므로 다시 참조될 수 있을 가능성이 무시되는 문제점이 있다.
본 발명은 상술한 문제점을 해결하기 위해 안출된 것으로 본 발명의 목적은 이전에 LRU 위치에 위치한 적이 없는 LRU 캐시 라인을 바로 희생시키지 않고 다시 참조될 수 있는 가능성을 고려하여 캐시를 교체함으로써 클럭당 명령어 처리수(IPC)는 증가시키고 미스율(miss rate)은 감소시킬 수 있는 캐시 교체 방법을 제공하는 것이다.
상기의 목적을 달성하기 위하여 본 발명은 프로세서 코어로 인출되는 명령어를 임시 저장하는 라스트 레벨 캐시(LLC:Last Level Cache)로써, 상기 라스트 레벨 캐시의 각 캐시 라인에는 해당 캐시 라인이 이전에 최저 사용 빈도 위치(LRU line's position)에 위치하였는지 여부를 표시하는 최저 사용 빈도 행동 비트(LRU-Behavior bit)가 포함되는 것을 특징으로 하는 라스트 레벨 캐시를 제공한다.
또한, 본 발명은 상기 라스트 레벨 캐시와 상기 라스트 레벨 캐시에서 명령어를 인출하여 작업을 수행하는 프로세서 코어를 포함하는 것을 특징으로 하는 프로세서 장치를 더 제공한다.
또한, 본 발명은 상기 프로세서 장치에서 캐시 교체를 수행하는 캐시 교체 방법으로서, 상기 프로세서 코어에서 요청된 명령어가 L1 캐시 및 라스트 레벨 캐시에서 미스(miss)되어 주 메모리에서 인출되는 단계; 상기 라스트 레벨 캐시의 최저 사용 빈도 위치에 위치하는 캐시 라인(이하, 'LRU 캐시 라인'이라 함)의 최저 사용 빈도 행동 비트의 값을 확인하는 단계; 상기 최저 사용 빈도 행동 비트가 '0'일 경우, 상기 LRU 캐시 라인을 제외한 상기 라스트 레벨 캐시의 각 캐시 라인의 태그 값과 상기 주 메모리에서 인출되는 명령어의 태그 값의 차이 값인 태그 거리 값(tag-distance)을 계산하는 단계; 및 상기 태그 거리 값이 가장 큰 캐시 라인(이하, '최대 태그 거리 캐시 라인'이라 함)과 상기 LRU 캐시 라인을 서로 교체(swap)하고 상기 최대 태그 거리 캐시 라인을 희생(evict)시킨 후, 상기 라스트 레벨 캐시에 상기 명령어를 저장하는 단계;를 포함하는 것을 특징으로 하는 캐시 교체 방법을 더 제공한다.
바람직한 실시예에 있어서, 상기 LRU 캐시 라인의 최저 사용 빈도 행동 비트가 '1'일 경우, 상기 LRU 캐시 라인을 희생시킨 후, 상기 라스트 레벨 캐시에 상기 명령어를 저장한다.
바람직한 실시예에 있어서, 상기 태그 거리 값(tag-distance)을 계산하는 단계는, 상기 LRU 캐시 라인, Pre-LRU 캐시 라인 및 MRU 캐시 라인을 제외한 나머지 캐시 라인의 태그 거리 값을 계산한다.
바람직한 실시예에 있어서, 상기 최대 태그 거리 캐시 라인과 교체되는 LRU 캐시 라인의 최저 사용 빈도 행동 비트는 '1'로 설정된다.
또한, 본 발명은 상기 캐시 교체 방법으로 캐시 교체가 이루어지는 임베디드 시스템을 더 제공한다.
본 발명은 다음과 같은 우수한 효과를 가진다.
본 발명의 캐시 교체 방법에 의하면, 라스트 레벨 캐시의 LRU 캐시 라인이 이전에 LRU 위치에 위치하지 않았을 경우, 즉시 희생시키지 않고 한 번 더 참조될 기회를 부여함으로써 기존의 캐시 교체 기법과 비교하여 클럭당 처리 명령수를 증가시킬 수 있고, 미스율을 감소시킬 수 있는 장점이 있다.
도 1은 종래의 캐시 교체 방법으로 LRU 교체 기법을 설명하기 위한 도면,
도 2는 본 발명의 일 실시예에 따른 캐시 교체 방법을 수행하기 위한 라스트 레벨 캐시를 보여주는 도면,
도 3은 본 발명의 일 실시예에 따른 캐시 교체 방법의 흐름도,
도 4는 본 발명의 일 실시예에 따른 캐시 교체 방법의 벤치 마크 프로그램에 대한 클럭당 처리 명령수(IPC)를 보여주는 도면,
도 5는 본 발명의 일 실시예에 따른 캐시 교체 방법의 벤치 마크 프로그램에 대한 미스율을 보여주는 도면이다.
본 발명에서 사용되는 용어는 가능한 현재 널리 사용되는 일반적인 용어를 선택하였으나, 특정한 경우는 출원인이 임의로 선정한 용어도 있는데 이 경우에는 단순한 용어의 명칭이 아닌 발명의 상세한 설명 부분에 기재되거나 사용된 의미를 고려하여 그 의미가 파악되어야 할 것이다.
이하, 첨부한 도면에 도시된 바람직한 실시예들을 참조하여 본 발명의 기술적 구성을 상세하게 설명한다.
그러나, 본 발명은 여기서 설명되는 실시예에 한정되지 않고 다른 형태로 구체화 될 수도 있다. 명세서 전체에 걸쳐 동일한 참조번호는 동일한 구성요소를 나타낸다.
도 2 및 도 3을 참조하면, 본 발명의 일 실시예에 따른 캐시 교체 방법은 라스트 레벨 캐시(100)의 소정의 캐시 라인(100a,캐시 블럭)을 주 메모리에서 인출되는 명령어로 교체하기 위한 방법이다.
또한, 본 발명의 캐시 교체 방법은 라스트 레벨 캐시(100)의 캐시 라인을 교체하는 방법을 상정하였으나 L1 캐시의 캐시 교체에도 응용가능하다.
본 발명의 캐시 교체 방법을 설명하기에 앞서 본 발명의 캐시 교체 방법을 수행하기 위해서는 상기 라스트 레벨 캐시(100)의 각 캐시 라인(100a)이 기존의 캐시 라인의 구조와는 달리 새로운 구조를 가져야 한다.
더욱 자세하게는 도 2를 참조하면, 상기 라스트 레벨 캐시(100)의 각 캐시 라인(100a)은 기존의 태그 필드(Tag-field), 인덱스(Index), 오프셋(Offset), 데이터(Data) 이외에 최저 사용 빈도 행동 비트(LRU-Behavior Bit)를 더 포함하는 구조로 이루어진다.
또한, 상기 최저 사용 빈도 행동 비트는 해당 캐시 라인이 이전에 LRU 위치(LRU Line's position, 최저 사용 빈도 위치)에 위치하였는지 여부를 표시한다.
예를 들어, 해당 캐시 라인이 이전에 LRU 위치에 위치한 적이 있을 경우 상기 최저 사용 빈도 행동 비트의 값은 '1'로 설정되고 LRU 위치에 위치한 적이 없을 경우 '0'으로 설정될 수 있다.
다만, 비트의 값은 서로 뒤바뀔 수 있으며 '0', '1' 외에 다른 값으로 설정할 수도 있다.
또한, 본 발명은 캐시 교체 방법과는 별도로 상기 최저 사용 빈도 행동 비트를 갖는 캐시 라인들(100a)로 이루어지는 라스트 레벨 캐시(100)만이 별도로 제공될 수 있으며, 상기 라스트 레벨 캐시(100)는 도 1에 도시한 프로세서 코어(10) 및 L1 캐시(20)와 함께 하나의 프로세서 장치로 제공될 수도 있다.
또한, 상기 프로세서 장치는 소정의 제품에 장착되어 추가 기능을 수행할 수 있는 임베디드 시스템일 수 있다.
이하에서는 도 2를 참조하여, 본 발명의 캐시 교체 방법을 상세히 설명한다. 본 발명의 일 실시이예에 따른 캐시 교체 방법은 전술한 바와 같이 상기 라스트 레벨 캐시(100)가 포함된 프로세서 장치에서 캐시 교체를 수행하는 방법이다.
먼저, 프로세서 코어에서 명령어가 요청되면(S1000), L1 캐시 및 상기 라스트 레벨 캐시(100)에 순차적으로 요청된 명령어가 존재하는지 판단하고 존재할 경우 명령어를 인출하고 종료한다.
그러나 상기 L1 캐시 및 상기 라스트 레벨 캐시(100)에 요청된 명령어가 존재하지 않을 경우 데이터 인출의 미스(miss)가 발생한다(S2000)
다음, 주 메모리로 접근하여 요청된 명령어를 프로세서 코어로 인출하며(S3000), 인출된 명령어는 상기 라스트 레벨 캐시(100)의 소정의 캐시 라인과 교체되어 저장된다. 또한, 인출된 명령어는 L1 캐시에도 저장된다.
또한, 상기 라스트 레벨 캐시(100)에서의 캐시 라인의 교체는 본 발명의 캐시 교체 방법에서 핵심이 되는 과정으로 먼저, 상기 라스트 레벨 캐시(100)의 LRU 위치에 위치하는 캐시 라인(이하, 'LRU 캐시 라인'이라 함)의 최저 사용 빈도 행동 비트 값을 확인한다(S4000).
만약, 상기 LRU 캐시 라인의 최저 사용 빈도 행동 비트 값이 '1'일 경우 이전에 LRU 위치에 존재한 적이 있었던 전력이 있으므로 기존의 LRU 교체 기법으로 캐시 라인을 교체하고(S5000) 종료한다.
또한, 기존의 LRU 교체 기법은 도 1을 참조하여 전술한 바 있으므로 자세한 설명은 생략한다.
그러나 상기 LRU 캐시 라인의 최저 사용 빈도 행동 비트 값이 '0'인 경우, 즉, 현재 LRU 위치에 위치하는 캐시 라인이 이전에 LRU 위치에 위치한 전력이 없을 경우, 상기 LRU 캐시 라인은 희생되지 않고 상기 LRU 캐시 라인을 제외한 다른 어느 하나의 캐시 라인을 희생시킨 후 캐시를 교체한다.
또한, 희생될 캐시 라인의 선정은 먼저, 상기 LRU 캐시 라인을 제외한 다른 캐시 라인들(이하, '후보 캐시 라인'이라 함)의 태그 거리 값(tag-distance)을 계산함으로써(S4100) 시작된다.
그러나 상기 후보 캐시 라인에서 Pre-LRU 캐시 라인, MRU 캐시 라인은 제외될 수 있다.
또한, 상기 태그 거리 값은 인출되는 명령어의 태그 값과 상기 각 후보 캐시 라인의 태그 값의 거리 값으로 태그 값의 차이 값을 의미한다.
더욱 자세하게는 상기 태그 거리 값은 후보 캐시 라인의 태그 값에 인출되는 명령어의 태그 값을 뺀 값의 절댓값으로 계산된다.
또한, 상기 태그 거리 값이 클수록 다음 시간에 참조할 확률이 낮아지고 작을수록 다음 시간에 참조할 확률이 높아진다.
즉, 본 발명의 캐시 교체 방법에서 희생될 캐시 라인은 태그 거리의 상관관계로 부터 선정되는 것이다.
다음, 상기 후보 캐시 라인들 중, 상기 태그 거리 값이 가장 큰 후보 캐시 라인(이하, '최대 태그 거리 캐시 라인'이라 함)을 선정하고, 상기 최대 태그 거리 캐시 라인과 상기 LRU 캐시 라인을 서로 교체(swap)하며, 상기 최대 태그 거리 캐시 라인을 희생(evict)시킨다(S4200).
다음, 나머지 캐시 라인들을 LRU 위치로 한 칸씩 이동시키고, 인출된 명령어는 MRU 캐시 라인의 위치에 저장한다(S4300).
다음, 상기 최대 태그 거리 캐시 라인과 교체된 LRU 캐시 라인의 최저 사용 빈도 행동 비트 값을 '1'로 설정한 후 종료한다.
다만, 상기 최저 사용 빈도 행동 비트 값을 '1'로 설정하는 과정은 상기 LRU 캐시 라인의 최저 사용 빈도 행동 비트 값을 확인하는 과정(S4000) 이후에 이루어지면 충분하다.
즉, 본 발명의 일 실시예에 따른 캐시 교체 방법은 이전에 LRU 위치에 위치한 적이 없는 LRU 캐시 라인의 경우 즉시 희생시키지 않고 한 번더 참조될 기회를 추가로 부여함으로써 더 높은 성능향상을 보장할 수 있다.
도 4는 본 발명의 일 실시예에 따른 캐시 교체 방법의 벤치 마크 프로그램에 대한 클럭당 처리 명령수(IPC)를 보여주는 것으로 기존의 LRU 교체 기법(LRU), SRRIP(M=2)(Static Re-reference Interval Prediction), SRRIP(M=3) 및 본 발명의 캐시 교체 방법(Proposal)의 클럭당 처리 명령수를 비교하여 보여주는 그림이다.
도 4에서도 알 수 있듯이 본 발명의 일 실시예에 따른 캐시 교체 방법의 프로그램의 처리 명령수가 평균적으로(AVR) 가장 높은 것을 확인하였다.
또한, 도 5는 본 발명의 일 실시예에 따른 캐시 교체 방법의 벤치 마크 프로그램에 대한 미스율을 보여주는 것으로 평균적으로 미스율이 가장 낮은 것을 알 수 있다.
이상에서 살펴본 바와 같이 본 발명은 바람직한 실시예를 들어 도시하고 설명하였으나, 상기한 실시예에 한정되지 아니하며 본 발명의 정신을 벗어나지 않는 범위 내에서 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변경과 수정이 가능할 것이다.
10:프로세서 코어 20:L1 캐시
30,100:라스트 레벨 캐시 40:주 메모리
100a:캐시 라인

Claims (7)

  1. 삭제
  2. 삭제
  3. 프로세서 코어 및 상기 프로세서 코어로 인출되는 명령어를 임시 저장하는 라스트 레벨 캐시(LLC:Last Level Cache)를 포함하는 프로세서 장치에서 캐시 교체를 수행하는 캐시 교체 방법으로서,
    상기 라스트 레벨 캐시의 각 캐시 라인에는 해당 캐시 라인이 이전에 최저 사용 빈도 위치(LRU line's position)에 위치하였는지 여부를 표시하는 최저 사용 빈도 행동 비트(LRU-Behavior bit)가 포함되고,
    상기 프로세서 코어에서 요청된 명령어가 L1 캐시 및 라스트 레벨 캐시에서 미스(miss)되어 주 메모리에서 인출되는 단계;
    상기 라스트 레벨 캐시의 최저 사용 빈도 위치에 위치하는 캐시 라인(이하, 'LRU 캐시 라인'이라 함)의 최저 사용 빈도 행동 비트의 값을 확인하는 단계;
    상기 최저 사용 빈도 행동 비트가 '0'일 경우, 상기 LRU 캐시 라인을 제외한 상기 라스트 레벨 캐시의 각 캐시 라인의 태그 값과 상기 주 메모리에서 인출되는 명령어의 태그 값의 차이 값인 태그 거리 값(tag-distance)을 계산하는 단계; 및
    상기 태그 거리 값이 가장 큰 캐시 라인(이하, '최대 태그 거리 캐시 라인'이라 함)과 상기 LRU 캐시 라인을 서로 교체(swap)하고 상기 최대 태그 거리 캐시 라인을 희생(evict)시킨 후, 상기 라스트 레벨 캐시에 상기 명령어를 저장하는 단계;를 포함하는 것을 특징으로 하는 캐시 교체 방법.
  4. 제 3 항에 있어서,
    상기 LRU 캐시 라인의 최저 사용 빈도 행동 비트가 '1'일 경우, 상기 LRU 캐시 라인을 희생시킨 후, 상기 라스트 레벨 캐시에 상기 명령어를 저장하는 것을 특징으로 하는 캐시 교체 방법.
  5. 제 4 항에 있어서,
    상기 태그 거리 값(tag-distance)을 계산하는 단계는,
    상기 LRU 캐시 라인, Pre-LRU 캐시 라인 및 MRU 캐시 라인을 제외한 나머지 캐시 라인의 태그 거리 값을 계산하는 것을 특징으로 하는 캐시 교체 방법.
  6. 제 3 항에 있어서,
    상기 최대 태그 거리 캐시 라인과 교체되는 LRU 캐시 라인의 최저 사용 빈도 행동 비트는 '1'로 설정되는 것을 특징으로 하는 캐시 교체 방법.
  7. 제 6 항의 캐시 교체 방법으로 캐시 교체가 이루어지는 임베디드 시스템.
KR1020150178863A 2015-12-15 2015-12-15 캐시 라인의 태그 거리 상관관계를 이용한 캐시 교체 방법 및 임베디드 시스템 KR101697515B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150178863A KR101697515B1 (ko) 2015-12-15 2015-12-15 캐시 라인의 태그 거리 상관관계를 이용한 캐시 교체 방법 및 임베디드 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150178863A KR101697515B1 (ko) 2015-12-15 2015-12-15 캐시 라인의 태그 거리 상관관계를 이용한 캐시 교체 방법 및 임베디드 시스템

Publications (1)

Publication Number Publication Date
KR101697515B1 true KR101697515B1 (ko) 2017-01-18

Family

ID=57991828

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150178863A KR101697515B1 (ko) 2015-12-15 2015-12-15 캐시 라인의 태그 거리 상관관계를 이용한 캐시 교체 방법 및 임베디드 시스템

Country Status (1)

Country Link
KR (1) KR101697515B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090115799A (ko) * 2007-01-31 2009-11-06 콸콤 인코포레이티드 멀티-레벨 캐시 계층에서의 캐스트아웃들을 감소시키기 위한 장치 및 방법들
KR20150079413A (ko) * 2013-12-31 2015-07-08 삼성전자주식회사 캐시 교체 정책 방법들 및 시스템들

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090115799A (ko) * 2007-01-31 2009-11-06 콸콤 인코포레이티드 멀티-레벨 캐시 계층에서의 캐스트아웃들을 감소시키기 위한 장치 및 방법들
KR20150079413A (ko) * 2013-12-31 2015-07-08 삼성전자주식회사 캐시 교체 정책 방법들 및 시스템들

Similar Documents

Publication Publication Date Title
JP6267314B2 (ja) キャッシュメモリの利用トレンドに基づく複数セットグループ内のウェイごとの動的パワー供給
EP3414665B1 (en) Profiling cache replacement
US10185668B2 (en) Cost-aware cache replacement
US9582282B2 (en) Prefetching using a prefetch lookup table identifying previously accessed cache lines
JP4045296B2 (ja) キャッシュメモリ及びその制御方法
US10007614B2 (en) Method and apparatus for determining metric for selective caching
US10725923B1 (en) Cache access detection and prediction
US20160055100A1 (en) System and method for reverse inclusion in multilevel cache hierarchy
US20150067264A1 (en) Method and apparatus for memory management
US10929308B2 (en) Performing maintenance operations
US9524232B2 (en) Inter-core cooperative TLB prefetchers
KR20010042262A (ko) 템포럴 및 넌템포럴 명령어에 대한 공유 캐시 구조
US20100217937A1 (en) Data processing apparatus and method
EP1149342A1 (en) Method and apparatus for managing temporal and non-temporal data in a single cache structure
GB2509755A (en) Partitioning a shared cache using masks associated with threads to avoiding thrashing
US20130311724A1 (en) Cache system with biased cache line replacement policy and method therefor
CN109154912B (zh) 根据另一个高速缓存中条目的可用性替换高速缓存条目
US20120124291A1 (en) Secondary Cache Memory With A Counter For Determining Whether to Replace Cached Data
US10831673B2 (en) Memory address translation
US10853262B2 (en) Memory address translation using stored key entries
US20090327611A1 (en) Domain-based cache management, including domain event based priority demotion
KR101697515B1 (ko) 캐시 라인의 태그 거리 상관관계를 이용한 캐시 교체 방법 및 임베디드 시스템
KR101704936B1 (ko) 블록의 우선성에 기반한 ssd의 블록 교체방법 및 이를 적용하는 하이브리드 저장 시스템
KR101541737B1 (ko) 프로세서 장치의 캐시 교체 방법, 프로세서 장치 및 임베디드 시스템
US10866904B2 (en) Data storage for multiple data types

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20191226

Year of fee payment: 4