KR101024073B1 - 공유 2차 캐시의 누설 에너지 관리 방법 및 장치 - Google Patents

공유 2차 캐시의 누설 에너지 관리 방법 및 장치 Download PDF

Info

Publication number
KR101024073B1
KR101024073B1 KR1020080010734A KR20080010734A KR101024073B1 KR 101024073 B1 KR101024073 B1 KR 101024073B1 KR 1020080010734 A KR1020080010734 A KR 1020080010734A KR 20080010734 A KR20080010734 A KR 20080010734A KR 101024073 B1 KR101024073 B1 KR 101024073B1
Authority
KR
South Korea
Prior art keywords
cache
task
hit
sleep time
space
Prior art date
Application number
KR1020080010734A
Other languages
English (en)
Other versions
KR20090084510A (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 재단법인서울대학교산학협력재단
Priority to KR1020080010734A priority Critical patent/KR101024073B1/ko
Publication of KR20090084510A publication Critical patent/KR20090084510A/ko
Application granted granted Critical
Publication of KR101024073B1 publication Critical patent/KR101024073B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, 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)

Abstract

본 발명은 공유 2차 캐시의 누설 에너지 관리 방법 및 장치에 관한 것으로, 본 발명의 일 실시 예에 따른 공유 2차 캐시의 누설 에너지 관리 방법은 캐시 라인의 비활성화 시간을 고려한 캐시 파티션을 통해 캐시 간섭을 줄임으로써 멀티프로세서 환경의 공유 2차 캐시에서의 누설 에너지 감소 효과를 증가시킬 수 있다.
누설 에너지 감소, 저전력, 공유 캐시, 캐시 파티션, 적응형 타임아웃, CMP

Description

