KR101115247B1 - 명령 사용에 기초한 적응형 전압 스케일링을 위한 방법 및 장치 - Google Patents

명령 사용에 기초한 적응형 전압 스케일링을 위한 방법 및 장치 Download PDF

Info

Publication number
KR101115247B1
KR101115247B1 KR1020107004433A KR20107004433A KR101115247B1 KR 101115247 B1 KR101115247 B1 KR 101115247B1 KR 1020107004433 A KR1020107004433 A KR 1020107004433A KR 20107004433 A KR20107004433 A KR 20107004433A KR 101115247 B1 KR101115247 B1 KR 101115247B1
Authority
KR
South Korea
Prior art keywords
path
delay
voltage
circuit
threshold
Prior art date
Application number
KR1020107004433A
Other languages
English (en)
Other versions
KR20100036386A (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 콸콤 인코포레이티드
Publication of KR20100036386A publication Critical patent/KR20100036386A/ko
Application granted granted Critical
Publication of KR101115247B1 publication Critical patent/KR101115247B1/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
    • 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/324Power saving characterised by the action undertaken by lowering clock frequency
    • 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/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Power Sources (AREA)
  • Communication Control (AREA)

Abstract

상이한 소프트웨어 애플리케이션들이 프로세서 복합체의 최악의 임계 타이밍 경로보다 짧은 임계 타이밍 경로들을 가지는 명령들의 세트를 이용할 수 있다. 그러한 애플리케잉션들에서, 애플리케이션의 성능 필요조건을 만족시키기 위해 필요한 클록 주파수를 여전히 유지하면서 공급 전압이 감소될 수 있다. 상기 공급 전압을 감소시키기 위해, 적응형 전압 스케일링 방법이 이용된다. 임계 경로는 온 칩 기능 동작들 동안 선택된 임계 경로의 속성을 결정하는 에뮬레이션 로직 상의 분석을 위해 복수의 임계 경로들 중에서 선택된다. 상기 선택된 임계 경로는 프로그램 실행 동안 동작하는 최악의 임계 경로를 나타낸다. 온-칩 기능 동작 동안, 전압은 상기 속성에 반응하여 제어되며, 여기서 상기 전압은 복수의 임계 경로들과 관련된 전력 도메인으로 전력을 공급한다. 전압의 감소는 배터리의 수명을 연장시키도록 하는 명령 세트 사용에 기초하여 전력 소비를 감소시킨다.

Description

명령 사용에 기초한 적응형 전압 스케일링을 위한 방법 및 장치 {METHOD AND APPARATUS FOR ADAPTIVE VOLTAGE SCALING BASED ON INSTRUCTION USAGE}
본 개시물은 일반적으로 집적 회로 및 프로세싱 시스템들 내의 전력 제어 분야에 관한 것이며, 더 명확하게는, 명령 사용에 기초한 적응형 전압 스케일링에 관한 것이다.
휴대 전화들, 랩탑 컴퓨터들, 개인 휴대용 정보 단말기들(PDA들) 등과 같은, 많은 휴대용 물건들은 통신 및 멀티미디어(multimedia) 프로그램들과 같은, 프로그램들을 실행하는 프로세서(processor)를 이용한다. 그러한 물건들을 위한 프로세싱 시스템(processing system)은 명령들 및 데이터를 프로세싱하기 위한 프로세서 복합체를 포함한다. 그러한 휴대용 물건들, 다른 개인 컴퓨터들 등의 기능의(functional) 복잡도(complexity)는 뛰어난 성능의 프로세서들 및 메모리를 필요로 한다. 동시에, 휴대용 물건들은 배터리들의 형태의 제한된 에너지원을 가지며, 종종 배터리 수명을 연장시키기 위해 감소된 전력 레벨들에서 높은 성능 레벨들을 제공하도록 요구된다. 또한 많은 개인용 컴퓨터들은 전체적인 에너지 소비를 줄이기 위해 낮은 전력을 소모하면서 높은 성능을 제공하도록 개발되고 있다.
프로세서 복합체 내부의, 신호 경로들 및 파이프라인 스테이지(stage)들은 원하는 클록 주파수(clock frequency)에 대응하는 최악의 임계 타이밍 경로(worst case critical timing path)를 만족하도록 디자인된다. 메모리 엘리먼트들(elements), 로직 게이트들(logic gates), 플립-플롭들(flip-flops), 및 상기 엘리먼트들을 상호 연결하는 와이어들(wires)은 클록 주파수에 따라 파이프라인 스테이지 내의 기능의 엘리먼트들의 수를 제한하는 임계 경로 타이밍 내에 지연(delay)들을 가져온다. 그 결과, 많은 프로세서들은 많은 수의 파이프라인 스테이지들을 사용하여, 복잡도를 변화시키는 명령들을 실행하고 물건의 기능의 필요요건들을 만족하기 위해 필요한 기가헤르츠(GHz) 클록 주파수들을 얻는다. 전력은 주파수, 스위칭 커패시턴스(swtiching capacitance), 및 공급 전압의 제곱의 함수이기 때문에, 전력을 감소시키는 것은 이러한 세 변수들 중 적어도 하나의 감소를 필요로 한다. 기가헤르츠 주파수 동작은 물건의 기능에 의해 수차례 요구되기 때문에, 주파수를 감소시키는 것은 더 적게 요구하는(demanding) 기능들로 제한된다. 스위칭 커패시턴스는 디바이스를 제조하기 위해 이용되는 기술 프로세스 및 구현의 함수이며 일단 디자인이 실리콘에서 구현되면 이 변수는 변화될 수 없다. 공급 전압을 감소의 결과는 공급 전압이 감소함에 따라, 로직 및 메모리 엘리먼트들이 느려지고, 이는 주파수 필요요건을 만족시키는데 있어 어려움을 증가시킨다는 점이다.
프로세서 복합체 내의 최악의 임계 타이밍 경로를 만족시키기 위해, 프로세서 복합체 내의 모든 신호 경로에 대해 최악의 임계 타이밍 경로들이 분석되고 그 중 최장 경로가 상기 프로세서 복합체의 가능한 최대의 클록 주파수를 좌우하는 임계 타이밍 경로가 된다. 본 클록 주파수가 만족되는 것을 보증하기 위해, 공급 전압은 최악의 최소 전압과 동일하거나 이를 초과하도록 규정된다. 예를 들어, 부동 소수점(floating point) 명령을 실행할 때, 부동 소수점 곱셈기(multiplier)를 통한 신호 경로는 프로세서 복합체 내의 최장 임계 타이밍 경로일 수 있다는 점이 결정될 수 있다. 전력 공급 전압은 부동 소수점 곱셈기를 통한 최악의 타이밍 경로가 원하는 클록 주파수를 만족시키도록 결정된다.
언제라도 실행을 위해 임의의 명령이 프로세서의 명령 세트로부터 선택될 수 있기 때문에, 일반적으로 프로세서 복합체는 최악의 타이밍 경로를 준비하며 동작한다. 그 결과, 최악의 타이밍 경로보다 짧은 임계 타이밍 경로를 가지는 명령들을 실행할 때, 전력이 낭비된다. 불행히도, 공급 전압은 기가헤르츠 프로세서들의 명령별(instruction-by-instruction) 사용에 맞추기(match) 위해 쉽게 변화될 수 없다. 가변(variable) 전압 레귤레이터(regulator)들은 공급 전압을 조정하기 위해 마이크로세컨드들(microseconds) 및 밀리세컨드들(microseconds)을 필요로 한다.
본 개시물은 프로세서 복합체 내의 전력 필요요건들을 감소시키는 것이 휴대용 애플리케이션들 및 일반적으로 프로세싱 시스템들 내의 전력 사용을 감소시키는데 있어 중요하는 점을 인지한다. 상이한 소프트웨어 애플리케이션들이 프로세서 복합체의 최악의 임계 타이밍 경로보다 짧은 임계 경로들을 가지는 명령들의 세트를 이용할 수 있음이 또한 인지된다. 뿐만 아니라, 배터리의 수명이 연장되도록 하는 명령 세트 사용에 기초하여 전력 소모를 줄이는 애플리케이션의 성능을 만족시키는데 필요한 클록 주파수를 여전히 유지하면서 그러한 애플리케이션에 대해 공급 전압은 감소될 수 있음이 인지된다.
그러한 목적들을 위해, 본 발명의 실시예는 적응형 전압 스케일링을 위한 방법을 제시한다. 임계 경로는 온칩(on-chip) 기능 동작들 동안 선택된 임계 경로의 속성(attribute)을 결정하는 에뮬레이션 로직 상의 분석을 위해 복수의 임계 경로들 중에서 선택되며, 여기서 상기 선택된 임계 경로는 프로그램 실행 동안 동작하는 대표적인 최악의 임계 경로이다. 온칩 기능(functional) 동작 동안, 전압은 상기 속성에 반응하여 제어되며, 여기서 상기 전압은 복수의 임계 경로들과 관련된 전력 도메인(domain)으로 전력을 공급한다.
다른 실시예는 타이밍 경로 에뮬레이션(emulation) 회로, 프로그램 가능한 제어 로직, 및 측정(measurement) 회로를 가진 적응형 전압 스케일링(AVS) 회로를 제시한다. 타이밍 경로 에뮬레이션 회로는 임계 경로들을 에뮬레이트(emulate)한다. 프로그램 가능한 제어 로직은 온-칩 동작되는 프로그램 내의 명령 사용에 기초하여 적어도 하나의 임계 경로를 에뮬레이트하는 프로그램 가능한 타이밍 경로 에뮬레이션 회로를 구성한다. 에뮬레이트된 임계 경로는 프로그램 실행 동안 동작하는 최악의 임계 경로를 나타낸다. 측정 회로는 온-칩 기능 동작들 동안 에뮬레이트된 임계 경로의 속성을 측정하고, 상기 측정된 속성에 응답하여, 전압 레귤레이터의 출력 전압을 제어하며, 여기서 전압 레귤레이터는 복수의 임계 경로들과 관련된 전력 도메인으로 전력을 공급한다.
추가적인 실시예는 적응형 전압 스케일링을 위한 방법을 제시한다. 온-칩 동작되는 프로그램과 관련된 최장 임계 경로를 나타내는 임계 경로 지연을 에뮬레이트하기 위해 프로그램 가능한 경로 지연 회로 내에서 시간 지연이 설정되며, 여기서 상이한 프로그램들이 상이한 최장 임계 경로들을 포함한다. 온-칩 기능 동작들 동안, 상기 에뮬레이트된 임계 경로 지연의 측정에 기초하여 전압이 조정되고, 여기서 상기 전압은 상기 에뮬레이트된 임계 경로와 관련된 전력 도메인으로 전력을 공급한다.
본 발명의 다른 실시예들이 하기의 상세한 설명으로부터 당업자들에게 용이하게 명백해질 것으로 여겨지며, 여기서 본 발명의 다양한 실시예들이 예시로서 도시되고 기재된다. 알게 될 바와 같이, 본 발명은 다른 및 상이한 실시예들이 가능하고 몇몇 세부사항들은 모두 본 발명의 범위를 벗어남이 없이, 다양한 다른 양상들에 있어서 수정이 가능하다. 따라서, 상기 도면들 및 상세한 설명은 제한적인 것이 아니라, 본질적으로 예시적인 것으로 간주되어야 한다.
도 1은 무선 통신 시스템을 도시한다;
도 2는 명령 사용에 기초하여 적응적으로(adaptively) 전력을 절감하기 위한 프로세싱 시스템 구성(organization)을 도시한다;
도 3은 적응형 전압 스케일링(AVS) 회로의 예시적인 제 1 실시예이다;
도 4은 적응형 전압 스케일링(AVS) 회로의 예시적인 제 2 실시예이다;
도 5는 예시적인 프로그램 선택가능한 경로 지연 회로를 도시한다;
도 6a 및 6b는 도 4의 적응형 전압 스케일링의 제 2 실시예 내에 포함된 적응형 전압 스케일링 컴바이너(combiner)의 동작을 위한 타이밍 다이어그램들을 도시한다;
도 7은 명령 임계 경로 지연과 관련된 시간 마진(margin)을 결정함으로써 명령 사용에 기초하여 전압 레귤레이터를 조정하기 위한 프로세스를 도시한다; 그리고
도 8은 적응형 전압 스케일링(AVS) 회로의 예시적인 제 3 실시예이다.
첨부된 도면들과 관련하여 하기에 제시되는 상세한 설명은 본 발명의 다양한 예시적인 실시예들의 기재로서 의도된 것이며 본 발명이 실시될 수 있는 유일한 실시예들을 대표하기 위한 의도는 아니다. 상세한 설명은 본 발명의 완벽한 이해를 제공하기 위해 구체적인 세부사항들을 포함한다. 그러나, 이 구체적인 세부사항들 없이도 본 발명이 실시될 수 있음이 당업자들에게 자명할 것이다. 일부 예시들에서, 공지된(well known) 구조(structure)들 및 컴포넌트(component)들은 본 발명의 개념을 불확실하게 하는 것을 피하기 위해 블록 다이어그램 형태로 도시된다.
도 1은 본 발명의 실시예가 유리하게 채택될 수 있는 예시적인 무선 통신 시스템(100)을 도시한다. 설명을 목적으로, 도 1은 세 개의 원격(remote) 유닛들(120, 130, 및 150) 및 두 개의 기지국들(140)을 도시한다. 통상적인 무선 통신 시스템들이 더 많은 원격 유닛들 및 기지국들을 포함할 수 있음을 알 수 있을 것이다. 원격 유닛들(120, 130, 및 150)은 컴포넌트들(125A, 125C, 및 125B)에 의해 표현되는 바와 같이 하드웨어 컴포넌트들, 소트프웨어 컴포넌트들, 또는 둘 모두를 포함하며, 이는 상대적으로, 하기에 더 논의된 바와 같이 본 발명을 구현하기 위해 적응된다. 도 1은 기지국(140)에서 원격 유닛들(120, 130, 및 150)으로의 순방향 링크(forward link) 신호들(180) 및 원격 유닛들(120, 130, 및 150)에서 기지국(140)으로의 역방향 링크(reverse link) 신호들(190)을 도시한다.
도 1에서, 원격 유닛(120)은 이동 전화로서 도시되며, 원격 유닛(130)은 휴대용 컴퓨터로서 도시되며, 그리고 원격 유닛(150)은 무선 가입자 회선 시스템(wireless local loop system)에서의 고정 위치(fixed location) 원격 유닛으로서 도시된다. 예시로서, 원격 유닛들은 대안적으로 휴대 전화들, 무선호출기들(pagers), 워키토키들(walkie talkies), 소형 개인 휴대 통신(PCS) 유닛들, 개인 정보 단말기들과 같은 휴대용 데이터 유닛들, 또는 검침 장비(meter reading equipment)와 같은 고정 위치 데이터 유닛들일 수 있다. 비록 도 1이 상기 개시물의 제시에 따라서 원격 유닛들을 도시하지만, 본 개시물은 이러한 예시적인 도시된 유닛들에 한정되지 않는다. 본 발명의 실시예들은 프로세서 및 보조 주변 디바이스(supporting peripheral device)들에 전력을 공급하기 위해 이용될 수 있는 것과 같은, 적응형 전압 레귤레이터를 구비한 임의의 디바이스에서 적절히 사용될 수 있다.
도 2는 명령 사용에 기초하여 적응적으로 전력을 절감하기 위한 프로세싱 시스템 조직(200)을 도시한다. 상기 시스템(200)은 칩(202), 배터리 또는 벌크(bulk) 공급 전압과 같은, 시스템 공급부(204), 및 가변형 전압 레귤레이터(208)를 포함한다. 칩(202)은 예를 들어, 제 1 전력 도메인(206) 및 제 2 전력 도메인(207)을 포함한다. 각각의 전력 도메인은 시스템(200)의 전력 및 성능 필요요건들을 만족시키기 위한 별도의 전력 제어를 위해 적절히 그룹화된 로직의 서브세트를 포함한다. 각각의 전력 도메인은 별도의 전압 레귤레이터로부터 공급 전압을 추가로 수신할 수 있다. 예를 들어, 제 1 전력 도메인(206)은 프로세서 실행 파이프라인들(210), L1 명령 캐시 및 L1 데이터 캐시를 적당히 포함하는 레벨 1 캐시(L1 캐시, 212), 직접 메모리 액세스(DMA) 컨트롤러(214), 하나 또는 그 이상의 하드웨어 어시스트들(assist, 216), 제어 로직(218), 클록 발생 유닛(220), 및 적응형 전압 스케일링(AVS) 회로(222)를 포함하는 프로세서 복합체를 포함할 수 있다. 상기 AVS 회로(222)는 프로세서 실행 파이프라인들(210)의 명령 사용에 기초하여 전압 Vdd(226)을 올리거나 또는 낮추도록 요청하는 가변형 전압 레귤레이터(208)에 조정(adjust) 신호(224)를 제공하도록 설계된다.
명령 사용은 임계 타이밍 경로들에 의한 명령들을 그룹화(grouping)함으로써 분류(categorize)된다. 예를 들어, 명령들의 제 1 카테고리는 프로세서의 동작 주파수를 설정하기 위해 이용되는 프로세서 프로세서 복합체의 임계 타이밍 경로에 따라 동작하는 수 있다. 그러한 임계 타이밍 경로는 일반적으로 최소 수용가능한 동작 전압, 최고 예상 온도, 및 최악의 프로세서 특성(characteristic)들을 포함하는 프로세서 복합체의 최악의 동작 상태(condition)와 관련된다. 동일한 최악의 동작 상태에서, 명령들의 제 2 카테고리는 명령들의 제 1 카테고리의 임계 타이밍 경로보다 짧은 임계 타이밍 경로에 따라 동작하는 수 있다. 명령들의 제 3 카테고리는 명령들의 제 2 카테고리보다 짧은 관련 임계 타이밍 경로에 따라 동작하는 것이 식별될 수 있다. 그리하여, 명령들의 다수의 별개 카테고리들은 임계 타이밍 경로에 따라 식별될 수 있다. 프로그램의 정적 분석(static analysis)에 의해 또는 동작 상태 및 명령 사용의 카테고리를 모니터링(monitoring)함으로써, 전력 도메인(206) 내의 프로세서 복합체에 대한 공급 전압은 활성 또는 곧 활성화될 명령들의 카테고리들을 고려하여, 명령들의 임계 타이밍 경로들이 명시된 최소 클록 주파수를 확실히 만족시키도록 하기 위해 조정될 수 있다. 예를 들어, 명령 사용은 실행 중인 또는 실행될 명령들이 현 동작 상태들에서 타이밍 마진(margin)을 가지고 있음을 나타낼 때, 전압은 대응하는 명령 usage에 적당한 전압 레벨로 유리하게 낮춰질 수 있고, 그것에 의하여 모바일 디바이스의 전력을 절감하고 배터리 수명을 연장시킬 수 있다.
예시로서, 프로세싱 시스템 조직(200)에서, 프로세서는 정수(Int) 유닛(228) 및 부동 소수점(Fp) 유닛(230)을 포함할 수 있다. 정적 타이밍 분석에 의해, 부동 소수점 명령들에 대한 임계 타이밍 경로는, 예를 들어 제 1 전력 도메인(206) 내의 로직에 대한 최악의 타이밍 경로를 가지는 카테고리 1 명령들로 분류될 수 있다. 추가적인 정적 타이밍 분석에 의해, 정수 명령들에 대한 임계 타이밍 경로가 카테고리 1 명령들보다 짧은 최악의 타이밍 경로를 가지는 카테고리 2 명령들로 분류될 수 있다. 예를 들어, 이전의 부동 소수점 명령들의 실행에 기초하여, 높은 레벨에서 설정된 전압 Vdd(226) 및 명령 사용이 카테고리 2로 변하였다는 표시(indication)를 이용하여, AVS 회로(222)는 전압 Vdd(226)를 더 낮게 조정되도록 요청한다. 조정 단계 크기(size)에 따라서, 전압 Vdd(226)는 전압 레벨이 카테고리 2 명령들에 적합하게 도달할 때까지, 수차례 더 낮게 조정될 수 있다.
예를 들어, 65 나노미터(nm) 기술이 프로세싱 시스템 조직(200)을 구현하기 위해 이용될 수 있으며 그러한 기술에서 2-입력 NAND 게이트는 최악의 동작 상태들에서 4개의 로드들의 평균적인 팬-아웃(fan-out)을 구동시키는 70 피코세컨드(ps)의 최악의 지연을 가질 수 있다. 그러한 지연은 매 전압 강하 동안 증가할 수 있다. 부동 소수점 실행 스테이지에 대한 임계 타이밍 경로는 지연, 세트-업 및 홀드 필요요건들을 포함하는 2개의 저장 엘리먼트들 사이에서 상대적으로 긴 와이어(wire)들에 의해 상호접속된 10개의 유사한 타입의 게이트들을 포함할 수 있으며, 최악의 동작 상태에서 기가헤르츠 클록 주파수에 대해 요구되는 1 나노세컨트 파이프라인 스테이지 지연을 만족시킬 수 있다.
비교해보면, 정수 실행 스테이지에 대한 임계 타이밍 경로는 두 저장 엘리먼트들 사이에서 상대적으로 긴 와이어들에 의해 상호접속된 단지 5개의 유사한 타입의 게이트들을 포함할 수 있으며, 최악의 동작 상태에서 기가헤르츠 클록 주파수의 1000 피코세컨드 미만의, 700 피코세컨드의 임계 타이밍 경로를 가질 수 있다. 따라서, 정수 타입 명령들을 실행할 때, 전압 Vdd(226)는 적절히 낮아질 수 있으며, 이는 정수 명령들에 대한 임계 타이밍 경로를 1000 피코세컨드 스테이지 지연까지 증가시키지만, 감소된 전력 소비를 이용해서 여전히 기가헤르츠 클록 주파수를 만족시킬 수 있다. AVS 회로(222)의 동작은 프로세서 실행 파이프라인들 내의 스테이지들의 수 또는 프로세서 클록 속도에 의존하지 않는다. 일반적으로, 상기 전압은 동작이 기대되는 임계 타이밍 경로들에 대응하는 원하는 주파수에 알맞게 AVS 시스템을 프로그래밍함으로써 높아지거나 낮아질 수 있다.
가변형 전압 레귤레이터(208)와 같은, 가변형 전압 레귤레이터들은 조정 신호(224)와 같은, 입력 신호에 의해 명시된 바와 같이, 25밀리볼트(mv)와 같은, 다양한 전압 단계(step) 크기들을 이용해서 동작한다. 25 밀리볼트의 각각의 조정은, 예를 들어 10 마이크로세컨드 또는 더 오래걸릴 수 있다. 선택된 적응형 전압 스케일링을 위한 방법에 따라서 하드웨어 또는 소프트웨어 내에서 그러한 조정 시간이 고려된다.
도 3은 적응형 전압 스케일링(AVS) 회로(300)의 예시적인 제 1 실시예이다. AVS 회로(300)는 임계 경로 선택 로직(302), 프로그램 가능한 명령 사용 제어 회로(304), 및 측정 로직(306)을 포함한다. 임계 경로 선택 로직(302)은, 예를 들어 멀티플렉서(320)로 지연된 출력들(314-317)을 제공하는 4개의 임계 경로들 A-D(308-311)을 포함한다. 임계 경로 A(308)는, 예를 들어 제 1 전력 도메인(206) 내의 최악의 타이밍 경로이며, 또한 예를 들어, 부동 소수점 명령들의 실행과 관련된다. 임계 경로 B(309)는 임계 경로 A(308)보다 적은 신호 경로 지연을 포함하며, 또한 예를 들어, 정수 명령들과 관련된다. 임계 경로 C(310)는 임계 경로 B(309)보다 적은 지연을 포함하고 임계 경로 D(311)는 임계 경로 C(310)보다 적은 지연을 포함한다.
멀티플렉서(320)는 멀리플렉서(326)로부터의 정보에 기초한 선택 로직(324)에 의해 발생된 선택 신호(322)에 기초하여 임계 경로들 중 하나를 선택한다. 프로그램 가능한 명령 사용 제어 회로(304)는 구성 레지스터(328), 명령 디코더(330), 하나 또는 그 이상의 카운터(334)들을 포함하는 컨트롤러(332)를 포함한다. 명령 디코더(330)는 도 2의 프로세서 실행 파이프라인(201)들에 의해 제공될 수 있는 것과 같은, 명령 스트림(336)으로부터 수신된 명령들을 디코딩한다. 디코드 정보는 로드(load) 경로(338)를 통해 구성 레지스터(328)를 로드하고 컴파일러 지향 플래그(compiler directed flag)들과 같은, 정적 플래그들(340)을 설정하기 위해 이용될 수 있는 컨트롤러(332)로 전송된다. 컨트롤러(332)는 또한 디코드 정보를 이용하여, 예를 들어 특정 타입의 명령이 디코딩되는 횟수 또는 특정 타입의 디코딩 명령들 사이의 시간을 카운트(count)하는 카운터(334)를 이용해서, 동적으로 명령 사용을 결정하는 것과 관련된, 동적 플래그들(342)를 결정한다. 멀티플렉서(326)는 구성 레지스터(328)로 로드된 선택 비트들에 기초하여 동적 플래그들(342) 또는 정적 플래그들(340) 중 임의의 하나를 선택한다. 측정 로직(306)은 선택된 경로를 측정하고 도 2의 가변형 전압 레귤레이터(208)에 의해 이용되는 조정 신호(344)를 발생시킨다.
더 상세하게는, 각각의 임계 경로들(308-311)은 에뮬레이트하고 있는 임계 경로 내에 이용된 실제 컴포넌트들과 유사한 관련 신호 경로 내의 컴포넌트들을 이용하는 에뮬레이트된 임계 경로들일 수 있다. 뿐만 아니라, 각각의 에뮬레이트된 임계 경로들은 실제 임계 경로 엘리먼트들이 직면하는 상태들과 유사한 에뮬레이트된 컴포넌트들에 의해 경험된 구현 프로세스 및 온도 상태들을 만들기 위해 이들과 관련된 실제 임계 경로와 근접하게 위치한다. 선택된 실제 임계 경로들 및 관련 에뮬레이트된 임계 경로들은 칩 전체에 걸쳐 분배될 수 있기 때문에, 멀티플렉서(320) 및 측정 로직(306) 또한 칩 전체에 걸쳐 적절히 분배될 수 있는 한편, 여전히 단일 조정 신호(344)로 수렴한다.
임계 타이밍 경로들에 의해 분류된 명령들의 카테고리들에 따라 프로그램 내의 정적 명령 사용을 모니터링함으로써 적응형 전압 스케일링(AVS) 회로를 담당하는(account for) 컴파일러에 의해 정적 플래그들(340)이 설정될 수 있다. 예를 들어, 비디오 프로세싱 프로그램을 컴파일할 때, 예를 들어, 부동 소수점 명령들과 같은, 카테고리 1 명령들의 매우 제한된 사용이 있음이 결정될 수 있다. 부동 소수점 명령들의 제한된 사용에 기초하여, 컴파일러는 부동 소수점 명령들을 에뮬레이트하기 위해 선택할 수 있고, 그것에 의해 컴파일된 비디오 프로세싱 프로그램으로부터 카테고리 1 명령들을 제거할 수 있다. 그러한 분석에 기초하여, 컴파일러는 정적 플래그들(34)을 설정하여, 예를 들어 임계 경로 B(309)의 선택을 가리킬 수 있다. 임계 경로 B(309)의 측정에 기초하여, 조정 신호(344)는 도 2의 전압 Vdd(226)가 낮춰질 수 있음을 가리킬 수 있다.
멀티플렉서(326)가 동적 플래그들(342)을 선택하도록 설정하는 구성 레지스터를 이용하여, 임계 경로들 A-D(308-311) 중 하나의 선택은 하드웨어 사용 정보에 의해 결정된다. 예를 들어, 명령 디코더(330)로부터 디코딩된 정보에 기초하여 명령 스트림(336)을 모니터링함으로써, 컨트롤러(332)는 일반적으로 비디오 프로세싱과 관련된, 특정 명령 타입이 자주 발생하고 지난 만개의 명령들에 대해 어떠한 부동 소수점 명령들도 접하지 못하였다고 결정할 수 있다. 본 결정에 기초하여, 컨트롤러(322)는 임계 경로 B(309)의 선택에 적절한 동적 플래그들을 설정할 수 있다. 그러한 선택 후에, 카테고리 1 명령을 접하게 되면, 스톨 상황(stall situation)이 강제되고 전압을 가리키도록 설정된 조정 신호(344)는 카테고리 1 명령을 수용하기 위해 증가될 것이다.
도 4는 AVS 회로(222)로서 적절하게 채택될 수 있는 적응형 전압 스케일링(AVS) 회로(400)의 예시적인 제 2 실시예를 도시한다. AVS 회로(400)는 임계 경로 모델링(modeling) 회로(402), 측정 로직(406), 및 프로그램 가능한 구성 레지스터(404)를 포함한다. 임계 경로 모델링 회로(402)는 플립-플롭(408), NAND 게이트(410), 프로그램 선택가능한 경로 지연 회로(412), 및 클록 기준 지연 유닛(414)을 포함한다. 측정 로직(406)은 측정 플립-플롭들(MFlip-flops, 416-419), 제 1 지연 엘리먼트 D1(420), 제 2 지연 엘리먼트 D2(422), 및 AVS 컴바이너(424)를 포함한다.
플립-플롭(408) 및 NAND 게이트(410)는 홀드 신호(428)에 의해 홀드되지 않고 클록 신호(430)에 의해 클록(clock)될 때, 클록 신호(430)의 각각의 상승 엣지를 따라 Q 출력(432)을 토글하는 토글(toggle) 플립-플롭 배치(arrangement)를 포함한다. "1" 레벨에서 홀드 신호(428)는 측정 프로세스를 가능하게 한다. Q 출력(432)은 M플립-플롭(416)의 데이터 입력 및 프로그램 선택가능한 경로 지연 회로(412)에 연결된다. 프로그램 선택가능한 경로 지연 회로(412)는 프로그램 가능한 구성 레지스터(404)로부터 선택 입력(434)에 기초하여 임계 경로 지연을 에뮬레이트하도록 구성된다. 예를 들어, 프로그램 가능한 지연 기간 이후, Q 출력(432)이 "1" 레벨로 증가하면, 프로그램 선택가능한 경로 지연 회로(412)로부터 제 1 지연 출력(436)은 플립-플롭(417)의 데이터 입력에서 및 제 1 지연 엘리먼트 D1(420)에 대한 입력에서 수신된다. 제 1 지연 엘리먼트 D1(420)의 제 2 지연 출력(438)은 플립-플롭(418)의 데이터 입력 및 제 2 지연 엘리먼트 D2(422)에 대한 입력에 연결된다. 제 2 지연 엘리먼트 D2(422)의 제 3 지연 출력(440)은 플립-플롭(419)의 데이터 입에 연결된다.
"무 지연(no dealy)"으로 프로그램되면, 클록 신호(430)는 프로그램 선택가능한 경로 지연 회로(412)의 지연을 매치(match)하기 위해 클록 기준 지연 유닛(414)에 의해 지연된다. 즉, 지연의 0 스테이지들이 프로그램 선택가능한 경로 지연 회로(412)의 각각 그리고 매 섹션(section)에서 프로그램된다 하더라도, 도 5의 프로그램 선택가능한 경로 지연 회로(500)에 관점에서 하기에 더 상세히 기재된 바와 같이 멀티플렉서들을 통과(traversing)하는 것으로부터 얼마간의 지연이 있을 것이다. 클록 기준 지연 유닛(414)은 또한 플립-플롭(408)의 론치 지연(launch delay)을 포함한다. 그리고나서, 지연된 클록 신호(442) 및 제 1 지연 출력(436) 사이의 도착 시간 델타(delta)는 프로그램 선택가능한 경로 지연 회로(412) 내의 프로그램된 지연 엘리먼트들 및(plus) 래치(latch)의 론치 지연까지 나타낸다. 지연된 클록 신호(442)는 데이터 입력들의 값들을 대응하는 Q 출력들(444-447)로 전환시키는 각각의 M플립-플롭들을 클록하기 위해 이용된다. Q 출력들(444-447)은 크리터컬 경로가 충족되고 있는지 여부를 결정하기 위해 우선순위 인코딩된 로직(priority encoded logic)을 포함하는 AVS 컴바이너(424)에 연결된다. Q 출력(432)의 상승 엣지(rising edge)로부터 Q 출력들(444-447)의 상승 엣지를 측정함으로써, 임계 경로는 매 다른 클록 기간마다 측정되고 있다.
예를 들어, 도 3의 임계 경로 B(309)는 임계 경로 B(309)와 관련된 적절한 구성 입력 값들을 로딩함으로써 프로그램 선택가능한 경로 지연 회로(412)에 의해 에뮬레이트 된다. 본 예시에서, 지연 에뮬레이션의 스타트(start) 시, 도 2의 전압 Vdd(225)은 가장 높은 레벨에 있다. Q 출력들(444-447)이 지연 에뮬레이션의 엔드(end)에서 "1" 레벨에 있다면, Q 출력(432)의 상승 엣지(rising edge)로부터 Q 출력들(444-447)의 상승 엣지들에서 측정된 임계 경로 B(309)는 D1(420) 및(plus) D2(422)의 타이밍 마진을 가진 클록 주파수 기간을 만족한다. 본 상황에서, 전압 Vdd(226)는 너무 높은 것으로 간주되며, 조정 신호(448)는 전압 Vdd(226)가 더 낮아져야 함을 나타낸다. 그러한 전압 Vdd(226)의 강하가 일어나고 있는 동안, 칩 상의 다른 동작들은 정상적으로 계속될 수 있다. 가변형 전압 레귤레이터가 새로운 더 낮은 전압 레벨에 도달하기 위해 필요한 시간 기간 후에, 모델링된(modeled) 임계 경로 B(309)의 타이밍이 재실행(redone) 될 수 있다. Q 출력들(444-447)이 여전히 지연 에뮬레이션의 엔드에서 "1"레벨에 있다면, 전압은 다시 낮아질 것이다. Q 출력들(444-446)이 "1" 레벨에 있고 플립-플롭(419) Q 출력(447)이 "0" 레벨에 있으면, 임계 경로 B(309)는 D1(420)의 타이밍 마진을 이용하여 그것의 타이밍을 만든다. 이 포인트에서, 적당한 타이밍 마진이 현재 존재하는 것으로 간주될 수 있고 전압 Vdd(225)에 대한 추가적인 조정은 이루어지지 않는다. 대안적으로, 프로그램 선택가능한 경로 지연 회로(412)가 지연 설정 내의 추가적인 타이밍 마진을 포함했다면, D1의 타이밍 마진은 아직도 과도할 수 있고, 전압 Vdd(226)는 더 낮은 전압으로 조정될 수 있다.
오직 D1의 마진이 검출될 때 이용된 단계 크기(step size)와 비교할 때, D1(420) 및(plus) D2(422)의 타이밍 마진을 이용해서, 공급 전압을 조정하기 위한 더 큰 스텝(step) 크기가 만들어질 수 있다. 또한 하강 엣지 간의(falling edge to falling edge) 신호 타이밍은 AVS 회로(400)를 이용해서 측정될 수 있다. M플립-플롭(416)은 지연 에뮬레이션이 실행되었다는 점에 대한 표시(indication)로서 제공되고, 다른 M플립-플롭들(417-419) 중 어떤 것도 설정되지 않으면, 어떠한 타이밍 마진도 존재하지 않거나 오류 상황(error situation)을 직면하게 된다. 또한 강제된 조정 신호(450)의 이용에 의해, 카테고리 1 명령의 이용을 필요로 하는 인터럽트 루틴(interrupt routine)을 프로세싱할 때 일어날 수 있는 것과 같은, 에뮬레이트된 임계 타이밍 경로들의 측정 이외에 일어나는 이벤트(event)들에 기초하여 조정이 강제될 수 있음이 인지된다.
도 5는 프로그램 선택가능한 경로 지연 회로(412)로서 적절히 채택될 수 있는 예시적인 프로그램 선택가능한 경로 지연 회로(500)이다. 임계 타이밍 경로는 정적 로직 회로(502), 동적 로직 회로(504), 금속(metal) 레벨들 2 및 3(M2, M3) 회로(506), 및 금속 레벨들 4 및 5(M4, M5) 회로(508)와 같은 다른 실리콘 레이어들 상의 상호접속 와이어링(wiring) 지연들의 모델들을 통하는 경로로서 에뮬레이트될 수 있다. 도 4를 참조하면, 프로그램 선택가능한 경로 지연 회로(412)는 정적 로직 회로(502), 동적 로직 회로(504), 금속 레벨들 2 및 3(M2, M3) 회로(506), 및 금속 레벨들 4 및 5(M4, M5) 회로(508)를 포함한다.
회로의 정적 로직을 에뮬레이트하기 위해, 예를 들어 20 피코세컨드와 같은 최소 지연을 가진 정적 로직 버퍼(510)가 각각의 버퍼 위치에서 탭 오프(tap off)되어 32 대 1 멀티플렉서(514)에 연결되는 32개의 버퍼들의 시리얼 체인(serail chain, 514)에서 복제된다. 도 4의 프로그램 가능한 구성 레지스터(404)는 선택 구성 A(구성A) 신호(516)들을 출력(518) 상의 20 피코세컨드 지연 간격(interval)들에서 20 피코세컨드로부터 최대 640 피코세컨드까지 지연들을 프로그램 가능하게 선택하는 32 대 1 멀티플렉서(514)에 연결한다.
회로의 동적 로직을 에뮬레이트하기 위해, 예를 들어 15 피코세컨드와 같은 최소 지연을 가진 동적 로직 버퍼(520)가 각각의 버퍼 위치에서 탭 오프되어 8 대 1 멀티플렉서(524)에 연결되는 8개의 동적 로직 버퍼들의 시리얼 체인(serail chain, 522)에서 복제된다. 프로그램 가능한 구성 레지스터(404)는 선택 구성 B(구성B) 신호(526)들을 출력(528) 상의 15 피코세컨드 지연 간격(interval)들에서 15 피코세컨드부터 120 피코세컨드까지 지연들을 프로그램 가능하게 선택하는 8 대 1 멀티플렉서(524)에 연결한다.
금속 레이어들(M2/M3)에 대한 회로의 와이어(wire) 지연들을 에뮬레이트하기 위해, 버퍼 저항소자 커패시터(RC) 회로(530)는 와이어링 레벨들(M2 및 M3)에 대한 최소 기대된 와이어 지연을 매치하기 위해 선택된 시상수(time constant) 지연, 예를 들어 8 피코세컨드와 함께 이용된다. RC 회로(530)는 예를 들어 각각의 RC 회로 위치에서 탭 오프되어 4대1 멀티플렉서(534)에 연결되는 4개의 RC 회로들(532)의 시리얼 체인에서 복제된다. 프로그램 가능한 구성 레지스터(404)는 선택 구성 C(구성C) 신호(536)들을 출력(538) 상의 8 피코세컨드 지연 간격(interval)들에서 8 피코세컨드부터 32 피코세컨드까지 지연들을 프로그램 가능하게 선택하는 4 대 1 멀티플렉서(534)에 연결한다.
금속 레이어들(M4/M5)에 대한 회로의 와이어(wire) 지연들을 에뮬레이트하기 위해, 버퍼 저항소자 커패시터(RC) 회로(540)는 와이어링 레벨들(M4 및 M5)에 대한 최소 기대된 와이어 지연을 매치하기 위해 선택된 시상수(time constant) 지연, 예를 들어 9 피코세컨드와 함께 이용된다. RC 회로(540)는 예를 들어 각각의 RC 회로 위치에서 탭 오프되어 8대1 멀티플렉서(544)에 연결되는 8개의 RC 회로들(532)의 시리얼 체인에서 복제된다. 프로그램 가능한 구성 레지스터(404)는 선택 구성 D(구성D) 신호(546)들을 출력(548) 상의 9 피코세컨드 지연 간격(interval)들에서 9 피코세컨드부터 72 피코세컨드까지 지연들을 프로그램 가능하게 선택하는 8 대 1 멀티플렉서(544)에 연결한다.
프로그램 선택가능한 경로 지연 회로(412)는 구현 기술 및 에뮬레이트되고 있는 임계 타이밍 경로들에 따라서 더 많이 또는 더 적게 에뮬레이트된 펑션(function)들을 이용해서 구현될 수 있다. 예를 들어, 동적 로직을 이용하지 않는 기술 및 구현에서, 동적 로직 회로(504)는 필요하지 않을 것이다. 추가적인 예시에서, 2개의 추가적인 와이어링 금속 레이어들(M6 및 M7)은 다른 와이어링 레벨들과는 다른 지연 모델을 가지며 금속 레이어(M6 및 M7) 회로가 M6 및 M7 레이어들을 이동하는(travel) 신호들을에 대한 타이밍 지연을 모델링하도록 전개될 것을 필요로 하는 구현에서 이용될 수 있다.
도 6a 및 6b는 도 4의 적응형 전압 스케일링 회로(400)의 제 2 실시예 내에 포함된 적응형 전압 스케일링 컴바이너(424)의 동작에 대한 타이밍 다이어그램들(600 및 625)을 각각 도시한다. 도 6a 및 6b의 타이밍 이벤트들 및 도 4의 엘리먼트들 사이의 예시적인 관계들은 도 6a 및 6b의 타이밍 이벤트들을 수행하기 위해 적절히 이용될 수 있는 AVS 회로(400)로부터 예시적인 실시예를 참조함으로써 보여진다. 구현 기술 내에 사용된 디바이스의 로직 임계값(threshold)을 신호 전이가 가로지날(cross) 때 타이밍 이벤트가 일어나도록 고려된다.
여기에 기재된 회로들은 그라운드(ground) 레벨보다 30% 위 또는 공급 전압 레벨의 30% 에서 입력 신호들에 반응하는 것으로 가정된다. 예를 들어, 1.0 볼트의 공급 전압에 대해 "0"값은 0.3볼트와 같거나 미만의 임의의 것으로 간주될 것이고 "1" 값은 0.7볼트와 같거나 초과하는 임의의 것으로 간주될 것이다. 기술에 따라서, 다른 공급 전압이 이용될 수 있고 30%가 아닌 다른 응답 허용(response tolerance)이 이용될 수 있다. 타이밍 다이어그램(600)에서, 1 볼트의 공급 전압이 가정된다. 클록(430), 지연된 클록(442), 및 다른 신호들의 상승 및 하강 엣지는 전압, 프로세스 기술, 및 신호 로딩과 같은 다른 요인(factor)들에 의해 변할 수 있음에 주목하여야 한다. 이러한 변형들은 아날로그 회로 시뮬레이션 기술들의 이용과 같은 적절한 신호 분석 기술들에 의해 설명될 수 있다.
도 6a에서, 타이밍 이벤트(602)에서, 클록(430)의 상승 엣지는 플립-플롭(408)의 Q 출력(432)으로 하여금 고 레벨(high level)로 전이하게 한다. 타이밍 이벤트(604)에서, 클록(430)의 상승 엣지는 플립-플롭(408)의 Q 출력(432)으로 하여금 저 레벨(low level)로 전이하게 한다. Q 출력(432)은 지연(608)을 가지는 제 1 지연 출력(436)을 발생시키는 프로그램 선택가능한 경로 지연 회로(412)를 통해 흐른다. 제 2 지연 출력(438)은 지연 D1(612)를 따르고 제 3 지연 출력(440)은 지연 D2(614)를 따른다. M플립-플롭들(416-419)은 타이밍 이벤트(161)에서 지연된 클록(442)에 의해 클록된다. 본 예시에서, Q 출력들(444-447)은 도 2의 전압 Vdd(226)가 더 낮아질 수 있음을 나타내는 타이밍 이벤트(616)에서 모두 "1" 레벨에 있다. 일단 전압이 원하는 전압으로 낮아지면, 더 낮은 전압으로 인해 모든 지연들은 증가할 것이므로, 지연 경로는 재측정된다. 어서트된(asserted) M플립-플롭들(416-419)의 개수에 따라, 전압 Vdd에 대한 추가적인 조정이 이루어질 수 있다. 예를 들어 특정한 구현에 대해 최상의-경우에서 최악의-경우까지의 타이밍 시나리오들 내의 정확한 동작을 보증하기 위해 회로 분석 기술들이 이용됨을 알 수 있다.
도 6b에서, 전압 Vdd(226)는 더 낮아지고, 에뮬레이트된 임계 타이밍 경로의 지연은 증가한다. Q 출력(432)은 이제는 지연(630)을 가지는 제 1 지연 출력(436)을 발생시키는 프로그램 선택가능한 경로 지연 회로(412)를 통해 흐른다. 제 2 지연 출력(438)은 지연 D1(632)를 따르고 제 3 지연 출력(440)은 지연 D2(634)를 따른다. M플립-플롭들(416-419)은 타이밍 이벤트(636)에서 지연된 클록(442)에 의해 클록된다. 본 예시에서, 아직 충분한 타이밍 마진이 있고 전압 Vdd(226)에 대한 추가적인 하향(downward) 조정이 있어서는 안된다는 점을 나타내는 타이밍 이벤트(636)에서 Q 출력들(444-446)은 "1" 레벨에 있고 Q 출력(447)은 "0" 레벨에 있다.
도 7은 명령 임계 경로 지연과 관련된 시간 마진을 결정함으로써 명령 사용에 기초하여 전압 레귤레이터를 조정하기 위한 프로세스(700)를 도시한다. 프로세스(700)는 선택된 임계 경로에 대한 프로그램 가능한 구성 레지스터의 로딩과 함께 블록(702)에서 시작된다. 선택된 임계 경로는 컴파일된 프로그램 내의 명령 사용으로부터 결정된다. 블록(704)에서, 선택된 임계 타이밍 경로의 시간 지연이 측정된다. 그러한 측정은, 예를 들어 M플립-플롭들(416-419)의 상태(status)를 체크함으로써 이루어진다. AVS가 확실히 사용불능이 아니라면, 다른 온-칩 기능 동작들이 진행 중인데 반해 AVS 회로들(300 및 400)이 매 클록 기간마다 동작하기 때문에 M플립-플롭들(416-419)의 체크는 언제든지 이루어질 수 있다. 블록(706)에서, 모든 측정 플립-플롭들(M플립-플롭)들이 세트되었는지에 대한 결정이 이루어진다. 모든 M플립-플롭들이 세트되었다면, 프로세서(700)는 블록(708)으로 진행한다. 블록(708)에서, 시간 마진은 필요보다 크고 따라서 전압은 너무 높은 것으로 간주되고 조정 신호가 전압 레귤레이터로 전송되어 전압을 낮춘다. 블록(708)은 도 6a의 타이밍 이벤트(616)와 비교가능하다. 전압이 조정된 후에, 프로세서(700)는 블록(704)로 회귀하고 상기 측정이 반복된다.
블록(706)으로 돌아가서, 모든 M플립-플롭들이 세트된 것이 아니면, 프로세스(700)는 블록(710)으로 진행한다. 블록(710)에서, 4개의 플립-플롭들 중 3개가 세트되는지에 대한 결정이 이루어진다. 4개의 플립-플롭들 중 3개가 세트되면, 프로세스(700)는 블록(712)으로 진행한다. 블록(712)에서, 전압은 허용가능한 것으로 간주되고 전압 조정은 이루어지지 않는다. 블록(712)은 도 6B의 타이밍 이벤트(636)와 비교가능하다. 프로세서(700)는 블록(704)로 회귀하고 상기 측정이 반복된다.
블록(710)으로 돌아가면, 4개의 M플립-플롭들 중 3개가 세트되지 않으면, 프로세스는 블록(714)으로 진행한다. 블록(714)에서, 1개 또는 2개의 플립-플롭들이 세트되는지 여부에 대한 결정이 이루어진다. 1개 또는 2개의 플립-플롭들이 세트되면, 프로세스는 블록(716)으로 진행한다. 블록(716)에서, 시간 마진은 필요보다 적고 따라서 전압은 너무 낮은 것으로 간주되며 조정 신호가 전압 레귤레이터로 전송되어 전압을 높인다. 전압이 조정된 후에, 프로세서(700)는 블록(704)으로 회귀하고 상기 측정이 반복된다. 블록(714)으로 돌아가서, 1개 또는 2개의 M플립-플롭들이 세트되지 않으면, 프로세스는 오류 상태가 표시되는 블록(718)으로 진행한다.
도 8은 적응형 전압 스케일링(AVS) 회로(800)의 예시적인 제 3 실시예를 도시한다. AVS 회로(800)는 임계 경로 모델링 회로(402), 프로그램 가능한 구성 레지스터(404), 및 측정 로직 회로(806)를 포함한다. 임계 경로 모델링 회로(402)는 플립-플롭(408), NAND 게이트(410), 프로그램 선택가능한 경로 지연 회로(412), 및 클록 기준 지연 유닛(414)을 포함한다. 측정 로직(806)은 측정 플립-플롭들(Mflip-flops, 416 및 417) 및 AVS 컴바이너(824)를 포함한다.
플립-플롭(408) 및 NAND 게이트(410)는 홀드 신호(428)에 의해 홀드되지 않고 클록 신호(430)에 의해 클록(clock)될 때, 클록 신호(430)의 각각의 상승 엣지를 따라 Q 출력(432)을 토글하는 토글 플립-플롭 방식을 포함한다. "1" 레벨에서 홀드 신호(428)는 측정 프로세스를 가능하게 한다. Q 출력(432)은 M플립-플롭(416)의 데이터 입력 및 프로그램 선택가능한 경로 지연 회로(412)로 연결된다. 프로그램 선택가능한 경로 지연 회로(412)는 프로그램 가능한 구성 레지스터(404)로부터의 선택 입력(434)에 기초하여 임계 경로 지연 및(plus) 추가적인 프로그램된 지연들 D1 및 D2까지 에뮬레이트하도록 구성된다. 예를 들어, 규정된 프로그램 가능한 지연 기간 후에, Q 출력(432)이 "1" 레벨로 상승하면, 프로그램 선택가능한 경로 지연 회로(412)로부터 제 1 지연 출력(436)이 플립-플롭(417)의 데이터 입력에서 수신된다. 도 2의 클록 트리(234)와 같은, 클록 트리와 함께 일어나는 클록 분배(distribution)의 지연을 보상하기(account for) 위해 클록 기준 지연 유닛(414)에 의해 클록 신호(430)가 지연된다. 지연된 클록 신호(442)는 Q 출력들(444 및 445)에 대응하는 데이터 입력들의 값들을 전환하는 각각의 M플립-플롭들(416 및 417)을 클록하기 위해 이용된다. Q 출력들(444 및 445)은 임계 경로가 충족되고 있는지 여부를 결정하기 위해 우선순위 인코딩된 로직을 포함하는 AVS 컴바이너(824)에 결합된다.
예를 들어, 도 3의 임계 경로 B(309) 및(plus), D1 및(plus) D2의 추가적인 프로그램된 지연 값들이 적절한 구성 입력 값들을 로딩함으로써 프로그램 선택가능한 경로 지연 회로(412)에 의해 에뮬레이트된다. 임계 경로에 따라 또는 칩의 동작 상태에서 맞닥뜨리는 온도 변화들 또는 프로세스에 따라 D1 및 D2의 프로그램된 지연 값들이 변화할 수 있다. 프로그램된 지연 D1 및(plus) D2만큼 연장된 임계 경로와 함께, 시간 지연 마진이 전압이 더 낮아지거나, 동일하게 유지되거나, 또는 더 상승될 수 있는 그러한 것인지 여부를 결정하기 위해 2개의 플립-플롭들, M플립-플롭(416) 및 M플립-플롭(417)이 이용된다.
본 예시에서, 도 2의 전압 Vdd(226)는 최고 레벨에 있다. Q 출력들(444 및 445)이 에뮬레이션 지연의 엔드에서 "1"레벨에 있을 때, Q 출력(432)의 상승 엣지에서부터 Q 출력들(444 및 445)의 상승 엣지까지 측정된 바와 같은 임계 경로 B(309)는 D1 및(plus) D2의 타이밍 마진에 따라 클록 주파수 기간을 만족한다. 이러한 상황에서, 전압 Vdd(226)는 너무 높은 것으로 간주되고 조정 신호(848)는 전압 Vdd(226)가 더 낮아져야 함을 나타낼 것이다. 그러한 전압 Vdd(226)의 저하가 일어나는 동안, 다른 칩 상에서의 동작들은 정상적으로 계속될 수 있다. 가변형 전압 레귤레이터가 새로운 더 낮은 전압 레벨에 도달하는데 필요한 시간 기간이 지난 후에, 모델링된 임계 경로의 타이밍은 재실행될 수 있다. Q 출력들(444 및 445)이 여전히 "1" 레벨에 있다면, 전압은 다시 낮아질 것이다.
만일, Q 출력들(444 및 445)이 모두 "1" 레벨에 있지 않다면, 임계 경로 B(309)의 지연 및(plus) 프로그램된 딜레이들 D1 및(plus) D2는 클록 주파수 기간을 만족시키지 않았다. 임계 경로 B(309)에 대한 충분한 타이밍 마진이 존재하는지 여부를 결정하기 위해, 구성 레지스터에 임계 경로 B(309) 및(plus) D1에 대한 지연 모델 및 다시 체크되는 에뮬레이트된 경로의 타이밍이 로드된다. M플립-플롭들(416 및 417) 모두가 설정되면, 충분한 타이밍 마진이 존재하고 전압 Vdd(226)에 대한 추가적인 조정이 이루어진다. M플립-플롭들(416 및 417) 모두가 설정되지 않으면, 임계 경로 B(309) 및(plus) 프로그램된 지연 D1은 타이밍을 발생시키지 않으며, 이는 타이밍 마진이 카테고리 2 명령들에 대해 불충분할 수 있음을 나타낸다. 이 이후의 상황에서, 조정 신호(848)는 전압 Vdd가 상승되어야 함을 나타낼 것이다.
또한 하강 엣지 간의(falling edge to falling edge) 신호 타이밍은 AVS 회로(800)를 이용해서 측정될 수 있다. 또한 측정 신호(850)가 측정되고 있는 지연의 타입에 관한 정보를 전달할 수 있음이 인지된다. 예를 들어, "1" 레벨로 설정된 단일 조정 신호(850)를 이용해서, 컴바이너(824)는 "1"로 설정되고 있는 Q 출력(417)을 임계 경로 지연 및(plus) 프로그램 가능한 지연 D1 및(plus) D2가 과도한 시간 마진을 가지는 타이밍을 만족하고 있고 전압은 더 낮아질 수 있음을 타나내는 것으로 간주할 것이다. 지연 에뮬레이션의 엔드에서 Q 출력(417)이 "0"일 때까지, 전압은 낮춰진다. 그리고나서 프로그램 가능한 구성 레지스터(404)에 임계 경로 및(plus) 프로그램 가능한 지연 D1이 로드되고 조정 신호(850)는 감소된 시간 마진을 이용한 제 2 측정이 테스트되고 있음을 나타내는 "0"으로 설정된다. 컴바이너(824)는 "1"의 Q 출력(417) 및 "0"의 조정 신호(850)를 적절한 마진이 존재하고 전압 레귤레이터가 조정되지 않는다는 점을 나타내는 것으로 해석할 것이다. 대안적으로, 컴바이너는 "0"의 Q 출력(417) 및 "0"의 조정 신호(850)를 시간 마진이 너무 작고 전압이 상승될 필요가 있다는 점을 나타내는 것으로 해석할 것이다. 새 구성 비트들의 로딩을 이용하여 새 임계 경로 에뮬레이션 측정으로 변 시, 조정 신호는 측정될 새롭게 선택된 임계 경로 및 프로세서의 현재의 동작 상태에 따라서 설정될 수 있다.
여기서 공개된 실시예들과 함께 기재된 다양한 예시적인 로직컬(logical) 블록들, 모듈들, 회로들, 엘리먼트들, 및/또는 컴포넌트들은 범용 프로세서(general purpose processor), 디지털 신호 프로세서(digital signal processor, DSP), 주문형 반도체(application specific integrated circuit, ASIC), 필드 프로그래머블 게이트 어레이(field programmable gate array, FPGA) 또는 다른 프로그램 가능한 로직 컴포넌트들, 개별(discrete) 게이트 또는 트랜지스터 로직, 개별 하드웨어 컴포넌트들, 또는 여기서 기재된 기능들을 수행하기 위해 설계된 상기의 임의의 조합을 이용해서 구현되거나 수행될 수 있다. 범용 프로세서는 마이크로프로세서(microprocessor)일 수 있지만 대안적으로, 프로세서는 임의의 종래의 프로세서, 컨트롤러, 마이크로컨트롤러(microcontroller), 또는 상태 머신(state machine)일 수 있다. 또한 프로세서는 컴퓨팅 컴포넌트들의 조합으로서, 예를 들어, DSP 및 마이크로프로세서, 복수의 마이크로프로세서들, DSP 코어를 가진 하나 또는 그 이상의 마이크로프로세서들, 또는 요구되는 애플리케이션에 적합한 다른 임의의 구성의 조합으로서 구현될 수 있다.
여기서 공개된 실시예들과 함께 기재된 방법들은 하드웨어, 프로세서에 의해 실행된 소프트웨어 모듈, 또는 그 둘의 조합에서 직접 구체화될 수 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터들, 하드 디스크, 착탈식 디스크, CD-ROM, 또는 당해 기술분야에 공지된 다른 형태의 임의의 저장 매체 내에 상주할 수 있다. 프로세서가 저장 매체로부터 정보를 읽고, 저장 매체에 정보를 기록할 수 있도록, 저장 매체가 프로세서에 결합 될 수 있다. 대안으로, 저장 매체는 프로세서의 일부분일 수 있다.
본 발명은 프로세싱 시스템에 대한 명령 세트 구조의 맥락에서 공개되지만, 하드웨어 어시스트 코-프로세싱(co-processing) 유닛들 상에서 실행된 기능들의 카테고리에 따라 전압을 조정하는 것과 같은, 다양한 구현들이 상기 논의 및 하기의 청구와 일관되는 본 발명의 기술들을 이용해서 당해 기술 분야에서 통상의 지식을 가진 자에 의해 이용될 수 있음을 알 수 있을 것이다.

Claims (20)

  1. 적응형 전압 스케일링(adaptive voltage scaling) 회로에 의해 수행되는 적응형 전압 스케일링을 위한 방법으로서,
    온-칩(on-chip) 기능 동작들 동안 선택된 임계 경로(critical path)의 속성(attribute)을 결정하기 위해 에뮬레이션(emulation) 로직(logic) 상에서의 분석을 위해 복수의 임계 경로들 중에서 하나의 임계 경로를 선택하는 단계 ? 상기 선택된 임계 경로는 프로그램 실행 동안 동작하는 최악의(worst case) 임계 경로를 나타냄 ? ; 및
    온-칩 기능 동작들 동안 상기 속성에 응답하여 전압 레귤레이터(regulator)의 출력 전압을 제어하는 단계 ? 상기 전압 레귤레이터는 상기 복수의 임계 경로들과 관련된 전력 도메인(domain)으로 전력을 공급함 ? 를 포함하는,
    적응형 전압 스케일링을 위한 방법.
  2. 제 1항에 있어서,
    임계 경로 길이에 따라서 복수의 타이밍 카테고리들로 명령들을 분류하는 단계; 및
    상기 프로그램에서 이용되는 상기 타이밍 카테고리들을 결정하는 단계를 더 포함하는,
    적응형 전압 스케일링을 위한 방법.
  3. 제 2항에 있어서,
    임계 경로는 상기 프로그램에서 이용되는 상기 타이밍 카테고리들의 이용 빈도(frequency)에 기초하여 선택되는,
    적응형 전압 스케일링을 위한 방법.
  4. 제 1항에 있어서,
    동작 주파수의 기간(period)과 비교하여 상기 선택된 임계 경로의 시간 마진(margin)을 결정하는 단계를 더 포함하며, 여기서 상기 시간 마진은 상기 분석의 속성인,
    적응형 전압 스케일링을 위한 방법.
  5. 제 4항에 있어서,
    상기 시간 마진이 제 1 지연(delay) 값보다 크거나 또는 동일하지만 제 1 지연 값과 제 2 지연 값의 합보다 작다면 전압 조정(adjustment)을 하지 않는 단계를 더 포함하는,
    적응형 전압 스케일링을 위한 방법.
  6. 제 5항에 있어서,
    상기 시간 마진이 제 1 지연 값과 제 2 지연 값의 합보다 크거나 동일하다면 상기 전압을 더 작은 전압으로 조정하는 단계를 더 포함하는,
    적응형 전압 스케일링을 위한 방법.
  7. 제 5항에 있어서,
    상기 시간 마진이 상기 제 1 지연 값보다 작다면 상기 전압을 증가시키는 단계를 더 포함하는,
    적응형 전압 스케일링을 위한 방법.
  8. 제 1항에 있어서,
    상기 복수의 임계 경로들의 각각의 임계 경로는 각각 대응하는 임계 경로에 근접해서 위치한 신호 경로 내의 동등한 컴포넌트들을 구현(instantiate)함으로써 에뮬레이트(emulate)되는
    적응형 전압 스케일링을 위한 방법.
  9. 제 1항에 있어서,
    상기 에뮬레이션 로직은 프로그램 가능한(programmable) 지연 회로인,
    적응형 전압 스케일링을 위한 방법.
  10. 제 9항에 있어서,
    선택된 임계 경로를 모델링하도록 상기 프로그램 가능한 지연 회로를 구성하는 구성 비트들을 이용하여 상기 임계 경로를 선택하기 위해 구성 레지스터(configuration register)를 로딩(loading)하는 단계를 더 포함하는,
    적응형 전압 스케일링을 위한 방법.
  11. 적응형 전압 스케일링 (AVS) 회로로서,
    임계 경로들을 에뮬레이트하기 위한 프로그램 가능한 타이밍 경로 에뮬레이션 회로;
    온-칩 동작되는 프로그램 내의 명령 사용에 기초하여 적어도 하나의 임계 경로를 에뮬레이트하도록 상기 프로그램 가능한 타이밍 경로 에뮬레이션 회로를 구성하기 위한 프로그램 가능한 제어 로직 ? 상기 에뮬레이트된 임계 경로는 프로그램 실행 동안 동작하는 최악의 임계 경로를 나타냄 ? ; 및
    온-칩 기능 동작들 동안 상기 에뮬레이트된 임계 경로의 속성을 측정하고, 상기 측정된 속성에 응답하여, 전압 레귤레이터의 출력 전압을 제어하기 위한 측정 로직 회로 ? 상기 전압 레귤레이터는 적어도 하나의 임계 경로와 관련된 전력 도메인으로 전력을 공급함 ? 를 포함하는,
    적응형 전압 스케일링 (AVS) 회로.
  12. 제 11항에 있어서,
    상기 프로그램 가능한 타이밍 경로 에뮬레이션 회로는,
    프로그램 선택가능한 경로 지연 회로; 및
    경로 지연 측정을 시작하기 위한 스타팅(starting) 신호 회로를 포함하는,
    적응형 전압 스케일링 (AVS) 회로.
  13. 제 12항에 있어서,
    상기 프로그램 선택가능한 경로 지연 회로는,
    임계 경로 내의 로직 엘리먼트들을 모델링하기 위한 프로그램 선택가능한 제 1 레이어 탭(tap)들과 제 1 레이어 시리얼 체인(serial chain) 내에서 함께 커플링된 지연 엘리먼트들의 제 1 레이어 ? 상기 제 1 레이어는 상기 제 1 레이어 시리얼 체인의 제 1 지연 엘리먼트에서 스타팅 신호를 수신하고 선택된 제 1 레이어 탭으로부터 제 1 레이어 출력을 발생시킴 ? ; 및
    상기 로직 엘리먼트들 사이의 상호접속 와이어링(interconnection wiring)을 모델링하기 위한 프로그램 선택가능한 제 2 레이어 탭들과 제 2 레이어 시리얼 체인 내에서 함께 커플링된 선택가능한 저항 커패시터(RC) 지연 엘리먼트들의 제 2 레이어 ? 상기 제 1 레이어 출력은 상기 제 2 레이어 시리얼 체인의 제 1 RC 지연 엘리먼트에 커플링되고 선택된 제 2 레이어 선택된 탭으로부터 제 2 레이어 출력을 발생시킴 ? 를 포함하는,
    적응형 전압 스케일링 (AVS) 회로.
  14. 제 11항에 있어서,
    상기 프로그램 가능한 제어 로직은,
    구성 비트들을 이용해서 프로그램 제어 하에서 로드된 구성 레지스터를 포함하며,
    여기서 상기 구성 비트들은 상기 적어도 하나의 임계 경로를 에뮬레이트하도록 상기 프로그램 가능한 타이밍 경로 에뮬레이션 회로를 구성하는,
    적응형 전압 스케일링 (AVS) 회로.
  15. 제 11항에 있어서,
    상기 측정 로직 회로는,
    스타트 타이밍 경로 신호의 출력 값을 수신하고 클록 신호에 의해 클록될 때 상기 수신된 출력 값을 제 1 플립-플롭 출력으로 전환(transfer)시키는 제 1 플립-플롭;
    상기 프로그램 가능한 타이밍 경로 에뮬레이션 회로의 출력 값을 수신하고 상기 클록 신호에 의해 클록될 때 상기 수신된 출력값을 제 2 플립-플롭 출력으로 전환시키는 제 2 플립-플롭; 및
    상기 제 1 플립-플롭 출력, 제 2 플립-플롭 출력을 수신하고, 상기 전압이 더 낮아지거나, 동일하게 유지되거나, 또는 더 상승해야하는지 여부를 나타내는 조정 신호를 발생시키는 컴바이너를 포함하는,
    적응형 전압 스케일링 (AVS) 회로.
  16. 적응형 전압 스케일링 회로에 의해 수행되는 적응형 전압 스케일링을 위한 방법으로서,
    온-칩 동작되는 프로그램과 관련된 최장 임계 경로를 나타내는 임계 경로 지연을 에뮬레이트하기 위해 프로그램 가능한 경로 지연 회로 내의 시간 지연을 설정하는 단계 ? 상이한 프로그램들이 상이한 최장 임계 경로들을 가짐 ? ; 및
    온-칩 기능 동작들 동안 상기 에뮬레이트된 임계 경로 지연의 측정에 기초하여 전압 레귤레이터의 출력 전압을 조정하는 단계 ? 상기 전압 레귤레이터는 상기 에뮬레이트된 임계 경로와 관련된 전력 도메인으로 전력을 공급함 ? 를 포함하는,
    적응형 전압 스케일링을 위한 방법.
  17. 제 16항에 있어서,
    동작 주파수의 기간과 비교하여 상기 임계 경로의 시간 마진을 결정하고 상기 시간 지연에서 상기 시간 마진을 포함하는 단계를 더 포함하는,
    적응형 전압 스케일링을 위한 방법.
  18. 제 16항에 있어서,
    상기 시간 지연이 상기 임계 경로 지연 및 과도한(excessive) 시간 마진을 포함한다는 점을 나타내기 위해 조정-필요 스테이트(state)로 조정 신호를 어서트(assert)하는 단계; 및
    상기 어서트된 조정 신호에 기초하여 상기 전압을 감소시키는 단계를 더 포함하는,
    적응형 전압 스케일링을 위한 방법.
  19. 제 16항에 있어서,
    상기 시간 지연이 상기 임계 경로 지연 및 안전 동작 시간 마진을 포함한다는 점을 나타내기 위해 무(no)-조정 스테이트로 조정 신호를 설정하는 단계를 더 포함하는,
    적응형 전압 스케일링을 위한 방법.
  20. 제 16항에 있어서,
    현재 이용중인 상기 레귤레이터의 출력 전압보다 더 높은 상기 전압 레귤레이터의 출력 전압을 요구하는 명령이 검출될 때 프로세서 스톨(stall) 요청을 발생시키는 단계;
    상기 전압 레귤레이터의 출력 전압을 상기 더 높은 상기 전압 레귤레이터의 출력 전압으로 조정하는 단계; 및
    상기 더 높은 상기 전압 레귤레이터의 출력 전압에 도달할 때 상기 프로세서 스톨 요청을 제거하는 단계를 더 포함하는,
    적응형 전압 스케일링을 위한 방법.
KR1020107004433A 2007-07-26 2008-07-25 명령 사용에 기초한 적응형 전압 스케일링을 위한 방법 및 장치 KR101115247B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/828,782 2007-07-26
US11/828,782 US8725488B2 (en) 2007-07-26 2007-07-26 Method and apparatus for adaptive voltage scaling based on instruction usage
PCT/US2008/071155 WO2009015326A2 (en) 2007-07-26 2008-07-25 Method and apparatus for adaptive voltage scaling based on instruction usage

Publications (2)

Publication Number Publication Date
KR20100036386A KR20100036386A (ko) 2010-04-07
KR101115247B1 true KR101115247B1 (ko) 2012-03-13

Family

ID=40282159

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107004433A KR101115247B1 (ko) 2007-07-26 2008-07-25 명령 사용에 기초한 적응형 전압 스케일링을 위한 방법 및 장치

Country Status (6)

Country Link
US (1) US8725488B2 (ko)
EP (1) EP2183657A2 (ko)
JP (1) JP5535909B2 (ko)
KR (1) KR101115247B1 (ko)
CN (3) CN101765822A (ko)
WO (1) WO2009015326A2 (ko)

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7400167B2 (en) * 2005-08-16 2008-07-15 Altera Corporation Apparatus and methods for optimizing the performance of programmable logic devices
US8725488B2 (en) 2007-07-26 2014-05-13 Qualcomm Incorporated Method and apparatus for adaptive voltage scaling based on instruction usage
JP2009048264A (ja) * 2007-08-14 2009-03-05 Oki Electric Ind Co Ltd 半導体集積回路装置
US20090207901A1 (en) * 2008-02-19 2009-08-20 Meng-Ta Yang Delay circuit and method capable of performing online calibration
US7971105B2 (en) * 2009-01-16 2011-06-28 Freescale Semiconductor, Inc. Device and method for detecting and correcting timing errors
WO2010087817A1 (en) * 2009-01-27 2010-08-05 Agere Systems Inc. Critical-path circuit for performance monitoring
CN104536555B (zh) 2009-03-30 2017-05-24 高通股份有限公司 自适应电压定标
US9798370B2 (en) * 2009-03-30 2017-10-24 Lenovo (Singapore) Pte. Ltd. Dynamic memory voltage scaling for power management
JP2011066317A (ja) * 2009-09-18 2011-03-31 Sony Corp 半導体装置
US8154335B2 (en) 2009-09-18 2012-04-10 Stmicroelectronics Pvt. Ltd. Fail safe adaptive voltage/frequency system
US8566618B2 (en) * 2009-10-05 2013-10-22 International Business Machines Corporation Reliable setting of voltage and frequency in a microprocessor
TW201122753A (en) * 2009-12-29 2011-07-01 Ind Tech Res Inst Voltage scaling systems
TW201123732A (en) * 2009-12-31 2011-07-01 Ind Tech Res Inst Processing devices
US8258861B2 (en) * 2010-01-08 2012-09-04 Analog Devices, Inc. Systems and methods for minimizing power consumption
US20120291043A1 (en) * 2010-12-21 2012-11-15 Qualcomm Incorporated Minimizing Resource Latency Between Processor Application States In A Portable Computing Device By Using A Next-Active State Set
US9104499B2 (en) 2010-12-21 2015-08-11 Qualcomm Incorporated System for minimizing resource latency between processor application states in a portable computing device by scheduling resource state set transitions
US9285856B2 (en) 2010-12-21 2016-03-15 Qualcomm Incorporated Method and system for rapid entry into and for rapid exiting from sleep states for processors of a portable computing device
JP5712732B2 (ja) * 2011-03-31 2015-05-07 ソニー株式会社 情報処理装置、情報処理システム、情報処理装置の制御方法、および、プログラム
US9444440B2 (en) * 2011-06-30 2016-09-13 Stmicroelectronics International N.V. Transition detector
US8954980B2 (en) 2011-11-11 2015-02-10 Qualcomm Incorporated Conserving power through work load estimation for a portable computing device using scheduled resource set transitions
US8943341B2 (en) * 2012-04-10 2015-01-27 International Business Machines Corporation Minimizing power consumption for fixed-frequency processing unit operation
US8464199B1 (en) 2012-05-16 2013-06-11 International Business Machines Corporation Circuit design using design variable function slope sensitivity
CN103455077B (zh) * 2012-05-31 2016-08-03 华为技术有限公司 一种自适应调整电压的方法、装置及系统
US20140136177A1 (en) * 2012-11-09 2014-05-15 Mediatek Inc. Critical path emulating apparatus using hybrid architecture
US9223327B1 (en) * 2012-11-26 2015-12-29 Marvell International Ltd. Universal adaptive voltage scaling system
US8975954B2 (en) * 2013-01-08 2015-03-10 Qualcomm Incorporated Method for performing adaptive voltage scaling (AVS) and integrated circuit configured to perform AVS
US9304573B2 (en) * 2013-06-21 2016-04-05 Apple Inc. Dynamic voltage and frequency management based on active processors
US9195291B2 (en) 2013-06-21 2015-11-24 Apple Inc. Digital power estimator to control processor power consumption
US9298250B2 (en) 2013-08-06 2016-03-29 Globalfoundries Inc. Reconfigurable circuit to emulate system critical paths
US9606605B2 (en) * 2014-03-07 2017-03-28 Apple Inc. Dynamic voltage margin recovery
US9671857B2 (en) 2014-03-25 2017-06-06 Qualcomm Incorporated Apparatus, system and method for dynamic power management across heterogeneous processors in a shared power domain
WO2016090642A1 (zh) * 2014-12-12 2016-06-16 上海兆芯集成电路有限公司 动态电压频率调整系统及其方法
US9543936B1 (en) 2015-06-22 2017-01-10 International Business Machines Corporation Reconfigurable voltage desensitization circuit to emulate system critical paths
JP6631374B2 (ja) * 2016-04-13 2020-01-15 富士通株式会社 情報処理装置、動作状況収集プログラム及び動作状況収集方法
WO2017199790A1 (ja) * 2016-05-20 2017-11-23 株式会社ソシオネクスト 半導体集積回路
US10705589B2 (en) * 2016-06-02 2020-07-07 Northwestern University System and method for associative power and clock management with instruction governed operation for power efficient computing
US9924463B2 (en) * 2016-08-29 2018-03-20 Mediatek Singapore Pte. Ltd. Method, system and apparatus for controlling power consumption of a mobile terminal
US11593544B2 (en) * 2017-08-23 2023-02-28 Intel Corporation System, apparatus and method for adaptive operating voltage in a field programmable gate array (FPGA)
US10503184B2 (en) * 2018-03-16 2019-12-10 Ambient Scientific, Inc. Dynamic adjustment of operating conditions of integrated circuits
US10403335B1 (en) * 2018-06-04 2019-09-03 Micron Technology, Inc. Systems and methods for a centralized command address input buffer
CN110619132B (zh) * 2018-06-20 2023-11-24 瑞昱半导体股份有限公司 用于适应性电压缩放的方法与装置
CN108925004A (zh) * 2018-08-08 2018-11-30 深圳世鸿智汇科技有限公司 发光二极管驱动系统
TWI760722B (zh) * 2019-11-10 2022-04-11 瑞昱半導體股份有限公司 自適性電壓定比量測方法及相關的電子裝置
US11132201B2 (en) * 2019-12-23 2021-09-28 Intel Corporation System, apparatus and method for dynamic pipeline stage control of data path dominant circuitry of an integrated circuit
JP2022002377A (ja) * 2020-06-22 2022-01-06 セイコーエプソン株式会社 センシング装置及びセンシングシステム
US11599139B1 (en) 2021-09-03 2023-03-07 Xepic Corporation Limited Dynamic adjustment of root clock frequency in logic system design during verification
TWI801084B (zh) * 2022-01-07 2023-05-01 瑞昱半導體股份有限公司 用於靜態時序分析的餘量校正方法及餘量校正系統

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6366157B1 (en) 1996-08-07 2002-04-02 Motorola, Inc. Methods and circuits for dynamically adjusting a supply voltage and/or a frequency of a clock signal in a digital circuit
US20040217805A1 (en) 2003-04-30 2004-11-04 International Business Machines Corporation Power reduction by stage in integrated circuit
US20050251700A1 (en) 2004-05-05 2005-11-10 Henderson Eric L Dynamic voltage scaling system
US20070096775A1 (en) 2005-10-31 2007-05-03 Mohamed Elgebaly Adaptive voltage scaling for an electronics device

Family Cites Families (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6158012A (en) * 1989-10-30 2000-12-05 Texas Instruments Incorporated Real-time power conservation and thermal management for computers
US5218704A (en) * 1989-10-30 1993-06-08 Texas Instruments Real-time power conservation for portable computers
US5230055A (en) * 1991-01-25 1993-07-20 International Business Machines Corporation Battery operated computer operation suspension in response to environmental sensor inputs
JPH0776894B2 (ja) 1991-02-25 1995-08-16 インターナショナル・ビジネス・マシーンズ・コーポレイション プロセッサ用クロック信号の制御方法及び情報処理システム
US5894577A (en) * 1993-09-22 1999-04-13 Advanced Micro Devices, Inc. Interrupt controller with external in-service indication for power management within a computer system
US5511203A (en) * 1994-02-02 1996-04-23 Advanced Micro Devices Power management system distinguishing between primary and secondary system activity
FI942753A (fi) * 1994-06-10 1995-12-11 Nokia Mobile Phones Ltd Menetelmä jänniteregulaattorin sisältävän elektronisen laitteen tehonkulutuksen pienentämiseksi
US5754869A (en) * 1994-10-04 1998-05-19 Intel Corporation Method and apparatus for managing power consumption of the CPU and on-board system devices of personal computers
US5572719A (en) * 1994-11-22 1996-11-05 Advanced Micro Devices Clock control system for microprocessors including a delay sensing circuit
EP0727728A1 (en) * 1995-02-15 1996-08-21 International Business Machines Corporation Computer system power management
FI101109B (fi) * 1995-04-12 1998-04-15 Nokia Mobile Phones Ltd Menetelmä elektronisen laitteen tehonkulutuksen pienentämiseksi
US5719800A (en) * 1995-06-30 1998-02-17 Intel Corporation Performance throttling to reduce IC power consumption
US5745375A (en) * 1995-09-29 1998-04-28 Intel Corporation Apparatus and method for controlling power usage
JPH09305569A (ja) * 1996-01-17 1997-11-28 Texas Instr Inc <Ti> Cpuの動作特性に応じてコンピュータの動作を制御する方法と装置
US5812860A (en) * 1996-02-12 1998-09-22 Intel Corporation Method and apparatus providing multiple voltages and frequencies selectable based on real time criteria to control power consumption
US5815724A (en) * 1996-03-29 1998-09-29 Intel Corporation Method and apparatus for controlling power consumption in a microprocessor
US5940785A (en) * 1996-04-29 1999-08-17 International Business Machines Corporation Performance-temperature optimization by cooperatively varying the voltage and frequency of a circuit
US5781783A (en) * 1996-06-28 1998-07-14 Intel Corporation Method and apparatus for dynamically adjusting the power consumption of a circuit block within an integrated circuit
US5832284A (en) * 1996-12-23 1998-11-03 International Business Machines Corporation Self regulating temperature/performance/voltage scheme for micros (X86)
US5757171A (en) * 1996-12-31 1998-05-26 Intel Corporation On-board voltage regulators with automatic processor type detection
US5914996A (en) * 1997-02-12 1999-06-22 Intel Corporation Multiple clock frequency divider with fifty percent duty cycle output
US6021500A (en) * 1997-05-07 2000-02-01 Intel Corporation Processor with sleep and deep sleep modes
US5923545A (en) * 1998-05-18 1999-07-13 Intel Corporation Method and apparatus for providing multiple output voltages from a voltage regulator
JP3573957B2 (ja) * 1998-05-20 2004-10-06 インターナショナル・ビジネス・マシーンズ・コーポレーション コンピュータ内のプロセッサの動作速度制御方法及びコンピュータ
US6347379B1 (en) * 1998-09-25 2002-02-12 Intel Corporation Reducing power consumption of an electronic device
US6415388B1 (en) 1998-10-30 2002-07-02 Intel Corporation Method and apparatus for power throttling in a microprocessor using a closed loop feedback system
US6118306A (en) * 1998-12-03 2000-09-12 Intel Corporation Changing clock frequency
US6272642B2 (en) * 1998-12-03 2001-08-07 Intel Corporation Managing a system's performance state
JP4457423B2 (ja) 1999-01-20 2010-04-28 ソニー株式会社 電源電圧制御装置
JP4114291B2 (ja) * 1999-01-20 2008-07-09 ソニー株式会社 半導体装置およびその構成方法
US6477654B1 (en) * 1999-04-06 2002-11-05 International Business Machines Corporation Managing VT for reduced power using power setting commands in the instruction stream
US6425086B1 (en) * 1999-04-30 2002-07-23 Intel Corporation Method and apparatus for dynamic power control of a low power processor
JP2001034983A (ja) * 1999-07-14 2001-02-09 Sankyo Seiki Mfg Co Ltd 光ピックアップ装置用受発光素子
US6457135B1 (en) * 1999-08-10 2002-09-24 Intel Corporation System and method for managing a plurality of processor performance states
WO2001027728A1 (en) 1999-10-14 2001-04-19 Advanced Micro Devices, Inc. Minimizing power consumption during sleep modes by using minimum core voltage necessary to maintain system state
US6442746B1 (en) * 1999-12-21 2002-08-27 Intel Corporation Preventing damaging of low voltage processor in high voltage system
US7100061B2 (en) * 2000-01-18 2006-08-29 Transmeta Corporation Adaptive power control
JP2002100967A (ja) * 2000-03-17 2002-04-05 Sony Corp 電源電圧制御装置、半導体装置およびその駆動方法
US6535735B2 (en) * 2001-03-22 2003-03-18 Skyworks Solutions, Inc. Critical path adaptive power control
CN1759368A (zh) * 2003-01-23 2006-04-12 罗切斯特大学 多时钟域微处理器
US7148755B2 (en) * 2003-08-26 2006-12-12 Hewlett-Packard Development Company, L.P. System and method to adjust voltage
US7239494B2 (en) * 2003-09-03 2007-07-03 Hewlett-Packard Development Company, L.P. System and method to mitigate voltage fluctuations
US7809932B1 (en) * 2004-03-22 2010-10-05 Altera Corporation Methods and apparatus for adapting pipeline stage latency based on instruction type
JP4198644B2 (ja) * 2004-06-21 2008-12-17 富士通マイクロエレクトロニクス株式会社 半導体集積回路
US7205805B1 (en) * 2004-11-02 2007-04-17 Western Digital Technologies, Inc. Adjusting power consumption of digital circuitry relative to critical path circuit having the largest propagation delay error
CN1777005A (zh) * 2004-11-17 2006-05-24 中兴通讯股份有限公司 可控制上电时间与顺序的直流/直流电源调整电路
US7797083B1 (en) * 2004-12-15 2010-09-14 Silego Technology, Inc. Communicating a power control feedback signal
US7257723B2 (en) 2005-01-07 2007-08-14 Atheros Communications, Inc. Reducing power consumption in embedded systems by controlling voltage based on system state and partition designation
US7276925B2 (en) * 2005-07-01 2007-10-02 P.A. Semi, Inc. Operating an integrated circuit at a minimum supply voltage
US7652494B2 (en) * 2005-07-01 2010-01-26 Apple Inc. Operating an integrated circuit at a minimum supply voltage
US7840825B2 (en) * 2006-10-24 2010-11-23 International Business Machines Corporation Method for autonomous dynamic voltage and frequency scaling of microprocessors
US8046601B1 (en) * 2006-12-21 2011-10-25 Marvell International Ltd. Closed loop voltage control using adjustable delay lines
US8725488B2 (en) 2007-07-26 2014-05-13 Qualcomm Incorporated Method and apparatus for adaptive voltage scaling based on instruction usage

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6366157B1 (en) 1996-08-07 2002-04-02 Motorola, Inc. Methods and circuits for dynamically adjusting a supply voltage and/or a frequency of a clock signal in a digital circuit
US20040217805A1 (en) 2003-04-30 2004-11-04 International Business Machines Corporation Power reduction by stage in integrated circuit
US20050251700A1 (en) 2004-05-05 2005-11-10 Henderson Eric L Dynamic voltage scaling system
US20070096775A1 (en) 2005-10-31 2007-05-03 Mohamed Elgebaly Adaptive voltage scaling for an electronics device

Also Published As

Publication number Publication date
US8725488B2 (en) 2014-05-13
US20090031155A1 (en) 2009-01-29
CN107015625A (zh) 2017-08-04
WO2009015326A2 (en) 2009-01-29
KR20100036386A (ko) 2010-04-07
JP2010534890A (ja) 2010-11-11
WO2009015326A3 (en) 2009-08-13
EP2183657A2 (en) 2010-05-12
JP5535909B2 (ja) 2014-07-02
CN107015625B (zh) 2020-07-14
CN107092336A (zh) 2017-08-25
CN101765822A (zh) 2010-06-30
CN107092336B (zh) 2020-03-24

Similar Documents

Publication Publication Date Title
KR101115247B1 (ko) 명령 사용에 기초한 적응형 전압 스케일링을 위한 방법 및 장치
Kahng et al. Slack redistribution for graceful degradation under voltage overscaling
Srivastava et al. Power minimization using simultaneous gate sizing, dual-Vdd and dual-Vth assignment
EP2179342B1 (en) Method and apparatus for detecting clock gating opportunities in a pipelined electronic circuit design
US20100218019A1 (en) Non-recursive adaptive filter for predicting the mean processing performance of a complex system&#39;s processing core
US20110198941A1 (en) Power Switch Ramp Rate Control Using Daisy-Chained Flops
US20060090153A1 (en) Method and apparatus for reducing power consumption in an integrated circuit chip
US9564898B2 (en) Power switch ramp rate control using selectable daisy-chained connection of enable to power switches or daisy-chained flops providing enables
Flautner et al. IEM926: An energy efficient SoC with dynamic voltage scaling
CN110710107A (zh) 用于减小时钟闭锁引起的电压下降的装置和方法
KR20130084029A (ko) 탭리스 스탠다드 셀을 포함하는 시스템-온-칩의 설계 방법, 설계 시스템 및 시스템-온-칩
WO2021040947A1 (en) Low power clock gate circuit
US7564266B2 (en) Logic state catching circuits
US10650112B1 (en) Multi-bit clock gating cell to reduce clock power
US11528016B2 (en) Low latency comparator with local clock circuit
US10162914B1 (en) Apparatus and method to force equivalent outputs at start-up for replicated sequential circuits
CN104753515A (zh) 应用特征化路径电路的动态调整电路及产生特征化路径电路的方法
Burd Dynamic Voltage Scaling
KR101621760B1 (ko) 비동기 클럭을 가지는 파이프라인 회로 장치
US20240038310A1 (en) Non-Volatile Memory Power Cycle Protection Mechanism
US11741024B2 (en) Clock crossing FIFO status converged synchronizer
Kumar Sharma et al. Multi-Voltage Design of RISC Processor for Low Power Application: A Survey
Kapilachander et al. Technical Study on low power VLSI methods
Pangrle Power-Efficient Design Challenges
Ruan et al. A study on battery life tradeoff between deep sleep and sleep modes of an actual PDA

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: 20150129

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20151230

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee