الفاصلة المنقوطة المعيبة
Author
Venue
محاضر ACM حول لغات البرمجة 2021
Abstract
تروي منطقيات البرامج ودلالاتها قصة ممتعة عن التركيب التسلسلي: عند تنفيذ (S1; S2)، ننفذ أولاً S1 ثم S2. ولكن لتحسين الأداء، تنفذ المعالجات التعليمات بشكل غير متسلسل، وتعيد المترجمات ترتيب البرامج بشكل أكثر جذرية. وبحكم تصميمها، لا يمكن للأنظمة أحادية الخيط ملاحظة عمليات إعادة الترتيب هذه؛ لكن الأنظمة متعددة الخيوط يمكنها ذلك، مما يجعل القصة أقل متعة بكثير. تُعرف المحاولة الرسمية لفهم الفوضى الناتجة عن ذلك باسم "نموذج الذاكرة المرن". فالموديلات السابقة إما تفشل في معالجة التركيب التسلسلي بشكل مباشر، أو تفرض قيودًا مفرطة على المعالجات والمترجمات، أو تسمح بسلوكيات غير منطقية لا يمكن ملاحظتها في الواقع. ولدعم التركيب التسلسلي مع استهداف الأجهزة الحديثة، نقوم بإثراء النهج القياسي القائم على الأحداث بشروط مسبقة ومجموعات من محولات المسندات. عند حساب معنى (S1;S2)، يتم اختيار محول المسند المطبق على الشرط المسبق لحدث e من S2 بناءً على مجموعة الأحداث في S1 التي يعتمد عليها e. نطبق هذا النهج على نموذجي ذاكرة موجودين.
