CPU saati keneler kesinlikle periyodik mi?


51

Bir CPU'nun frekansı, saniyede kaç saat kenesinin olduğu hakkında bir ortalama değer midir veya daha güçlü, fiziksel bir kararlılığa sahip midir?

Benim düşünceme göre, istikrarlı veya dengesiz olmamalıdır. Peki, bir CPU'nun varyansı hakkında herhangi bir bilgi var mı?

Bir CPU'nun döngü süresi kesinlikle kristal titreşimiyle senkronize ediliyor mu? Yoksa CPU'nun bir sonraki tiklemeden önce bir döngü elde ettiğinden emin olmak zorunda mı?


7
Çok farklı CPU tipleri vardır. Çoğu zaman kendileri için belirli bir frekansta titreşen bir kristal kullanır. Çoğu dijital bir kol saati kadar kesindir (zamanı korumak için aynı tür kristali kullanır). en.wikipedia.org/wiki/Crystal_oscillator
krowe

5
@ Bazı talimatları tamamlamak için yüzlerce keneler veya saat döngüleri alın .
misha256,

1
@Gel: Ayrıca, CPU'ların kendilerini yavaşlatması veya kendilerini hızlandırması oldukça yaygındır ve bunu sıklıkla yaparlar. Gerçi bunun kenelerle nasıl ilişkili olduğunu tam olarak bilmiyorum.
Mooing Duck

18
Ürün, hizmet veya materyal önerileri edinmek olarak bunu kapatmak için oy kullanmak ? Gerçekten mi millet?
CVn

30
Bu, donanımın nasıl çalıştığını açıklamaya çalışan meşru bir sorudur .
studiohack

Yanıtlar:


49

Herhangi bir karmaşık şey gibi, bir CPU'nun çeşitli seviyelerde çalışma şeklini tanımlayabilirsiniz.

En temel düzeyde, bir CPU doğru bir saat tarafından sürülür. Saatin frekansı değişebilir; Intel'in SpeedStep'i düşünün. Fakat CPU her zaman saat sinyaline kesinlikle% 100 kilitlenir .

CPU talimatları çok daha yüksek bir seviyede çalışıyor. Tek bir talimat karmaşık bir şeydir ve burada Wikipedia'da açıklandığı şekilde tamamlamak için bir döngüden daha az veya binlerce çevrime kadar her şeyi alabilir .

Bu nedenle, temel olarak, bir komut bazı sayıda saat döngüsü tüketecektir . Modern CPU'larda, çoklu çekirdek, HyperThreading, boru hattı, önbellekleme, sıra dışı ve spekülatif uygulama gibi teknolojiler nedeniyle, tek bir talimat için tam saat döngüsü sayısı garanti edilmez ve böyle bir talimatı verdiğiniz her seferde değişiklik gösterecektir. !

DÜZENLE

CPU için varyans hakkında herhangi bir bilgi var mı?

Evet ve hayır. Son kullanıcıların% 99,99'u çeşitli performans ölçütleri ile ölçülebilecek genel performansla ilgileniyor .

İstediğiniz şey oldukça teknik bilgi. Intel, CPU komutunun gecikme süresi / verimi ile ilgili eksiksiz veya doğru bilgiler yayınlamaz .

Bunu çözmeyi deneyen araştırmacılar var. İşte ilginizi çekebilecek iki PDF:

Ne yazık ki, sapma verileri elde etmek zor . İlk PDF'den alıntı:

Listelenen sayılar minimum değerlerdir. Önbellek özlüyor, yanlış hizalama ve istisnalar, saat sayısını önemli ölçüde artırabilir.

Yine de ilginç okuma!


1
Yorumlar uzun tartışmalar için değildir; bu konuşma sohbete taşındı .
Sathyajith Bhat

