3 puan yazan GN⁺ 2024-07-29 | Henüz yorum yok. | WhatsApp'ta paylaş

İki iş parçacığı, tek çekirdek: eşzamanlı çoklu iş parçacığı nasıl çalışır

Arka plan ve motivasyon
  • SMT’nin kullanılma nedeni: İşlemci kaynaklarının kullanım verimliliğini artırmak için kullanıma alındı. İşlemcide yüzlerce kayıt, birden fazla yükleme/depolama birimi ve aritmetik birim bulunur. Bunları daha iyi kullanmak için komut düzeyi paralellik (ILP) teknikleri kullanılır.
  • Komut ardışık düzeni: Komut yürütmeyi birden fazla aşamaya bölerek her çevrimde yeni komutların ek olarak işlenmesini sağlar. Ardışık düzenin derinliği arttıkça daha fazla komut paralel olarak işlenebilir.
  • Superscalar mimari: Her çevrimde birden fazla komut yayınlayabilir. Örneğin modern Intel Core i7 işlemcileri her çevrimde 4 komut yayınlayabilir.
  • Yatay ve dikey israf: Yeterli sayıda bağımsız komut bulunamadığında ortaya çıkan kaynak israfıdır. Yatay israf, işlemci yeterince bağımsız komut bulamadığında; dikey israf ise tüm komutlar o anda yürütülen komutlara bağımlı olduğunda meydana gelir.
Intel işlemcilerinde SMT uygulaması
  • Mimari durumun kopyalanması: İki iş parçacığını aynı anda çalıştırmak için işlemcinin mimari durumu kopyalanır. Bu sayede tek bir fiziksel işlemci, işletim sistemine iki mantıksal işlemci olarak görünür.
  • Kaynak paylaşımı ve kopyalama: Bazı kaynaklar kopyalanır, bazıları ise paylaşılır. Bunun kopyalanıp kopyalanmayacağına güç tüketimi ve yonganın kapladığı fiziksel alan gibi çeşitli etkenlere göre karar verilir.

İşlemci mikro mimarisi

  • Frontend, backend ve retirement birimi: İşlemci mikro mimarisi üç bölüme ayrılır. Frontend komutları getirir ve çözümler, backend yürütme kaynaklarını tahsis eder ve komutları çalıştırır. Retirement birimi ise çalıştırılan komutların sonuçlarını mimari duruma commit eder.
SMT uygulama ayrıntıları
  • Frontend: Komut işaretçisi, trace cache, ITLB cache, uop kuyruğu gibi çeşitli bileşenlerden oluşur. Her bileşen, iki mantıksal işlemciyi desteklemek için ya kopyalanır ya da paylaşılır.
  • Backend: Kaynak tahsis edici, register renaming, komut hazır kuyruğu, komut zamanlayıcısı gibi bölümlerden oluşur. Kaynak tahsis edici her çevrimde mantıksal işlemciler arasında geçiş yapar.
  • Retirement birimi: Komutların mimari duruma commit edilmeye hazır olup olmadığını izler ve bunları doğru sırayla commit eder.

Bellek alt sistemi

  • TLB: Sanal adresleri fiziksel adreslere çeviren küçük bir önbellektir. İki mantıksal işlemci arasında dinamik olarak paylaşılır.
  • L1, L2, L3 önbellekleri: Her CPU çekirdeğinin kendine ait bir L1 önbelleği vardır. L2 önbelleği mikro mimariye göre değişebilir, L3 önbelleği ise çekirdekler arasında paylaşılır.

SMT’nin performansa etkisi

  • Tek iş parçacıklı çalışma: SMT etkin bir çekirdekte tek iş parçacığı çalıştırıldığında, kaynaklar paylaşıldığı için performans düşebilir.
  • İki iş parçacığı çalıştırma: Performans, önbellek erişim desenine göre değişebilir. Birbirini tamamlayan iş parçacıkları performansı artırabilirken, rekabet eden iş parçacıkları performansı düşürebilir.
  • Güvenlik açıkları: Son yıllarda SMT ile ilgili güvenlik sorunları keşfedildi. Kaynak paylaşımı ve komutların spekülatif yürütülmesi nedeniyle hassas verilerin sızma ihtimali bulunur.

Sonuç

  • SMT kullanıp kullanmama kararı: SMT, CPU kaynaklarının kullanım verimliliğini artırmak ve komut işleme verimini yükseltmek için tasarlanmıştır; ancak performans ve güvenlik açısından bazı trade-off’lar içerir. İş yüküne göre SMT’nin kullanılıp kullanılmayacağına karar vermek önemlidir.

GN⁺ özeti

  • SMT’yi anlamak: SMT, CPU kaynaklarının kullanım verimliliğini artırmak ve komut işleme verimini yükseltmek için tasarlanmıştır.
  • Performans ve güvenlik: SMT performans artışına yardımcı olabilir; ancak kaynak rekabeti ve güvenlik açıkları nedeniyle performans düşüşü ve güvenlik sorunları yaşanabilir.
  • Kullanım kararı: İş yüküne göre SMT’nin kullanılıp kullanılmayacağı dikkatle değerlendirilmelidir. Yüksek performans gerektiğinde SMT’yi devre dışı bırakmak daha iyi olabilir.
  • İlgili projeler: AMD’nin SMT uygulaması ve ARM işlemcilerinde SMT performans analizi projeleri de incelenmeye değerdir.

Henüz yorum yok.

Henüz yorum yok.