KR20130044321A - 애플리케이션 구동 전력 게이팅 - Google Patents

애플리케이션 구동 전력 게이팅 Download PDF

Info

Publication number
KR20130044321A
KR20130044321A KR1020137003647A KR20137003647A KR20130044321A KR 20130044321 A KR20130044321 A KR 20130044321A KR 1020137003647 A KR1020137003647 A KR 1020137003647A KR 20137003647 A KR20137003647 A KR 20137003647A KR 20130044321 A KR20130044321 A KR 20130044321A
Authority
KR
South Korea
Prior art keywords
power
code
computer readable
architecture
profile
Prior art date
Application number
KR1020137003647A
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 알고토칩 코포레이션
Publication of KR20130044321A publication Critical patent/KR20130044321A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/327Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/06Power analysis or power optimisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Power Sources (AREA)

Abstract

컴퓨터 판독 가능 코드를 포함하는 주문형 집적 회로의 사양을 수신하고 상기 컴퓨터 판독 가능 코드의 프로파일을 생성하여 명령어 사용을 결정하고; 상기 컴퓨터 판독 가능 코드에 대해 고유하게 맞춤화된 프로세서 아키텍처를 자동으로 생성하고 - 상기 프로세서 아키텍처는 하나 이상의 처리 블록 및 하나 이상의 전력 도메인을 가짐 -; 상기 코드 프로파일에 기초하여 각각의 처리 블록이 언제 필요한지를 결정하고 각각의 블록을 상기 전력 도메인들 중 하나에 할당하고; 상기 코드 프로파일에 기초하는 전력으로 상기 전력 도메인들을 게이팅하고; 반도체 제조를 위해 상기 생성된 아키텍처를 상기 주문형 집적 회로의 컴퓨터 판독 가능 디스크립션 내에 합성함으로써, 주문형 집적 회로(IC) 설계에서 전력을 관리하기 위한 시스템들 및 방법들이 개시된다.

Description

