Superscalar nedir?
Bir süper-ölçek işlemci , tek bir saat döngüsü sırasında
aynı anda birden fazla talimatı bağımsız olarak yürütebilir. Çoklu kayan
noktalı birimler, aritmetik mantık birimleri ve tam sayı değiştiriciler gibi
gereksiz yürütme kaynaklarını içerir. Bu tip bir işlemci, özel bir yazılıma ihtiyaç
duymadan paralel hesaplama ve spekülatif uygulama için tasarlanmıştır . Kod
işlemek vedüşük faizli ihtiyaç kredisi
yeniden düzenleyerek birçok işlemci yoğun uygulamaların yürütme hızını
artırabilir. Sunucular, masaüstü bilgisayarlar ve hatta dizüstü bilgisayarlar
dahil olmak üzere çeşitli bilgisayar sınıflarında sıklıkla kullanılır.
Her ne kadar mimarinin bazı yönleri 1960'lardan beri
işlemcilerde kullanılmış olsa da, gerçek süper-ölçek işlemciler çok daha
sonraya kadar serbest bırakılmadı. 1980'lerin sonlarında ve 1990'ların
başlarında satılan bazı Azaltılmış Komut Seti İşlem (RISC) işlemcileri
süperskalardı. Basit çekirdekler ve sabit uzunluktaki talimatlar, paralel
talimatların gönderilmesini ve programlanmasını nispeten kolaylaştırdı.
1990'ların sonlarından bu yana üretilen pek çok RISC olmayan işlemciler de
süper-kasa mimarilerine sahiptir. Gömülü, düşük güç ve diğer özel işlemciler
genellikle istisnalar olup, paralel yürütme yerine tasarımlarının diğer
yönlerini optimize ederler.
Bazı işlemciler, süper iş parçacığı olarak bilinen çoklu
yürütme iş parçacıklarının yönergeleriyle tek bir boru hattını paylaşabilir .
Bir işlevsel ünite, şu anda yürütmekte olan iş parçacığı üzerinde beklediği
için boşta kaldığında, bu arada başka bir iş parçacığından bir yönerge
yürütebilir. Bu teknik, işlemcinin tamamen kullanılmasına yardımcı olur, ancak
aynı anda çoklu kullanım (SMT) kadar etkili değildir . Tek bir superscalar
işlemci, SMT kullanarak aynı anda KBB notu düşüklere kredi veren bankalarbirden çok ileti dizisinden birden çok komut yürütür. Aynı
anda iş parçacığı yürütmek sistem ve işlemci kaynakları için rekabet edebilir,
ancak sistemi yavaşlatabilir.
Çok aşamalı boru hatlarına sahip işlemciler, farklı uygulama
aşamalarında oldukları sürece aynı anda birden fazla talimatı yürütebilirler.
Tersine, bir süperskalar işlemcide aynı aşamada aynı anda birkaç komut uygulanabilir.
Bu işlemci tipi ve çok çekirdekli işlemci arasında birçok benzerlik olsa da,
bunlar aynı değildir. Çok çekirdekli bir işlemci, bir aygıtta çekirdek adı
verilen birkaç tam işlemciyi içerir. Çok çekirdekli bir işlemcinin her
çekirdeği genellikle süper-ölçektir ve birkaç paralel boru hattı içerebilir.
Superscalar işlemcinin önemli bir özelliği, program kodunun
verimlilik nedenleriyle işleyememesidir. Bunu yapmak için, herhangi bir
talimatın bir diğerine bağımlılığının farkında olmalıdır. Eğer bir talimat bir
diğerinin sonuçlarını etkiler ya da kullanırsa, ikisinin de paralel olarak idam
edilmemesi kuvvetle muhtemeldir. Bazı bağımlılık türlerini ortadan kaldırmak
için teknikler mevcuttur, ancak diğerleri kaynak bulunana kadar işlemeyi
geciktirmelidir.
Sipariş dışı yürütme, bir sistem kesintisi meydana gelirse,
kayıtların, bayrakların ve diğer kaynakların uygun içeriğini garanti
edebilmelidir. Bu durumda, sistem durumu, kodun tasarlandığı gibi sırayla
yürütülmüş gibi aynı görünmelidir. Bir başka nokta da, işlemcinin paralel
yürütme için fırsatları bulmak için incelemesi gereken kaç talimattır. Sayı ne
kadar büyük olursa, yürütme daha verimli olabilir. Bu ayrıca incelenen koddaki
her bir dalın diğer tarafındaki talimatların spekülatif olarak yürütülmesini
içerir.
Yorumlar
Yorum Gönder