공유 2차 캐시의 누설 에너지 관리 방법 및 장치{An Shared L2 Leakage Energy Management Method and Apparatus}
본 발명은 공유 2차 캐시의 누설 에너지 관리 방법 및 장치에 관한 것으로, 더 상세하게는 CMP(Chip Multi-Processor, 이하 'CMP'라 한다)에서 누설 전력 소비를 줄이기 위해 동적 캐시 파티션 기법을 이용한 공유 2차 캐시의 누설 에너지 관리 방법 및 장치에 관한 것이다.
프로세서 에너지 소비 문제는 갈수록 프로세서 설계 시에 그 중요성이 강조되어 가고 있다. 더욱이, 반도체 공정이 발전함에 따라서 동적 에너지 소비에 비해서 누설 에너지 소비가 더 전체 프로세서 에너지 소비에서 차지하는 비중이 커지면서, 누설 에너지 소비 감소가 대단히 중요한 문제로 대두 되고 있다. 특히, 최신의 마이크로프로세서(Microprocessor)는 2차 캐시에 많은 트랜지스터(Transistor)를 할애하기 때문에, 2차 캐시 누설 소비를 더욱 효율적으로 관리해야 할 필요가 있다.
기존의 누설 에너지 감소 연구들은 단일 프로세서 환경에서 진행되었으나, 앞으로는 단일 프로세서(Single-processor)에 비해서 발열 제어 및 저전력 고성능 컴퓨팅에 보다 더 유리한 CMP(Chip Multi-Processor) 와 같은 다중 프로세서(Multiprocessor)가 주류가 될 것으로 예상되기 때문에 새로운 환경에 맞춘 누설 에너지 관리 기법이 필요하다.
Cache decay와 같은 캐시 라인 턴 오프 (Cache Line Turn-Off) 기법은 단일 프로세서 환경에서 고안된 대표적인 아키텍처 수준의 캐시 누설 에너지 관리 기법이다. Cache decay는 일정 시간 이상의 시간 간격 동안 접근이 되지 않은 캐시 라인을 슬립 모드로 전환시켜서 불필요한 누설 전력 발생을 차단한다. 그러나 cache decay는 단일 프로세서 환경에서 제안된 기법이기 때문에 다중 프로세서 환경에서 발생하는 특수한 문제들에 대한 고려는 되어 있지 않다. 이는 cache decay 기법을 CMP 시스템에 적용했을 때 그 효율을 떨어뜨리는 원인이 된다.
삭제
삭제
본 발명의 일 실시 예는 캐시 라인의 비활성화 시간을 고려한 캐시 파티션을 통해 캐시 간섭을 줄임으로써 멀티프로세서 환경의 공유 2차 캐시에서의 누설 에너지 감소 효과를 증가시키는 공유 캐시의 누설 에너지 관리 방법 및 장치를 제공하는 것이다.
또한, 각 태스크들의 특성을 고려하여 타임아웃을 설정하는 적응형 타임아웃 관리를 통해 캐시 누설 에너지 소비를 감소시키는 것이다.
삭제
삭제
삭제
삭제
삭제
삭제
상기 기술적 과제를 달성하기 위한, 본 발명의 일 실시 예에 따른 공유 2차 캐시의 누설 에너지 관리 방법은 각 태스크 별 전체 캐시 히트 수와 MRU 블록에서 발생하는 캐시 히트 수를 측정하는 단계, 측정한 캐시 히트 수를 이용하여 각 태스크 별 공간 할당에 따른 캐시 히트 수를 예측하는 단계, 상기 예측한 캐시 히트 수를 기반으로 각 태스크 별로 캐시 공간을 할당하는 단계 및 상기 할당된 캐시 공간에 따라 각 태스크 별로 상기 공유 2차 캐시의 캐시 라인을 교체하는 단계를 포함하여 이루어진다.
상기 방법은 각 태스크 별 캐시 라인의 슬립 시간을 측정하는 단계 및 상기 측정한 슬립 시간을 이용하여 각 태스크 별 공간 할당에 따른 캐시 라인 슬립 시간을 예측하는 단계를 더 포함하고, 상기 할당 단계는 상기 예측한 캐시 히트 수 및 상기 예측한 캐시 라인 슬립 시간을 기반으로 각 태스크 별로 캐시 공간을 할당하는 것을 특징으로 한다.
상기 할당 단계는 상기 예측한 캐시 히트 수와 상기 예측한 캐시 라인 슬립 시간의 가중 합으로 각 태스크 별로 캐시 공간을 할당하는 것을 특징으로 한다.
상기 각 태스크 별로 발생하는 캐시 히트 인터벌의 길이를 측정하는 단계, 상기 측정한 캐시 히트 인터벌의 길이의 누적 분포를 이용하여 상기 각 태스크의 특성에 따른 타임아웃 길이를 설정하는 단계 및 상기 설정한 타임아웃 길이에 따라 상기 각 태스크 별로 캐시 라인의 턴 오프를 제어하는 단계를 더 포함하는 것을 특징으로 한다.
상기 공유 2차 캐시는 CMP(Chip Multi Processor)에서 이용되는 것을 특징으로 한다.
상기 다른 기술적 과제를 달성하기 위한, 본 발명의 다른 실시 예에 따른 공유 2차 캐시의 누설 에너지 관리 장치는 각 태스크 별 전체 캐시 히트 수와 MRU 블록에서 발생하는 캐시 히트 수를 측정하는 전체 및 MRU 히트 모니터, 측정한 캐시 히트 수를 이용하여 각 태스크 별 공간 할당에 따른 캐시 히트 수를 예측하는 캐시 히트 예측 모델, 상기 예측한 캐시 히트 수를 기반으로 각 태스크 별로 캐시 공간을 할당하는 캐시 할당 관리자 및 상기 할당된 캐시 공간에 따라 각 태스크 별로 상기 공유 2차 캐시의 캐시 라인을 교체하는 캐시 교체 장치를 포함하여 이루어진다.
상기 장치는 각 태스크 별 캐시 라인의 슬립 시간을 측정하는 Decay 카운터 및 상기 측정한 슬립 시간을 이용하여 각 태스크 별 공간 할당에 따른 캐시 라인 슬립 시간을 예측하는 캐시 슬립 시간 예측 모델을 더 포함하고,
상기 캐시 할당 관리자는 상기 예측한 캐시 히트 수 및 상기 예측한 캐시 라인 슬립 시간을 기반으로 각 태스크 별로 캐시 공간을 할당하는 것을 특징으로 한다.
상기 캐시 할당 관리자는 상기 예측한 캐시 히트 수와 상기 예측한 캐시 라인 슬립 시간의 가중 합으로 각 태스크 별로 캐시 공간을 할당하는 것을 특징으로 한다.
상기 Decay 카운터는 상기 각 태스크 별로 발생하는 캐시 히트 인터벌의 길이를 측정하고, 상기 장치는 상기 측정한 캐시 히트 인터벌의 길이의 누적 분포를 이용하여 상기 각 태스크의 특성에 따른 타임아웃 길이를 설정하는 적응형 타임아웃 관리자 및 상기 설정한 타임아웃 길이에 따라 상기 각 태스크 별로 캐시 라인의 턴 오프를 제어하는 캐시 라인 턴 오프 제어부를 더 포함하는 것을 특징으로 한다.
상기 공유 2차 캐시는 CMP(Chip Multi Processor)에서 이용되는 것을 특징으로 한다.
본 발명의 일 실시 예에 따른 공유 2차 캐시의 누설 에너지 관리 방법은 캐시 히트 예측 모델을 통해 캐시 히트 수와 캐시 라인 슬립 시간을 고려한 캐시 파티션 기법을 통해서 캐시 간섭을 줄여, cache decay를 통해 얻을 수 있는 누설 에너지 소비 감소 효과를 증가시킬 수 있다.
그뿐만 아니라 각 태스크 특성을 고려한 적응형 타임아웃 조절을 통해서 캐시 누설 에너지 소비를 감소시킨다.
본 특허는 공유 2차 캐시에서 다른 기법은 사용하지 않고 cache decay만을 사용했을 때의 누설 에너지 소비에 비해, 본 발명의 일 실시 예에 따른 공유 2차 캐시의 누설 에너지 관리 방법을 통해 2-way CMP에서 평균 70%, 4-way CMP에서 평균 55%의 누설 에너지 소비를 감소시킬 수 있다.
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
이하, 첨부한 도면들을 참조하여 본 발명의 바람직한 실시 예들을 상세히 설명한다. 하기의 설명에서는 본 발명에 따른 동작을 이해하는데 필요한 부분만이 설명되며 그 이외 부분의 설명은 본 발명의 요지를 흩트리지 않도록 생략될 수 있다.
또한, 이하에서 설명되는 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 본 발명을 가장 적절하게 표현할 수 있도록 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야 한다.
도 1은 본 발명의 일 실시 예에 따른 CMP의 개략도이다.
도 1을 참조하면, 각 프로세서 코어(110)는 개별 명령 또는 데이터 1차 캐시(120)를 갖고 있으며, 이들 개별 캐시들은 일관성 유지 프로토콜을 통해서 일관성을 항상 유지하게 된다. 2차 캐시(140)는 공유 통합형 캐시 구조를 가지며, 1차 캐시들과 공유 버스(130)를 통해서 연결된다. 공유 2차 캐시는 칩 외부의 메모리(150)와 연결되어서 외부 메모리(150)로부터 데이터를 가져온다.
위와 같은 구조의 CMP에서는 동시에 수행되는 여러 태스크가 하나의 2차 캐시를 공유해서 사용하기 때문에, 각 태스크는 자신이 필요로 하는 데이터를 캐시에 저장하기 위해서 다른 태스크가 점유하고 있는 캐시 라인을 빼앗으려는 경향을 보인다. 태스크가 다른 태스크의 캐시 데이터를 캐시 밖으로 쫓아내면서 자신의 데이터를 캐시에 저장하려고 하는 이러한 현상을 캐시 간섭(Cache Interference) 또는 캐시 경쟁(Cache Contention)이라고 한다. 기존에는 캐시 간섭으로 인해서 발생하는 캐시 미스 증가 초점을 맞추고 연구가 진행되어 왔으나 캐시 간섭은 캐시 미스로 인한 성능저하뿐 아니라 저전력 컴퓨팅 측면에서도 악영향을 가져온다. 종래의 Cache decay기법은 일정 시간 이상의 시간 간격 동안 접근이 되지 않은 캐시 라인을 슬립 모드로 전환시켜서 불필요한 누설 전력 발생을 차단하는 기법이다. Cache decay 기법은 단일 프로세서 환경에서 고안된 대표적인 아키텍처 수준의 캐시 에너지 누설 관리 기법이지만, 이를 공유 캐시에서 적용하면 캐시 간섭 현상으로 인해서, 이미 꺼져있던 캐시 라인들이 다른 태스크들의 캐시 접근으로 인해서 상대적으로 일찍 깨어나거나, 또는 캐시 라인이 쫓겨나기 직전의 아무런 접근이 없는 시간(Dead Time)을 decay 타임아웃보다 짧게 만들어서 아예 꺼지지 못하도록 만든다. 이러한 현상들은 cache decay를 통해서 얻을 수 있는 캐시 누설 전력 감소를 줄어들게 한다.
또 다른 캐시 간섭을 줄이는 방법은 캐시 파티션(Cache Partition) 기법이다. 캐시 파티션 기법은 동시에 수행되는 각 태스크에 자신만의 배타적인 캐시 영역을 할당함으로써 다른 태스크의 캐시 접근에 의한 간섭을 받지 않도록 하는 기법이다. 그러나 기존의 캐시 파티션 기법은 cache decay와 함께 적용하기 어려운 캐시 동작 모니터링 장치를 사용하고 있을 뿐 아니라, 이 모니터링 장치를 구현하는 데 상당히 큰 에너지 부하가 요구되기 때문에 저전력 프로세서 설계 시에는 적합하지 않다.
한편, Cache decay의 타임아웃을 수행 중에 조절하는 기존의 적응형 타임아웃 기법들도 역시 단일 프로세서 환경에서 제안됐기 때문에 다중 프로세서 환경에서 몇 가지 문제점이 발생한다. 공유 캐시가 보는 캐시 접근 패턴은 캐시를 공유하는 태스크들의 평균적인 패턴이기 때문에 관측한 평균 패턴에 근거해서 하나의 타임아웃을 전체 태스크들에게 동일하게 적용해서는 실제 각 태스크의 특성을 제대로 반영하기 어렵다.
본 발명의 일 실시 예에 따른 공유 2차 캐시의 누설 에너지 관리 방법은 에너지 부하가 적은 태스크 별 캐시 히트/미스 예측과 태스크 별 캐시 라인 슬립 예측을 통해서 얻은 정보를 이용해서 캐시 누설 에너지 소비는 크게 줄이면서, 캐시 미스는 많이 늘리지 않는 캐시 라인 슬립 시간을 고려한 캐시 파티션 방법을 통해 캐시 간섭을 줄임으로써 멀티프로세서 환경의 공유 2차 캐시에서의 누설 에너지 감소 효과를 증가시킬 수 있다.
또한, 각 태스크들의 인터벌을 분석해서 태스크에 따라 다른 타임아웃을 적용하는 적응형 타임아웃 관리 방법을 통해 캐시 누설 에너지 소비를 감소시킬 수 있다.
도 2는 도 1에 도시된 CMP 시스템에서 사용되는 공유 캐시의 누설 소비 전력 감소 장치 및 방법을 설명하기 위한 도면이다.
도 2를 참조하면, H/W 컴포넌트들은 도 1에 도시된 공유 L2 캐시(140)에 포함되어 구성되는 요소들이고, S/W 컴포넌트들은 CMP의 OS에 포함되어 구성되는 요소들이다. 여기서, H/W 컴포넌트와 S/W 컴포넌트로 나뉘어서 구현되는 것으로 설명되어 있지만, 이에 한정되는 것은 아니다.
도 2를 다시 참조하면, H/W 컴포넌트와 S/W 컴포넌트는 전체 작업을 나누어서 담당하며 이들 사이의 통신은 레지스터 테이블로 구성된 전역자료 구조를 통해서 이루어진다. 전체/MRU(Most Recently Unit) 블록에 대한 캐시 히트 모니터(210), 수정된 Decay 카운터(211), 캐시 교체 장치(212) 및 수정된 캐시 라인 턴오프 메커니즘(213)은 H/W 컴포넌트로 구성되고, 캐시 히트 예측 모델(220), 캐시 슬립 시간 예측 모델(221), 캐시 히트 인터벌 분석기(222)를 포함하는 캐시 동작 분석 모듈, 캐시 공간 할당 관리자 및 타임아웃 조절 관리자는 S/W 컴포넌트로 구성된다.
전체/MRU 히트 모니터(210)는 수행 중에 발생하는 각 태스크 별 전체 캐시 히트 수와 MRU 블록에서 발생하는 캐시 히트 수를 카운터를 이용해서 측정한다. 그리고 측정한 캐시 히트 수를 캐시 히트 예측 모델(220)에 전달한다. 캐시 히트 예측 모듈(220)은 이를 통해서 각 태스크 별 공간 할당에 따른 캐시 히트 수를 후술할 캐시 히트 예측 모델을 통해 산정한다. 산정한 캐시 히트 수, 즉 캐시 히트 한계 효용을 캐시 할당 관리자(223)에 전달한다.
수정된 Decay 카운터(211)는 각각의 프로세서들과 연결된 공유 L2 캐시의 각각의 캐시 라인의 슬립 시간을 측정한다. 즉, 공유 캐시 라인이 꺼지면 각각의 태스크 별로 각 캐시 라인이 꺼져 있었던 시간을 전부 누적해서 이값을 캐시 라인 슬립 시간 예측 모델(221)로 전달한다. 캐시 라인 슬립 시간 예측 모듈(221)은 후술할 캐시 라인 슬립 시간 예측 모델을 통해 각각의 캐시 라인 슬립 시간을 산정한다. 캐시 라인 슬립 시간 예측 모듈(221)은 각 태스크 별 공간 할당에 따른 캐시 라인 슬립 시간을 산정한다. 그리고 캐시 라인 슬립 시간, 즉 캐시 슬립 시간 한계 효용을 캐시 할당 관리자(223)에 전달한다.
캐시 공간 할당 관리자(223)는 캐시 히트 예측 모델(220)로부터 전달된 캐시 히트 수 및 캐시 슬립 시간 예측 모델(221)로부터 전달된 캐시 라인 슬립 시간 예측에 기반을 두고, 캐시 히트 수와 캐시 라인 슬립 시간을 모두 고려한 캐시 공간을 할당한다. 그리고 할당한 캐시 공간, 즉 캐시 웨이를 캐시 교체 장치(212)에 전송하면, 캐시 교체 장치(212)는 전송된 각 태스크 별로 할당된 캐시 공간에 따라 각 태스크 별로 공유 캐시를 교체한다.
수정된 Decay 카운터(211)는 캐시 라인이 꺼지면 슬립 시간을 측정하는 데 사용하고, 캐시 라인이 켜져 있을 경우에는 캐시 히트 인터벌의 길이를 측정한다. 즉, 각 태스크 별로 캐시 히트 인터벌을 측정하여 이를 캐시 히트 인터벌 분석기(222)로 전송한다. 캐시 히트 인터벌 분석기(222)는 이를 모아서 각 태스크 별로 캐시 히트 인터벌 길이에 따른 분포를 조사하여 캐시 히트 인터벌 길이 누적 분포를 적응형 타임아웃 관리자(224)에 전달한다.
적응형 타임아웃 관리자(224)는 이를 근거로 해당 태스크에 어울리는 타임아웃 길이를 설정하여 각 태스크에 따른 타임아웃 길이를 수정된 캐시 라인 턴 오프 메커니즘(213)에 전송한다.
수정된 캐시 라인 턴 오프 메커니즘(213)은 설정한 타임아웃 길이에 따라 각 태스크 별로 캐시 라인의 턴 오프를 제어한다.
이하에서는 전술한 캐시 히트 예측 모델, 캐시 슬립 시간 예측 모델, 캐시 히트 인터벌, 및 적응형 타임아웃 관리에 대해 상세히 설명한다. 본 발명의 일 실시 예에 따른 공유 캐시 누설 에너지 관리는 크게, 슬립 시간을 고려한 캐시 파티션(Sleep-Aware Cache Partitioning, 이하 'SACP'라 한다)과 태스크 특성을 고려한 적응형 타임아웃 관리(Task-Aware Adaptive Timeout Management, 이하 'TATM'이라 한다)로 이루어진다.
일반적으로 한 태스크에 캐시 공간을 더 많이 할당하면 할수록, 캐시 공간 할당에 의해서 얻을 수 있는 한계 효용은 줄어든다. 캐시 웨이 수만큼의 marginal gain counter를 사용하는 것은 구현에 따른 부하도 클 뿐 아니라, marginal gain counter는 턴 오프된 캐시 라인에 의해서 추가로 발생하는 캐시 미스 때문에 원하는 결과를 얻지 못한다. 본 발명의 일 실시 예에서, 이를 피하기 위해서 일반적인 태스크의 한계 효용 변화 경향에 근거를 둔 모델 기반의 캐시 히트 예측 모델을 사용한다. 일반적으로 태스크의 캐시 히트 한계 효용은 해당 태스크에 더 많은 캐시 공간을 할당할수록 감소하며, 그 감소 추이는 지수함수와 유사함을 알 수 있다. 본 발명의 일 실시 예에서, 이러한 관측 결과에 근거해서 일부의 캐시 히트 관련 정보만을 측정하지만, 지수 함수 형태로 모델링한 캐시 히트 예측 모델을 통해서 캐시 히트 한계 효용을 예측할 수 있다.
본 발명의 일 실시 예에 따른 캐시 히트 예측 모델은 전체 캐시 히트 수와 MRU블록에서 발생하는 캐시 미스 수를 수행 중에 추가한 하드웨어 카운터를 이용해서 측정하고, 이를 이용해서 캐시 히트 한계 효용을 태스크가 할당받은 캐시 웨이에 대한 지수 함수의 형태로 모델링한다. i-1 만큼의 캐시 웨이를 할당받은 태스크 τ에게 캐시 웨이 하나를 더 할당할 때의 캐시 히트 한계 효용 Mhit(τ,i) 다음 수학식 1과 같이 정의한다.
Mhit(τ,i)=aτbτ i-1
상기 수학식 1에서 a, b는 계산해야할 임의의 상수이다. 태스크 τ가 캐시 웨이 ω만큼을 할당받았을 때, Mhit(τ,1)는 태스크 τ의 MRU 블록에서의 캐시 히트 수와 같으며, Mhit(τ,ω)는 전체 캐시 히트 수와 같다. 태스크 τ의 전체 캐시 히트 수를 CTOTAL,τ, MRU 블록에서의 캐시 히트 수를 CMRU,τ라고 할 때, 캐시 히트 한계 효용은 최종적으로 다음 수학식 2와 같이 계산된다.
Figure 112010011386712-pat00015

