بادئة REX

تم تقديم بادئة REX ( من "امتدادات السجل") ونظام ترميز REX كجزء من بنية مجموعة تعليمات x86-64 الخاصة بشركة AMD والتي وسعت بنية مجموعة تعليمات IA-32 الخاصة بشركة Intel للمعالجات الدقيقة من Intel و AMD وغيرها.

يوفر مساحة إضافية لترميز أوضاع العنونة 64 بت والسجلات الإضافية الموجودة في بنية x86-64.

يمكن إضافة البادئة REX المكونة من بايت واحد إلى التعليمات الجديدة والحالية. وهي توفر 4 بتات من البيانات الإجمالية وتتيح عنونة 16 سجلاً.

تم اقتراح بادئة REX2 ثنائية البايت من قبل قسم ملحقات الأداء المتقدمة في شركة إنتل في عام 2023 والتي من شأنها أن توفر 8 بتات من الحمولة وتسمح بعنونة 32 سجلاً.

ترميز التعليمات

تنسيق التعليمات باستخدام البادئة REX
عدد البايتات1، 2110, 1٠، ١، ٢، ٤0, 1
جزء[البادئات][REX]رمز العمليةModR/M[SIB][عرض][IMM]

يستخدم نظام ترميز REX بادئة رمز العملية تتكون من بايت واحد ، والتي يمكن إضافتها إلى رموز التعليمات الحالية أو الجديدة. [ 1 ]

يحتوي على أربع بتات ذات ترتيب أعلى مضبوطة على أربعة، مما يحل محل ستة عشر رمزًا تشغيليًا مرقمة من 0x40 إلى 0x4F. سابقًا، كانت هذه الرموز التشغيلية عبارة عن تعليمات INC وDEC منفصلة لسجلات المعالج الثمانية القياسية؛ يجب على كود x86-64 استخدام تعليمات ModR/M INC وDEC. [ 2 ]

في بنية x86، تستخدم التعليمات التي تتضمن معامل ذاكرة دائمًا تقريبًا بايت ModR/M الذي يحدد نمط العنونة . يحتوي هذا البايت على ثلاثة حقول بت:

  • mod ، بتات [7:6] - بالاشتراك مع حقل r/m ، يقوم بتشفير إما 8 سجلات أو 24 نمط عنونة. كما يقوم بتشفير معلومات رمز العملية لبعض التعليمات.
  • reg/opcode ، بتات [5:3] - اعتمادًا على بايت رمز العملية الأساسي، يحدد إما سجلًا أو ثلاثة بتات أخرى من معلومات رمز العملية.
  • r/m ، بتات [2:0] - يمكن تحديد سجل كمعامل، أو دمجه مع حقل mod لترميز وضع العنونة.

تتطلب صيغتا العنونة الأساسية بالإضافة إلى الفهرس والقياس بالإضافة إلى الفهرس للعنونة ذات 32 بت (المشفرة باستخدام r/m = 100 و mod ≠ 11) بايت عنونة إضافي، وهو بايت SIB. يحتوي هذا البايت على الحقول التالية:

  • عامل المقياس ، مشفر بالبتات [7:6]
  • سجل الفهرس ، البتات [5:3]
  • السجل الأساسي ، البتات [2:0].
ترميز REX
بايتقليل
ريكس
76543210
0 (0x4_)0100دبليوRXب
REX2 (REX ثنائي البايت)
76543210
0 (0xD5)11010101
1م ٠R 4X 4ب 4دبليوR 3X 3ب 3

البادئة REXيقوم حقل البت W بتغيير حجم المعامل إلى 64 بت، ويقوم R بتوسيع reg إلى 4 بت، ويقوم B بتوسيع r/m (أو opreg في عدد قليل من رموز العمليات التي تشفر السجل في أدنى 3 بتات من رمز العملية، مثل "POP reg")، ويقوم X و B بتوسيع الفهرس والقاعدة في بايت SIB.

البادئة REX2 هي نسخة مكونة من بايتين من البادئة REX، والتي يتم اقتراحها مع ملحقات الأداء المتقدمة من Intel وتسمح بمعالجة 32 سجلًا.

  • البتات R 3 و X 3 و B 3 هي نفسها البتات R و X و B في البادئة REX.
  • R 4 و X 4 و B 4 بتات إضافية تستخدم لترميز سجلات EGPR الـ 32.
  • الجزء W هو نفسه الموجود في البادئة REX.
  • يختار البت M 0 بين الخريطة القديمة 0 (رموز العمليات 1 بايت، بدون هروب) والخريطة القديمة 1 (رموز العمليات 2 بايت، الهروب 0x0F).

تاريخ

  • في أكتوبر 1999، أعلنت شركة AMD عن امتداد مجموعة تعليمات AMD64 . [ 3 ]
  • في أغسطس 2000، نشرت شركة AMD المواصفات الكاملة. [ 4 ]
  • في أبريل 2003، أصدرت شركة AMD أول معالج يدعم AMD64.
  • في فبراير 2004، أعلنت شركة إنتل أنها ستطبق امتداد مجموعة تعليمات AMD64 لمعالجاتها. [ 5 ] [ 6 ]
  • في يونيو 2004، أصدرت شركة إنتل أول معالج لها يدعم AMD64.
  • في مايو 2008، أصدرت شركة Via أول معالج لها يدعم AMD64.
  • في يوليو 2023، أعلنت شركة إنتل عن ملحقات الأداء المتقدمة (APX)، وقدمت البادئة REX2.

انظر أيضاً

مراجع

  1. شركة إنتل (يناير 2009). "مرجع برمجة ملحقات المتجهات المتقدمة من إنتل" .
  2. شركة إنتل (2016-09-01). "دليل مطوري معمارية إنتل® 64 و IA-32: المجلد 2A" . الصفحات 2-8 . تاريخ الاسترجاع: 2021-09-13 . 
  3. «شركة AMD تكشف عن تقنيات جديدة في منتدى المعالجات الدقيقة» (بيان صحفي). AMD. 5 أكتوبر 1999. مؤرشف من الأصل في 8 مارس 2012. تم الاطلاع عليه في 9 نوفمبر 2010 .
  4. «أصدرت AMD مواصفات معمارية x86-64؛ مما يُمكّن من الانتقال المدفوع بالسوق إلى الحوسبة 64 بت» (بيان صحفي). AMD. 10 أغسطس 2000. مؤرشف من الأصل في 8 مارس 2012. تم الاطلاع عليه في 9 نوفمبر 2010 .
  5. «كريغ باريت يؤكد دعم معالجات Xeon وPrescott لتوسيع عناوين 64 بت». صحيفة ذا إنكوايرر. 17 فبراير 2004. تاريخ الاطلاع: 20 أغسطس 2017 .{{cite web}}: CS1 maint: deprecated archiveal service ( link )
  6. ""موجز عن الحوسبة 64 بت"، من موقع internetnews.com . مؤرشف من الأصل بتاريخ 25 سبتمبر 2012. تم الاطلاع عليه بتاريخ 18 سبتمبر 2006 .