HeadlinesBriefing favicon HeadlinesBriefing.com

العذراء في تمثيل x86 على ARM

Hacker News •
×

مرحبا بكم في المقالة الخاصة بالميزات الأولى على موقعنا. سنتناول مشكلة مستمرة مع تمثيل x86 التي تؤثر على كل تطبيق نُمَيِّزه. ينتهي هذا إلى مصطلح واحد شامل يهدف إلى تأثير واسع; تمثيل نموذج الذاكرة Total Store Ordering x86 (x86-TSO). المشكلات مع تمثيل هذا النموذج على نموذج الذاكرة الضعيف المُحدَّد بواسطة ARM هي متعددة الجوانب وتتغطي عدة مشكلات. سنتناول جميع المشكلات التي قد نواجهها وطرق حلها (أو في بعض الحالات لا نستطيع حلها) في هذا المقال.

ما هو بالضبط x86-TSO؟ نموذج الذاكرة هو مجموعة من القواعد لكيفية سلوك عمليات الوصول إلى الذاكرة في نظام ما تتعامل مع بعضها البعض. تحدد هذه القواعد كيف تتفاعل التحميلات والمخازن في بيئة مُعَدَّة للأنفس أو متعددة الخيوط. الاثنان اللذين نهتم بهما اليوم هما نموذج التوحيد الم松弛 (أو الضعيف) لـ ARM، والنسخة x86 من نموذج التوحيد Total Store Ordering. هذان النموذجان تقريباً الطرفين من الطيف؛ حيث ARM هو الأكثر松弛، مما يسمح بتحسينات لوحة الأساسة الكبيرة؛ وx86 هو الأكثر صرامة، مفروض نموذج توحيد قوي جداً.

نظراً لأن TSO كبيراً جداً في الصرامة، يمكن للمبرمج أن يفترض أنه عند حدوث عملية تخزين للذاكرة، سيكون مرئياً بشكل متناسق لجميع معالجات أخرى. نموذج الذاكرة الضعيف الذي يملكه ARM ليس كذلك مُنطقياً. بشكل افتراضي، لا تكون عمليات التحميل والتخزين الروتينية للذاكرة متناسقة بين المعالجات بشكل صارم، مما يسمح للمعالج أن يعمل بكفاءة أكبر. قدمت ARM أوامر الذاكرة load-acquire وstore-release لمعالجة التوحيد، مُطابقة لـ memory_order_acquire وmemory_order_release في C++ std::atomic.

السؤال الشائع: لماذا من الصعب تمثيل x86-TSO على ARM؟

y86-TSO يفرض نموذجاً للتوحيد صارماً حيث يكون التخزين مرئياً فوراً لجميع المعالجات، بينما يسمح نموذج الذاكرة الضعيف لـ ARM بتحسينات لوحة الأساسة الكبيرة من خلال عدم ضمان الرؤية الفورية، مما يتطلب استراتيجيات تمثيل معقدة لسد الفجوة.

السؤال الشائع: لماذا من الصعب تمثيل x86-TSO على ARM؟

y86-TSO يفرض نموذجاً للتوحيد صارماً حيث يكون التخزين مرئياً فوراً لجميع المعالجات، بينما يسمح نموذج الذاكرة الضعيف لـ ARM بتحسينات لوحة الأساسة الكبيرة من خلال عدم ضمان الرؤية الفورية، مما يتطلب استراتيجيات تمثيل معقدة لسد الفجوة.