Tüm mevcut CPU'ların aterrel'in önerdiği gibi yinelemeli bir yaklaşım kullandığı görülmesine rağmen, yinelemeli olmayan yaklaşımlar üzerinde bazı çalışmalar yapıldı. Değişken Hassas Kayan Nokta Bölümü ve Karekök , arama tablolarını ve taylor serisi genişletmeyi kullanarak , bir FPGA'da yinelemeli kayan nokta bölümü ve karekök uygulaması hakkında konuşur .
Aynı tekniklerin bu işlemleri tek bir döngüye indirmeyi mümkün kılacağından şüpheliyim (gecikme olmasa bile verimlilik), ancak büyük arama tablolarına ve bu nedenle bunu yapmak için büyük ölçüde silikon emlak alanlarına ihtiyacınız olabilir. .
Neden mümkün olmuyor?
CPU'ları tasarlarken yapılacak birçok takas var. İşlevsellik, karmaşıklık (transistör sayısı), hız ve güç tüketimi birbiriyle ilişkilidir ve tasarım sırasında verilen kararlar performans üzerinde büyük bir etki yaratabilir.
Modern bir işlemci muhtemelen tek bir döngüde bir kayan nokta bölümü gerçekleştirmek için silikon üzerinde yeterli transistör tahsis eden bir ana kayan nokta birimine sahip olabilir , ancak bu transistörlerin verimli bir şekilde kullanılması olası değildir.
Kayan nokta, onlu yıl önce yinelemeden yinelemeden yinelemeye geçişi sağlamıştır. Bu günlerde, tek döngü çarpma ve hatta çarpma birikimi, mobil işlemcilerde bile yaygındır.
Transistör bütçesinin verimli bir şekilde kullanılmasından önce, bölme gibi çarpma işlemi yinelemeli bir yöntemle yapılmıştır. O zamanlar, özel DSP işlemcileri, silikonlarının çoğunu tek bir hızlı çarpma (MAC) birimine tahsis edebilirler . Bir Core2duo CPU 3 kayan nokta çarpma gecikmesine sahiptir (değer girdikten sonra 3 çevrim hattından değer gelir), fakat aynı anda uçuşta 3 çarpma yapabilir, bu arada SSE2 ünitesi olabilir Tek bir döngüde birden fazla FP çarpımı pompalayın.
Büyük silikon alanlarını tek döngülü bir bölme birimine tahsis etmek yerine, modern CPU'ların her biri paralel olarak işlem yapabilen, ancak kendi özel durumları için optimize edilmiş olan çoklu birimleri vardır. Eğer hesap içine almak Aslında, bir kez SIMD gibi talimatlar SSE veya CPU entegre grafik arasında Sandy Bridge ya da geç CPU, olabilir birçok CPU böyle kayan nokta bölme birimleri.
Eğer genel kayan nokta bölünmesi modern CPU'lar için daha önemliyse, tek bir döngü oluşturmak için yeterli silikon alanını tahsis etmek mantıklı olabilir, ancak çoğu yonga üreticisi bu kapıları başka şeyler için daha iyi kullanabileceklerine karar vermişlerdir. . Bu nedenle bir işlem daha yavaştır, ancak genel olarak (tipik kullanım senaryoları için) CPU daha hızlıdır ve / veya daha az güç harcar.