عدد الدورات لكل تعليمة
في هندسة الحاسوب ، تُعدّ دورات المعالجة لكل تعليمة (وتُعرف أيضًا بدورات الساعة لكل تعليمة ، أو ساعات لكل تعليمة ، أو CPI ) أحد جوانب أداء المعالج : وهي متوسط عدد دورات الساعة لكل تعليمة لبرنامج أو جزء من برنامج. [ 1 ] وهي المعكوس الضربي لعدد التعليمات لكل دورة .
تعريف
يُعرَّف متوسط عدد الدورات لكل تعليمة في عملية معينة ( CPI ) بالمتوسط المرجح التالي :
- :={\frac {\Sigma _{i}(\mathrm {IC} _{i})(\mathrm {CC} _{i})}{\mathrm {IC} }}={\frac {\Sigma _{i}(\mathrm {IC} _{i}\cdot \mathrm {CC} _{i})}{\Sigma _{i}(\mathrm {IC} _{i})}}}
أينيمثل عدد التعليمات لنوع تعليمات معين،عدد دورات الساعة لنوع التعليمات هذا ويمثل هذا العدد الإجمالي للتعليمات. ويجمع هذا العدد جميع أنواع التعليمات لعملية قياس الأداء المحددة.
توضيح
لنفترض وجود خط أنابيب RISC كلاسيكي ، مع المراحل الخمس التالية:
- دورة جلب التعليمات (IF).
- دورة فك تشفير التعليمات/جلب السجل (ID).
- دورة التنفيذ/العنوان الفعال (EX).
- الوصول إلى الذاكرة (MEM).
- دورة الكتابة المؤجلة (WB).
تتطلب كل مرحلة دورة ساعة واحدة، وتمر التعليمات عبر المراحل بالتتابع. في المعالج متعدد الدورات ، بدون تقنية التجزئة ، لا تُجلب تعليمة جديدة في المرحلة 1 إلا بعد انتهاء التعليمة السابقة في المرحلة 5، وبالتالي فإن عدد دورات الساعة اللازمة لتنفيذ تعليمة واحدة هو خمس دورات (CPI = 5 > 1). في هذه الحالة، يُقال إن المعالج دون قياسي . أما مع تقنية التجزئة، فتُجلب تعليمة جديدة في كل دورة ساعة من خلال استغلال التوازي على مستوى التعليمات ، وبالتالي، بما أنه من الممكن نظريًا وجود خمس تعليمات في مراحل التجزئة الخمس في وقت واحد (تعليمة واحدة لكل مرحلة)، فإن تعليمة مختلفة ستُكمل المرحلة 5 في كل دورة ساعة، وفي المتوسط، يكون عدد دورات الساعة اللازمة لتنفيذ تعليمة واحدة هو دورة واحدة (CPI = 1). في هذه الحالة، يُقال إن المعالج قياسي .
في معالج ذي وحدة تنفيذ واحدة ، يكون أفضل معدل دورات لكل تعليمة (CPI) هو 1. أما في معالج ذي وحدات تنفيذ متعددة، فيمكن تحقيق معدلات CPI أفضل (CPI < 1). في هذه الحالة، يُطلق على المعالج اسم "المعالج فائق التوازي ". وللحصول على معدلات CPI أفضل دون استخدام تقنية التجزئة، يجب أن يكون عدد وحدات التنفيذ أكبر من عدد المراحل. على سبيل المثال، مع ست وحدات تنفيذ، يتم جلب ست تعليمات جديدة في المرحلة 1 فقط بعد انتهاء التعليمات الست السابقة في المرحلة 5، وبالتالي فإن متوسط عدد دورات الساعة اللازمة لتنفيذ تعليمة واحدة هو 5/6 (CPI = 5/6 < 1). وللحصول على معدلات CPI أفضل مع استخدام تقنية التجزئة، يجب أن يكون هناك وحدتا تنفيذ على الأقل. For example, with two executions units, two new instructions are fetched every clock cycle by exploiting instruction-level parallelism, therefore two different instructions would complete stage 5 in every clock cycle and on average the number of clock cycles it takes to execute an instruction is 1/2 (CPI = 1/2 < 1).
أمثلة
المثال 1
بالنسبة لمعالج MIPS متعدد الدورات ، هناك خمسة أنواع من التعليمات:
إذا كان البرنامج يحتوي على:
- تعليمات التحميل بنسبة 50%
- تعليمات المتجر بنسبة 25%
- تعليمات من النوع R بنسبة 15%
- تعليمات التفرع بنسبة 8%
- تعليمات القفز بنسبة 2%
إذن، مؤشر أسعار المستهلك هو:
المثال 2
المصدر: [ 2 ]
تم استخدام معالج بسرعة 400 ميجاهرتز لتنفيذ برنامج قياس الأداء مع مزيج التعليمات التالي وعدد دورات الساعة التالية :
| نوع التعليمات | عدد التعليمات | عدد دورات الساعة |
|---|---|---|
| الحساب الصحيح | 45000 | 1 |
| نقل البيانات | 32000 | 2 |
| الفاصلة العائمة | 15000 | 2 |
| نقل التحكم | 8000 | 2 |
حدد معدل CPI الفعال، ومعدل MIPS (ملايين التعليمات في الثانية)، ووقت التنفيذ لهذا البرنامج.
منذ:و
لذلك:
انظر أيضاً
- دورة في الثانية ( هرتز )
- التعليمات لكل دورة (IPC)
- التعليمات في الثانية (IPS)
- خرافة الميغاهرتز
- نظام MIPS
- تقدم المقالة المرجعية مقدمة مفيدة لقياس أداء الكمبيوتر للقراء المهتمين بهذا الموضوع .
مراجع
- ↑ باترسون، ديفيد أ.؛ هينيسي، جون ل. (1994). تنظيم وتصميم الحاسوب: واجهة الأجهزة/البرمجيات . مورغان كوفمان. ISBN 9781558602816.
- ↑ هندسة الحاسوب المتقدمة، بقلم كاي هوانغ، الفصل 1، التمرين 1.1
- معالجة التعليمات
- إشارة الساعة
- الأسعار
- أداء الحاسوب