한편, 실제의 누설 에너지 소비량을 실시간으로 측정할 수 있다면, 이를 데이터로 사용하는 것이 가장 좋은 방법이지만, 실시간으로 캐시에서 발생하는 누설 에너지 소비량만을 적은 에너지 부하를 가지고 측정하는 것은 거의 불가능하다. 하지만, 실질적으로 필요한 정보는 파티션을 통해서 줄일 수 있는 누설 에너지 소비량이기 때문에, 본 발명의 일 실시 예에서, 캐시 라인이 슬립 모드에 머문 시간이 누설 감소량과 정비례한다는 가정 하에서 지난주기 동안의 캐시 라인 슬립 시간을 측정하고, 이를 통해서 다음 주기의 캐시 라인 슬립 시간을 예측한다.
Cache decay 기법을 적용했을 때, 얻을 수 있는 캐시 라인 슬립 시간은 프로그램의 특성에 따라서 크게 차이가 나며, 한 프로그램에서는 할당된 캐시 웨이와 누적 캐시 라인 슬립 시간은 정비례에 가까운 모습을 보인다. 따라서, 본 발명의 일 실시 예에 따른 캐시 라인 슬립 시간 예측 모델은 이러한 경향에 근거한다.
할당된 캐시 웨이와 누적 캐시 라인 슬립 시간이 정비례한다고 가정하면, 캐시 웨이 하나를 더 할당했을 때의 한계 효용은 직선 함수의 기울기가 된다. 따라서 캐시 웨이 ω를 할당받은 태스크 τ의 직전 주기 동안의 누적 캐시 라인 슬립 시간이 Csleep,τ일 때, 누적 캐시 슬립 시간 한계효용 Msleep(τ)는 다음 수학식 3과 같다.
Figure 112010011386712-pat00016

