İşlemciler neden bu kadar çok akıma ihtiyaç duyuyor?


37

Basit bir CPU'nun (Intel veya AMD gibi) 45-140 W tüketebileceğini ve birçok CPU'nun 1.2 V, 1.25 V vb.

Yani, 1.25 V'da çalışan ve 80 W TDP'ye sahip bir CPU varsayalım ki ... 64 Amper (bir çok amper) kullanır.

  1. Neden bir CPU'nun devresinde 1 A'dan daha fazlasına ihtiyaç vardır (FinFET transistörleri varsayar)? CPU'nun çoğu zaman boşta olduğunu ve 60 A'nın hepsinin "darbeler" olduğunu biliyorum çünkü CPU'nun bir saati var, ama neden bir CPU 1 V ve 1 A'da çalışamıyor?

  2. Küçük ve hızlı bir FinFET transistörü, örneğin: 3,0 GHz'de çalışan 14 nm, kaç ampere ihtiyaç duyar (yaklaşık olarak)?

  3. Yüksek akım, transistörlerin daha hızlı açılmasını ve / veya kapanmasını sağlar mı?


26
Modern CPU'lar (hiçbiri 'basit' olmayan), tümü kendi güç gereksinimlerine sahip olan çoklu voltaj rayları gerektirir. Sorunuz birçok varsayımda bulunur ve birçok yanlış ifadeye sahiptir. Sadece tek bir ray için olanları değil tüm güç gereksinimlerini göz önünde bulundurmalısınız.
Woss ismi

8
Modern bir CPU üzerinde bir FinFET transistör sayımı yapın. Değil her FET Vdd dan toprağa akım yürüten, ama buna rağmen, 64 A * Bu anahtarlama FET'lerin * Çok sayıda dağılmış olur.
glen_geek

9
@EricLippert "duvardan 64 amper çekmek zorunda kalacaktı" - CPU'nun 110 V'ta çalışmayacağına dair şüphem var
Andrew Morton

6
Korunan miktar enerjidir ve ortalama olarak da güçtür. Bir CPU 64 Watt çekiyorsa, güç kaynağı soketten en az 64 Watt çekmelidir . 110V'da bile <1A.
MSalters

6
@EricLippert Bilgisayarınızdaki anakart, besleme voltajını (bir masaüstü bilgisayar için 12 V, bir dizüstü bilgisayar için muhtemelen 12-19V) çekirdek besleme voltajına düşüren çok fazlı bir DC - DC dönüştürücüsü içerir. Bu, sabit GÜÇ ile yapılır, böylece çıkış akımı, giriş akımının 10-20 katı olur. Bir masaüstü bilgisayardaki 12V beslemesinden de bahsetmiyoruz, aynı zamanda sürekli güçle dönüştüren bir anahtarlama güç kaynağından da geliyor. Bilgisayarınızdaki CPU, akımı idare etmek için muhtemelen en az 100 güç ve topraklama iğnesine sahiptir.
alex.forencich 20:16

Yanıtlar:


