الانتقال إلى المحتوى

64-bit (x86-64)

مرجع المعماريةFeex

تعد x86-64 هي التوسعة ذات 64-bit لبنية تعليمات x86. وهي تحدد أوضاع التنفيذ والسجلات وقواعد العنونة؛ لكنها لا تحدد بمفردها متطلبات المعالج أو نظام التشغيل الكاملة لتطبيق ما.

ما تحتاج إلى معرفته

تعد x86-64 هي التوسعة ذات 64-bit لبنية تعليمات x86. وهي تحدد أوضاع التنفيذ والسجلات وقواعد العنونة؛ لكنها لا تحدد بمفردها متطلبات المعالج أو نظام التشغيل الكاملة لتطبيق ما.

كيف يعمل

في الوضع ذي 64-bit، يمكن للسجلات العامة الاحتفاظ بمعاملات ذات 64-bit وتوفر البنية سجلات إضافية وبيئة برمجة مختلفة عن x86 القديمة ذات 32-bit. يتيح وضع التوافق لنظام التشغيل دعم التطبيقات القديمة المناسبة، لكن نظام التشغيل هو من يقرر تنسيقات التطبيقات والواجهات التي يوفرها. إن المعالج ذا 64-bit لا يجعل كل تعليمة تستخدم بيانات بحجم 64-bit.

مواضع فائدتها

يتوقع التطبيق المبني لـ ABI الخاص بـ x86-64 بيئة السجلات واتفاقيات الاستدعاء وتعليمات الأساس لتلك الـ ABI. ويعد الملف الثنائي لـ Arm64 بنية مختلفة على الرغم من وصف كليهما بأنهما 64-bit. وتعد الترجمة أو المحاكاة تسهيلاً برمجياً منفصلاً، وليست نتيجة لامتلاك سجلات بحجم 64-bit.

كيفية التحقق من الدعم والتمكين

لأجهزة x86، تحدد الدالة الموسعة 80000001H في CPUID والبتة 29 من EDX إمكانية الوضع الطويل (long-mode). ويجب على نظام التشغيل المدعوم تمكين بيئة التنفيذ والترقيم الصفحي المناسبة. افحص بنية نظام التشغيل قيد التشغيل وقدرة المعالج على حد سواء.

تعد القدرة العتادية، وبيئة التشغيل قيد العمل، ومتطلبات الملف الثنائي للتطبيق طبقات مختلفة. يجب تفسير أسماء البنى ومستويات ABI على أنها عقود واضحة بدلاً من اعتبارها قاعدة عامة تفيد بأن الأحدث متوافق دائماً.

ما لا تثبته هذه الميزة

لا تثبت تسمية 64-bit اتساع العنوان الفعلي أو الافتراضي المنفذ، أو الحد الأقصى لذاكرة RAM المثبتة، أو دعم x86-64-v2/v3/v4، أو أهلية تشغيل Windows، أو التوافق مع برنامج تشغيل معين. تحقق من كل متطلب على حدة.

التوافق والأداء في الممارسة العملية

تحقق من المتطلبات الموروثة الكاملة والبيئة الفعلية المرئية للعملية. بالنسبة للآلة الافتراضية، افحص الضيف بدلاً من افتراض كشف طراز المضيف دون تغيير. يجب أن يحدد بناء الرجوع البديل المدعوم خط الأساس الخاص به بوضوح.

قائمة عملية للتحقق

  1. سجل الطراز الدقيق للمعالج أو المنصة، بالإضافة إلى إصدارات التطبيق ونظام التشغيل وبيئة التشغيل المعنية. واحتفظ بنص الخطأ الفعلي أو المتطلب كما هو.
  2. راجع مرجع الشركة المصنعة لذلك الطراز بدقة، ثم افحص القدرة الفعلية وحالة التمكين في البيئة التي يعمل فيها البرنامج.
  3. قارن كل متطلب من متطلبات الملف الثنائي أو الواجهة الخلفية المحددة. فوجود ميزة ذات اسم مشابه أو اسم بديل أو تصنيف تقني عام ليس كافيًا.
  4. تأكد من أن التطبيق قد اختار التنفيذ المطلوب. واستخدم وسائله التشخيصية الموثقة والبديل الاحتياطي المدعوم عندما لا يتم استيفاء المتطلبات.
  5. قم بإجراء تغيير مدعوم واحد في كل مرة وأعد تنفيذ نفس حمل العمل. واحتفظ بالتهيئة الأصلية ومسار الاسترداد متاحين.

إذا كانت الميزة مدرجة ولكن يتعذر على البرنامج استخدامها

ابدأ بالمكون الفعلي الذي حدث فيه الفشل. تصف قاعدة بيانات الأجهزة القدرات المسجلة؛ ولكن يمكن لنظام التشغيل أو برنامج المراقبة الفوقي (hypervisor) إتاحة بيئة فعلية مختلفة. ويتطلب خطأ التعليمة غير الصالحة (illegal-instruction) أيضًا فحص التعليمة المتسببة في الخطأ وبنية الملف الثنائي، لأن التلف أو وجود تعليمة غير مدعومة لا صلة لها بالأمر قد يُحدث أعراضًا مماثلة.

ثبت إصدار التطبيق أو برنامج التشغيل أو بيئة التشغيل المدعومة للمنصة المعنية بدقة، واستخدم البنية الأساسية أو الاحتياطية الموثقة من الشركة المصنعة عند الحاجة. لا يمكن للتحديث البرمجي إنشاء تعليمة يفتقر إليها المعالج. ويجب أن تتبع تغييرات البرامج الثابتة وسياسات الأمان إجراءات الشركة المصنعة للنظام وخطة استرداد، بدلاً من اتباع وصفة تحسين عامة.

مصادر ونطاق هذا التوضيح

Intel 64 and IA-32 Architectures Software Developer's Manual · x86-64 psABI: مستويات بنية المعالج والبنية الدقيقة

تحدد هذه المراجع السلوك المعماري ومتطلبات البرمجيات. وهي لا تتحقق بشكل مستقل من قيمة كل ميزة على صفحة طراز عتاد مرتبطة. للحصول على دعم الطراز، استخدم أدلة الشركة المصنعة في تلك الصفحة وتحقق من تهيئة النظام الفعلية. لا تقدم هذه المقالة مقياس أداء أو شهادة اعتماد أو تاريخ مراجعة مستقلة.

المصادر والتحقق

الملكية التحريرية: Feex. لم يتم تسجيل تاريخ مراجعة مستقلة. كيف نقوم بالبحث.

هل كانت هذه المقالة مفيدة؟

يكفي الإجابة بنعم أو لا. اختر سببًا إذا أردت، أو أضف ملاحظة قصيرة.

هل كانت هذه المقالة مفيدة؟