Rehber Clock Stretching Nedir? İşlemci Yüksek Frekansta Neden Beklenen Performansı Vermez?

  • Konuyu başlatan Konuyu başlatan mortem.dll
  • Başlangıç Tarihi Başlangıç Tarihi
  • Mesaj Mesaj 2
  • Görüntüleme Görüntüleme 57

Giriş


Herkese merhaba. Bir süredir üzerinde uğraştığım konuyu şu an sizlere sunuyor olacağım. Konumuz Clock Stretching. Bir tık karmaşık gibi görünebilir. Umarım faydalı ve keyifli olur. Teşekkür ederim.

Velhasıl, işlemci performansını değerlendirirken çoğu kişinin baktığı ilk değerlerden biri saat frekansı oluyor. Mesela işlemcinin 5.0 GHz'e çıktığını gördüğümüzde doğal olarak işlemcinin 5 GHz hızında çalıştığını düşünüyoruz, aslında basit ve düz bir mantık gibi görünüyor değil mi? Ancak burada önemli bir ayrıntı var: Yazılım tarafından raporlanan saat frekansı ile işlemcinin gerçekten de ne kadar süre aktif olarak çalıştığı her zaman aynı şeyi ifade etmeyebilir. İşte tam bu noktada konumuza giriyoruz ve Effective Clock ve Clock Stretching kavramları devreye girerek bizleri karşılıyor.

Peki ne demek istiyorum?

Clock Stretching Nedir?


En basit ifadeyle işlemcinin, raporlanan saat frekansı ile gerçekleştirdiği gerçek iş miktarı arasında bir uyumsuzluk oluşursa bunu ifade ediyor. Mesela bir işlemci yazılım üzerinde 5.0 GHz olarak görünebilir, ancak işlemcinin efektif çalışma davranışı bunun çok altında da olabilir. Tam olarak bu nedenden ötürü Reported/Core Clock ≠ Her zaman gerçek performans şeklinde düşünürsek daha doğru olacaktır.

Tabii burada bir diğer önemli nokta şu; Clock Stretching kavramının yalnızca ''İşlemci frekansı düştü." anlamına gelmemesi. Modern işlemciler güç, voltaj, sıcaklık ve stabilite gibi çok sayıda parametreyi sürekli olarak kontrol ediyorlar zaten. Bu mekanizmalar nedeniyle ölçülen saat frekansı ile efektif çalışma arasında fark oluşabilir.




Core Clock ve Effective Clock Arasındaki Fark


HWiNFO gibi donanım izleme yazılımlarında genellikle iki farklı değerle karşılaşabiliyoruz, onlar da bu başlıkta yazdığım unsurlar.

Core Clock: İşlemcinin raporlanan çalışma frekansını göstermekte.
Effective Clock: İşlemcinin belirli bir zaman aralığında gerçekten aktif olarak çalıştığı süreyi de hesaba katarak daha gerçekçi bir çalışma frekansı sunuyor.

Nedir yani?

Core Clock: 5.0 GHz
Effective Clock: 4.2 GHz

- gibi bir sonuç görmek mümkün.

Bu durumda da "İşlemci kesin olarak 4.2 GHz'e düştü." demek doğru olmaz. Çünkü Effective Clock, işlemcinin örnekleme süresi içerisindeki gerçek çalışma durumunu yansıtacak bizlere. Özellikle de işlemci bazı anlarda iş yapıyor, bazı anlarda bekliyor veya çeşitli güç yönetimi mekanizmaları devreye giriyorsa iki değer arasında fark oluşması da gayet normal.

Bu yüzden Effective Clock tek başına değerlendirilmemelidir.



Clock Stretching Nasıl Ortaya Çıkabilir?


Modern işlemciler sabit frekansta çalışan basit cihazlar değiller. İşlemci sürekli olarak güç tüketimini, sıcaklığını, voltajını, yük durumunu ve çalışma koşullarını değerlendiriyor zaten.

