FPU (Floating Point Unit)

Floating-Point birimi (matematik önişlemcisi), özellikle floating point sayılarla çalışabilmek için tasarlanan bilgisayar sistemlerinin bir parçasıdır. Genel kullanım alanları toplama, çıkarma, çarpma, bölme, kök alma, bit kaydırma gibi işlemlerdir. Bazı sistemler (özellikle eski, mikrokod tabanlı mimarilerde)  exponansiyel veya trigonometrik hesaplamalar gibi çeşitli soyut fonksiyonlar gerçekleştirebilir, ancak artık birçok modern işlemciler yazılımsal olarak kütüphaneleri kullanarak bu işlemleri yapabiliyorlar.

Bilgisayar mimarilerinin genel amacı, bir veya daha çok FP birimlerini merkezi işlemci birimi ile entegre haline getirmektir. ancak birçok gömülü işlemciler donanımsal olarak folating-point işlemlerini destekleyecek yetkinliğe sahip değil.

CPU (Merkezi İşlemci Birim) bir program çalıştıracağı zaman floating-point işlemini koşturur, bunu gerçekleştirmek için 3 metod vardır;

  • Floating-Point Birim Emülatörü (Floating-Point kütüphanesi)
  • FP Birimi ekleme
  • Dahili FP Birimi

Bazı sistemler entegre birimlerden daha iyi olarak, önişlemci vasıtasıyla floating point birimini implement ederler. Bu tek bir entegre devre olabilir. Floating Point hesaplamaları için donanımın yetersiz kaldığı durumlarda, bu sorun yazılım kullanılarak aşılabilir, ancak bunun daha fazla işlem zamanına neden olabileceği buna karşılıkta ekstra donanım maliyetini düşüreceği göz önünde bulundurulmalıdır.

Farklı bilgisayar mimarileri için floating-point komutları yazılım fonksiyonlarının kütüphanesi olarak benzetilmiş olabilir, bu bize floating-point donanımı ile yada donanım olmadan bazı nesne kodlarını çalıştırmamıza imkan sağlar. Benzetme işlemi çeşitli seviyelerde implement edilebilir; CPU içinde mikrokod olarak (genelde bulunmaz), işletim sistemi fonksiyonu olarak, ya da kullanıcı alanında bulunan kod olarak. Yalnızca tamsayılı fonksiyonlar mümkün olduğunda CORDIC floating point benzetim methodları daha yaygındır.

Birçok modern bilgisayar mimarisinde, tamsayılı işlemlerden floating-point işlemlere bazı ayrımlar mevcuttur. Bu ayrımlar özellikle tasarımcı tarafından çeşitlilik gösterir. Örneğin Intel x86 ayrı bir floating-point kayıtçıları barındırır, üstelik bunlar bağımsız clock bağlantılarına sahiptir.

Floating-Point İşlemleri bazen pipeline olabilirler. Büyük ölçekli mimarilerin başlarında,henüz OOE yokken, floating-point işlemleri bazı zamanlarda tamsayılı işlemlerden ayrı olarak pipeline lardı. 1990 ların başlarından ortalarına kadari masaüstü ve serverlarda bulunan birçok mikroişlemci birden fazla Floating Point Birimine sahiplerdi.

Floating Point Library

Bazı floating-point  donanımları yalnızca basit işlemleri destekler – toplama,çıkarma, ve çarpma.

CPU herhangi bir program koşturacağı zaman floating-point işlemini çağırır ancak doğrudan donanım tarafından desteklenmez, CPU basit floating-point işlemler serisini kullanır. Sistemlerde, CPU fixed-point aritmetik işlemlerini tamsayı artimetik lojik biriminde çalıştırarak floating-point donanımını taklit eder.

Yazılım, floating-point kütüphanesinde bulunan paketlenmiş floating-point işlemleri taklit etmek için ihtiyacı olan işlem serilerini listeler.

Kaynak : http://en.wikipedia.org/wiki/Floating-point_unit

Leave a Reply

Your email address will not be published.