본문 바로가기

Low Power Computing

HardWare Driven Power Management- Memories

반응형

[본글은 고려대학교 정보대학 김영근 교수님 COSE 415 저전력컴퓨팅 수강중 중간고사 정리를 위해 작성하는 글임을 밝힙니다.]

Low-Power Memories

  • Reducing the energy dissipation in the memory Access 메모리 접근에 드는 에너지 소모량을 줄이기 
  • Reducing the number of memory Access 메모리에 접근하는 회수를 낮추기 

Splitting Memories into smaller Sub-systems

  • 메모리를 split해 needed한 memory circuit만을 access때 activate한다.
  • 메모리를 split하는 과정에서 각종 multiplexer등 overhead가 발생하는 tradeoff를 고려해야 한다.

Banked Cache

  • Cache 하나를 여래개의 bank로 나눠서 관리하며, Bank Select를 통해 하나의 bank에서 data를 select한다.

Partitioned Power-aware Instruction Cache

  • Instruction Cache에 대해서도 다음과 같이 Partition하여 Memory Access에 드는 리소스를 최소화 할 수 있다.

Augmenting the memory Hierarchy with Specialized cache structure

  • 메모리에 접근하는 횟수를 낮추기 위해, 프로세서와 L1 cache 사이에 L0 cache를 도입 할 수 있다. 
  • Working set을 store할 정도로 Large enough하지 않다면,추가적인 오버헤드만 발생하므로 반복적인 작업에 적합한 구조이다.

TLB에서의 적용

  • Virtual Memory와 Physical Memory를 잇는 TLB에서도 LO cache와 같이 하나의 filter TLB를 도입하여, power consumption을 낮출 수 있다.

 

Scratchpad Memory

  • Runtime에 앞서 Compile time에 contain할 data가 정해진다.
  • 데이터가 runtime에 변경이 될 수 없기에 반복적인 작업에 적합하다.

Trace Cache

  • 컴파일 된 순서대로 instruction을 store하지 않고, 실제 executed order에 따라서 저장을 한다.
  • Branch Prediction과 상관없이 실행 경로를 저장한다.
  • Instruction cache access를 줄여주어 power를 아낀다.

  • 매번 branch가 동일한 basic block으로 일어 나는 것이 아니기에, branch prediction과 함께라면 적중률을 향상 시킬 수 있다.

Selective Trace Cache

  • 자주 접근이 되는 Hot block에 대해서 Hot trace을 적용한다.
  • Hot trace가 실행이 되는 동안에만 instruction cache를 shut-down하면 power consumption을 줄일 수 있다.

Low Power Cache

Dynamically resizable instruction cache

  • application의 workload에 따라, instruction cache의 set을 비활성화한다
  • hardware profiler로 miss pattern을 분석하고, miss rate가 threshold를 넘기면 deactivated된 캐시를 다시 activate 시킨다

set 단위이다.

Cache Decay

  • 기존에 set 단위 대신 더 작은 line 단위로 activate/deactivate를 한다.
  • 미리 결정된 시간동안 access가 되지 않았다면 sleep mode에 들어간다.
  • DRI는 miss rate로 다루지만, cache decay는 접근한 최근 시간이 기준이다. 

 

Drowsy Cache

  • Deactivate 하면 volatile한 data가 사라지기 때문에 최소한의 전력을 공급하는 방식이다.
  • 다음 cycle에 wakeup할 수 있으므로 deactivate penalty를 최소화한다.

 

Dead block elimination

  • Compiler의 도움을 받아 final use를 다한 Basic Block의 cache line을 꺼버린다.
반응형