본 발명의 일 실시 예에 따른 캐시 라인 슬립 시간을 고려한 캐시 할당은 캐시 웨이를 그리디(greedy)한 형태로 태스크들에게 할당한다. 각 태스크 τ가 캐시 웨이 ωτ를 할당받았을 때의 예상 캐시 히트 한계 효용(Expected Marginal Cache Hit Gain) Mhit, 예상 캐시 라인 슬립 시간 한계 효용(Expected Marginal Cache Line Sleep Time Gain)Msleep 을 각각 캐시 히트 예측 모델 및 캐시 히트 슬립 시간 예측 모델을 통해서 계산한다. 여기서 한계 효용(Marginal Gain)을 태스크에 하나의 캐시 웨이를 더 할당할 때 증가하는 이득으로 정의한다. 캐시 할당 관리자(223)는 Mhit과 Msleep의 가중 합(Weighted Sum)이 가장 큰 태스크에 하나의 캐시 웨이를 더 할당하며, 이 과정을 모든 캐시 웨이가 태스크들에게 할당될 때까지 반복한다.
도 3은 본 발명의 일 실시 예에 따른 캐시 히트 예측 모델과 캐시 파티션을 구현하기 위해서 각 프로세서 코어마다 추가해야 하는 자료 구조를 나타낸다. 각 프로세서별로 해당 프로세서에서 수행되고 있는 태스크의 전체 캐시 히트와 MRU 블록에서 발생한 캐시 히트를 측정하는 전체 캐시 히트 카운터(310)와 MRU 캐시 히트 카운터(320)가 추가된다. 그리고 현재의 파티션 공간 할당량을 나타내는 캐시 웨이 할당 테이블(330)을 추가해서 실제 파티션할 때 캐시 교체 관리자가 참조하도록 하고, 이값을 캐시 예측 모델에서도 사용한다. 캐시 히트가 발생할 때마다 전체 캐시 히트 카운트의 값을 하나씩 증가시키며, 이때 캐시 셋의 MRU 블록에서 발생한 캐시 히트일 경우에 MRU 캐시 히트 카운터의 값을 하나 증가시킨다.
본 발명의 일 실시 예에 따른 캐시 히트 예측 모델은 전체 캐시 히트 카운터와 MRU 캐시 히트 카운터 2개의 카운터만을 추가하면 되기 때문에 구현의 부하가 적다. 모든 캐시 셋에 캐시 히트가 발생한 캐시 라인의 LRU 스택 위치를 파악하는 장치를 설치할 경우 여기에 소모되는 동적 에너지 부하가 크기 때문에, 이를 줄이기 위해서 전체 중 1/32의 캐시 셋에만 LRU 스택 위치를 파악해서 캐시 히트를 모니터하는 장치를 설치할 수도 있다.
도 4는 본 발명의 일 실시 예에 따른 캐시 라인이 포함해야 할 정보들을 나타낸다. 각 캐시 라인은 일반적인 캐시처럼 인덱스(410), 태그(420), LRU 데이터(430), 캐시 라인 데이터(440)를 가지며, 이외에 추가로 태스크 ID(450)을 갖는다. 태스크 ID를 사용해서 각 캐시 라인의 소유자를 알 수 있게 함으로써, 캐시 히트 미스가 발생했을 때, 어느 프로세서의 카운터를 조절해야 하는지를 알 수 있게 한다.
도 6은 도 2에 도시된 캐시 라인 슬립 시간을 측정할 수 있도록 변경된 decay 카운터(211)를 설명하기 위한 도면이다. decay 카운터(211)는 n-bit FSM (Finite State Machine)으로 구현된다. 종래의 cache decay에서 사용됐던 decay 카운터는 일단 턴 오프 상태가 되면, 깨어날 때까지 상태가 변하지 않지만, 본 발명의 일 실시 예에 따른 decay 카운터(211)는 턴 오프 상태로 들어간 캐시 라인에 연결된 decay 카운터가 매번 턴 오프 상태로 전이될 때마다, 해당 캐시 라인의 소유자 태스크의 슬립 시간 카운터를 증가시킨다. 이를 통해서 수행 중에 각 태스크의 캐시 슬립 시간을 측정할 수 있다. 캐시 라인 슬립 시간을 측정하는 데 소모되는 동적 에너지 소비를 줄이기 위해서 캐시 히트 예측 기법에서와 마찬가지로, 수정된 decay 카운터(211)는 전체 캐시 중에서 1/32에 해당하는 캐시 셋에만 설치될 수 있다.
Column caching 기법을 사용하여 동적으로 공유 L2 캐시를 파티션 한다. Column caching 기법은 간단하기 때문에 구현에 따른 에너지 부하가 크지 않은 장점을 갖는다. Column caching 기법은 캐시 웨이를 각 태스크들에게 어떻게 할당했는지를 나타내는 캐시 웨이 할당 테이블을 필요로 한다. 이 테이블은 캐시 할당 관리자가 새로운 캐시 할당 결정을 내리고 나면, 캐시 할당 관리자가 새 값으로 변경한다.
Figure 112010011386712-pat00017

