CPU가 소비하는 전력


9

전류 I 와 전압 U 를 가진 CPU의 전력 은 I · U 라고 생각합니다 .

Wikipedia 의 다음 결론이 어떻게 도출되는지 궁금합니다 .

CPU가 소비하는 전력은 대략 CPU 주파수와 CPU 전압의 제곱에 비례합니다.

P = CV 2 f

(여기서 C는 커패시턴스, f는 주파수, V는 전압)입니다.


2
Electronic.SE 또는 Physics.SE 또는 여기에 더 적합합니까? 닫는 대신 마이그레이션을 고려하십시오
Tim

1
C이 방정식에서 정전 용량이 아닌 상수입니다. 커패시턴스에 적합한 단위를 갖기 때문에 일종의 "유효 커패시턴스"가 될 수 있지만 그 요인은 잘못되었습니다. 다른 사람들이 알다시피, 1/2누락이 있지만 중요한 것은 각 클록 사이클을 전환하는 게이트의 비율과 관련하여 부하 계수가 누락 된 것입니다. 비례 상수라고하고 그대로 두십시오.
Ben Voigt 2016 년

1
@Ben-행 (where C is capacitance, f is frequency and V is voltage). WP 페이지에서 인용됩니다.
stevenvh

3
@stevenvh, 방금 삭제 한 게시물의 새 버전을 편집하고 게시한다고 알려주십시오. 이전 유물을 제거하고 명확한 간결한 게시물을 작성하라는 +1과 의견을 주려고했습니다.
Kortuk

1
@ Kotuk-내 머리에 훨씬 더 자세하고 자세한 답변이 있습니다. 지금은 시간이 없습니다. 내일 게시 할 것입니다.
stevenvh 2016 년

답변:


14

MSalters의 답변은 80 % 정확합니다. 추정치는 저항을 통해 일정한 전압에서 커패시터를 충전 및 방전하는 데 필요한 평균 전력에서 비롯됩니다. CPU와 모든 집적 회로가 스위치의 큰 앙상블이기 때문에 각 스위치는 다른 스위치를 구동하기 때문입니다.

기본적으로 다음 단계의 입력 게이트 커패시턴스를 충전하는 스테이지를 MOS 인버터 (더 복잡 할 수 있지만 전력은 동일하게 유지됨)로 모델링 할 수 있습니다. 따라서 커패시터를 충전하는 저항기와 방전시키는 다른 저항기가 있습니다 (물론 동시에 :).

내가 보여줄 공식은 Digital Integrated Circuits- Rabaey, Chakandrasan, Nikolic 의 설계 관점 에서 가져온 것입니다.

MOS로 충전 된 커패시터를 고려하십시오.

여기에 이미지 설명을 입력하십시오

공급에서 가져온 에너지는

이자형V=0나는V()V=V0V영형=V0VV영형=V2

마지막에 커패시터에 저장된 에너지는

이자형=0나는V()V영형=...=V22

물론, 우리는 Steven이 지적한 것처럼 커패시터를 충전하고 방전하기 위해 무한한 시간을 기다리지 않습니다. 그러나 커패시터의 최종 전압에 영향을 미치기 때문에 저항에도 의존하지 않습니다. 그러나 그 외에도, 과도 현상을 고려하기 전에 다음 게이트에서 특정 전압을 원합니다. Vdd가 95 %라고 가정 해 봅시다.

따라서 MOS의 출력 저항과 독립적으로 커패시터에 저장하는 에너지의 절반이 일정한 전압으로 충전됩니다. 커패시터에 저장된 에너지는 방전 단계에서 pMOS에서 소산됩니다.

스위칭 사이클에서 L-> H 및 H-> L 전환 이 있다고 생각하고이 인버터가 사이클을 완료하는 주파수를 정의 하면이 간단한 게이트의 전력 손실은 다음과 같습니다.에프에스

=이자형V=이자형V에프에스=V2에프에스

N 게이트가있는 경우 전력에 N을 곱하는 것으로 충분합니다. 복잡한 회로의 경우 모든 게이트가 동일한 주파수에서 출퇴근하지 않기 때문에 상황이 약간 더 복잡합니다. 매개 변수 α < 1을 정의 할 수 있습니다.α<1매 사이클마다 출퇴근하는 평균 게이트 비율로 을 .

그래서 공식은

영형=αV2에프에스

R이 고려하지 않는 이유에 대한 작은 데모 : Steven이 쓴 것처럼 커패시터의 에너지는 다음과 같습니다.

이자형=V22(1이자형2h아르 자형이자형아르 자형)

명백히, R은 유한 충전 시간으로 인해 커패시터에 저장된 에너지의 계수입니다. 그러나 전환을 완료하기 위해 게이트를 90 % Vdd로 충전해야한다면 Tcharge와 RC 사이의 고정 비율보다 다음과 같습니다.

h아르 자형이자형=영형(0.1)아르 자형2=케이아르 자형