Mesela bu faktörler çalışma davranışlarını etkileyebilir:

  • Güç limitleri
  • Sıcaklık limitleri
  • Voltaj
  • İşlemci stabilitesi
  • Boost algoritmaları
  • Akım limitleri
  • Anakart veya laptop üreticisinin belirlediği sınırlar
- gibi gibi.

İşlemci, belirli bir frekansta çalışabilmek için yeterli elektriksel koşullara sahip değilse eğer, sadece ekranda görünen frekansa bakarak gerçek performansı anlamak mümkün olmayabiliyor. Bu nedenle yüksek frekans değeri her zaman için yüksek performans anlamına da gelmiyor.



Güç Limitlerinin Etkisi


İşlemcilerde güç yönetimi, özellikle de modern Intel ve AMD işlemcilerde oldukça karmaşık olabiliyor. Intel tarafında PL1 ve PL2 gibi güç limitleri, AMD tarafında ise PPT, TDC ve EDC gibi çeşitli limitler kullanılabilir. Mesela işlemciniz kısa süreli yüklerde 5.0 GHz'e de çıkabilir ancak uzun süreli yük altında belirlenen güç sınırına ulaştığında çalışma davranışını değiştirebilir.

Bu durumda da:


Daha yüksek frekans - daha yüksek güç tüketimi - güç limitine ulaşma - çalışma davranışlarının değişmesi gibi bir zincir ortaya çıkabilir.

Bu arada laptoplarda bu durum daha da önemli seyrediyor. Çünkü üreticiler CPU ve GPU'nun toplam güç tüketimini aynı soğutma sistemi ve güç adaptörü içerisinde yönetmek zorundadır.

Güç limitleri ile alakalı rehberime buradan ulaşıp okuyabilirsiniz, fikir verebilir:




Undervolt ve Clock Stretching


Undervolt neydi? İşlemciyi daha düşük voltajla çalıştırarak sıcaklığı ve güç tüketimini azaltmayı amaçlıyordu. Tabii bunu pata küte yapmamalısınız. Web ortamında gördüğünüz her konuya atlayıp, söylenenleri uygulayarak UV yapmaya kalkmayın. Elbette ki doğru yapıldığında oldukça faydalı olabilir, orası ayrı. Çünkü daha düşük sıcaklık sayesinde işlemci daha uzun süre yüksek frekanslarda çalışabiliyor. Ancak fazla agresif Undervolt başka bir probleme de veya problemlere de yol açabilir.

İşlemci, belirli bir frekansta çalışmak için yeterli voltajı alamıyorsa eğer, sistem tamamen çökmeden de stabilite sorunları ortaya çıkabilir. İşte bu nedenle "Sıcaklık düştü ve frekans yüksek kaldı, demek ki undervolt kesin başarılı." şeklinde düşünmek, sizler de takdir edersiniz ki doğru değildir. Çünkü Benchmark performansının da kontrol edilmesi gerekli. Mesela işlemci, Undervolt sonrasında 5.0 GHz gösteriyor olabilir ancak Benchmark skoru beklenenden düşük olursa
yalnızca frekans değerine bakarak ayarın başarılı olduğunu söylemek mümkün değil.



Thermal Throttling ile Clock Stretching Aynı Şey mi?


Hayır.

Thermal Throttling: İşlemcinin sıcaklık sınırına ulaşması sonucunda performansını düşürmesi anlamına gelir. Mesela işlemci belirlenen sıcaklık sınırına ulaştığında frekansı, güç tüketimini düşürebilir.

Clock Stretching: İse bundan farklıdır. Burada özellikle ölçülen/raporlanan saat frekansı ile efektif çalışma arasındaki fark önemlidir.

Peki dolayısıyla da:

''Effective Clock düşük = Kesin Thermal Throttling var.'' demek doğru olmaz. Ve aynı şekilde ''Core Clock yüksek = Kesinlikle Throttling yok.'' yorumunu da yapamayız.

