Res HW1
Res HW1
-2دادههای ارائهشده در جدول زیر را در نظر بگیرید .دو پردازندهی Aو Bبه ترتیب با فرکانسهای کاری 2GHzو
1.2GHzدر دسترس است .میخواهیم برنامهای با 10میلیون دستور را روی Aو برنامهای با 6میلیون دستور را روی
Bاجرا کنیم.
-1زمان اجرای هر برنامه را برای هر دو حالت محاسبه کنید.
-2عملکرد هر پردازنده برای هر حالت چند MIPSاست؟
تمرین اول:
در این تمرین به پیاده سازی برنامه Schedulerبرای حالتهای متفاوت خواهیم پرداخت .خروجی این برنامه شامل بردارهای
باینری خواهد بود که هر عددِ یک ،نمایانگر یک jobدر زمانبندی خروجی است .ورودی از یک فایل با نام inputs.txtخوانده
میشود و خروجی مرتبط به آن در فایلی متناسب نوشته خواهد شد .بنابراین برنامه شما باید توانایی دریافت یک فایل با نام
inputs.txtو نوشتن خروجی مطلوب هر نوع از Schedulerها را داشته باشد.
فایل : inputs.txtدر هر خط از این فایل یک مسئله Schedulingنوشته خواهد شد .بنابراین هر خط از این فایل شامل سه
listاز اعداد میباشد که با Semicolonاز یکدیگر جدا شدهاند .به شکل زیر:
;T; C; D → e.g. → ;][5, 9, 20]; [2, 2, 5]; [3, 6, 5
که C ، Tو Dبه ترتیب بردارهای دوره تناوب وظایف ،میزان Jobها و Deadlineهای وظایف هستند.
فایل خروجی :در هر خط از این فایل ،خروجیِ یک مسئلهی ورودی نوشته خواهد شد (طبق ترتیبِ نوشته شدنِ مسائل در ورودی).
اگر مسئله ورودی شامل nوظیفه باشد ،هر خط شامل n+1بردار خواهد بود که nبردار اول ،زمانبندی انجام شده برای وظایف
خواهد بود و بردار ، n+1بردار jobهای از دست رفته است:
[1,1,0,0,0,0,0,0,0,1,1,1,1,0,0,1,1,0,0,0,1,1,0,0,0,0,0,1,1,0,0,1,1,0,0,1,1,0,0,0,];[0,0,0,0,0,0,0,1,1,
0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,];[0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,];[0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,
;]0,0,0,0,0,0,0,0,0,0,0,
با استفاده از این بردارها به راحتی میتوان خروجی نهایی را در یک تصویر نمایش داد .به طور مثال ،خروجی فوق به شکل زیر قابل
نمایش خواهد بود:
با توجه به موارد اعالم شده ،برنامهای را برای زمانبندیهای DM ، RMو EDFطراحی کنید.
همچنین یک Schedulerمجزا برای حالت RMطراحی کنید که حالت Interrupt-Driven Aperiodicرا پشتیبانی
میکند .به منظور سادگی بیشتر ،تنها یک Taskغیرمتناوب خواهید داشت که در زمان تصادفی و به طول تصادفی وارد پردازنده
میشود .فایل ورودی این بخش ،همان فایل ورودی سایر بخشها خواهد بود و تنها در فرمت خروجی این بخش تفاوت ایجاد
خواهد شد .در این خروجی ،قبل از بردار jobهای از دست رفته ،بردار وظیفه Aperiodicقرار خواهد گرفت .به شکل زیر:
نکات تکمیلی:
-این Schedulerزمانبندی چهار وظیفه را بر عهده دارد و وظیفه اولویت مرتبه سوم Aperiodicمیباشد.
-در این پردازنده ،وظیفهی Aperiodicمیتواند در طول بازهی شبیهسازی چندین مرتبه رخ دهد.
-در این سناریوی خاص ،وظیفه Aperiodicدارای ددالین خواهد بود؛ برخالف سایر وظایف موجود در پردازنده که بدون
ددالین هستند (زمانبندی .)RM
-نیازی به خواندن یا نوشتن ورودی به فایل نیست .اما خروجی این تمرین باید به شکل یک تصویر رسم شود.
به طور مثال یک نمونه از این خروجیهای قابل قبول این برنامه به شکل زیر خواهد بود:
تذکر نهایی :فایلهای پایتون و گزارش کامل تمرین ،که شامل پاسخ به سواالت ،ارائهی نتایج شبیهسازیها و توضیحات جانبی
دیگر (چگونگی اجرای برنامه و غیره) می باشد را به شکل یک فایل RARو طبقِ فرمت نامگذاری ذکر شده در فایل قوانین تمارین
در سامانهی CWبارگزاری نمایید.
با تشکر