69
  1. İşlemciler, hayal gücünün bir uzantısı tarafından 'basit' değildir. Çünkü her biri rölantide küçük bir sızıntı olacak ve geçiş yaparken diğer transistörlerde geçit ve ara bağlantı kapasitansını şarj etmek ve deşarj etmek zorunda kalacakları birkaç milyar transistöre sahipler. Evet, her biri küçük bir akım çekiyor, ancak bunu transistörlerin sayısıyla çarptığınızda, şaşırtıcı derecede büyük bir sayı ile bitiyorsunuz. 64A zaten bir ortalama akımdır ... anahtarlama yaparken, transistörler ortalamadan çok daha fazlasını çekebilir ve bu bypass kapasitörleri tarafından düzeltir. 64A rakamınızın, TDP'den geriye doğru çalışmaktan geldiğini ve bunun 64A RMS olmasını sağladığını ve birçok zaman ölçeğinde (bir saat döngüsü sırasındaki varyasyon, farklı işlemler sırasındaki varyasyon, uyku durumları arasındaki varyasyon, vb.) Önemli farklılıklar olabileceğini unutmayın. ). Ayrıca, 1.2 voltta 3 GHz'de ve 1 voltta ve 1 amperde 64 amperde çalışacak şekilde tasarlanmış bir CPU'yu çalıştırmaktan kurtulabilirsiniz .... sadece belki 3 MHz'de. Bu noktada çipin minimum saat frekansına sahip dinamik bir mantık kullanıp kullanmadığı konusunda endişelenmenize rağmen, belki de birkaç GHz'e kadar birkaç yüz MHz'de çalıştırmanız ve ortalamayı elde etmek için periyodik olarak derin uykuya daldırmanız gerekebilir. aşağı akım. Sonuç olarak bu güç = performans. Çoğu modern CPU'nun performansı aslında termal olarak sınırlıdır. bu yüzden belki birkaç GHz'e birkaç MHz'de çalıştırmanız ve ortalama akımı azaltmak için periyodik olarak periyodik olarak derin uykuya dönüştürmeniz gerekir. Sonuç olarak bu güç = performans. Çoğu modern CPU'nun performansı aslında termal olarak sınırlıdır. bu yüzden belki birkaç GHz'e birkaç MHz'de çalıştırmanız ve ortalama akımı azaltmak için periyodik olarak periyodik olarak derin uykuya dönüştürmeniz gerekir. Sonuç olarak bu güç = performans. Çoğu modern CPU'nun performansı aslında termal olarak sınırlıdır.
  2. Bunun hesaplanması nispeten kolaydır - , burada akımdır, yük kapasitansı, voltajdır, aktivite faktörüdür ve anahtarlama frekansıdır. Bir FinFET'in kapı kapasitansı ve kurgusu için basketbol sahası numarası alıp alamayacağımı göreceğim. I C v α fI=CvαfICvαf
  3. Sırala. Kapı kapasitansı ne kadar hızlı şarj edilirse veya boşaltılırsa, transistör o kadar hızlı değişir. Daha hızlı şarj etmek, ya daha küçük bir kapasitans (geometri ile belirlenir) ya da daha büyük bir akım (ara bağlantı direnci ve besleme gerilimi ile belirlenir) gerektirir. Daha sonra hızlı geçiş yapan bağımsız transistörler, daha sık geçiş yapabilecekleri anlamına gelir, bu da daha fazla ortalama akım çekimi ile sonuçlanır (saat frekansıyla orantılı).

Düzenleme: yani, http://www.synopsys.com/community/universityprogram/documents/article-iitk/25nmtriplegatefinfetswithraisedsourcedrain.pdf 25nm FinFET'in geçit kapasitansı için bir rakama sahiptir. Ben sadece işleri basit tutmak uğruna 0.1 fF diyeceğim. Görünüşe göre yanlılık voltajına göre değişiyor ve kesinlikle transistör boyutuna göre değişecek (transistörler devrede amaçlarına göre boyutlandırılmış, transistörlerin tümü aynı boyutta olmayacak! ama aynı zamanda daha yüksek kapı kapasitansına sahiptirler ve sürüş için daha fazla akım gerektirirler).

1,25 volt, 0,1 fF, 3 GHz ve takılırsa, sonuç . 1 milyar ile çarpıp 375 A elde edersiniz. Bu transistörlerin 1 milyarını 3 GHz'de değiştirmek için gereken ortalama kapı akımıdır (saniyede şarj kapasitesi). Bu, CMOS mantığında geçiş yaparken ortaya çıkacak olan 'vurmayı' saymaz. Aynı zamanda bir ortalamadır, böylece anlık akım çok fazla değişebilir - bir RC devresi şarj edilirken akımın asimptotik olarak nasıl azaldığını düşünün. Alt tabakadaki, ambalajdaki ve devre kartındaki kapasitörleri bu değişimi düzelterek atlayın. Açıkçası bu sadece bir basketbol sahası figürü, ancak doğru büyüklük sırası gibi görünüyor. Bu aynı zamanda kaçak akımı veya diğer parazitiklerde depolanan yükü de dikkate almaz (örn. 0.375 μ Aα=10.375μA

Çoğu cihazda, 1'den çok daha az olacaktır, çünkü transistörlerin çoğu her saat döngüsünde boşta olacaktır. Bu, transistörlerin işlevine bağlı olarak değişecektir. Örneğin, saat dağıtım ağındaki transistörler , her saat döngüsünde iki kez geçiş yaptıkça olacaktır . İkili sayıcı gibi bir şey için, LSB saat devresi başına bir kez değiştiğinde 0,5 değerine sahip olacak , bir sonraki bit sık sık yarısı değiştirdiğinde olur. Ancak, önbellek gibi bir şey için,α = 1 α α = 0.25 α α = 0.000061 ααα=1αα=0.25αçok küçük olabilirdi. Örneğin, 1 MB önbellek alın. 6T SRAM hücreleri ile oluşturulmuş 1 MB önbellek, yalnızca verileri depolamak için 48 milyon transistöre sahiptir. Okuma ve yazma mantığı, kırılganlaştırıcılar, vb. İçin daha fazlası olacaktır. Ancak, yalnızca bir avuç verilen bir saat döngüsünü açacaktır. Diyelim ki önbellek satırı 128 bayttır ve her döngüde yeni bir satır yazılır. Bu 1024 bit. Hücre içeriğinin ve yeni verilerin her ikisinin de rastgele olduğunu varsayarsak, 512 bitin çevrilmesi beklenir. 48 milyondan 3072 transistör, veya . Bunun sadece hafıza dizisinin kendisi için olduğuna dikkat edin; destek devresi (kod çözücüler, okuma / yazma mantığı, duyu amper, vb.) çok daha büyük bir alana sahip olacaktırα=0.000061α. Bu nedenle, neden önbellek güç tüketimine genellikle kaçak akım hakimdir - anahtarlama yerine sadece sızıntı etrafında oturan bir sürü boşta transistör.


