IA-32 - IA-32

IA-32 (" Intel Architecture, 32-bit " kısaltması , bazen i386 olarak da adlandırılır ), Intel tarafından tasarlanan ve ilk olarak 1985'te 80386 mikroişlemcide uygulanan x86 komut seti mimarisinin 32-bit sürümüdür . IA-32, 32 bit bilgi işlemi destekleyen x86'nın ilk enkarnasyonu; sonuç olarak, "IA-32" terimi, 32 bit bilgi işlemi destekleyen tüm x86 sürümlerine atıfta bulunmak için bir metonim olarak kullanılabilir .

Çeşitli programlama dili yönergeleri içinde, IA-32 hala bazen "i386" mimarisi olarak anılır. Diğer bazı bağlamlarda, IA-32 ISA'nın belirli yinelemeleri bazen sırasıyla 80486 , P5 ve P6 mikromimarileri tarafından sunulan talimat üst kümelerine atıfta bulunarak i486, i586 ve i686 olarak etiketlenir . Bu güncellemeler, temel IA-32 setinin yanı sıra, örneğin kayan nokta yetenekleri ve MMX uzantıları gibi sayısız eklemeler sundu .

Intel, tarihsel olarak en büyük IA-32 işlemci üreticisiydi ve ikinci en büyük tedarikçi AMD idi . 1990'larda VIA , Transmeta ve diğer çip üreticileri de IA-32 uyumlu işlemciler ürettiler (örneğin WinChip ). Modern çağda, Intel hala Intel Quark mikrodenetleyici platformu altında IA-32 işlemciler üretiyor ; bununla birlikte, 2000'lerden bu yana, üreticilerin çoğu (Intel dahil) neredeyse yalnızca x86, x86-64'ün 64-bit varyantına dayalı CPU'ları uygulamaya geçti . x86-64, spesifikasyona göre, geriye dönük uyumluluk için IA-32 ISA üzerinde çalışan eski işletim modları sunar. x86-64'ün çağdaş yaygınlığı göz önüne alındığında bile, 2018 itibariyle, Microsoft Windows ve Debian Linux dağıtımı gibi birçok modern işletim sisteminin IA-32 korumalı mod sürümleri hala korunmaktadır . IA-32'nin ismine (ve bazı olası karışıklıklara neden olmasına) rağmen, x86'nın AMD kaynaklı 64-bit evrimi "IA-64" olarak bilinmeyecekti, bu isim Intel'in Itanium mimarisine aitti .

Mimari özellikler

IA-32'nin birincil tanımlayıcı özelliği, 32 bit genel amaçlı işlemci kayıtlarının (örneğin, EAX ve EBX), 32 bit tamsayı aritmetik ve mantıksal işlemlerin, korumalı modda bir segment içinde 32 bit ofsetlerin ve bölümlenmiş adreslerin 32-bit doğrusal adreslere çevrilmesi. Tasarımcılar başka iyileştirmeler de yapma fırsatı buldu. En önemli değişikliklerden bazıları aşağıda açıklanmıştır.

32 bit tam sayı özelliği
Tüm genel amaçlı kayıtlar (GPR'ler) 16 bitten 32 bite genişletilir ve tüm aritmetik ve mantıksal işlemler, bellekten kayda ve kayıttan  belleğe işlemler, vb., doğrudan 32 bit tamsayılar üzerinde çalışabilir. İter ve çıkar üzerine yığını 4 baytlık adımlarla varsayılan ve olmayan parçalı işaretçileri 4 genişliğinde bayt vardır.
Daha genel adresleme modları
Herhangi bir GPR, bir temel kayıt olarak kullanılabilir ve ESP dışındaki herhangi bir GPR, bir bellek referansında bir dizin kaydı olarak kullanılabilir. İndeks kaydı değeri, temel kayıt değerine ve yer değiştirmeye eklenmeden önce 1, 2, 4 veya 8 ile çarpılabilir.
Ek segment kayıtları
İki ek segment kaydı, FS ve GS sağlanır.
Daha büyük sanal adres alanı
IA-32 mimarisi, segment içinde 16 bit segment numarası ve 32 bit ofset ile 48 bit segmentli bir adres formatı tanımlar. Segmentli adresler 32 bit doğrusal adreslerle eşlenir.
talep sayfalama
32 bit doğrusal adresler, fiziksel adresler yerine sanal adreslerdir; bir sayfa tablosu aracılığıyla fiziksel adreslere çevrilirler . 80386, 80486 ve orijinal Pentium işlemcilerde fiziksel adres 32 bitti; içinde Pentium Pro ve sonraki işlemciler, Fiziksel Adres Uzantısı doğrusal adres boyutu hala 32 bit olmasına rağmen, 36 bitlik fiziksel adresleri izin verdi.

Çalışma modları

Çalışma modu İşletim sistemi gerekli Çalıştırılmakta olan kod türü Varsayılan adres boyutu Varsayılan işlenen boyutu Tipik GPR genişliği
Korumalı mod 32 bit işletim sistemi veya önyükleyici 32 bit korumalı mod kodu 32 bit 32 bit 32 bit
16 bit korumalı mod işletim sistemi veya önyükleyici veya 32 bit önyükleyici 16 bit korumalı mod kodu 16 bit 16 bit 16 veya 32 bit
Sanal 8086 modu 16 veya 32 bit korumalı mod işletim sistemi 16 bit gerçek mod kodu 16 bit 16 bit 16 veya 32 bit
gerçek mod 16 bit gerçek mod işletim sistemi veya önyükleyici veya 32 bit önyükleyici 16 bit gerçek mod kodu 16 bit 16 bit 16 veya 32 bit
Gerçek dışı mod 16 bit gerçek mod işletim sistemi veya önyükleyici veya 32 bit önyükleyici 16 bit gerçek mod kodu 32 bit 16 bit 16 veya 32 bit

Ayrıca bakınız

Referanslar