Sıcaklık, güç, voltaj, limit göstergeleri ve Benchmark sonuçları
hep birlikte incelenmelidir.



HWiNFO ile Nasıl Kontrol Edilir?


Clock davranışlarını incelemek için HWiNFO oldukça kullanışlı bir eleman.

İşlemciyi anlamlı bir yük altında test ederken özellikle şu değerleri takip etmek fayda sağlayacak:
  • Core Clock
  • CPU Package Power
  • Core Voltage
  • CPU Temperature
  • Thermal Limit
  • Power Limit
  • CPU Utilization
- gibi gibi.

Diyelim ki sürekli bir işlemci yükü var; Core Clock 5.0 GHz, Effective Clock 4.9 GHz olsun. Bu tarz birbirine yakın değerler görmek normal bir çalışma davranışına işaret gibi görünüyor. Ancak Core Clock 5.0 GHz olsun, Effective Clock ise 4.0 GHz olsun. Burada bir sıkıntı yatıyor olabilir çünkü fark fazla. Bunun bi' kontrol edilmesi, bakılması gerek.

Fakat burada tekrar önemli bir uyarı yapmak gerekiyor:

Effective Clock'ın düşük olması tek başına Clock Stretching kanıtı değildir. İşlemcinin gerçekten anlamlı bir yük altında olduğundan emin olmak gerekir.



Basit Ama Önemli Bir Test Senaryosu


2 farklı sistem düşünelim. A ve B.

Sistem A:

Core Clock: 5.0 GHz
Effective Clock: 4.9 GHz
CPU Package Power: 90 W
Sıcaklık: 80 derece

- Bu sistemde raporlanan frekans ile efektif frekans birbirine oldukça yakın, değil mi?

Sistem B:

Core Clock: 5.0 GHz
Effective Clock: 4.1 GHz
CPU Package Power: 55 W
Sıcaklık: 70 derece


- Bu senaryoda ise bir fark görüyorsunuz. Bu sistemin neden bu şekilde davrandığını araştırmamız gerekir. Güç limiti mi devreye giriyor? Voltaj problemi mi var? İşlemci gerçekten sürekli yük altında mı? Stabilite problemi mi oluşuyor? İşlemci bazı çekirdeklerde çalışırken diğerleri beklemede mi? Vesaire vesaire. Bu liste uzar gider. Bu yüzden bunları kontrol etmeden yalnızca Effective Clock değerine bakarak kesin teşhis koymak doğru sonuç vermez.



Benchmark Sonuçları Neden Önemli?


Saat frekansı tek başına performans ölçümü değil, bunu söylemiştik. Birlikte Benchmark sonuçlarına da göz atmakta fayda var.

Örneğin aynı işlemci 5.0 GHz'de 18.000 puan alsın, başka bir ayar özelleştirmesinde yine 5.0 GHz'de 18.000 puan alırsa ''İkisi de 5.0 GHz.'' diyerek aradaki farkı açıklayamayız. Bu noktada
Effective Clock + Package Power + Temperature + Voltage + Benchmark Score değerlerini birlikte değerlendirmek lazım. Çünkü özellikle uzun süreli Benchmark'larda işlemcinin ilk birkaç saniyedeki Boost davranışı ile 5-10 dakika sonraki sürdürülebilir performansı birbirinden oldukça farklı olabilir.



Clock Stretching ve CPU & GPU Stabilitesi


Overclock ve Undervolt yapacaksanız veya yaptıysanız dikkat etmesi gereken noktalardan biri stabilitedir. Bir sistemin stabil olmaması her zaman mavi ekran veya restart sorunları ile kendini belli etmez. Bazı durumlarda sistem çalışmaya devam eder ancak hesaplama hataları, WHEA hataları veya beklenenden düşük performans gibi belirtiler de görülebilir. Bu nedenle işlemciye Undervolt veya Overclock uygulandığında yalnızca sıcaklık ve frekansa değil, stabiliteye de bakmak gerekecektir. Özellikle Windows Event Viewer içerisindeki WHEA kayıtları ve uzun süreli benchmark/stres testleri bu noktada yardımcı olabilir bize.