애플리케이션 구동 전력 게이팅{APPLICATION DRIVEN POWER GATING}
<상호 참조 출원들>
본원은 공동 소유되고 동시에 출원된 "AUTOMATIC OPTIMAL INTEGRATED CIRCUIT GENERATOR FROM ALGORITHMS AND SPECIFICATION"이라는 미국 출원 제12/835,603호, "AUTOMATIC OPTIMAL INTEGRATED CIRCUIT GENERATOR FROM ALGORITHMS AND SPECIFICATION"이라는 제목의 미국 출원 제12/835,621호, "APPLICATION DRIVEN POWER GATING"이라는 제목의 미국 출원 제12/835,628호, "SYSTEM, ARCHITECTURE AND MICRO-ARCHITECTURE (SAMA) REPRESENTATION OF AN INTEGRATED CIRCUIT"라는 제목의 미국 출원 제12/835,631호, 및 "ARCHITECTURAL LEVEL POWER-AWARE OPTIMIZATION AND RISK MITIGATION"이라는 제목의 미국 출원 제12/835,640호와 관련되며, 이들 출원의 내용은 참고로 포함된다.
본 발명은 전자 회로에서 전력 소비를 관리하기 위한 방법 및 장치에 관한 것이다.
휴대용 배터리 구동 전자 장치들에서의 에너지 효율적인 시스템 설계는 더욱더 중요해졌는데, 그 이유는 에너지 소비가 휴대용 시스템의 배터리 수명을 나타내고, 이것은 소비자 시장에서의 임의의 제품의 성공을 위한 결정적인 성능 기준이기 때문이다. 따라서, 전력 관리는 시스템 기반구조의 필수적인 요소가 되고 있다.
동적 전력 관리(DPM)는 에너지 또는 전력 효율적인 계산을 위한 시스템의 동적 구성 또는 재구성을 가능하게 하는 설계 방법이다. DPM 기술들은 통상적으로 시스템의 유휴 요소들을 스위칭 오프 또는 '저속화(slowing down)'하고 시스템 성능을 에너지 효율로 동적으로 교환(trading)하는 것을 포함한다. DPM 기술들은 개별 시스템 컴포넌트들의 성능을 가변적인 작업 부하에 맞게 조정함으로써 시스템 전력을 최적화하고 제어하는 방법들을 제공한다.
동적으로 변하는 작업 부하를 갖는 시스템들에서, 즉 항상 피크 또는 최대 성능을 제공할 필요가 없는 시스템들에서, 전압 및 클럭 주파수는 시스템의 전력 소비를 최적화하도록 제어될 수 있다. 이것은 동적 전압 및 주파수 스케일링(DVFS)으로 알려져 있다. 미국 특허 출원 20070266268은 제1 주파수를 갖는 로컬 클럭 신호에 의해 동작이 제어되는 단일 명령어 다중 데이터(SIMD) 프로세서 아키텍처; SIMD 프로세서 아키텍처의 동작을 제어하고 프로세서 어레이의 동작을 데이터 벡터들의 스트림과 동기화하기 위한 신호들을 생성하도록 적응되는 제어 프로세서를 개시하고 있다. 제어 프로세서의 동작은 제2 주파수를 갖는 로컬 클럭 신호; 및 제어 프로세서에 의해 생성된 동기화 신호들에 응답하여 로컬 클럭 신호들의 주파수들을 조정하여 SIMD 프로세서 아키텍처의 전력 소비를 최소화하기 위한 전력 관리 수단에 의해 제어된다. 그러나, 이러한 접근법은 주파수만을 조정하므로, 애플리케이션 코드에 의해 요구되지 않을 때에도 낮은 주파수에서 동작할 수 있는 장치들을 남긴다.
칩에 의해 소비되는 전력은 2개의 주요 성분, 즉 동적 스위칭 전력 및 정적 또는 누설 전력에 속한다. 이러한 성분들은 독립적으로 관리될 수 있다. 전통적인 전력 관리 기술들은 회로 레벨 기술들에 의존한다. 제조 기술이 더 작은 기하 구조로 이동함에 따라, 정적 전력 소실이 중요해지고 있다. 정적 또는 누설 전력은 IC의 활동과 무관하다. 따라서, 이동 전화와 같은 배터리 구동 전자 장치들의 경우에는 누설 전력을 줄이는 것이 중요하다.
일 양태에서, 컴퓨터 판독 가능 코드를 포함하는 주문형 집적 회로의 사양을 수신하고 상기 컴퓨터 판독 가능 코드의 프로파일을 생성하여 명령어 사용을 결정하고; 상기 컴퓨터 판독 가능 코드에 대해 고유하게 맞춤화된 프로세서 아키텍처를 자동으로 생성하고 - 상기 프로세서 아키텍처는 하나 이상의 처리 블록 및 하나 이상의 전력 도메인을 가짐 -; 상기 코드 프로파일에 기초하여 각각의 처리 블록이 언제 필요한지를 결정하고 각각의 블록을 상기 전력 도메인들 중 하나에 할당하고; 상기 코드 프로파일에 기초하는 전력으로 상기 전력 도메인들을 게이팅하고; 반도체 제조를 위해 상기 생성된 아키텍처를 상기 주문형 집적 회로의 컴퓨터 판독 가능 디스크립션 내에 합성함으로써, 주문형 집적 회로(IC) 설계에서 전력을 관리하기 위한 시스템들 및 방법들이 개시된다.
위의 양태의 구현은 다음 중 하나 이상을 포함할 수 있다. 상기 시스템은 상기 프로파일로부터 기능 블록 사용 통계를 생성할 수 있다. 상기 시스템은 상이한 처리 블록들의 사용을 시간의 함수로서 추적할 수 있다. 상기 시스템은 하나 이상의 처리 블록에 대한 전력을 추론적으로 셧다운시키고, 턴오프된 처리 블록들에 대해 필요시에 전력을 자동으로 스위칭 온할 수 있다. 명령어 디코더가 각각의 전력 도메인에 언제 전력을 인가할지를 결정할 수 있다. 상기 주문형 IC가 상기 애플리케이션 코드를 실행하기 위한 소프트웨어 도구들이 자동으로 생성될 수 있다. 상기 도구들은 컴파일러, 어셈블러, 링커, 사이클 기반 시뮬레이터 중 하나 이상을 포함한다. 상기 도구는 펌웨어를 자동으로 생성한다. 상기 도구들은 상기 펌웨어를 프로파일링할 수 있고, 펌웨어 프로파일을 상기 아키텍처의 최적화에 대한 피드백으로서 제공할 수 있다. 상기 컴파일러의 명령어 스케줄러는 이러한 전력 최적화 스킴을 갖추어 명령어들의 순서를 정리하여 이익을 최대화할 수 있다. 상기 시스템은 사전 결정된 물리적 제약들에 기초하여 상기 프로세서 아키텍처를 반복적으로 최적화할 수 있다. 상기 시스템은 상기 컴퓨터 판독 가능 코드의 정적 프로파일링 또는 동적 프로파일링을 수행할 수 있다. 상기 시스템은 상기 주문형 집적 회로가 상기 컴퓨터 판독 가능 코드를 실행하기 위한 소프트웨어 개발 키트(SDK)를 자동으로 생성할 수 있다. 상기 컴퓨터 판독 가능 코드는 어셈블리 코드로 변환되고, 선택된 아키텍처에 대한 펌웨어를 생성하도록 링크될 수 있다. 상기 시스템은 상기 펌웨어의 사이클 정밀 시뮬레이션(cycle accurate simulation)을 수행할 수 있다. 상기 아키텍처는 프로파일링된 펌웨어 및/또는 상기 어셈블리 코드에 기초하여 최적화될 수 있다. 상기 시스템은 상기 선택된 아키텍처에 대한, 따라서 타이밍, 면적 또는 전력 면에서 최적화된 물리적 설계에 대한 레지스터 전송 레벨 코드를 생성할 수 있다. 상기 시스템은 RTL 코드를 합성할 수 있다.
바람직한 실시예들의 장점들은 다음 중 하나 이상을 포함할 수 있다. 정적 전력이 아키텍처 관점에서 제어될 수 있다. 이것은 칩 설계자들이 선행 소비 전력에 대한 더 양호한 핸들을 획득하고, 또한 전력 관련 스케줄 지연을 피하게 할 것이다.
도 1은 애플리케이션 코드에 응답하여 자동으로 설계된 ASIC(application specific integrated circuit)에 대한 전력을 자동으로 관리하기 위한 예시적인 시스템을 나타낸다.
도 2는 다양한 프로세서 블록 사용의 예시적인 프로파일을 나타낸다.
도 3은 도 2의 예시적인 프로파일을 갖는 특정 애플리케이션 코드 또는 알고리즘에 대해 주문 생성된 예시적인 아키텍처를 나타낸다.
도 4는 예시적인 프로세서 아키텍처의 예시적인 물리적 구현을 나타낸다.
도 5는 예시적인 아키텍처 레벨 WICE-DM(What-if Incremental Cost Estimation Data Model)을 나타낸다.
도 6은 아키텍처 기반 전력 관리를 포함하는 주문형 IC를 자동으로 생성하기 위한 예시적인 시스템을 나타낸다.
도 1은 애플리케이션 코드에 응답하여 자동으로 설계된 ASIC(application specific integrated circuit)에 대한 전력을 자동으로 관리하기 위한 예시적인 시스템을 나타낸다. 도 1에서, 애플리케이션 코드 또는 알고리즘(10)이 시스템에 대한 입력으로 제공된다. 애플리케이션 코드는 펌웨어(30)를 생성하는 컴파일러(20)에 제공된다. 펌웨어(30)는 프로파일러(40)에 의해 분석된다. 프로파일러 출력은 기능 블록 사용 통계 모듈(50)에 제공된다. 그 결과는 전력 게이팅 생성기(60)에 제공되고, 전력 게이팅 생성기(60)의 출력은 SAMA(system architecture and microarchitecture) 블록(70)에 제공된다. SAMA 블록(70)은 아키텍처 최적화기가 SAMA 블록(70)에서 설명되는 새로운 아키텍처를 최적화 및 생성할 수 있게 하는 하이 레벨 경량 추상 모델을 생성한다. SAMA 블록(70)은 정보를 데이터 모델(DM)에 제공하며, 이 모델은 ASIC의 확장된 통합 기능 및 물리 모델이다. DM은 예를 들어 가산기, 승산기와 같은 ASIC의 물리적 원시 정보를 수신한다. 펌웨어의 프로파일은 특히 전력, 크기, 속도와 같은 사전 결정된 물리적 제약들에 기초하여 ASIC 설계를 최적화하기 위해 아키텍처 최적화기에 피드백된다. DM은 아키텍처 최적화기에 제공된 타이밍, 면적, 전력 피드백 정보를 갖는 물리적 설계에 도달하기 위한 제약들을 따르는 RTL 코드를 생성할 수 있다. SAMA 블록(70)은 본원과 동시에 출원되어 공동 계류중이고 공동 소유되는 출원에서 더 상세히 설명되어 있으며, 그 내용은 참고로 포함된다.
도 1의 시스템은 전력 게이팅을 통해 정적 전력 소비를 최소화한다. 통상적으로, 공급 전압이 높을수록 트랜지스터의 스위칭이 빨라지고 전력이 높아진다. 따라서, 장치의 상이한 영역에서 전압 공급을 제어함으로써 성능이 전력과 교환될 수 있다. 또한, 필요하지 않은 소정의 논리에 대해, 시스템은 전력 게이트 표준 셀들 또는 전력 게이팅을 통해 전력 공급을 격리할 수 있다. 도 1의 시스템은 다른 기능이 사용되고 있는 동안 칩의 상이한 섹션들이 언제 작은 시간 윈도들 동안 사용되지 않을 수 있는지를 알고리즘 또는 코드 프로파일에 기초하여 결정한다. 예를 들어, DSP 칩들에서는, MAC(multiply and accumulate unit)이 FIR 필터에서 사용되는 동안 ALU(Arithmetic Logic Unit)는 사용되지 않을 수 있다. 하나의 특정 예에서 전력 게이팅 생성기(60)는 코드 거동을 이용하고, ALU 논리에 대한 전력 그리드를 셧다운시킬 수 있다.
도 2는 다양한 프로세서 블록 사용의 예시적인 프로파일을 나타낸다. 이 프로파일은 도 1의 시스템에 대한 전력 관리를 제공하는 데 사용된다. 이 예에서, 코드 프로파일은 부동 소수점 유닛(FPU)이 기간들(400, 410, 420)에서 산발적으로 사용된다는 것을 나타낸다. 프로파일은 또한 기간들(400, 410, 420)보다 훨씬 긴 기간(450) 동안 가산기가 사용된다는 것을 나타낸다. 블록 사용 통계에 기초하면, 가산기는 매우 자주 사용되므로 개별 전력 도메인에 대한 후보가 아니지만, 전력 게이팅을 포함하는 새로운 전력 도메인이 FPU에 대해 생성될 수 있으며, 따라서 CPU는 에너지를 절약하기 위해 긴 유휴 기간들 동안 전력 게이팅 다운될 수 있다.
도 3은 도 2의 예시적인 프로파일을 갖는 특정 애플리케이션 코드 또는 알고리즘에 대해 주문 생성된 예시적인 아키텍처를 나타낸다. 이 아키텍처에서, 명령어 인출(IF) 유닛(110)이 명령어 디코더(120)에 명령어들을 제공한다. 명령어는 디코더(130)에 의해 디코딩되고, 다양한 범용 레지스터들(140)에 액세스한다. 피연산자 인출 유닛(150)이 레지스터들로부터 또는 메모리로부터 데이터를 인출할 수 있다. 가산기(160)가 가산 및 감산을 수행할 수 있으며, 부동 소수점 유닛(FPU)(170)이 부동 소수점 산술을 처리할 수 있다. 실행 유닛(180)이 명령어들을 실행할 수 있다.
설계되는 IC들에서, 장치의 일부분들은 항상 온(always-on) 전력 공급을 가질 수 있고, 일부분들은 프로그래밍 가능하게 셧오프될 수 있는 제어 가능한 전력 공급을 가질 수 있다. 한 가지 장점은 전력과 접지 사이의 차이가 거의 0이 됨에 따라 누설 전력이 크게 감소한다는 것이다. 알고리즘의 특정 요구에 대한 지식을 이용하여, 도 1의 시스템은 IC의 소정 일부분에 대한 전력 공급을 완전히 턴오프시키는 전력 게이팅을 제공한다. 또한, 전력 턴온 프로세스를 면밀히 순차화하여, 전력 다운 회로가 전력 업되고 있을 때 "러시(rush)" 전류의 가능성을 방지한다. 또한, 드라이버 부하 쌍들이 상이한 전압 섬(island)들에 존재할 수 있으며, 이들의 관계는 스파이크들 및 기타 과도 현상들을 최소화하도록 제어된다.
전력 게이팅이 결함 없이 작동하게 하기 위해, 아키텍처 전력 특징들을 이용하여 정적 전력이 제어된다. 과거에, 칩들 내의 전력 절약 특징들은 칩들의 다양한 섹션들이 전력 다운되는 "유휴", "슬립" 및 "중지" 모드와 같은 기본 모드들로 제한되었다. 그러나, 스마트폰과 같은 새로운 응용들에서의 증가된 성능 요구에 따라, 칩이 활동 없이 유휴 상태가 되는 것은 드물다. 따라서, 이것은 이러한 전통적인 전력 모드들이 활성화될 수 있을 때 덜 일반적인데, 그 이유는 칩의 일부 요소들이 항상 활성 상태이기 때문이다.
이 예에서, 도 2의 프로파일에 기초하여, 아키텍처 최적화기는 FPU가 그 자신의 전력 도메인(VDD2)에 할당되는 반면에 블록들의 나머지가 전력 도메인(VDD1)으로부터 전력을 공급받는 것으로 결정한다. 도 1의 시스템은 일 실시예에서 명령어 디코더(120)를 통해 자동으로 전력 게이팅 제어 비트들을 생성한다. 알고리즘 또는 코드의 프로파일에 기초하여, 명령어 디코더(120)는 특정 전력 도메인이 언제 전력 업 또는 다운될지를 결정하는 전력 게이팅 제어 비트들의 스트림을 생성한다.
도 4는 프로세서 아키텍처의 예시적인 구현을 나타낸다. 이 실시예에서, 파이프라인 스테이지들(200, 220, 270)이 제공된다. 조합 논리(210)가 파이프라인 스테이지들(200, 220) 사이에 배치될 수 있으며, 논리(210)로부터 정적 전력이 계속 소모된다. 조합 논리(210)의 전력 소비를 최소화하기 위해 아무 것도 행해질 수 없다. 그러나, FPU(230), 승산기(240) 및 가산기(250)의 경우, 이들 각각은 게이팅 제어기(260)로서 작용하는 명령어 디코더에 의해 게이팅되는 개별 전력 버스 또는 도메인 상에 위치할 수 있다.
도 4의 시스템에서, 각각의 기능 유닛 및 하드웨어 스레드들은 개별 전력 제어 시스템을 가질 수 있다. 이 시스템은 명령어 코드에 의해 제어되며, 따라서 동적으로 제어될 수 있다. 또한, 이 정보는 배치 및 라우팅 방법에 제공될 것이며, 따라서 동일 전력 제어 메커니즘을 갖는 상이한 섹션들은 단일 전력 게이팅 메커니즘이 해당 논리에 대한 전력을 스위칭 오프하는 방식으로 배치 및 라우팅될 수 있다.
일 실시예에서, 시스템으로 상이한 기능 블록들의 사용을 시간의 함수로서 지능적으로 추적한다. 이것은 상이한 기능 블록들에 대한 전력을 추론적으로 셧다운시킬 것이다. 프로그램 흐름이 이러한 기능 블록들의 사용을 필요로 하게 될 명령어들에 이르는 경우, 하드웨어는 이러한 기능 블록들에 대한 전력을 자동으로 스위칭 온할 것이다. 따라서, 프로그래머는 전력 제어 시스템을 세밀하게 관리할 필요가 없고, 따라서 시스템의 사용이 쉬워질 것이다.
도 6은 주문형 IC를 자동으로 생성하기 위한 예시적인 시스템을 나타낸다. 도 6의 시스템은 선택된 타겟 애플리케이션을 위한 프로그래밍 가능 하드웨어 솔루션에 대해 명령어 세트 압축 및 가변 폭 인코딩을 이용하는 최적 명령어 세트를 갖는 아키텍처의 자동 생성을 지원한다. 타겟 애플리케이션 사양은 일반적으로 C, Matlab, SystemC, Fortran, Ada 또는 임의의 다른 언어와 같은 하이 레벨 언어에서 컴퓨터 판독 가능 코드로서 표현되는 알고리즘을 통해 이루어진다. 이 사양은 타겟 애플리케이션의 디스크립션(description) 및 또한 하드웨어 솔루션의 원하는 비용, 면적, 전력, 속도, 성능 및 기타 속성들과 같은 하나 이상의 제약을 포함한다.
도 5는 아키텍처 및 마이크로-아키텍처 레벨 증분 홧-이프(what-if) 분석을 위한 물리적 설계(PD) 모델 기반 면적, 전력 및 지연 비용 추정을 위한 데이터 흐름을 나타낸다. 이제, 도 5를 참조하면, 반복 i 후에, 502에서 다음 반복에 대한 입력으로서 다음 SAMA i+1이 사용된다. 따라서, 504에서 시간 i에서의 SAMA가 갱신된다. 504에서의 SAMA는 CA 시뮬레이터(506) 및 아키텍처 최적화기(510)에 제공된다. AO(510)는 비용 함수 질의 API(512)를 통해 통신한다. SAMA는 SAMA 판독기 API(514)를 통해 통신한다. CA 시뮬레이터는 프로파일 데이터 판독기 API(516)를 통해 프로파일 정보를 전송한다.
SAMA 판독기 API(514)는 아키텍처 및 합성 정보를 아키텍처 설계 상태(MAML-HG)(518)로 전송한다. 비용 함수 조회 API(512)는 정보를 평가 상황 관리(515)에 제공하며, 이어서 이 평가 상황 관리는 정보를 MAML-HG(518)에 제공한다. 상황 관리(515)는 평가 상황 물리 설계 모델(530)을 형성하는 데 사용될 수 있다. 상황 관리(515)는 기준선으로부터 제안된 설계 변경들을 계속 추적한다. 비용 평가의 초기 스테이지들 동안 커미트 없이 많은 변경들이 제안된다. 커미트된 상황은 기준선 설계의 일부가 된다(SAMA 파일 갱신).
MAML-HG(518)는 다중 레벨 하이퍼그래프 데이터 구조를 다중 레벨 X-계층 구조 관리자(520)에 제공한다. 이어서, 관리자(520)는 특히 블랙박스 뷰(522), 주문형 다중 해상도 계층 구조 뷰(524) 및 완전 합성 가능한 네트리스트 뷰(526)를 포함하는 다양한 뷰들을 제공한다. 뷰들(522-526)은 기준선 물리 설계 모델(528)을 형성하는 데 사용될 수 있다.
모델들(528-530)은 특히 전력 핫스팟 추정 엔진(540), 지연 및 타이밍 추정 엔진(542) 및 면적 추정 엔진(544)에 의해 사용될 수 있다. 전력 핫스팟 추정 엔진(540)은 MAML-HG(518)로부터 추정된 활동 팩터들(AF들)을 수신할 수 있다. 엔진들(540-544)로부터의 데이터는 분석 정보 관리자(550)에 제공되며, 이 분석 정보 관리자는 비용 함수 조회 API(512)를 통해 AO(510)에 피드백을 제공한다.
하나의 예시적인 API가 아래에 더 상세히 설명된다.
비용 함수 추정(CFE) API
Figure pct00001
'response_type'은 다음 정보를 포함한다.
● 상대적 비용(실제 질의에 의존하는 지연, 면적, 전력 등)
○ 정성적(개선, 중요한 영향 없음, 저하)
○ 정량적(정성적 변화의 발견적 척도(heuristic measure))
● 보조 물리 설계 최적화(SPDO)를 포함하는 조건부 비용
○ 보조 PD 최적화 ID(후일의 참조를 위한 내부 부기 ID)
○ WA가 수락된 경우의 새로운 상대적 비용
● 신뢰 간격
○ 0과 1 사이의 값
○ 1은 가장 정확한 데이터 구동 도구 흐름을 이용하여 비용이 계산되었다는 것을 의미한다
○ 0은 비용이 대략적으로 추정되었고, 상세한 비용 분석이 수행될 경우에는 크게 다를 가능성이 매우 높다는 것을 의미한다.
(ID에 의해 인덱싱되는) 보조 최적화 제안을 제공하는 능력은 아키텍처 최적화가 완료된 것이 아니라 아직 고려되고 있을 때 AO에 영향을 미치도록 물리 설계 최적화를 향상시킨다. 표준 산업 흐름들에서, 물리 설계 최적화는 아키텍처 최적화가 완료될 때까지 수행되지 않는다. 시스템은 AO로 하여금 물리 합성 사고(thinks)가 가능한 최적화를 선택할 수 있게 하지만, 이러한 최적화가 어떻게 달성되어야 하는지에 대한 상세들을 이해할 것을 AO에 요구하지 않는다. 이어서, 데이터 모델은 실제 구현을 위해 물리적 합성을 적절히 구성한다. 이러한 메커니즘은 AO가 즉석 계산된 비용 함수만이 아니라 최적화 움직임의 광범위한 결과들을 고려할 수 있게 하며, 따라서 더 양호한 설계 수렴을 가능하게 한다.
다른 예시적인 API는 다음과 같은 경로 활동 프로파일이다.
경로 프로파일(PP) API
Figure pct00002
경로 활동 팩터는 경로가 작동될 확률 또는 가능성이다. 이 정보는 사이클 정밀 시뮬레이터로부터 입수할 수 있다(페이지 1의 예시 1 참조). WICE-DM은 이 정보와 물리 설계 모델링으로부터 얻은 경로 토폴로지 정보를 통합한다. 결과적으로, 이것은 물리 설계의 각각의 단위 면적에 대한 전력 사용 추정치를 생성한다. 이어서, 이것은 전력 핫스팟 정보를 제공하며, 이어서 이 전력 핫스팟 정보는 자원 제약의 형태로 명령어 스케줄러에 피드백으로서 제공될 수 있다. 이러한 피드백의 순수 효과는 (a)명령어들이 잠재적 타이밍 및 기타 신호 무결성 문제가 방지되도록 스케줄링되고, (b) 전력 핫스팟 이웃들일 필요가 있는 컴포넌트들이 전력 섬 형성, 클럭 게이팅 또는 기타 기술들을 이용하여 새로 장착될 수 있고, 그러한 즉석 수행들의 면적/타이밍 비용이 즉시 이용 가능하다는 것이다.
도 5의 일 실시예에서, 아키텍처 레벨 지식은 통상적으로 물리 합성에 이용 가능하지 않은 정보를 전달하기 위해 네트리스트 파일 내에 인코딩된다. 예컨대, 계층 구조 이름들은 해당 계층 구조 내의 셀들의 그룹이 하드 또는 소프트 제약인지를 지시하기 위한 사전 및 사후 픽스 태그들(fix tags)을 포함할 수 있다. 이 정보는 더 빠른 턴-어라운드(turn-around) 시간을 제공하는 도구 체인 용량을 개선하는 물리적 분할에서 더 과감한 결정을 행하는 데 유용하다. 인스턴스들의 이름들도 아키텍처 레벨 모델이 이것을 실제의 중요한 경로에 대한 가능한 경로로서 보는지를 지시하기 위한 사전/사후 픽스를 포함할 수 있다. 물리 합성은 올바른 경로가 발견될 때까지 잘못된 경로들을 조금씩 제거하는 것이 아니라 실제의 중요한 경로들을 예견할 수 있다. 이것은 원하지 않는 최적화(다른 비용 증가를 유발하는 과다한 최적화)를 제거하고, 턴-어라운드 시간을 절약한다. 다른 예로서, 소정의 매크로 블록들은 최적 타이밍 최초 타임 어라운드(optimal timing first time around)의 달성을 돕는 (특히, 어레이 배치와 같은) 배치 제약들을 지시하도록 명명될 수 있다. "측파대" 정보를 네트리스트 파일로 인코딩하는 것에 더하여, 도 5의 흐름은 또한 물리 합성의 안내에 있어서 원래의 사용자 제약들 단독으로 할 수 있는 것보다 더 생산적인 (물리 및 타이밍) 설계 제약들을 생성할 수 있다. 일부 예들에서, 그러한 제약들은 네트리스트 인스턴스 명명 스킴을 통해 "암시"된다.
도 6에서, IC 고객이 제품 사양(102)을 생성한다. 통상적으로, 원하는 제품의 모든 주요 기능을 획득하는 최초 제품 사양이 존재한다. 제품으로부터, 알고리즘 전문가들은 제품에 필요한 컴퓨터 판독 가능 코드 또는 알고리즘들을 식별한다. 이러한 알고리즘들의 일부는 제삼자들로부터 또는 표준 개발 위원들로부터 IP로서 이용 가능할 수 있다. 이들 중 일부는 제품 개발의 일부로서 개발되어야 한다. 이러한 방식으로, 제품 사양(102)은 특히 C 프로그램과 같은 프로그램 또는 Mathlab 모델과 같은 수학 모델로서 표현될 수 있는 컴퓨터 판독 가능 코드 또는 알고리즘(104)에서 더 상세화된다. 제품 사양(102)은 또한 특히 비용, 면적, 전력, 프로세스 타입, 라이브러리 및 메모리 타입과 같은 요구들(106)을 포함한다.
컴퓨터 판독 가능 코드 또는 알고리즘(104) 및 요구(106)는 자동화된 IC 생성기(110)에 제공된다. 코드 또는 알고리즘(104) 및 칩 설계에 부과된 제약들에만 기초하여, IC 생성기(110)는 GDS 파일(112), IC를 동작시키기 위한 펌웨어(114), 소프트웨어 개발 키트(SDK)(116) 및/또는 테스트 스위트(test suite)(118)를 포함하는 출력을 거의 또는 전혀 인간 개입 없이 자동으로 생성한다. GDS 파일(112) 및 펌웨어(114)는 주문형 칩(121)을 제조하는 데 사용된다.
인스턴트 시스템은 칩 설계의 문제를 완화하며, 칩 설계를 간단한 프로세스가 되게 한다. 시스템은 제품 개발 프로세스의 초점을 하드웨어 구현 프로세스로부터 제품 사양 및 알고리즘 설계로 거꾸로 이동시킨다. 특정 하드웨어 선택들로 제한되는 것이 아니라, 알고리즘은 해당 애플리케이션에 대해 특별히 최적화된 프로세서 상에서 항상 구현될 수 있다. 시스템은 이러한 최적화된 프로세서를 모든 관련된 소프트웨어 도구들 및 펌웨어 애플리케이션들과 더불어 자동으로 생성한다. 이러한 전체 프로세스는 현재 걸리는 수년이 아니라 대략 수일 내에 수행될 수 있다. 요컨대, 시스템은 제품 개발의 디지털 칩 설계 부분을 블랙박스화한다.
일 실시예에서, 인스턴트 시스템 제품은 다음을 입력으로 취할 수 있다.
C/Matlab에서 정의되는 컴퓨터 판독 가능 코드 또는 알고리즘
필요한 주변 장치들
면적 타겟
전력 타겟
마진 타겟(장래의 펌웨어 갱신 및 복잡성 증가를 위해 얼마나 많은 오버헤드가 삽입될지)
프로세스 선택
표준 셀 라이브러리 선택
테스트 가능성 스캔
시스템의 출력은 모든 관련된 펌웨어와 더불어 디지털 하드 매크로일 수 있다. 이 디지털 하드 매크로에 대해 최적화된 소프트웨어 개발 키트(SDK)도 자동으로 생성되며, 따라서 펌웨어에 대한 장래의 갱신은 프로세서의 변경이 필요 없이 구현된다.
시스템은 임의의 선택된 타겟 애플리케이션에 대한 완전한 최적 하드웨어 솔루션의 자동 생성을 수행한다. 일반적인 타겟 애플리케이션들이 내장 애플리케이션 공간 내에 있지만, 이들은 반드시 그에 한정되지 않는다.
예를 들어, 이어서, 자동화된 칩 설계 시스템을 지원하기 위한 컴퓨터가 설명된다. 컴퓨터는 바람직하게는 CPU 버스에 의해 결합된 프로세서, 랜덤 액세스 메모리(RAM), 프로그램 메모리(바람직하게는 플래시 ROM(read-only memory)과 같은 기록 가능 ROM) 및 입출력(I/O) 제어기를 포함한다. 컴퓨터는 옵션으로서 하드 디스크 및 CPU 버스에 결합되는 하드 드라이브 제어기를 포함할 수 있다. 하드 디스크는 본 발명과 같은 애플리케이션 프로그램들 및 데이터를 저장하는 데 사용될 수 있다. 대안으로서, 애플리케이션 프로그램들은 RAM 또는 ROM에 저장될 수 있다. I/O 제어기는 I/O 버스에 의해 I/O 인터페이스에 결합된다. I/O 인터페이스는 직렬 링크, 근거리 네트워크, 무선 링크 및 병렬 링크와 같은 통신 링크들을 통해 아날로그 또는 디지털 형태로 데이터를 수신 및 송신한다. 옵션으로서, 디스플레이, 키보드 및 포인팅 장치(마우스)도 I/O 버스에 접속될 수 있다. 대안으로서, 개별 접속들(개별 버스들)이 I/O 인터페이스, 디스플레이, 키보드 및 포인팅 장치에 대해 사용될 수 있다. 프로그래밍 가능한 처리 시스템은 사전 프로그래밍될 수 있거나, 다른 소스(예컨대, 플로피 디스크, CD-ROM 또는 다른 컴퓨터)로부터 프로그램을 다운로드함으로써 프로그래밍(및 다시 프로그래밍)될 수 있다.
각각의 컴퓨터 프로그램은 기계 판독 가능 저장 매체 또는 장치가 본 명세서에서 설명되는 절차들을 수행하기 위해 컴퓨터에 의해 판독될 때 컴퓨터를 구성하고 그의 동작을 제어하기 위해 범용 또는 특수 목적 프로그래밍 가능 컴퓨터에 의해 판독 가능한 기계 판독 가능 저장 매체 또는 장치(예로서, 프로그램 메모리 또는 자기 디스크)에 유형으로 저장된다. 본 발명의 시스템은 컴퓨터 프로그램으로 구성되는 컴퓨터 판독 가능 저장 매체 내에 구현되는 것도 고려될 수 있으며, 그렇게 구성된 저장 매체는 컴퓨터가 본 명세서에서 설명되는 기능들을 수행하도록 특정한 그리고 사전 정의된 방식으로 동작하게 한다.
본 발명은 특허법에 따르기 위해 그리고 이 분야의 기술자들에게 새로운 원리들을 이용하고 필요한 특수 컴포넌트들을 구성하고 사용하는 데 필요한 정보를 제공하기 위해 본 명세서에서 상당히 상세하게 설명되었다. 그러나, 본 발명은 특별히 상이한 장비 및 장치들에 의해 실시될 수 있고, 발명 자체의 범위로부터 벗어나지 않고 장비 상세들 및 동작 절차들에 관한 다양한 변경들이 이루어질 수 있다는 것을 이해해야 한다.