상기 표 1은 캐시 파티셔닝 전략의 구현 알고리즘을 나타낸다. 기본적으로 모든 태스크들에게 한 개씩의 캐시 웨이를 나누어준 이후에, 그리디(greedy)한 형태로 예상 한계 효용이 큰 태스크에 캐시 웨이를 하나 씩 더 할당한다. 캐시 웨이 ω를 가진 태스크 τ의 한계 효용은 Mhit(τ,ω)와 Msleep(τ,ω)의 가중 합(Weighted Sum)으로 정의된다. 여기서 가중치 w는 캐시 웨이를 할당하는 과정에서 동적으로 변화한다. 가중치 w는 할당된 전체 캐시 공간에서 τ가 차지하고 있는 비율을 나타낸다. 태스크가 캐시 공간을 적게 할당받을 때는 캐시 히트 한계 효용에 가중치를 더 주고, 캐시 공간을 많이 가졌을 때는 캐시 슬립 시간 한계 효용에 가중치를 더 준다.
본 발명의 일 실시 예에 따른 태스크 특성을 고려한 적응형 타임아웃 관리(Task-Aware Adaptive Timeout Management, TATM)에서는 적응형 타임아웃 관리자(224)가 각 태스크의 타임아웃 값을 결정한다. 캐시 히트 인터벌 분석기(222)에서 제공하는 태스크 별 캐시 히트 인터벌 길이 누적 분포를 기반으로, 적응형 타임아웃 관리자(224)는 태스크 τ의 임계 캐시 인터벌 길이 (Threshold Cache Interval Length) θτ 보다 긴 인터벌 길이를 갖는 캐시 히트 인터벌이 전체 캐시 히트 인터벌의 ρ %를 넘지 않는 θτ를 찾는다. 여기서, θτ를 τ의 타임아웃 값으로 설정한다. ρ는 사전에 정해진 값이다.
도 5는 각각의 태스크마다 인터벌의 길이를 누적하여 계산한 분포도를 나타낸다. 도 2에 도시된 수정된 Decay 카운터(211)는 캐시 라인이 꺼지면 슬립 시간을 측정하는 데 사용하고, 캐시 라인이 켜져 있을 경우에는 캐시 히트 인터벌의 길이를 측정한다. 즉, 각 태스크 별로 캐시 히트 인터벌을 측정하여 이를 캐시 히트 인터벌 분석기(222)로 전송한다. 캐시 히트 인터벌 분석기(222)는 이를 모아서 각 태스크 별로 캐시 히트 인터벌 길이에 따른 분포를 조사하여, 도 5에 도시된 것과 같은 캐시 히트 인터벌 길이 누적 분포를 기록한 추가 테이블을 작성한다.
decay 카운터의 비트 수를 n이라고 했을 때, 각 프로세서 코어마다 2n 개의 카운터를 필요로 한다. 각 카운터는 해당 길이를 갖는 캐시 히트 인터벌이 지난 기간 동안 몇 번 발생했는가를 카운트한다. 각 태스크 별로 캐시 히트 인터벌 길이에 따른 발생회수를 모으면 태스크 별 캐시 히트 인터벌 길이 분포를 알 수 있다.
캐시 히트 인터벌 분포 테이블은 캐시 히트가 발생한 캐시 라인의 decay 카운터가 몇 번의 카운트를 수행했는지에 따라서 업데이트된다. 예를 들면, 캐시 히트가 발생한 캐시 라인의 소유자가 1번 프로세서일 때, 직전의 캐시 접근으로부터 decay 카운터에서 3 번의 카운트가 발생했다면, 캐시 히트 인터벌 분포 테이블의 1번 프로세서의 인터벌 길이 3에 해당하는 카운터의 값을 1 증가 시킨다.
각 태스크의 캐시 라인 턴오프 때문에 발생하는 추가적인 캐시 미스로 인해서 캐시 히트 인터벌의 분포가 잘못 측정되는 것을 막기 위해서, 캐시 라인의 데이터 필드는 슬립 상태로 전환되더라도 태그 필드에는 계속 전력을 공급하도록 구성할 수 있다. 또한, 태그 필드에 전력을 계속 공급할 경우에 누설 전력 소비가 발생하기 때문에, 이를 최소화하기 위해서 전체 캐시 중 1/32에 해당하는 캐시 셋만을 모니터링 대상으로 한정하고, 모니터하는 영역의 캐시 셋에만 태그 필드에 전력을 항상 공급하게 할 수 있다.
태스크 τ의 인터벌 길이 i에 해당하는 캐시 히트 인터벌의 수를 INTERVAL[τ][i]로 나타낼 때, 캐시 히트 인터벌의 누적 분포 Distributionτ(i)는 다음 수학식 4와 같이 정의할 수 있다.
Figure 112010011386712-pat00005
삭제
하기의 표 2는 Distributionτ(i)을 이용한 적응형 타임아웃 관리 전략의 알고리즘을 보여준다.
Figure 112010011386712-pat00006
삭제
상기 알고리즘은 각 태스크의 캐시 히트 인터벌 길이 누적 분포를 참조해서, 태스크 τ 마다 임계 캐시 인터벌 길이 θτ를 찾는다. 알고리즘은 찾아낸 θτ를 τ의 타임아웃 값으로 결정한다. 이 과정에서 사전에 정해진 상수 ρ를 이용하는데, ρ가 크면 적극적으로 타임아웃을 줄이는 반면에 캐시 미스 증가 또한 많아질 우려가 있다. 캐시 미스 증가는 또다시 전체 에너지 소비 증가로 연결되기 때문에 지나치게 큰 값은 별로 좋지 않다. 반대로 ρ가 작으면 캐시 미스 증가가 적은 대신에, 타임아웃을 소극적으로 조절하기 때문에 얻을 수 있는 캐시 누설 소비 감소량은 줄어든다.
도 7은 태스크 별로 타임아웃을 다르게 적용하기 위해서 변경한 decay 카운터의 동작을 설명하기 위한 도면이다. 종래의 decay 카운터는 캐시 라인에 접근이 발생하면, 항상 동일한 시작 상태로 전이를 하도록 설계되어 있다. 하지만, 본 발명의 일 실시 예에 따른 decay 카운터는 캐시 라인에 접근 요청이 발생할 때, 접근을 요청한 태스크에 정해진 임의의 리셋(reset) 상태로 전이하도록 변경된다. 캐시 접근이 발생하면, 해당 캐시 접근을 요청한 태스크의 Task ID를 이용해서 decay 타임아웃 테이블을 참조해서 Task ID에 해당하는 리셋 상태를 얻는다. decay 카운터는 테이블에서 얻어 온 리셋 상태로 전이함으로써 각 태스크 별로 서로 다른 타임아웃을 사용할 수 있도록 한다.
적응형 타임아웃 관리자는 이를 위해서 각 태스크에 새로운 타임아웃 값을 할당한 후에 이를 적절한 리셋 상태로 인코딩해서 decay 타임아웃 테이블에 기록한다.
본 발명에 따른 장치는 프로세서, 프로그램 데이터를 저장하고 실행하는 메모리, 디스크 드라이브와 같은 영구 저장부(permanent storage), 외부 장치와 통신하는 통신 포트, 터치 패널, 키(key), 버튼 등과 같은 사용자 인터페이스 장치 등을 포함할 수 있다. 소프트웨어 모듈 또는 알고리즘으로 구현되는 방법들은 상기 프로세서 상에서 실행 가능한 컴퓨터가 읽을 수 있는 코드들 또는 프로그램 명령들로서 컴퓨터가 읽을 수 있는 기록 매체 상에 저장될 수 있다. 여기서 컴퓨터가 읽을 수 있는 기록 매체로 마그네틱 저장 매체(예컨대, ROM(read-only memory), RAM(random-access memory), 플로피 디스크, 하드 디스크 등) 및 광학적 판독 매체(예컨대, 시디롬(CD-ROM), 디브이디(DVD: Digital Versatile Disc)) 등이 있다. 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템들에 분산되어, 분산 방식으로 컴퓨터가 판독 가능한 코드가 저장되고 실행될 수 있다. 매체는 컴퓨터에 의해 판독가능하며, 메모리에 저장되고, 프로세서에서 실행될 수 있다.
본 발명에서 인용하는 공개 문헌, 특허 출원, 특허 등을 포함하는 모든 문헌들은 각 인용 문헌이 개별적으로 및 구체적으로 병합하여 나타내는 것 또는 본 발명에서 전체적으로 병합하여 나타낸 것과 동일하게 본 발명에 병합될 수 있다.
본 발명의 이해를 위하여, 도면에 도시된 바람직한 실시 예들에서 참조 부호를 기재하였으며, 본 발명의 실시 예들을 설명하기 위하여 특정 용어들을 사용하였으나, 특정 용어에 의해 본 발명이 한정되는 것은 아니며, 본 발명은 당업자에 있어서 통상적으로 생각할 수 있는 모든 구성 요소들을 포함할 수 있다.
본 발명은 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들은 특정 기능들을 실행하는 다양한 개수의 하드웨어 또는/및 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 본 발명은 하나 이상의 마이크로프로세서들의 제어 또는 다른 제어 장치들에 의해서 다양한 기능들을 실행할 수 있는, 메모리, 프로세싱, 로직(logic), 룩업 테이블(look-up table) 등과 같은 직접 회로 구성들을 채용할 수 있다. 본 발명에의 구성 요소들이 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있는 것과 유사하게, 본 발명은 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 발명은 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. “매커니즘”, “요소”, “수단”, “구성”과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다. 상기 용어는 프로세서 등과 연계하여 소프트웨어의 일련의 처리들(routines)의 의미를 포함할 수 있다.
본 발명에서 설명하는 특정 실행들은 일 실시 예들로서, 어떠한 방법으로도 본 발명의 범위를 한정하는 것은 아니다. 명세서의 간결함을 위하여, 종래 전자적인 구성들, 제어 시스템들, 소프트웨어, 상기 시스템들의 다른 기능적인 측면들의 기재는 생략될 수 있다. 또한, 도면에 도시된 구성 요소들 간의 선들의 연결 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것으로서, 실제 장치에서는 대체 가능하거나 추가의 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들로서 나타내어질 수 있다. 또한, “필수적인”, “중요하게” 등과 같이 구체적인 언급이 없다면 본 발명의 적용을 위하여 반드시 필요한 구성 요소가 아닐 수 있다.
본 발명의 명세서(특히 특허청구범위에서)에서 “상기”의 용어 및 이와 유사한 지시 용어의 사용은 단수 및 복수 모두에 해당하는 것일 수 있다. 또한, 본 발명에서 범위(range)를 기재한 경우 상기 범위에 속하는 개별적인 값을 적용한 발명을 포함하는 것으로서(이에 반하는 기재가 없다면), 발명의 상세한 설명에 상기 범위를 구성하는 각 개별적인 값을 기재한 것과 같다. 마지막으로, 본 발명에 따른 방법을 구성하는 단계들에 대하여 명백하게 순서를 기재하거나 반하는 기재가 없다면, 상기 단계들은 적당한 순서로 행해질 수 있다. 반드시 상기 단계들의 기재 순서에 따라 본 발명이 한정되는 것은 아니다. 본 발명에서 모든 예들 또는 예시적인 용어(예들 들어, 등등)의 사용은 단순히 본 발명을 상세히 설명하기 위한 것으로서 특허청구범위에 의해 한정되지 않는 이상 상기 예들 또는 예시적인 용어로 인해 본 발명의 범위가 한정되는 것은 아니다. 또한, 당업자는 다양한 수정, 조합 및 변경이 부가된 특허청구범위 또는 그 균등물의 범주 내에서 설계 조건 및 팩터에 따라 구성될 수 있음을 알 수 있다.
도 1은 본 발명의 일 실시 예에 따른 CMP의 개략도이다.
도 2는 도 1에 도시된 CMP 시스템에서 사용되는 공유 캐시의 누설 소비 전력 감소 장치 및 방법을 설명하기 위한 도면이다.
도 3은 본 발명의 일 실시 예에 따른 캐시 히트 예측 모델과 캐시 파티션을 구현하기 위해서 각 프로세서 코어마다 추가해야 하는 자료 구조를 나타낸다.
도 4는 본 발명의 일 실시 예에 따른 캐시 라인이 포함해야 할 정보들을 나타낸다.
도 5는 각각의 태스크마다 인터벌의 길이를 누적하여 계산한 분포도를 나타낸다.
도 6은 도 2에 도시된 캐시 라인 슬립 시간을 측정할 수 있도록 변경된 decay 카운터(211)를 설명하기 위한 도면이다.
도 7은 도 2에 도시된 태스크 별로 타임아웃을 다르게 적용하기 위해서 변경된 decay 카운터(211)의 동작을 설명하기 위한 도면이다.
삭제
삭제
삭제

