IA-32

IA-32 (اختصارًا لـ " معمارية إنتل، 32 بت "، والمعروفة باسم i386 [ 1 ] [ 2 ] ) [ 3 ] هي نسخة 32 بت من معمارية مجموعة تعليمات x86 ، صممتها شركة إنتل وطُبقت لأول مرة في المعالج الدقيق 80386 عام 1985. تُعد IA-32 أول إصدار من x86 يدعم الحوسبة 32 بت؛ [ 4 ] ونتيجة لذلك، قد يُستخدم مصطلح "IA-32" كنايةً للإشارة إلى جميع إصدارات x86 التي تدعم الحوسبة 32 بت. [ 5 ] [ 6 ]

في بعض توجيهات لغات البرمجة ، لا يزال يُشار إلى معمارية IA-32 أحيانًا باسم "i386". وفي سياقات أخرى، تُسمى بعض إصدارات معمارية IA-32 أحيانًا بـ i486 و i586 و i686 ، في إشارة إلى مجموعات التعليمات الفائقة التي توفرها معمارية 80486 و P5 و P6 على التوالي. وقد أضافت هذه التحديثات العديد من الميزات إلى جانب مجموعة IA-32 الأساسية، بما في ذلك إمكانيات الفاصلة العائمة وامتدادات MMX .