우리는 R과 독립적 인 에너지를 다시 선택했습니다.

무한대가 아닌 0에서 kRC로 적분하면 동일하지만 계산이 조금 더 복잡해집니다.


기술적 정확성을 검증하기 위해 사진을 놓친 것을 제외하고는 훌륭한 답변.
Kortuk

감사! (1) 여전히 $ E $로 $ E_ {VDD} $를 의미합니까? (2) $ P $ 공식에서 2를 2로 나누는 곳은 어디입니까? (3) 회로에서 전류 직류인가, 교류인가?
Tim

@Tim 예, 사이클의 에너지는 커패시터를 충전하는 데 필요한 충전이기 때문에 Evdd입니다. 저장된 반은 방전시 소실됩니다. 전류는 둘 다가 아니며, 캡을 충전 및 방전하는 지수 특성 (핀형)을 갖는 가변 전류이다.
clabacchio

감사! (1) $ E_C $의 수식에 2로 나누지 않고 $ E_VDD $에 대한 수식에는 여전히 존재하지 않습니다. (2) Wikipedia를 보았지만 의견의 마지막 문장을 이해하기에 DC와 AC의 개념을 충분히 이해할 수 없었습니다. 그것들을 설명해 주시고 왜 여기에 전류가 없습니까?
Tim

@Tim Ec는 물리에서 나 왔으며 방정식 (간단하게 잘라서)에서 파생 될 수 있기 때문에 2로 나뉩니다. 신호는 시간에 따라 변하기 때문에 (t) AC 또는 DC는 아니지만 결국 전자와 더 유사합니다. 게이트의 작동에 의존하기 때문에 예측할 수 없습니다.
clabacchio

7

이전에 다른 답변을 게시했지만 좋지도 않았으며 부적절한 언어도 사용되었으며, 사소한 일에 대해 사과하고 싶습니다.

나는 이것에 대해 생각해 왔고 여기서 나의 문제는 인용 된 텍스트가 커패시턴스가 전력 소비를 담당한다는 것을 나에게 제시한다는 것이다. 그렇지 않습니다. 저항력이 있습니다.

여기에 이미지 설명을 입력하십시오

VDDVSS

First Ben : 충전 중에 커패시터 전압과 전류가 기하 급수적으로 변합니다. 현재

I=VDDRetRC

P=I2R=VDD2Re2tRC

시간이 지남에 따라 통합하면 저항에서 에너지가 소실됩니다.

U=VDD2Rt=0e2tRCdt=VDD2RRC2=VDD2C2

which is indeed independent of R. So it looks like Ben is right.

Now me. "Infinity!? Are you out of your mind? This job has to be done in 0.3ns!" At school we seemed to have ages to charge a capacitor. If t is finite we get

U=VDD2Rt=0t1e2tRCdt=VDD2C2(1e2tRC)

and then R is still a factor.
In practice it won't matter however since RCTCLOCK.

I cut some corners here assuming that R is constant. But it's not easy. R(t) depends on the gate's voltage, which depends on the gate's capacitance's charge curve, which depends on R. Easy if it's a linear system, but this isn't, so I chose for the exponential as an approximation.

Conclusion: while the dissipation is expressed in terms of C it happens in R, which on first sight seems to have nothing to do with it.

What can be done about it? Lowering R is no use. Can we decrease C? It would help to decrease the charge being drained from VDD to VSS, but we need C. The gate capacitance is what makes a MOSFET work!

What if R were zero, absolute zero? Then we wouldn't have dissipation, right? In that case switching would give an infinite di/dt, which would cause the switching energy to be radiated instead of dissipated, but the amount of energy would be the same. Your CPU would get less hot, but would be a wideband 100W RF noise transmitter.


No agree :). Your paragraph about the finite time is right, but it assumes that we fix the time that we give for the transition, while what is fixed is the voltage at which we assume the transition finished. So the resistor goes away again, because it determines the maximum speed of the CPU, and it's why is better to scale down the capacitance (one of the reasons)
clabacchio

Note that I usually leave a big margin for errors in my answers, but this is - almost - copied from a very expensive book :). I trust its (conceptual) accuracy more than any other, typos apart.
clabacchio

@clabacchio - Ben is Ben Voigt, who commented on my other answer. The resistor goes away again because of the short RC time. But there's no reason why you shouldn't break off the charging at a higher clock speed if a 90% charge would be sufficient. My very expensive book is my head (sometimes with the help of Mathematica) :-)
stevenvh

나의 추론은 다르다 : 나는 t >> RC (자원 낭비)가 아니기 때문에 t = kRC인데, 여기서 k는 충분한 전압 스윙을 견딜 수있는 충분한 전압 스윙을 보장하는 설계 제약이다. 항상 같은 k를 사용하면 해당 요소가 사라집니다 (동요와 함께). 이 책에 대한 것은 오만에 대한 주장을지지하지 않는다는 것을 분명히하는 것이 었습니다
clabacchio

