Professional Documents
Culture Documents
Aca HW2
Aca HW2
معماریکامپیوتر پیشرفته
دستور کار:
❖ پس از 10روز تاخیر مجاز درمجموع کل تمرینات(کامپیوتری +دستی) ،تحویل تمرین با تاخیر شامل جریمه میباشد
(هر روز 25درصد).
❖ نام فایل ارسالی را در قالب ACA_HW(number)_studentIDبارگذاری شود.
❖ تمامی پروژهها از لحاظ شباهت ،کنترل و بررسی میشوند بنابراین از کپی کردن خودداری فرمایید چنانچه در صورت
مشاهده صفر لحاظ خواهد شد و نیز درمجموع نمرات جریمه خواهید شد.
❖ پاسخ خود را در ادامه سوال و داخل فایل wordقرار گرفته در سامانه قرار دهید و برای اسکن کردن پاسخ های خود
از CamScannerاستفاده کنید و طبق فرمت خواسته شده فایل را pdfشده اپلود کنید.
❖ راه ارتباطی با حل تمرین:
sara.zamani73@aut.ac.ir
بسمه تعالی
معماریکامپیوتر پیشرفته
)aزمان این توالی دستورالعمل را برای 5 ،pipelineمرحلهای به همراه تعداد چرخههای مورد نیاز برای اجرای
یک تکرار از حلقه بدون forwardنشان دهید .فرض کنید که رجیسترها را میتوان در یک چرخه ،در حین
، writebackنوشت و خواند( .تعداد چرخههای اجرای یک تکرار حلقه پس از مرحله EXدستور BNEZبه
پایان میرسد)
)bزمان این دنباله دستورالعمل را برای یک 5 ،pipelineمرحلهای به همراه تعداد چرخههای مورد نیاز برای
اجرای یک تکرار حلقه همراه با forwardنشان دهید.
)cفرض کنید که مقدار اولیه R3 = R2 + 396باشد.
)dبا فرض اینکه branchیک slotتاخیر دارد ،کد را بازنویسی کنید تا آن slotپر شود.
-2افزایش عمق pipelineبر عملکرد 1از دو طریق چرخه clockسریعتر و افزایش stallبه دلیل hazardداده و
کنترل تأثیر میگذارد .فرض کنید ماشین اول یک 5 ،pipelineمرحلهای با 2 nsچرخه ،clockماشین دوم یک
12 ،pipelineمرحلهای با چرخه 1.2 ns ،clockاست 5 ،pipeline .مرحلهای به دلیل hazardداده در هر پنج
دستورالعمل دچار stallمیشود ،در حالی که 12 ،pipelineمرحلهای هر 8دستورالعمل سه stallرا تجربه
میکند .عالوه بر این branch ،ها ٪20دستورالعملها را تشکیل میدهند و میزان پیشبینی نادرست برای هر دو
ماشین ٪5است.
)aسرعت 12 ،pipelineمرحلهای نسبت به 5 ،pipelineمرحلهای با در نظر گرفتن فقط hazardداده
چقدر است؟
1
performance
بسمه تعالی
معماریکامپیوتر پیشرفته
)bاگر جریمه پیشبینی نادرست branchبرای ماشین اول 2چرخه باشد اما ماشین دوم 5چرخه باشد ،با در
نظر گرفتن stallsناشی از پیشبینی اشتباه CPI ،branchهر کدام چقدر است؟
-3یک پیشبینیکننده همبسته )m,n( 2از رفتار mآخرین branchهای اجرا شده برای انتخاب از بین 2m
پیشبینیکننده استفاده میکند که هر کدام یک پیشبینیکننده n-bitهستند .یک پیشبینیکننده محلی دو سطحی
به روشی مشابه کار میکند ،اما فقط رفتار گذشته هر branchرا برای پیشبینی رفتار آینده بررسی میکند .یک
trade-offطراحی با چنین پیشبینیکنندههایی وجود دارد :پیشبینیکنندههای همبسته به حافظه کمی برای
تاریخچه نیاز دارند ،که به آنها اجازه میدهد پیشبینیکنندههای 2بیتی را برای تعداد زیادی از branchهای جداگانه
حفظ کنند (احتمال استفاده مجدد دستورالعملهای branchاز همان پیشبینیکننده را کاهش میدهد) ،در حالی که
پیشبینیکننده های محلی به حافظه بیشتری برای نگهداری تاریخچه نیاز دارند و بنابراین محدود به ردیابی تعداد نسبتاً
کمی از دستورالعملهای branchهستند .برای این تمرین ،یک پیشبینیکننده همبسته ( )1،2را در نظر بگیرید که
میتواند چهار ( branchنیاز به 16بیت) را در مقابل یک پیشبینیکننده محلی ( )1،2که میتواند دو branchرا با
استفاده از همان مقدار حافظه ردیابی کند .برای نتایج branchهای زیر ،هر پیشبینی ،ورودی جدولی که برای
پیشبینی استفاده میشود ،هرگونه بهروزرسانی در جدول ،و نرخ پیشبینی نادرست نهایی هر پیشبینیکننده را ارائه
دهید .فرض کنید تمام branchها تا این مرحله گرفته شده است .هر پیش بینی کننده را با جدول زیر مقداردهی کنید:
2
correlating branch predictor
بسمه تعالی
معماریکامپیوتر پیشرفته
)bیک پیش بینی کننده پرش استاتیک در نظر بگیرید که از قابلیت backward branchدر مرحله دیکد برخوردار
است .حال چه تعداد کالک سایکل در سربار پرش ها هدر می رود؟
)cیک پیش بینی کننده پرش داینامیک در نظر بگیرید .چه تعدا سایک در یک پیش بینی صحیح هدر می رود؟