Hyper-Threading, fiziksel olarak tek işlemcinin mantıksal olarak iki işlemciymiş gibi işlem yapabilmesine olanak sağlayan Intel teknolojisinin adıdır. Hyper-Threading destekli ilk Intel ürünü olan Pentium 4 630 işlemcileri, 15 Kasım 2002 tarihinde piyasaya sürülmüştür. Intel web sitesinde Hyper-Threading teknolojisini şu şekilde izah ediyor: Hyper-Threading, işlemci kaynaklarını daha etkin kullanarak her bir çekirdekte birden çok iş parçacığının aynı anda yürütülmesine olanak sağlar. Ayrıca, Hyper-Threading bir performans özelliği olarak işlemci verimliliğini arttırır ve iş parçacıklı yazılımların genel performansını iyileştirir. Her bir işlemci fiziksel olarak aynı chip üzerinde bulunmasına rağmen aynı anda birbirlerinden farklı komut zincirlerini işleyebilirler. Hyper-Threading teknolojisine sahip mantıksal işlemciler, sistem veri yolu, firmware, bellek gibi kaynaklardan yalnızca birini birim zamanda paylaşabilirler. Bu nedenle, Hyper-Threading mimarisine sahip bir işlemci, işletim sistemine iki işlemcili bir sistem gibi görünmesine rağmen, iki fiziksel işlemcinin sağladığı performansı veremez.
Şekil 1. Hyper-Threading özellikli x86 tabanlı bir işlemci ile x86 tabanlı fiziksel iki çekirdeğe sahip işlemci
Hyper-Threading Nasıl Çalışır?
İki iş ipliğinin tek çekirdekli bir işlemcide işlem göreceğini varsayalım.
Şekil 2. Hyper Threading özelliğine sahip olmayan bir işlemcide iş parçacığının işlenmesi
Hyper Threading teknolojisini desteklemeyen herhangi bir işlemcide threading’ler First in First out mantığı ile sırasıyla işlenecektir.
Şekil 3. Hyper Threading özelliğine sahip bir işlemcide iş parçacığının işlenmesi
Eğer işlemci Hyper Threading teknolojisini desteklemiş olsa idi, threading’ler aynı anda sanki iki ayrı işlemci varmış gibi işlenecekti. Ancak Hyper Threading teknolojisine sahip işlemci, fiziksel iki işlemci olmadığından, tek bir işlemcinin mantıksal iki işlemci gibi davranacaktır. Bunun için hem o an için yapılacak olan iş, hem de o işin üzerinde gerçekleştirildiği işletim sistemi Hyper-Threading özelliğini desteklemelidir. Aksi taktirde, işlem, tek bir işlemci üzerinde sırasıyla gerçekleştirilecektir.
Şekil 4. Hyper-Threading özelliğine sahip olmayan fiziksel iki çekirdekli işlemcide iki iş parçacığının işlenmesi
Aynı işlemin iki çekirdekli Hyper Threading teknolojisini desteklemeyen bir işlemcide gerçekleştiğini düşünecek olursak, yine iki thread işlemcilerden ayrı ayrı geçecekti. Elbette ki, iki farklı işlemcinin performansı Hyper Threading teknolojisini destekleyen işlemciden daha üstündür. Ancak iş parçacıkları arasında bir işlem önceliğinin olmaması gereklidir.
Şekil 5. Hyper-Threading özelliğine sahip fiziksel iki çekirdekli işlemcide 4 iş parçacığının işlenmesi
Bu durumda 4 thread’lerden 2 tanesi bir işlemcide, diğer 2 tanesi de diğer işlemcide işlem görecektir.
Hyper-Threading özelliğini bir başka şekil ile anlatmak gerekirse, aşağıdaki şekilde görüldüğü gibi, çift fiziksel işlemcili bir sistemde komut zincirleri farklı fiziksel işlemciler üzerine dağılırken, Hyper-Threading destekli sistemimde, iki farklı komut zinciri eş zamanlı olarak aynı işlemci üzerinde işlenebilmektedir. (Simultaneous Multithreading)
Şekil 6. Hyper-Threading özellikli işlemcide işlenen iş parçacıklarının fiziksel ve mantıksal tek çekirdekli ile 2 çekirdekli işlemcide işlenmesi
**Hyper Threading’in Kullanılabilmesi İçin Sistem Gereklilikleri **
Intel HT’yi destekleyen bir işlemci Intel HT Teknolojisi etkin yonga seti Intel HT Teknolojisi etkin sistem BIOS'u Intel HT Teknolojisi etkin optimize işletim sistemi.
Hyper-Threading özelliğine sahip bir bilgisayarda, aygıt yöneticisinden bakıldığında, sistemde her fiziksel işlemci başına iki işlemci görünür. Örneğin; Intel Core i5 M 560 işlemcili bilgisayarım, fiziksel olarak 2 farklı işlemciye sahip olsa da aslında 4 farklı mantıksal işlemciye sahiptir.
Şekil 7. Aygıt yöneticisinde Hyper-Threading özelliğine sahip bir bilgisayarın Win 8.1 Pro üzerindeki işlemci durumu
Ctrl+Alt+Del ile görev yöneticisine ulaşıldığında, performans takibinde fiziksel her işlemi için mantıksal iki adet işlemci grafiği görünür.
Şekil 8. Görev yöneticisinde Hyper-Threading özelliğine sahip bir bilgisayarın Windows 8.1 Pro üzerindeki işlemci durumu
Yazılım Desteği
İşlemcinin Hyper-Threading (HT) özelliğini kullanabilmesi için yazılımsal açıdan, hem kullanılacak olan program, hem de programın üzerinde çalıştırılacağı işletim sistemi düzeyinde destekli olmalıdır. Tabiatıyla iki veya daha fazla komut zincirinin eş zamanlı işlenebilmesi için eş zamanlı olarak aynı anda aynı kaynakları kullanmamaları gerekmektedir. Windows XP SP1 ve sonrası Windows platformu işletim sistemleri ile Linux Kernel 2.4 ve sonrası Linux türevleri Hyper-Threading özelliğini desteklerler.