microcode encoder ve decoder aracılığıyla tüm işlemlerimizi gerçekleştiren donanımsal birimler.
64 bit ortam komut seti, çeşitli veri aktarımı, aritmetik, mantıksal, karşılaştırma ve diğer komutları içerir. Bu komutlar, matris işlemleri, vektör işlemleri ve veri dönüştürme gibi bilimsel programlama görevleri için kullanılabilir. Komut seti ayrıca, tek duyarlıklı, çift duyarlıklı ve genişletilmiş duyarlıklı kayan noktalı sayılar üzerinde matematiksel hesaplamalar yapmak için x87 kayan nokta komutlarını da destekler.
128 bit ortam komut seti, 128 bit veri türlerinde çalışabilen çeşitli veri aktarımı, aritmetik, mantıksal, karşılaştırma ve diğer komutları içerir. Bu komutlar, matris işlemleri, vektör işlemleri ve veri dönüştürme gibi bilimsel programlama görevleri için faydalı olabilecek tam sayı veya kayan noktalı eleman vektörleri üzerinde paralel işlemler gerçekleştirmek üzere tasarlanmıştır. Komut seti ayrıca, 64 bit veri türlerinde tek komutlu çoklu veri (SIMD) işlemleri gerçekleştirmek için MMX™ komutlarını da destekler.
x87 kayan nokta komutları, üç kayan nokta biçimindeki veriler üzerinde çalışır: 32 bit tek duyarlıklı, 64 bit çift duyarlıklı ve 80 bit çift genişletilmiş duyarlıklı. Bunlar, toplama, çıkarma, çarpma, bölme ve karekök gibi aritmetik işlemleri; sin, cos, tan, log ve exp gibi aşkın fonksiyonları; ve mutlak değer, işaret değişikliği, tam sayıya yuvarlama, kısmi kalan ve karekök gibi diğer fonksiyonları gerçekleştirmek için komutlar içerir.
128 bit ortam komutları, tam sayı, kayan nokta ve paketlenmiş BCD biçimleri dahil olmak üzere çeşitli veri türlerini destekler. Ayrıca log2e, log210, log102, loge2, Pi, 1 ve 0 gibi yaygın sabitleri yüklemek için komutlar da içerir. x87 komutları, daha karmaşık bilimsel programlama görevlerini gerçekleştirmek için 128 bit ortam komutlarıyla birlikte kullanılabilir.
Talimat seti ayrıca, büyük işlenen boyutları kullanma, dallanmalardan kaçınma, verileri önceden getirme ve ortak işlenenleri kayıtlarda tutma gibi çeşitli bellek optimizasyon tekniklerini de içerir. Bu teknikler, yürütülen talimat sayısını azaltarak ve önbellek kirliliğini en aza indirerek performansı artırmaya yardımcı olabilir.
Talimat seti ayrıca, fiziksel, bölümlü, sanal ve zayıf sıralı bellek dahil olmak üzere çeşitli bellek sıralama modellerini destekler. Ayrıca, verileri bellekten yüklemek ve depolamak için MOV, PUSH, POP ve FLD/ST gibi çeşitli bellek yönetim talimatlarını da içerir.
Talimat seti, aritmetik ve mantıksal işlemlerin durumunu kontrol etmek için kullanılabilen çeşitli bayrak talimatları içerir. Bu bayraklar arasında taşıma, yardımcı taşıma, sıfır, işaret, eşlik, taşma, yön, kesme devre dışı bırakma, tuzak bayrağı, sanal 8086 modu, hizalama kontrolü ve diğerleri bulunur. Bayraklar, program akışını kontrol etmek ve koşullu dallanmalar gerçekleştirmek için kullanılabilir.
Talimat seti ayrıca, talimatların davranışını değiştirmek için kullanılabilen çeşitli önekler içerir. Bu önekler REP, REPE, REPZ, REPNZ, LOCK ve diğerlerini içerir. Talimatları tekrarlamak, erişim sırasında belleği kilitlemek veya diğer işlevleri gerçekleştirmek için kullanılabilirler.
Son olarak, talimat seti #DE, #DF, #UD, #NM, #PF, #TS, #NP, #SS, #XF ve diğerleri gibi çeşitli istisnalar içerir. Bu istisnalar, sıfıra bölme, yığın hatası, hizalanmamış bellek erişimi ve diğerleri gibi çeşitli koşullar tarafından tetiklenebilir. Talimat seti, bu istisnaları işlemek ve kontrolü programa geri döndürmek için çeşitli talimatlar içerir.
Genel olarak, 64 bit ortam talimat seti, matris işlemleri, vektör işlemleri, veri dönüştürme ve diğer işlevler dahil olmak üzere bilimsel programlama görevleri için zengin bir yetenek seti sağlar. Ayrıca, tek duyarlıklı, çift duyarlıklı ve genişletilmiş duyarlıklı kayan noktalı sayılar üzerinde matematiksel hesaplamalar yapmak için x87 kayan nokta talimatlarını da destekler. Talimat seti, performansı iyileştirmeye ve program akışını kontrol etmeye yardımcı olmak için çeşitli optimizasyon teknikleri, bellek sıralama modelleri, bellek yönetimi talimatları, bayrak talimatları, önekler ve istisnalar içerir.