¿Por qué las CPU necesitan tanta corriente?

37

Sé que una CPU simple (como Intel o AMD) puede consumir 45-140 W y que muchas CPU funcionan a 1.2 V, 1.25 V, etc.

Entonces, suponiendo que una CPU funcione a 1.25 V y tenga un TDP de 80 W ... usa 64 Amps (muchos amperios).

  1. ¿Por qué una CPU necesita más de 1 A en su circuito (suponiendo los transistores FinFET)? Sé que la mayoría de las veces la CPU está inactiva, y los 60 A son todos "pulsos" porque la CPU tiene un reloj, pero ¿por qué una CPU no puede funcionar a 1 V y 1 A?

  2. Un transistor FinFET pequeño y rápido, por ejemplo: 14 nm que funcionan a 3.0 GHz necesita ¿cuántos amperios (aproximadamente)?

  3. ¿Una corriente más alta hace que los transistores se enciendan y / o apaguen más rápidamente?

Leonardo Bosquett
fuente
27
Las CPU modernas (ninguna de las cuales es 'simple') requieren múltiples rieles de voltaje, todos con sus propios requisitos de potencia. Su pregunta hace muchas suposiciones y tiene muchas declaraciones erróneas. Debe tener en cuenta todos los requisitos de potencia y no solo los de un solo riel.
Wossname
8
Haga un conteo de transistores FinFET en una CPU moderna. No todos los FET conducen corriente desde Vdd a tierra, pero aun así, 64 A se distribuye en * un número muy grande * de estos FET de conmutación.
glen_geek
99
@EricLippert "tendría que estar sacando 64 amperios de la pared" - Tengo la sospecha de que la CPU no estaría funcionando a 110 V.
Andrew Morton
66
La cantidad conservada es energía, y en promedio también potencia. Si una CPU consume 64 vatios, la fuente de alimentación debe extraer al menos 64 vatios del zócalo. Eso es <1A incluso a 110V.
MSalters
66
@EricLippert La placa base de su computadora contiene un convertidor de CC a CC multifásico que reduce el voltaje de alimentación (12V en el caso de una computadora de escritorio, probablemente 12-19V en el caso de una computadora portátil) hasta el voltaje de alimentación del núcleo. Esto se hace con POTENCIA constante, por lo que la corriente de salida termina siendo 10-20 veces la corriente de entrada. Sin mencionar que el suministro de 12V en una computadora de escritorio también proviene de una fuente de alimentación conmutada que también se convierte con energía constante. La CPU en su computadora probablemente tenga al menos 100 pines de alimentación y tierra para manejar la corriente.
alex.forencich

Respuestas:

70
  1. Las CPU no son 'simples' por ningún tramo de la imaginación. Debido a que tienen unos pocos miles de millones de transistores, cada uno de ellos tendrá una pequeña fuga al ralentí y tendrá que cargar y descargar la compuerta e interconectar la capacitancia en otros transistores al cambiar. Sí, cada uno extrae una pequeña corriente, pero cuando multiplica eso por la cantidad de transistores, termina con una cantidad sorprendentemente grande. 64A ya es una corriente promedio ... al cambiar, los transistores pueden consumir mucho más que el promedio, y esto se suaviza mediante condensadores de derivación. Recuerde que su cifra de 64A vino de trabajar hacia atrás desde el TDP, lo que hace que realmente sea 64A RMS, y puede haber una variación significativa en muchas escalas de tiempo (variación durante un ciclo de reloj, variación durante diferentes operaciones, variación entre estados de suspensión, etc. ) También, es posible que pueda ejecutar una CPU diseñada para funcionar a 3 GHz con 1,2 voltios y 64 amperios a 1 voltio y 1 amperio ... tal vez a 3 MHz. Aunque en ese momento, debe preocuparse si el chip utiliza una lógica dinámica que tiene una frecuencia de reloj mínima, por lo que tal vez deba ejecutarlo a unos cientos de MHz a GHz y ponerlo en reposo profundo periódicamente para obtener el promedio corriente abajo. La conclusión es que potencia = rendimiento. El rendimiento de la mayoría de las CPU modernas es realmente limitado térmicamente. entonces tal vez tendrías que ejecutarlo a unos cientos de MHz a GHz y ponerlo en ciclo de sueño profundo periódicamente para reducir la corriente promedio. La conclusión es que potencia = rendimiento. El rendimiento de la mayoría de las CPU modernas es en realidad térmicamente limitado. así que tal vez tendrías que ejecutarlo a unos cientos de MHz a GHz y ponerlo en reposo profundo periódicamente para reducir la corriente promedio. La conclusión es que potencia = rendimiento. El rendimiento de la mayoría de las CPU modernas es realmente limitado térmicamente.
  2. Esto es relativamente fácil de calcular: , donde I es la corriente, C es la capacidad de carga, v es el voltaje, αI=CvαfICvα es el factor de actividad es la frecuencia de conmutación. Veré si puedo obtener números de estadio para la capacitancia de compuerta de un FinFET y editar. f
  3. Más o menos. Cuanto más rápido se cargue o descargue la capacitancia de la puerta, más rápido cambiará el transistor. La carga más rápida requiere una capacidad menor (determinada por la geometría) o una corriente mayor (determinada por la resistencia de interconexión y el voltaje de alimentación). Los transistores individuales que cambian más rápido significan que pueden cambiar con más frecuencia, lo que resulta en un consumo de corriente más promedio (proporcional a la frecuencia del reloj).

