Şimdi Ara

İslemcilerde threads kavrami nedir?

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
3 Misafir - 3 Masaüstü
5 sn
18
Cevap
1
Favori
28.282
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
1 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Merhaba arkadaslar islemcilerde threads nedir mesela 4 cores 4 threads li bir islemci neyi ifade ediyor? Simdiden tesekkurler

    < Bu ileti mobil sürüm kullanılarak atıldı >



  • En basitinden ifade edeyim 4 core 4 threads demek toplam 4 cekirdek var ve 4 is parcasi var bu yuzden her cekirdek 1 islem yapabiliyor
    ama 4 core 8 threads toplam 4 cekirdek var 8 is parcasi var ve her cekirdek 2 is yapabiliyor ve dolayli yoldan 8 cekirdek gibi calisisan 4 gercek cekirdek var yani
    quote:

    Orijinalden alıntı: erdi1

    quote:

    Orijinalden alıntı: gmfaruk

    quote:

    Orijinalden alıntı: erdi1

    Merhaba arkadaslar islemcilerde threads nedir mesela 4 cores 4 threads li bir islemci neyi ifade ediyor? Simdiden tesekkurler

    4 gerçek çekirdek 4 tane de sanal

    Sanal cekirdek ile gercek cekirdegin farki ne peki
    Yukardaki arkadaşın yazdığı şey yanlış.

    Thread bi programın, işletim sistemi tarafından çalıştırılabilecek en küçük kısmını ifade eder. Bu İşletim sisteminin çekirdeği tarafından (kernel scheduler ) belli donanım bileşeni üstünde çalıştırılması için atanır.

    Bizim bildiğimiz anlama getirirsek, 4 çekirdek 4 thread demek, işletim sistemi bu donanım üstünde bir programın en küçük çalıştırılabilir yapısı olan threadlerden 4 tanesini yollayabilir ve donanım aynı anda 4 tanesi ile uğraşabilir demek olur.

    Program >> proses >> thread Bunlar yazılım tarfında olan kısmı

    İsletim sistemi çekirdeği / zamanlayıcı (kernel / scheduler) >>> thread'in hangi çekirdekten çalıştırılacağını belirler ve seçip gerekli ayarlamaları yapıp ona yollar.

    Böylece yazılımın en küçük parçası olan thread işlemcinin bir çekirdeğinde çalışır.


    SMT(simultanous multi threading) denen yöntemler var, Intelin HyperThreading'i gibi. Burda aynı çekirdeğe, o çekirdeğin kaynaklarını her an %100 kullanamadığından hareketle boşta kalan kaynakları kullanmak için 2. bi thread atanır. Böylece mesela 1. thread ABC kaynaklarını kullanırken 2. thread yine aynı çekirdekteki BDE kaynaklarını kullanabilir. Bu sayede aynı çekirdekten bi miktar daha ilave performans elde etmiş oluruz. bu örnek için 1 çekirdek 2 thread işlemiş olur, tıpkı intelin HT destekli işlemcileri gibi.

    i7 lerde mesela 4 tane fiziksel çekirdek varken, bu çekirdeklere işletim sistemi 8 tane thread yollayabilir. Çekirdekler de kullanılmayan kaynaklar vasıtası ile bi miktar daha fazla performans üretir, mesela %10-15-20 gibi.

    SMT'de amaç, donanıma çok çok az ekleme yapıp (mesela sadece %5 civarında), ekstradan %5-25 gibi ilave performans alabilmektir.
  • Yukari

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • quote:

    Orijinalden alıntı: erdi1

    Merhaba arkadaslar islemcilerde threads nedir mesela 4 cores 4 threads li bir islemci neyi ifade ediyor? Simdiden tesekkurler

    4 gerçek çekirdek 4 tane de sanal
  • quote:

    Orijinalden alıntı: gmfaruk

    quote:

    Orijinalden alıntı: erdi1

    Merhaba arkadaslar islemcilerde threads nedir mesela 4 cores 4 threads li bir islemci neyi ifade ediyor? Simdiden tesekkurler

    4 gerçek çekirdek 4 tane de sanal

    Sanal cekirdek ile gercek cekirdegin farki ne peki

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • Yukardaki arkadaşın yazdığı şey yanlış.

    Thread bi programın, işletim sistemi tarafından çalıştırılabilecek en küçük kısmını ifade eder. Bu İşletim sisteminin çekirdeği tarafından (kernel scheduler ) belli donanım bileşeni üstünde çalıştırılması için atanır.

    Bizim bildiğimiz anlama getirirsek, 4 çekirdek 4 thread demek, işletim sistemi bu donanım üstünde bir programın en küçük çalıştırılabilir yapısı olan threadlerden 4 tanesini yollayabilir ve donanım aynı anda 4 tanesi ile uğraşabilir demek olur.

    Program >> proses >> thread Bunlar yazılım tarfında olan kısmı

    İsletim sistemi çekirdeği / zamanlayıcı (kernel / scheduler) >>> thread'in hangi çekirdekten çalıştırılacağını belirler ve seçip gerekli ayarlamaları yapıp ona yollar.

    Böylece yazılımın en küçük parçası olan thread işlemcinin bir çekirdeğinde çalışır.


    SMT(simultanous multi threading) denen yöntemler var, Intelin HyperThreading'i gibi. Burda aynı çekirdeğe, o çekirdeğin kaynaklarını her an %100 kullanamadığından hareketle boşta kalan kaynakları kullanmak için 2. bi thread atanır. Böylece mesela 1. thread ABC kaynaklarını kullanırken 2. thread yine aynı çekirdekteki BDE kaynaklarını kullanabilir. Bu sayede aynı çekirdekten bi miktar daha ilave performans elde etmiş oluruz. bu örnek için 1 çekirdek 2 thread işlemiş olur, tıpkı intelin HT destekli işlemcileri gibi.

    i7 lerde mesela 4 tane fiziksel çekirdek varken, bu çekirdeklere işletim sistemi 8 tane thread yollayabilir. Çekirdekler de kullanılmayan kaynaklar vasıtası ile bi miktar daha fazla performans üretir, mesela %10-15-20 gibi.

    SMT'de amaç, donanıma çok çok az ekleme yapıp (mesela sadece %5 civarında), ekstradan %5-25 gibi ilave performans alabilmektir.




  • Giriş seviyesi için: hypertheading bir veri işlenmek üzere giderken işlemci boşta kalır. boşta kalmamak için farklı veri gider. o sırada öbur veri gelir. boylece devam eder

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • En basitinden ifade edeyim 4 core 4 threads demek toplam 4 cekirdek var ve 4 is parcasi var bu yuzden her cekirdek 1 islem yapabiliyor
    ama 4 core 8 threads toplam 4 cekirdek var 8 is parcasi var ve her cekirdek 2 is yapabiliyor ve dolayli yoldan 8 cekirdek gibi calisisan 4 gercek cekirdek var yani

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • Verdiğiniz bilgiler için teşekkür ederim.
  • quote:

    Orijinalden alıntı: Rubisco

    Yukardaki arkadaşın yazdığı şey yanlış.

    Thread bi programın, işletim sistemi tarafından çalıştırılabilecek en küçük kısmını ifade eder. Bu İşletim sisteminin çekirdeği tarafından (kernel scheduler ) belli donanım bileşeni üstünde çalıştırılması için atanır.

    Bizim bildiğimiz anlama getirirsek, 4 çekirdek 4 thread demek, işletim sistemi bu donanım üstünde bir programın en küçük çalıştırılabilir yapısı olan threadlerden 4 tanesini yollayabilir ve donanım aynı anda 4 tanesi ile uğraşabilir demek olur.

    Program >> proses >> thread Bunlar yazılım tarfında olan kısmı

    İsletim sistemi çekirdeği / zamanlayıcı (kernel / scheduler) >>> thread'in hangi çekirdekten çalıştırılacağını belirler ve seçip gerekli ayarlamaları yapıp ona yollar.

    Böylece yazılımın en küçük parçası olan thread işlemcinin bir çekirdeğinde çalışır.


    SMT(simultanous multi threading) denen yöntemler var, Intelin HyperThreading'i gibi. Burda aynı çekirdeğe, o çekirdeğin kaynaklarını her an %100 kullanamadığından hareketle boşta kalan kaynakları kullanmak için 2. bi thread atanır. Böylece mesela 1. thread ABC kaynaklarını kullanırken 2. thread yine aynı çekirdekteki BDE kaynaklarını kullanabilir. Bu sayede aynı çekirdekten bi miktar daha ilave performans elde etmiş oluruz. bu örnek için 1 çekirdek 2 thread işlemiş olur, tıpkı intelin HT destekli işlemcileri gibi.

    i7 lerde mesela 4 tane fiziksel çekirdek varken, bu çekirdeklere işletim sistemi 8 tane thread yollayabilir. Çekirdekler de kullanılmayan kaynaklar vasıtası ile bi miktar daha fazla performans üretir, mesela %10-15-20 gibi.

    SMT'de amaç, donanıma çok çok az ekleme yapıp (mesela sadece %5 civarında), ekstradan %5-25 gibi ilave performans alabilmektir.

    benimkisi yanlış gibi ama yoldan geçen adama bunu anlatmak zor iş




  • quote:

    Orijinalden alıntı: _Kutup_Ayısı_

    En basitinden ifade edeyim 4 core 4 threads demek toplam 4 cekirdek var ve 4 is parcasi var bu yuzden her cekirdek 1 islem yapabiliyor
    ama 4 core 8 threads toplam 4 cekirdek var 8 is parcasi var ve her cekirdek 2 is yapabiliyor ve dolayli yoldan 8 cekirdek gibi calisisan 4 gercek cekirdek var yani

    Benim 4770K tercih etme nedenim buydu.4670K 6 MB'dı üstelik.
  • Sanal çekirdeklere itibar etmeyin.ben sanal çekirdekleri çekirdek olarak adlandırmıyorum gözümde.bir flashbelleğin readyboost yapılıp sisteme 7 mb/s maksimum hız gösterek katkıda bulunması gibi bakıyorum sanal çekirdek olayına.
  • o zaman 2 çekirdek 4 threads ile, 4 çekirdek 4 thereads arasında fazla bir fark yok gibi gozukuyo, eger işlemcinin yaptıgı iş yükü çok agır degılse. nasıl olsa ikisinde de toplam 4 işlem yapılabiliyor.
  • İşin türüna yapılan şeye programın yapısına göre farkeder. HT -%10 negatif performansa da yol açabilir, %25-30 civarlarına kadar ilave performansa da yol açabilir.

    4 çekirdek diyelim 4 x 100 = 400 birim iş yapabilirken
    2 çekirdek 4 thread işlemci en iyi durum için 2 x 130 = 260 birim iş yapar


    4 çekirdek 8 thread işlemci de 4 x 130 = 520 birim iş yapar mesela en iyi durumda.

    Hafif işler için, mesela render faln gibi olmayan işler için önemli olan işlemcinin nasıl kullanıldığı ve ne kadar talepde bulunulduğu. Öyle bakınca mesela i3 kötü değil, 2 çekirdek 2 thread olan Pentium lara göre hem HT hem frekans avantajı ile fark yaratabiliyor. Ama ihtiyaç olan işlem gücü fazlalaştıkça, HTnin getisi hepten yetmez oluyor.

    Ama bunun bide Intel tarafında fiyat olayı var.

    i3 3220 ile max 260 birim iş için 250 TL veriyorsun, ama en ucuz karşılaştırılabilir 4 çekirdek işlemcisi i5 3330 için
    i5 3330 ile max 400 birim iş için 400 TL veriyorsun fark orda.




  • quote:

    Orijinalden alıntı: Rubisco

    İşin türüna yapılan şeye programın yapısına göre farkeder. HT -%10 negatif performansa da yol açabilir, %25-30 civarlarına kadar ilave performansa da yol açabilir.

    4 çekirdek diyelim 4 x 100 = 400 birim iş yapabilirken
    2 çekirdek 4 thread işlemci en iyi durum için 2 x 130 = 260 birim iş yapar


    4 çekirdek 8 thread işlemci de 4 x 130 = 520 birim iş yapar mesela en iyi durumda.

    Hafif işler için, mesela render faln gibi olmayan işler için önemli olan işlemcinin nasıl kullanıldığı ve ne kadar talepde bulunulduğu. Öyle bakınca mesela i3 kötü değil, 2 çekirdek 2 thread olan Pentium lara göre hem HT hem frekans avantajı ile fark yaratabiliyor. Ama ihtiyaç olan işlem gücü fazlalaştıkça, HTnin getisi hepten yetmez oluyor.

    Ama bunun bide Intel tarafında fiyat olayı var.

    i3 3220 ile max 260 birim iş için 250 TL veriyorsun, ama en ucuz karşılaştırılabilir 4 çekirdek işlemcisi i5 3330 için
    i5 3330 ile max 400 birim iş için 400 TL veriyorsun fark orda.




    pentium 4560 den önce olabilir ama şuan i3 lere kafa tutuyor pentium işlemciler

    http://cpu.userbenchmark.com/Compare/Intel-Pentium-G4560-vs-Intel-Core-i3-6100/3892vs3511




  • devnot.com
    Thread Nedir? Detaylı Bir Thread İncelemesi | Devnot
    http://devnot.com/2021/thread-nedir-detayli-bir-thread-incelemesi/

    Çok detaylı bir şekilde anlatılmış.

  • Thread ile sanal çekirdek olayı farklı şeyler. Thread iş parçacığı demek. Yani bir program yazdınız, hesap makinesi olsun. Hesaplama işlerini bir threade atabilirsiniz, gui yi bir threade. Böylece hesaplama işlemi yapılırken ekranda başka bir tusa da basilabilmesine olanak saglarsiniz. Ama hepsini tek thread kodlarsaniz hesaplama yapılırken adam başka tuşa basmaya çalışırsa program donar gibi görünür. Ekranda da bekleme işareti dönmeye başlar. Ne zamanki hesap biter o zaman tekrar ekrana basılabilir hale gelir. Bu işin operating system yani windows tarafı. Multi core işlemciler çıktığı günden beri windows threadleri bu şekilde kullanabiliyor. Linuxta bildiğim kadarıyla daha oncesinde de vardi.

    Islemci tarafinda ise mimari ile alakalı bir durum var. İşlemcinin içinde makine kodunu okuyan işleten bölüm var(control unit), matematik işlemleri yapan bölüm var(alu) ve hafıza alanları var. L1 l2 l3 cacheler örneğin. Islemci bir kodu işletirken gider hafızadan okur, sonra işlemin yapılması için ALU ya gönderir, sonucu bekler, gelen sonucu gider hafızaya yazar, diğer hafıza satırına geçip koddan devam eder. Hyper thread yada smt çalışan işlemcilerde control unitin diğer birimleri beklediği zamanlarda başka işlemler yapabilmesine olanak saglanmistir. Bu sayede işlemci aynı anda 2 iş yapıyor gibi gözükür ama aslında fiziksel komponenti tektir. Sadece boş zamanını daha verimli kullanır.

    Tabi bunu yaparken bir kaybı da olur. Başka koda geçerken mevcut yerini ve o anki geçici değerleri de gider bir adrese yazar ki döndüğünde oradan devam edebilsin. Bu ekstra işçilik işlemciye zaman kaybettirir. O sebeple hicbir zaman hyper threading yada smt fiziksel 2 çekirdek kadar verimli olamaz.

    Yani 8 core 8 thread işlemci > 4 core 8 thread islemci



    < Bu mesaj bu kişi tarafından değiştirildi zzonerr -- 7 Ağustos 2021; 6:42:7 >
    < Bu ileti mobil sürüm kullanılarak atıldı >




  • nan çığlık attım 4. mesajda rubisco'yu görünce ama 2013 konusuymuş.


    durumu olmayıp okuyamayanlar için özet geçeyim


    4 cores 4 threads diyorsa o işlemci 4 çekirdeklidir ve HT yoktur nedir ryzen 1200


    4 cores 8 threads diyorsa o işlemci 4 çekirdekllidir ama HT de vardır 4/8 dedikleri şeyin aynısıdır yani ryzen 1400 - 1500x


    peki HT nedir bir çekirdeğe bir görev verip sonra bir görev daha verip ula bi de şunu yap diyip fazla mesai yaptırıp iki kat çalıştırmaktır köle isaura gibi.çekirdeğe iş verirsin ama bir elinin iki parmağıyla yatıp gerisi boş kalıyordur bir iş daha verince artık suyunu çıkarırsın işlemcinin ama bunu yapabilmek için çekirdeğin kuvvetli olması gerekir mesela pentium4 leş olunca HT teknolojisi bir işe yaramamıştır ama fx'den sonra çıkan ryzenler güçlü çekirdekler ile SMT kullanmaya başlamış ve faydalı olmuştur.SMT HT aynı şeydir amd SMT demiş normalde intel teknolojisi ama bu adamlar her şeylerini paylaştılar bir anlaşma ile o yüzden intelin komut setlerini de görebiliyoruz amd'de.eskiden 3dnow vardı amd'de.anlaşma bitti ve avx komut seti konusunda amd 256 bit intel 512 bit yapıyor biraz farklılıklar var ama oyuncu kitlesini ilgilendiren şeyler değil bunlar.





  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.