Eşzamanlı çoklu iş parçacığı
Kısaltması SMT olan eşzamanlı çoklu iş parçacığı, Donanım çoklu iş parçacığı ile süperskalar CPU'ların genel verimliliğini artırmaya yönelik bir tekniktir. SMT, modern bilgisayar mimarileri tarafından sağlanan kaynakları daha iyi kullanmak için birden fazla bağımsız yürütme iş parçacığına izin verir.
Çoklu iş parçacığı, kavram olarak çoklu göreve benzer, ancak modern süper skaler işlemcilerde yürütmenin iş parçacığı düzeyinde uygulanır.
İşlemci tasarımında, daha az kaynak gereksinimi ile çip içi paralelliği artırmanın iki yolu vardır:
- Superscalar tekniği: birden fazla talimatı aynı anda (eşzamanlı olarak adlandırılır) yürüterek Talimat seviyesi paralelliğini (ILP) artırmaya çalışır; talimatları (talimat gönderme olarak adlandırılır) işlemcinin içine yerleştirilmiş birden fazla yedek yürütme birimine "eşzamanlı" olarak göndererek.
- Çip düzeyinde çoklu iş parçacığı (CMT) tekniği: Bir işlemci çipi içinde birden fazla iş parçacığından gelen talimatları aynı anda yürütmek için İş Parçacığı düzeyinde paralellik (TLP) kullanılması.
Bir çip içinde birden fazla iş parçacığını desteklemenin birçok yolu vardır:
- Aralıklı çoklu iş parçacığı (IMT) : Geçici çoklu iş parçacığı olarak da adlandırılan, farklı iş parçacıklarından birden fazla talimatın serpiştirilmiş olarak verilmesi. Araya serpiştirilmiş sorunların sıklığına bağlı olarak ince taneli çoklu iş parçacığı veya kaba taneli çoklu iş parçacığı olarak ikiye ayrılabilir. İnce taneli çoklu iş parçacığı her döngüden sonra farklı iş parçacıkları için talimatlar yayınlarken, kaba taneli çoklu iş parçacığı yalnızca mevcut yürütme iş parçacığı bazı uzun gecikme olaylarına (sayfa hatası vb.) neden olduğunda başka bir iş parçacığından talimat yayınlamaya geçer. Kaba taneli çoklu iş parçacığı, iş parçacıkları arasında daha az bağlam geçişi için daha yaygındır. Çekirdek başına bir boru hattına sahip işlemciler için, serpiştirilmiş çoklu iş parçacığı mümkün olan tek yoldur, çünkü döngü başına yalnızca bir komut verebilir.
- Eşzamanlı çoklu iş parçacığı (SMT): Bir döngüde birden fazla iş parçacığından birden fazla talimat yayınlayın. Bunu yapmak için işlemcinin superscalar olması gerekir.
- Yonga düzeyinde çoklu işlem (CMP veya Çok çekirdekli işlemci): iki veya daha fazla süper skaler işlemciyi tek bir yongaya entegre eder, her biri iş parçacıklarını bağımsız olarak yürütür.
- IMT/SMT/CMP'nin herhangi bir kombinasyonu
Bunları ayırt etmek için anahtar faktör, işlemcinin bir döngüde kaç talimat verebileceğine ve talimatların kaç iş parçacığından geldiğine bakmaktır.
Modern SMT CPU örnekleri
- Intel Pentium 4, 2002 yılında piyasaya sürülen 3.06GHz modelinden başlayarak ve o zamandan beri bir dizi işlemcisine dahil edilerek eşzamanlı çoklu iş parçacığı uygulayan ilk modern masaüstü işlemcisiydi. Intel bu işlevi Hyper-Threading Technology (HTT) olarak adlandırmakta ve temel bir iki iş parçacıklı SMT motoru sağlamaktadır. Intel, SMT olmayan aynı Pentium 4'e kıyasla %30'a varan bir hız artışı olduğunu iddia etmektedir.
- En yeni MIPS mimarisi tasarımları "MIPS MT" olarak bilinen bir SMT sistemi içerir.
- Mayıs 2004'te duyurulan IBM POWER5, çift çekirdekli DCM ya da dört çekirdekli veya 8 çekirdekli MCM olarak gelir ve her çekirdek iki iş parçacıklı SMT motoru içerir. IBM'in uygulaması öncekilerden daha karmaşıktır, çünkü çeşitli iş parçacıklarına farklı bir öncelik atayabilir, daha ince tanelidir ve SMT motoru, bir SMT işlemcisinin performansı artırmayacağı iş yüklerini daha iyi yürütmek için dinamik olarak açılıp kapatılabilir. Bu, IBM'in genel olarak kullanılabilir donanım çoklu iş parçacığının ikinci uygulamasıdır.
- 2008'de piyasaya sürülen Intel Atom, komut sıralamasını, spekülatif yürütmeyi veya kayıt yeniden adlandırmayı desteklemeden SMT (Hyper-threading olarak pazarlanmaktadır) özelliğine sahip ilk Intel ürünüdür.
İlgili sayfalar
- Konu (bilgisayar bilimi)
- Paralel hesaplama
- Komut düzeyinde paralellik
- Çok çekirdekli işlemciler
Sorular ve Yanıtlar
S: Eşzamanlı çoklu iş parçacığı nedir?
C: Eşzamanlı çoklu iş parçacığı (SMT), Donanım çoklu iş parçacığı ile süper skaler CPU'ların genel verimliliğini artırmaya yönelik bir tekniktir. Modern bilgisayar mimarileri tarafından sağlanan kaynakları daha iyi kullanmak için birden fazla bağımsız yürütme iş parçacığına izin verir.
S: SMT çoklu görev ile nasıl karşılaştırılır?
C: Multithreading kavram olarak multitasking'e benzer, ancak modern superscalar işlemcilerde yürütme iş parçacığı düzeyinde uygulanırken, multitasking işlem düzeyinde uygulanır.
S: Çip üzerinde paralelliği artırmanın iki yolu nedir?
C: Çip üzerinde paralelliği artırmanın iki yolu Superscalar tekniği ve Çip seviyesinde çoklu iş parçacığıdır (CMT).
S: Çip düzeyinde çoklu iş parçacığının bazı farklı türleri nelerdir?
C: Çip seviyesinde çoklu iş parçacığının farklı türleri arasında Interleaved Multithreading (IMT), Fine-Grain Multithreading, Coarse Grain Multithreadin ve Simultaneous Multithreadin (SMT) bulunmaktadır.
S: IMT/SMT/CMP arasında nasıl ayrım yapabilirsiniz?
C: IMT/SMT/CMP arasında ayrım yapmak için anahtar faktör, işlemcinin bir döngüde kaç talimat verebileceğine ve talimatların kaç iş parçacığından geldiğine bakmaktır.
S: SMT için ne tür bir işlemci kullanılmalıdır?
C: SMT için süperskalar bir işlemci kullanılmalıdır.
S: Chip Level MultiProcessing ne tür bir işlemci kullanır?
C: Chip Level MultiProcessing, iki veya daha fazla superscalar işlemciyi tek bir çipe entegre eden ve her biri bağımsız olarak iş parçacığı çalıştıran çok çekirdekli işlemciler kullanır.