هل يحدث تسلسل وصول الذاكرة العالمية المتزامنة إلى عنوان واحد عندما يكون هناك مستويات ذاكرة التخزين المؤقت إل 1 و إل 2?

StackOverflow https://stackoverflow.com//questions/20014054

  •  21-12-2019
  •  | 
  •  

سؤال

بناء على ما أعرفه ، عندما تصل خيوط الالتواء إلى نفس العنوان في الذاكرة العامة ، يتم تسلسل الطلبات ، لذا من الأفضل استخدام ذاكرة ثابتة.هل يحدث تسلسل الوصول إلى الذاكرة العالمية المتزامنة عندما تكون وحدة معالجة الرسومات مجهزة بـ إل 1 و إل 2 مستويات ذاكرة التخزين المؤقت (في بنية فيرمي وكبلر)?بعبارات أخرى, عندما تصل خيوط الالتواء إلى نفس عنوان الذاكرة العمومية, فعل 31 تستفيد خيوط الالتواء من وجود ذاكرة التخزين المؤقت لأن 1 لقد طلب مؤشر الترابط بالفعل هذا العنوان?ماذا يحدث عندما يكون الوصول للقراءة وأيضا عندما يكون الوصول هو الكتابة?

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

المحلول

الوصول العالمي في وقت واحد إلى نفس العنوان من قبل المواضيع في نفس الاعوجاج في فيرمي و كبلر لا تحصل على تسلسل.تحتوي قراءة الالتواء على آلية بث ترضي كل هذه القراءات من قراءة ذاكرة تخزين مؤقت واحدة بدون تأثير على الأداء.الأداء هو نفسه كما لو كان قراءة مدمجة بالكامل.هذا صحيح بغض النظر عن تفاصيل ذاكرة التخزين المؤقت ، على سبيل المثال هذا صحيح حتى إذا تم تعطيل التخزين المؤقت إل 1.

لم يتم تحديد أداء الكتابة المتزامنة (أفيك) ولكن سلوكيا, ، يكتب في وقت واحد دائما الحصول على تسلسل ، والنظام غير معروف.

تحرير الرد على الأسئلة الإضافية أدناه:

  1. حتى لو كانت جميع المواضيع في الاعوجاج كتابة نفس القيمة في نفس العنوان, هل الحصول على تسلسل?ليس هناك آلية البث الكتابة التي تعترف مثل هذه الحالة?

لا توجد آلية بث للكتابة تنظر في جميع عمليات الكتابة المتزامنة لمعرفة ما إذا كانت جميعها متشابهة ، ثم تتخذ بعض الإجراءات بناء على ذلك.الإجابة الصحيحة هي أن عمليات الكتابة تحدث بترتيب غير محدد ، وخصائص الأداء غير محددة.من الواضح ، إذا كانت جميع القيم التي يتم كتابتها هي نفسها ، يمكنك التأكد من أن القيمة التي تنتهي في الموقع ستكون تلك القيمة.ولكن إذا كنت تسأل عما إذا كان نشاط الكتابة قد انهار إلى دورة واحدة أو يتطلب دورات متعددة لإكماله ، فإن هذا السلوك الفعلي غير محدد (غير موثق) وفي الواقع أيار / مايو تختلف من بنية إلى أخرى (على سبيل المثال ، سي سي 1.س قد تسلسل في مثل هذه الطريقة التي يتم تنفيذ جميع يكتب ، في حين س2.س قد " تسلسل "في مثل هذه الطريقة التي يكتب واحد" يفوز " ويتم تجاهل جميع الآخرين ، لا تستهلك دورات الفعلية.) مرة أخرى ، الأداء غير موثق/غير محدد ، ولكن البرنامج-يمكن ملاحظته يتم تعريف السلوك.

2 مع آلية البث هذه شرحت, الفرق الوحيد بين الوصول المستمر لبث الذاكرة والوصول إلى بث الذاكرة العالمية هو أن الأول قد يوجه الوصول إلى الذاكرة العالمية ولكن الأخير لديه جهاز مخصص وأسرع, حق?

__constant__ تستخدم الذاكرة ذاكرة التخزين المؤقت الثابتة ، وهي عبارة عن قطعة مخصصة من الأجهزة متوفرة على أساس لكل سم ، وتخزن قسما معينا من الذاكرة العمومية في للقراءة فقط الموضة.ذاكرة التخزين المؤقت هذه منفصلة ماديا ومنطقيا عن ذاكرة التخزين المؤقت لـ 1 (إذا كانت موجودة وممكنة) وذاكرة التخزين المؤقت لـ 2.بالنسبة لفيرمي وما بعده ، تدعم كلتا الآليتين البث عند القراءة ، وبالنسبة لذاكرة التخزين المؤقت الثابتة ، فإن هذا هو نمط الوصول المفضل ، لأن ذاكرة التخزين المؤقت الثابتة يمكنها فقط خدمة وصول قراءة واحد لكل دورة (أي.لا يدعم كاشلين كله قراءة من قبل الاعوجاج.) إما آلية قد " ضرب "في ذاكرة التخزين المؤقت (إن وجدت) أو" ملكة جمال " ويؤدي إلى قراءة عالمية.في القراءة الأولى لموقع معين (أو كاشلين) ، سيكون لدى ذاكرة التخزين المؤقت نيثر البيانات المطلوبة ، وبالتالي سوف "تفوت" وتؤدي إلى قراءة الذاكرة العالمية ، لخدمة الوصول.بعد ذلك ، في كلتا الحالتين ، ستتم خدمة القراءات اللاحقة من ذاكرة التخزين المؤقت ، بافتراض عدم إخلاء البيانات ذات الصلة في غضون ذلك.في وقت مبكر 1.أجهزة إكس ، كانت ذاكرة التخزين المؤقت الثابتة ذات قيمة كبيرة لأن تلك الأجهزة المبكرة لم يكن بها ذاكرة تخزين مؤقت إل 1.بالنسبة لفيرمي وما وراء السبب الرئيسي لاستخدام ذاكرة التخزين المؤقت الثابتة سيكون إذا كانت البيانات التعريفية(أي.للقراءة فقط) وأنماط الوصول (نفس العنوان لكل تشوه) متاحة ، ثم استخدام ذاكرة التخزين المؤقت الثابتة سيمنع تلك القراءات من السفر عبر إل 1 وربما طرد بيانات أخرى.في الواقع كنت زيادة البصمة القابلة للتخزين المؤقت إلى حد ما ، أكثر من مجرد ما ل 1 يمكن أن تدعم وحدها.

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