Neden çalışan işlemciler daha fazla elektrik gücü kullanıyor?


16

Kodlamaya başladığımın ilk zamanlarında, en azından bildiğim kadarıyla, işlemcilerin hepsi sabit miktarda güç kullandı. İşlemcinin "boşta" olması diye bir şey yoktu.

Bu günlerde, işlemci çok meşgul olmadığında, çoğunlukla saat hızını dinamik olarak azaltarak güç kullanımını azaltmak için her türlü teknoloji var.

Benim sorum daha düşük bir saat hızında koşmak neden daha az güç kullanıyor?

Bir işlemcinin zihinsel resmim, ikili 1'i temsil eden bir referans voltajı (5V diyelim) ve 0'ı temsil eden 0V'dir. Bu nedenle, tüm çip boyunca sabit bir 5V uygulandığını ve çeşitli mantık kapılarının bu voltajı ayırdığını düşünüyorum. "kapalı" olduğunda, sabit miktarda güç kullanıldığı anlamına gelir. Bu kapıların açılıp kapatılma hızının kullanılan güçle hiçbir ilişkisi yoktur.

Bunun umutsuzca naif bir resim olduğuna şüphe yok, ama elektrik mühendisi değilim. Birisi gerçekte neler olup bittiğini ve güçten nasıl tasarruf ettiğini açıklayabilir. Bir işlemcinin duruma bağlı olarak daha fazla veya daha az güç kullanmasının başka yolları var mı? Örneğin daha fazla kapı açıksa daha fazla güç kullanıyor mu?

Mobil / düşük güçlü işlemciler masaüstü kuzenlerinden nasıl farklıdır? Sadece daha mı basit (daha az transistör?) Veya başka bir temel tasarım farkı var mı?


8
Yanılıyorsunuz, işlemciler zaman içinde asla aynı miktarda güç kullanmamışlardı, her zaman değişkendi. İşleri önemli ölçüde basitleştiren, gücün sadece tek bir flip-flop değerini değiştirmeye harcandığını varsayabiliriz. Bu nedenle, saniyede daha fazla hesaplama yapılır, dahili kayıtlar değerlerini ne kadar çok değiştirirse, o kadar fazla güç harcanır.

2
Elektroniklerimi doğru hatırlarsam, "boşa harcanan" enerjinin çoğu (diğer bir deyişle "ısı") kaçaktır (akışın olmaması gereken yerde akan (aka (küçük) miktarlarda). Yani olur daha sen bir zaman.) Daha yüksek voltaj ve b kullanarak.) Yüksek frekanslarda anahtarlama. Çoğu modern CPU'lar azaltmak hem gerilim ve (onlar bunlardan sadece birini azaltmak bile ve hala var bir kazanç) onların düşük güç durumlarında frekansı.

3
@ SK-mantığı: Birçok tarihi işlemci saat hızı ne olursa olsun kabaca aynı miktarda güç tüketen ECL mantığını kullanır. Seymour Cray, CDL 8600, Cray-1, Cray X-MP, Cray Y-MP, Cray T90'ı ECL kullanmak üzere tasarladı. Wikipedia ECL mantık makalesi diğer şirketlerden birkaç tane daha listeler. Bu makinelerin hiç var olmadığını mı söylüyorsunuz yoksa işlemci olarak saymadıklarını mı söylüyorsunuz?
davidcary

İşlemciler ayrıca bir durdurma talimatı kullanarak güç tasarrufu sağlar. İşletim sistemi çekirdeği, işlemciyi uyandırmak için bir zamanlayıcı ayarlayabilir ve işlemcinin uykuya dalmasını sağlamak için bu komutu yürütebilir.
Oskar Skog

Yanıtlar:


24

Bu kapıların açılıp kapatılma hızının kullanılan güçle hiçbir ilişkisi yoktur.

Burada yanılıyorsunuz. Temel olarak, her kapı inanılmaz derecede küçük bir kapasitansa sahip bir kapasitördür. Gerilimi "bağlayarak" ve "bağlantısını keserek" açıp kapatmak, inanılmaz derecede küçük bir elektrik yükünü kapıya girer veya çıkarır - bu farklı davranmasını sağlar.

Ve hareketli bir elektrik yükü, güç kullanan bir akımdır. Milyarlarca kapının saniyede milyarlarca kez değiştirildiği tüm bu küçük akımlar biraz toplanır.


