IA-32

dari Wikipedia, ensiklopedia gratis
Langsung ke navigasi Langsung ke pencarian

IA-32 (kependekan dari " Intel Architecture, 32-bit ", kadang-kadang juga disebut i386 [1] [2] ) [3] adalah versi 32-bit dari arsitektur set instruksi x86 , yang dirancang oleh Intel dan pertama kali diimplementasikan di 80386 mikroprosesor pada tahun 1985. IA-32 adalah inkarnasi pertama dari x86 yang mendukung komputasi 32-bit; [4] sebagai hasilnya, istilah "IA-32" dapat digunakan sebagai metonim untuk merujuk ke semua versi x86 yang mendukung komputasi 32-bit. [5] [6]

Dalam berbagai arahan bahasa pemrograman , IA-32 kadang-kadang masih disebut sebagai arsitektur "i386". Dalam beberapa konteks lain, iterasi tertentu dari IA-32 ISA kadang-kadang diberi label i486, i586 dan i686, mengacu pada superset instruksi yang ditawarkan oleh masing-masing 80486 , P5 dan P6 mikroarsitektur . Pembaruan ini menawarkan banyak tambahan di samping set dasar IA-32, yaitu kemampuan floating-point dan ekstensi MMX .

Intel secara historis merupakan produsen prosesor IA-32 terbesar, dengan pemasok terbesar kedua adalah AMD . Selama tahun 1990-an, VIA , Transmeta dan produsen chip lainnya juga memproduksi prosesor yang kompatibel dengan IA-32 (misalnya WinChip ). Di era modern, Intel masih memproduksi prosesor IA-32 di bawah platform mikrokontroler Intel Quark ; namun, sejak tahun 2000-an, sebagian besar produsen (termasuk Intel) bergerak hampir secara eksklusif untuk mengimplementasikan CPU berdasarkan varian 64-bit x86, x86-64. x86-64, menurut spesifikasi, menawarkan mode operasi lama yang beroperasi pada IA-32 ISA untuk kompatibilitas mundur. Bahkan mengingat prevalensi kontemporer x86-64, pada 2018, versi mode terlindung IA-32 dari banyak sistem operasi modern masih dipertahankan, misalnya Microsoft Windows [7] dan distribusi Debian Linux . [8] Terlepas dari nama IA-32 (dan menyebabkan beberapa potensi kebingungan), evolusi 64-bit x86 yang berasal dari AMD tidak akan dikenal sebagai "IA-64", nama itu malah milik arsitektur Itanium Intel .

Fitur arsitektur

Karakteristik penentu utama dari IA-32 adalah ketersediaan register prosesor tujuan umum 32-bit (misalnya, EAX dan EBX), operasi aritmatika dan logika integer 32-bit, offset 32-bit dalam segmen dalam mode terproteksi , dan terjemahan alamat tersegmentasi ke alamat linier 32-bit. Para desainer mengambil kesempatan untuk membuat perbaikan lain juga. Beberapa perubahan yang paling signifikan dijelaskan di bawah ini.

Kemampuan integer 32-bit
Semua register tujuan umum (GPR) yang diperluas dari 16  bit ke 32 bit, dan semua operasi aritmatika dan logika, memori-untuk-mendaftar dan mendaftar-ke-memori operasi, dll, dapat beroperasi secara langsung pada 32-bit bilangan bulat. Push dan pop pada stack default ke langkah 4 byte, dan pointer yang tidak tersegmentasi memiliki lebar 4 byte.
Mode pengalamatan yang lebih umum
Setiap GPR dapat digunakan sebagai register dasar, dan GPR apa pun selain ESP dapat digunakan sebagai register indeks, dalam referensi memori. Nilai register indeks dapat dikalikan dengan 1, 2, 4, atau 8 sebelum ditambahkan ke nilai register dasar dan perpindahan.
Register segmen tambahan
Dua register segmen tambahan, FS dan GS, disediakan.
Ruang alamat virtual yang lebih besar
Arsitektur IA-32 mendefinisikan format alamat tersegmentasi 48-bit, dengan nomor segmen 16-bit dan offset 32-bit di dalam segmen. Alamat tersegmentasi dipetakan ke alamat linier 32-bit.
Permintaan halaman
Alamat linier 32-bit adalah alamat virtual daripada alamat fisik; mereka diterjemahkan ke alamat fisik melalui tabel halaman . Dalam 80386, 80486 , dan prosesor Pentium asli , alamat fisiknya adalah 32 bit; di Pentium Pro prosesor dan kemudian, Alamat Fisik Ekstensi diperbolehkan alamat fisik 36-bit, meskipun ukuran alamat linier masih 32 bit.

Mode operasi

Modus operasi Sistem operasi yang diperlukan Jenis kode yang dijalankan Ukuran alamat default Ukuran operan default Lebar GPR tipikal
Modus terproteksi Sistem operasi 32-bit atau pemuat boot Kode mode terlindungi 32-bit 32 bit 32 bit 32 bit
Sistem operasi mode terlindung 16-bit atau pemuat boot, atau pemuat boot 32-bit Kode mode terlindungi 16-bit 16 bit 16 bit 16 atau 32 bit
Mode 8086 virtual Sistem operasi mode terlindung 16 atau 32-bit Kode mode nyata 16-bit 16 bit 16 bit 16 atau 32 bit
Modus nyata Sistem operasi mode nyata 16-bit atau pemuat boot, atau pemuat boot 32-bit Kode mode nyata 16-bit 16 bit 16 bit 16 atau 32 bit
Modus tidak nyata Sistem operasi mode nyata 16-bit atau pemuat boot, atau pemuat boot 32-bit Kode mode nyata 16-bit 32 bit 16 bit 16 atau 32 bit

Lihat juga

Referensi

  1. ^ "DITTO" . BSD Umum Perintah manual . apel . 19 Desember 2008 . Diakses pada 3 Agustus 2013 . Biner Universal tipis untuk arsitektur tertentu [...] harus ditentukan sebagai "i386", "x86_64", dll.[ tautan mati ]
  2. ^ "Makro Standar Tambahan" . software.intel.com . Intel . Diakses tanggal 25 November 2020 .
  3. ^ Kemp, Steve. "Menjalankan 32-bit Aplikasi pada 64-bit Debian GNU / Linux" . Administrasi Debian .
  4. ^ "Intel 64 dan IA-32 Arsitektur Software Developer Manual" . Intel Corporation . September 2014. hal. 31. Prosesor Intel386 adalah prosesor 32-bit pertama dalam keluarga arsitektur IA-32. Ini memperkenalkan register 32-bit untuk digunakan baik untuk menahan operan dan untuk pengalamatan.
  5. ^ Hijau, Ronald W. (5 Mei 2009). "Apa yang dimaksud dengan Arsitektur IA-32, Intel 64 dan IA-64?" . software.intel.com . Intel . Diakses pada 19 Desember 2014 .
  6. ^ "Perangkat Keras yang Didukung" . Bantuan Ubuntu . Kanonik . Diarsipkan dari versi asli pada 19 Desember 2014 . Diperoleh Agustus 31, 2013 .
  7. ^ "Persyaratan & Spesifikasi Sistem Windows 10 | Microsoft" . www.microsoft.com . Diakses pada 20 Agustus 2018 .
  8. ^ https://www.debian.org/ports/i386/
0.028388023376465