GPU Tarafında da Benzer Davranışlar Var:

Benzer şekilde GPU tarafında da yalnızca GPU Clock değerine bakmak yanıltıcı sonuçlar doğurabilir. Bu durum laptoplarda daha da dikkat gerektirebilir.

Özellikle laptoplarda:

  • GPU Clock
  • Effective Clock
  • GPU Utilization
  • TGP
  • Voltage Limit
  • Power Limit
  • Thermal Limit
- gibi değerlere bakmak ve bunları bir bütün değerlendirmek lazım.

Örneğin laptopta RTX 5060'ın 2.5 GHz civarında çalıştığını görmek
tek başına GPU'nun maksimum performans verdiğini göstermez. GPU'nun kaç watt tükettiği, sıcaklığının ne olduğu ve gerçek oyun performansının nasıl olduğu da önemli. Bu durum özellikle aynı GPU'nun farklı laptoplarda farklı TGP değerleriyle kullanılmasının neden önemli olduğunu anlamak açısından da değerlidir.



CPU Idle Durumları ve C-State'ler Effective Clock'u Nasıl Etkiliyor?


Effective Clock değerini yorumlarken en sık yapılan hatalardan biri, işlemcinin her an aktif olarak komut yürüttüğünü varsaymak. Modern işlemciler sürekli olarak tam kapasitede çalışmaz zaten. İşlemci üzerinde yapılacak bir iş olmadığında veya bir çekirdek kısa süreliğine beklemek zorunda kaldığında işlemci güç tüketimini azaltmak için çeşitli Idle State mekanizmalarını kullanır. Intel ve AMD işlemcilerinde bu durum genel olarak C-State kavramıyla vurgulanır.

Nedir bu C-State?

C-State'ler, işlemcinin bir çekirdeğinin aktif olarak çalışmadığı veya daha düşük güç tüketimiyle beklediği durumları anlatır.

En temel seviyede:

C0:
Çekirdek aktif olarak çalışıyor.
C1: Çekirdek daha düşük güç tüketen bekleme durumlarına geçiyor.

Şöyle ki C-State derinleştikçe işlemcinin güç tüketimi azalmakta. Bunun karşılığında da çekirdeğin tekrar aktif hale gelmesi için gereken gecikme de artabiliyor. Buradaki amaç performansı düşürmek değil, ihtiyaç olmadığı zamanlarda gereksiz güç tüketimini önlemek, bu önemli. Mesela masaüstünde hiçbir işlem yapılmıyorken işlemcinin bütün çekirdeklerini sürekli 5 GHz'de tutmanın anlamı yok. İşletim sistemi çekirdeği boşta gördüğünde ilgili çekirdeği Idle durumuna sokabilir.


Effective Clock Neden Düşüyor?

Burada Effective Clock'ın temel mantığı devreye giriyor. İşlemci, bir çekirdeği belirli bir süre boyunca yüksek frekansta çalıştırıp daha sonra bir süre beklemeye geçerse, ölçüm penceresinin tamamına baktığımızda çekirdeğin ortalama efektif çalışma oranı daha düşük görünebilir. Ne zor bir cüme oldu ulan.

Kafalar karışmasın, sadeleştirelim:

Bir çekirdek 1 saniyelik ölçüm aralığının 0.5 saniyesinde 5 GHz, 0.5 saniyesinde Idle olsun. Bu çekirdek ölçüm süresinin tamamında 5 GHz'de aktif olarak çalışmış değildir. Dolayısıyla Effective Clock değeri, yalnızca o anda görülen maksimum frekanstan daha düşük bir sonuç da çıkarabilir. İşte bu nedenden dolayı Core Clock: 5.0 GHz görmekle Effective Clock: 2.5 GHz görmek tek başına bir problem olduğu anlamına gelmez. Eğer işlemci gerçekten iş yükünün yarısında çalışıyor, diğer yarısında bekliyorsa bu tür bir fark tamamen normal olabilir.


