محاكاة البنية الدقيقة

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

للحصول على محاكاة على مستوى النظام لأجهزة الكمبيوتر، يرجى الرجوع إلى محاكاة النظام الكاملة .

تصنيف

يمكن تصنيف محاكاة البنية الدقيقة إلى فئات متعددة وفقًا لأنواع المدخلات ومستوى التفاصيل. على وجه التحديد، يمكن أن تكون المدخلات عبارة عن مسار تم جمعه من تنفيذ برنامج على معالج دقيق حقيقي (ما يسمى بالمحاكاة القائمة على المسار) أو البرنامج نفسه (ما يسمى بالمحاكاة القائمة على التنفيذ).

تعتمد المحاكاة القائمة على التتبع [ 1 ] على قراءة تسلسل ثابت من سجلات التتبع من ملف كمدخل. تمثل هذه السجلات عادةً مراجع الذاكرة، أو نتائج التفرعات، أو تعليمات محددة للآلة، وغيرها. ورغم أن المحاكاة القائمة على التتبع معروفة بسرعتها النسبية وقابلية نتائجها العالية للتكرار، إلا أنها تتطلب مساحة تخزين كبيرة جدًا. من جهة أخرى، تعتمد المحاكاة القائمة على التنفيذ [ 2 ] على قراءة برنامج ومحاكاة تنفيذ تعليمات الآلة بشكل فوري. عادةً ما يكون ملف البرنامج أصغر بكثير من ملف التتبع. ومع ذلك، فإن المحاكاة القائمة على التنفيذ أبطأ بكثير من المحاكاة القائمة على التتبع لأنها تعالج كل تعليمة على حدة وتُحدّث جميع حالات مكونات البنية الدقيقة المعنية. لذا، يُعد اختيار أنواع المدخلات للمحاكاة بمثابة مفاضلة بين المساحة والوقت. على وجه الخصوص، يتطلب التتبع المفصل للغاية لمحاكاة عالية الدقة مساحة تخزين كبيرة جدًا، بينما تستغرق المحاكاة القائمة على التنفيذ عالية الدقة وقتًا طويلاً جدًا لتنفيذ جميع التعليمات في البرنامج.

إلى جانب أنواع المدخلات، يُمكن استخدام مستوى التفاصيل لتصنيف المحاكاة. على وجه الخصوص، يُعرف البرنامج الذي يُحاكي معالجًا دقيقًا يُنفذ برنامجًا دورةً بدورة باسم " محاكي دقيق الدورة" ، بينما يُحاكي "محاكي مجموعة التعليمات" تنفيذ البرنامج على المعالج الدقيق من منظور مُجدول التعليمات مع توقيت تقريبي لتنفيذ التعليمات. تعتمد معظم مقررات علوم الحاسوب في هندسة الحاسوب، التي تتضمن تطبيقات عملية، على "محاكيات مجموعة التعليمات" كأدوات تعليمية، بينما تُستخدم "محاكيات دقيقة الدورة" في الغالب في المشاريع البحثية نظرًا لتعقيداتها واستهلاكها الكبير للموارد.

الاستخدامات

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

يُستخدم برنامج محاكاة البنية الدقيقة أيضًا في التعليم. [ 3 ] نظرًا لأن مقرر هندسة الحاسوب يُعلّم الطلاب العديد من خصائص المعالجات الدقيقة وبنياتها المختلفة، فإن برنامج محاكاة البنية الدقيقة يُعدّ مثاليًا لنمذجة وتجربة مختلف الخصائص والبنى على مدار الفصل الدراسي. على سبيل المثال، قد يبدأ الطلاب ببرنامج محاكاة بنية دقيقة يُحاكي تصميم معالج دقيق بسيط في بداية الفصل الدراسي. ومع تقدّم الفصل، يُمكن نمذجة خصائص إضافية، مثل تسلسل التعليمات ، وإعادة تسمية السجلات ، ومحطات الحجز ، والتنفيذ خارج الترتيب ، ولوحة النتائج ، وإضافتها إلى برنامج المحاكاة عند شرحها في الفصل الدراسي. يوفر برنامج محاكاة البنية الدقيقة مرونة إعادة التكوين والاختبار بأقل تكلفة.

أمثلة

  • Shade [ 4 ] (محاكي مجموعة التعليمات الذي يعتمد على التتبع)
  • SimpleScalar [ 5 ] [ 6 ] (محاكي دقيق للدورة وموجه بالتنفيذ)
  • SPIM [ 7 ] (محاكي مجموعة التعليمات الذي يعتمد على التنفيذ)
  • SMTSIM [ 8 ] (محاكي دقيق للدورة يعتمد على التنفيذ)
  • Multi2Sim (2007)
  • GPGPU-Sim (2007)، مشتق من SimpleScalar

مراجع

  1. أوليغ، آر إيه، ومادج، تي إن (2004). محاكاة الذاكرة المدفوعة بالتتبع: دراسة استقصائية. مجلة ACM Computing Surveys ، 29(2)، 128-170.
  2. برجر، د.، وأوستن، ت.م. (1997). مجموعة أدوات Simplescalar الإصدار 2.0. أخبار هندسة الحاسوب ، 25(3)، 13-25.
  3. سكادرون، ك. (1996). دورة مسح المعالجات الدقيقة لتعلم هندسة الحاسوب المتقدمة. في وقائع مؤتمر ACM SIGCSE لعام 2002، 152-156.
  4. سمليك، آر إف، وكيبيل، دي. (1994). شيد: محاكي سريع لمجموعة التعليمات لتحليل أداء التنفيذ. مجلة ACM SIGMETRICS لتقييم الأداء ، 22(1)، 128-137.
  5. أوستن، ت.، لارسون، إ.، وإرنست، د. (2002). SimpleScalar: بنية تحتية لنمذجة أنظمة الحاسوب. مجلة IEEE Computer ، 35(2)، 59-67.
  6. د. برجر و تي إم أوستن. مجموعة أدوات SimpleScalar، الإصدار 2.0. http://www.simplescalar.com ، 1997.
  7. باترسون، د.أ، وهينيسي، ج.ل (2011). تنظيم وتصميم الحاسوب: واجهة الأجهزة/البرمجيات ، مورغان كوفمان.
  8. تولسن، دي إم (1996). محاكاة ونمذجة معالج متعدد الخيوط متزامن. في وقائع المؤتمر السنوي الثاني والعشرين لمجموعة قياس الحاسوب.