더 나은 방법은 :-)입니다. 심지어 + 10k 담당자의 콘텐츠를 숨겼습니다. Kortuk이 그것에 대해 너무 긍정적이라고 생각합니다. RC에 관해서는, 우리가 같은 것을 말하는 것 같습니다. k = 2.3이면 내 90 %가됩니다.
stevenvh

3

CPU의 주요 전력 소비는 계산 중 커패시터의 충전 및 방전으로 인해 발생합니다. 이러한 전하는 저항으로 소산되어 관련 전기 에너지를 열로 전환합니다.

각 커패시터의 에너지 양은 C i / 2 · V 2 입니다. 이 커패시터가 초당 f 회 충전 및 방전 되는 경우 들어오고 나가는 에너지는 C i / 2 · V 2 · f 입니다. 모든 스위칭 커패시터와 C = ΣC i / 2로 대체 하면 C · V 2 · f가됩니다.


Thanks! WHy C = ΣCi/2, not C = ΣCi? In other words, how do you make dividing by 2 disappear?
Tim

1
@Tim: Pure a matter of definition. In practice, the C value of a CPU is measured directly.

In series, 1/C = \sum_i 1/C_i; in parallel, C = \sum_i, C_i. Neither is your formula C = 1/2 \time \sum_i C_i. This is my confusion.
Tim

1
@Tim : 커패시터가 어쨌든 병렬로 배선되어 있다고 가정합니다 ( sum_i). 모든 게이트가 CPU를 켤 때, 이것은 어쨌든 주어지지 않습니다. 그러나 내가 1/2을 떨어 뜨린 주된 이유는 순수한 물리학적인 접근법이 아니라 공학적인 접근법을 사용하고 있기 때문입니다. 어쨌든 CPU가 커패시터로 작동하지 않습니다. C값과 관련되지 않은 (dV/dt)/I; P , Vf 와 관련하여 관찰 된 상수 입니다.

@Tim : 1/2를 유지하면 취소되고 커패시턴스 값이 달라집니다. 예를 들어 C를 풀면 V^2·F/P또는 을 얻게됩니다 (1/2)·V^2·F/P. 이제 전압, 주파수 및 전력을 변경한다고 가정하겠습니다. 첫 번째 방정식을 사용하면 V1^2·F1/P1 = V2^2·F2/P2다른 방정식을 얻을 수 (1/2)V1^2·F1/P1 = (1/2)V2^2·F2/P2있습니다.
David Schwartz 2016 년


0

일반적으로 장치가 소비하는 전류는 전압에 비례합니다. 전력은 전압 * 전류이므로 전력은 전압의 제곱에 비례합니다.


1
그것은 "일반적으로"와 거리가 멀다. 실제로 이러한 장치에는 특별한 이름이 있습니다. 옴 부하 (옴의 법칙에서 V = I · R)

0

귀하의 방정식은 특정 순간에 도출 된 검정력에 맞습니다. 그러나 CPU가 소비하는 전류는 일정하지 않습니다. CPU가 일정한 빈도로 실행 중이며 정기적으로 상태가 변경됩니다. 각 상태 변경에 대해 일정량의 전력을 사용합니다.

내가 RMS 전류 (전류의 제곱 평균의 제곱근)로 이해하면 방정식이 정확합니다. 이것들을 종합하면 다음과 같은 이점을 얻을 수 있습니다.

V · I (Rms) = C · V ^ 2 · F
I (Rms) = C · V · F

따라서 평균 전류는 전압, 주파수 및 커패시턴스에 따라 선형으로 변합니다. 전원은 DC 공급 전압의 제곱에 따라 달라집니다.


감사! 제 질문은 왜 V · I (Rms) = C · V ^ 2 · F입니까? 해당 수식에 대한 참조가 있습니까?
Tim

당신이 알고 싶은 것을 얻지 못했습니다.
David Schwartz 2016 년

왜 V · I (Rms) = C · V ^ 2 · F가 참입니까? 어디에서 배우나요?
Tim

그것은 두 개의 전력 방정식을 결합하기 때문에 사실입니다. 각 방정식이 정확하고 동일한 것을 측정합니다. 즉 I에 대한 RMS 파워되어야한다 P=V·I하찮게에서 수학으로 입증 할 수있다 당신에게 평균 전력을 제공하는 P = I^2·R.
David Schwartz 2016 년

1
@Tim : 2로 나누면 커패시턴스를 두 배로 늘리면 방정식이 동일하게 작동합니다. 2로 나누려면 할 수 있습니다. 다른 사람이 사용하는 것의 두 배인 커패시턴스 숫자 만 사용하면 같은 대답을 얻을 수 있습니다. (우리는 12 인치 피트를 사용하지만 원하는 경우 6 인치 피트를 사용할 수 있습니다. 여전히 자동차, 건물 및 교량을 설계 할 수 있습니다. 다른 사람과 다른 크기라고 부를 수 있습니다.)
David Schwartz
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.