Ana içeriğe geç
Donanım

Intel 8087 çipinin mikro kodları tersine mühendislikle çözüldü

Öne çıkanlar

  • FSCALE komutu, 140'tan fazla mikro komut ve üç seviyeli alt yordam çağrısı çalıştırıyor.
  • İki NaN değeri işleme girdiğinde çip çıkarma yaparak büyük olan değeri döndürüyor.
  • Yazmaç takas işlemi veri taşımak yerine dahili bir flip-flop mantığıyla yürütülüyor.

Opcode Collective üyesi araştırmacılar, modern kayan nokta hesaplama standardının temelini oluşturan 1980 çıkışlı Intel 8087 çipinin mikro kodlarını tersine mühendislikle analiz etti. Bir sayıyı ikinin kuvvetleriyle çarpmayı sağlayan FSCALE komutu incelendiğinde, işlemin beklenenin aksine 140'tan fazla mikro komut ve üç seviyeli alt rutin çağrısı içerdiği belirlendi.

Yüksek çözünürlüklü mikroskop çekimleriyle mikro kod ROM'undaki 1648 komut adım adım incelendi. İki bağımsız veri yoluna sahip mimaride, 16 bitlik kısım üs değerlerini, 64 bitlik bölüm ise sayının kesirli kısmını yönetiyor. FSCALE işlemi, üslerin kaydırılması, normalleştirilmemiş değerlerin işlenmesi ve hata durumlarının ayıklanması için özel mantıksal devreleri devreye sokuyor.

İncelemede, çipin iki farklı NaN (Sayı Değil) değeriyle karşılaştığında çıkarma işlemi yaparak büyük olanı seçtiği görüldü. Ayrıca tmpA ve tmpB geçici yazmaçlarının takas edilmesi için verilerin taşınmadığı, adresleme mantığını tersine çeviren bir flip-flop devresinin tetiklendiği kaydedildi.

Kaynak

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