Claims (20)

  1. 주문형(custom) 집적 회로(IC) 설계에서 전력을 관리하기 위한 방법으로서,
    a. 컴퓨터 판독 가능 코드를 포함하는 상기 주문형 집적 회로의 사양을 수신하고, 상기 컴퓨터 판독 가능 코드의 프로파일을 생성하여 명령어 사용을 결정하는 단계;
    b. 상기 컴퓨터 판독 가능 코드에 대해 고유하게 맞춤화된 프로세서 아키텍처를 자동으로 생성하는 단계 - 상기 프로세서 아키텍처는 하나 이상의 처리 블록 및 하나 이상의 전력 도메인을 가짐 -;
    c. 상기 코드의 프로파일에 기초하여 각각의 처리 블록이 언제 필요한지를 결정하고, 각각의 블록을 상기 전력 도메인들 중 하나에 할당하는 단계;
    d. 상기 코드의 프로파일에 기초하는 전력으로 상기 전력 도메인들을 게이팅(gating)하는 단계; 및
    e. 반도체 제조를 위해 상기 생성된 아키텍처를 상기 주문형 집적 회로의 컴퓨터 판독 가능 디스크립션(description) 내에 합성하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서, 상기 프로파일로부터 기능 블록 사용 통계를 생성하는 단계를 포함하는 방법.
  3. 제2항에 있어서, 상이한 처리 블록들의 사용을 시간의 함수로서 추적하는 단계를 포함하는 방법.
  4. 제1항에 있어서, 하나 이상의 처리 블록에 대한 전력을 추론적으로(speculatively) 셧다운시키고, 턴오프된 처리 블록들에 대해 필요시에 전력을 자동으로 스위칭 온하는 단계를 포함하는 방법.
  5. 제1항에 있어서, 명령어 디코더를 이용하여, 각각의 전력 도메인에 언제 전력을 인가할지를 결정하는 단계를 포함하는 방법.
  6. 제1항에 있어서, 상기 컴퓨터 판독 가능 코드의 정적 프로파일링 또는 동적 프로파일링을 수행하여 처리 블록 사용을 결정하는 단계를 포함하는 방법.
  7. 제1항에 있어서, 상기 주문형 집적 회로가 상기 컴퓨터 판독 가능 코드를 실행하게 하기 위한 펌웨어 또는 소프트웨어 개발 키트(SDK)를 자동으로 생성하는 단계를 포함하는 방법.
  8. 제1항에 있어서, 상기 컴퓨터 판독 가능 코드를 어셈블리 코드로 컴파일링하는 단계를 포함하는 방법.
  9. 제8항에 있어서, 선택된 아키텍처에 대한 펌웨어를 생성하도록 상기 어셈블리 코드를 링크하는 단계를 포함하는 방법.
  10. 제8항에 있어서, 펌웨어의 사이클 기반 시뮬레이션을 수행하는 단계를 포함하는 방법.
  11. 제8항에 있어서, 펌웨어의 동적 프로파일링을 수행하는 단계를 포함하는 방법.
  12. 제11항에 있어서, 프로파일링된 펌웨어에 기초하여 상기 아키텍처를 최적화하는 단계를 포함하는 방법.
  13. 제8항에 있어서, 상기 어셈블리 코드에 기초하여 상기 아키텍처를 최적화하는 단계를 포함하는 방법.
  14. 제1항에 있어서, 선택된 아키텍처에 대한 레지스터 전송 레벨 코드를 생성하는 단계를 포함하는 방법.
  15. 제11항에 있어서, RTL 코드의 합성을 수행하는 단계를 포함하는 방법.
  16. 주문형 집적 회로(IC) 설계에서 전력을 자동으로 관리하기 위한 시스템으로서,
    a. 컴퓨터 판독 가능 코드를 포함하는 상기 주문형 집적 회로의 사양을 수신하고, 상기 컴퓨터 판독 가능 코드의 프로파일을 생성하여 명령어 사용을 결정하기 위한 수단;
    b. 상기 컴퓨터 판독 가능 코드에 대해 고유하게 맞춤화된 프로세서 아키텍처를 자동으로 생성하기 위한 수단 - 상기 프로세서 아키텍처는 하나 이상의 처리 블록 및 하나 이상의 전력 도메인을 가짐 -;
    c. 상기 코드의 프로파일에 기초하여 각각의 처리 블록이 언제 필요한지를 결정하고, 각각의 블록을 상기 전력 도메인들 중 하나에 할당하기 위한 수단;
    d. 상기 코드의 프로파일에 기초하는 전력으로 상기 전력 도메인들을 게이팅하기 위한 수단; 및
    e. 반도체 제조를 위해 상기 생성된 아키텍처를 상기 주문형 집적 회로의 컴퓨터 판독 가능 디스크립션 내에 합성하기 위한 수단
    을 포함하는 시스템.
  17. 제16항에 있어서, 상기 프로파일로부터 기능 블록 사용 통계를 생성하기 위한 수단을 포함하는 시스템.
  18. 제17항에 있어서, 상이한 처리 블록들의 사용을 시간의 함수로서 추적하기 위한 수단을 포함하는 시스템.
  19. 제16항에 있어서, 하나 이상의 처리 블록에 대한 전력을 추론적으로 셧다운시키고, 턴오프된 처리 블록들에 대해 필요시에 전력을 자동으로 스위칭 온하기 위한 수단을 포함하는 시스템.
  20. 제16항에 있어서, 각각의 전력 도메인에 언제 전력을 인가할지를 결정하기 위한 명령어 디코더를 포함하는 시스템.