4
Çok hoş. Tabii ki, But at all times the CPU is absolutely 100% locked to the clock signalsadece senkron işlemciler için geçerlidir. Zaman uyumsuz (
saatsiz

1
@Luaan - Doğru. Gerçek asenkron CPU'ların hala oldukça nadir olduğunu düşünüyorum, ancak var (ya da geçmişte var). Ancak araştırmacılar ve donanım meraklıları ile gerçekten ilgili.
Daniel R Hicks,

@DanielRHicks Gömülü cihazlar (bazı eski MIPS ve ARM asenkron CPU'lar var) biraz ilgi çekiyorlardı, ama evet, tüketici pazarındaki en büyük şey değil. Sonuçta, neden hemen yanında bir güç ekranı varsa, neden bir akıllı telefonun CPU güç tüketimine önem veriyorsunuz? Ancak, güç tasarrufu (ve diğer özellikler) bazı diğer uygulamalar için çok iyi olabilir - IBM SyNAPSE, bilimsel amaçlar için harika bir proje gibi görünüyor.
Luaan

@Luaan - İlk icat edildiklerinde ortaya çıkan ilginç nokta, bilgisayarın hesaplama yapmak için ihtiyaç duyduğu kadar hızlı / yavaş çalışmasıydı. Ancak daha ayrıntılı saat çizelgeleri temelde aynı şeyi başardı, sorta.
Daniel R Hicks

29

İşlemci keneler kesinlikle doğada periyodik mi?

Tabii ki değil. Çok, çok iyi saatler bile kesinlikle periyodik değildir. Termodinamik yasaları aksini söylüyor:

  • Sıfırıncı kanun: Evrenin senin üzerinde oynadığı küçük kötü bir oyun var.
  • İlk kanun: Kazanamazsın.
  • İkinci kanun: Ama çok soğuk bir günde bile kırabilirsin.
  • Üçüncü kanun: Bu kadar soğuk olmaz.

Çok, çok iyi saatler geliştiricileri, termodinamik yasalarının üstesinden gelmek için çok ama çok çaba harcıyorlar. Kazanamazlar ama çok kırılmaya bile çok yaklaşıyorlar. İşlemcinizdeki saat? En iyi atomik saatlere kıyasla çöp. Ağ Zaman Protokolü'nün var olmasının nedeni budur .


Tahmin: Bir kez daha dünyadaki en iyi atomik saatler 2015'ten 30'a kadar giderken bir miktar kaos göreceğiz. 30 Haziran 23:59:59 UTC - 2015 30 Haziran 23:59:60 UTC - 2015 1 Temmuz 2015 00:00:00 UTC. Çok fazla sistem sıçrama saniyelerini tanımıyor ve güvenlik seviyesini iki (bir saniyeden fazla zaman değişimini önlüyor) olarak ayarlamış durumda. Bu sistemlerdeki saat titremesi, Şebeke Zaman Protokolü sıçraması saniyesinin reddedileceği anlamına gelir. 2012'de olduğu gibi bir dizi bilgisayar daha da yükselecek.


9
+1, eğlenceli ve bilgilendirici. Ve Artık İkinci konu da iyi bir okuma.
jimm-cl

9
Zaman aşımına uğrayan wa IIRC, çekirdek saat rutinlerinin artık saniye ihtimalinin farkında olduğu için ayarlandı, ancak ayarlamayı saat zaten aranmasına izin verilmeyen bir saat ayarlama rutini çağrısı olarak uyguladı. ayarlanıyor ... Tabii ki sistem saatinin cpu saatiyle bir ilgisi yok.
Hagen von Eitzen

1
Lol, harika. "CPU saati, atom saatlerine göre çöptür" gözleminize bir şey ekliyorum : gözlem! Ama akrabadan bahsetmek değil, hepsi çok öznel. En iyi atomik saatlerimizin üstün doğruluğuna hayran kalabiliriz, ancak dışarıda bir yerlerde (rahat realitemizin dışında) atomik saatlerimizin "çöp" gibi görünmesini sağlayan bir teknoloji olabilir :-p
misha256

2
@ misha256, gerçek şu ki, doğru bir saat olamaz . Zaman görecelidir.
Keltari,

CPU saati çöp olabilir, ancak 7-bit ekran sürücüsüne, bilinmeyen bir durumda, bir sonrakini yayınlamadan önce talimatınızı kesmesi için biraz zaman vermek için 8 bitlik bir kayıt taşması sağlamak gibi bir şey yoktur. Bunun için kristallere ihtiyacımız yok. Daha da önemlisi, sonuçlarını bir sicile (veya farklı bir ALU'ya giden bir otobüse) ayırmadan önce, ALU'nun hesaplamasını tamamlaması için bir nanosaniye beklemek gibisi yoktur.
John Dvorak

22

2000 civarında, CPU'ların saat hızları, cep telefonlarının da çalıştığı bölgeye girmeye başladığında, gerçek saat hızına bir değişiklik eklemek yaygınlaştı. Nedeni basit: Eğer CPU saati tam olarak 900 Mhz ise, tüm elektronik parazitler bu frekansta üretilir. Saat frekansını 895 ile 905 Mhz arasında bir miktar değiştirin ve parazit de bu aralığa dağıtılır.

Bu mümkündü çünkü modern CPU'lar ısı sınırlıdır. Saatin daha sonra yavaşlaması durumunda soğuyabileceklerinden, kısa bir süre için biraz daha hızlı çalışma problemleri yoktur.


13
BIOS'ta sık sık "Spread Spectrum" olarak adlandırılan bu seçeneği göreceksiniz
Mark Sowul

1
Çok çekirdekli CPU'larda çekirdeklerin aynı zamanda ofset saatler kullandığını, çünkü radyo gürültüsünü önlemeye yardımcı olur, güç dağıtımına yardımcı olur ve çekirdek oluşturma harmoniklerini önler.
Zan Lynx

3
@MarkSowul, sonunda bu "spread spektrumunun" pratik kullanımını söyleyen birine teşekkür ediyor.

22

Dijital mantık tasarımcısı burada. Bir mantık ağının bir giriş sinyaline cevaben değişmesi için geçen zaman, yayılma gecikmesidir . Sistemi şöyle düşünün:

registers A,B,C... ---> logic cloud ---> registers A',B',C'

"Fırlatma saati", ilk kayıt kümesinin değiştiği saatin kenarıdır. "Yakalama saati" bir süre sonra bir sonraki saat kenarıdır. Sistemin çalışması için, mantık bulutunun çıktısının, yakalama saati gelmeden önce kararlı olması gerekir.

Bunun işe yaradığından emin olma süreci zamanlama analizidir. Sistemin fizik tabanlı bir simülasyonunu kullanarak herhangi bir girişin herhangi bir çıktının en kötü durum geliş zamanını hesaplayın. Bu sayıların sistemdeki en büyüğü asgari saat süresini belirler.

En kötü olayı not edin . Gerçek yayılma süresi daha kısa olacaktır, ancak üretim süreci değişkenliğine, mevcut sıcaklığa ve talaş voltajına ( PVT ) bağlıdır. Bu, pratik anlamda daha hızlı bir saat uygulayabileceğiniz anlamına gelir (overclock) ve çalışabilir. Ayrıca 0x1fffffff + 1 = 0x1f000000, taşıma bitinin zamanında gelip gelmeyeceğine karar vermek gibi hatalar üretmeye de başlayabilir .

Yongalarda ayrıca, gemide birden fazla saat bulunabilir (genellikle FSB, çekirdekten daha yavaştır) ve gerçek saat, termal kontrol amaçları için yukarı veya aşağı rampa edilebilir veya çeşitlendirilebilir (MSalter EMC testlerini geçmek için yayılma spektrumunu kullanma konusundaki cevabı).


Bazı durumlarda, yakalama saati bir sonraki değil, ikinci veya daha sonraki çevrim olabilir. Bazı tasarımlar, verinin her zaman en az bir miktar zaman alacağını varsayar (örneğin, çoğalma gecikmesinin 2,1 ile 2,9 döngü arasında olduğu biliniyorsa, veriler çıkarılabilir ve her döngüde örneklenen sonuçlar; önce döngüleri); diğer daha koruyucu tasarımlar çıktı verilerini daha yavaş değiştirir ve kararlı olduğu garanti edilene kadar sonucu yok sayar.
supercat,

2

Bir CPU'nun talimat süresi kesinlikle kristal titreşimiyle senkronize ediliyor mu? Yoksa bir sonraki onay işleminden önce CPU'nun bir talimat alacağından emin olmak zorunda mı?

Ne. Öğretim süresi belirli sayıda saat kenesi olacaktır, ancak bu sayı talimatın gerekliliklerine göre değişebilir. Örneğin, bir talimat L1 önbelleğinde belirli bir hafıza yeri bulunana kadar ilerleme kaydedemezse, talimat bir sonraki saatin onayından önce tamamlanmayacaktır. Bu talimatta, bu gerçekleşene kadar hiçbir ilerleme kaydedilmeyecektir.

Ancak CPU bir şeyler yapmaya karar verdiğinde, bunu yapması gereken temel yöntem, kendi iç anahtarlarını ayarlamaktır, böylece belirli bir bilgi parçası CPU'nun belirli bir bölümüne gider. Girişin o kısma gelmesini ve çıktının bir sonraki kısma gelmesini bekler. Bu bekleme kısmı saatin amacıdır.

İki ikili girişi alan ve bunları toplayan, bazı üçüncü kablo setine toplamı veren fiziksel bir devre düşünün. Ekleme yapmak için, CPU, bu toplayıcıya ulaşmak için eklenecek iki sayının ve çıkışların, örneğin bir CPU kayıt mandalına gitmesi için düzenleme yapmalıdır. CPU, mandala, girdiler toplayıcıya ulaşana kadar çıktıyı kaydetmesini söyleyemez, toplayıcı çıktı üretir ve çıktı mandala ulaşır. Bu saatin amacı - girişin bir yere gitmesi ile çıkışın kullanıma hazır olmasını beklemesi arasındaki bekleme süresini ayarlamak.

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.