C-State ile Clock Stretching'i Karıştırmamak Gerekir

İşte burada bu rehberin ana konusu açısından önemli bir ayrım ortaya çıkıyor. Bir işlemcinin Effective Clock değerinin düşük olması iki farklı sebepten kaynaklanabilir. Birincisi tamamen normal olan Idle/C-State davranışıdır. İkincisi ise işlemcinin yük altında beklenen çalışma davranışını gösterememesi gibi daha farklı bir durumdur.

Dolayısıyla; Düşük Effective Clock = Clock Stretching şeklinde bir sonuç çıkarmak doğru değil. Özellikle işlemci düşük kullanımdayken veya yük düzensizken Effective Clock'ın Core Clock'tan ciddi şekilde düşük olması normaldir.


Yük Altında Neden Farklı?

Sürekli ve ağır bir işlemci yükü uygulandığında durum değişir. Örneğin Cinebench gibi işlemciyi sürekli meşgul eden bir Benchmark sırasında çekirdeklerin uzun süre C-State'e girme ihtimali normal masaüstü kullanımına kıyasla çok daha düşüktür. Bu senaryoda da Core Clock: 5.0 GHz, Effective Clock: 4.9–5.0 GHz gibi birbirine yakın değerler görmek daha beklenebilir.

Eğer aynı yük altında Core Clock yüksek görünmesine rağmen Effective Clock sürekli olarak belirgin şekilde düşük kalıyorsa, artık bunun nedenini araştırmak daha anlamlı hale gelir. Burada güç limitleri, sıcaklık, voltaj, iş yükünün yapısı ve diğer CPU kontrol mekanizmaları incelenmeli.


İşletim Sistemi de Bu Süreci Yönetiyor

C-State'ler yalnızca işlemcinin kendi başına verdiği bir karar değil. İşletim sistemi, Scheduler'ı ve güç yönetimi mekanizmaları, işlemcinin ne zaman aktif olacağı ve ne zaman Idle duruma geçebileceği konusunda önemli rol oynar. Mesela masaüstünde Chrome açıkken işlemci kullanımının sürekli %0 ile %10 arasında değişmesi oldukça normal değil mi? Bir web sayfası kısa süreli işlemci kullanır, ardından işlemci tekrar beklemeye geçer. Bu süreç saniyede birçok kez de gerçekleşebilir sonuçta.

Laptoplarda Durum Daha da Belirgin

Laptoplarda güç tüketimi kritik olduğu için Idle ve C-State mekanizmaları daha agresif kullanılabilir. Batarya ile çalışan bir laptopta işlemcinin gereksiz yere yüksek frekansta ve yüksek voltajda tutulması doğrudan pil ömrünü olumsuz etkiler. Bu nedenle işletim sistemi ve firmware, mümkün olduğunca işlemciyi düşük güç durumlarına sokmaya çalışır.

Sonuç olarak laptoplarda özellikle de masaüstü kullanımında Reported Clock yüksek ama Effective Clock düşük görebilirsiniz. Normaldir.

E tabii bu değerleri değerlendirirken işlemci kullanım yüzdesini ve gerçek iş yükünü de mutlaka hesaba katmak gerekiyor.



EN ÖNEMLİ AYRIMLAR


Effective Clock'ı değerlendirirken şu üç senaryoyu birbirinden ayırmak gerekir:
  • Boşta veya düzensiz yükteyken Effective Clock'ın düşük olması normal olabilir.
  • Sürekli ağır işlemci yükü varken Core Clock ile Effective Clock'ın birbirine daha yakın olması beklenir.
  • Sürekli ağır yük + yüksek Core Clock + belirgin düşük Effective Clock varsa burada güç, sıcaklık, voltaj, stabilite ve diğer limitlerin araştırılması gerekebilir.
