Ana içeriğe geç
Donanım

Intel 8087 koprocessörünün tanjant algoritması tersine mühendislikle çözüldü

Öne çıkanlar

  • Intel 8087, tanjant hesaplama süresini 8086'ya kıyasla 13 bin mikrosaniyeden 90 mikrosaniyeye düşürdü.
  • Hesaplama süreci, 16 bitlik CORDIC adımları ile Padé rasyonel polinom yaklaşımını birlikte kullandı.
  • FPTAN komutu maliyetli bölme adımını atlayarak sonucu pay ve payda olarak iki ayrı yazmaçta döndürdü.

Intel'in 1980 yılında piyasaya sürdüğü ve IBM PC başta olmak üzere dönemin sistemlerinde kayan nokta hesaplamalarını hızlandıran 8087 matematik koprocessörünün tanjant (FPTAN) komutu tersine mühendislikle incelendi. Donanım katmanındaki mikro kodların ve yonga devrelerinin mikroskop altında incelenmesiyle hazırlanan analiz, işlemcinin bu hesaplamayı yalnızca CORDIC algoritmasıyla değil, rasyonel bir polinom yaklaşımıyla birleştirerek gerçekleştirdiğini ortaya koydu. Çip, 8086 mikroişlemcisinin 13 bin mikrosaniyede tamamladığı tanjant işlemini 90 mikrosaniyeye indirerek büyük bir hız artışı sağladı.

Analize göre 8087, 64 bitlik tam hassasiyete ulaşmak için gereken 64 adımlı standart CORDIC döngüsünü çalıştırmak yerine hibrit bir mimari tercih etti. İşlemci, açıyı önce 16 bitlik CORDIC sözde bölme adımıyla daralttı ve kalan çok küçük artık açı için Padé rasyonel yaklaşım fonksiyonunu kullandı. 3x/(3-x^2) formülüyle elde edilen değer bir başlangıç vektörüne dönüştürüldü ve ardından saklanan CORDIC karar bitleri ters sırayla işletilerek nihai vektör rotasyonları tamamlandı. Bu yöntem, yonganın 64 bitlik hassasiyet sınırını korurken çevrim süresini belirgin şekilde düşürdü.

Donanım düzeyindeki inceleme, FPTAN komutunun doğrudan nihai tanjant sonucunu üretmek yerine X ve Y koordinatlarını ayrı pay ve payda olarak yığıt yazmaçlarına bıraktığını gösterdi. Dönemin yavaş donanımlarında yüksek maliyetli olan donanımsal bölme işleminden kaçınan bu yaklaşım, yazılımların gereksiz hesaplama yükünden kurtulmasını sağladı. 80 bitlik dahili kayan nokta formatı ve özel geçici yazmaçlar üzerinden yürütülen mikro kod akışı, işlemcinin matematiksel doğruluk ile donanım kısıtları arasındaki dengeyi nasıl kurduğunu belgeledi.

Kaynak

Bu özet yapay zekâ ile hazırlanmıştır; ayrıntılar ve doğrulama için orijinal kaynağa başvurun.