Hangi tür şube tahmini daha önemlidir?


11

Şube tahminde iki farklı tür devlet olduğunu gözlemledim.

  1. Şube tahmininin çok önemli olduğu süperskalar yürütmede, gecikme yerine esas olarak yürütme gecikmesindedir.

  2. Talimatlar daha sonraya kadar yürütülmediği için getirme işleminin daha sorunlu olduğu talimat kanalında.

Bunlardan hangisi çok önemlidir (bunlardan hangisi günümüzde CPU'da gerçekten önemlidir)? Her ikisi de eşit derecede önemliyse veya ikincisi daha önemliyse, neden iki talimat boru hattımız yok (muhtemelen uzunluğun yarısı) ve sonra dallara bağlı olarak, bunlardan birini seçin ve tekrar popülasyonu başlangıç?


1
Koşullara bağlı olarak belki ikisi de önemlidir?
Raphael

Yanıtlar:


6

Hangi davanın yaygın olduğunu bilmiyorum, ancak çift boru hattı teklifiniz hakkında bazı düşünceler sunmak istiyorum.

Her şeyden önce, enerjiyi iki katına çıkaracak ve aktifken ısıyı iki katına çıkaracak olan telin iki katına ihtiyacınız olacaktır. Diğer yandan ihtiyaç olmasa da, tamamen işe yaramaz olurdu. Böylece modern işlemcilerde nadir bulunan kaynakların iyi bir şekilde kullanılmadığı söylenebilir.

Daha temelde, olasılıklara göre bir dalı tercih etmediğiniz sürece hangi sürümün yazılacağını nasıl bilebilirsiniz? Aksi takdirde, hiçbir şey kaydedemeyebilirsiniz çünkü diğer işlemciler kararınızı beklemek zorunda kalabilir. Bunlardan birine sadık kalırsanız, şu anda sahip olduğunuz geri alma olasılığı ve maliyetine sahip olursunuz.

Kaba bir hesaplama yapalım. Basitlik açısından, bir yerine iki boru hattının kullanılmasının ek yönetim yüküne neden olmadığını varsayalım. Beklenen maliyet (örn. Enerji, ısı) bir boru hattı ile ( c herhangi bir alternatifi yürütme maliyeti, p geri alma olasılığı ve c r yürütme maliyeti olmadan geri alma maliyeti diğer alternatif) ancak 2 c veya hatta 2 c + p c r - ya çok fazlaC=c+p(cr+c)cpcr2c2c+pcrp ve c r nispeten küçükse ve p kesinlikle ( eğer bildiğim kadarıyla, modern şube tahminlerinin% 90'ın üzerinde doğrulukları varsa) daha büyüktür . Ve bu maliyet için fazla bir şey elde etmiyoruz! Beklenen yürütme süreleri bir boru hattı ve t sırasıyla t + p ( t r + t ) 'dir . iki ile t + p t r ; olarak p küçük, zaman tasarrufu önemsizdir.Cpcrpt+p(tr+t)tt+ptrp


Bildiğim kadarıyla, Intel "şubenin her iki tarafı için talimatları okuyun" ve hatta "şubenin her iki tarafı için talimatları yürüt" denedi ve yapmayı bıraktı. Ya hiçbir şey kazanmadığı ya da maliyet ve karmaşıklık o kadar yüksek olduğu için, aynı maliyet için farklı şekillerde daha fazla kazanç elde edebildikleri için.
gnasher729

@ gnasher729 Ve muhtemelen bu gibi özelliklere bağlı güvenlik kusurlarını öğrenmeden önceydi?
Raphael

2

Bir anlamda, şube tahmininin etkisi, talimatların getirilmesinde daha kritiktir, çünkü getirilmeyen bir komut yürütülemez.

Bir dalın her iki yolunun yürütülmesi ile ilgili olarak, bu istekli yürütme olarak adlandırılır ve bir ölçüde önemli ölçüde araştırılmıştır. Augustus K. Uht ve Vijay Sindagi'nin "Ayrık İstekli Yürütme: En İyi Spekülatif Yürütme Biçimi" (1995), bir göz atmaya değer olabilir.

İstekli yürütmenin birkaç sorunu vardır. Derin spekülasyonlar için, izlenmesi gereken yolların sayısı katlanarak artabilir (her çatallı dal yolu bir dalla karşılaşabilir). Şube tahmini de genellikle çok doğrudur (>% 90 doğru), bu nedenle her iki yolu da uygulamak her zaman israf olacaktır. İstekli uygulama ayrıca önbellekleri gereksiz içerikle "kirletebilir". (Yukarıda bahsedilen makalede , bu sorunların bazılarından kaçınmak için akıllıca sınırlı istekli yürütme önerilmiştir .) Alternatif yolu getirmenin sınırlı istekli sayısı daha az soruna sahiptir ve daha kısa boru hatlarındaki yanlış tahmin kurtarma gecikmesini azaltmada biraz çekici olabilir.

Önerilen bir diğer yaklaşım, dinamik olarak "hamak" dallarını (ana akış akış yoluna katılan kısa ileri dallar) tahmin etmektir. Artur Klauser ve ark. "" Belirsiz Komut Seti Mimarileri için Dinamik Hamak Tahmin "(1998) bu fikir için okumaya değer olabilir. (Hyesoon Kim ve ark., "İstek Dalları: Koşullu Dallanma ve Uyarlamalı Öngörülen Uygulama için Tahminin Birleştirilmesi", hamakların tahminini kolaylaştıran ve bu tahmin yöntemini zor tahmin edilen döngü dallarına genişleten bir ISA dallarına eklenmesini önermektedir.)


Bu gerçekten hoş bir cevap! Teşekkür ederim. :-)
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.