۰
subtitle
ارسال: #۱
زمان اجرای خط لوله( سوال ۶۴ آزمون پارسه )
سلام
میشه لطفا توضیح بدید بدترین زمان اجرا رو چطوری به دست آورده؟
جواب گزینه ۲ میشه
میشه لطفا توضیح بدید بدترین زمان اجرا رو چطوری به دست آورده؟
جواب گزینه ۲ میشه
(۲۸ دى ۱۳۹۲ ۰۶:۵۸ ب.ظ)m@hboobe نوشته شده توسط: در پیرو این پستکاش دستور ۱۱ را هم رسم میکردید تا میدیدیم که دستور ۱۱ میتونه همزمان با دستور ۱۰ اجرا بشه. چون دستور ۱۰ پرش نیست و از طرفی وابستگی مرحله یک و سه هم ندارند. اونوقت متوجه میشید ۱۰ دستور دوم ۲۰ کلاک میخوان
مهمان عزیز شما قادر به مشاهده پیوندهای انجمن مانشت نمیباشید. جهت مشاهده پیوندها ثبت نام کنید.
منم خودم رسم کردم دیدم که درسته برای ۱۰ دستور داریم بدترین حالت وقتی که پرش اولی باشه ۲۲ کلاک
بهترین حالت هم وقتی که پرش دومی باشه! ۲۰ کلاک. که تصویر رو اتچ گذاشتم!
(۲۸ دى ۱۳۹۲ ۰۷:۵۵ ب.ظ)masoud67 نوشته شده توسط:(28 دى ۱۳۹۲ ۰۷:۵۲ ب.ظ)m@hboobe نوشته شده توسط: ممنون اما مگر ما نمیگیم که دسترسی به حافظه ها نمیتونن همزمان با هم باشن؟!!این که گفتید مربوط به مرحله ۱۰ و ۱۱ بود ؟
امشب فکر کنم دیگه خواب پایپ لاین ببینم
یا مربوط به فرمول؟
(۲۸ دى ۱۳۹۲ ۰۷:۵۹ ب.ظ)m@hboobe نوشته شده توسط: برای مرحله ۱۰ و ۱۱ منظورم بود اما فکرشو که کردم دیدم امکان پذیر هست!چرا حذف ؟ شاید من دارم اشتباه میکنم. من فقط نظرمو دادم. همونطور که قبلا هم گفتم هنوز نه چیزی را تونستم اثبات کنم و نه چیزی را رد کنم.
post قبلیم رو حذف کردم برای پس گرفتن حرفم شرمنده!
(۲۸ دى ۱۳۹۲ ۰۸:۰۵ ب.ظ)masoud67 نوشته شده توسط:(28 دى ۱۳۹۲ ۰۷:۵۹ ب.ظ)m@hboobe نوشته شده توسط: برای مرحله ۱۰ و ۱۱ منظورم بود اما فکرشو که کردم دیدم امکان پذیر هست!چرا حذف ؟ شاید من دارم اشتباه میکنم. من فقط نظرمو دادم. همونطور که قبلا هم گفتم هنوز نه چیزی را تونستم اثبات کنم و نه چیزی را رد کنم.
post قبلیم رو حذف کردم برای پس گرفتن حرفم شرمنده!
نظر من این بود که ۱۰ دستور اول ۲۲ کلاک و ۱۰ دستور بعدی میتونه ۲۰ کلاک باشه. چون دستور ۱۰ و ۱۱ میتونن در دو مرحله با هم اجرا بشن.
(۲۸ دى ۱۳۹۲ ۰۷:۳۴ ب.ظ)masoud67 نوشته شده توسط:منظورتون از اینکه ۱۰ و۱۱ همزمان قابل اجرا هستن چیه؟ اگه میگین fetch 11 با decod10 میشه خب(28 دى ۱۳۹۲ ۰۶:۵۸ ب.ظ)m@hboobe نوشته شده توسط: در پیرو این پستکاش دستور ۱۱ را هم رسم میکردید تا میدیدیم که دستور ۱۱ میتونه همزمان با دستور ۱۰ اجرا بشه. چون دستور ۱۰ پرش نیست و از طرفی وابستگی مرحله یک و سه هم ندارند. اونوقت متوجه میشید ۱۰ دستور دوم ۲۰ کلاک میخوان
مهمان عزیز شما قادر به مشاهده پیوندهای انجمن مانشت نمیباشید. جهت مشاهده پیوندها ثبت نام کنید.
منم خودم رسم کردم دیدم که درسته برای ۱۰ دستور داریم بدترین حالت وقتی که پرش اولی باشه ۲۲ کلاک
بهترین حالت هم وقتی که پرش دومی باشه! ۲۰ کلاک. که تصویر رو اتچ گذاشتم!
در مورد فرمولی که گفتید زمانی باید استفاده کرد که دستورات را بتونیم به دسته های جدا از هم تبدیل کنیم. مثلا تو همین سوال اگه وابستگی بین مرحله ۱و۳و نبود میشد m=10 و حلش کرد
(۰۲ بهمن ۱۳۹۲ ۰۸:۴۰ ب.ظ)maryam.raz نوشته شده توسط: منظورتون از اینکه ۱۰ و۱۱ همزمان قابل اجرا هستن چیه؟ اگه میگین fetch 11 با decod10 میشه خبشما تا دستور ۲۰ را رسم کنید ببینید آیا بازهم ۲۲ کلاک واسه ۱۰ دستور دوم نیازه یا ۲۰ تا ؟
من که رسم کردم باز در آخر همون ۲۲۰ میشه که
(۰۲ بهمن ۱۳۹۲ ۰۹:۱۱ ب.ظ)masoud67 نوشته شده توسط:ای بابا(02 بهمن ۱۳۹۲ ۰۸:۴۰ ب.ظ)maryam.raz نوشته شده توسط: منظورتون از اینکه ۱۰ و۱۱ همزمان قابل اجرا هستن چیه؟ اگه میگین fetch 11 با decod10 میشه خبشما تا دستور ۲۰ را رسم کنید ببینید آیا بازهم ۲۲ کلاک واسه ۱۰ دستور دوم نیازه یا ۲۰ تا ؟
من که رسم کردم باز در آخر همون ۲۲۰ میشه که
F دستور ۱۱ با D دستور ۱۰ ادغام میشه از طرفی D دستور ۱۱ هم با Ex دستور ۱۰ ادغام میشه.
پس دستور ۱۱ دو کلاکش با دستور ۱۰ (همون ۱۰ دستور اول) اجرا میشه.
و فقط کلاک سومش هست که با ۱۰ دستور دوم اجرا میشه. پس برای ده دستور دوم فعلا یک کلاک داریم
و چون فرض کردیم دستور ۱۱ پرش هست پس بعد از تمام شدن دستور ۱۱ دستور ۱۲ اجرا میشه.
خب حالا ۹ دستور دیگه باقی مونده و دو تا دوتا اجرا میشن
۱۲ و ۱۳
۱۴و ۱۵
۱۶و۱۷
۱۸و۱۹
هر کدوم از اینها به ۴ کلاک نیاز داشت پس میشه ۱۶ کلاک و یک کلاک هم برای دستور ۱۱ داشتیم که تا اینجا میشه ۱۷ کلاک
و دستور ۲۰ هم که در ۳ کلاک قابل انجام هست و در کل میشه ۲۰ کلاک برای ده دستور دوم
از طرفی به همن روال دستور ۲۱ میتونه با ۲۰ همزمان اجرا بشه و
۹۰ دستور آخر به ازای هر ۱۰ دستور ۲۰ کلاک داریم که میشه ۹ * ۲۰ + ۲۲ = ۲۰۲
حالتی که من گفتم بدترین حالت میشد اگر تمام ۱۰ دستور اول شرط باشن و بقیه غیر شرط که میشه ۲۱۰ کلاک
(۰۲ بهمن ۱۳۹۲ ۱۱:۳۹ ب.ظ)maryam.raz نوشته شده توسط: ای بابااین از اون سوالا بود که بدجور منو درگیر خودش کرده بودمن جواب شما رو بدست آوردم ولی تو محاسبات آخر اشتباه کرده بودم جوابم شده بود ۲۲۰! ولی الان که اومدم توضیح بدم دیدم ۲۰۲ میشه!
اینجوری حساب کردم
واسه ۲۰ تای اولی که یکی در میون پرش داریم به ۴۲ کلاک نیاز داریم.۱۰ تای اولی ۲۲ تا و ۱۰تای دومی ۲۰ تا
خب الان ۸۰ دستور دیگه مونده که پرش ندارن و گفتیم واسه هر ۲ دستوری ۴کلاک پس میشه ۱۶۰
۱۶۰+۴۲=۲۰۲
البته اون ۲۱۰ رو هم من درآوردم پس جواب همون ۲۱۰ میشه.
(۲۷ دى ۱۳۹۲ ۰۹:۴۶ ب.ظ)iammiti نوشته شده توسط: تو کتاب یوسفی خوب توصیح داده تو قسمت پایپلاین اینو
وقتی دستور پرش وارد شد خوب بقیه نمی تونن وارد بشن برای همین چون هر ۲تا دستور ۴کلاک میگیرن پس اگه اول یه پرش بیاد دومی نمی تونه وارد بشه و باید تا پایان پرش صبر کنه..اینطوری میشه بدترین حالت که ۶کلاک میشه
برای فرمول هم فرض کرده همه دستورات بدو پرش باشن که میشه ۲۰۰ بد ۱۰% دستورات ما به ۶ کلاک احتیاج دارن که ما بهشون اون ۲ کلاک اضافه می کنیم
من خودم البته با ۱۰تا حل کردم شد ۲۲/۲۰ بعدش در ۱۰ ضرب کردم صورت و مخرج
(۲۷ دى ۱۳۹۲ ۰۹:۴۶ ب.ظ)iammiti نوشته شده توسط: تو کتاب یوسفی خوب توصیح داده تو قسمت پایپلاین اینوالبته من به این جواب شک دارم.
وقتی دستور پرش وارد شد خوب بقیه نمی تونن وارد بشن برای همین چون هر ۲تا دستور ۴کلاک میگیرن پس اگه اول یه پرش بیاد دومی نمی تونه وارد بشه و باید تا پایان پرش صبر کنه..اینطوری میشه بدترین حالت که ۶کلاک میشه
برای فرمول هم فرض کرده همه دستورات بدو پرش باشن که میشه ۲۰۰ بد ۱۰% دستورات ما به ۶ کلاک احتیاج دارن که ما بهشون اون ۲ کلاک اضافه می کنیم
من خودم البته با ۱۰تا حل کردم شد ۲۲/۲۰ بعدش در ۱۰ ضرب کردم صورت و مخرج
(۲۷ دى ۱۳۹۲ ۱۰:۲۴ ب.ظ)masoud67 نوشته شده توسط: البته من به این جواب شک دارم.در صورتی که تو هر ۱۰ دستور مطابق این الگو بره اره حق با شماست
من بدترین حالت را ۲۱۰ بدست آوردم زمانی که تمام ۱۰ دستور پرشی اول بیان که میشه ۳۰ کلاک و ۹۰ دستور دیگه به ازای هر دو دستور میشه ۴ کلاک و میشه ۱۸۰ . و کلش میشه ۱۸۰+ ۳۰ = ۲۱۰
نمیدونم پارسه چه جوری بدست آورده ۲۲۰
چون اگه فرض کنیم دستور اول هر ۱۰ دستور پرش باشه، فقط ۱۰ دستور اول میشه ۲۲ کلاک ولی واسه ۱۰ تای بعدی ۲۰ کلاک داریم چون دستور ۱۱ میتونه با دستور دهم پایپ بشن. یعنی دو مرحله دستور ۱۱ با دستور ۱۰ باهم اجرا بشه. حالتهای دیگه ای نتونستم فرض کنم که ۲۲۰ کلاک بشه .
یکی میتونه بگه درست گفتم یا نه. شکل را واسه ۲۰ تا دستور بکشید میفهمید من چی میگم.
(۲۷ دى ۱۳۹۲ ۱۰:۵۲ ب.ظ)iammiti نوشته شده توسط: در صورتی که تو هر ۱۰ دستور مطابق این الگو بره اره حق با شماستمن از ظهر تا حالا این دستور پرش را هر جای ۱۰ دستور اول گذاشتم و پایپ رسم کردم بدترین حالت نمیشد. یعنی ۱۰تای اول ۲۲ کلاک میشه ولی از ۱۰ تای بعدی ۲۰ میشه. دستور ۱۱ با دستور ۱۰ میتونه روی هم بیافته
ولی اینطوری باید فرض کنیم که پرش در ۱۰ دستور اول اخرین دستور باشه و تو بعدی اولی و همینطور یکی در مییون اول و اخر عوض بشه ..البته واقعا الان شک کردم با حرف شما
(۲۷ دى ۱۳۹۲ ۱۰:۲۴ ب.ظ)masoud67 نوشته شده توسط: البته من به این جواب شک دارم.
من بدترین حالت را ۲۱۰ بدست آوردم زمانی که تمام ۱۰ دستور پرشی اول بیان که میشه ۳۰ کلاک و ۹۰ دستور دیگه به ازای هر دو دستور میشه ۴ کلاک و میشه ۱۸۰ . و کلش میشه ۱۸۰+ ۳۰ = ۲۱۰
نمیدونم پارسه چه جوری بدست آورده ۲۲۰
...
(۲۷ دى ۱۳۹۲ ۱۱:۴۹ ب.ظ)kati نوشته شده توسط: عه! خوب استدلال منم واسه این مسئله مثل گفته شما بود که! ینی زیاد هم بیراه نرفتم!من هنوز نتونستم ۲۲۰ را تکذیب کنم. هر چند هنوزم نتونستم تاییدش کنم. یه چیز تو مایه های NP-Complete شده.
هـــــــــــــی بابا !همش به خودم شک دارم!
حالا کدوم درسته ! ۲۲۰ یا ۲۱۰؟
(۲۸ دى ۱۳۹۲ ۰۸:۴۵ ب.ظ)۳۰noohe نوشته شده توسط: من هم ۲۱۰/۲۰۰ در اوردم! با استدلال پاسخنامه قانع نشدم! به نظرم نمیشه چیزی که میگهمن توجه کردم این آزمون پارسه و آزمون جامع اول مدرسان زیادی سوال و جواب غلط داشت. احساس میکنم این غلطها عمدی باشه که وقت دانشجو بابتش تلف بشه. یعنی یه جورایی دارن غلطهای سنجش را شبیه سازی میکنن که بفهمیم همیشه سوال و یا گزینه ها درست نیست
۱۰ درصد توی بدترین حالت توی ۳ تا کلاک اجرا میشن نه ۴ تا! پاسخنامه اینطوری فرض کرده که اگه از هر دو دستور، اولی پرش بود دومی میره تا سیکل آخر اجرا میشه ولی ما در نظرش نمیگیریم! در صورتی که باید اینطوری باشه که اولی وقتی دستور پرشه در ۳ سیکل پرش انجام بشه و در سیکل چهارم دستور جدید رو وارد کنیم
ظاهرا پاسخنامه در سیکل پنجم دستور جدید رو وارد میکنه! و ۴ سیکل برای یه پرش اختصاص میده!!
(۲۹ دى ۱۳۹۲ ۰۱:۴۵ ب.ظ)m@hboobe نوشته شده توسط: من میگم که این درصد دستورات پرش در صورتیکه ۵۰% باشه بهترین حالت ۲۰۰ میشه هااا!! بدترین حالت هم ۲۲۰ نمیشه چون همپوشانی کلاک داریم! اگر با همین ۵۰% بگیم یه بار پرش اول یه بار اخر بیاد بازم ۲۰۲ میشهچه ریاضتی کشیدید. تشکر
(۰۵ بهمن ۱۳۹۲ ۰۸:۳۰ ق.ظ)آنجلا نوشته شده توسط: کسی می تونه به من بگه شما ها چه جوری دارین توی پایپ لاین دستورا رو وارد میکنین وقتی که حافظه ی دستور و داده مشترکهشکلی که یکی از دوستان گذاشتند را ببینید متوجه میشید که بین طبقه اول و سوم هیچ دستوری تداخل وجود نداره
توی صورت سوال نوشته طبقات اول و سوم نیاز به دستیابی به حافظه دارن و همهی ۱۰۰ دستور هم ارجاع به حافظه دارن اصن این پایپ لاین مخاطره ی ساختاری داره یه دستور وقتی توی طبقه ی مثلا سوم دسترسی به حافظه داره دستور بعدی توی طبقه ی اول باید متوقف بشه چون اونم به حافظه دسترسی داره خود دستور هم ارجاع به حافظه داره کلا هر سه طبقه ارجاع به حافظه داره و نمیشه همزمان دو سه نفر به حافظه دسترسی داشته باشن و برای متوقف کردنش باید به جاش no operation بذاریم ..من نمیفهمم شما اصن چه جوری دارین این پایپ لاین رو جلو می برین یه نفر برام خواهشا توضیح بده!!!!!!!!!!!!
(۰۵ بهمن ۱۳۹۲ ۰۸:۳۰ ق.ظ)آنجلا نوشته شده توسط: کسی می تونه به من بگه شما ها چه جوری دارین توی پایپ لاین دستورا رو وارد میکنین وقتی که حافظه ی دستور و داده مشترکه
توی صورت سوال نوشته طبقات اول و سوم نیاز به دستیابی به حافظه دارن و همهی ۱۰۰ دستور هم ارجاع به حافظه دارن اصن این پایپ لاین مخاطره ی ساختاری داره یه دستور وقتی توی طبقه ی مثلا سوم دسترسی به حافظه داره دستور بعدی توی طبقه ی اول باید متوقف بشه چون اونم به حافظه دسترسی داره خود دستور هم ارجاع به حافظه داره کلا هر سه طبقه ارجاع به حافظه داره و نمیشه همزمان دو سه نفر به حافظه دسترسی داشته باشن و برای متوقف کردنش باید به جاش no operation بذاریم ..من نمیفهمم شما اصن چه جوری دارین این پایپ لاین رو جلو می برین یه نفر برام خواهشا توضیح بده!!!!!!!!!!!!