İlk olarak , Keelan'ın yorumu ve Turbo J'nin cevabı işaret ettiği gibi, ölçüm 113.093 Dhrystone MIPS yerel MIPS değildi .
İ7 3630QM'nin Ivy Bridge mikro mimarisi, döngü başına sadece 6 kaynaşmış µops yapabilir, ancak döngü başına 6 µops yürütülmesine başlayabilir. (Bir kod izindeki kaynaşık µopların sayısı kabaca talimatların sayısına eşittir; bazı karmaşık talimatlar kaynaşmamış çoklu µops'lere dönüştürülür ve bazı komut çiftleri tek bir µop'a, örn. ardından koşullu bir sıçrama izler.)
Tek bir döngüde birden fazla komutun nasıl uygulanabileceği konusundaki spekülasyonlarınızdan ikisi oldukça geçerlidir ve gerçek işlemcilerde kullanılmıştır. İlk spekülasyonunuz, daha hızlı bir iç saat kullanıldığını, orijinal Pentium 4'ün "ateş topu" ALU'larında kullanıldı. Bu ALU'lar, çekirdeğin geri kalanının frekansının iki katı frekansta, zaten nispeten yüksekdi.
(Bu, bir ilavenin alt yarısının bir döngüde yapıldığı, bağımlı bir işlemin bir sonraki döngüde sonucun alt yarısını kullanmasına olanak tanıyan kademeli bir ALU kullanılarak gerçekleştirildi. Ekleme, xor veya sola kaydırma gibi işlemler için sonucun tam alt yarısını üretmek için sadece işlenenlerin alt yarısına ihtiyaç duyan bu genişlik, aynı zamanda genişlikli boru hattı olarak da bilinen şaşırtıcı performans, tek döngü sonuç gecikmesinin yanı sıra tek döngü verimini de sağlar.)
Biraz ilgili bir teknik, basamaklandırılmış ALU'lar, HyperSPARC tarafından kullanıldı. HyperSPARC sonuçları iki ALU'dan üçüncü bir ALU'ya besler. Bu, iki bağımsız ve üçüncü bağımlı bir işlemin tek bir döngüde yürütülmesine izin verdi.
“Çekirdek başına birden fazla eşzamanlı boru hattı var” derken spekülasyonunuz kullanılmış olan diğer teknik. Bu tasarım türü, süperskalar olarak adlandırılır ve tek bir döngüde gerçekleştirilen işlem sayısını arttırmanın en yaygın yoludur.
Ayrıca, kayda değer kayda değer olabilecek başka birkaç talimat ve idam uygulamasının sona ermesi de vardır. Bazı işlemler olağan yürütme birimleri dışında daha verimli şekilde gerçekleştirilebilir. Hareket ortadan kaldırma tekniği, sıra dışı işlemcilerde kayıt defteri yeniden adlandırma sırasında taşıma işlemleri gerçekleştirmek için kayıt adının kullanılmasından yararlanır; hamle basitçe fiziksel kayıt numarasını yeniden adlandırma tablosundaki bir konumdan (kayıt diğer adı tablosu olarak adlandırılır) diğerine kopyalar . Bu sadece uygulama genişliğini arttırmakla kalmaz aynı zamanda bir bağımlılığı da ortadan kaldırır. Bu teknik yığın tabanlı x87 ile daha önce kullanılmış, ancak şu anda Intel'in yüksek performanslı x86 işlemcilerinde yaygın olarak kullanılmaktadır. (X86'da yıkıcı, iki işlemli komutların kullanılması, hareketi ortadan kaldırmayı tipik bir RISC'de olduğundan daha faydalı kılar.)
Hareket ortadan kaldırmaya benzer bir teknik, yeniden adlandırma sırasında sicil sıfırlama talimatlarının kullanılmasıdır. Sıfır değeri sağlayan bir kayıt adı sağlayarak, bir kayıt temizleme talimatı (xor veya her iki işlenen aynı kayıt ile çıkartma gibi) bu adı yeniden adlandırma tablosuna (RAT) ekleyebilir.
Bazı x86 işlemciler tarafından kullanılan diğer bir teknik ise push ve pop işlemlerinin maliyetini düşürüyor. Normalde, yığın işaretçisini kullanan bir komutun, yığın işaretçisinin değerini güncellemek için önceki bir itme veya pop için tam bir döngü beklemesi gerekir. Push ve pop öğesinin yığın işaretçisine yalnızca küçük bir değer eklediğini veya çıkardığını kabul ederek, bir çok ekleme / alt eklemenin sonuçları paralel olarak hesaplanabilir. Ekleme için ana gecikme taşıma yayılımıdır, ancak küçük değerlerde, temel değerin daha önemli bitleri - bu durumda yığın göstericisi - yalnızca en fazla bir taşınmaya sahip olacaktır. Bu, çok sayıda küçük değer ilavesine uygulanacak, taşıma seçme toplayıcısına benzer bir optimizasyon sağlar. Ek olarak, yığın göstericisi tipik olarak sadece sabitler tarafından güncellendiğinden,
Talimatları tek ve daha karmaşık bir işlemle birleştirmek de mümkündür. Talimatları çoklu olarak ikiye bölme işlemi daha basit işlemlerde eski bir teknik olsa da, birleştirme talimatları (Intel'de makro-op füzyonu anlamına gelir) uygulamanın, talimat setinde maruz kalanlardan daha karmaşık işlemleri desteklemesine izin verebilir.
Teorik açıdan, diğer teknikler önerilmiştir. RAT'da sıfır dışındaki küçük sabitler desteklenebilir ve bu gibi küçük değerleri kullanan veya güvenilir şekilde üreten bazı basit işlemler erken yapılabilir. ("Fiziksel Kayıt İnline Etme", Mikko H. Lipasti ve diğerleri, 2004, RAT'ın kayıt sayısını azaltma aracı olarak kullanılmasını önermiştir, ancak küçük sayılar ve küçük sayılardaki basit işlemlerin yüklenmesini desteklemek için bu fikir genişletilebilir.)
İzleme önbelleklerinde (komutların belirli kontrol akışı varsayımları altındaki komut dizilerini saklayan), dallarla ayrılmış işlemleri birleştirme ve izde kullanılmayan sonuçlar üreten işlemleri kaldırma fırsatları olabilir. Bir izleme önbelleğindeki optimizasyonların önbelleğe alınması, aynı zamanda, talimat akışı her getirildiğinde yapılması gerekiyorsa, değmeyecek olan, birleştirme gibi uygulama optimizasyonlarını da teşvik edebilir.
Değer tahmini, bağımlılıkları kaldırarak paralel olarak gerçekleştirilebilecek işlem sayısını artırmak için kullanılabilir. Adım tabanlı bir değer belirleyicisi, daha önce bahsedilen özel bir yığın motorunun pop / push optimizasyonuna benzer . Serileştirmeyi kaldırarak çoğunlukla paralel olarak çoklu eklemeler hesaplayabilir. Değer tahmini genel fikri, tahmin edilen bir değere bağlı olarak, bağımlı işlemlerin gecikmeden devam edebilmesidir. (Şube yönü ve hedef kestirimi etkili bir şekilde sadece çok sınırlı bir değer kestirimidir, bu da dalın "değerine" (alınan veya değil) ve bir sonraki talimat adresine, başka bir değere bağlı olan aşağıdaki talimatların alınmasına izin verir.)