كانت إنتل تاريخيًا أكبر مُصنِّع لمعالجات IA-32، تليها AMD في المرتبة الثانية . خلال تسعينيات القرن الماضي، أنتجت شركات VIA و Transmeta وغيرها من مُصنِّعي الرقائق معالجات متوافقة مع IA-32 (مثل WinChip ). في العصر الحديث، استمرت إنتل في إنتاج معالجات IA-32 ضمن منصة Intel Quark للتحكم الدقيق حتى عام 2019؛ إلا أنه منذ بداية الألفية الجديدة، اتجهت غالبية الشركات المُصنِّعة (بما فيها إنتل) بشكل شبه حصري إلى استخدام وحدات المعالجة المركزية القائمة على الإصدار 64 بت من x86، وهو x86-64 . يوفر x86-64، بحسب المواصفات، أوضاع تشغيل قديمة تعمل على بنية مجموعة تعليمات IA-32 لتحقيق التوافق مع الإصدارات السابقة. على الرغم من شيوع معمارية x86-64 في الوقت الحاضر، لا تزال العديد من أنظمة التشغيل الحديثة تعتمد على وضع الحماية IA-32، مثل مايكروسوفت ويندوز (حتى ويندوز 10[ 7 ] وويندوز سيرفر (حتى ويندوز سيرفر 2008 ) ، [ 8 ] وتوزيعة ديبيان لينكس . [ 9 ] وبالرغم من اسم IA-32 (وما قد يسببه من لبس)، فإن التطور 64 بت لمعمارية x86 الذي نشأ من AMD لم يُعرف باسم "IA-64"، بل كان هذا الاسم خاصًا بمعمارية إيتانيوم التي أوقفت إنتل إنتاجها .

السمات المعمارية

تتمثل السمة الرئيسية المميزة لمعمارية IA-32 في توفر سجلات معالجة للأغراض العامة ذات 32 بت (مثل EAX وEBX)، وعمليات حسابية ومنطقية للأعداد الصحيحة ذات 32 بت ، وإزاحات ذات 32 بت داخل مقطع في الوضع المحمي ، وترجمة العناوين المجزأة إلى عناوين خطية ذات 32 بت. وقد انتهز المصممون هذه الفرصة لإجراء تحسينات أخرى أيضًا. ومن أبرز التغييرات (مقارنةً بمجموعة تعليمات 286 ذات 16 بت ):

إمكانية معالجة الأعداد الصحيحة 32 بت
تم توسيع جميع سجلات الأغراض العامة (GPRs) من 16 بت إلى 32 بت، ويمكن لجميع العمليات الحسابية والمنطقية، وعمليات نقل البيانات من الذاكرة إلى السجلات ومن السجلات إلى الذاكرة، وما إلى ذلك، أن تعمل مباشرةً على أعداد صحيحة 32 بت. تكون خطوات عمليات الدفع والسحب من المكدس افتراضيًا 4 بايت، ويبلغ عرض المؤشرات غير المجزأة 4 بايت.  
أنماط عنونة أكثر عمومية
يمكن استخدام أي سجل عام مسجل (GPR) كسجل أساسي، ويمكن استخدام أي سجل عام مسجل (GPR) باستثناء سجل ESP كسجل فهرسة، في مرجع الذاكرة. يمكن ضرب قيمة سجل الفهرسة في 1 أو 2 أو 4 أو 8 قبل إضافتها إلى قيمة السجل الأساسي والإزاحة.
سجلات القطاعات الإضافية
يتم توفير سجلين إضافيين للقطاعات، وهما FS و GS.
مساحة عنوان افتراضية أكبر
تُعرّف بنية IA-32 تنسيق عناوين مُجزأة بطول 48 بت، مع رقم مقطع بطول 16 بت وإزاحة بطول 32 بت داخل المقطع. تُحوّل العناوين المُجزأة إلى عناوين خطية بطول 32 بت.
طلب الدفع
تُعتبر العناوين الخطية ذات 32 بت عناوين افتراضية وليست عناوين فيزيائية؛ ويتم تحويلها إلى عناوين فيزيائية عبر جدول الصفحات . في معالجات 80386 و 80486 ومعالجات بنتيوم الأصلية ، كان العنوان الفيزيائي 32 بت؛ أما في معالجات بنتيوم برو والمعالجات اللاحقة، فقد سمح امتداد العنوان الفيزيائي بعناوين فيزيائية 36 بت، على الرغم من أن حجم العنوان الخطي ظل 32 بت.

أوضاع التشغيل

وضع التشغيلنظام التشغيل مطلوبنوع الكود الذي يتم تشغيلهحجم العنوان الافتراضيحجم المعامل الافتراضيعرض الرادار المخترق للأرض النموذجي
الوضع المحمينظام تشغيل 32 بت أو برنامج تحميل الإقلاعرمز الوضع المحمي 32 بت32 بت32 بت32 بت
نظام تشغيل أو مُحمِّل إقلاع ذو وضع حماية 16 بت، أو مُحمِّل إقلاع 32 بترمز الوضع المحمي ذو 16 بت16 بت16 بت16 أو 32 بت
وضع 8086 الافتراضينظام تشغيل محمي ذو 16 أو 32 بترمز الوضع الحقيقي ذو 16 بت16 بت16 بت16 أو 32 بت
الوضع الحقيقينظام تشغيل أو مُحمِّل إقلاع ذو وضع حقيقي 16 بت، أو مُحمِّل إقلاع 32 بترمز الوضع الحقيقي ذو 16 بت16 بت16 بت16 أو 32 بت
الوضع غير الواقعينظام تشغيل أو مُحمِّل إقلاع ذو وضع حقيقي 16 بت، أو مُحمِّل إقلاع 32 بترمز الوضع الحقيقي ذو 16 بت32 بت16 بت16 أو 32 بت

انظر أيضاً

مراجع

  1. "ditto(1) Mac OS X Manual Page" . BSD General Commands Manual . Apple . 19 ديسمبر 2008. مؤرشف من الأصل في 2 يونيو 2012. تم الاسترجاع في 3 أغسطس 2013. يجب تحديد الملفات الثنائية Thin Universal للبنية المحددة [...] على أنها "i386" أو "x86_64" وما إلى ذلك.
  2. "وحدات ماكرو إضافية مُعرّفة مسبقًا" . software.intel.com . إنتل . مؤرشف من الأصل في 15 فبراير 2021. تم الاطلاع عليه في 25 نوفمبر 2020 .
  3. كيمب، ستيف. "تشغيل تطبيقات 32 بت على نظام دبيان جنو/لينكس 64 بت" . إدارة دبيان . مؤرشف من الأصل في 16 سبتمبر 2013. تم الاطلاع عليه في 31 أغسطس 2013 .
  4. "دليل مطوري البرامج لبنيتي Intel 64 و IA-32" . شركة Intel . سبتمبر 2014. ص 31. مؤرشف من الأصل في 26 يناير 2012. تم الاطلاع عليه في 19 ديسمبر 2014. كان معالج Intel386 أول معالج 32 بت في عائلة بنية IA-32 . وقد قدم سجلات 32 بت لاستخدامها في تخزين المعاملات وعنونة العناوين. 
  5. غرين، رونالد و. (5 مايو 2009). "ماذا تعني IA-32 وIntel 64 وبنية IA-64؟" . software.intel.com . إنتل . مؤرشف من الأصل في 19 ديسمبر 2014. تم الاسترجاع في 19 ديسمبر 2014 .
  6. "الأجهزة المدعومة" . مساعدة أوبونتو . كانونيكال . تم الاطلاع عليه في 31 أغسطس 2013 .{{cite web}}: CS1 maint: deprecated archiveal service ( link )
  7. "متطلبات ومواصفات نظام التشغيل ويندوز 10 | مايكروسوفت" . www.microsoft.com . مؤرشف من الأصل في 1 مايو 2018. تم الاطلاع عليه في 20 أغسطس 2018 .
  8. سكوت إم. فولتون الثالث (16 مايو 2007). "ويندوز سيرفر 2008: آخر نظام تشغيل 32 بت"" . بيتا نيوز . مؤرشف من الأصل في 1 أبريل 2023. تم الاسترجاع في 1 أبريل 2023 .
  9. "ديبيان جنو/لينكس على أجهزة x86" . مؤرشف من الأصل في 28 أبريل 2019. تم الاطلاع عليه في 20 أغسطس 2020 .