Editar: entonces, http://www.synopsys.com/community/universityprogram/documents/article-iitk/25nmtriplegatefinfetswithraisedsourcedrain.pdf tiene una cifra para la capacidad de la puerta de un FinFET de 25nm. Solo voy a llamarlo 0.1 fF en aras de mantener las cosas simples. Aparentemente varía con el voltaje de polarización y ciertamente variará con el tamaño del transistor (los transistores se dimensionan de acuerdo con su propósito en el circuito, ¡no todos los transistores serán del mismo tamaño! Los transistores más grandes son 'más fuertes' ya que pueden cambiar más corriente, pero también tienen una capacitancia de puerta más alta y requieren más corriente para conducir).

Conectando 1.25 voltios, 0.1 fF, 3 GHz y , el resultado es 0.375 μ Aα=10.375μA. Multiplique eso por mil millones y obtendrá 375 A. Esa es la corriente promedio de puerta requerida (carga por segundo en la capacitancia de la puerta) para cambiar mil millones de estos transistores a 3 GHz. Eso no cuenta 'disparar', lo que ocurrirá durante el cambio en la lógica CMOS. También es un promedio, por lo que la corriente instantánea puede variar mucho; piense en cómo el consumo de corriente disminuye asintóticamente a medida que se carga un circuito RC. Condensadores de derivación en el sustrato, paquete y placa de circuito con suavizar esta variación. Obviamente, esto es solo una cifra aproximada, pero parece ser el orden de magnitud correcto. Esto tampoco considera la corriente de fuga o la carga almacenada en otros parásitos (es decir, el cableado).

αα=1αα=0.25αα=0.000061α. Por lo tanto, por qué el consumo de energía de la memoria caché generalmente está dominado por la corriente de fuga, es decir, MUCHOS transistores inactivos simplemente sentados con fugas en lugar de cambiar.

alex.forencich
fuente
44
1V 1A no es un objetivo extraño, las CPU ARM se especifican con bastante frecuencia como mW / MHz. A modo de comparación, el conjunto Frambuesa Pi A + utiliza 1Watt, incluyendo una Mhz CPU 700 - mucho más que el magro 3Mhz sugirió
MSalters
2
Es más útil referirse a "MIPS por vatio", ya que la cantidad de trabajo realizado por ciclo de reloj varía enormemente.
pjc50
1
Bueno, depende de para qué está diseñado el chip. Un chip con un TDP de 80W que está diseñado para funcionar a 3 GHz a 1.2 voltios podría funcionar con 1V y 1A ... pero a 1V tendrá que bajar la velocidad significativamente, y para obtener 1A usted Tendré que bajar la velocidad aún más. No vas a llegar a ninguna parte cerca de 3 GHz en ese caso. Sin embargo, no tengo idea de lo que realmente podrías lograr, ya que no lo he intentado yo mismo. Tal vez 3 MHz es un poco pesimista para un i7 a 1V y 1A. Ahora, ciertamente es posible diseñar un chip para que se ejecute a ese nivel de potencia, como usted menciona.
alex.forencich
66
No son simples De hecho, son una de las cosas más complejas que hemos construido.
joojaa
2
Las CPU Intel / AMD modernas usan al menos algo de lógica dinámica que en realidad no funcionaría si se registrara demasiado bajo . Intel Skylake (por ejemplo) tiene un punto de frecuencia / voltaje eficiente mínimo. Para alcanzar niveles de potencia / rendimiento aún más bajos para SoC, activa y desactiva un núcleo en reposo en un ciclo de trabajo variable (> = 800us a quizás ~ 1GHz (f más eficiente), descansa en reposo). Vea la charla de administración de energía de Skylake IDF2015 de Efraim Rotem, a unos 53 minutos en
Peter Cordes
17

Según Wikipedia , las principales CPU lanzadas en 2011 tenían entre 0,5 y 2,5 mil millones de transistores. Suponiendo que una CPU con mil millones de transistores consume 64 A de corriente, la corriente promedio es de solo 64 nA por transistor. Teniendo en cuenta las frecuencias de operación de varios GHz, en realidad es sorprendentemente poco.

Dmitry Grigoryev
fuente
¿Para una mayor frecuencia de funcionamiento de la CPU se requiere mayor corriente?
Lu Ka
2
II0+kfCV2
44
En este punto, podemos poner más transistores en una CPU de los que podemos usar al mismo tiempo sin derretirlo. Entonces, en un momento dado, una gran fracción del chip es Dark Silicon : no está encendido, pero está sentado allí esperando a ser utilizado mientras otras partes del chip (con diferentes funciones especializadas) están apagadas. por ejemplo, el hardware de punto flotante de vector, los multiplicadores enteros de vector y las unidades de mezcla aleatoria de vectores no pueden saturarse todas a la vez, pero cada una tiene un alto rendimiento cuando se usan solas. Además, los cachés grandes no cambian mucho.
Peter Cordes
1
Este es un factor importante para que las CPU obtengan más y más hardware especializado, como las instrucciones de cifrado AES y SHA, y el BMI2 de Intel (especialmente PEXT / PDEP bit-extract / deposit ). Algo relacionado con el presupuesto del transistor que puede acelerar algunas cargas de trabajo, pero no tiene que encenderse cuando no está en uso.
Peter Cordes