Dolayısıyla Effective Clock, tek başına "İşlemcide sorun var." göstergesi değildir. Asıl önemli olan, bu değerin hangi yük altında ve hangi koşullarda ölçüldüğüdür. Bu ayrım, Clock Stretching konusunu anlamak açısından oldukça önemli aslında. Çünkü normal bir C-State/Idle davranışını Clock Stretching zannetmek, HWiNFO'daki sensör değerlerini yanlış yorumlamanın en kolay yollarından biri.



EN SIK YAPILAN HATALAR


Clock ve Effective Clock konusu incelenirken birkaç yaygın hata yapılıyor. Bunlara bir göz atalım:

"İşlemci 5 GHz gösteriyorsa kesin 5 GHz performansı veriyordur."
Yanlış. Frekans tek başına yeterli değil.

"Effective Clock düşükse işlemci kesin arızalıdır."
Yanlış. İşlemcinin yük durumu ve güç yönetimi de hesaba katılmalı.

"Sıcaklık düşükse performans kesin yüksektir." Yanlış. Düşük sıcaklık, işlemcinin düşük güçte çalışmasından da kaynaklanabilir.

"Undervolt yaptım, sıcaklık düştü; Kesin daha hızlı oldu." Yanlış. Benchmark sonuçları ve efektif çalışma davranışı da kontrol edilmeli.

"Core Clock ve Effective Clock aynı olmak zorunda." Yanlış. Özellikle değişken yüklerde aralarında fark olması normal.


SONUÇ & DEĞERLENDİRME


Clock Stretching konusu, işlemci performansını yalnızca ekranda gördüğümüz GHz değeri üzerinden değerlendirmenin ne kadar yanıltıcı olabileceğini gösteriyor bize.

Modern işlemciler, güç tüketimi, sıcaklık, voltaj, yük durumu, boost algoritmaları ve C-State gibi birçok mekanizmayı
aynı anda kullanarak çalışma frekanslarını sürekli olarak değiştiriyor. Bu nedenle bir işlemcinin 5 GHz'e çıkması, her koşulda 5 GHz seviyesinde performans verdiği anlamına gelmiyor.

Özellikle Core Clock ile Effective Clock arasındaki
farkı doğru yorumlamak gerekiyor. Effective Clock'ın düşük olması her zaman bir performans problemi veya Clock Stretching olduğu anlamına gelmez. İşlemcinin boşta kalması, düzensiz iş yükleri ve C-State'ler de bu farkın oluşmasına neden olabilir.

Gerçek bir performans problemi araştırılırken tek bir sensöre veya tek bir frekans değerine bakmak yerine
Effective Clock, CPU kullanımı, güç tüketimi, sıcaklık, voltaj, güç/termal limitleri ve benchmark sonuçları birlikte değerlendirilmelidir.

Özellikle Undervolt veya Overclock gibi işlemlerde yalnızca "İşlemci kaç GHz'e çıktı?" sorusuna odaklanmak yerine, işlemcinin bu frekansta ne kadar süre ve ne kadar verimli çalıştığına bakmak çok daha doğru sonuç verir.

Kısacası, GHz bize işlemcinin ne kadar hızlı çalışabileceğini, Effective Clock ise belirli bir süre içerisinde gerçekte nasıl çalıştığına dair daha anlamlı bir fikir verir. Ancak ikisini doğru yorumlayabilmek için işlemcinin o sırada ne yaptığını ve hangi koşullar altında çalıştığını da bilmek gerekir.

Bu nedenle CPU performansını değerlendirmenin en doğru yolu tek bir rakama bakmak değil; frekans, efektif frekans, güç, sıcaklık, yük ve gerçek performans sonuçlarını birlikte okumaktır.



Bu konudan bu kadardı. Umarım faydalı, keyifli olmuştur. Okuduğunuz için teşekkür ederim. İyi forumlar dilerim.
 
Son düzenleme:
Windows performance analyzer var detaylı didiklemek isteyenler için, ona bakınıyorum bu aralar. Stutter o bu problemlerini tespit etmede yardımcı olur.
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…