KR1020137003647A 2010-07-13 2011-07-11 애플리케이션 구동 전력 게이팅 KR20130044321A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/835,628 2010-07-13
US12/835,628 US8589854B2 (en) 2010-07-13 2010-07-13 Application driven power gating
PCT/US2011/043607 WO2012009293A1 (en) 2010-07-13 2011-07-11 Application driven power gating

Publications (1)

Publication Number Publication Date
KR20130044321A true KR20130044321A (ko) 2013-05-02

Family

ID=45467884

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137003647A KR20130044321A (ko) 2010-07-13 2011-07-11 애플리케이션 구동 전력 게이팅

Country Status (7)

Country Link
US (1) US8589854B2 (ko)
EP (1) EP2593889A1 (ko)
JP (1) JP5725582B2 (ko)
KR (1) KR20130044321A (ko)
CN (1) CN103097986A (ko)
TW (1) TW201222306A (ko)
WO (1) WO2012009293A1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8225247B2 (en) * 2010-07-13 2012-07-17 Satish Padmanabhan Automatic optimal integrated circuit generator from algorithms and specification
EP2798432A4 (en) 2011-12-27 2015-07-22 Intel Corp METHODS AND SYSTEMS FOR CONTROLLING POWER SUPPLY NETWORKS DURING AN ACTIVE STATE OF A PERIODICALLY TRIGGERED DOMAIN IN ACCORDANCE WITH PERIODICALLY RELEASED DOMAIN LOADING CONDITIONS
US9098271B2 (en) 2012-02-05 2015-08-04 Jeffrey R. Eastlack Autonomous microprocessor re-configurability via power gating pipelined execution units using static profiling
US9229524B2 (en) * 2012-06-27 2016-01-05 Intel Corporation Performing local power gating in a processor
US9557800B2 (en) 2012-08-31 2017-01-31 Micron Technology, Inc. Sequence power control
JP2014048972A (ja) * 2012-08-31 2014-03-17 Fujitsu Ltd 処理装置、情報処理装置、及び消費電力管理方法
US9971535B2 (en) 2014-11-05 2018-05-15 Industrial Technology Research Institute Conversion method for reducing power consumption and computing apparatus using the same
US20220012392A1 (en) * 2020-07-10 2022-01-13 Taiwan Semiconductor Manufacturing Company Limited Systems and Methods for Generating Synthesizable Netlists From Register Transfer Level Designs
WO2023196124A1 (en) * 2022-04-08 2023-10-12 Microchip Technology Incorporated System-level design tool for selecting and confirming compatability of electrical components

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2815281B2 (ja) * 1993-04-19 1998-10-27 株式会社ピーエフユー デジタル回路設計支援システムおよびその方法
US7478031B2 (en) * 2002-11-07 2009-01-13 Qst Holdings, Llc Method, system and program for developing and scheduling adaptive integrated circuity and corresponding control or configuration information
JP2004186671A (ja) * 2002-11-18 2004-07-02 Matsushita Electric Ind Co Ltd 半導体集積回路装置及びその設計方法
WO2005024910A2 (en) * 2003-09-09 2005-03-17 Robert Eisenstadt Apparatus and method for integrated circuit power management
US7369815B2 (en) * 2003-09-19 2008-05-06 Qualcomm Incorporated Power collapse for a wireless terminal
US7930572B2 (en) * 2003-12-24 2011-04-19 Texas Instruments Incorporated Method and apparatus for reducing memory current leakage a mobile device
US7725848B2 (en) * 2005-01-27 2010-05-25 Wolfgang Nebel Predictable design of low power systems by pre-implementation estimation and optimization
US7627838B2 (en) * 2006-04-25 2009-12-01 Cypress Semiconductor Corporation Automated integrated circuit development
US7620926B1 (en) * 2007-03-20 2009-11-17 Xilinx, Inc. Methods and structures for flexible power management in integrated circuits
US8266575B1 (en) * 2007-04-25 2012-09-11 Cypress Semiconductor Corporation Systems and methods for dynamically reconfiguring a programmable system on a chip
JP4422179B2 (ja) * 2007-10-19 2010-02-24 株式会社半導体理工学研究センター 半導体集積回路のタイミング解析装置及び方法
US8442697B2 (en) * 2007-12-18 2013-05-14 Packet Digital Method and apparatus for on-demand power management
JP4954862B2 (ja) * 2007-12-25 2012-06-20 ルネサスエレクトロニクス株式会社 半導体集積回路
US7984412B1 (en) * 2008-03-03 2011-07-19 Xilinx, Inc. IC design estimation using mid-level elements of IP cores
US7966345B1 (en) * 2008-03-28 2011-06-21 Cypress Semiconductor Corporation Method, system, and graphical user interface for generating firmware code for a programmable integrated circuit
CN101329597B (zh) * 2008-07-28 2011-02-16 北京中星微电子有限公司 便携式多媒体处理平台的片上处理系统及电源管理方法
US20100138811A1 (en) * 2008-12-02 2010-06-03 Qualcomm Incorporated Dynamic Performance Profiling
JP2010282585A (ja) * 2009-06-08 2010-12-16 Fujitsu Ltd 電力管理回路、電力管理方法及び電力管理プログラム
US8286120B2 (en) * 2009-08-13 2012-10-09 Empire Technology Development, Llc Non-invasive leakage power device characterization of integrated circuits using device grouping and compressive sensing