4
1V 1A tuhaf bir hedef değil, ARM CPU'lar genellikle mW / MHz olarak belirtiliyor. Karşılaştırma olarak, tüm Ahududu Pi A + 700 Mhz işlemci dahil 1Watt kullanıyor - 3Mhz'nin önerdiğinden çok daha fazla
MSalters 20:16 'de saat

2
Saat devri başına yapılan iş miktarı çılgınca değiştiğinden, "watt başına MIPS" anlamına gelir.
pjc50

1
Çipin ne yapmak için tasarlandığına bağlı. 1.2 Volt'ta 3 GHz'de çalışacak şekilde tasarlanan 80W TDP değerinde bir çip belki 1V ve 1A'da çalışabilir ... ama 1V'de hızı önemli ölçüde düşürmeniz ve 1A'yı size çekmesi gerekecek hızı daha da düşürmek zorunda kalacağım. Bu durumda 3 GHz'e yakın bir yere gidemezsiniz. Gerçekte neyi başarabileceğin hakkında hiçbir fikrim yok, ancak kendim denemedim. Belki 3 MHz 1V ve 1A'da i7 için biraz karamsardır. Şimdi, bahsettiğiniz gibi, bu güç seviyesinde çalışacak bir yonga tasarlamak kesinlikle mümkün.
alex.forencich 20:16

6
Basit değiller. Aslında onlar inşa ettiğimiz en karmaşık şeylerden biri.
joojaa

2
Modern Intel / AMD CPU'lar kullanımı en azından bazı dinamik mantık çok saat hızına eğer gerçekten işe başarısız olur düşük . Intel Skylake (örneğin) minimum verimli bir frekans / voltaj noktasına sahiptir. SoC için daha düşük güç / verim seviyelerine bile çarpmak için değişken bir görev döngüsünde bir çekirdeği uykuya daldırır (> = 800us, belki ~ 1GHz'de (en verimli f), uykuda bekler). Bakınız Efraim Rotem'in IDF2015 Skylake güç konuşması, yaklaşık 53 dakika sonra
Peter Cordes

17

Wikipedia'ya göre , 2011 yılında piyasaya sürülen en iyi CPU'ların yaklaşık 0.5 ila 2.5 milyar transistörü vardı. 1 milyar transistörlü bir CPU'nun 64A akım harcadığı varsayılırsa, ortalama akım transistör başına sadece 64nA'dır. Birkaç GHz'in çalışma frekansları göz önüne alındığında, aslında şaşırtıcı derecede azdır.


CPU'nun yüksek çalışma frekansı için daha yüksek akım gerekli midir?
Lu Ka

2
Genelde akım burada fc saat frekansı ve k bir sabittir ve V çalışma voltajıdır ve I0 kaçak akımdır. k, ne kadar transistörün belirli bir zamanda ve talaş tasarımında anahtarlandığına bağlı olarak değişecektir. II0+kfCV2
Spehro Pefhany

4
Bu noktada, bir işlemci üzerinde eritmeden aynı anda kullanabileceğimizden daha fazla transistör koyabiliriz. Bu yüzden, herhangi bir zamanda çipin büyük bir kısmı Koyu Silikon'dur : açılmaz , ama çipin diğer kısımları (farklı özel fonksiyonlara sahip) kapalıyken kullanılmayı bekliyor. örneğin, vektör kayan nokta donanımı, vektör tamsayı çarpanları ve vektör karıştırma birimlerinin hepsi bir kerede doygun hale gelemez, ancak her biri tek başına kullanıldığında yüksek verime sahiptir. Ayrıca, büyük önbellekler fazla değişmez.
Peter Cordes

1
Bu, AES ve SHA kripto talimatları ve Intel'in BMI2 (özellikle PEXT / PDEP bit özü / bırakma) gibi daha fazla özel donanım elde etmesinde CPU'larda büyük bir faktördür . Transistör bütçesiyle ilgili, bazı iş yüklerini hızlandırabilecek, ancak kullanılmadığında açılmayacak bir şey.
Peter Cordes
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.