Claims (10)

  1. 각 태스크 별 전체 캐시 히트 수와 MRU 블록에서 발생하는 캐시 히트 수를 측정하는 단계; 측정한 캐시 히트 수를 이용하여 각 태스크 별 공간 할당에 따른 캐시 히트 수를 예측하는 단계; 상기 예측한 캐시 히트 수를 기반으로 각 태스크 별로 캐시 공간을 할당하는 단계; 및 상기 할당된 캐시 공간에 따라 각 태스크 별로 공유 2차 캐시의 캐시 라인을 교체하는 단계를 포함하는 공유 2차 캐시의 누설 에너지 관리 방법에 있어서,
    상기 각 태스크 별 캐시 라인의 슬립 시간을 측정하는 단계; 및
    상기 측정한 슬립 시간을 이용하여 각 태스크 별 공간 할당에 따른 캐시 라인 슬립 시간을 예측하는 단계를 더 포함하고,
    상기 할당 단계는,
    상기 예측한 캐시 히트 수 및 상기 예측한 캐시 라인 슬립 시간을 기반으로 각 태스크 별로 캐시 공간을 할당하고,
    상기 각 태스크 별로 발생하는 캐시 히트 인터벌의 길이를 측정하는 단계;
    상기 측정한 캐시 히트 인터벌의 길이의 누적 분포를 이용하여 상기 각 태스크의 특성에 따른 타임아웃 길이를 설정하는 단계; 및
    상기 설정한 타임아웃 길이에 따라 상기 각 태스크 별로 캐시 라인의 턴 오프를 제어하는 단계를 더 포함하는 것을 특징으로 하는 공유 2차 캐시의 누설 에너지 관리 방법.
  2. 삭제
  3. 제 1 항에 있어서,
    상기 할당 단계는,
    상기 예측한 캐시 히트 수와 상기 예측한 캐시 라인 슬립 시간의 가중 합으로 각 태스크 별로 캐시 공간을 할당하는 것을 특징으로 하는 공유 2차 캐시의 누설 에너지 관리 방법.
  4. 삭제
  5. 제 1 항에 있어서,
    상기 공유 2차 캐시는 CMP(Chip Multi Processor)에서 이용되는 것을 특징으로 하는 공유 2차 캐시의 누설 에너지 관리 방법.
  6. 각 태스크 별 전체 캐시 히트 수와 MRU 블록에서 발생하는 캐시 히트 수를 측정하는 전체 및 MRU 히트 모니터; 측정한 캐시 히트 수를 이용하여 각 태스크 별 공간 할당에 따른 캐시 히트 수를 예측하는 캐시 히트 예측 모델; 상기 예측한 캐시 히트 수를 기반으로 각 태스크 별로 캐시 공간을 할당하는 캐시 할당 관리자; 및 상기 할당된 캐시 공간에 따라 각 태스크 별로 공유 2차 캐시의 캐시 라인을 교체하는 캐시 교체 장치를 포함하는 공유 2차 캐시의 누설 에너지 관리 장치에 있어서,
    상기 각 태스크 별 캐시 라인의 슬립 시간을 측정하는 Decay 카운터; 및
    상기 측정한 슬립 시간을 이용하여 각 태스크 별 공간 할당에 따른 캐시 라인 슬립 시간을 예측하는 캐시 슬립 시간 예측 모델을 더 포함하고,
    상기 캐시 할당 관리자는,
    상기 예측한 캐시 히트 수 및 상기 예측한 캐시 라인 슬립 시간을 기반으로 각 태스크 별로 캐시 공간을 할당하고,
    상기 Decay 카운터는,
    상기 각 태스크 별로 발생하는 캐시 히트 인터벌의 길이를 측정하고,
    상기 측정한 캐시 히트 인터벌의 길이의 누적 분포를 이용하여 상기 각 태스크의 특성에 따른 타임아웃 길이를 설정하는 적응형 타임아웃 관리자; 및
    상기 설정한 타임아웃 길이에 따라 상기 각 태스크 별로 캐시 라인의 턴 오프를 제어하는 캐시 라인 턴 오프 제어부를 더 포함하는 것을 특징으로 하는 공유 2차 캐시의 누설 에너지 관리 장치.
  7. 삭제
  8. 제 6 항에 있어서,
    상기 캐시 할당 관리자는,
    상기 예측한 캐시 히트 수와 상기 예측한 캐시 라인 슬립 시간의 가중 합으로 각 태스크 별로 캐시 공간을 할당하는 것을 특징으로 하는 공유 2차 캐시의 누설 에너지 관리 장치.
  9. 삭제
  10. 제 6 항에 있어서,
    상기 공유 2차 캐시는 CMP(Chip Multi Processor)에서 이용되는 것을 특징으로 하는 공유 2차 캐시의 누설 에너지 관리 장치.
