عدد الدورات لكل تعليمة

في هندسة الحاسوب ، تُعدّ دورات المعالجة لكل تعليمة (وتُعرف أيضًا بدورات الساعة لكل تعليمة ، أو ساعات لكل تعليمة ، أو CPI ) أحد جوانب أداء المعالج : وهي متوسط ​​عدد دورات الساعة لكل تعليمة لبرنامج أو جزء من برنامج. [ 1 ] وهي المعكوس الضربي لعدد التعليمات لكل دورة .

تعريف

يُعرَّف متوسط ​​عدد الدورات لكل تعليمة في عملية معينة ( CPI ) بالمتوسط ​​المرجح التالي :

جPأنا:=Σأنا(أناجأنا)(ججأنا)أناج=Σأنا(أناجأناججأنا)Σأنا(أناجأنا){\displaystyle \mathrm {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})}}}

أينأناجأنا{\displaystyle \mathrm {IC} _{i}}يمثل عدد التعليمات لنوع تعليمات معينأنا{\displaystyle i}،ججأنا{\displaystyle \mathrm {CC} _{i}}عدد دورات الساعة لنوع التعليمات هذا وأناج=Σأنا(أناجأنا){\displaystyle \mathrm {IC} =\Sigma _{i}(\mathrm {IC} _{i})}يمثل هذا العدد الإجمالي للتعليمات. ويجمع هذا العدد جميع أنواع التعليمات لعملية قياس الأداء المحددة.

توضيح

لنفترض وجود خط أنابيب RISC كلاسيكي ، مع المراحل الخمس التالية:

  1. دورة جلب التعليمات (IF).
  2. دورة فك تشفير التعليمات/جلب السجل (ID).
  3. دورة التنفيذ/العنوان الفعال (EX).
  4. الوصول إلى الذاكرة (MEM).
  5. دورة الكتابة المؤجلة (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%

إذن، مؤشر أسعار المستهلك هو:

مؤشر أسعار المستهلك=5×50+4×25+4×15+3×8+3×2100=4.4{\displaystyle {\text{CPI}}={\frac {5\times 50+4\times 25+4\times 15+3\times 8+3\times 2}{100}}=4.4}

المثال 2

المصدر: [ 2 ]

تم استخدام معالج بسرعة 400 ميجاهرتز لتنفيذ برنامج قياس الأداء مع مزيج التعليمات التالي وعدد دورات الساعة التالية :

نوع التعليماتعدد التعليماتعدد دورات الساعة
الحساب الصحيح450001
نقل البيانات320002
الفاصلة العائمة150002
نقل التحكم80002

حدد معدل CPI الفعال، ومعدل MIPS (ملايين التعليمات في الثانية)، ووقت التنفيذ لهذا البرنامج.

مؤشر أسعار المستهلك=45000×1+32000×2+15000×2+8000×2100000=155000100000=1.55{\displaystyle {\text{CPI}}={\frac {45000\times 1+32000\times 2+15000\times 2+8000\times 2}{100000}}={\frac {155000}{100000}}=1.55}

400ميجاهرتز=400،٠٠٠،٠٠٠هرتز{\displaystyle 400\,{\text{MHz}}=400,000,000\,{\text{Hz}}}

منذ:نظام MIPS1/مؤشر أسعار المستهلك{\displaystyle {\text{MIPS}}\propto 1/{\text{CPI}}}ونظام MIPSتردد الساعة{\displaystyle {\text{MIPS}}\propto {\text{تردد الساعة}}}

أداء معالج فعال=نظام MIPS=تردد الساعةمؤشر أسعار المستهلك×1مليون{\displaystyle {\text{أداء المعالج الفعال}}={\text{MIPS}}={\frac {\text{تردد الساعة}}{\text{CPI}}}\times {\frac {1}{\text{مليون}}}}=400،٠٠٠،٠٠٠1.55×1000000=4001.55=258نظام MIPS{\displaystyle ={\frac {400,000,000}{1.55\times 1000000}}={\frac {400}{1.55}}=258\,{\text{MIPS}}}

لذلك:

وقت التنفيذ(تي)=مؤشر أسعار المستهلك×عدد التعليمات×الوقت=مؤشر أسعار المستهلك×عدد التعليماتتكرارزمن التنفيذ (T) = عدد التعليمات في كل دورة × عدد التعليمات × زمن الساعة = عدد التعليمات في كل دورة × عدد التعليمات / التردد=1.55×100000400×1000000=1.554000=0.0003875ثانية=0.3875آنسة{\displaystyle ={\frac {1.55\times 100000}{400\times 1000000}}={\frac {1.55}{4000}}=0.0003875\,{\text{sec}}=0.3875\,{\text{ms}}}

انظر أيضاً

مراجع

  1. باترسون، ديفيد أ.؛ هينيسي، جون ل. (1994). تنظيم وتصميم الحاسوب: واجهة الأجهزة/البرمجيات . مورغان كوفمان. ISBN 9781558602816.
  2. هندسة الحاسوب المتقدمة، بقلم كاي هوانغ، الفصل 1، التمرين 1.1