KR20120003927A - 적응형 전압 스케일링 - Google Patents
적응형 전압 스케일링 Download PDFInfo
- Publication number
- KR20120003927A KR20120003927A KR1020117025962A KR20117025962A KR20120003927A KR 20120003927 A KR20120003927 A KR 20120003927A KR 1020117025962 A KR1020117025962 A KR 1020117025962A KR 20117025962 A KR20117025962 A KR 20117025962A KR 20120003927 A KR20120003927 A KR 20120003927A
- Authority
- KR
- South Korea
- Prior art keywords
- avs
- voltage level
- voltage
- functional circuit
- delay
- Prior art date
Links
- 230000003044 adaptive effect Effects 0.000 title claims abstract description 45
- 238000000034 method Methods 0.000 claims abstract description 82
- 230000003111 delayed effect Effects 0.000 claims description 36
- 238000012937 correction Methods 0.000 claims description 12
- 230000032683 aging Effects 0.000 claims description 8
- 238000004891 communication Methods 0.000 claims description 4
- 239000004065 semiconductor Substances 0.000 claims description 4
- 230000001413 cellular effect Effects 0.000 claims description 2
- 230000008569 process Effects 0.000 description 28
- 238000010586 diagram Methods 0.000 description 25
- 238000003860 storage Methods 0.000 description 7
- 230000001360 synchronised effect Effects 0.000 description 7
- 238000013461 design Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 230000001934 delay Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000007613 environmental effect Effects 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000003679 aging effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 230000001276 controlling effect Effects 0.000 description 2
- 238000005265 energy consumption Methods 0.000 description 2
- 239000002245 particle Substances 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000007850 degeneration Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
- 238000003892 spreading Methods 0.000 description 1
- 230000002277 temperature effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05F—SYSTEMS FOR REGULATING ELECTRIC OR MAGNETIC VARIABLES
- G05F1/00—Automatic systems in which deviations of an electric quantity from one or more predetermined values are detected at the output of the system and fed back to a device within the system to restore the detected quantity to its predetermined value or values, i.e. retroactive systems
- G05F1/10—Regulating voltage or current
- G05F1/46—Regulating voltage or current wherein the variable actually regulated by the final control device is dc
- G05F1/462—Regulating voltage or current wherein the variable actually regulated by the final control device is dc as a function of the requirements of the load, e.g. delay, temperature, specific voltage/current characteristic
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/324—Power saving characterised by the action undertaken by lowering clock frequency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3296—Power saving characterised by the action undertaken by lowering the supply or operating voltage
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K3/00—Circuits for generating electric pulses; Monostable, bistable or multistable circuits
- H03K3/01—Details
- H03K3/012—Modifications of generator to improve response time or to decrease power consumption
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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 Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Electromagnetism (AREA)
- Radar, Positioning & Navigation (AREA)
- Automation & Control Theory (AREA)
- Power Sources (AREA)
Abstract
적응형 전압 스케일러(AVSs), 시스템들 및 관련된 방법들이 제시된다. AVS는 전압 마진을 피하거나 줄이기 위해 타겟 동작 주파수들 및 지연 변형 상태들에 기반하여 기능적인 회로(들)에 전력을 공급하는 전압 레벨들을 적응적으로 조정하도록 구성된다. 일 실시예에서, AVS는 AVS 데이터베이스를 포함한다. AVS 데이터베이스는 전압 마진을 피하거나 줄이기 위해 기능적인 회로(들)의 다양한 동작 주파수들에 대한 전압 레벨들을 저장하도록 구성될 수 있다. AVS 데이터베이스는 빠른 전압 레벨 결정을 허용한다. AVS 데이터베이스에 저장된 전압 레벨들은 전압 마진을 더 피하거나 줄이기 위해 제시된 실시예들에 따른 초기 최소, 학습된, 덧붙여진, 분석된, 백아웃된, 온도-기반한, 및/또한 나이-기반한 전압 레벨들일 수 있다. AVS 모듈은 전압 레벨 결정을 하기 위해 AVS 데이터베이스를 참조하는 소프트웨어-기반 모듈일 수 있다. AVS 모듈을 소프트웨어-기반 모듈로서 제공하는 것은 AVS 모듈 및/또는 AVS 데이터베이스를 구성하는데 유연성을 허용할 수 있다.
Description
본 출원은 2009년 3월 30일에 제출된 미국 임시 출원 번호 61/164,882 및 2009년 7월 2일 제출된 미국 임시 출원 번호 61/222,779의 우선권을 청구하고, 상기 임시 출원은 전체로서 참조로서 통합된다.
본 출원의 기술은 적응형 전압 스케일러들(AVSs) 및 주어진 동작 주파수에서 회로를 작동시키는 전압 레벨을 제어하기 위한 관련 시스템들에 관한 것이다.
예로서 중앙처리장치(Central Processing Unit, CPU)들 또는 디지털 신호처리(digital signal processor, DSP)와 같은 동기식 디지털 회로들은 회로내의 로직(logic)의 타이밍(timing)을 조정하기 위해 클럭(clock) 신호를 요구한다. 클럭 신호의 주파수는 로직의 스위칭(switching) 속도 또는 비율, 및 따라서 회로의 성능을 제어한다. 동작 주파수와 전압 레벨 사이에는 관계가 있다. 동작 주파수의 증가는 적절한 동작을 위해 회로를 작동시키기 위해 요구되는 최소 전압 레벨을 증가시킨다. 따라서, 동작 주파수의 증가는 일반적으로 더 많은 전력 소모를 야기한다. 전력 소모는 회로를 동작시키는 전압 레벨을 낮춤으로써 감소될 수 있다. 그러나, 전압 레벨의 감소는 회로를 대해 가능한 최대 동작 주파수를 감소시킨다. 전압 레벨은 회로의 적절한 동작을 위해 필요한 최소 임계 전압 레벨에 도달할 때까지 감소될 수 있다.
회로의 동작 주파수를 최대화시킴에 의해 회로의 성능을 최대화시키는 것이 일반적으로 바람직한 반면, 동작 주파수를 최대화시키는 것이 요구되거나 바람직하지 않을 때가 있을 수 있다. 이 예에서, 회로를 동작시키는 전압 레벨은 회로의 적절한 동작에 영향을 주지 않고 전력을 아끼기 위해 감소될 수 있다. 이 점에서, 동적 전압 스케일러(dynamic voltage scaler, DVS)가 사용될 수 있다. DVS는 회로에 대한 바람직한 동작 주파수를 결정할 수 있고, 바람직한 동작 주파수에서 회로에 대한 클록 시그널을 생성하도록 클록 생성기를 제어할 수 있다. DVS는 또한 회로에 대한 최소 전압 레벨을 결정하기 위해 결정된 동작 주파수를 사용할 수 있다. DVS는 바람직한 최소 전압 레벨을 생성하기 위해 전압 조절기를 제어할 수 있다. 이 방법에서, DVS는 적절한 회로 동작을 유지하면서 주어진 동작 주파수에서 전력을 아끼기 위해 최소 전압 레벨에 대해 전압을 조정할 수 있다.
다른 요소들이 주어진 동작 주파수에서 회로를 작동시키기 위해 요구되는 최소 전압 레벨을 올릴 수 있다. 예를 들어, 동기식 디지털 회로들을 제조하는데 사용되는 나노미터(nanometer) 통합 회로(integrated circuit, IC)의 기변성 및 그들의 구성요소들은 지연(delay) 변형을 일으킬 수 있다. 동작 온도 및 트랜지스터들의 노화 영향과 같은 환경적 상태들이 전파 지연에 영향을 줄 수 있다. 전압 저장품에 의해 제공되는 전압 레벨들은 전류 드로(draw)의 변형으로 인해 곧 낮아질 수 있고, 따라서, 곧 성능을 낮출 수 있다. 이 점에서, 실제로 최악의 경우 지연 시나리오들이 언제나 존재하지 않을 때, DVS는 적절한 회로 동작을 보증하기 위해 최악의 경우 지연 시나리오들에 따라 회로에 대한 최소 전압 레벨을 제어하도록 구성될 수 있다. 최악의 경우 지연 시나리오들이 존재하지 않을 때, 전압 레벨은 낮춰질 수 있고 회로는 적절하게 동작할 수 있다. 최악의 경우 최소 전압 레벨 및 특정 시간에 주어진 동작 주파수에 대해 회로를 작동하기 위해 요구되는 실제 최소 전압 레벨 사이의 차이는 전압 또는 파워 마진(margin)으로 알려져 있다. 전압 마진은 회로가 주어진 동작 주파수에서 적절하게 동작하기 위해 이상적으로 소비될 필요가 없는 소비된 파워를 나타낸다.
상세한 설명에서 제시된 실시예들은 적응형 전압 스케일러들(AVSs), AVS 시스템들, 및 관련된 회로들 및 방법들을 포함한다. AVS들 및 AVS 시스템들, 회로들, 및 방법들은 전압 마진을 피하거나 줄이기 위해 기능적인 회로(들)에 대한 타겟 동작 주파수 및 지연 변형 상태들에 기반하여 기능적인 회로(들)에 전력을 공급하는 전압 레벨을 적응적으로 조정하도록 구성된다. 전압 마진을 피하거나 줄이는 것은 기능적인 회로(들)의 적절한 동작을 유지하면서 전력을 아낄 수 있다. 지연 변형들은 각각의 AVS 및 기능적인 회로(들)에 특정한 하나 이상의 제조 변형들 및/또는 환경적 상태들의 변형들에 의해 야기된 동작적 변형들을 포함할 수 있다. 지연 변형 상태들은 동작 주파수와 기능적인 회로(들)의 적절한 동작을 위해 필요한 최소 전압 레벨을 이동할 수 있다. 기능적인 회로(들)은 예를 들어 동기식 디지털 회로(들)일 수 있다. AVS는 또한 기능적인 회로(들)에 대한 동작 주파수 및 전압 레벨을 설정하기 위해 추가적인 전압 스케일러로서 동적 전압 스케일러(DVS)에 포함될 수 있다.
일 실시예에서, AVS는 입력 신호를 수신하도록 구성된 적어도 하나의 지연 회로를 포함한다. AVS는 지연 출력 신호를 생산하기 위해 상기 입력 신호를 기능적인 회로의 적어도 하나의 지연(delay) 경로(path)에 관련된 지연 양만큼 지연한다. AVS 회로는 또한 AVS 데이터베이스에 연결된 AVS 회로를 포함한다. AVS 회로는 상기 지연 출력 신호에 반응한다. AVS 회로는 상기 기능적인 회로에 관한 동작 주파수와 관련된 상기 데이터베이스의 전압 레벨 및 상기 지연 출력 신호의 지연 정보에 기반하여 전압 레벨 설정 신호를 생성하도록 구성된다. AVS 데이터베이스는 전압 마진을 피하거나 줄이기 위해 기능적인 회로(들)의 다양한 동작 주파수들에 대한 전압 레벨들을 저장하도록 구성될 수 있다.
다른 실시예에서, AVS 데이터베이스는 기능적인 회로(들)의 주어진 동작 주파수들에 대해 AVS 에 의해 이전에 분석된 학습된 전압 레벨 설정들을 저장하도록 구성될 수 있다. 이 방법에서, AVS 회로는 기능적인 회로(들)에 대한 새로운 동작 주파수가 제공된 후 기능적인 회로(들)에서 새로운 동작 주파수가 안정되기를 기다릴 필요없이 빠른 전압 레벨 결정을 할 수 있다. AVS 데이터베이스는 학습된 전압 레벨들로 계속해서 업데이트되도록 구성될 수 있다. AVS 회로는 AVS 데이터베이스의 학습된 전압 레벨들을 업데이트할 수 있다. AVS 데이터베이스는 위반될 수 없는 모든 동작 주파수들에 대한 최소 전압 레벨 설정으로 구성될 수 있다. 이 예에서, 기능적인 회로(들)가 적절히 동작하기 위한 최소 전압 레벨 설정보다 낮은 학습된 결정된 전압 레벨이 전압 레벨을 설정하기 위해 사용되지 않을 것이다.
AVS 데이터베이스의 최소 전압 레벨 설정들은 동작의 무효한 영역에서 기능적인 회로(들)를 위태롭게 작동하는 것을 피하기 위해 허용오차 전압 마진을 지닌 전압 레벨을 제공하도록 구성될 수 있다. 그러나, 다른 실시예에서, AVS 회로는 허용오차 전압 마진을 더 피사거나 줄이기 위해 실행 시간 동작 동안 기능적인 회로(들)의 동작의 무효한 영역을 분석하도록 구성된다. 이 실시예에서, AVS는 입력 신호를 수신하고 지연 출력 신호를 생산하기 위해 상기 입력 신호를 기능적인 회로의 적어도 하나의 지연 경로와 관련된 양만큼 지연하도록 구성된 적어도 하나의 지연 회로를 포함할 수 있다. AVS는 또한 지연 출력 신호에 반응하는 AVS 회로를 포함한다. AVS 회로는 기능적인 회로에 대한 타겟 동작 주파수 및 지연 출력 신호의 지연 정보에 기반하여 전압 레벨 설정 신호를 생성하도록 구성될 수 있다. AVS 회로는 또한 기능적인 회로의 동작의 무효한 영역을 분석하기 위해 기능적인 회로에 대한 증가된 동작 주파수를 시뮬레이션하기 위해 적어도 하나의 지연 경로의 지연을 증가시키도록 구성될 수 있다. 동작의 무효한 영역으로의 이행의 포인트는 허용오차 전압 마진을 더 피하거나 줄이기 위해 현재 동작 주파수에 대해 수정된 전압 레벨 설정을 결정하기 위해 AVS 회로에 의해 사용될 수 있다.
다른 실시예에서, AVS 회로는 주어진 동작 주파수들에 대한 전압 레벨 설정들로 AVS 데이터베이스의 인구를 가속화하도록 구성될 수 있다. AVS 회로가 현재 동작 주파수에 대한 전압 레벨을 학습하면, AVS 회로는 AVS 데이터베이스에서 더 낮은 동작 주파수들에 대한 전압 레벨들을 참조한다. 더 낮은 동작 주파수들에 대해 저장된 전압 레벨들이 현재 동작 주파수에 대해 학습된 전압 레벨보다 더 크면, AVS 회로는 더 낮은 동작 주파수들에 대한 전압 레벨을 AVS 데이터베이스의 학습된 더 낮은 전압 레벨로 대체할 수 있다. 기능적인 회로(들)은 더 낮은 동작 주파수들에 대해 학습된 전압 레벨에서 적절히 동작할 수 있다고 알려져 있다. 이 방법에서, AVS 데이터베이스는 가능하면 더 낮은 전압 설정들로 더 빨리 덧붙여져서 전압 마진은 동작 중에 더 빨리 피해지거나 줄여진다.
다른 실시예에서, 온도 센서가 기능적인 회로(들)에 대한 현재 동작 온도 레벨을 제공하기 위해 AVS에 통합된다. 기능적인 회로(들)의 동작 온도는 기능적인 회로(들)의 주어진 동작 주파수에 대한 최소 전압 레벨 설정을 이동할 수 있다. AVS 회로는 동작 온도 레벨의 기능으로서 AVS 데이터베이스에 전압 레벨들을 저장하고 업데이트하기 위해 동작 온도 레벨을 사용한다. AVS 회로는 또한 온도 센서로부터 수신된 동작 온도 레벨을 사용하여 동작 중의 현재 동작 주파수 및 동작 온도 레벨에 대응하는 전압 레벨을 선택할 수 있다. 이 방법에서, 동작 온도에 기반한 주어진 동작 주파수에 대한 전압 레벨의 임의의 이동이 동작의 무효한 영역에서 기능적인 회로(들)을 작동하는 것을 피하면서 전압 마진을 줄이거나 피하기 위해 고려될 수 있다. AVS 회로는 AVS 데이터베이스에 동작 온도 레벨의 함수로서 전압 레벨들을 저장할 수 있다. 예를 들어, AVS 데이터베이스는 복수의 학습된 전압 레벨 설정 테이블들을 포함할 수 있고, 각각은 상이한 동작 온도 영역에 대응한다.
다른 실시예에서, AVS는 전압 레벨이 기능적인 회로(들)이 동작의 무효한 영역에서 동작하도록 야기한 때를 학습하도록 구성될 수 있다. 이 실시예에서, 입력 신호를 수신하고 지연 출력 신호를 생산하기 위해 기능적인 회로의 적어도 하나의 지연 경로와 관련된 양만큼 상기 입력 신호를 지연하도록 구성되는 적어도 하나의 지연 회로를 포함하는 AVS가 제공될 수 있다. AVS는 지연 출력 신호에 대응하고 지연 출력 신호의 지연 정보에 기반하여 전압 레벨 설정 신호를 생성하도록 구성되는 AVS 회로를 포함할 수 있다. AVS 회로는 전압 레벨이 기능적인 회로가 동작의 무효한 영역에서 동작하도록 야기하면 전압 레벨 설정 신호에 전압 마진을 추가하도록 더 구성될 수 있다. 이 방법에서, AVS 회로는 현재 동작 주파수에 대한 전압 레벨 설정을 증가시킴에 의해 AVS 데이터베이스의 현재 전압 레벨 설정을 "백아웃(back out)"하도록 구성될 수 있다.
다른 실시예에서, AVS는 NBTI(negative bias temperature instability)에 대해 전압 레벨들을 보상하도록 구성될 수 있다. 이 실시예에서, AVS는 입력 신호를 수신하고 지연 출력 신호를 생산하기 위해 기능적인 회로의 적어도 하나의 지연 경로와 관련된 양만큼 상기 입력 신호를 지연하는 적어도 하나의 지연 회로를 포함할 수 있다. AVS는 또한 지연 출력 신호에 대응하고 지연 출력 신호의 지연 정보 및 기능적인 회로의 노화 표시자에 기반한 전압 레벨 수정에 기반하여 전압 레벨 설정 신호를 생성하도록 구성된 AVS 회로를 포함할 수 있다. 이 방법에서, AVS는 시간에 걸쳐 동작 주파수들에 대한 최소 전압 레벨을 올림에 의해 VBTI에 대해 보상하도록 구성될 수 있다. AVS는 AVS 데이터베이스에서 시간에 걸쳐 최소 전압 레벨들을 올리도록 구성될 수 있다. AVS는 임의의 동작 주파수들에 대한 결정된 전압 레벨이 최소, 보상된 전압 레벨 아래이면 보상된 최소 전압 레벨 설정을 강요하도록 구성될 수 있다. 학습된 전압 레벨들은 AVS 데이터베이스에서 보상된 전압 레벨로 업데이트될 수 있다.
다른 실시예에서, 기능적인 회로에 대한 전압 레벨을 스케일링하는 방법이 제공된다. 방법은 적어도 하나의 지연 회로에서 입력 신호를 수신하는 단계를 포함한다. 방법은 지연 출력 신호를 생산하기 위해 상기 입력 신호를 기능적인 회로의 적어도 하나의 지연(delay) 경로(path)에 관련된 지연 양만큼 지연하는 단계 및 상기 기능적인 회로에 관한 타겟 동작 주파수와 관련된 상기 데이터베이스의 전압 레벨 및 상기 지연 출력 신호의 지연 정보에 기반하여 전압 레벨 설정 신호를 생성하는 단계를 포함한다.
다른 실시예에서, 그 안에 저장된 컴퓨터 실행 가능 명령들을 갖는 컴퓨터 판독 가능 매체가 제공된다. 명령들은 AVS 모듈이 기능적인 회로에 관한 타겟 동작 주파수와 관련된 데이터베이스의 전압 레벨 및 기능적인 회로의 적어도 하나의 지연 경로와 관련된 지연 양을 나타내는 지연 출력 신호의 지연 정보에 기반하여 전압 레벨 설정 신호를 생성하도록 야기하기 위해 제공된다.
도 1은 예시적인 적응형 전압 스케일러(AVS), AVS 시스템 및 기능적인 회로(들)의 도해도이고;
도 2는 AVS 데이터베이스에 저장된 예시적인 AVS 주파수/전압 레벨 테이블이고;
도 3은 기능적 회로(들)의 동작의 영역들을 묘사하는 예시적인 동작 주파수 대 전압 레벨 다이어그램이고;
도 4는 전압 마진을 피하거나 줄이기 위해 동작 주파수에 기반하여 기능적인 회로(들)의 전압 레벨을 설정하기 위한 학습된 전압 레벨들을 적응적으로 저장하고 사용하기 위해 AVS 데이터베이스를 사용하기 위한 예시적인 프로세스를 제공하는 순서도이고;
도 5는 도 1의 AVS의 제어 아래 클록 생성기에 의해 생성된 클록 신호의 예시적인 동작 주파수 타이밍 다이어그램이고;
도 6A는 도 1의 AVS의 제어 아래 전압 조절기에 의해 생성된 전압 신호의 예시적인 전압 레벨 타이밍 다이어그램이고;
도 6B는 새로운 동작 주파수가 안정되는 것을 기다릴 필요 없이 새로운 전압 레벨이 AVS에 의해 설정될 수 없는 경우 전압 신호의 예시적인 전압 레벨 타이밍 다이어그램이고;
도 7은 분석된 동작 주파수들에 대해 학습된 전압 레벨들을 저장하기 위해 AVS 데이터베이스에 포함될 수 있는 예시적인 AVS 학습된 값들 테이블이고;
도 8은 기능적인 회로(들)에 대한 동작의 상이한 영역들을 묘사하는 예시적인 동작 주파수 대 전압 레벨 다이어그램이고;
도 9는 주어진 동작 주파수에서 기능적인 회로(들)의 동작의 무효한 영역을 분석하고 이런 분석에 기반하여 교정된 전압 레벨을 저장하기 위한 예시적인 프로세스를 제공하는 순서도이고;
도 10은 기능적인 회로(들)의 동작의 영역들을 묘사하는 예시적인 동작 주파수 대 전압 레벨 다이어그램이고;
도 11은 AVS 데이터베이스에 저장된 예시적인 AVS 주파수/전압 레벨 테이블이고;
도 12는 AVS 데이터베이스에 저장된 예시적인 전압 레벨 차이 테이블이고;
도 13은 AVS 데이터베이스에서 주어진 동작 주파수들에 대한 전압 레벨들의 인구를 가속화하기 위한 예시적인 프로세스를 제공하는 순서도이고;
도 14는 AVS 데이터베이스의 전압 레벨들의 가속화된 인구의 예이고;
도 15는 상이한 동작 온도들에 대해 AVS 데이터베이스에 저장된 예시적인 AVS 동작 주파수/전압 레벨 테이블들이고;
도 16은 기능적인 회로(들)이 동작의 무효한 영역으로 진입할 때 전압 마진을 전압 레벨에 추가하기 위한 예시적인 프로세스를 제공하는 순서도이고;
도 17은 상이한 동작 주파수들에 대응하는 AVS 데이터베이스에 저장된 예시적인 최소 전압 레벨 제한 테이블이고;
도 18은 기능적인 회로(들)에 대한 동작의 상이한 영역들을 묘사하는 예시적인 동작 주파수 대 전압 다이어그램이고;
도 19는 NBTI(negative bias temperature instability) 효과에 기반하여 AVS 데이터베이스의 전압 레벨(들)에 전압 레벨 정정을 추가하기 위한 예시적인 프로세스를 제공하는 순서도이고;
도 20은 다른 예시적인 AVS 시스템의 도해도이고;
도 21은 예시적인 중앙처리장치(Central Processing Unit, CPU) 기능적인 회로 및 AVS를 사용하는 관련된 시스템의 블록 다이어그램이다.
도 2는 AVS 데이터베이스에 저장된 예시적인 AVS 주파수/전압 레벨 테이블이고;
도 3은 기능적 회로(들)의 동작의 영역들을 묘사하는 예시적인 동작 주파수 대 전압 레벨 다이어그램이고;
도 4는 전압 마진을 피하거나 줄이기 위해 동작 주파수에 기반하여 기능적인 회로(들)의 전압 레벨을 설정하기 위한 학습된 전압 레벨들을 적응적으로 저장하고 사용하기 위해 AVS 데이터베이스를 사용하기 위한 예시적인 프로세스를 제공하는 순서도이고;
도 5는 도 1의 AVS의 제어 아래 클록 생성기에 의해 생성된 클록 신호의 예시적인 동작 주파수 타이밍 다이어그램이고;
도 6A는 도 1의 AVS의 제어 아래 전압 조절기에 의해 생성된 전압 신호의 예시적인 전압 레벨 타이밍 다이어그램이고;
도 6B는 새로운 동작 주파수가 안정되는 것을 기다릴 필요 없이 새로운 전압 레벨이 AVS에 의해 설정될 수 없는 경우 전압 신호의 예시적인 전압 레벨 타이밍 다이어그램이고;
도 7은 분석된 동작 주파수들에 대해 학습된 전압 레벨들을 저장하기 위해 AVS 데이터베이스에 포함될 수 있는 예시적인 AVS 학습된 값들 테이블이고;
도 8은 기능적인 회로(들)에 대한 동작의 상이한 영역들을 묘사하는 예시적인 동작 주파수 대 전압 레벨 다이어그램이고;
도 9는 주어진 동작 주파수에서 기능적인 회로(들)의 동작의 무효한 영역을 분석하고 이런 분석에 기반하여 교정된 전압 레벨을 저장하기 위한 예시적인 프로세스를 제공하는 순서도이고;
도 10은 기능적인 회로(들)의 동작의 영역들을 묘사하는 예시적인 동작 주파수 대 전압 레벨 다이어그램이고;
도 11은 AVS 데이터베이스에 저장된 예시적인 AVS 주파수/전압 레벨 테이블이고;
도 12는 AVS 데이터베이스에 저장된 예시적인 전압 레벨 차이 테이블이고;
도 13은 AVS 데이터베이스에서 주어진 동작 주파수들에 대한 전압 레벨들의 인구를 가속화하기 위한 예시적인 프로세스를 제공하는 순서도이고;
도 14는 AVS 데이터베이스의 전압 레벨들의 가속화된 인구의 예이고;
도 15는 상이한 동작 온도들에 대해 AVS 데이터베이스에 저장된 예시적인 AVS 동작 주파수/전압 레벨 테이블들이고;
도 16은 기능적인 회로(들)이 동작의 무효한 영역으로 진입할 때 전압 마진을 전압 레벨에 추가하기 위한 예시적인 프로세스를 제공하는 순서도이고;
도 17은 상이한 동작 주파수들에 대응하는 AVS 데이터베이스에 저장된 예시적인 최소 전압 레벨 제한 테이블이고;
도 18은 기능적인 회로(들)에 대한 동작의 상이한 영역들을 묘사하는 예시적인 동작 주파수 대 전압 다이어그램이고;
도 19는 NBTI(negative bias temperature instability) 효과에 기반하여 AVS 데이터베이스의 전압 레벨(들)에 전압 레벨 정정을 추가하기 위한 예시적인 프로세스를 제공하는 순서도이고;
도 20은 다른 예시적인 AVS 시스템의 도해도이고;
도 21은 예시적인 중앙처리장치(Central Processing Unit, CPU) 기능적인 회로 및 AVS를 사용하는 관련된 시스템의 블록 다이어그램이다.
이제 도면들을 참조하여 본 발명의 몇몇 예시적인 실시예들이 제시된다. 용어 "예시적인"은 여기서 "예, 예시 또는 실례로서 제공되는"을 의미하기 위해 사용된다. 여기서 "예시적인"으로 설명되는 임의의 실시예는 다른 실시예들보다 선호되거나 유리한 것으로 해석될 필요는 없다.
상세한 설명에서 제시된 실시예들은 적응형 전압 스케일러(AVS), AVS 시스템들, 및 관련된 회로들 및 방법들을 포함한다. AVS들 및 AVS 시스템들, 회로들 및 방법들은 전압 마진(margin)을 피하거나 줄이기 위해 타겟(target) 또는 바람직한 동작 주파수 및 기능적인 회로(들)에 대한 지연 변형 상태들에 기반하여 기능적인 회로(들)을 작동시키는 전압 레벨을 적응적으로 조절하도록 구성된다. 전압 마진을 피하거나 줄이는 것은 적절한 기능적인 회로(들) 동작을 유지하면서 전력을 아낄 수 있다. 지연 변형들은 각각의 AVS 및 기능적인 회로(들)에 특정한 하나 이상의 제조 변형들 및/또는 환경적인 상태들의 변형들로 인해 발생되는 동작적 변형들을 포함할 수 있다. 지연 변형 상태들은 동작 주파수와 기능적인 회로(들)의 적절한 동작을 위해 필요한 최소 전압 레벨 사이의 관계를 바꿀 수 있다. 기능적인 회로(들)은 예로서 동기식 디지털 회로(들)일 수 있다. AVS는 또한 동작 주파수 및 기능적인 회로(들)에 대한 전압 레벨을 설정하기 위해 동적 전압 스케일러(dynamic voltage scaler, DVS)에 대한 추가적인 전압 스케일러로서 포함될 수 있다.
이 점에서, 예시적인 적응형 전압 스케일러(AVS) 시스템(10)이 도 1에 개략적으로 묘사된다. AVS 시스템(10)은 기능적인 회로(들)(15)의 로직(logic) 의 스위칭 속도 또는 비율을 제어하기 위해 클록 생성기(14)에 의해 생성된 클록 신호(12)의 동작 주파수를 결정하고 설정하도록 구성된 AVS(12)를 포함한다. 기능적인 회로(들)(15)는 예로서 동기식 디지털 회로일 수 있다. AVS(11)는 클록 신호(12)의 동작 주파수를 제어하기 위해 클록 생성기(14)로의 입력으로서 동작 주파수 설정 신호(16)를 생성한다. 클록 생성기(14)는 종래의 클록 신호, 결합 없는 클록 신호, 또는 임의의 다른 타입의 바람직한 클록 신호를 제공할 수 있다.
AVS(11)는 또한 기능적인 회로(들)(15)을 작동시키기 위해 기능적인 회로(들)(15)로 제공되는 전압 신호(18)의 전압 레벨을 제어한다. AVS(11)는 전압 신호(18)의 전압 레벨을 제어하기 위해 전압 조절기(22)로의 입력으로서 전압 레벨 설정 신호(20)를 생성한다. 전압 레벨은 AVS(11)에 의해 결정된 동작 주파수 및 지연 변형 상태들에 기반하여 결정된다. 기능적인 회로(들)(15) 및 적절한 동작을 위해 기능적인 회로(들)(15)를 작동하기 위한 최소 전압 레벨 사이의 관계가 있다. 동작 주파수의 증가는 적절한 동작을 위한 기능적인 회로(들)(15)를 작동시키기 위한 최소 전압 레벨을 증가시킨다. 동작 주파수의 감소는 최소한 기능적인 회로(들)(15)를 작동시키기 위해 필요한 최소 임계치 전압에 도달할 때까지, 적절한 동작을 위한 기능적인 회로(들)(15)를 작동시키기 위한 최소 전압 레벨을 감소시킨다.
도 1을 계속해서 참조하여, AVS(11)는 동작 주파수 및 기능적인 회로(들)(15)에 대한 전압 레벨을 튜닝 루프(tuning loop)(24)에서 주기적이거나 비주기적으로 시간에 걸쳐 반복적으로 적응적으로 결정한다. 동작 주파수 설정 신호(16)는 성능 능력을 초과하지 않는 동안 기능적 회로(들)(15)의 성능 마진을 피하거나 줄이도록 적응적으로 제어된다. 전압 레벨 설정 신호(20)는 또한 타겟 동작 주파수를 유지하는 동안 기능적인 회로(들)(15)에 대한 전력을 아끼기 위해 전압 마진을 피하거나 줄이도록 적응적으로 제어된다. 전압 신호(18)는 AVS(11) 내의 AVS 모듈(28)에 의해 생성된 전압 레벨 설정 신호(20)에 따라 전압 조절기(22)에 의해 생성된다. AVS 모듈(28)은 회로이다. AVS(11)는 워크로드(workload) 추정치(27)에 응답하여 동작 주파수 설정 신호(16) 및 전압 레벨 설정 신호(20)를 생성한다.
하나 이상의 지연 회로들(25)은 기능적 회로(들)(15)에서 제공되는 지연 변형 상태들에 기반하여 지연을 생산하기 위해 AVS(11)내에서 제공된다. 기능적 회로(들)(15) 내의 델레이들은 제조 프로세스 및/또는 동작 상태들의 변형들로 인해 변할 수 있다. 지연 회로(25)는 튜닝 루프(24)의 일부로서 클록 생성기(14)에 의해 생성된 클록 신호(12)를 입력 신호로서 수신하는 지연 라인 클록 로직(26)을 포함한다. 지연 라인 클록 로직(26)은 지연 라인들(30)로의 클록 신호(12)의 지연을 표현하는 출력 신호(29) 및 클록 기간 지연(34)로의 클록 신호(12)의 지연을 표현하는 출력 신호(32)를 생성한다. 지연 라인들(30)은 기능적인 회로(들)(15) 내의 하나 이상의 선택된 지연 경로(path)들에 대응하도록 구성된 복수의 지연 경로들(도시되지 않음)을 갖는다. 선택된 지연 경로들은 동작 중에 지연 변형 상태들에 기반하여 기능적인 회로(들)(15) 내의 선택된 지연 경로들과 동일하거나 유사한 방법으로 시뮬레이션(simulation)하고 조절하도록 구성된 관련된 지연들을 갖는다. 예를 들어, 지연 경로는 게이트-주도형, 와이어-주도형, 및/또는 확산 능력-주도형 지연 경로들일 수 있고, 지연 경로들 중 하나는 기능적인 회로(들)(15)의 현재 동작 상태들에 따라 더 큰 지연을 생산할 수 있다. 선택된 지연 경로들은 또한 기능적인 회로(들)(15) 내의 하나 이상의 대단히 중요한 경로들에 대응할 수 있다. 지연 라인들(30)은 그 안의 선택된 지연 경로들이 AVS(11)에 연결된 특정 기능적인 회로(들)(15)에 맞춰지는 것을 허용하도록 프로그램 작동이 가능할 수 있다.
지연 회로(25) 내의 지연 라인들(30)은 이 실시예에서 비교 측정기(38)로의 입력인 지연 라인 출력들(36)을 생성한다. 비교 측정기(38)는 예를 들어, 비교 플립플롭(flip-flop)들 일 수 있다. 비교 측정기(38)는 클록 기간 지연 신호(40)를 수신하면 클록 기간 지연(34)로부터 지연 출력 신호(42)를 생성한다. 지연 출력 신호(42)는 AVS 모듈(28)로의 입력으로서 지연 회로(25)로부터 수신된다. 지연 출력 신호(42)는 지연 라인들(30)의 가장 긴 지연 경로의 선택, 따라서 기능적 회로(들) 내의 지연 또는 타이밍 마진을 나타낸다. AVS 모듈(28)은 타이밍 마진 정보를 사용하여 전압 마진을 피하거나 줄이면서 적절한 기능적인 회로(들)(15)를 유지하기 위한 다음 동작 주파수를 추정한다. AVS 모듈(28)은 기능적인 회로(들)(15)의 다음 동작 주파수를 선택한다. 특히, AVS 모듈(28)은 동작 주파수 설정 신호(16)를 생성하여 클록 생성기(14)가 다음 동작 주파수에 따라 클록 신호(12)를 변경하도록 제어한다. 이 실시예에서, AVS 모듈(28)은 소프트웨어-제어되는 프로세스 또는 제어기이다. 그러나, AVS 모듈(28)은 또한 프로세서 또는 소프트웨어 없이 이산 로직에 의해 제공되거나 회로에서 실행하는 소프트웨어에 의해 부분적으로 제어될 수 있다.
AVS 모듈(28)은 다음에 새로운 동작 주파수 요구에 기반하여 기능적인 회로(들)을 작동하기 위해 새로운 전압 레벨을 결정한다. 새로운 전압 레벨은 전압 마진을 피하거나 줄이면서 적절하게 기능적인 회로(들)(15)를 동작하기 위한 동작 주파수에 대한 안전한 최소 전압 레벨이다. AVS 모듈(28)은 기능적인 회로(들)(15) 내에서 동작 주파수와 전압 레벨 사이의 관계를 이동할 수 있는 지연 변형 상태들에 기반하여 전압 레벨을 조정할 수 있다. 새로운 동작 주파수에 대한 새로운 전압 레젤을 결정하는 AVS 모듈(28)의 예를 묘사하는 다양한 실시예들이 여기서 제시된다. AVS 모듈(28)이 새로운 동작 주파수에 대한 새로운 전압 레벨을 결정하면, AVS 모듈(28)은 새로운 전압 레벨을 적용한다. AVS 모듈(28)은 전압 조절기(22)에게 새로운 전압 레벨을 제공하기 위해 전압 레벨 설정 신호(20)를 생성한다. 전압 조절기(22)는 기능적인 회로(들)(15)를 작동하기 위해 새로운 전압 레벨에서 전압 신호(18)를 생성한다. 클록 신호(12) 및 전압 신호(18)는 또한 기능적인 회로(들)(15)의 동작 주파수 및 지연 변형 상태들에 기반하여 기능적인 회로(들)(15)의 전압 레벨의 적응형 제어를 제공하기 위해 튜닝 루프(24)의 다음 반복(iteration) 동안 AVS(11)로의 입력들이다.
AVS 모듈(28)은 다음 동작 주파수에 대한 전압 레벨을 더 조절하기 위해 선택적으로 AVS(11)에 포함된 온도 센서(48)로부터 수신된 동작 온도 레벨 신호(46)를 추가적으로 사용할 수 있다. 온도 레벨은 주어진 동작 주파수에서 적절한 기능적인 회로(들)(15) 동작을 유지하기 위한 최소 전압 레벨을 이동할 수 있다. 다음 전압 레벨 설정을 결정하기 위해 AVS(11)에 의한 동작 온도 레벨의 사용에 관한 더 많은 정보가 이 출원에서 추후에 설명될 것이다.
위에서 논의된 바와 같이, AVS 모듈(28)은 주어진 새로운, 결정된 동작 주파수에 대해 기능적인 회로(들)(15)를 작동시키기 위한 새로운 전압 레벨을 결정한다. 새로운 전압을 결정하는 AVS 모듈(28)의 일례가 도 2에서 AVS 주파수/전압 레벨 테이블에 제공된다. AVS 주파수/전압 레벨 테이블(50)은 AVS 데이터베이스(44)에 저장될 수 있고, 새로운 전압 레벨을 결정하기 위해 AVS 모듈(28)에 의해 액세스될 수 있다. AVS( 모듈(28)은 또한 여기서 설명될 바와 같이 AVS 주파수/전압 레벨 테이블(50)의 학습된 전압 레벨들을 업데이트할 수 있다. AVS 모듈(28)은 소프트웨어-제어된 모듈 또는 다음 전압 레벨을 결정하기 위해 AVS 주파수/전압 레벨 테이블(50) 내의 전압 레벨들에 액세스하기 위해 소프트웨어 명령들을 실행하는 프로세서일 수 있다. 대안적으로, AVS 모듈(28)은 부분적으로 AVS 모듈(28)에 의해 실행되는 소프트웨어에 의해 실행될 수 있다. AVS 모듈(28)은 또한 다음 동작 주파수 및 전압 레벨을 결정하기 위해 소프트웨어 명령들을 실행할 수 있다. 소프트웨어-기반 모듈로서 AVS 모듈(28)을 제공하는 것은 AVS(11) 및 기능적인 회로(들)(15)이 디자인 및/또는 제조된 후, 동작 주파수 및 전압 레벨들뿐만 아니라 AVS 데이터베이스(44)에 저장된 정보에 대한 그 안에 포함된 파라미터들 및 알고리즘들이 쉽게 구성되거나 재구성되는 것을 허용한다. 그러나, AVS 모듈(28)은 또한 소프트웨어-기반 모듈들 또는 기기들의 사용 없이 전기적 회로들에 제공될 수 있다.
도 2의 AVS 주파수/전압 레벨 테이블(50)은 적절한 기능적인 회로(들)(15) 동작을 유지하면서 전압 마진을 피하거나 줄이기 위한 다양한 주어진 동작 주파수들에 대해 기능적인 회로(들)(15)에 대한 안전하고 미리 선택된 최소 전압 레벨을 나타낸다. 따라서, AVS 주파수/전압 레벨 테이블(50)은 기능적인 회로(들)(15)에 대해 특정하다. 이 실시예의 AVS 주파수/전압 레벨 테이블(50)은 유한한 수의 동작 주파수와 전압 레벨 쌍(52)을 포함한다. 예를 들어, 도 2에 도시된 바와 같이, 1.0 기가헤르츠(GHz) 동작 주파수에 대해 AVS 주파수/전압 레벨 테이블(50)에 저장된 최소 전압 레벨은 1.32 볼트(V)이다. 동작 주파수가 낮아짐에 따라 최소 전압 레벨이 낮아진다. AVS 주파수/전압 레벨 테이블(50)은 유한한 수의 AVS 데이터베이스(44)의 바람직한 동작 주파수 및 전압 레벨 쌍을 포함하도록 디자인될 수 있다. 이 실시예에서 AVS 주파수/전압 레벨 테이블(50)에 포함되지 않은 동작 주파수 포인트들에 대한 전압 레벨들이 AVS 모듈(28)에 의해 삽입될 수 있다. 선형성을 가정하는 것이 바람직하지 않으면, AVS 모듈(28)은 AVS 주파수/전압 레벨 테이블(50)에 포함된 다음 가장 높은 동작 주파수의 전압 레벨에 대해 AVS 주파수/전압 레벨 테이블(50)에 포함되지 않은 동작 주파수에 대한 전압 레벨을 설정할 수 있다.
AVS(11)의 리셋(reset)에서, 튜닝 루프(24)는 AVS 모듈(28)이 적응적으로 전압 레벨을 결정하는 것을 허용하는 것을 아직 반복하지 않는다. 따라서, 이 실시예에서, AVS 주파수/전압 레벨 테이블(50)은 적응형 전압 레벨들이 학습될 때까지, 그 안에 포함된 각각의 동작 주파수 포인트에 대한 알려지고 안전한 전압 레벨들로 초기화될 수 있다. 대안적으로, AVS 주파수/전압 레벨 테이블(50)은 초기화되지 않으면서 그 안에 포함된 모든 동작 주파수 포인트들을 처음에 등록할 수 있다. AVS 모듈(28)은 각각의 새로운 동작 주파수가 AVS 모듈(28)에 의해 분석되고 새로운 전압 레벨이 새로운 동작 주파수에 대해 결정될 때 AVS 주파수/전압 레벨 테이블(50)에 전압 레벨들을 덧붙일 수 있다.
도 2의 AVS 주파수/전압 레벨 테이블(50)은 유한한 수의 동작 주파수 및 전압 레벨 쌍들(52)을 포함하지만, 이 표현은 간단히 기능적인 회로(들)(15)의 동작 주파수 때 전압 레벨 특유의 커브(curve)를 따른 포인트들의 디지털 저장의 함수이다. 도 3에서, 기능적인 회로(들)(15)에 대한 예시적인 동작 주파수, 전압 레벨 특유의 커브(54)(여기서 "특유의 커브(54)"라고도 불림)의 예가 그 안에 제공되는 동작 주파수 대 전압 레벨 다이어그램(55)에 도시된다. 특유의 커브(54)가능한 동작 주파수들의 영역에 걸쳐 주어진 동작 주파수에 대한 기능적인 회로(들)(15)에 의해 요구되는 최소 전압 레벨을 나타낸다. 특유의 커브(54) 아래의 임의의 동작 주파수, 전압 레벨 포인트는 기능적인 회로(들)(15)에 대한 동작(56)의 무효한 영역 내에 존재한다. 특유의 커브(54)에 또는 특유의 커브(54) 위의 임의의 동작 주파수, 전압 레벨 포인트는 기능적인 회로(들)(15)에 대한 동작(58)의 유효한 영역 내에 있다. 특유의 커브(54)는 또한 동작 주파수와 무관하게 기능적인 회로(들)(15)을 적절히 작동하기 위한 최소 동작 전압을 묘사하고, 이것은 도 3의 예에서 0.85 V이다.
AVS 주파수/전압 레벨 테이블(50)에 대한 대안으로, 동작 주파수와 전압 레벨 쌍들(52)이 AVS 데이터베이스(44) 또는 특유의 커브(54)를 계산하는 AVS 모듈(28)에서 제공되는 다항식에 의해 결정될 수 있다. 특유의 커브(54)는 또한 복수의 다항식들에 의해 표현될 수 있고, 각각은 특유의 커브(54) 내의 동작 주파수들의 서브 영역을 표현하고, 그것은 더 낮은 차수의 다항식들이 특유의 커브(54)를 표현하기 위해 사용되도록 할 수 있다.
비록 동작 주파수, 전압 레벨 특유의 커브(54)는 이 예에서 기능적인 회로(들)의 동작 주파수들에 대한 이상적인 최소 전압 레벨들을 표현하지만, 지연 변형 상태들이 이상적인 상태들로부터 특유의 커브(54)를 이동시킬 수 있다. 지연 변형 상태들은 기능적인 회로의 주어진 지연 경로에서 지연을 변화시킬 수 있다. 예를 들어, 지연 변형 상태들은 IC들의 제조중에 발생하는 개별적인 통합된 회로(IC)들에 걸친 프로세스 변형들을 포함할 수 있다. 동작 온도 및 트랜지스터들의 노화 영향과 같은 환경적인 상태들은 또한 기능적인 회로(들)(15)의 전파 지연에 영향을 줄 수 있다. 전압 저장품에 의해 제공되는 전압 레벨들은 전류 드로(draw)의 변형들로 인해 곧 낮아질 수 있고, 따라서, 곧 기능적인 회로(들)(15)의 성능을 낮춘다. 따라서, AVS(11)는 적절한 기능적인 회로(들)(15) 동작을 유지하면서 전압 마진의 회피 도는 축소를 더 적응적으로 최적화하기 위해 추가적인 이득들 및 성능을 제공하기 위해 다른 실시예에 따른 많은 수의 추가적인 특성들 및 기기들을 포함할 수 있다. 이 추가적인 특성들 및 기기 실시예들이 이제 설명될 것이다.
일 실시예에서, AVS 데이터베이스(44)는 주어진 동작 주파수 도는 주파수들에 대해 AVS(11)에 의해 이미 분석된 학습되고 최적의 전압 레벨 설정들을 저장하기 위해 사용될 수 있다. 이 방법에서, AVS 모듈(28)은 기능적인 회로(들)(15)로 새로운 동작 주파수가 설정되는 것을 기다릴 필요없이 이전에 분석된 새로운 동작 주파수들에 대한 특정한, 최적의 전압 설정을 돌려주기 위해 전압 레벨 설정 신호(20)를 생성할 수 있다. AVS 모듈(28)에 의한 새로운 동작 주파수의 설정의 시간과 새로운 동작 주파수의 설정 사이에 존재하는 임의의 추가적인 전압 마진이 피해지거나 축소될 수 있어서, 기능적인 회로(들)(15)에 의한 총 전압 소비를 더 아낄 수 있다.
이 점에서, 도 4는 적응적으로 기능적인 회로(들)(15)에 대한 동작 주파수 및 전압 레벨을 AVS 데이터베이스(44)에 저장된 저장되고 학습된 전압 레벨 설전들에 기반하여 결정하고 설정하기 위해 AVS(11)의 AVS 모듈(28)에 의해 수행될 수 있는 예시적인 프로세스의 순서도를 제공한다. 도 4의 순서도는 이 실시예에서 튜닝 루프(24)의 부분으로서 AVS ahdbeF(28)에 의해 실행된다. 프로세스는 기능적인 회로(들)(15)에 대한 새로운 동작 주파수 요구를 수신하는(블록 60) AVS 모듈(28)에 의해 시작한다(블록 59). AVS 모듈(28)은 도 1에 도시된 바와 같이 워크로드 추정치(27)로서 새로운 동작 주파수 요청을 수신한다. 이 실시예에서, AVS 모듈(28)은 아래에서 더 자세하게 설명될 바와 같이, 현재의 동작 전합에 대한 전압 레벨을 결정하고 그에 따라 AVS 데이터베이스(44)를 업데이트한다. 대안적으로, AVS 모둘(28)은 기능적인 회로(들)(15)에 대한 새로운 동작 주파수 및 전압 레벨이 설정된 후 실행하고 AVS 데이터베이스(44)를 업데이트하도록 구성될 수 있다. 다른 특징들 및 기능들이 아래에서 더 자세히 설명될 바와 같이 AVS 모듈(28)에 의해 실행될 수 있다. 그리고, AVS 모듈(28)은 새로운 동작 주파수가 현재 동작 주파수보다 큰지 여부를 결정한다(블록 62). 새로운 동작 주파수가 현재 주파수보다 크지 않으면, AVS 모듈(28)은 기능적인 회로(들)(15)에 대한 전압 레벨이 조정되어야 하는지 여부에 대해 결정할 필요없이 새로운 동작 주파수에 대한 동작 주파수 설정 신호(16)를 설정하는 것을 곧 진척할 수 있다. 기능적인 회로(들)(15)은 현재 전압 레벨 설정에 대해 더 낮은 동작 주파수에서 적절하게 동작할 수 있다고 알려져 있다. 그러나, 가능하면 전압 마진을 피하거나 줄이기 위해 현재 전압 레벨을 줄이는 것이 더 바람직하다. 이 점에서, AVS 모듈(28)은 기능적인 회로(들)(15)에 대한 새로운 전압 레벨을 결정하기 위해 기능적인 회로(들)(15) 내에서 새로운 동작 주파수가 안정되기를 기다린다(블록 64). 이것은 몇몇 클록 사이클들 및 튜닝 루프(24)의 반복들이 걸린다.
새로운 동작 주파수가 안정되면, AVS 모듈(28)은 새로운 동작 주파수가 이전에 AVS 데이터베이스(44)의 AVS 모듈(28)에 의해 분석되었는지 여부를 결정한다(블록 65). 그렇지 않으면, AVS 모듈(28)은 새로운 동작 주파수에 대해서 알려진 안전한 전압 레벨에 대해 전압 레벨을 프로그램한다(블록 66). 안전한 전압 레벨은 DVS 설정에 기반할 수 있다. 새로운 동작 주파수가 AVS 데이터베이스(44)에서 AVS 모듈(28)에 의해 이전에 분석되었으면(블록 65), AVS 모듈(28)은 AVS 데이터베이스(44) 내에 저장된 학습된 전압 레벨에 기반하여 기능적인 회로(들)(15)에 대해 새로운 전압 레벨에 대한 전압 레벨 설정 신호(20)를 설정한다. 아래에서 더 자세히 논의되는 바와 같이, AVS 모듈(28)은 기능적인 회로(들)(15)의 변형 및 동작 상태들에 기반하여 전압 마진을 피하거나 줄이기 위해 AVS 데이터베이스(44)의 분석된 동작 주파수들에 대응하는 학습된 전압 레벨들을 저장하도록 구성된다. 학습된 전압레벨은 일반적으로 안전한 전압 레벨보다 낮을 것이고 따라서 기능적인 회로(들)(15)에 의한 에너지 소비를 줄일 것이다. 따라서, 전압 레벨은 그것이 학습된 전압 레벨들을 저장하기 위해 AVS 데이터베이스(44)의 사용에 의한 것보다 기능적인 회로(들)(15)에서 더 바르게 낮아질 수 있다. 이것은 도 5 및 6에 예로서 도시되고, 아래에서 설명된다.
도 5는 도 1의 AVS(11)의 제어 아래 클록 생성기(14)에 의해 생성된 클록 신호(12)의 예시적인 동작 주파수 타이밍 다이어그램(80)을 도시한다. 도 6A는 도 1의 AVS(11)의 제어 아래에서 전압 조절기(22)에 의해 생성된 전압 신호(18)의 대응하는 예시적인 전압 레벨 타이밍 다이어그램(82)을 도시한다. 도 5에 도시된 바와 같이, 클록 신호(12)는 시각 t3부터 시각 t4까지 동작 주파수 f3에 있다. 시각 t4에서, AVS 모듈(28)은 클록 생성기(14)에 대한 새로운 동작 주파수를 f1으로 설정했다(예를 들어, 도 4, 블록 63을 보라). 클록 신호(12)의 동작 주파수는 시각 t4와 t5 사이에 f3으로부터 f1으로 떨어지기 시작한다. AVS 모듈(28)이 기능적인 회로(들)(15)에서 새로운 동작 주파수가 안정되었다고 결정하면(예를 들어, 도 4, 블록 64를 보라), AVS 모듈(28)은 AVS 데이터베이스(44)를 찾아본다. AVS 모듈(28)은 새로운 동작 주파수 f1에 대한 전압 레벨이 이전에 분석되고 학습되었는지 여부를 결정하기 위해 AVS 데이터 베이스(44)를 찾아본다(예를 들어, 도 4, 블록 65를 보라). 이 예에서, AVS 데이터베이스(44)는 새로운 동작 주파수 f1에 대해 이전에 분석되고 학습된 전압 레벨을 포함한다(예를 들어, 도 4, 블록 67을 보라). 따라서, 도 6A의 전압 레벨 타이밍 다이어그램(82)에 도시된 바와 같이, AVS 모듈(28)은 새로운 동작 주파수가 안정되기를 기다릴 필요없이 하나의 클록 사이클에서 새로운 및 이전에 학습된 전압 레벨로 전압 레벨 설정 신호(20)를 설정할 수 있다. 그렇지 않으면, AVS 모듈(28)은 도 6B의 전압 레벨 타이밍 다이어그램(83)에 도시된 바와 같이 하나의 클록 사이클 내에 새로운 전압 레벨에 대한 전압 레벨 설정 신호(20)를 설정할 수 없을 것이다. AVS 모듈(28)은 새로운 동작 주파수 요청을 수신할 때마다 프로세스는 루핑(looping) 방식으로 도 4의 단계들을 반복하기 시작(블록 59)하는 것으로 돌아감에 의해 계속된다.
새로운 동작 주파수가 현재 동작 주파수보다 크면(블록 62), 도 6A의 전압 레벨 타이밍 다이어그램(82)의 시각 t1에서 예에 의해 도시된 바와 같이, AVS 모듈(28)은 새로운 동작 주파수에 대한 동작 주파수 설정 신호(16)를 즉시 설정하지 않는다. 이것은 도 5의 동작 주파수 타이밍 다이어그램(80)의 시간 t1에서 예로서 도시된다. 이것은 AVS 모듈(28)이 새로운 동작 주파수를 설정하기 전에 먼저 기능적인 회로(들)(15)가 적절히 동작하는 것을 보증하는 새로운 전압 레벨을 결정하기 때문이다. 이 점에서, AVS 모듈(28)은 새로운 동작 주파수가 이전에 AVS 데이터베이스(44)의 AVS 모듈(28)에 의해 분석되었는지 여부를 결정한다(블록 70). 그렇지 않으면, AVS 모듈(28)은 새로운 동작 주파수에 대해서 전압 레벨을 알려진 안전한 전압 레벨로 프로그램한다(블록 71). 안전한 전압 레벨은 DVS 설정에 기반할 수 있다. 새로운 동작 주파수가 AVS 데이터베이스(44)의 AVS 모듈(28)에 의해 이전에 분석되었으면(블록 70), AVS 모듈(28)은 AVS 데이터베이스(44)에 저장된 학습된 전압 레벨에 기반하여 기능적인 회로(들)(15)에 대해 새로운 전압 레벨에 대한 전압 레벨 설정 신호(20)를 설정한다(블록 72). 다시, AVS 모듈(28)은 기능적인 회로(들)(15)의 변형 및 동작 상태들에 기반하여 전압 마진을 피하거나 줄이기 위해 더 빠르게 전압 레벨을 낮추기 위해 AVS 데이터베이스(44)의 분석된 동작 주파수들에 대응하는 학습된 전압 레벨들을 저장하도록 구성된다. 학습된 전압 레벨은 일반적으로 안전한 전압 레벨보다 낮고 따라서 기능적인 회로(들)(15)의 에너지 소비를 줄인다. 그 후에, AVS 모듈(28)은 기능적인 회로(들)(15)에서 새로운 전압 레벨이 안정되기를 기다린다(블록 73)(예를 들어, t1-t2). 새로운 동작 주파수가 설정되기 전에 AVS 모듈(28)이 새로운 전압 레벨이 안정되기를 기다리는 동안 추가적인 주파수 마진이 존재할 수 있다. 새로운 전압 레벨이 안정된 후, AVS 모듈(28)은 안전하게 기능적인 회로(들)(15)에 대한 새로운 동작 주파수를 더 높은 동작 주파수로 조절할 수 있다(블록 74)(예를 들어, t1-t3). 프로세스는 AVS 모듈(28)이 새로운 동작 주파수 요청을 수신할 때마다 루핑 방식으로 도 4의 단계들을 반복하는 것을 시작하는 것(블록 59)으로 돌아감에 의해 계속된다.
도 7은 이전에 분석된 동작 주파수들에 대한 AVS(11) 학습 전압 레벨들의 부분으로서 AVS 데이터베이스(44)에 저장되고 유지될 수 있는 AVS 학습된 값들 테이블(90)의 예를 보여준다. AVS(11)의 AVS 모듈(28)은 위에서 논의된 바와 같이 특정 동작 주파수에 대해 전압 레벨이 이전에 분석되고 학습되었는지 여부를 결정하기 위해 AVS 학습된 값들 테이블(90)을 참조할 수 있다(예를 들어, 도 4, 블록들 65 및 70을 보라). AVS 모듈(28)은 AVS 데이터베이스(44)의 프로세스를 업데이트하는 것의 일부로서 AVS 학습된 값들 테이블(90)을 업데이트할 수 있다(예를 들어, 도 4, 블록 69). 이 실시예에서, 도 7에 도시된 바와 같이, AVS 학습된 값들 테이블(90)은 도 2의 AVS 주파수/전압 레벨 테이블과 유사하다. 그러나, AVS 학습된 값들 테이블(90)은 동작 주파수 열(96)의 대응하는 동작 주파수에 대해 전압 레벨 열(94)에 저장된 대응하는 정압 레벨이 이전에 분석되고 학습되었는지 여부를 표시하는 학습된 열(92)을 포함한다. 예를 들어, 학습된 열(92)은 전압 레벨 열(94)에 저장된 값이 유효한 이전에 분석되고 학습된 전압 레벨인지 초기 또는 무효한 데이터를 포함하는지 여부의 표시자를 저장하도록 구성될 수 있다. 예를 들어, 표시자는 도 7에 도시된 바와 같이 유효 비트(98)일 수 있다. 논리적 "1"은 유효한 값을 나타낼 수 있고, 논리적 "0"은 반대로 무효한 값을 나타낼 수 있다. 도 7에 도시된 바와 같이, 400 MHz를 제외한 각각의 동작 주파수들은 이전에 학습된 전압 레벨들을 포함한다.
AVS 모듈(28)은 학습된 전압 레벨 설정들로 AVS 데이터베이스(44)의 AVS 학습된 값들 테이블(90)을 업데이트하는 것을 계속할 수 있다. 이전에 논의된 바와 같이, AVS 모듈(28)은 위반될 수 없는 기능적인 회로(들)(15)의 모든 동작 주파수들에 대한 최소 전압 레벨 설정으로 구성될 수 있다. 이 예에서, AVS 모듈(28)은 기능적인 회로(들)(15)의 모든 동작 주파수들에 대한 최소 전압 레벨 설정보다 낮은 AVS 데이터베이스(44)의 학습된 전압 레벨 설정을 저장하지 않도록 구성될 수 있다.
이 예에서, 도 7의 AVS 학습된 값들 테이블(90)에 저장된 특정 전압 레벨들은 도 2의 AVS 주파수/전압 레벨 테이블(50)의 대응하는 전압 레벨들보다 더 낮다. 이것은 기능적인 회로(들)(15)의 전압 레벨들과 동작 주파수들의 관계에서 AVS 모듈(28)에 의해 결정된 추가적인 지연 변형들을 설명하는 AVS(11)로 인할 수 있다. AVS 모듈(28)이 지연 변형 상태들에 기반하여 다른 전압 레벨들을 적응적으로 학습할 때까지 AVS 모듈(28)은 도 2의 AVS 주파수/전압 레벨 테이블(50)의 전압 레벨들과 같은 기능적인 회로(들)에 대한 안전한 전압 레벨들을 초기에 지닌 AVS 학습된 값들 테이블(90)에 전압 레벨들을 덧붙이도록 구성될 수 있다. 일반적으로, AVS(11)의 목적이 동작적 파라미터들 및 기능적인 회로(들)(15)의 지연 상태들에 기만하여 전압 마진을 줄이는 것이므로 학습된 전압 레벨들은 전압 레벨에서 초기 전압 레벨들보다 더 낮을 것이다.
다른 실시예에서, AVS(11)는 전압 마진을 더 피하거나 줄이기 위해 실행 시간 동안 기능적인 회로(들)(15)의 동작의 무효한 영역을 분석하도록 구성된다. 기능적인 회로(들)(15)의 동작의 무효한 영역을 분석하는 실시예들을 논의하기 전에, 도 8의 예시적인 동작 주파수 대 전압 다이어그램(100)이 먼저 설명된다. 도 8에 도시된 바와 같이, 기능적인 회로(들)(15)는 두 개의 동작 영역들: 동작의 유효한 영열(102) 및 동작의 무효한 영역(104)을 갖는다. 기능적인 회로(들)(15)의 한 세트의 특징적인 커브들(106)은 동작의 유효한 영역(102)에서 동작 주파수와 최소 전압 레벨 값 쌍들로 형성된 선이다. 특징적인 커브(106)는 동작의 무효한 영역(104)으로부터 동작의 유효한 영역(102)을 분리한다. 동작 주파수와 무관하게 기능적인 회로(들)(15)의 적절한 동작에 대한 최소 전압 레벨이 있고, 그것은 예로 도 8의 동작 주파수 대 전압 다이어그램(100)에 0.85V로 도시된다. 정의된 동작 주파수 이상에서, 최소 전압 레벨은 동작의 유효한 영역(102)에서 적절한 기능적인 회로(들)(15) 동작을 유지하기 위해 최소 전압 레벨은 감소하여야 한다.
동적 전압 스케일러(synamic voltage scaler, DVS) 선(108)은 기능적인 회로(들)(15)의 동작의 더 낮은 경계가 기능적인 회로(들)(15)의 전압 레벨을 제어하기 위해 사용되어야한다는 것을 표시한다. DVS 라인(108)은 기능적인 회로(들)(15)의 프로세스들 및 동작 상태들에서 모든 용인되는 변형들에 걸쳐서 동작의 유효한 영역(102)에 대한 최소 전압 레벨을 제공한다. AVS 라인들(110)은 DVS 라인(108)보다 낮은 기능적인 회로(들)(15)의 동작의 경계들을 묘사한다. AVS 라인들(110)은 기능적인 회로(들)(15)의 전압 레벨을 결정하고 설정할 때 기능적인 회로(들)(15)의 프로세스들 및 동작 상태들의 지연 변형들을 고려하여 AVS(11)로 인한 전압 마진의 축소를 나타낸다. 도 8의 동작 주파수 대 전압 레벨 다이어그램(100)에는 도 1의 AVS(11)로부터 세 개의 가능한 결정들을 나타내는 두 개의 AVS 선들(112, 114)이 있다. 이것은 몇몇 빌트-인 이력 현상을 가질 수 있는 비교 플립플롭(flip-flop)을 포함하는 비교측정기(38)때문이다. 세 개의 가능한 결정들은 다음과 같다:
ㆍ"V다운(Vdown)" 상태, 현재 전압 레벨이 적절한 기능적인 회로(들)(15) 동작을 위해 필요한 것보다 더 높은 것을 의미함;
ㆍ"변화없음(No change)" 상태, 현재 전압 레벨이 적절한 기능적인 회로(들)(15) 동작에 대해 적절하다는 것을 의미함; 및
ㆍ"V업(Vup)" 상태, 현재 전압 레벨이 적절한 기능적인 회로(들)(15) 동작을 위해 필요한 것보다 낮다는 것을 의미함.
전력 소비 관점에서 기능적인 회로(들)를 작동하기에 바람직한 포인트가 "변화없음"으로부터 "V업"까지 동작의 영역으로부터의 이행을 정의하는 AVS 라인(114)이다. 이 AVS 라인(114)에서, 기능적인 회로(들)(15)의 적절한 동작을 유지하기 위해 가능한 최소 전압 레벨이 제공된다. 그러나, 적거나 없는 전압 마진 허용오차(tolerance)가 AVS 선(114)에서 제공된다. AVS 선(114)이 전압 레벨을 제어하기 위해 AVS 모듈(18)에 의해 사용되면, "V업" 상태가 클록 신호(12)의 동작 주파수를 측정하는 AVS(11)와 관련된 타이밍 지연으로 인한 기능적인 회로(들)(15)에 대한 무효한 동작을 표시하면서 발생할 수 있다. 결과적으로, AVS 모듈(28)은 시간의 특정 기간들 동안 동작의 무효한 영역(104)에서 전압 레벨을 설정할 수 있다. "V업" 상태는 AVS(11) 및 기능적인 회로(들)(15)가 리셋되도록 할 수 있다. 따라서, AVS(11)의 일 실시예에서, AVS 선(112)은 주어진 동작 주파수에 대해 전압 레벨을 결정하기 위해 사용된다. AVS 선(112)은 DVS 선(108) 위의 전압 마진을 축소하나, 동작의 무효한 영역(104)의 기능적인 회로(들)(15)를 작동하는 것을 피하기 위해 AVS 선(114) 위의 전압 마진 허용오차를 포함한다. 여기 더 설명된 실시예들은 전압 마진을 AVS 선(112)으로부터 AVS 선(114)의 0 전압 마진까지 또는 가능한한 0 전압 마진에 가깝도록 낮춘다.
이 점에서, AVS(11)의 일 실시예는 예를 들어, 도 8의 AVS 선(112)로부터 AVS 선(114)로까지와 같이, 전압 마진 허용오차를 줄이기 위해 실행 시간 동안 기능적인 회로(들)(15)의 동작의 무효한 영역을 분석하도록 구성된다. 동작의 무효한 영역을 분석하는 것은 AVS 모듈(28)이 AVS(11)의 제약들을 측정하는 내재하는 시간이 주어질 때 전압 마진 허용오차가 더 줄여질 수 있는지 여부를 결정하는 것을 허용한다. 예로서 도 8을 참조하여, 이 실시예는 AVS 모듈(28)이 전압 레벨을 AVS 선(112) 아래로 및/또는 AVS 선들(112, 114) 사이로 또는 원한다면 0 볼트 마진 허용오차에 대해 AVS 선(114)으로 설정하는 것을 허용할 수 있다. 이 점에서, 도 9는 기능적인 회로(들)(15)의 동작의 무효한 영역을 분석하기 위해 AVS 모듈(28)에 의해 수행될 수 있는 예시적인 프로세스를 묘사하는 순서도이다. 그 안에서 제공되는 바와 같이, AVS 모듈(28)은 주기적으로 동작 분석 테스트의 무효한 영역을 초기화할 수 있다(블록 120). AVS 모듈(28)은 AVS 데이터베이스(44)에 제1 포인트로서 현재 동작 주파수 및 전압 레벨을 기록한다(블록 122). 이 제1 포인트는 도 10의 예시적인 동작 주파수 대 전압 레벨 다이어그램(138)에 묘사된 AVS 선(112)의 라벨이 붙은 P1이다. 도 10의 예시적인 동작 주파수 대 전압 레벨 다이어그램(138)은 도 8의 다이어그램(100)과 유사하나, DVS 선(108)이 없고 도 9의 순서도에서 참조될 포함된 몇몇 추가적인 정보가 있다.
AVS 모듈(28)은 도 1의 AVS(11)의 지연 선들(30)의 지연을 증가시킴에 의해 동작의 무효한 영역(104)(예를 들어, 여기서 "V업" 상태가 발생함)을 결정하기 위해 동작 주파수를 증가시키는 것을 시뮬레이션한다(블록 124). 그리고, AVS 모듈(28)은 "V업" 상태가 증가된 지연의 결과로서 지연 출력 신호(42)에서 리턴되는지 여부를 결정한다(블록 126). AVS 모듈(28)은 "V업" 상태가 AVS 모듈(28)로 리턴될 때까지 지연 선들(30)에서 제공되는 지연의 양을 증가하여 증가시키기를 계속한다. "V업" 상태가 리턴되면, AVS 모듈(28)은 현재 전압 레벨 및 시뮬레이션된 증가된 동작 주파수를 제2 포인트로서 AVS 데이터베이스(44)에 기록하고(블록 130), 이것은 예로서 도 10의 AVS 선(114)에 포인트 p2로서 묘사된다. 이 AVS 테스트의 목적은 전압 마진을 AVS 선(114)에 있거나 AVS 선(114)에 더 가깝게 더 줄이기 위해 현재 동작 주파수에서 전압 레벨이 줄어들 수 있는지 여부를 결정하는 것이나, 포인트 p2는 AVS 선(114)의 더 높은 시뮬레이션된 동작 주파수에 있다. 따라서, AVS 모듈(28)은 AVS 데이터베이스(44)에 저장된 전압 레벨들로부터 결정될 수 있는 AVS 선(112)의 기울기를 사용하여 AVS 선(114) 위의 제3 포인트 p3을 계산한다(블록 132). AVS 선들(112, 114)은 동일한 기울기를 갖는다고 가정되고, 따라서, 포인트 p2에서의 동작 주파수를 따라 AVS 선(112)의 기울기를 사용하는 것은 AVS 모듈(28)이 현재 동작 주파수에 대해서 AVS 선(114)에서 포인트 p3에서 더 낮은 전압 레벨을 결정하는 것을 허용한다.
AVS 모듈(28)은 그 다음에 AVS 데이터베이스(44)에 새로운 동작 주파수 및 전압 레벨 포인트 p3를 저장하고(블록 134) AVS 테스트는 끝난다(블록 136). 예를 들어, AVS 모듈(28)은 포인트 p3를 AVS 학습된 값 테이블(90)(도 7) 또는 AVS 주파수/전압 레벨 테이블(50)(도 2)에 저장하여 현재 동작 주파수에서 새로운 전압 레벨을 설정하는데 사용할 수 있다. 예를 들어, 도 11의 동작 주파수 대 전압 레벨 테이블(140)에서 묘사된 바와 같이, AVS 모듈(28)은 AVS 데이터베이스(22)에 존재하는 테이블에서 동작 주파수에 대한 현재 저장된 전압 레벨(예를 들어, 포인트 p1) 위에 새로운 전압 레벨(예를 들어, 포인트 p3)을 덮어쓸 수 있다. 다른 예로서, AVS 데이터베이스(44)는 이 테스트에 의해 제공되는 주어진 동작 주파수에 대해 축소된 전압 레벨(예를 들어, 포인트 p3)과 현재 전압 레벨(예를 들어, 포인트 p1) 사이의 차이를 도 12에 도시된 전압 레벨 차이 테이블(142)에 저장하도록 구성될 수 있다. AVS 모듈(28)은 AVS 선(112)의 결정된 전압 레벨이 더 줄여질 수 있는지 여부를 결정하기 위해 전압 레벨 차이 테이블(142)을 참조할 것이다.
리셋 후, AVS(28)는 아직 기능적인 회로(들)(15)의 모든 가능한 동작 주파수들에 대한 전압 레벨들을 발견하지 않을 것이다. AVS 모듈(28)은 AVS 데이터베이스(44)의 각각의 주어진 동작 주파수가 설정되는 동안 단지 전압 레벨들을 결정할 수 있다. 따라서, AVS 모듈(28)은 이전에 설정되지 않은 동작 주파수를 설정할 때, 이전에 설명된 바와 같이, AVS 모듈(28)은 그 동작 주파수에 대해 AVS 데이터베이스(44)에 저장된 초기 전압 레벨을 선택할 수 있다. 초기 전압 레벨 값은 AVS 모듈(28)에 의해 적응적으로 학습된 전압 레벨이 아니므로 추가적인 전압 마진은 새로운 동작 주파수에 대해 존재할 수 있다. 그러나, AVS 모듈(28)은 주어진 동작 주파수에 대해 전압 레벨을 학습하면, AVS 모듈(28)은 AVS 데이터베이스(44)의 동작 주파수들에 대한 전압 레벨들의 인구를 가속화시킬 수 있다. AVS 모듈(28)은 AVS 데이터베이스(44)의 전압 레벨들을 현재 전압 레벨들은 발견된 전압 레벨보다 더 높은 더 낮은 동작 주파수들에서 자동으로 설정하도록 구성될 수 있다. 기능적인 회로(들)이 더 높은 동작 주파수에 대해 적응적으로 학습된 전압 레벨에서 적절하게 동작할 수 있다고 알려져 있으면, 그 전압 레벨은 또한 더 낮은 주파수들에서 동작에 대해 적절하기 때문에 이것이 가능하다.
이 점에서, 도 13은 AVS 데이터베이스(44)의 동작 주파수들에 대한 전압 레벨들의 인구를 가속화시키기 위해 AVS 모듈(28)에 의해 수행될 수 있는 예시적인 프로세스를 제공하는 순서도이다. 프로세스는 AVS 모듈(28)에 의해 새로운 동작 주파수가 설정된 때 또는 그 후 임의의 시각을 포함하여 언제든 실행될 수 있다. 도 13에 도시된 바와 같이, 프로세스는 시작하고(블록 150), AVS 모듈(28)은 AVS 모듈(28)에 의해 설정된 현재 동작 주파수보다 더 낮은 동작 주파수들에서 AVS 데이터베이스(44)를 그 안에 저장된 전압 레벨들에 대해 참조한다(블록 152). 임의의 더 낮은 동작 주파수들에 대해 AVS 데이터베이스(44)에 저장된 전압 레벨들이 현재 전압 레벨보다 더 낮으면(블록 154), AVS 모듈(28)은 더 낮은 동작 주파수들에 대한 AVS 데이터베이스(44)의 전압 레벨들을 현재 전압 레벨로 대체할 수 있고(블록 156), 프로세스는 끝난다(블록 158). 그렇지 않으면, AVS 데이터베이스(44)의 더 낮은 동작 주파수들에 대한 전압 레벨들을 바꾸지 않고 프로세스가 끝난다(블록 158). 이 방법에서, 예를 들어 초기 전압 레벨들을 포함하여 AVS 데이터베이스(44)의 더 낮은 동작 주파수들에 대한 전압 레벨들은 기능적인 회로(들)(15)의 적절한 동작을 유지하는 것으로 알려진 더 낮은 전압 레벨들로 빠르게 덧붙여질 수 있다.
도 14는 전압 레벨들의 가속화된 인구를 더 묘사하기 위해 도 1의 AVS 데이터베이스(44)에 저장될 수 있는 예시적인 AVS 동작 주파수/전압 레벨 테이블(160)을 도시한다. AVS 동작 주파수/전압 레벨 테이블(160)의 엔트리(162)에 도시된 바와 같이, AVS 모듈(28)이 1GHz의 동작 주파수에 대해 1.0V의 전압 레벨을 결정하는 예를 가정한다. 엔트리들(164)과 같이, AVS 동작 주파수/전압 레벨 테이블(160)의 임의의 초기 전압 레벨들이 1.0V보다 더 높으면, 도 14에 도시된 바와 같이, AVS 모듈(28)은 엔트리들(164)에 대한 전압 레벨들을 1.0V로 대체할 수 있다. 이 예에서 AVS 모듈(28)이 엔트리들(164)의 주파수에서 동작 주파수를 설정하자 마자 전압 마진은 줄어든다.
AVS(11)의 다른 예는 AVS(11)의 온도 센서의 결합을 포함한다. 온도 센서(48)는 도 1에서 AVS(11)의 선택적 구성 요소로서 이미 이전에 논의되었다. 온도 센서(48)가 AVS(11)에 포함되면, AVS 모듈(28)은 AVS 데이터베이스(44)에 현재 동작 온도에 기반하여 결정된 전압 레벨들을 저장할 수 있다. 이전에 논의된 바와 같이, 동작 온도 레벨은 적절한 기능적인 회로(들)(15) 동작에 대한 전압 레벨들을 이동할 수 있다. 따라서, 동작 온도 레벨에 기반하여 전압 레벨들을 더 저장함에 의해, AVS 모듈(28)은 기능적인 회로(들)(15)의 적절한 동작을 보증하면서 전압 마진을 피하거나 줄일 수 있다. 이 점에서, 도 15는 복수의 예시적인 AVS 동작 주파수/전압 레벨 테이블들(170)을 제공하고, 각각은 상이한 동작 온도 T0에서 TN까지에 대응한다. 따라서, 여기서 제시된 실시예들에서 제공되는 바와 같이, AVS 모듈(28)이 주어진 동작 주파수에 대해 전압 레벨을 결정하기 위해 AVS 데이터베이스(44)를 참조할 때, AVS 모듈(28)은 AVS 데이터베이스(44)의 어떤 테이블(17)을 참조할지를 결정하기 위해 온도 센서(48)로부터 수신된 온도 레벨 신호(46)로부터 수신된 동작 온도 레벨들을 사용할 수 있다. 더욱이, AVS 모듈(28)은 AVS 데이터베이스(44)의 어느 테이블(170)에 여기 제시된 실시예들에 따른 초기, 학습된, 분석된 가속화된 전압 레벨들 또는 임의의 바람직한 다른 전압 레벨들을 덧붙일지를 결정하기 위해 온도 센서(48)로부터 수신된 동작 온도 레벨들을 사용할 수 있다. AVS 동작 주파수/전압 레벨 테이블(170)이 온도 센서(48)로부터 수신된 온도 레벨에 대해 AVS 데이터베이스(44)에서 제공되지 않으면, AVS 모듈(28)은 복수의 AVS 동작 주파수/전압 레벨 테이블들(170)에 기반하여 전압 레벨들을 삽입하거나 추정하도록 구성될 수 있다. 특정 동작 온도들은 상이한 동작 주파수들에서 종종 발생할 수 없기 때문에 작 온도 레벨에 의해 AVS 데이터베이스(44)에 전압 레벨들을 저장하는 것은 AVS 데이터베이스(44)의 전압 레벨들의 새로움을 연장할 수 있다. 따라서, AVS 모듈(28)이 초기 전압 레벨들에 대해 특정 수명을 지나면 전압 레벨 엔트리들을 무효화 및/또는 리턴하도록 허용하기 위해 선택적인 시간 요소가 AVS 데이터베이스(44)에 결합될 수 있다.
임의의 전술한 실시예들과 같이, AVS 모듈(28)이 "V업" 상태를 수신할 수 있는 것이 가능하다. AVS 모듈(28) 및/또는 AVS 데이터베이스(44)의 파라미터들 및/또는 알고리즘들은 기능적인 회로(들)(15)의 모든 동작 주파수들에 대한 모든 지연 변형들을 완전히 설명할 수 없다. 따라서, 다른 실시예에서, "V업" 상태가 현재 동작 주파수에서 생성되면 AVS(11)가 현재 동작 주파수에 대해 이전에 저장되거나 학습된 전압 레벨을 "백업(back up)"하거나 "백아웃(back out)"하도록 구성된다. "V업" 상태가 야기되면, AVS 데이터베이스(44)의 전압 레벨의 "백아웃" 또는 "백업"은 전압 마진을 증가시키기 위해 AVS 데이터베이스(44)의 주어진 동작 주파수에 대해 전압 레벨을 증가시키는 것을 포함한다. "V업" 상태는 음수의 전압 마진을 표시하고, 여기서 기능적인 회로(들)(15)의 동작의 유효한 영역은 0 또는 양수의 전압 마진을 요구한다.
이 점에서, 도 16은 너무 낮은 전압 레벨에 의해 야기되는 것으로 믿어지는 의도하지 않은 하드웨어 리셋이 감지될 때 전압 마진을 증가시키기 위한 예시적인 프로세스의 순서도를 제공한다. 예를 들어, 리셋 또는 결함을 일으키는 낮은 전압 레벨의 특성은 검출될 수 있는 캐시(cache) 패리티(parity) 오류들의 생성일 수 있다. 이 하드웨어 리셋 또는 결합은 도 1의 AVS(11)의 AVS 모듈(28)에 의해 수신된 "V업" 상태를 야기할 수 있다. 이 경우에, 이런 오류들이 주어진 동작 주파수에서 한 번 이상 일어나면, 동작 주파수에 대응하는 전압 레벨이 향후의 리셋들을 피하기 위해 전압 마진을 증가하기 위해 AVS 모듈(28)에 의해 증가될 수 있다.
이 점에서, 예로서, 도 16에 도시된 바와 같이, AVS 모듈(28)은 "V업" 상태가 수신될 때 방해를 통해 예외 처리자로 점프하거나 그 반대로 구성될 수 있다. 이 예에서, AVS 모듈(28)은 그 다음에 현재 동작 주파수와 관련된 AVS 데이터베이스(44)에 저장된 전압 레벨에 전압 마진을 추가한다(블록 182). AVS 모듈(28)은 전압 조절기(22)가 기능적인 회로(들)(15)로 제공된 전압 레벨에 전압 마진을 추가하도록 하기 위해 전압 레벨 설정 신호(20)를 설정한다(블록 184). AVS 모듈(28)은 그 다음에 이 실시예에서 리셋 및 추가적인 동작 위에 현재 동작 주파수에서 AVS 모듈(28)에 의해 관통될 수 없는 최소 전압 레벨로서 새로운 전압 레벨을 마크할 수 있고, 프로세스는 끝난다(블록 188). 다시 말해서, 주어진 전압 레벨이 AVS 11에서 "V업" 상태를 생성했다는 것이 학습될 때, AVS 모듈(28)은 향후에 현재 동작 주파수에 대한 전압 레벨을 줄여서는 안된다. 대안적으로, AVS 모듈(28)은 더 낮은 전압 레벨이 향후, 보통의 동작 동안 결정되면 전압 레벨이 AVS 데이터베이스(44)에서 덮어써지는 것을 허용하도록 구성될 수 있다.
AVS 데이터베이스(44)는 AVS 모듈(28)에 의해 설정된 전압 레벨이 기능적인 회로(들)(15)의 동작에 대해 최소 전압 레벨 아래로 떨어지지 않는다는 것을 보증하기 위해 모든 동작 주파수들에 대해 기능적인 회로(들)(15)에 대한 최소 전압 레벨을 저장하도록 구성되리 수 있다. 이 점에서, 도 17은 AVS 데이터베이스(44)에 저장될 수 있는 예시적인 최소 전압 레벨 제한 테이블(190)을 도시한다. AVS 모듈(28)은 전압 레벨이 설정되기 전에 주어진 현재 동작 주파수에 대해 AVS 데이터베이스(44)의 최소 전압 레벨 제한 테이블(190)을 참조하도록 구성될 수 있다. AVS 모듈(28)에 의해 결정된 전압 레벨이 현재 동작 주파수에 대해 최소 전압 레벨 제한 테이블(190)의 최소 전압 레벨보다 낮으면, AVS 모듈(28)은 전압 레벨을 최소 전압 레벨 제한 테이블(190)의 전압 레벨로 설정할 것이다. 최소 전압 레벨 제한 테이블(190)은 처음에 모든 동작 주파수들(예를 들어, 0.85V)에 대한 동일한 전압 레벨을 포함할 수 있다. 그러나, AVS 모듈(280)이 "V업" 상태에서 주어진 동작 주파수에 대해 전압 마진을 추가하도록 구성되면, 추가된 전압 마진이 최소 전압 레벨 제한 테이블(190)의 최소 전압 레벨 에 추가될 수 있다. 예를 들어, "V업" 상태가 600 MHz의 동작 주파수에서 수신되면, 도 17에 도시된 바와 같이, 전압 레벨은 0.90V이고, 추가된 전압 마진은 0.05V이고, 0.95V의 최소 전압 레벨은 최소 전압 레벨 제한 테이블(190)의 600 MHz의 동작 주파수에 대해 저장될 수 있다.
다른 실시예에서, AVS(11)는 음수의 바이어스(bias) 온도 불안정(negative bias temperature instability, NBTI)에 대해 전압 레벨을 보상하도록 구성될 수 있다. NBTI 효과는 몇몇 반도체 기기들이 적절히 시간에 걸쳐 동작하기 위해 필요한 최소 전압 레벨을 천천히 올린다. 예를 들어, 특정 반도체 프로세스는 도 18의 예시적인 동작 주파수/전압 레벨 다이어그램(192)에 도시된 바와 같이 NBTI 효과가 파워-온 동작의 24 개월에 걸쳐 최소 전압 레벨을 50mV씩 올린다는 점에서 특징지어질 수 있다. 그 안에 도시된 바와 같이, 초기 최소 전압 레벨(194)은 기능적인 회로(들)(15)에 대해 0.85V이다. 그러나, VBTI 효과로 인해, 다음의 최소 전압 레벨(196)은 시간에 걸쳐 0.9V로 올라간다. AVS 모듈(28)은 총 전력 시간을 추적하고 수정 요소를 AVS 데이터베이스(44)에 저장된 이전에 알려진 전압 레벨 최소치들에 적용함에 의해 NBTI에 대해 보상하도록 구성될 수 있다. 수정 요소는 예를 들어 도 17에 도시된 최소 전압 레벨 제한 테이블(190)에서와 같이 AVS 데이터베이스(44)의 기능적인 회로(들)(15)에 대해 절대적 최소 전압 레벨에 적용될 수 있다. 대안적으로, 수정 요소는 여기서 이전에 설명된 임의의 테이블들을 포함하여 AVS 테이블의 최소 전압 레벨들에 적용될 수 있다. AVS 모듈(28)은 그 안에 저장된 임의의 동작 주파수들에 대한 전압 레벨 설정들이 최소 전압 레벨 설정 아래이면 AVS 데이터베이스(44)의 보상된 최소 전압 레벨 설정을 실시하도록 구성될 수 있다.
이 점에서, 도 19는 NBTI로 인한 기능적인 회로(들)(15)에 대한 전압 레벨들을 보상하는 AVS(11)의 예시적인 프로세스의 순서도를 제공한다. 프로세스는 튜닝 루프(24)의 각각의 반복에서 주기적으로 수행될 수 있고, 여기서 AVS 모듈(28)은 기능적인 회로(들)(15)에 대한 다음 동작 주파수 또는 덜 자주 결정한다. 프로세스는 노화 표시자(aging indicator)에서 개시될 수 있고, 이것은 예를 들어, 타이머를 폴링(polling)하거나 방해 처리기에 기반하여 미리 결정된 시간 값들일 수 있다. AVS 모듈(28)은 파워-온 타임을 추적하기 위해 리셋에서 AVS 데이터베이스(44)에서 타이머를 개시하고 유지할 수 있다(블록 200). 타이머는 파워 사이클들에 걸쳐 유지되기 위해 AVS 데이터베이스(44)의 비휘발성 메모리에 포함될 수 있다. AVS 모듈(28)이 지나간 시각에 기반하여 파워 레벨 수정이 적용되어야 한다고 결정한 때(블록 201), AVS 모듈(28)은 전압 레벨 수정이 AVS 데이터베이스(44)의 타이머 값에 기반하여 총 파워-온 시각에 대해 적용되어야 한다고 결정한다(블록 202). 전압 레벨 수정은 0V이거나 0V보다 더 클 수 있다. 더욱이 전압 레벨 수정은 기능적인 회로(들)(15)에 대한 최소 전압 레벨만으로 또는 AVS 데이터베이스(44)에 저장된 모든 AVS 전압 레벨 설정들에 대한 오프셋으로 오프셋될 수 있다. 더욱이, AVS 모듈(28)은 또한 위에서 이전에 설명된 것들을 포함하여 다른 수단들에 의해 결정되고 AVS 데이터베이스(44)에 저장된 전압 레벨 설정들을 변경하거나 덮어쓰지 않고 동작 동안 적용되기 전에 AVS 데이터베이스(44)에 저장된 전압 레벨들을 보상하도록 구성될 수 있다. 전압 레벨 수정은 이 경우 모두에 AVS 데이터베이스(44)에 적용된다(블록 204). 프로세스는 반복된다(블록 200).
도 20은 다른 예시적인 AVS 시스템(210)을 도시한다. AVS 시스템(210)은 도 1의 AVS(11)에 유사한 AVS(11')을 포함한다. 공통의 구성요소들은 공통의 구성요소 번호들로 라벨이 붙는다. AVS(11')는 도 1의 AVS(11)와 유사하게 AVS 모듈(28), AVS 데이터베이스(44), 지연 선 클록 로직(26), 프로그래머블 지연 선들(30), 클록 기간 지연(34), 비교 측정기(38), 및 온도 센서(48)를 포함한다. 최소 전압 레벨을 설정하기 위한 AVS 동작은 임의의 이전에 설명된 실시예들에 따라 동작할 수 있다. 그러나, 도 20의 AVS(11')는 또한 동적 전압 스케일러(dynamic voltage scaler, DVS) 모듈(212) 및 DVS 테이블(214)을 포함한다. 도 20의 AVS(11')는 변경되거나 업데이트된 디자인이였을 수 있고, 여기서 AVS 모듈(28) 및 AVS 데이터베이스(44)는 이미 DVS 모듈(212) 및 DVS 테이블(214)을 포함하는 시스템에 추가된다. DVS 모듈(212)은 기능적인 회로(들)(15)에 대한 워크로드 추정치(213)에 따라 전압 조절기(22)로 전압 레벨 설정 신호(216)를 전함에 의해 동적 전압 스케일링을 수행한다. 그러나, 이 실시예에서, AVS 모듈(28)이 또한 기능적인 회로(들)(15)의 지연 변형 상태들에 기반하여 전압 레벨을 적응적으로 스케일하기 위해 제공된다. AVS 모듈(28)은 DVS 모듈(212)에 의한 AVS 모듈(28)로의 요구에 응답하여 DVS 모듈(212)로 결정된 AVS 전압 레벨 또는 전압 레벨 조정을 제공한다. AVS 모듈(28)은 DVS 모듈(212)로부터 AVS 모듈(28)로 제공되는 현재 및 타겟 동작 주파수에 기반하여 AVS 데이터베이스(44)를 참조한다. DVS 모듈(212)은 전압 레벨 또는 AVS 모듈(28)로부터 DVS 모듈(212)로 제공되는 마진에 의해 추가적으로 조정되면서 동작 주파수들에 대응하는 전압 레벨들을 포함하는 DVS 테이블(214)에 저장된 전압 레벨에 기반하여 전압 레벨 설정 신호(20)를 설정하도록 구성된다. DVS 모듈(212)은 또한 기능적인 회로(들)(15)dml 스위칭을 제어하기 위해 클록 생성기(14)에 의해 생성된 클록 신호(12)의 동작 주파수를 설정하기 위해 동작 주파수 설정 신호(218)를 생성한다.
AVS 모듈(28)은 적응적으로 전압 마진을 추가적으로 피하거나 줄이도록 구성되기 때문에 AVS 모듈(28)에 의해 결정된 전압 레벨은 이상적으로 DVS 모듈(212)에 의해 결정된 전압 레벨과 동일하거나 더 낮아야 한다. AVS 모듈(28)은 이전에 설명된 바와 같이 기능적인 회로(들)(15)의 동작의 무효한 영역을 찾기 위해 도 20에 도시된 바와 같이 지연 선 설정 신호(220)를 통해 지연 회로(25)의 지연 선들(DLs)(30)의 지연을 설정할 수 있다. 이 실시예에서, 지연 선 설정 신호(220)는 지연의 양을 제어하는 32 비트 지연 레지스터(222)이다. 지연 설정들은 선형일 수도 있고 아닐 수도 있다. 32 비트 지연 레지스터(222)를 지닌 지연 선 설정 신호(222)는 이전에 논의된 바와 같이, 복수의 AVS 회로들(224) 1-N에서 지연 선들(30)로 전해질 수 있다. 복수의 지연 레지스터들(222)은 제공될 수 있고, 각각은 주어진 AVS 회로(224)에서 지연의 양을 제어한다. 도시되지는 않았으나, 각각의 AVS 회로(224)는 도 1의 AVS(11)에서 제공되는 것들과 유사한 지연 선 클록 로직(26), 지연 선들(30), 비교 측정기(38), 및 클록 기간 지연(34)를 포함한다. AVS 회로들(224)은 기능적인 회로(들)(15)에 포함된 다양한 타입의 회로들의 지연을 시뮬레이션하는 지연 로직을 포함한다. 바람직한 임의의 개수의 AVS 회로들(224)이 제공될 수 있다. AVS 회로(224)의 로직의 동작 주파수 및 전력이 또한 클록 생성기(14) 및 전압 조절기(22) 각각으로부터 생성된 클록 신호(12) 및 전압 신호(18)로부터 제공된다. 비교 측정기들(38)은 AVS 모듈(28)로 타이밍 마진 정보를 제공하기 위해 지연 출력 신호(42)를 통해 통신되는 다른 32 비트 지연 레지스터(226)의 타이밍 마진 정보를 제공한다. 타이밍 정보는 이전에 설명된 바와 같이 다음 동작 주파수 및 전압 레벨을 결정하기 위해 사용된다.
AVS 시스템들 및 AVS들 및 여기서 설명된 관련된 방법들은 별개의 하드웨어, 또는 하드웨어 및 소프트웨어 구성요소들 모두에서 제공될 수 있다. AVS 시스템들 및 AVS들 및 여기서 설명된 관련된 방법들은 동기식 디지털 회로, 중앙 프로세싱 유닛(CPU) 시스템, 및 메모리 회로 또는 시스템을 포함하나 이에 제한되지 않는 임의의 회로 또는 시스템에 대한 동작 주파수 및 전압 레벨을 설정하는데 사용될 수 있다. 메모리 회로 또는 시스템에서 사용되면, 메모리 회로 또는 시스템은 임의의 타입의 메모리를 사용할 수 있다. 예들은 제한 없이, 정적 램(static random access memory, SRAM), 동적 램(dynamic RAM, DRAM), 동기식 DRAM(SDRAM), 데이터-더블-레이트(data-double-rate, DDR) SDRAM, 데이터-더블-레이트-투(data-double-rate-two, DDR2) SDRAM, 데이터-더블-레이트-쓰리(data-double-rate-three, DDR3) SDRAM, 모바일 DDR(MDDR) SDRAM, 로우-파워(LP) DDR SDRAM 및 DDR2 SDRAM을 포함한다. 동작 주파수 및 전압 레벨이 AVS들에 의해 제어되는 메모리 회로 또는 시스템의 임의의 구성요소들은 메모리가 기술 및/또는 메모리의 디자인에 의해 요구된다면 메모리 셀이 기능적이도록 유지하기에 충분한 전압 레벨을 제공하는 전압 영역에 의해 전력을 공급받는 한 복수의 전압 영역들 중 임의의 전압 영역에 있을 수 있다.
여기서 논의된 디자인들 및 방법들에 따른 AVS 시스템들 및 AVS들은 전기적 기기 및/또는 프로세서-기반 기기 또는 시스템을 포함하여 반도체 다이(die), 통합된 회로, 및/또는 기기에 포함되거나 통합될 수 있다. 이런 기기들의 예들은 제한 없이 셋탑 박스, 엔터테인먼트 유닛, 네비게이션 기기, 통신 기기, PDA(personal digiral assistant), 고정된 위치 데이터 유닛, 모바일 위치 데이터 유닛, 모바일 폰, 셀룰러 폰, 컴퓨터, 포터블 컴퓨터, 데스크탑 컴퓨터, 모니터, 컴퓨터 모니터, 텔레비젼, 튜너, 라디어, 위성 라디오, 뮤직 플레이어, 디지털 뮤질 플레이어, 포터블 뮤직 플레이어, 비디오 플레이어, 디지털 비디오 플레이어, 디지털 비디오 디스크(DVD) 플레이어, 및 포터블 디지털 비디오 플레이어를 포함한다.
도 21은 위에서 설명된 AVS(232) 및 관련 회로들을 사용할 수 있는 프로세서-기반 시스템(230)을 도시한다. 프로세서-기반 시스템(230)은 전기적 기기(234)에 포함될 수 있다. AVS(232)는 클록 신호의 동작 주파수 및 CPU(236)의 프로세서(들)(238)로 제공되는 전압 신호의 전압 레벨을 제어하기 위해 CPU(236)에 포함될 수 있다. CPU(236)는 시스템 버스(240)에 연결되고, 이것은 프로세서-기반 시스템(230)에 포함된 다른 기기들을 서로 연결한다. AVS(241)는 또한 시스템 버스(240)에 연결된 GPU(graphic processor unit)(234)에 포함도리 수 있다. 잘 알려진 바와 같이, CPU(236) 및/또는 GPU(243)는 주소, 제어, 및 데이터 정보를 시스템 버스(240)를 통해 교환함으로써 이 다른 기기들과 통신할 수 있다. 이 기기들은 임의의 타입의 기기들을 포함할 수 있다. 도 21에 도시된 바와 같이, 이 기기들은 예를 들어, 시스템 메모리(242), 하나 이상의 입력 기기들(244), 하나 이상의 출력 기기들(246), 네트워크 인터페이스 기기(248), 및 디스플레이 제어기(250)를 포함할 수 있다.
하나 이상의 입력 기기들(244)은 입력 키들, 스위치들, 음성 프로세서들, 등을 포함하나 이에 제한되지 않는 임의의 타입의 입력 기기를 포함할 수 있다. 하나 이상의 출력 기기들(26)은 오디오, 비디오, 다른 비주얼 표시자들, 등을 포함하나 이에 제한되지 않는 임의의 타입의 출력 기기를 포함할 수 있다. 네트워크 인터페이스 기기(248)는 네트워크(252)로부터 및 네트워크(252)로 데이터의 교환을 허용하도록 구성된 임의의 기기일 수 있다. 네트워크(252)는 유선 또는 무선 네트워크, 사설 또는 공중 네트워크, 랜(local area network, LAN), WLAN(wide local area network), 및 인터넷을 포함하나 이에 한정되지 않는 임의의 타입의 네트워크이리 수 있다. 네트워크 인터페이스 기기(248)는 임의의 타입의 바람직한 통신 프로토콜을 지원할 수 있다.
CPU(236)는 또한 시스템 버스(240)를 통해 시스템 메모리(242)에 액세스할 수 있다. 시스템 메모리(242)는 정적 메모리 및/또는 동적 메모리를 포함할 수 있다. 시스템 메모리(242)는 CPU(236)에 대한 프로그램 스토어(254) 및 데이터 스토어(256)를 포함할 수 있다. CPU(236)는 또한 디스플레이(258)로 전송되는 정보를 제어하기 위해 시스템 버스(240)를 통해 디스플레이 제어기(250)로 액세스할 수 있다. 디스플레이 제어기(250)는 메모리 제어기(260) 및 CPU(236)와의 통신에 응답하여 디스플레이(258)로 전송될 데이터를 저장하는 메모리(262)를 포함할 수 있다. 디스플레이 제어기(250)는 디스플레이 정보를 디스플레이(258)로 비디오 프로세서(264)를 통해 전달하고, 이것은 디스플레이될 정보를 디스플레이(258)에 대해 적절한 포맷으로 프로세스한다. 디스플레이(258)는 음극선관(cathode ray tube, CRT), LCD(liquid crystal display), 플라즈마 디스플레이 등을 포함하나 이에 한정되지 않는 임의의 타입의 디스플레이를 포함할 수 있다.
당업자는 여기 제시된 실시예들과 관련하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 회로들, 및 알고리븜들은 전기적 하드웨어, 메모리 또는 다른 컴퓨터 판독가능 매체에 저장되어 프로세서 또는 다른 프로세싱 기기에 의해 실행되는 명령들 또는 둘 다의 조합들로서 구현될 수 있다는 것을 이해할 것이다. 이 상호 호환성을 명확히 묘사하기 위해, 다양한 예시적인 소자들, 블록, 모듈, 회로, 및 단계들이 그들의 기능적 관점에서 위에서 일반적으로 기술되었다. 이러한 기능이 어떻게 구현되는지는 특정 애플리케이션, 디자인 선택 및/또는 전체 시스템에 대해 부가된 설계 제한들에 의존한다. 당업자는 이러한 기능들을 각각의 특정 애플리케이션에 대해 다양한 방식으로 구현할 수 있지만, 이러한 구현 결정이 본 발명의 영역을 벗어나는 것은 아니다.
여기 제시된 실시예들과 관련하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 및 회로들이 프로세서, 디지털 신호 처리기(DSP), 주문형 집적회로(ASIC), 필드 프로그램어블 게이트 어레이(FPGA), 또는 다른 프로그램어블 논리 장치, 이산 게이트 또는 트랜지스터 논리, 이산 하드웨어 컴포넌트들, 또는 여기 제시된 기능들을 수행하도록 설계된 것들의 조합을 통해 구현 또는 수행될 수 있다. 프로세서는 마이크로 프로세서 일 수 있지만, 대안적 실시예에서, 프로세서는 기존 프로세서, 제어기, 마이크로 제어기, 또는 상태 머신일 수 있다. 프로세서는 예를 들어, DSP 및 마이크로프로세서, 복수의 마이크로프로세서들, DSP 코어와 결합된 하나 이상의 마이크로 프로세서, 또는 임의의 다른 이런 구성과 같은 계산 장치들의 조합으로서 구현될 수 있다.
여기 제시된 실시예들은 하드웨어 및 메모리에 저장되고 예를 들어, 랜덤 액세스 메모리(RAM); 플래쉬 메모리; 판독 전용 메모리(ROM); 전기적 프로그램어블 ROM(EPROM); 전기적 삭제가능한 프로그램어블 ROM(EEPROM); 레지스터; 하드디스크; 휴대용 디스크; 콤팩트 디스크 ROM(CD-ROM); 또는 공지된 저장 매체의 임의의 형태에 존재할 수 있는 명령들에 포함될 수 있다. 예시적인 저장매체는 프로세서와 결합되어, 프로세서는 저장매체로부터 정보를 판독하여 저장매체에 정보를 기록한다. 대안적으로, 저장 매체는 프로세서의 구성요소일 수 있다. 이러한 프로세서 및 저장매체는 ASIC 에 위치한다. ASIC 는 사용자 단말에 위치할 수 있다. 대안적으로, 프로세서 및 저장 매체는 사용자 단말, 기지국 또는 서버에서 이산 컴포넌트로서 존재할 수 있다.
임의의 예시적인 실시예들에서 설명된 동작적인 단계들은 예들 및 논의를 제공하기 위해 제시된다는 것 또한 주목된다. 설명된 동작들은 묘사된 순서들과 다른 다양한 순서들로 수행될 수 있다. 더욱이, 하나의 동작적인 단계로 설명된 동작들은 실제로 많은 다른 단계들로 수행될 수 있다. 추가적으로, 예시적인 실시예들에서 논의된 하나 이상의 동작적인 단계들은 결합될 수 있다. 순서도에서 도시된 동작적인 단계들은 당업자에게 분명한 바와 같이 많은 다양한 상이한 변형들에 종속될 수 있다. 당업자는 또한 정보 및 신호들이 임의의 다양한 상이한 기술들 및 기법들을 사용하여 표현될 수 있다는 것을 이해할 것이다. 예를 들어, 위의 설명을 통해 참조될 수 있는 데이터, 지시, 명령, 정보, 신호, 비트, 심볼 및 칩들은 전압, 전류, 전자파, 자기장 또는 입자, 옵티컬 필드(optical field) 또는 입자 또는 그들의 임의의 결합에 의해 표현될 수 있다.
제시된 실시예들에 대한 설명은 기술 분야에서 통상의 지식을 가진 자가 본 발명을 이용하거나 또는 실시할 수 있도록 제공된다. 이러한 실시예들에 대한 다양한 변형들은 본 발명의 기술 분야에서 통상의 지식을 가진 자에게 명백할 것이며, 여기에 정의된 일반적인 원리들은 본 발명의 범위를 벗어남이 없이 다른 실시예들에 적용될 수 있다. 그리하여, 본 발명은 여기에 제시된 예들 및 설계들로 한정되는 것이 아니라, 여기에 제시된 원리들 및 신규한 특징들과 일관되는 최광의의 범위에서 해석되어야 할 것이다.
Claims (46)
- 적응형 전압 스케일러(adaptive voltage scaler: AVS)로서,
입력 신호를 수신하고 지연 출력 신호를 생산하기 위해 기능적인 회로의 적어도 하나의 지연 경로(delay path)에 관련된 지연 양만큼 상기 입력 신호를 지연하도록 구성된 적어도 하나의 지연 회로; 및
데이터베이스에 연결되고 상기 지연 출력 신호에 반응하며, 상기 기능적인 회로에 관한 동작 주파수와 관련된 상기 데이터베이스의 전압 레벨 및 상기 지연 출력 신호의 지연 정보에 기반하여 전압 레벨 설정 신호를 생성하도록 구성된 AVS 회로를 포함하는,
적응형 전압 스케일러. - 제1항에 있어서,
상기 AVS 회로는 적어도 부분적으로 소프트웨어에 의해 제어가능한,
적응형 전압 스케일러. - 제1항에 있어서,
상기 적어도 하나의 지연 경로는 적어도 하나의 프로그래머블(programmable) 지연 경로로 구성되는,
적응형 전압 스케일러. - 제1항에 있어서,
상기 데이터베이스는 각각이 상기 기능적인 회로의 동작 주파수에 대응하는 복수의 초기 전압 레벨들로 구성되는,
적응형 전압 스케일러. - 제1항에 있어서,
상기 AVS 회로는 상기 지연 출력 신호의 상기 지연 정보에 기반하여 상기 데이터베이스에 복수의 학습된 전압 레벨들을 저장하도록 추가적으로 구성되는,
적응형 전압 스케일러. - 제5항에 있어서,
상기 AVS 회로는 온도 센서로부터 수신된 동작 온도 레벨에 추가적으로 기반하여 상기 데이터베이스에 상기 복수의 학습된 전압 레벨들을 저장하도록 추가적으로 구성되는,
적응형 전압 스케일러. - 제1항에 있어서,
상기 AVS 회로는 상기 전압 레벨이 상기 기능적인 회로에 대해 이전에 학습되었는지 여부를 결정하도록 추가적으로 구성되는,
적응형 전압 스케일러. - 제1항에 있어서,
상기 AVS 회로는 상기 전압 레벨이 상기 기능적인 회로에 대해 이전에 학습되었으면 상기 입력 신호가 안정되기를 기다리지 않고 상기 전압 레벨 설정 신호를 생성하도록 추가적으로 구성되는,
적응형 전압 스케일러. - 제1항에 있어서,
상기 데이터베이스는 상기 전압 레벨이 상기 기능적인 회로에 대해 상기 AVS 회로에 의해 이전에 학습되었는지 여부를 표시하는 표시자(indicator)를 저장하도록 구성되는,
적응형 전압 스케일러. - 제1항에 있어서,
상기 AVS 회로는 상기 기능적인 회로의 동작의 무효한 영역을 분석하도록 상기 기능적인 회로에 대해 증가된 동작 주파수를 시뮬레이션하기 위해 상기 적어도 하나의 지연 경로의 상기 지연을 증가시키도록 추가적으로 구성되는,
적응형 전압 스케일러. - 제10항에 있어서,
상기 AVS 회로는 상기 기능적인 회로의 현재 동작 주파수에 대한 현재 전압 레벨과 상기 분석된 무효한 동작 영역에서의 상기 시뮬레이션된 증가된 동작 주파수 사이의 전압 마진 허용오차(tolerance)를 결정하도록 추가적으로 구성되는,
적응형 전압 스케일러. - 제11항에 있어서,
상기 AVS 회로는 상기 데이터베이스에 상기 전압 마진 허용오차를 저장하도록 구성되는,
적응형 전압 스케일러. - 제11항에 있어서,
상기 AVS 회로는 상기 데이터베이스에 상기 전압 마진 허용오차에 기반하여 새로운 전압 레벨을 저장하도록 구성되는,
적응형 전압 스케일러. - 제1항에 있어서,
상기 AVS 회로는 더 높은 동작 주파수에 대응하는 상기 데이터베이스의 전압 레벨을 지닌 상기 데이터베이스에 적어도 하나의 전압 레벨을 퍼퓰레이트(populate)하도록 추가적으로 구성되는,
적응형 전압 스케일러. - 제1항에 있어서,
상기 AVS 회로는 상기 전압 레벨이 상기 기능적인 회로로 하여금 무효한 동작 영역에서 동작하도록 했다면 전압 마진을 상기 전압 레벨 설정 신호에 부가하도록 추가적으로 구성되는,
적응형 전압 스케일러. - 제1항에 있어서,
상기 AVS 회로는 상기 기능적인 회로로 하여금 무효한 동작 영역에서 동작하도록 하는 상기 전압 레벨에 대해 상기 데이터베이스에 동작 주파수를 마크(mark)하도록 추가적으로 구성되는,
적응형 전압 스케일러. - 제1항에 있어서,
상기 AVS 회로는 상기 전압 레벨 설정 신호를 최소 전압 레벨 한계 아래의 전압 레벨로 설정하지 않도록 추가적으로 구성되는,
적응형 전압 스케일러. - 제1항에 있어서,
상기 데이터베이스는 상기 기능적인 회로에 대한 최소 전압 레벨 한계를 저장하도록 구성되는,
적응형 전압 스케일러. - 제18항에 있어서,
상기 AVS 회로는 상기 기능적인 회로의 노화 표시자(aging indicator)에 기반하여 전압 레벨 수정을 상기 최소 전압 레벨 한계에 적용하도록 추가적으로 구성되는,
적응형 전압 스케일러. - 제1항에 있어서,
상기 AVS 회로는 상기 기능적인 회로의 노화 표시자에 기반하여 전압 레벨 수정을 상기 전압 레벨 설정 신호에 적용하도록 추가적으로 구성되는,
적응형 전압 스케일러. - 제1항에 있어서,
상기 AVS 회로는 상기 기능적인 회로의 노화 표시자에 기반하여 전압 레벨 수정을 상기 데이터베이스에 저장하도록 추가적으로 구성되는,
적응형 전압 스케일러. - 제1항에 있어서,
적어도 하나의 반도체 다이(die)에서 통합되는,
적응형 전압 스케일러. - 제1항에 있어서,
상기 AVS가 통합되는, 셋탑 박스, 엔터테인먼트 유닛, 네비게이션 기기, 통신 기기, PDA(personal digiral assistant), 고정된 위치 데이터 유닛, 모바일 위치 데이터 유닛, 모바일 폰, 셀룰러 폰, 컴퓨터, 포터블 컴퓨터, 데스크탑 컴퓨터, 모니터, 컴퓨터 모니터, 텔레비젼, 튜너, 라디오, 위성 라디오, 뮤직 플레이어, 디지털 뮤직 플레이어, 포터블 뮤직 플레이어, 비디오 플레이어, 디지털 비디오 플레이어, 디지털 비디오 디스크(DVD) 플레이어, 및 포터블 디지털 비디오 플레이어로 구성되는 그룹으로부터 선택된 기기를 더 포함하는,
적응형 전압 스케일러. - 적응형 전압 스케일러(adaptive voltage scaler: AVS)로서,
입력 신호를 수신하고, 지연 출력 신호를 생성하기 위해 기능적인 회로의 적어도 하나의 지연 경로에 관련된 양만큼 상기 입력 신호를 지연하기 위한 지연 수단; 및
상기 기능적인 회로에 대한 타겟 동작 주파수와 관련된 상기 데이터베이스의 전압 레벨 및 상기 지연 출력 신호의 지연 정보에 기반하여 전압 레벨 설정 신호를 생성하기 위해, 데이터베이스에 연결되고 상기 지연 출력 신호에 반응하는 AVS 수단
을 포함하는, 적응형 전압 스케일러. - 적응형 전압 스케일러(adaptive voltage scaler: AVS)로서,
입력 신호를 수신하고, 지연 출력 신호를 생성하기 위해 기능적인 회로의 적어도 하나의 지연 경로에 관련된 양만큼 상기 입력 신호를 지연하도록 구성된 적어도 하나의 지연 회로; 및
상기 지연 출력 신호에 반응하는 AVS 회로 ― 상기 AVS 회로는,
상기 기능적인 회로에 대한 타겟 동작 주파수 및 상기 지연 출력 신호의 지연 정보에 기반하여 전압 레벨 설정 신호를 생성하며;
상기 기능적인 회로의 무효한 동작 영역을 분석하도록 상기 기능적인 회로에 대한 증가된 동작 주파수를 시뮬레이션하기 위해 상기 적어도 하나의 지연 경로의 상기 지연을 증가시키도록 구성됨 ―
를 포함하는, 적응형 전압 스케일러. - 제25항에 있어서,
상기 AVS 회로는 상기 기능적인 회로의 현재 동작 주파수에 대한 현재 전압 레벨과 상기 분석된 무효한 동작 영역에서의 상기 시뮬레이션된 증가된 동작 주파수 사이의 전압 마진 허용오차를 결정하도록 추가적으로 구성되는,
적응형 전압 스케일러. - 적응형 전압 스케일러(adaptive voltage scaler: AVS)로서,
입력 신호를 수신하고, 지연 출력 신호를 생성하기 위해 기능적인 회로의 적어도 하나의 지연 경로에 관련된 지연 양만큼 상기 입력 신호를 지연하도록 구성된 적어도 하나의 지연 회로; 및
상기 지연 출력 신호에 반응하고, 상기 지연 출력 신호의 지연 정보에 기반하여 전압 레벨 설정 신호를 생성하도록 구성된 AVS 회로
를 포함하고, 상기 AVS 회로는 상기 전압 레벨이 상기 기능적인 회로로 하여금 무효한 동작 영역에서 동작하도록 하면 전압 마진을 상기 전압 레벨 설정 신호에 부가하도록 추가적으로 구성되는,
적응형 전압 스케일러. - 적응형 전압 스케일러(adaptive voltage scaler: AVS)로서,
입력 신호를 수신하고, 지연 출력 신호를 생성하기 위해 기능적인 회로의 적어도 하나의 지연 경로에 관련된 양만큼 상기 입력 신호를 지연하도록 구성된 적어도 하나의 지연 회로; 및
상기 지연 출력 신호에 반응하고, 상기 지연 출력 신호의 지연 정보 및 상기 기능적인 회로의 노화 표시자에 기반한 전압 레벨 수정에 기반하여 전압 레벨 설정 신호를 생성하도록 구성된 AVS 회로
를 포함하는, 적응형 전압 스케일러. - 제28항에 있어서,
상기 노화 표시자는 상기 기능적인 회로의 파워-온 타임(power-on time)으로 구성된 메모리에 저장된 타이머로 구성되는,
적응형 전압 스케일러. - 기능적인 회로에 대한 전압 레벨을 스케일링하는 방법으로서,
적어도 하나의 지연 회로에서 입력 신호를 수신하는 단계;
지연 출력 신호를 생성하기 위해 기능적인 회로의 적어도 하나의 지연 경로에 관련된 지연 양만큼 상기 입력 신호를 지연하는 단계; 및
상기 기능적인 회로에 대한 타겟 동작 주파수와 관련된 데이터베이스의 전압 레벨, 및 상기 지연 출력 신호의 지연 정보에 기반하여 전압 레벨 설정 신호를 생성하는 단계
를 포함하는, 기능적인 회로에 대한 전압 레벨을 스케일링하는 방법. - 제30항에 있어서,
상기 지연 출력 신호의 상기 지연 정보에 기반하여 상기 데이터베이스에 복수의 학습된 전압 레벨들을 저장하는 단계를 더 포함하는,
기능적인 회로에 대한 전압 레벨을 스케일링하는 방법. - 제31항에 있어서,
온도 센서로부터 수신된 온도 레벨에 추가적으로 기반하여 상기 데이터베이스에 복수의 학습된 전압 레벨들을 저장하는 단계를 더 포함하는,
기능적인 회로에 대한 전압 레벨을 스케일링하는 방법. - 제30항에 있어서,
상기 전압 레벨이 상기 기능적인 회로에 대해 이전에 학습되었는지 여부를 결정하는 단계; 및
상기 전압 레벨이 상기 기능적인 회로에 대해 이전에 학습되었으면 상기 입력 신호가 안정되기를 기다리지 않고 상기 전압 레벨 설정 신호를 생성하는 단계를 더 포함하는,
기능적인 회로에 대한 전압 레벨을 스케일링하는 방법. - 제30항에 있어서,
상기 기능적인 회로에 대해 증가된 동작 주파수를 시뮬레이션하기 위해 상기 적어도 하나의 지연 경로의 상기 지연 양을 증가시키는 단계; 및
상기 시뮬레이션된 증가된 동작 주파수에 기반하여 상기 기능적인 회로의 무효한 동작 영역을 분석하는(exploring) 단계를 더 포함하는,
기능적인 회로에 대한 전압 레벨을 스케일링하는 방법. - 제34항에 있어서,
상기 기능적인 회로의 현재 동작 주파수에 대한 현재 전압 레벨과 상기 분석된 무효한 동작 영역에서의 상기 시뮬레이션된 증가된 동작 주파수 사이의 전압 마진 허용오차(tolerance)를 결정하는 단계를 더 포함하는,
기능적인 회로에 대한 전압 레벨을 스케일링하는 방법. - 제30항에 있어서,
상기 입력 신호의 동작 주파수보다 더 낮은 동작 주파수들과 관련된 더 높은 전압 레벨들에서 상기 데이터베이스에 상기 전압 레벨을 퍼퓰레이팅(populating)하는 단계를 더 포함하는,
기능적인 회로에 대한 전압 레벨을 스케일링하는 방법. - 제30항에 있어서,
상기 전압 레벨이 상기 기능적인 회로로 하여금 무효한 동작 영역에서 동작하도록 하면 전압 마진을 상기 전압 레벨 설정 신호에 부가하는 단계를 더 포함하는,
기능적인 회로에 대한 전압 레벨을 스케일링하는 방법. - 제30항에 있어서,
상기 전압 레벨이 상기 기능적인 회로로 하여금 무효한 동작 영역에서 동작하도록 하면, 상기 데이터베이스의 상기 전압 레벨에 전압 마진을 부가하는 단계를 더 포함하는,
기능적인 회로에 대한 전압 레벨을 스케일링하는 방법. - 회로로서,
기능적인 회로; 및
상기 기능적인 회로에 연결된 적응형 전압 스케일러
를 포함하고, 상기 적응형 전압 스케일러는,
입력 신호를 수신하고, 지연 출력 신호를 생성하기 위해 기능적인 회로의 적어도 하나의 지연 경로에 관련된 지연 양만큼 상기 입력 신호를 지연하도록 구성된 적어도 하나의 지연 회로; 및
데이터베이스에 연결되고, 상기 지연 출력 신호에 반응하며, 상기 기능적인 회로에 대한 타겟 동작 주파수와 관련된 상기 데이터베이스의 전압 레벨 및 상기 지연 출력 신호의 지연 정보에 기반하여, 전압 레벨 설정 신호를 생성하도록 구성된 AVS 회로를 포함하는,
회로. - AVS 모듈로 하여금, 기능적인 회로에 대한 타겟 동작 주파수와 관련된 데이터베이스의 전압 레벨, 및 상기 기능적인 회로의 적어도 하나의 지연 경로에 관한 지연 양을 나타내는 지연 출력 신호의 지연 정보에 기반하여, 전압 레벨 설정 신호를 생성하도록 하기 위한 컴퓨터 실행가능 명령들이 저장된 컴퓨터 판독가능 매체.
- 제40항에 있어서,
상기 명령들은 추가적으로 상기 AVS 모듈로 하여금, 상기 지연 출력 신호의 상기 지연 정보에 기반하여 상기 데이터베이스에 복수의 학습된 전압 레벨들을 저장하도록 하는,
컴퓨터 판독가능 매체. - 제40항에 있어서,
상기 명령들은 추가적으로, 상기 전압 레벨이 상기 기능적인 회로에 대해 이전에 학습되었으면 상기 AVS 모듈로 하여금 입력 신호가 안정되기를 기다리지 않고 상기 전압 레벨 설정 신호를 생성하도록 하는,
컴퓨터 판독가능 매체. - 제40항에 있어서,
상기 명령들은 추가적으로, 상기 AVS 모듈로 하여금, 상기 기능적인 회로의 무효한 동작 영역을 분석하기 위해 상기 기능적인 회로에 대한 증가된 동작 주파수를 시뮬레이션하기 위해 상기 적어도 하나의 지연 경로의 상기 지연 양을 증가시키도록 하는,
컴퓨터 판독가능 매체. - 제40항에 있어서,
상기 명령들은 상기 AVS 모듈로 하여금, 더 높은 동작 주파수에 대응하는 상기 데이터베이스의 전압 레벨을 지닌 상기 데이터베이스의 적어도 하나의 전압 레벨을 퍼퓰레이트(populate)하도록 하는,
컴퓨터 판독가능 매체. - 제40항에 있어서,
상기 명령들은 추가적으로, 상기 전압 레벨이 상기 기능적인 회로로 하여금 무효한 동작 영역에서 동작하도록 하면 상기 AVS 모듈이 상기 전압 레벨 설정 신호에 전압 마진을 부가하도록 하는,
컴퓨터 판독가능 매체. - 제40항에 있어서,
상기 명령들은 추가적으로, 상기 AVS 모듈로 하여금, 상기 기능적인 회로의 노화 표시자에 기반하여 상기 전압 레벨 설정 신호에 전압 레벨 수정을 적용하도록 하는,
컴퓨터 판독가능 매체.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16488209P | 2009-03-30 | 2009-03-30 | |
US61/164,882 | 2009-03-30 | ||
US22277909P | 2009-07-02 | 2009-07-02 | |
US61/222,779 | 2009-07-02 | ||
PCT/US2010/029220 WO2010117795A2 (en) | 2009-03-30 | 2010-03-30 | Adaptive voltage scalers (avss), systems, and related methods |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20120003927A true KR20120003927A (ko) | 2012-01-11 |
KR101402178B1 KR101402178B1 (ko) | 2014-05-30 |
Family
ID=42199391
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020117025962A KR101402178B1 (ko) | 2009-03-30 | 2010-03-30 | 적응형 전압 스케일링 |
Country Status (8)
Country | Link |
---|---|
US (3) | US8797095B2 (ko) |
EP (2) | EP2414908B1 (ko) |
JP (1) | JP5259877B2 (ko) |
KR (1) | KR101402178B1 (ko) |
CN (2) | CN104536555B (ko) |
ES (2) | ES2678296T3 (ko) |
HU (1) | HUE038104T2 (ko) |
WO (1) | WO2010117795A2 (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150022593A (ko) * | 2013-08-23 | 2015-03-04 | 삼성전자주식회사 | 전자 장치의 동적 전압 주파수 제어 방법 및 장치 |
KR20170039073A (ko) * | 2014-06-25 | 2017-04-10 | 어드밴스드 마이크로 디바이시즈, 인코포레이티드 | 전력 공급 모니터를 사용하여 전력 공급 교정 |
Families Citing this family (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2414908B1 (en) | 2009-03-30 | 2020-08-12 | QUALCOMM Incorporated | Adaptive voltage scaling |
US8661274B2 (en) * | 2009-07-02 | 2014-02-25 | Qualcomm Incorporated | Temperature compensating adaptive voltage scalers (AVSs), systems, and methods |
US8811068B1 (en) | 2011-05-13 | 2014-08-19 | Suvolta, Inc. | Integrated circuit devices and methods |
US8819603B1 (en) | 2011-12-15 | 2014-08-26 | Suvolta, Inc. | Memory circuits and methods of making and designing the same |
US8464199B1 (en) | 2012-05-16 | 2013-06-11 | International Business Machines Corporation | Circuit design using design variable function slope sensitivity |
US20140028364A1 (en) * | 2012-07-27 | 2014-01-30 | Lsi Corporation | Critical path monitor hardware architecture for closed loop adaptive voltage scaling and method of operation thereof |
TW201413437A (zh) * | 2012-09-25 | 2014-04-01 | Msi Computer Shenzhen Co Ltd | 多階段降低cpu能耗的節能裝置 |
US20140136177A1 (en) * | 2012-11-09 | 2014-05-15 | Mediatek Inc. | Critical path emulating apparatus using hybrid architecture |
KR101979665B1 (ko) * | 2012-11-22 | 2019-05-20 | 삼성전자 주식회사 | 구동 상태별 구동 조건 제어 방법 및 이를 지원하는 단말기 |
US9223327B1 (en) | 2012-11-26 | 2015-12-29 | Marvell International Ltd. | Universal adaptive voltage scaling system |
US9218044B2 (en) * | 2012-11-27 | 2015-12-22 | International Business Machines Corporation | Computing system frequency target monitor |
US8984308B2 (en) * | 2012-12-03 | 2015-03-17 | Qualcomm Incorporated | System and method of adaptive voltage scaling |
US9378803B2 (en) * | 2013-03-15 | 2016-06-28 | Qualcomm Incorporated | System and method to regulate operating voltage of a memory array |
DE102013206300B4 (de) * | 2013-04-10 | 2014-11-27 | RACYICS GmbH | Hardware Performance Monitor für Mikroelektronische Schaltungen mit adaptiver Spannungsversorgungsregelung |
US9195291B2 (en) | 2013-06-21 | 2015-11-24 | Apple Inc. | Digital power estimator to control processor power consumption |
US9304573B2 (en) * | 2013-06-21 | 2016-04-05 | Apple Inc. | Dynamic voltage and frequency management based on active processors |
CN103345299B (zh) * | 2013-07-24 | 2016-03-30 | 华为技术有限公司 | 一种电压调整方法及相应的hpm、芯片和芯片*** |
US9606605B2 (en) * | 2014-03-07 | 2017-03-28 | Apple Inc. | Dynamic voltage margin recovery |
CN104035018B (zh) * | 2014-06-12 | 2017-04-19 | 华为技术有限公司 | 电压自适应调整电路和芯片 |
KR102271469B1 (ko) | 2014-10-24 | 2021-06-30 | 삼성전자주식회사 | 반도체 장치 및 이를 포함하는 반도체 시스템 |
WO2016087002A1 (en) * | 2014-12-05 | 2016-06-09 | Telefonaktiebolaget Lm Ericsson (Publ) | Voltage regulator mechanism, electronic device, method and computer program |
JP6377560B2 (ja) * | 2015-03-24 | 2018-08-22 | シャープ株式会社 | 情報処理装置、cpu印加電圧制御装置、情報処理装置の制御方法 |
US9484892B1 (en) | 2015-09-10 | 2016-11-01 | Qualcomm Incorporated | Integrated circuit adaptive voltage scaling with de-aging |
CN107132904B (zh) * | 2016-02-29 | 2020-12-15 | 华为技术有限公司 | 一种ddr***的控制***及控制方法 |
KR20170124017A (ko) | 2016-04-29 | 2017-11-09 | 삼성전자주식회사 | 동작 전압을 조절하는 메모리 장치, 메모리 장치를 제어하는 어플리케이션 프로세서 및 메모리 장치의 동작방법 |
US10338670B2 (en) | 2016-06-10 | 2019-07-02 | Microsoft Technology Licensing, Llc | Input voltage reduction for processing devices |
US10310572B2 (en) | 2016-06-10 | 2019-06-04 | Microsoft Technology Licensing, Llc | Voltage based thermal control of processing device |
US10248186B2 (en) | 2016-06-10 | 2019-04-02 | Microsoft Technology Licensing, Llc | Processor device voltage characterization |
US10209726B2 (en) | 2016-06-10 | 2019-02-19 | Microsoft Technology Licensing, Llc | Secure input voltage adjustment in processing devices |
KR20180055143A (ko) | 2016-11-16 | 2018-05-25 | 삼성전자주식회사 | 시스템 온 칩, 이를 포함하는 장치 및 이의 구동 방법 |
JP2018106591A (ja) * | 2016-12-28 | 2018-07-05 | ルネサスエレクトロニクス株式会社 | 半導体装置、動作制御方法、及びプログラム |
US10430310B2 (en) * | 2017-04-01 | 2019-10-01 | Intel Corporation | Dynamic voltage-frequency curve management |
JP6297243B1 (ja) * | 2017-07-11 | 2018-03-20 | 三菱電機株式会社 | 処理装置 |
CN109510621B (zh) * | 2017-09-15 | 2022-06-17 | 瑞芯微电子股份有限公司 | 一种自适应电压频率调节方法和装置 |
US11953970B2 (en) | 2019-01-23 | 2024-04-09 | Minima Processor Oy | System with microelectronic circuit, and a method for controlling the operation of a microelectronic circuit |
US11036275B2 (en) * | 2019-03-29 | 2021-06-15 | Intel Corporation | Detection of known workload patterns |
US11543872B2 (en) * | 2019-07-02 | 2023-01-03 | Microsoft Technology Licensing, Llc | Dynamically adjusting device operating voltage based on device performance |
US11579643B2 (en) * | 2019-11-10 | 2023-02-14 | Realtek Semiconductor Corp. | Adaptive voltage scaling scanning method and associated electronic device |
CN113031736A (zh) * | 2019-12-09 | 2021-06-25 | 华为技术有限公司 | 一种电压调节方法和电子设备 |
US11747852B2 (en) * | 2019-12-23 | 2023-09-05 | Advanced Micro Devices, Inc. | Method and apparatus for maintaining stable operation of servers in a data center |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6944780B1 (en) | 2002-01-19 | 2005-09-13 | National Semiconductor Corporation | Adaptive voltage scaling clock generator for use in a digital processing component and method of operating the same |
US7698583B2 (en) * | 2002-10-03 | 2010-04-13 | Via Technologies, Inc. | Microprocessor capable of dynamically reducing its power consumption in response to varying operating temperature |
US7228242B2 (en) * | 2002-12-31 | 2007-06-05 | Transmeta Corporation | Adaptive power control based on pre package characterization of integrated circuits |
US20050076253A1 (en) * | 2003-10-05 | 2005-04-07 | De-Jen Lu | Method of url-based power management and associated web browsing device |
GB2408116B (en) * | 2003-11-14 | 2006-09-20 | Advanced Risc Mach Ltd | Operating voltage determination for an integrated circuit |
US7577859B2 (en) | 2004-02-20 | 2009-08-18 | International Business Machines Corporation | System and method of controlling power consumption in an electronic system by applying a uniquely determined minimum operating voltage to an integrated circuit rather than a predetermined nominal voltage selected for a family of integrated circuits |
WO2005125012A1 (en) | 2004-06-15 | 2005-12-29 | Koninklijke Philips Electronics N.V. | Adaptive control of power supply for integrated circuits |
CN101069147B (zh) * | 2004-11-10 | 2011-07-06 | 飞思卡尔半导体公司 | 使用多个参考电路来控制电压和频率的装置和方法 |
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 |
US7289921B1 (en) | 2005-05-26 | 2007-10-30 | National Semiconductor Corporation | System and method for providing an improved voltage monitor for an adjustable supply voltage in adaptive voltage scaling |
US7417482B2 (en) * | 2005-10-31 | 2008-08-26 | Qualcomm Incorporated | Adaptive voltage scaling for an electronics device |
US7564259B2 (en) * | 2005-12-13 | 2009-07-21 | International Business Machines Corporation | Digital circuit with dynamic power and performance control via per-block selectable operating voltage |
CN100394797C (zh) * | 2006-04-13 | 2008-06-11 | 上海交通大学 | 基于avs运动补偿的亮度插值器的vlsi实现方法 |
US9134782B2 (en) * | 2007-05-07 | 2015-09-15 | Nvidia Corporation | Maintaining optimum voltage supply to match performance of an integrated circuit |
WO2008141873A1 (en) | 2007-05-22 | 2008-11-27 | International Business Machines Corporation | Method and unit for power management of a microprocessor |
WO2009010920A2 (en) * | 2007-07-19 | 2009-01-22 | Nxp B.V. | Semi-adaptive voltage scaling for low-energy digital vlsi-design |
US8725488B2 (en) * | 2007-07-26 | 2014-05-13 | Qualcomm Incorporated | Method and apparatus for adaptive voltage scaling based on instruction usage |
US7915910B2 (en) | 2009-01-28 | 2011-03-29 | Apple Inc. | Dynamic voltage and frequency management |
EP2414908B1 (en) | 2009-03-30 | 2020-08-12 | QUALCOMM Incorporated | Adaptive voltage scaling |
US8661274B2 (en) * | 2009-07-02 | 2014-02-25 | Qualcomm Incorporated | Temperature compensating adaptive voltage scalers (AVSs), systems, and methods |
US8378738B1 (en) | 2009-10-16 | 2013-02-19 | Marvell International Ltd. | Adaptive voltage scaling using a delay line |
US8004329B1 (en) * | 2010-03-19 | 2011-08-23 | National Semiconductor Corporation | Hardware performance monitor (HPM) with variable resolution for adaptive voltage scaling (AVS) systems |
US8572426B2 (en) * | 2010-05-27 | 2013-10-29 | National Semiconductor Corporation | Hardware performance monitor (HPM) with extended resolution for adaptive voltage scaling (AVS) systems |
US8531225B1 (en) * | 2012-05-18 | 2013-09-10 | Mediatek Singapore Pte. Ltd. | Configurable critical path emulator |
-
2010
- 2010-03-30 EP EP10712241.8A patent/EP2414908B1/en active Active
- 2010-03-30 HU HUE15173586A patent/HUE038104T2/hu unknown
- 2010-03-30 ES ES15173586.7T patent/ES2678296T3/es active Active
- 2010-03-30 KR KR1020117025962A patent/KR101402178B1/ko active IP Right Grant
- 2010-03-30 CN CN201510020591.3A patent/CN104536555B/zh active Active
- 2010-03-30 WO PCT/US2010/029220 patent/WO2010117795A2/en active Application Filing
- 2010-03-30 JP JP2012502323A patent/JP5259877B2/ja active Active
- 2010-03-30 ES ES10712241T patent/ES2830123T3/es active Active
- 2010-03-30 CN CN201080014245.XA patent/CN102365606B/zh active Active
- 2010-03-30 EP EP15173586.7A patent/EP2955605B1/en active Active
- 2010-03-30 US US12/750,123 patent/US8797095B2/en active Active
-
2014
- 2014-04-14 US US14/251,674 patent/US9092046B2/en active Active
- 2014-07-03 US US14/323,096 patent/US9122291B2/en active Active
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150022593A (ko) * | 2013-08-23 | 2015-03-04 | 삼성전자주식회사 | 전자 장치의 동적 전압 주파수 제어 방법 및 장치 |
KR20170039073A (ko) * | 2014-06-25 | 2017-04-10 | 어드밴스드 마이크로 디바이시즈, 인코포레이티드 | 전력 공급 모니터를 사용하여 전력 공급 교정 |
Also Published As
Publication number | Publication date |
---|---|
WO2010117795A2 (en) | 2010-10-14 |
JP5259877B2 (ja) | 2013-08-07 |
EP2955605B1 (en) | 2018-04-18 |
EP2414908B1 (en) | 2020-08-12 |
US20140312951A1 (en) | 2014-10-23 |
WO2010117795A3 (en) | 2010-12-02 |
HUE038104T2 (hu) | 2018-09-28 |
CN102365606A (zh) | 2012-02-29 |
KR101402178B1 (ko) | 2014-05-30 |
ES2678296T3 (es) | 2018-08-10 |
CN102365606B (zh) | 2015-02-18 |
JP2012522293A (ja) | 2012-09-20 |
CN104536555A (zh) | 2015-04-22 |
US9092046B2 (en) | 2015-07-28 |
EP2414908A2 (en) | 2012-02-08 |
CN104536555B (zh) | 2017-05-24 |
US8797095B2 (en) | 2014-08-05 |
EP2955605A1 (en) | 2015-12-16 |
US20110080202A1 (en) | 2011-04-07 |
US9122291B2 (en) | 2015-09-01 |
US20140225658A1 (en) | 2014-08-14 |
ES2830123T3 (es) | 2021-06-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101402178B1 (ko) | 적응형 전압 스케일링 | |
EP2449446B1 (en) | TEMPERATURE COMPENSATING ADAPTIVE VOLTAGE SCALERS (AVSs), SYSTEMS, AND METHODS | |
JP5706007B2 (ja) | オンチップ電圧調整器を有する半導体デバイス | |
JP5745029B2 (ja) | 測定された動作特性に基づいてクロック信号を調整するための回路、システムおよび方法 | |
EP2477090A2 (en) | Coordinating performance parameters in multiple circuits | |
CN107924225B (zh) | 用于动态地调整存储器状态转变定时器的***和方法 | |
US20140149772A1 (en) | Using a Linear Prediction to Configure an Idle State of an Entity in a Computing Device | |
US20120297224A1 (en) | Power Management Method and Device Thereof | |
JP2014006905A (ja) | 熱制御装置及び方法 | |
KR20080069046A (ko) | 공정 변화에 대한 정보를 이용하여 공급전압/공급주파수를제어할 수 있는 장치와 방법 | |
CN117642710A (zh) | 用于响应于电压下降在超频期间启用时钟拉伸的***和方法 | |
KR20180058612A (ko) | 반도체 장치 및 그것의 동작 방법 | |
JP2011227937A (ja) | 電源電圧調整装置、記録媒体および電源電圧調整方法 | |
US20230108736A1 (en) | Techniques for identification and correction of clock duty-cycle | |
US9935542B2 (en) | Methods and apparatuses for adaptive dynamic voltage control for optimizing energy per operation per a given target speed | |
JP2004193260A (ja) | 回路設計装置および方法、素子、製造装置、並びにプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
X091 | Application refused [patent] | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20170330 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20180329 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20190327 Year of fee payment: 6 |