KR20180058773A - 프로세싱 시스템들에서 전압 편차들 제어 - Google Patents
프로세싱 시스템들에서 전압 편차들 제어 Download PDFInfo
- Publication number
- KR20180058773A KR20180058773A KR1020187011307A KR20187011307A KR20180058773A KR 20180058773 A KR20180058773 A KR 20180058773A KR 1020187011307 A KR1020187011307 A KR 1020187011307A KR 20187011307 A KR20187011307 A KR 20187011307A KR 20180058773 A KR20180058773 A KR 20180058773A
- Authority
- KR
- South Korea
- Prior art keywords
- voltage deviation
- transaction
- pipeline
- processing system
- transactions
- Prior art date
Links
Images
Classifications
-
- 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
- G06F1/329—Power saving characterised by the action undertaken by task scheduling
-
- 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/3206—Monitoring of events, devices or parameters that trigger a change in power modality
-
- 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 Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Sources (AREA)
- Advance Control (AREA)
- Microcomputers (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
시스템들 및 방법들은 프로세싱 시스템들에서 전압 편차들을 제어하는 것에 관한 것이다. 스케줄러는 트랜잭션들을 수신하고 파이프라인에서 실행을 위해 발행된다. 특정 트랜잭션이 파이프라인에서 실행되는 경우 발생할 전압 편차는, 트랜잭션이 발행되기 전에 추정된다. 임계치 비교기들은, 추정된 전압 편차가 특정 임계치들을 초과하여 전압 오버슛들 또는 언더슛들을 유발하는지를 결정하는데 사용된다. 스케줄러는, 트랜잭션이 파이프라인에서 실행되도록 발행되기 전에, 가능한 전압 오버슛들 또는 언더슛들을 완화하기 위해 하나 또는 그 초과의 수정 조치, 이를테면 파이프라인에서 에너지를 증가시키거나 감소시키는 것을 구현하도록 구성된다.
Description
[0001]
개시된 양상들은 프로세싱 시스템들에서 전압 편차들을 제어하는 것에 관한 것이다. 보다 구체적으로, 예시적인 양상들은 전압 편차들을 미리 추정하도록 구성된 스케줄러에 관한 것이고, 스케줄링 트랜잭션(scheduling transaction)들 전에 전압 오버슛(overshoot)들 또는 언더슛(undershoot)들을 완화하기 위한 수정 조치를 구현한다.
[0002]
프로세서들 및 마이크로프로세서들에서 전력 소비를 관리하는 것은 중요한 설계 고려사항이다. 예컨대, 감소된 배터리 수명 및 증가된 열 생성은, 전력 소비가 증가할 때, 보다 구체적으로 프로세서가 집적될 수 있는 칩 또는 다이에 걸쳐 전력 분포의 편차들 또는 노이즈가 존재할 때 발생하는 문제들의 예들이다.
[0003]
일부 프로세서들은 SoC(system-on-chip) 상의 상이한 컴포넌트들 및 서브시스템들의 가변 전력 및 전압 값들에 맞추기 위해 전압 조정기들 및 맞춤형 PDN(power delivery/distribution network)들을 이용한다. 전압 및 전력 편차들이 프로세서상에서 프로그램들의 실행 동안 발생하는 것을 방지하거나 완화하는 것이 바람직하다. 그러나, 상이한 프로그램들이 SoC의 컴포넌트들에 상이하게 스트레스를 줄 수 있기 때문에 다양한 프로그램들에 걸쳐 그런 편차들을 제어하는 것이 어려울 수 있다. 다양한 컴포넌트들로의 공급 전류는 매우 작은 시간 기간들 내에서 크게 가변할 수 있다. 전류의 변동은 미분 표현(dI/dt) 측면에서 측정되고, 여기서 I는 전류이고 t는 시간이다. 주어진 인덕턴스(L)에 대해, 전압 강하(V)는 표현 V = L(dI/dt)에 의해 주어진다. 따라서, dI/dt를 제어함으로써, 전압 편차들을 관리하고 대응하여 (전력이 V*I이기 때문에) 전력 변동들을 관리하는 것이 가능하다.
[0004]
이 목적을 위해, 전압 편차들을 제어하기 위한 일부 노력들은 예컨대 프로세서의 개별 클록 사이클들 동안 프로세서 또는 SoC의 기능 블록들의 활동 레벨들을 모니터링하는 것에 집중된다. 예컨대, 클록 게이팅 기법들은 각각의 클록 사이클에서 기능 블록들의 특정 특성들에 기반하여 특정 기능 블록들을 턴 온하거나 턴 오프하는데 사용될 수 있다. 각각의 기능 블록에 대한 활성 및 유휴 상태들(즉, 온/오프 상태들)에서 전류 소비는 예컨대 저-레벨 회로 시뮬레이션들에 기반하여 미리 알려진다. 프로세서는 기능 블록이 특정 클록 사이클에서 활성인지 아닌지 여부에 기반하여, 예컨대 그 특정 클록 사이클에서 기능 블록의 전류 소비를 결정하기 위한 모니터(하드웨어 및/또는 소프트웨어의 적절한 조합을 사용하여 구현될 수 있음)를 포함할 수 있다. 모니터는 각각의 클록 사이클에서 다양한 기능 블록들의 전류 소비를 결정하고 이들을 함께 가산하여 클록 사이클에서 프로세서의 전체 전류 소비를 결정할 수 있다. 모니터는 (예컨대, PDN의 주어진 인덕턴스/캐패시턴스에 대해) 계단(step) 응답 또는 임펄스 응답을 계산하여, 클록 사이클에서의 전압 편차를 획득하도록 구성될 수 있다.
[0005]
모니터에는 허용가능한 최대/포지티브 및 최소/네거티브 전압 편차 임계치들이 제공될 수 있다. 각각 포지티브 또는 네거티브 전압 편차 임계치들에 대해 전압 오버슛들 또는 언더슛들이 있다면, 모니터는 그런 오버슛들 또는 언더슛들에 반응하도록 구성될 수 있다. 예컨대, 네거티브 전압 편차 임계치에 대해 언더슛이 존재하면(즉, 전압 편차가 네거티브 전압 편차 임계치 아래로 떨어짐(또는 네거티브 방향으로 초과됨)), 모니터는 전압 편차를 완화시키기 위해 전류를 감소시킬 액션들이 취해지게 할 수 있다. 예컨대, 명령 프로세싱이 중단될 수 있고, 클록 게이팅(gating)이 구현될 수 있는 식이다. 다른 한편, 포지티브 전압 편차 임계치에 대해 오버슛이 존재하면(즉, 전압 편차가 포지티브 전압 편차 임계치 위로 상승함(또는 포지티브 방향으로 초과함)), 모니터는 이를테면 더미(dummy) 연산들(예컨대, 무-연산들 또는 "NOP들")을 도입하여, 전압 편차를 완화하기 위해 전류를 소비시키는 전류 소비를 증가시킬 액션들이 수행되게 할 수 있다.
[0006]
따라서, 모니터는 전압 편차들에 반응하고 수정 액션들을 구현하기 위한 피드백 루프 또는 다른 제어 시스템들을 포함할 수 있다. 그러나, 전압 편차들이 발생할 때부터 수정 액션들이 구현될 수 있을 때까지 시간 지연이 발생된다. 따라서, 프로세서 또는 SoC는, 전압 편차가 발생할 때부터 시스템이 반응하여 수정 조치를 구현할 수 있을 때까지 중간 지속기간에서 큰 전압 편차들의 악영향들로부터 고통을 받을 수 있다. 이런 중간 지속기간은 위에서 설명된 바와 같이 수정 조치를 구현하는 것에 관련된 제어 로직 및 피드백 경로들에 관련된 레이턴시(latency)들로 인해 일부 경우들에서 클 수 있다.
[0007]
따라서, 종래의 기법들에 의해 직면된 위에서 언급된 난제들로부터 고통을 받지 않고 전압 편차들 및 전력 변동들을 효과적으로 제어할 수 있는 해결책들에 대한 필요가 존재한다.
[0008]
본 발명의 예시적인 양상들은 프로세싱 시스템들에서 전압 편차들을 제어하기 위한 시스템들 및 방법들에 관한 것이다. 예시적인 양상들에서, 스케줄러는 트랜잭션들을 수신하고 파이프라인(pipeline)에서 실행되도록 스케줄링된다. 특정 트랜잭션이 파이프라인에서 실행되는 경우 발생할 전압 편차는, 트랜잭션이 스케줄링되기 전에 추정된다. 임계치 비교기들은, 추정된 전압 편차가 특정 임계치들을 초과하여 전압 오버슛들 또는 언더슛들을 유발하는지를 결정하는데 사용된다. 스케줄러는, 트랜잭션이 파이프라인에서 실행되도록 스케줄링되기 전에, 가능한 전압 오버슛들 또는 언더슛들을 완화하기 위해 하나 또는 그 초과의 수정 조치, 이를테면 파이프라인에서 에너지를 증가시키거나 감소시키는 것을 구현하도록 구성된다.
[0009]
따라서, 예시적인 양상은 프로세싱 시스템에서 전압 편차를 제어하는 방법에 관한 것이고, 방법은, 트랜잭션이 프로세싱 시스템의 파이프라인에서 실행되는 경우 발생할 전압 편차를 추정하는 단계, 추정된 전압 편차가 특정 임계치를 초과하는지를 결정하는 단계, 및 추정된 전압 편차가 특정 임계치를 초과하는 경우, 파이프라인에서 실행될 트랜잭션을 발행하기 전에, 전압 편차를 완화시키기 위한 하나 또는 그 초과의 수정 조치를 구현하는 단계를 포함한다.
[0010]
다른 예시적인 양상은 트랜잭션들을 수신하고 파이프라인에서 실행될 트랜잭션들을 스케줄링하도록 구성된 스케줄러, 트랜잭션이 파이프라인에서 실행되는 경우 발생할 전압 편차를 추정하도록 구성된 필터, 및 추정된 전압 편차가 특정 임계치를 초과하는지를 결정하기 위한 임계치 비교기를 포함하는 프로세싱 시스템에 관한 것이고, 스케줄러는, 트랜잭션이 파이프라인에서 실행되도록 발행되기 전에, 전압 편차를 완화하기 위한 하나 또는 그 초과의 수정 조치를 구현하도록 구성된다.
[0011]
또 다른 예시적인 양상은 트랜잭션이 프로세싱 시스템의 파이프라인에서 실행되는 경우 발생할 전압 편차를 추정하기 위한 수단, 추정된 전압 편차가 특정 임계치를 초과하는지를 결정하기 위한 수단, 및 추정된 전압 편차가 특정 임계치를 초과하는 경우 트랜잭션이 파이프라인에서 실행되도록 발행되기 전에, 전압 편차를 완화하기 위한 하나 또는 그 초과의 수정 조치를 구현하기 위한 수단을 포함하는 프로세싱 시스템에 관한 것이다.
[0012]
또 다른 예시적인 양상은 코드를 포함하는 비-일시적 컴퓨터 판독가능 저장 매체에 관한 것이고, 코드는, 프로세서에 의해 실행될 때, 프로세서로 하여금, 프로세싱 시스템에서 전압 편차들을 제어하기 위한 연산들을 수행하게 하고, 비-일시적 컴퓨터 판독가능 저장 매체는: 트랜잭션이 프로세싱 시스템의 파이프라인에서 실행되는 경우 발생할 전압 편차를 추정하기 위한 코드, 추정된 전압 편차가 특정 임계치를 초과하는지를 결정하기 위한 코드, 및 추정된 전압 편차가 특정 임계치를 초과하는 경우 파이프라인에서 실행될 트랜잭션을 발행하기 전에, 전압 편차를 완화하기 위한 하나 또는 그 초과의 수정 조치를 구현하기 위한 코드를 포함한다.
[0013]
첨부 도면들은 본 발명의 양상들의 설명에 도움을 주기 위하여 제시되고 그리고 양상들의 제한이 아닌 양상들의 예시를 위해서만 제공된다.
[0014] 도 1은 종래의 프로세싱 시스템의 개략도이다.
[0015] 도 2는 예시적인 프로세싱 시스템의 개략도이다.
[0016] 도 3은 예시적인 양상들에 따른 프로세싱 시스템에서 전압 편차를 제어하는 방법을 도시하는 흐름도이다.
[0017] 도 4는, 본 개시내용의 양상이 유리하게 이용될 수 있는 예시적인 컴퓨팅 디바이스(400)를 예시한다.
[0014] 도 1은 종래의 프로세싱 시스템의 개략도이다.
[0015] 도 2는 예시적인 프로세싱 시스템의 개략도이다.
[0016] 도 3은 예시적인 양상들에 따른 프로세싱 시스템에서 전압 편차를 제어하는 방법을 도시하는 흐름도이다.
[0017] 도 4는, 본 개시내용의 양상이 유리하게 이용될 수 있는 예시적인 컴퓨팅 디바이스(400)를 예시한다.
[0018]
본 발명의 양상들은 본 발명의 특정 양상들에 관련된 다음 상세한 설명 및 관련된 도면들에 개시된다. 대안적인 양상들은 본 발명의 범위에서 벗어나지 않고 고안될 수 있다. 부가적으로, 본 발명의 잘-알려진 엘리먼트들은 상세히 설명되지 않거나 또는 본 발명의 관련된 세부사항들을 모호하게 하지 않도록 생략될 것이다.
[0019]
"예시적인"이라는 단어는 "예, 경우, 또는 예시로서 역할을 하는"을 의미하기 위하여 본원에서 사용된다. "예시적인"으로서 본원에 설명된 임의의 양상은 반드시 다른 양상들에 비해 바람직하거나 유리한 것으로 이해되지 않는다. 마찬가지로, "본 발명의 양상들"이라는 용어는, 본 발명의 모든 양상들이 논의된 특징, 장점 또는 동작 모드를 포함하는 것을 요구하지 않는다.
[0020]
본원에 사용된 용어는 단지 특정 양상들을 설명하는 목적을 위한 것이고 본 발명의 양상들의 제한이도록 의도되지 않는다. 본원에 사용된 바와 같이, 단수 형태들은, 문맥이 명확하게 다르게 표시하지 않으면, 또한 복수의 형태들을 포함하도록 의도된다. 본원에 사용될 때 용어들 "포함하다" 및/또는 "포함하는"이라는 용어들이 언급된 피처(feature)들, 정수들, 단계들, 동작들, 엘리먼트들, 및/또는 컴포넌트들의 존재를 특정하지만, 하나 또는 그 초과의 다른 피처들, 정수들, 단계들, 동작들, 엘리먼트들, 컴포넌트들, 및/또는 이들의 그룹들의 존재 또는 부가를 배제하지 않는 것이 추가로 이해될 것이다.
[0021]
추가로, 많은 양상들은 예컨대 컴퓨팅 디바이스의 엘리먼트들에 의해 수행될 액션들의 시퀀스들의 측면에서 설명된다. 본원에 설명된 다양한 액션들이 특정 회로들(예컨대, ASIC(application specific integrated circuit)들)에 의해, 하나 또는 그 초과의 프로세서들에 의해 실행되는 프로그램 명령들에 의해, 또는 둘 모두의 조합에 의해 수행될 수 있다는 것이 인식될 것이다. 부가적으로, 본원에 설명된 액션들의 이들 시퀀스는, 실행 시 연관된 프로세서로 하여금 본원에 설명된 기능성을 수행하게 할 컴퓨터 명령들의 대응하는 세트를 내부에 저장한 임의의 형태의 컴퓨터 판독가능 저장 매체 내에 완전히 구현되는 것으로 고려될 수 있다. 따라서, 본 발명의 다양한 양상들은 다수의 상이한 형태들로 구현될 수 있고, 이들 모두는 청구된 청구 대상의 범위 내에 있는 것으로 고려되었다. 게다가, 본원에 설명된 양상들의 각각에 대해, 임의의 그런 양상들의 대응하는 형태는 예컨대 설명된 액션을 수행하도록 "구성된 로직"으로서 본원에서 설명될 수 있다.
[0022]
일반적으로, 개시된 양상들은 프로세서 또는 SoC 같은 시스템의 동적 프로세스 모델들을 사용하는 MPC(model predictive controller)들을 포함한다. MPC들을 사용하여, 예컨대 미래 시간 슬롯의 활동들이 예측될 수 있다. 미래 시간 슬롯의 예측들을 사용하여, 고려 중인 현재 시간 슬롯이 관리되고 최적화될 수 있다. 현재 및 미래 시간 슬롯들은 일부 경우들에서 프로세서의 클록 사이클들일 수 있다. 따라서, MPC들을 사용하여, 미래 클록 사이클의 전압 및 전력 편차들이 예측되거나 추정될 수 있고, 그리고 수정 액션들이 추정된 전압 및 전력 편차들을 완화하기 위해 취해질 수 있다.
[0023]
예컨대, 본 개시내용의 양상들에서, 미래 이벤트들이 예측되고 예측들은 바람직하지 않은 전압 노이즈 또는 편차들, 전력 스파이크(spike)들/서지(surge)들, 큰 전류 변동들, 온도 차들 등을 완화하는데 사용된다. 예시적인 양상에 따라, 프로세서의 스케줄러는 프로세서의 명령 파이프라인을 예견하고 미래 트랜잭션들을 스케줄링하는 것이 위의 편차들 중 하나 또는 그 초과를 유도할 수 있는지를 결정함으로써 트랜잭션들을 스케줄링하도록 구성된다. 예시적인 스케줄러는, 예측된 편차들이 완화될 수 있도록 수정 조치가 미래 구현되게 할 수 있다.
[0024]
도 1을 참조하여, 먼저 종래의 스케줄러가 설명될 것이다. 도 1은 임의의 일반 또는 특수 목적 프로세싱 시스템(예컨대, DSP(digital signal processor)) 또는 SoC(system-on-chip)일 수 있는 프로세싱 시스템(100)을 예시한다. 프로세싱 시스템(100)은, 명령들이 저장될 수 있고 그리고 명령들이 리트리빙(retrieve)될 수 있는 메모리 구조, 이를테면 명령 캐시(cache)(I-캐시)(102)를 포함한다. 이 개시내용에서, "트랜잭션들"이라는 용어는 명령 파이프라인, 이를테면 파이프라인(110)에 의해 프로세싱될 수 있는 하나 또는 그 초과의 명령들을 지칭하는데 사용된다. 스케줄러(106)는 I-캐시(102)로부터 명령들 또는 인입 트랜잭션들(104)을 수신하고 파이프라인(110)에서 프로세싱되도록 발행된 트랜잭션들(108)을 제공하도록 구성된다.
[0025]
파이프라인(110)에 제공되는 발행된 트랜잭션들(108)은 또한, 전압 및 전력 편차들이 파이프라인(110)에 발행된 트랜잭션들(108)의 구현 또는 실행 시 발생할 수 있는지를 검출하기 위해 모니터링된다. 이미 언급된 바와 같이, 파이프라인(110)은 하나 또는 그 초과의 클록 사이클들에서 발행된 트랜잭션들(108)을 실행하기 위한 상이한 기능 블록들을 포함할 수 있다. 개별 트랜잭션들의 특정 특성들 또는 속성들에 기반하여, 어느 기능 블록들이 사용될 것인지, 보다 구체적으로 얼마나 많은 전류가 다양한 클록 사이클들에 걸쳐 소비될 것인지를 미리 결정하는 것이 가능하다. 따라서, 발행된 트랜잭션들의 특정 속성들(예컨대, 명령 시맨틱(semantic)들, 연산 코드들) 등은 추출되어 발행된 속성들(112)로 도시된 버스 상에서 필터(114)에 제공될 수 있다. 발행된 속성들(112)은 파이프라인(110)에서 이들 트랜잭션들의 실행 동안 대응하는 발행된 트랜잭션들(108)의 전류 소비를 결정하는데 사용될 수 있다.
[0026]
필터(114)는 위에 언급된 모니터의 부분일 수 있고, 필터(114)는 발행된 속성들(112)에 기반하여 전압 편차 값들을 결정하도록 구성될 수 있다. 예컨대, 필터(114)는 전압 편차 값을 출력하기 위해 전류 소비 또는 보다 구체적으로 발행된 속성들(112)로부터 결정된 시간에 따른 전류 변동(dI/dt)에 대한 디지털 필터, 이를테면 FIR(finite impulse response) 필터, IIR(infinite impulse response) 필터, 계단 함수 응답 등을 구현할 수 있을 수 있다. 임계치 비교기들(116 및 118)은 각각, 전압 편차가 네거티브 전압 편차 임계치 아래로 떨어지는지(또는 네거티브 방향으로 초과하는지)(즉, 전압이 이전 값으로부터 네거티브 전압 편차 임계치보다 더 많이 떨어짐), 또는 전압 편차가 포지티브 전압 편차 임계치 위로 상승하는지(또는 포지티브 방향으로 초과하는지)(즉, 전압이 이전 값으로부터 포지티브 전압 편차 임계치보다 더 많이 상승함)를 결정하기 위해 제공될 수 있다.
[0027]
전압 편차가 네거티브 전압 편차 임계치 아래로 떨어지는(또는 네거티브 방향으로 초과하는) 것을 임계치 비교기(116)가 검출하는 경우, 언더슛(117)이 검출된 것으로 말해진다. 스케줄러(106)에는 언더슛(117)의 통지가 제공된다. 스케줄러(106)는 네거티브 전압 편차 또는 언더슛을 완화하기 위해 수정 조치, 이를테면 트랜잭션들의 발행을 중단하는 것, 파이프라인(110)에서 클록 게이팅이 구현되도록 하는 것 등을 구현하거나 구현되게 할 수 있다.
[0028]
전압 편차가 포지티브 전압 편차 임계치 위로 상승하는(또는 포지티브 방향으로 초과하는) 것을 임계치 비교기(118)가 검출하는 경우, 오버슛(119)이 검출된 것으로 말해진다. 스케줄러(106)에는 오버슛(119)의 통지가 제공된다. 스케줄러(106)는 포지티브 전압 편차 또는 오버슛을 감소시키기 위해, 수정 조치, 이를테면 발행된 트랜잭션들(108)에 대해 NOP들을 발행하는 것 또는 더미 트랜잭션들이 파이프라인(110)에서 구현되게 하는 것을 구현할 수 있거나 구현되게 할 수 있다.
[0029]
언더슛(117) 및 오버슛(119)의 경우들에서, 큰 레이턴시들은 통지들을 생성하여 스케줄러(106)에 제공하는 것뿐 아니라, 예컨대 수정 조치가 구현되게 함으로써 이들 통지들에 대해 반응하는 것에 관련될 수 있다. 관련 레이턴시들에 걸친 중간 지속기간들에서, 프로세싱 시스템(100)은 큰 전압 및 전력 편차들의 악영향들을 받을 수 있다.
[0030]
이제 도 2를 참조하면, 예시적인 프로세싱 시스템(200)이 예시된다. 프로세싱 시스템(200)의 스케줄러(206)는 예컨대 I-캐시(202)로부터 인입 트랜잭션들(204)을 수신할 수 있고, 스케줄러(206)는 발행된 트랜잭션들(208)을 파이프라인(210)에 제공하도록 구성될 수 있다. 이런 맥락에서, 트랜잭션들은, 수행되거나 실행될 때, 에너지를 소비할 수 있는 하나 또는 그 초과의 명령들, 프로그램들 또는 임의의 다른 임무를 지칭할 수 있다. 일부 경우들에서, 트랜잭션은 하나 또는 그 초과의 명령들을 포함할 수 있고, 예컨대, 여기서 프로세싱 시스템(200)은 슈퍼스칼라(superscalar) 프로세싱 또는 VLIW(very large instruction word) 명령들의 프로세싱을 지원하도록 구성될 수 있고, 2 또는 그 초과의 명령들은 병렬로 페치(fetch)되어 실행될 수 있다. 대응하여, 파이프라인(210)은 다수의 기능 블록들을 포함할 수 있고, 다수의 기능 블록들은 하나 또는 그 초과의 명령들을 포함하는 발행된 트랜잭션들(208)의 실행을 지원할 수 있다.
[0031]
프로세싱 시스템(200)의 일 구현에서, 인입 트랜잭션들(204)의 하나 또는 그 초과의 속성들(예컨대, 시맨틱들, 연산 코드들 등)은 인입 속성들(220)로서 도시된 버스 상에서 추출될 수 있다. 예컨대, 특정 인입 트랜잭션(204)은 4개의 컴포넌트 산술 명령들, 이를테면 2개의 곱셈 명령들 및 2개의 가산 명령들을 포함하는 VLIW 명령일 수 있다. 이들 4개의 컴포넌트 명령들에 대한 속성들은 자신의 컴포넌트 명령들의 특성들, 이를테면 연산 코드들(또는 "op-코드들"), 다수의 피연산자들(예컨대, 소스 및 목적지 레지스터들), 연산 모드들(예컨대, 정밀도, 부호있음/부호없음, 반올림 모드 등)을 포함할 수 있다. 인입 트랜잭션(204)을 실행하기 위해 파이프라인(210)에 의해 소비될 에너지는 이들 속성들에 따를 수 있다.
[0032]
따라서, 트랜잭션들의 다양한 속성들과 연관된 에너지는 미리 결정되어 에너지 테이블(225)에 저장될 수 있다. 예컨대, 다양한 속성들을 가진 곱셈 및 가산 명령들을 실행할 때 파이프라인(210)에 의해 소비되는 에너지는 (예컨대, 특정 속성들에 대해 관련된 다양한 기능 블록들에 의해 소비되는 전류의 분석에 기반하여) 미리 결정되고 에너지 테이블(225)에 저장될 수 있다. 전류 사용량(usage)을 결정하는 것은 저-레벨 회로 시뮬레이션 모델들에 기반할 수 있다. 클록 게이팅 모델들은, 파이프라인(210)의 하나 또는 그 초과의 기능 블록들(명시적으로 예시되지 않음)이 대응하는 속성들에 기반하여 하나 또는 그 초과의 명령들의 실행 시 하나 또는 그 초과의 사이클들 또는 파이프라인 스테이지들 동안 턴 온될지 또는 게이팅 오프될지를 결정하는데 사용될 수 있다. 가중치들은 활성 상태 및 유휴 상태의 전류 소비를 표시하기 위해 기능 블록들의 각각과 연관될 수 있다. 각각의 파이프라인 스테이지에 대한 전류 소비 또는 dI/dt는 대응하는 가중치들로 각각의 기능 블록의 소비를 가중(곱셈)하고 이어서 곱들을 합산함으로써 획득될 수 있다. 이것은 다양한 클록 사이클들에 걸쳐 전류 소비 또는 dI/dt의 분포를 제공한다. 전류 소비와 연관된 에너지는 예컨대 기능 블록들과 연관된 저항성 로드에 기반하여(예컨대, 공식 E = I2Rt에 기반하여, 여기서 E는 에너지이고, I는 전류이고, R은 저항이고, 그리고 t는, 에너지가 측정되는 시간 기간임) 결정될 수 있다. 따라서, 각각의 속성과 연관된 에너지가 결정되고, 에너지 테이블(225)에 저장될 수 있다.
[0033]
에너지 테이블(225)은 속성들에 의해 인덱싱(index)될 수 있고, 속성 당 에너지(224)는 인입 속성들(220)의 각각의 속성에 대한 에너지 테이블(225)로부터 획득될 수 있다. 에너지 테이블(225)은 에너지 값들로 프로그래밍될 수 있고 예컨대 대응하는 속성들에 의해 인덱싱될 수 있는 임의의 적절한 메모리 구조(예컨대, ROM(read-only memory))일 수 있다. 일부 경우들에서, 에너지 테이블(225)은 병렬로 2 또는 그 초과의 속성들을 조사하고 2 또는 그 초과의 에너지 값들을 제공하기 위해 다수의 포트들을 지원할 수 있다(그리고 대응하여, 속성 당 에너지(224)인 버스는 인입 속성들(220)의 2 또는 그 초과의 속성들에 대한 에너지 값들을 운반하는 2 또는 그 초과의 버스들을 포함할 수 있음).
[0034]
곱셈기(222)는 각각의 인입 속성(220)을 속성 당 에너지(224)로부터 획득된 이의 대응하는 에너지 값과 곱셈하거나 가중하도록 구성된 하나 또는 그 초과의 곱셈기들을 포함할 수 있다. 가산기(226)는 곱셈기(222)의 하나 또는 그 초과의 곱셈기들로부터 에너지를 어그리게이팅(aggregate)하도록(예컨대, 가중된 값들의 합산 또는 곱들의 합산을 수행하도록) 구성될 수 있다. 가산기(226)에 의해 생성된 곱들의 합산은 인입 에너지(228)에 대응하고, 인입 에너지(228)는 인입 트랜잭션(204)의 누적 에너지를 나타낸다. 스케줄러(206)는 하나 또는 그 초과의 인입 트랜잭션들(204)을 수신하고 발행 큐(207) 내의 대응하는 인입 에너지(228)와 함께 발행을 위해 상기 인입 트랜잭션들(204)을 큐잉할 수 있다.
[0035]
발행 큐(207)는 하나 또는 그 초과의 엔트리(entry)들을 포함할 수 있고, 각각의 엔트리는 적어도 인입 트랜잭션(204) 및 대응하는 인입 에너지(228)를 포함한다. 프로세싱 시스템(200)이 트랜잭션들의 순차적(in-order) 프로세싱을 지원하는 구현들에서, 스케줄러(206)는, 인입 트랜잭션들(204)이 수신되는 순서와 동일한 순서로 (발행된 트랜잭션들(208)로서 도시된 버스 상에서) 트랜잭션들을 파이프라인(210)에 발행할 수 있다. 따라서, 순차적 프로세싱을 위해, 발행된 트랜잭션들(208)은, 발행 큐(207)가 인입 트랜잭션들(204)(및 대응하는 인입 에너지(228))로 채워지는 순서와 동일한 순서로 발행 큐(207)로부터 발행될 수 있다. 일부 경우들에서, 프로세싱 시스템(200)은 비순차적(out-of-order) 프로세싱을 지원할 수 있고, 발행된 트랜잭션들(208)은 비순차적으로 발행될 수 있고 그리고 트랜잭션들이 발행된 트랜잭션들(208) 상에 발행되는 순서는, 발행 큐(207)가 인입 트랜잭션들(204)(및 대응하는 인입 에너지(228))로 채워지는 순서에 대응하지 않을 수 있다.
[0036]
순차적 프로세싱이 구현되든 비순차적 프로세싱이 구현되든 무관하게, 스케줄러(206)는, 발행된 트랜잭션들(208)이 발행 큐(207)로부터 스케줄링되는 순서를 결정하도록 구성될 수 있다. 다른 말로, 제1 트랜잭션이 발행된 트랜잭션들(208)에 발행되면, 스케줄러(206)는 다음 트랜잭션, 말하자면 제2 트랜잭션을 선택하도록 구성될 수 있고, 상기 다음 트랜잭션은 제1 트랜잭션 다음, 발행된 트랜잭션들(208) 상에 발행될 것이다. 유사하게, 스케줄러(206)는 발행된 트랜잭션들(208) 상에 발행될 하나 또는 그 초과의 미래 트랜잭션들을 결정할 수 있다. 이미 설명된 바와 같이, 발행된 제1 트랜잭션에 대응하는 에너지뿐 아니라 다음 또는 미래 트랜잭션들(예컨대, 제2 트랜잭션 및 하나 또는 그 초과의 미래 트랜잭션들)에 대응하는 에너지는 또한 발행 큐(207)로부터 결정될 수 있다.
[0037]
도 2에서, 발행된 트랜잭션들(208) 상에 하나 또는 그 초과의 이미 발행된 트랜잭션들(예컨대, 이미 발행된 제1 트랜잭션)에 대응하는 에너지는 발행된 에너지(212)로서 도시되는 반면, 다음 또는 미래 트랜잭션들에 대응하는 에너지는 다음/미래 에너지(230)로 도시된다. 예시적인 양상들에서, 가능한 미래 전압 편차는 발행된 에너지(212) 및 다음/미래 에너지(230)에 기반하여 추정될 수 있다. 예시를 위해 간단한 경우를 고려하면, 제1 트랜잭션에 대응하는 발행된 에너지(212) 및 제2 트랜잭션에 대응하는 다음/미래 에너지(230)가 실질적으로 동일하면, 제1 트랜잭션 이후 제2 트랜잭션을 발행하는 것은 파이프라인(210)에 의해 소비되는 에너지의 큰 편차를 초래하지 않을 것이다. 그러나, 제2 트랜잭션의 다음/미래 에너지(230)가 제1 트랜잭션의 발행된 에너지(212)보다 (예컨대, 각각의 포지티브 또는 네거티브 임계치들보다 더 큰 양들만큼) 매우 더 높거나 더 낮으면, 제2 트랜잭션을 발생하는 것은 파이프라인(210)에 의해 소비되는 에너지의 대응하는 큰 편차를 초래할 것이다. 편차가 발생할 것을 추정함으로써, 제2 트랜잭션을 스케줄링하기 전에, 스케줄러(206)는, 파이프라인(210)에서 실행될 발행된 트랜잭션들(208)에 대한 제2 트랜잭션을 스케줄링하기 전에, 편차를 감소시키기 위한 수정 조치를 구현할 수 있다.
[0038]
더 상세히, 예컨대, 제1 트랜잭션이 파이프라인(210)에서 실행될 때 제1 전압 레벨이 (예컨대, 파이프라인(210)에서 구체적으로 예시되지 않은 하나 또는 그 초과의 대표 노드들의 전압에 기반하여) 파이프라인(210)에서 설정되는 것을 고려하자. 유사하게, 제2 트랜잭션을 실행하면, 제2 전압 레벨이 파이프라인(210)에 설정될 수 있다. 포지티브 전압 편차 임계치 및 네거티브 전압 편차 임계치는 또한 이런 논의를 위해 가정된다.
[0039]
제1 예에서, 제2 전압 레벨은 포지티브 전압 편차 임계치보다 더 큰 양만큼 제1 전압 레벨보다 클 수 있다(또는 포지티브 방향으로 초과함). 이 예에서, 전압 편차가 포지티브 전압 편차 임계치보다 더 큰 것에 기반하여 제2 전압 레벨이 오버슛을 유발하거나 허용가능하지 않게 높은 포지티브 전압 편차를 유발하는 것이 가정된다. 오버슛을 완화하기 위해, 하나 또는 그 초과의 수정 액션들은 제2 트랜잭션을 스케줄링하기 전에 취해질 수 있다. 예시적인 수정 액션은 하나 또는 그 초과의 중간 트랜잭션들을 스케줄링하는 것을 포함할 수 있고, 상기 중간 트랜잭션들은 파이프라인(210)의 전압 레벨을 제1 전압 레벨보다 더 클 수 있는(그러나 포지티브 전압 편차 임계치보다 더 큰 포지티브 전압 편차를 유발하지 않음) 중간 전압 레벨로 가져올 것이다. 에너지 측면에서, 이들 중간 트랜잭션들은 파이프라인(210)의 에너지를 증가시키는 고 에너지 트랜잭션들로 지칭될 수 있고, 이는 제2 트랜잭션이 스케줄링되기 전에 더 높은 중간 전압 레벨로 유도한다. 따라서, 제2 트랜잭션이 스케줄링될 때, 유발될 수 있는 임의의 가능한 포지티브 전압 편차는 중간 전압 레벨(제1 전압 레벨보다 더 높을 수 있음)에 관련될 것이다. 중간 전압 레벨에 대해 제2 전압 레벨의 포지티브 전압 편차가 포지티브 전압 편차 임계치보다 더 작으면, 제2 트랜잭션이 파이프라인(210)에서 실행될 때 허용가능하지 않게 높은 포지티브 전압 편차 또는 오버슛이 회피될 것이다.
[0040]
유사한 기법은 제2 예에서 네거티브 방향으로 전압 편차를 완화하는데 이용될 수 있고, 제2 전압 레벨은 언더슛을 유발할 수 있거나, 네거티브 전압 편차 임계치보다 허용가능하지 않게 더 큰 양만큼 제1 전압 레벨 아래로 떨어질 수 있다(또는 네거티브 방향으로 초과함). 이 경우에 언더슛을 완화하기 위해, 하나 또는 그 초과의 수정 액션들은 하나 또는 그 초과의 중간 트랜잭션들을 스케줄링하는 것을 포함할 수 있고, 상기 중간 트랜잭션들은 파이프라인(210)의 전압 레벨을 제1 전압 레벨보다 더 작을 수 있는(그러나 허용가능하게 큰 네거티브 전압 편차를 유발하지 않음) 중간 전압 레벨로 가져올 것이다. 에너지 측면에서, 이들 중간 트랜잭션들은 파이프라인(210)의 에너지를 감소시키는 저 에너지 트랜잭션들일 수 있고, 이는 제2 트랜잭션이 스케줄링되기 전에 더 낮은 중간 전압 레벨로 유도한다. 따라서, 제2 트랜잭션이 스케줄링될 때, 유발될 수 있는 임의의 가능한 네거티브 전압 편차는 중간 전압 레벨(제1 전압 레벨보다 더 낮을 수 있음)에 관련될 것이다. 중간 전압 레벨에 대해 제2 전압 레벨의 네거티브 전압 편차가 네거티브 전압 편차 임계치보다 더 작으면, 제2 트랜잭션이 파이프라인(210)에서 실행될 때 허용가능하지 않게 높은 네거티브 전압 편차 또는 오버슛이 회피될 것이다.
[0041]
따라서, 위에서-설명된 제1 및 제2 예들에서, 수정 조치는, 제2 및 추가 트랜잭션들을 스케줄링하기 전에 파이프라인(210)에서 추정된 전압 오버슛들 또는 언더슛들을 완화하기 위해 파이프라인(210)의 에너지를 증가시키거나 감소시키는 것을 포함할 수 있다. 일부 경우들에서, 스케줄러(206)는 또한, 예컨대, 위해 프로세싱 시스템들의 일부 컴포넌트들의 특성들에 기반하여, 제2 및 미래 트랜잭션들을 스케줄링하는 비교적 긴 시간 기간들(예컨대, 몇 클록 사이클들)에 걸쳐 에너지를 기억하거나 유지할 수 있다. 예컨대, 파이프라인(210)에 존재할 수 있는 인덕터들 및 캐패시터들 같은 수동 컴포넌트들은 에너지를 저장할 수 있고 에너지는 다수의 클록 사이클들에 걸쳐 방출될 수 있다. 그러므로, 다음/미래 에너지(214) 및 발행된 에너지(212)의 간단한 비교에 기반하여 포지티브/네거티브 전압 편차들을 정확하게 추정하는 것은 어려울 수 있다. 따라서, 필터(214)가 정확도를 개선하기 위해 제공될 수 있다.
[0042]
필터(214)는 발행된 에너지(212) 및 다음/미래 에너지(230)의 지식에 기반하여 전압 편차를 추정하도록 구성될 수 있다. 필터(214)는 예컨대 전하의 함수(일반적으로, V = E/Q인 것이 인식될 것이고, 여기서 V는 전압(예컨대, 볼트 단위)이고, E는 에너지(예컨대, 주울 단위)이고, 그리고 Q는 전하(예컨대, 쿨롱 단위)임)로서 에너지 변동을 획득하는데 사용된 파이프라인(210)의 시뮬레이션 모델들에 기반하여, 전압 편차를 획득하는데 사용될 수 있는 기술 분야에서 알려진 바와 같은 디지털 필터들, 이를테면 FIR(finite impulse response), IIR(infinite impulse response), 비-선형 필터들 등을 포함할 수 있다. 따라서, 필터(214)는 예컨대 대응하는 전압 편차를 결정하기 위해 파이프라인(210)에서 전하의 분포 및 에너지(제1 및 제2 트랜잭션과 연관된 에너지를 포함함)의 다양한 샘플 포인트들을 고려하도록 구성될 수 있다. 도시된 바와 같이, 필터(214)는 다음/미래 전압 편차(232)를 결정하도록 구성될 수 있고, 다음/미래 전압 편차(232)는, 대응하는 다음/미래 에너지(214)를 가진 하나 또는 그 초과의 미래 트랜잭션들이 파이프라인(210)에서 실행되도록 발행되는 경우 발생할 전압 편차의 추정치이다.
[0043]
대응하여, 프로세싱 시스템(200)은 또한, 다음/미래 전압 편차(232)가 특정 임계 값들을 초과하는지, 또는 다른 말로 (예컨대, 발행 큐(207)로부터 스케줄링되도록 스케줄러(206)에 의해 원래 결정된 순서로) 하나 또는 그 초과의 미래 트랜잭션들을 스케줄링하는 것이 큰 전압 편차들을 초래할 것인지를 결정하기 위해 임계치 비교기들(216 및 218)을 포함할 수 있다. 도시된 바와 같이, 임계치 비교기들(216 및 218)은, 다음/미래 전압 편차(232)가 각각 포지티브 전압 편차 임계치(포지티브 방향으로) 또는 네거티브 전압 편차 임계치(네거티브 방향으로)를 초과하는 경우를 (예컨대, 각각 언더슛(217) 및 오버슛(219)으로 도시된 버스들 상에서) 스케줄러(206)에게 통지할 수 있다. 어느 경우에서나, 즉 언더슛(217)이 리포팅되든 오버슛(219)이 리포팅되든, 스케줄러(206)는, 파이프라인(210)에서 실행될 미래 트랜잭션들(예컨대, 제2 트랜잭션)을 스케줄링하기 전에, 추정된 전압 편차(다음/미래 전압 편차(232))를 완화하기 위한 하나 또는 그 초과의 수정 조치를 구현할 수 있다. 이런 방식으로, 스케줄러(206)는 오버슛들 및 언더슛들을 회피하거나 완화할 수정 조치를 구현한 후(또는 구현되도록 유발한 후) 트랜잭션들을 스케줄링할 수 있다. 수정 조치는 오버슛이 존재하는지 언더슛이 존재하는지에 따를 수 있고, 이는 아래에서 더 상세히 설명될 것이다.
[0044]
임계치 비교기(216)는, 다음/미래 전압 편차(232)가 특정 네거티브 전압 편차 임계치 아래로 떨어지는(또는 네거티브 방향으로 초과하는) 경우를 결정하도록 구성된 언더슛 임계치 비교기이다. 네거티브 전압 편차 임계치는 프로세싱 시스템(200)에 대한 허용가능한 전압 편차들에 기반할 수 있고, 네거티브 전압 편차 임계치 아래로 떨어지는 전압 편차는 허용가능하지 않을 수 있다(즉, 대응하는 노이즈는 성능을 다치게 하기에 충분히 클 수 있음). 예컨대, 임계치 비교기(216)는 기술 분야에서 알려진 바와 같이, 다음/미래 전압 편차(232)가 네거티브 방향으로 네거티브 전압 편차 임계치 아래로 떨어지는 경우 신호, 즉 언더슛(217)을 리포팅하거나 어서팅(assert)할 저역 통과 필터를 포함할 수 있다. 언더슛(217)은 스케줄러(206)에 대한 입력으로 제공된다. 스케줄러(206)는, 언더슛(217)이 어서팅되면 발행된 트랜잭션들(208) 상에 제2 트랜잭션을 발행하기 전에 다음과 같이 하나 또는 그 초과의 수정 조치를 구현할 수 있다.
[0045]
이미 논의된 바와 같이, 언더슛들에 대한 수정 조치는 파이프라인(210)의 에너지를 감소시키기 위한 조치를 포함할 수 있어서, 제2 트랜잭션(및 아마도 하나 또는 그 초과의 부가적인 미래 트랜잭션들)이 스케줄링될 때, 에너지 편차는 큰 네거티브 전압 편차를 유발하지 않도록 충분히 낮을 것이다. 다른 말로, 제2 및 미래 트랜잭션들 전에 파이프라인(210)의 에너지가 낮추어지면, 제2 및 미래 트랜잭션들이 실행될 때 에너지 편차, 및 대응하여 네거티브 전압 편차는 더 낮아질 것이고, 따라서 언더슛이 방지되거나 완화될 수 있다. 따라서, 에너지를 감소시키기 위한 수정 조치는 예컨대 하나 또는 그 초과의 클록 사이클들 동안 발행된 트랜잭션들(208) 상에 트랜잭션들의 발행을 중단하는 것을 포함할 수 있다.
[0046]
일부 경우들에서, 에너지를 감소시키는 것은 또한 발행 큐(207)로부터의 저 에너지 트랜잭션들을 발행된 트랜잭션들(208) 상에 발행하는 것을 포함할 수 있다. 예컨대, 발행 큐(207) 상에서 발행되기를 기다리는 제2 트랜잭션보다 더 낮은 에너지의 하나 또는 그 초과의 트랜잭션들(예컨대, 제3 트랜잭션)이 있고 프로세싱 시스템(200)이 비순차적 프로세싱을 지원하면, 스케줄러(206)는, 하나 또는 그 초과의 클록 사이클들 동안 트랜잭션들의 발행을 완전히 중단하기보다 오히려, 제2 트랜잭션을 발행하기 전에 하나 또는 그 초과의 더 낮은 에너지 트랜잭션들을 발행하도록 구성될 수 있다.
[0047]
위에서 같이 하나 또는 그 초과의 수정 조치를 구현하는 하나 또는 그 초과의 클록 사이클들 이후, 다음/미래 전압 편차(232)는 감소될 수 있다. 대응하여, 임계치 비교기(216)는, 다음/미래 전압 편차(232)가 네거티브 전압 편차 임계치 아래로 떨어지는 것을 중지하면, 언더슛(207)을 디-어서팅(de-assert)할 수 있고, 이것은 스케줄러(206)가 제2 트랜잭션(및 발행 큐(207)에 발행되기를 여전히 기다릴 수 있고 위에서 논의된 바와 같이 비순차적으로 발행되지 않는 하나 또는 그 초과의 미래 트랜잭션들)을 발행하기 위한 큐일 수 있다. 이런 방식으로, 미래 언더슛들은 미리 추정될 수 있고 에너지를 감소시키기(예컨대, 발행 큐(207)로부터 트랜잭션들의 발행을 중단하는 것 또는 더 낮은 에너지 트랜잭션들을 발행하는 것) 위한 수정 조치는 미래 언더슛을 완화시키거나 회피시킬 수 있다.
[0048]
이제 임계치 비교기(218)를 참조하면, 임계치 비교기(218)는, 다음/미래 전압 편차(232)가 특정 포지티브 전압 편차 임계치 위로 상승하는(또는 포지티브 방향으로 초과하는) 경우를 결정하도록 구성된 오버슛 임계치 비교기이다. 포지티브 전압 편차 임계치는 프로세싱 시스템(200)에 대한 허용가능한 전압 편차들에 기반할 수 있고, 포지티브 전압 편차 임계치 위로 상승하는 전압 편차는 허용가능하지 않을 수 있다(즉, 대응하는 노이즈는 성능을 떨어뜨리기에 충분히 클 수 있음). 예컨대, 임계치 비교기(218)는 기술 분야에서 알려진 바와 같이, 다음/미래 전압 편차(232)가 포지티브 방향으로 포지티브 전압 편차 임계치 위로 상승하는 경우 신호, 즉 오버슛(219)을 리포팅하거나 어서팅할 고역 통과 필터를 포함할 수 있다. 오버슛(219)은 또한 스케줄러(206)에 대한 입력으로 제공된다. 스케줄러(206)는, 오버슛(219)이 어서팅되면 발행된 트랜잭션들(208) 상에 제2 트랜잭션을 발행하기 전에 다음과 같이 하나 또는 그 초과의 수정 조치를 구현할 수 있다.
[0049]
이미 논의된 바와 같이, 오버슛들에 대한 수정 조치는 파이프라인(210)의 에너지를 증가시키기 위한 조치를 포함할 수 있어서, 제2 트랜잭션(및 아마도 하나 또는 그 초과의 부가적인 미래 트랜잭션들)이 스케줄링될 때, 에너지 편차는 큰 포지티브 전압 편차를 유발하지 않도록 충분히 낮을 것이다. 다른 말로, 제2 및 미래 트랜잭션들이 실행되도록 스케줄링되기 전에 파이프라인(210)의 에너지가 증가되면, 제2 및 미래 트랜잭션들이 실행될 때 에너지 편차, 및 대응하여 포지티브 전압 편차는 더 낮아질 것이고, 따라서 오버슛이 방지되거나 완화될 수 있다. 따라서, 에너지를 증가시키는 수정 조치는 예컨대 하나 또는 그 초과의 클록 사이클들 동안 더미 연산들 또는 NOP들(예컨대 결과들이 레지스터 파일에 레코딩되거나 쓰여지지 않도록 할 연산들)을 발행된 트랜잭션들(208) 상에 발행하는 것을 포함할 수 있다.
[0050]
일부 경우들에서, 에너지를 증가시키는 것은 또한 발행 큐(207)로부터의 고 에너지 트랜잭션들(예컨대, NOP들 외에)을 발행된 트랜잭션들(208) 상에 발행하는 것을 포함할 수 있다. 예컨대, 발행 큐(207) 상에서 발행되기를 기다리는 제2 트랜잭션보다 더 높은 에너지의 하나 또는 그 초과의 트랜잭션들(예컨대, 제3 트랜잭션)이 있고 프로세싱 시스템(200)이 비순차적 프로세싱을 지원하면, 스케줄러(206)는 제2 트랜잭션을 발행하기 전에 하나 또는 그 초과의 더 높은 에너지 트랜잭션들을 발행하도록 구성될 수 있다.
[0051]
위에서 같이 하나 또는 그 초과의 수정 조치를 구현하는 하나 또는 그 초과의 클록 사이클들 이후, 다음/미래 전압 편차(232)는 감소될 수 있다. 대응하여, 임계치 비교기(218)는, 다음/미래 전압 편차(232)가 포지티브 전압 편차 임계치 보다 커지지 않으면, 오버슛(209)을 디-어서팅할 수 있고, 이것은 스케줄러(206)가 제2 트랜잭션(및 발행 큐(207)에 발행되기를 여전히 기다릴 수 있고 위에서 논의된 바와 같이 비순차적으로 발행되지 않는 하나 또는 그 초과의 미래 트랜잭션들)을 발행하기 위한 큐일 수 있다. 이런 방식으로, 미래 오버슛들은 미리 추정될 수 있고 에너지를 증가시키기(예컨대, 발행 큐(207)로부터 NOP들을 발행하거나 더 높은 에너지 트랜잭션들을 발행하는 것) 위한 수정 조치는 미래 오버슛을 완화시키거나 회피시킬 수 있다.
[0052]
상세히 설명되지 않았지만, 프로세싱 시스템(200)의 대안적인 구현들은 가능하고, 여기서 도 2를 참조하여 설명된 기능 블록들 중 일부는 본 개시내용의 범위에서 벗어나지 않고 상이하게 구성될 수 있다. 예컨대, 미리 인입 에너지(228)를 계산하고 인입 에너지(228)를 발행 큐(207)에 저장하기보다, 예컨대 다음/미래 에너지(230) 및 발행된 에너지(212)는, 예컨대 자신의 대응하는 트랜잭션들의 속성들을 사용하여 에너지 테이블(225)에 액세싱하는 것에 기반하여, 즉각 계산될 수 있다. 그런 대안적인 구현들은 (인입 에너지(228)를 저장하기 위한) 발행 큐(207) 내의 저장 공간을 감소시킬 수 있지만 다음/미래 에너지(230) 및 발행된 에너지(212)를 즉각 계산하기 위한 레이턴시들을 초래할 수 있다. 프로세싱 시스템(200)에 대한 다른 수정들은 또한 클록 스피드, 시스템 전력 소비 등에 대한 특정 설계 고려 사항들에 기반하여 이루어질 수 있다.
[0053]
따라서, 양상들이 본원에 개시된 프로세스들, 기능들 및/또는 알고리즘들을 수행하기 위한 다양한 방법들을 포함하는 것이 인지될 것이다. 예컨대, 도 3에 예시된 바와 같이, 일 양상은 프로세싱 시스템(예컨대, 프로세싱 시스템(200))에서 전압 편차를 제어하는 방법(300)을 포함할 수 있다.
[0054]
블록(302)에서, 방법(300)은, 트랜잭션이 프로세싱 시스템의 파이프라인(예컨대, 파이프라인(210))에서 실행되는 경우 발생할 전압 편차를 추정하는 것을 포함한다. 예컨대, 블록(302)에서, 수신된 트랜잭션들(예컨대, 위에서 언급된 제1 및 제2 트랜잭션들을 포함하는 인입 트랜잭션들(204))과 연관된 에너지는 예컨대 대응하는 수신된 트랜잭션들의 하나 또는 그 초과의 인입 속성들(220)에 기반하여 결정될 수 있다. 속성 당 에너지(224)는 에너지 테이블(225)로부터 획득될 수 있고 로직(예컨대, 곱셈기(222)의 하나 또는 그 초과의 곱셈기들 및 가산기(226))은 인입 트랜잭션들(204)에 대한 인입 에너지(228)를 결정하도록 구성될 수 있다. 인입 트랜잭션들(204) 및 대응하는 인입 에너지(228)는 발행 큐(207)에 저장될 수 있다. 트랜잭션이 파이프라인(210)에서 실행되도록 발행되는 경우 트랜잭션(예컨대, 제2 트랜잭션)에 대해 발생할 전압 편차는 적어도 트랜잭션과 연관된 에너지(예컨대, 제2 및 선택적으로 하나 또는 그 초과의 부가적인 미래 트랜잭션들의 다음/미래 에너지(230)) 및 하나 또는 그 초과의 이미 발행된 트랜잭션들과 연관된 에너지(예컨대, 하나 또는 그 초과의 트랜잭션들, 이를테면 발행된 트랜잭션들(208) 상에 이미 발행된 제1 트랜잭션의 발행된 에너지(212))에 기반하여 필터(214)를 사용하여 추정될 수 있다.
[0055]
블록(304)은, 추정된 전압 편차가 특정 임계치를 초과하는지를 결정하는 것을 포함한다.
예컨대, 임계치 비교기들(216/218)은, 추정된 전압 편차가 각각 특정 최소/포지티브 전압 편차 임계치들을 초과하는지를 결정하기 위해(예컨대, 각각 언더슛(217)/오버슛(219)이 어서팅되는 것을 결정하기 위해) 사용될 수 있다.
[0056]
블록(306)은, 추정된 전압 편차가 특정 임계치를 초과하면 파이프라인에서 실행될 트랜잭션을 발행하기 전에, 전압 편차를 완화하기 위한 하나 또는 그 초과의 수정 조치를 구현하는 것을 포함한다. 예컨대, 언더슛(217)이 존재하면, 수정 조치는 파이프라인(210)에서 에너지를 감소시키는 것(예컨대, 발행된 트랜잭션들(208)을 중단하거나 클록 게이팅하는 것)을 포함할 수 있고; 그리고 오버슛(219)이 존재하면, 수정 조치는, 트랜잭션을 발행된 트랜잭션들(208) 상에 발행하기 전에 파이프라인(210)에서 에너지를 증가시키는 것(예컨대, 발행된 트랜잭션들(208) 상에 NOP들을 발행하는 것)을 포함할 수 있다.
[0057]
추가 양상들에서, (예컨대, 추정된 전압 편차가 각각의 최소 또는 포지티브 전압 편차 임계치들을 초과함으로 인해 언더슛(217) 또는 오버슛(219)이 어서팅되는 대응하는 경우들에 대해, 발행된 트랜잭션들(208)의 발행된 에너지(212)가, 언더슛(217)이 디-어서팅되는 것을 초래하는지 오버슛(219)이 디-어서팅되는 것을 초래하는지를 결정하는 것에 기반하여) 트랜잭션을 발행하기 전에, 블록(306)에서 구현된 수정 조치가 효과적인지, 즉 전압 편차를 감소시켰는지가 결정될 수 있다.
[0058]
본 개시내용의 양상들이 본원에 설명된 기능들을 수행하기 위한 다양한 기능 블록들 또는 수단을 포함하는 것이 또한 인지될 것이다. 예컨대, 프로세싱 시스템(200)의 에너지 테이블(225), 필터(214) 및 관련된 양상들과 함께 스케줄러(206)에 대한 수단은, 트랜잭션이 프로세싱 시스템의 파이프라인에서 실행되는 경우 발생할 전압 편차를 추정하기 위한 수단을 포함할 수 있다. 임계치 비교기들(216 및 218)은, 추정된 전압 편차가 특정 임계치를 초과하는지를 결정하기 위한 수단을 포함할 수 있다. 예시적인 양상들에서, 스케줄러(206)(발행 큐(207)를 포함함)는 또한, 추정된 전압 편차가 특정 임계치를 초과하면 트랜잭션이 파이프라인에서 실행되도록 발행되기 전에, 전압 편차를 완화하기 위한 하나 또는 그 초과의 수정 조치를 구현하기 위한 수단을 포함할 수 있다.
[0059]
도 4에서, 예시적인 양상들에 따른 컴퓨팅 디바이스(400)의 특정 예시적인 양상의 블록 다이어그램이 예시된다. 컴퓨팅 디바이스(400)는 일부 양상들에서 도 3의 방법(300)을 수행하도록 구성될 수 있다. 컴퓨팅 디바이스(400)는 도 2의 프로세싱 시스템(200)과 유사할 수 있는 시스템-인-패키지(system-in-package) 또는 시스템-온-칩(system-on-chip) 디바이스(422)를 포함한다. 도 2로부터의 프로세싱 시스템(200) 중 단지 선택된 양상들만이 도 4의 컴퓨팅 디바이스(400)의 표현으로 도시되지만, 다른 피처들은 명확성을 위해 생략되었다. 도시된 바와 같이, 컴퓨팅 디바이스(400)는 도 2의 스케줄러(206), 에너지 테이블(225), 필터(214) 및 파이프라인(210)을 포함하는 것으로 도시된 프로세서(402)를 포함한다(에너지 테이블(225)과 스케줄러(206) 사이의 연결은, 도 2를 참조하여 설명된 바와 같이, 에너지 테이블(225)로부터의 정보가 스케줄러(206)에 공급되는 인입 에너지(228)를 유도하는데 사용될 수 있다는 것을 전달하기 위해 파선들로 도시됨). 본원에 예시되지 않았지만 프로세싱 시스템(200)의 다양한 다른 기능 블록들 및 관련 상호연결들이 컴퓨팅 디바이스(400)에서 구현될 수 있다는 것이 주목될 것이다. 도 4에 도시된 바와 같이, 프로세서(402)는 메모리(432)와 통신할 수 있다. 도시되지 않았지만, 하나 또는 그 초과의 캐시들(예컨대, I-캐시(202)) 또는 다른 메모리 구조들은 또한 컴퓨팅 디바이스(400)에 포함될 수 있다.
[0060]
도 4는 또한 프로세서(402) 및 디스플레이(428)에 커플링된 디스플레이 제어기(426)를 도시한다. 코더/디코더(CODEC)(434)(예컨대, 오디오 및/또는 음성 CODEC)는 프로세서(402)에 커플링될 수 있다. 다른 컴포넌트들, 이를테면 무선 제어기(440)(모뎀을 포함할 수 있음)가 또한 예시된다. 스피커(436) 및 마이크로폰(438)은 CODEC(434)에 커플링될 수 있다. 도 4는 또한, 무선 제어기(440)가 무선 안테나(442)에 커플링될 수 있는 것을 표시한다. 특정 양상에서, 프로세서(402), 디스플레이 제어기(426), 메모리(432), CODEC(434) 및 무선 제어기(440)는 위에서 언급된 시스템-인-패키지 또는 시스템-온-칩 디바이스(422)에 포함된다.
[0061]
특정 양상에서, 입력 디바이스(430) 및 전원(444)은 시스템-온-칩 디바이스(422)에 커플링된다. 게다가, 특정 양상에서, 도 4에 예시된 바와 같이, 디스플레이(428), 입력 디바이스(430), 스피커(436), 마이크로폰(438), 무선 안테나(442) 및 전원(444)은 시스템-온-칩 디바이스(422) 외부에 있다. 그러나, 디스플레이(428), 입력 디바이스(430), 스피커(436), 마이크로폰(438), 무선 안테나(442) 및 전원(444)의 각각은 시스템-온-칩 디바이스(422)의 컴포넌트, 이를테면 인터페이스 또는 제어기에 커플링될 수 있다.
[0062]
도 4가 무선 통신 디바이스를 도시하지만, 프로세서(402) 및 메모리(432)가 또한 셋-톱 박스, 뮤직 플레이어, 비디오 플레이어, 엔터테인먼트 유닛, 내비게이션 디바이스, PDA(personal digital assistant), 고정 위치 데이터 유닛 또는 컴퓨터에 통합될 수 있는 것이 주목되어야 한다. 추가로, 컴퓨팅 디바이스(400)의 적어도 하나 또는 그 초과의 예시적인 양상들은 적어도 하나의 반도체 다이에 통합될 수 있다.
[0063]
당업자들은, 정보 및 신호들이 다양한 상이한 기술들 및 기법들 중 임의의 것을 사용하여 나타내질 수 있다는 것을 인지할 것이다. 예컨대, 위의 설명 전체에 걸쳐 참조될 수 있는 데이터, 명령들, 커맨드들, 정보, 신호들, 비트들, 심볼들 및 칩들은 전압들, 전류들, 전자기파들, 자기장들 또는 자기입자들, 광학 필드들 또는 광학입자들, 또는 이들의 임의의 조합에 의해 나타내질 수 있다.
[0064]
추가로, 당업자들은, 본원에 개시된 양상들과 관련하여 설명된 다양한 예시적인 로지컬 블록들, 모듈들, 회로들 및 알고리즘 단계들이 전자 하드웨어, 컴퓨터 소프트웨어, 또는 둘 모두의 조합들로서 구현될 수 있다는 것을 인지할 것이다. 하드웨어와 소프트웨어의 이런 상호교환가능성을 명확하게 예시하기 위하여, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들, 및 단계들은 그들의 기능성 측면에서 일반적으로 위에서 설명되었다. 그런 기능성이 하드웨어로서 구현되는지 소프트웨어로서 구현되는지는 특정 애플리케이션 및 전체 시스템 상에 부과되는 설계 제약들에 따른다. 당업자들은 각각의 특정 애플리케이션에 대해 가변 방식들로 설명된 기능성을 구현할 수 있지만, 그런 구현 결정들은 본 발명의 범위로부터 벗어나는 것을 유발하는 것으로서 해석되지 않아야 한다.
[0065]
본원에 개시된 양상들과 관련하여 설명된 방법들, 시퀀스들 및/또는 알고리즘들은 하드웨어로, 프로세서에 의해 실행되는 소프트웨어 모듈로, 또는 2개의 조합으로 직접 구현될 수 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터들, 하드 디스크, 제거가능 디스크, CD-ROM, 또는 기술분야에서 알려진 임의의 다른 형태의 저장 매체에 상주할 수 있다. 예시적인 저장 매체는 프로세서에 커플링되어, 프로세서는 저장 매체로부터 정보를 판독하고, 저장 매체에 정보를 기록할 수 있다. 대안적으로, 저장 매체는 프로세서와 일체형일 수 있다.
[0066]
따라서, 본 발명의 양상은 프로세서를 동작하는 방법, 및 보다 구체적으로 프로세서에서 전압 편차들을 제어하는 방법을 구현하는 컴퓨터 판독가능 매체들을 포함할 수 있다. 따라서, 본 발명은 예시된 예들로 제한되지 않고 본원에 설명된 기능성을 수행하기 위한 임의의 수단은 본 발명의 양상들에 포함된다.
[0067]
위의 개시내용이 본 발명의 예시적인 양상들을 도시하지만, 다양한 변화들 및 수정들이 첨부된 청구항들에 의해 정의된 바와 같은 본 발명의 범위에서 벗어나지 않고 본원에서 이루어질 수 있다는 것이 주목되어야 한다. 본원에 설명된 본 발명의 양상들에 따른 방법 청구항들의 기능들, 단계들 및/또는 액션들은 임의의 특정 순서로 수행될 필요가 없다. 추가로, 본 발명의 엘리먼트들이 단수로 설명되거나 청구될 수 있지만, 단수로의 제한이 명시적으로 언급되지 않으면 복수가 고려된다.
Claims (15)
- 프로세싱 시스템에서 전압 편차를 제어하는 방법으로서,
트랜잭션이 상기 프로세싱 시스템의 파이프라인에서 실행되는 경우 발생할 전압 편차를 추정하는 단계 ― 상기 프로세싱 시스템은 상기 트랜잭션들의 비순차적(out-of-order) 프로세싱을 지원함 ―;
추정된 전압 편차가 특정 임계치를 초과하는지를 결정하는 단계; 및
상기 추정된 전압 편차가 상기 특정 임계치를 초과하면, 상기 파이프라인에서 실행될 트랜잭션을 발행하기 전에, 전압 편차를 완화하기 위한 하나 또는 그 초과의 수정 조치를 구현하는 단계
를 포함하고,
상기 하나 또는 그 초과의 수정 조치는 적어도 하나의 비순차적 트랜잭션을 발행하는 것을 포함하는,
프로세싱 시스템에서 전압 편차를 제어하는 방법. - 제1 항에 있어서,
적어도 상기 트랜잭션과 연관된 에너지 및 상기 파이프라인에서 실행되도록 이미 발행된 하나 또는 그 초과의 트랜잭션들과 연관된 에너지에 기반하여 상기 전압 편차를 추정하는 단계를 포함하는,
프로세싱 시스템에서 전압 편차를 제어하는 방법. - 제2 항에 있어서,
상기 트랜잭션의 하나 또는 그 초과의 속성들에 기반하여 상기 트랜잭션과 연관된 에너지를 결정하는 단계를 포함하는,
프로세싱 시스템에서 전압 편차를 제어하는 방법. - 제3 항에 있어서,
테이블로부터 상기 하나 또는 그 초과의 속성들 각각과 연관된 에너지 값들을 결정하는 단계 및 상기 하나 또는 그 초과의 속성들의 상기 에너지 값들을 가산하는 단계를 더 포함하는,
프로세싱 시스템에서 전압 편차를 제어하는 방법. - 제1 항에 있어서,
상기 추정된 전압 편차가 네거티브 방향으로 네거티브 전압 편차 임계치를 초과하면 상기 추정된 전압 편차가 언더슛(undershoot)인 것을 결정하는 단계를 포함하는,
프로세싱 시스템에서 전압 편차를 제어하는 방법. - 제5 항에 있어서,
상기 적어도 하나의 비순차적 트랜잭션은 상기 파이프라인에서 실행될 트랜잭션보다 더 낮은 에너지를 가지며, 상기 하나 또는 그 초과의 수정 조치를 구현하는 단계는 상기 파이프라인의 에너지를 감소시키는 단계를 포함하는,
프로세싱 시스템에서 전압 편차를 제어하는 방법. - 제6 항에 있어서,
상기 하나 또는 그 초과의 수정 조치는 상기 파이프라인에서 실행될 트랜잭션들의 발행을 중단하는 것을 더 포함하는,
프로세싱 시스템에서 전압 편차를 제어하는 방법. - 제6 항에 있어서,
상기 트랜잭션을 스케줄링하기 전에, 상기 하나 또는 그 초과의 수정 조치를 구현하는 단계가 상기 전압 편차를 완화했는지를 결정하는 단계를 더 포함하는,
프로세싱 시스템에서 전압 편차를 제어하는 방법. - 제1 항에 있어서,
상기 추정된 전압 편차가 포지티브 방향으로 포지티브 전압 편차 임계치를 초과하면 상기 추정된 전압 편차가 오버슛(overshoot)인 것을 결정하는 단계를 포함하는,
프로세싱 시스템에서 전압 편차를 제어하는 방법. - 제9 항에 있어서,
상기 적어도 하나의 비순차적 트랜잭션은 상기 파이프라인에서 실행될 트랜잭션보다 더 높은 에너지를 가지며, 상기 하나 또는 그 초과의 수정 조치를 구현하는 단계는 상기 파이프라인의 에너지를 증가시키는 단계를 포함하는,
프로세싱 시스템에서 전압 편차를 제어하는 방법. - 제10 항에 있어서,
상기 하나 또는 그 초과의 수정 조치는 상기 파이프라인에서 실행될 더미(dummy) 트랜잭션들 또는 무-연산(NOP)들을 발행하는 단계를 더 포함하는,
프로세싱 시스템에서 전압 편차를 제어하는 방법. - 제10 항에 있어서,
상기 트랜잭션을 스케줄링하기 전에, 상기 하나 또는 그 초과의 수정 조치를 구현하는 단계가 상기 전압 편차를 완화했는지를 결정하는 단계를 더 포함하는,
프로세싱 시스템에서 전압 편차를 제어하는 방법. - 프로세싱 시스템으로서,
트랜잭션들을 수신하고 파이프라인에서 실행될 트랜잭션들을 발행하도록 구성된 스케줄러(scheduler) ― 상기 프로세싱 시스템은 상기 트랜잭션들의 비순차적 프로세싱을 지원함 ―;
트랜잭션이 상기 파이프라인에서 실행되는 경우 발생할 전압 편차를 추정하도록 구성된 필터; 및
상기 추정된 전압 편차가 특정 임계치를 초과하는지를 결정하기 위한 임계치 비교기
를 포함하고,
상기 스케줄러는, 상기 트랜잭션이 상기 파이프라인에서 실행되도록 발행되기 전에, 전압 편차를 완화하기 위한 하나 또는 그 초과의 수정 조치를 구현하도록 구성되고,
상기 하나 또는 그 초과의 수정 조치는 적어도 하나의 비순차적 트랜잭션을 발행하는 것을 포함하는,
프로세싱 시스템. - 제1 항 내지 제12 항 중 어느 한 항에 따른 방법을 수행하기 위한 수단을 포함하는 장치.
- 코드를 포함하는 비-일시적 컴퓨터 판독가능 저장 매체로서,
상기 코드는, 프로세서에 의해 실행될 때, 상기 프로세서로 하여금, 제1 항 내지 제12 항 중 어느 한 항에 따른 방법을 수행하게 하는,
비-일시적 컴퓨터 판독가능 저장 매체.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/860,715 | 2015-09-22 | ||
US14/860,715 US10152101B2 (en) | 2015-09-22 | 2015-09-22 | Controlling voltage deviations in processing systems |
PCT/US2016/050767 WO2017053078A1 (en) | 2015-09-22 | 2016-09-08 | Controlling voltage deviations in processing systems |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20180058773A true KR20180058773A (ko) | 2018-06-01 |
Family
ID=56959055
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020187011307A KR20180058773A (ko) | 2015-09-22 | 2016-09-08 | 프로세싱 시스템들에서 전압 편차들 제어 |
Country Status (8)
Country | Link |
---|---|
US (1) | US10152101B2 (ko) |
EP (1) | EP3353623A1 (ko) |
JP (1) | JP2018529169A (ko) |
KR (1) | KR20180058773A (ko) |
CN (1) | CN108027639A (ko) |
CA (1) | CA2996184A1 (ko) |
TW (1) | TW201716920A (ko) |
WO (1) | WO2017053078A1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20230012128A (ko) | 2021-07-14 | 2023-01-26 | 중앙대학교 산학협력단 | 알츠하이머병 환자를 위한 광치료 장치 및 그 제어방법 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10693725B1 (en) | 2016-11-28 | 2020-06-23 | Barefoot Networks, Inc. | Dynamically reconfiguring data plane of forwarding element to account for operating temperature |
US10552250B2 (en) | 2017-10-10 | 2020-02-04 | International Business Machines Corporation | Proactive voltage droop reduction and/or mitigation in a processor core |
KR20210045544A (ko) * | 2019-10-16 | 2021-04-27 | 삼성전자주식회사 | 클럭 사이클에 기반하여 전력을 모니터링하는 동적 전력 모니터, 프로세서, 및 시스템 온 칩 |
US20220318056A1 (en) * | 2021-03-30 | 2022-10-06 | Advanced Micro Devices, Inc. | Dynamic system power load management |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6002878A (en) | 1997-07-01 | 1999-12-14 | Motorola, Inc. | Processor power consumption estimator that using instruction and action formulas which having average static and dynamic power coefficients |
US6775787B2 (en) | 2002-01-02 | 2004-08-10 | Intel Corporation | Instruction scheduling based on power estimation |
US7200763B2 (en) | 2003-10-09 | 2007-04-03 | Sun Microsystems, Inc. | Method and apparatus for controlling the power consumption of a semiconductor device |
US7464278B2 (en) | 2005-09-12 | 2008-12-09 | Intel Corporation | Combining power prediction and optimal control approaches for performance optimization in thermally limited designs |
US8060765B1 (en) | 2006-11-02 | 2011-11-15 | Nvidia Corporation | Power estimation based on block activity |
US7599808B2 (en) | 2007-08-31 | 2009-10-06 | International Business Machines Corporation | Application of multiple voltage droop detection and instruction throttling instances with customized thresholds across a semiconductor chip |
US8024590B2 (en) | 2007-12-10 | 2011-09-20 | Intel Corporation | Predicting future power level states for processor cores |
US7937563B2 (en) * | 2008-05-27 | 2011-05-03 | Advanced Micro Devices, Inc. | Voltage droop mitigation through instruction issue throttling |
US8020025B2 (en) * | 2008-06-04 | 2011-09-13 | Sony Ericsson Mobile Communications Ab | Power saving scheduler for timed events |
WO2010093750A2 (en) | 2009-02-12 | 2010-08-19 | President And Fellows Of Harvard College | Adaptive event-guided system and method for avoiding voltage emergencies |
US8239700B2 (en) | 2009-04-17 | 2012-08-07 | Lsi Corporation | Systems and methods for power dissipation control in a semiconductor device |
US8356194B2 (en) | 2010-01-28 | 2013-01-15 | Cavium, Inc. | Method and apparatus for estimating overshoot power after estimating power of executing events |
US9858077B2 (en) * | 2012-06-05 | 2018-01-02 | Qualcomm Incorporated | Issuing instructions to execution pipelines based on register-associated preferences, and related instruction processing circuits, processor systems, methods, and computer-readable media |
US9606602B2 (en) * | 2014-06-30 | 2017-03-28 | Intel Corporation | Method and apparatus to prevent voltage droop in a computer |
-
2015
- 2015-09-22 US US14/860,715 patent/US10152101B2/en not_active Expired - Fee Related
-
2016
- 2016-09-08 KR KR1020187011307A patent/KR20180058773A/ko unknown
- 2016-09-08 CA CA2996184A patent/CA2996184A1/en not_active Abandoned
- 2016-09-08 CN CN201680054301.XA patent/CN108027639A/zh active Pending
- 2016-09-08 JP JP2018514344A patent/JP2018529169A/ja active Pending
- 2016-09-08 WO PCT/US2016/050767 patent/WO2017053078A1/en active Application Filing
- 2016-09-08 EP EP16767464.7A patent/EP3353623A1/en not_active Ceased
- 2016-09-20 TW TW105130356A patent/TW201716920A/zh unknown
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20230012128A (ko) | 2021-07-14 | 2023-01-26 | 중앙대학교 산학협력단 | 알츠하이머병 환자를 위한 광치료 장치 및 그 제어방법 |
Also Published As
Publication number | Publication date |
---|---|
WO2017053078A1 (en) | 2017-03-30 |
TW201716920A (zh) | 2017-05-16 |
JP2018529169A (ja) | 2018-10-04 |
CA2996184A1 (en) | 2017-03-30 |
EP3353623A1 (en) | 2018-08-01 |
US20170083066A1 (en) | 2017-03-23 |
US10152101B2 (en) | 2018-12-11 |
CN108027639A (zh) | 2018-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20180058773A (ko) | 프로세싱 시스템들에서 전압 편차들 제어 | |
JP6154843B2 (ja) | 電力制御方法および電力制御装置 | |
US9360907B2 (en) | System and method for adaptive thermal management in a portable computing device | |
US7937563B2 (en) | Voltage droop mitigation through instruction issue throttling | |
KR100806423B1 (ko) | di/dt-유도 전원 전압 변화 추정 및 제어 메카니즘 | |
JP5777827B2 (ja) | ポータブルコンピューティングデバイスにおけるバッテリ負荷管理のためのシステムおよび方法 | |
US8261112B2 (en) | Optimizing power consumption by tracking how program runtime performance metrics respond to changes in operating frequency | |
US9341520B2 (en) | System and method for estimating ambient temperature of a portable computing device using a voice coil | |
EP2515200A1 (en) | Arithmetic processing device, information processing device, and method for controlling same | |
US8239700B2 (en) | Systems and methods for power dissipation control in a semiconductor device | |
US20100268917A1 (en) | Systems and Methods for Ramped Power State Control in a Semiconductor Device | |
EP3072028A1 (en) | System and method for multi-correlative learning thermal management of a system on a chip in a portable computing device | |
US20100269074A1 (en) | Predictive Power Management Semiconductor Design Tool and Methods for Using Such | |
US20150370311A1 (en) | Decoupled entry and exit prediction for power gating | |
US20240047966A1 (en) | Systems, devices and methods for power management and power estimation | |
US20240272699A1 (en) | Power management |