تالار گفتمان مانشت

نسخه‌ی کامل: سوال 13فصل دوم پوران(کارایی)علوم کامپیوتر86
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام.
چرا جواب 1 میشه.لطفا توضیح کامل بدین.ممنون میشم.

در یک سیستم 82درصد زمان اجرا صرف محاسبات و 18درصد صرف عملیات I/O میشود.CPI برای دستورات صحیح و ممیز شناور و بقیه دستورات به ترتیب 1 و 5 و 2 است. و 40% دستورات صحبح و 30% دستورات ممیزشناور و 30% بقیه دستورات است.حال اگر CPI ممیزشناور از 5 به 3 تغییر داده شود speed up چقدر است ؟
1) 1.245
2) 1.316
3) 1.6
4) 2
سلام .ببخشید من با گوشیم نمیتونم کامل فرمولا رو بنویسم ولی سعی میکنم که تا جایی که میتونم بنویسم
خب ابتدا میریم سراغ محاسبه cpi ها ببینید ما یه cpi قبل از بهبود داریم و یه cpi بعد از بهبود، البته cpi دستورات محاسباتی مدنظره.چون اگه دقت کنید ممیز شناور و اعداد وصحیح و اینا چون محاسباتیا حساب میشه
مقدار cpi قبل از بهبود خب ۲/۵ میشه و cpi بعد از بهبود هم مقدارش ۱/۹ فکر نکنم توی محاسبه اینا مشکل خاصی وجود داشته باشه
حالا ببینید ما زمان اجرای قبل از بهبود و بعد از بهبود رو به دست میاریم
خب ما تعداد کل دستورات رو که نداریم پس فرض میکنیم تعداد کل دستورات n هستش.cpi رو داریم و طول هر کلاک پالس رو هم نداریم و فرض میکنیم اونم T هستش اکی؟؟؟
پس زمان اجرای دستورات محاسباتی به شرط اینکه ۸۲ درصد از زمان کل رو تشکیل میده قبل از بهبود برابر:n*2.5*T میشه و زمان اجرای دستورات محاسباتی به شرط اینکه y درصد زمان کل رو تشکیل میده برابر n*1.9*T میشه.ببین y برای این بود که ما نمیدونیم وقتی cpi ممیز شناور رو کاهش میدیم حالا چه درصدی از زمان کل رو دستورات محاسباتی تشکیل میده و مسلما این زمان با زمان اولیه فرق میکنه و و باید به دستش بیاریم.و از تقسیم زمان اجرای دستورات محاسباتی قبل از بهبود به بعد از بهبود و مساوی قرار دادنش با تقسیم y بر ۸۲ درصد مقدار y برابر ۰/۶۲۳۲ میشه
همون طور که توی نسبت میبینید درصد دستورات محاسباتی قبل از بهبود و بعد از بهبود با زمان اجرای قبل و بعد از بهبود رابطه مستقیم دارن
و در پایان speedUp از تقسیم زمان قبل از بهبود به زمان بعد از بهبود به دست میادش
حالا دقت کن که ما زمان کل رو نمیدونیم اونم به خاطر اینکه ۱۲ درصد از زمان اجرای کل رو محایبات io دربر گرفته و ما نمیدونم اون چقدر طول میکشه.پس ما فرض میکنیم زمان اجرای کل T باشه خب!!!
پس زمان قبل ازبهبود هم همون T میشه یه زمان که هر چی میخواد باشه
ولی زمان بعد از بهبود میدونم که ۰/۶۲۳۲T زمان اجرای دستورات محاسباتی و همون ۰/۱۸T هم دستورات io هستن اکه حاصل تقسیم همون ۱/۲۴۵ میشه وقریبا که همون گزینه اول میشه
من یکم درمورد رابطه اخر بیشتر توضیح بدم
ببین ما فرض میکنیم که زمان کل t هستش درسته؟؟؟ حالا هر عددی میخواد باشه و زمان قبل از بهبود یعنی توی زمان کل هیچ تغییری ندادیم پس اینجا هم زمان قبل از بهبود همون زمان کل یعنی t میشه.ولی زمان بعد از بهبود شامل یه تغییراتی شده که باید بر حسب t بیانش کنیم
خب ما میدونیم که دستوراتمون از دو بخش تشکیل شدن دستورات io و دستورات محاسباتی.حالا این دستورات io که ۱۸ درصد کل دستورات رو تشکیل میدن شامل هیچ بهبودی نشدن پس همون زمان اجراشون همون ۱۸دزصد زمان کل میشه یعنی:۰/۱۸t
ولی دستورات محاسباتی شامل بهبود شدن و زمان جدیدشون برابر:۰/۶۲۳۲t میشه اکی؟؟؟؟
پس t رو بر جمع این دو زمان که بعد از بهبود به دست اوردیم تقسیم میکنیم و گزینه اول به دست میاد

امیدوارم متوجه شده باشید.بببخشید اگه بد توضیح دادم
خیلی خیلی ممنونم.توضیحاتتون فوق العاده بود.
و تشکر بخاطر وقتی که گذاشتید.Smile
(26 مهر 1393 11:57 ب.ظ)Donna نوشته شده توسط: [ -> ]خیلی خیلی ممنونم.توضیحاتتون فوق العاده بود.
و تشکر بخاطر وقتی که گذاشتید.Smile

اختیار دارید کار مهمی نکردم که
لینک مرجع