Bellekte olan bu - DRAM belleği. İşlemciden gelen bellek (önbellek) kapasitörlerle uygulanmayan SRAM kullanır ...

7
@ m3th0dman: Kondansatör olması planlanan elementlerden bahsetmiyorum. Her transistörün, CPU'nun içindeki her elemanın bir kapasitansı vardır.

7

SK-logic'in yorumu işaret ettiğinden, çoğu güç gerçekten sabit bir durumdan ziyade flip-flop değiştirmeye harcanmaktadır.

Dinamik olarak azaltmak için IIRC yapabileceğiniz iki ana şey vardır.

  1. eğer bir çipin tüm alanları saatlenmiyorsa, bu alanların gücünü tamamen kapatabilirsiniz

  2. Saat ağacının kendisi, büyük ölçüde bir sistemin en hızlı anahtarlama parçası olduğu için sistemdeki en büyük güç drenajlarından biridir. Bu yüzden saat ağacının kendisinin gücünü azaltmak önemlidir.


Saat ağacı nedir?
akaltar

2
@akaltar saat sinyalini işlemcinin saatle senkronize edilmesi gereken her elemanına dağıtan tüm hatların toplamı.
Michael Borgwardt

6

Elektronik devre tarafından tüketilen gücün iki bileşeni vardır:

  • frekans sabitinden az çok bağımsız olan ve teknolojiye ve çalışma voltajına bağlı olan sızıntı;
  • frekansa bağlı anahtarlama gücü (çeşitli kapasitansların, transistörlerin ve tellerin yüklenmesi ve boşaltılması nedeniyle)

Tüketimi azaltmak için işlemci tasarımcıları çeşitli teknikler kullanır:

  • yüke bağlı olarak frekansın değiştirilmesi (bu sadece anahtarlama gücüne etki eder)
  • gerekmediklerinde devrelerin parçalarının gücünü azaltmak veya hatta kapatmak

Bu teknikler, yükünüze bağlı olarak, güç tüketimi POV'sinden, frekansı azaltarak veya tam hızda bir "sprint" yaparak ve daha sonra devrelerin bir alt kümesini keserek daha iyi olabilirsiniz.


Ayrıca, frekansın düşürülmesi, sızıntıyı azaltmak için çalışma voltajını azaltmaya izin verebilir (çünkü transistörler biraz daha yavaştır).
TEMLIB

0

Daha düşük bir saat hızında çalıştırmak, sabit bir görevi gerçekleştirmek için gereken enerjiyi etkilemez. Sızıntıyı hesaba katarsanız ve tamamen kapatabiliyorsanız, gerekli enerjiyi bile artırabilir.

Daha düşük saat hızının enerji tasarrufu sağladığı yerde da işletme gerilimi azaltmak mümkün. Voltajı düşürmek genellikle daha uzun süre aktif kalması gerektiğini telafi etmek için yeterli güç tasarrufu sağlar.


Kabul etmiyorum Sean. Saat hızını düşürmek, tipik bir CPU'da büyük olan tüm saat zincirinde yer alan tüm parazitik anahtarlama kayıplarını azaltır. 1GHz My Atom netbook çalışır ben 500MHz aşağı CPU kısma, eğer soğutucu çalışır ve gözle görülür beslemesinden gelen az güç çeker ve bu does görevi etkileyen - bu tam olarak iki kat daha uzun sürer.
rdtsc

2
@rdtsc Dikkatli ol. Sean enerji yazıyor , değil güç .
boru

@rdtsc Güç ve enerjiyi karıştırıyorsunuz. Birinci sırada, belirli bir görev sabit sayıda saat döngüsü gerektirecektir. Bir pilin iki farklı çalışma noktasında görevinize nasıl tepki vereceğini düşünün.
Sean Houlihane

Ahh evet. Hala ilk fincan kahve üzerinde çalışıyoruz. :) Bunu ölçmek zorunda kalacağım, ama bence kullanılan enerji daha düşük bir saat hızında biraz daha fazla olacak , çünkü modern bir CPU saniyede çok fazla periyodik olay gerçekleştirecek. Daha yavaş bir saat için bunlardan daha fazla olacak ve daha fazla görev tamamlanması için daha uzun bir süre anlamına gelecektir.
rdtsc

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.