Also Published As

Publication number Publication date
JP5725582B2 (ja) 2015-05-27
CN103097986A (zh) 2013-05-08
JP2013538386A (ja) 2013-10-10
US20120017198A1 (en) 2012-01-19
TW201222306A (en) 2012-06-01
EP2593889A1 (en) 2013-05-22
WO2012009293A1 (en) 2012-01-19
US8589854B2 (en) 2013-11-19

Similar Documents

Publication Publication Date Title
US8589854B2 (en) Application driven power gating
Hong et al. Power optimization of variable voltage core-based systems
Benini et al. System-level power optimization: techniques and tools
JP5725583B2 (ja) アーキテクチャ・レベルの省電力指向の最適化およびリスク軽減
Swanson et al. Greendroid: Exploring the next evolution in smartphone application processors
US8370784B2 (en) Automatic optimal integrated circuit generator from algorithms and specification
CN103262081A (zh) 用于驱动从架构优化到物理设计闭合的设计收敛的基于集成数据模型的框架
Rethinagiri et al. Pets: Power and energy estimation tool at system-level
US8225247B2 (en) Automatic optimal integrated circuit generator from algorithms and specification
Senn et al. SoftExplorer: estimation, characterization, and optimization of the power and energy consumption at the algorithmic level
Ratković et al. An overview of architecture-level power-and energy-efficient design techniques
Hajiamini et al. Impact of cache voltage scaling on energy-time pareto frontier in multicore systems
Sampson et al. An evaluation of selective depipelining for fpga-based energy-reducing irregular code coprocessors
Wang et al. Compiler-assisted leakage-aware loop scheduling for embedded VLIW DSP processors
Macko Contribution to automated generating of system power-management specification
Bossuet et al. Targeting tiled architectures in design exploration
Fawaz et al. A dynamically reconfigurable asynchronous processor for low power applications
Ma et al. Enabling energy-proportional computing on instruction-level parallel processors
Dick et al. Power-aware architectural synthesis
Mukherjee et al. Autonomous Power Management in Embedded Multi-Cores
Zhang et al. Reducing dynamic and leakage energy in vliw architectures
Shikano et al. Power-aware compiler controllable chip multiprocessor
BenSaleh Loop transformations for power consumption reduction in wireless sensor networks memory: a review
Nagpal et al. Compiler-assisted energy optimization for clustered VLIW processors
Computing Power Aware Embedded Computing

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right