KR1020080010734A 2008-02-01 2008-02-01 공유 2차 캐시의 누설 에너지 관리 방법 및 장치 KR101024073B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080010734A KR101024073B1 (ko) 2008-02-01 2008-02-01 공유 2차 캐시의 누설 에너지 관리 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080010734A KR101024073B1 (ko) 2008-02-01 2008-02-01 공유 2차 캐시의 누설 에너지 관리 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20090084510A KR20090084510A (ko) 2009-08-05
KR101024073B1 true KR101024073B1 (ko) 2011-03-22

Family

ID=41205054

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080010734A KR101024073B1 (ko) 2008-02-01 2008-02-01 공유 2차 캐시의 누설 에너지 관리 방법 및 장치

Country Status (1)

Country Link
KR (1) KR101024073B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101200711B1 (ko) * 2011-02-24 2012-11-14 주식회사 하이소닉 카메라용 자동 초점 및 손떨림 보정 장치 그리고 이러한 장치가 장착된 소형 카메라

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101200711B1 (ko) * 2011-02-24 2012-11-14 주식회사 하이소닉 카메라용 자동 초점 및 손떨림 보정 장치 그리고 이러한 장치가 장착된 소형 카메라

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
2007년 대한전자공학회 소사이어티 추계학술대회 제30권 제2호, 강희준 외1인 누전 에너지 관리를 고려한 공유 캐시 파티션 정책,(2007.11.30.)*
Proc. of 2007 ISLPED ACM YOUN, S. et al A Reusability-Aware Cache Memory Sharing Technique for High-Performance Low-Power CMPs with Private L2 Caches,

