duranforreal

Üstün
Katılım
30 Nisan 2024
Mesajlar
1.620
Çözümler
3
Beğeniler
1.015
İyi günler forum. Ben bu soruyu araştırdım ve anlayamıyorum bir türlü. 6 çekirdek tamam ama Windows'ta neden Thread sayısı gözüküyor ve çekirdek olarak yazılmış? Bir de sizden duymak isterim.

Kimsemi bilmiyor?
 
Son düzenleme:
  • Çekirdek = Fabrikadaki işçi
  • Thread = O işçinin aynı anda yürüttüğü görev listesi
Ahmet'i işlemcide ki tek çekirdek olarak düşün. Thread ise Ahmet'in fabrikada yaptığı işler. Mesela paketleme, depo dizilimi, ürün tedariği vs gibi görev listesini aynı anda tamamlama ve teslim etme işine Thread denir.
 
Fiziksel çekirdekler kendi başına özerk işlem birimleridir, kendi ALU/FPU ve pipeline'larına sahiptirler. Thread'lar ise bir uygulamanın olabileceği en küçük parçadır. Bir uygulamayı açtığınızda aslında birden fazla thread açılır, threadler programın bütününü oluşturur. İşlemleri tek bir thread yerine küçük parçalara bölmek, birbirinden bağımsız çalışmalarını ve çok çekirdekte daha verimli olmalarını sağlar. Sizin bahsettiğiniz thread aslında sanal çekirdek. Ancak insanların aklında farklı kalmış. Niye o şekilde halk ağzına oturmuş bilmiyorum.

Sanal çekirdek ise Hyperthreading(AMD'de SMT) olarak bilinir. Fiziksel çekirdeklerde çalışan threadlar sadece işlemci kullanmaz, işlemlerini yapabilmeleri için RAM/Depolama/İnternet veya diğer dış birimlerden veri ve sinyal bekler. I/O burst dediğimiz bu olayda CPU çekirdeği atıl kalır. Her fiziksel çekirdeğe açılan sanal çekirdek ikinci bir pipeline oluşturur. İşlemci, I/O bekleyen thread yerine I/O'su zaten tamamlanmış ve çalışmaya hazır başka bir thread'i o çekirdeğe atar. Bu sayede aynı çekirdeğin boş zamanları azaltılarak birim sürede daha fazla performans kazanılır.