العمليات الدقيقة

في وحدات المعالجة المركزية للحاسوب ، تُعدّ العمليات الدقيقة (المعروفة أيضًا باسم العمليات المصغرة أو μops ، والتي كانت تُعرف تاريخيًا باسم الإجراءات الدقيقة [ 2 ] ) تعليمات تفصيلية منخفضة المستوى تُستخدم في بعض التصاميم لتنفيذ تعليمات الآلة المعقدة (والتي تُسمى أحيانًا تعليمات الماكرو في هذا السياق). [ 3 ] : 8-9
عادةً، تُنفّذ العمليات الدقيقة عمليات أساسية على البيانات المخزنة في سجل واحد أو أكثر ، بما في ذلك نقل البيانات بين السجلات أو بين السجلات وناقلات البيانات الخارجية لوحدة المعالجة المركزية (CPU)، وإجراء العمليات الحسابية أو المنطقية على السجلات. ويتم تمثيل العمليات الدقيقة عادةً باستخدام لغة نقل السجلات . [ 4 ] في دورة جلب-فك تشفير-تنفيذ نموذجية، تُجزّأ كل خطوة من التعليمات الكلية أثناء تنفيذها، بحيث تحدد وحدة المعالجة المركزية سلسلة من العمليات الدقيقة وتنفذها خطوة بخطوة. ويتم تنفيذ العمليات الدقيقة تحت سيطرة وحدة التحكم في وحدة المعالجة المركزية ، التي تُقرر تنفيذها مع إجراء تحسينات مختلفة مثل إعادة الترتيب والدمج والتخزين المؤقت. [ 1 ]
التحسينات
لطالما شكلت أشكال مختلفة من العمليات الدقيقة (μops) أساسًا لروتينات الشفرة الدقيقة التقليدية المستخدمة لتبسيط تنفيذ تصميم وحدة المعالجة المركزية (CPU) معين ، أو ربما مجرد ترتيب عمليات متعددة الخطوات أو أنماط عنونة معينة. ومؤخرًا، استُخدمت العمليات الدقيقة (μops) بطريقة مختلفة لتمكين معالجات CISC الحديثة من التعامل بسهولة أكبر مع التنفيذ المتوازي غير المتزامن والتنفيذ التخميني: كما هو الحال مع الشفرة الدقيقة التقليدية، يتم إجراء بحث واحد أو أكثر في الجدول (أو ما يعادله) لتحديد تسلسل العمليات الدقيقة (μop) المناسب بناءً على ترميز ودلالات تعليمات الآلة (خطوة فك الترميز أو الترجمة)، ولكن بدلًا من وجود تسلسلات عمليات دقيقة (μops) ثابتة تتحكم في وحدة المعالجة المركزية (CPU) مباشرةً من ذاكرة القراءة فقط للشفرة الدقيقة ( ROM) ، يتم هنا تخزين العمليات الدقيقة (μops) مؤقتًا ديناميكيًا لإعادة جدولتها قبل تنفيذها. [ 5 ] : 6-7، 9-11
يعني هذا التخزين المؤقت إمكانية فصل مراحل جلب البيانات وفك تشفيرها عن وحدات التنفيذ بشكل أكبر مما هو ممكن في التصميمات التقليدية ذات التعليمات البرمجية الدقيقة (أو المبرمجة مسبقًا). وبما أن هذا يتيح درجة من المرونة في ترتيب التنفيذ، فإنه يُسهّل استخلاص بعض التوازي على مستوى التعليمات من برنامج أحادي الخيوط (شريطة التحقق من التبعيات، وما إلى ذلك). ويفتح هذا المجال لمزيد من التحليل، وبالتالي لإعادة ترتيب تسلسلات التعليمات البرمجية لتحسين عملية تعيين وجدولة العمليات الدقيقة على موارد الجهاز (مثل وحدات الحساب والمنطق ، ووحدات التحميل/التخزين، وما إلى ذلك) ديناميكيًا. ونظرًا لأن هذا يحدث على مستوى العمليات الدقيقة، فقد تتداخل العمليات الفرعية لتعليمات الجهاز (الكلية) المختلفة في تسلسل عمليات دقيقة معين، مما يُشكّل تعليمات جهاز مُعاد ترتيبها جزئيًا كنتيجة مباشرة لإرسال التعليمات الدقيقة خارج الترتيب من عدة تعليمات كلية. مع ذلك، يختلف هذا عن دمج العمليات الدقيقة ، الذي يهدف إلى استبدال بعض التعليمات الدقيقة الأبسط بتعليمات دقيقة أكثر تعقيدًا في حالات معينة، وذلك عادةً لتقليل تغييرات الحالة واستخدام مساحة قائمة الانتظار ومخزن إعادة الترتيب ، وبالتالي خفض استهلاك الطاقة. يُستخدم دمج العمليات الدقيقة في بعض تصميمات وحدات المعالجة المركزية الحديثة. [ 3 ] : 89-91، 105-106 [ 5 ] : 6-7، 9-15
لقد تطور تحسين التنفيذ بشكل أكبر؛ فالمعالجات لا تكتفي بترجمة العديد من تعليمات الآلة إلى سلسلة من العمليات الدقيقة (μops)، بل تقوم أيضًا بالعكس عند الاقتضاء؛ إذ تجمع تسلسلات معينة من تعليمات الآلة (مثل المقارنة متبوعة بقفزة شرطية) في عملية دقيقة أكثر تعقيدًا تتناسب مع نموذج التنفيذ بشكل أفضل، وبالتالي يمكن تنفيذها بشكل أسرع أو باستخدام موارد أقل من الآلة. يُعرف هذا أيضًا باسم دمج العمليات الكلية . [ 3 ] : 106-107 [ 5 ] : 12-13
هناك طريقة أخرى لتحسين الأداء، وهي تخزين العمليات الدقيقة المُفكَّكة في ذاكرة تخزين مؤقتة خاصة بها . فإذا نُفِّذت نفس التعليمات الكلية مرة أخرى، يستطيع المعالج الوصول مباشرةً إلى العمليات الدقيقة المُفكَّكة من الذاكرة المؤقتة، بدلاً من إعادة فك تشفيرها. وتُعد ذاكرة تتبع التنفيذ الموجودة في بنية Intel NetBurst الدقيقة ( Pentium 4 ) مثالاً شائعاً على هذه التقنية. [ 6 ] ويمكن تحديد حجم هذه الذاكرة المؤقتة بعدد آلاف العمليات الدقيقة التي يمكنها تخزينها (أو مضاعفات العدد 1024): Kμops . [ 7 ]
مراجع
- 1 2 "تنظيم وبنية الحاسوب، الفصل 15. تشغيل وحدة التحكم" (ملف PDF) . umcs.maine.edu . 2010-03-16 . تاريخ الاسترجاع 2014-12-29 .
- ↑ حاسوب الدائرة المتكاملة FM1600B من شركة فيرانتي للأنظمة الرقمية (ملف PDF) . براكنيل، بيركشاير، المملكة المتحدة: شركة فيرانتي المحدودة ، قسم الأنظمة الرقمية. أكتوبر 1968 [سبتمبر 1968]. القائمة DSD 68/6. مؤرشف (ملف PDF) من الأصل بتاريخ 19 مايو 2020. تم الاطلاع عليه بتاريخ 19 مايو 2020 .
- 1 2 3 أغنر فوغ (19 فبراير 2014). "البنية الدقيقة لوحدات المعالجة المركزية من إنتل، وإيه إم دي، وفيا: دليل تحسين لمبرمجي لغة التجميع ومصممي المترجمات" (ملف PDF) . agner.org . تاريخ الاسترجاع: 21 مارس 2014 .
- ↑ "المحاضرة 9 - نقل السجلات والعمليات الدقيقة" (ملف PDF) . الأنظمة 1: تنظيم وبنية الحاسوب . ص 2.
- 1 2 3 مايكل إي. ثوماداكيس (17 مارس 2011). "بنية معالج نيهاليم ومنصات نيهاليم-إي بي إس إم بي" (ملف PDF) . جامعة تكساس إيه آند إم. مؤرشف من الأصل (ملف PDF) بتاريخ 11 أغسطس 2014. تاريخ الاسترجاع: 21 مارس 2014 .
- ↑ "معالج إنتل بنتيوم 4 بسرعة 1.4 جيجاهرتز و1.5 جيجاهرتز" . موقع أناند تك. 20 نوفمبر 2000. مؤرشف من الأصل بتاريخ 26 مايو 2010. تم الاطلاع عليه بتاريخ 6 أكتوبر 2013 .
- ↑ باروخ سولومون؛ آفي مندلسون؛ دورون أورنشتاين؛ يواف ألموغ؛ روني رونين (أغسطس 2001). "ذاكرة التخزين المؤقت للعمليات الدقيقة: واجهة أمامية واعية باستهلاك الطاقة لمجموعة تعليمات متغيرة الطول" (ملف PDF) . ISLPED'01: وقائع الندوة الدولية لعام 2001 حول الإلكترونيات والتصميم منخفض الطاقة (رقم تصنيف IEEE: 01TH8581) . إنتل . الصفحات 4-9 . doi : 10.1109/LPE.2001.945363 . ISBN 1-58113-371-5. S2CID 10934861 . تم الاسترجاع بتاريخ 21-03-2014 .
- معالجة التعليمات
- وحدات المعالجة المركزية