Also Published As

Publication number Publication date
KR20090084510A (ko) 2009-08-05

Similar Documents

Publication Publication Date Title
JP6267314B2 (ja) キャッシュメモリの利用トレンドに基づく複数セットグループ内のウェイごとの動的パワー供給
US7707359B2 (en) Method and apparatus for selectively prefetching based on resource availability
US8688915B2 (en) Weighted history allocation predictor algorithm in a hybrid cache
Srinath et al. Feedback directed prefetching: Improving the performance and bandwidth-efficiency of hardware prefetchers
US8788757B2 (en) Dynamic inclusive policy in a hybrid cache hierarchy using hit rate
US7694075B1 (en) System for enabling and disabling cache and a method thereof
US8843707B2 (en) Dynamic inclusive policy in a hybrid cache hierarchy using bandwidth
EP3055774B1 (en) Multi-mode set associative cache memory dynamically configurable to selectively allocate into all or a subset of its ways depending on the mode
US20130036270A1 (en) Data processing apparatus and method for powering down a cache
JP5989908B2 (ja) 不揮発性メモリにコードをキャッシュする方法、システムおよび装置
US20090119470A1 (en) Probabilistic Method for Performing Memory Prefetching
US10496550B2 (en) Multi-port shared cache apparatus
CN106372007B (zh) 缓存使用率估计
KR102469927B1 (ko) 분할 메모리 관리장치 및 방법
JP5298826B2 (ja) キャッシュメモリ及びプリフェッチ方法
KR101024073B1 (ko) 공유 2차 캐시의 누설 에너지 관리 방법 및 장치
Sembrant et al. Data placement across the cache hierarchy: Minimizing data movement with reuse-aware placement
Das et al. Random-LRU: a replacement policy for chip multiprocessors
US7434001B2 (en) Method of accessing cache memory for parallel processing processors
Pai et al. AB-Aware: application behavior aware management of shared last level caches
KR101017068B1 (ko) 개별 l2 캐시를 사용하는 멀티 프로세서 환경에서의 누설 에너지를 고려한 캐시 공유 방법
Wu et al. Cache management with partitioning-aware eviction and thread-aware insertion/promotion policy
EP4339788A1 (en) Performance and power balanced cache partial power down policy
EP2728485B1 (en) Multi-Port Shared Cache Apparatus
EP4339789A1 (en) Dynamic cache resource allocation for quality of service and system power reduction

Legal Events

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

Payment date: 20140220

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150212

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160122

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180222

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20200302

Year of fee payment: 10