سؤال

لا بد لي من التعامل مع الكثير من البرمجة متعددة مؤشرات الترابط في العمل. على وجه التحديد ، أريد أن أعرف كيف يختلف نموذج ذاكرة الذراع عن IA64. كلاهما نماذج ضعيفة للغاية ، ولكن هل هناك أي اختلافات محددة يجب أن أعرفها؟ أنا على دراية بـ IA64 ، وليس مع ARM.

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

المحلول

لدي نفس السؤال ، وعلى الرغم من أنني لم أجد الإجابة تمامًا ، فقد تكون هذه الورقة مفيدة: التفكير في نموذج الذاكرة المتسق بشكل ضعيف

في قسم العمل الإضافي ، يبدو أنه لا يوجد أحد (حتى في الذراع ، لأنهم كتبوا الورقة) أجاب على السؤال رسميًا:

... هناك العديد من أسئلة الاكتمال التي نحتاج إلى الإجابة عليها. كيف يتناسب النموذج البديهي مع النموذج التشغيلي؟ ... وما هو التضمين الدقيق لنموذج الذراع في ألفا ، إنتل ، JMM؟

تحديث: انظر أيضا حواجز الذاكرة: عرض أجهزة للمتسللين البرمجيات بقلم بول ماكيني. يناقش أنواع الوصول إلى الذاكرة التي تقوم بترتيبها العديد من المعالجات وما هي الإرشادات المتاحة للوصول إلى السياج. على وجه الخصوص ، ملاحظة الجدول 5 في الصفحة 16 يلخص إعادة ترتيب المسموح بها لكل بنية. تشترك ARMV7 و IA64 و Power و Sparc RMO في نفس الخصائص ، وهي أنه بدون حاجز ، يمكن إعادة ترتيب أي شيء باستثناء الأحمال التابعة.

نصائح أخرى

http://en.wikipedia.org/wiki/memory_ordering قد تجيب على سؤالك. من الجدول الذي يظهره ، يبدو أن ARMV7 لديه نفس IA64.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top