درخواست حل سوال از مبحث پایپلاین- دستورات حاوی پرش - نسخهی قابل چاپ |
درخواست حل سوال از مبحث پایپلاین- دستورات حاوی پرش - Sepideh96 - 18 دى ۱۳۹۶ ۰۱:۲۵ ق.ظ
باسلام دوستان عزیز در سوالات پیوست شده سوال ۹ و ۴ مشابه هم هستند ولی با یک راه حل به جواب نمیرسن، ممنون میشم علتش رو توضیح بدید، حل سوال ۹ رو از تاپیک زیر خوندم، ولی اون راه حل برای سوال ۴ جواب نمیده مهمان عزیز شما قادر به مشاهده پیوندهای انجمن مانشت نمیباشید. جهت مشاهده پیوندها ثبت نام کنید. (سوالات مربوط به آی تی ۸۵ و کامپیوتر ۸۱) باتشکر |
RE: درخواست حل سوال از مبحث پایپلاین- دستورات حاوی پرش - msour44 - 21 دى ۱۳۹۶ ۰۲:۴۰ ب.ظ
سلام زمانی که خط لوله پر شد یعنی بعد از k تا سیکل ساعت (برای اولین دستور)از ان به بعد در هر سیکل ساعت یک دستور اجرا می شود یعنی زمان اجرای n دستور برابر با [tex]kT+(n-1)T[/tex] است.زمانی که دستورات گروه بندی می شوند طوری که تا زمانی که یک گروه تمام نشده گروه دیگر وارد خط لوله نمی شود در این حالت برای اولین دستور هر گروه مجبوریم پر کردن خط لوله را تکرار کنیم در واقع اگر m گروه دستور داشته باشیم m بار مجبوریم خط لوله را پر کنیم یعنی زمان [tex]mkT[/tex] و سایر دستورات یعنی n-m دستور دیگر هر کدام در یک سیکل ساعت اجرا می شوند یعنی [tex](n-m)T[/tex]. یکسان بودن یا نبودن تعداد دستورات هر گروه تفاوتی ایجاد نمیکند چرا که اولین دستور هر گروه باید خط لوله پر شود تا ااجراش تکمیل شود و بعد دستور های بعدی ان گروه در یک سیکل ساعت اجرا می شود که اگر زمان هر گروه را تک تک حساب و بعد جمع کنیم به [tex]mkT+(n-m)T[/tex] می رسیم. در سوال ۴ گفته ۳۰ درصد دستورات از نوع پرشی هستند که بعد از انها دستوری وارد خط لوله نمی شود تا ان دستور پرش اجراش تکمیل گردد.پس در واقع هر دستور پرش یک گروه دستوری ایجاد می کند.n تا دستور داریم که ۳۰ درصد ان می شود[tex]0.3n[/tex] .حال دو حالت داریم .حالت اول اخرین دستور یک دستور پرش باشد که در این حالت [tex]0.3n[/tex] گروه داریم و حالت دوم اخرین دستور پرش نباشد که در این حالت [tex]0.3n+1[/tex] گروه داریم: در حالت اول : [tex]\frac{0.3n\times3\times T+(n-0.3n)T}{0.3n\times4\times0.9T+(n-0.3n)\times0.9T}=\frac{1.6}{1.71}[/tex] یعنی گزینه ی۲ در حالت دوم: [tex]\frac{(0.3n+1)\times3\times T+(n-0.3n-1)T}{(0.3n+1)\times4\times0.9T+(n-0.3n-1)\times0.9T}=\frac{2T+1.6nT}{2.7T+1.71nT}[/tex] یعنی گزینه ی ۴ در سوال ۹ چیزی درباره ی اینکه بعد از هر دستور پرش خط لوله خالی می شد یا نه نگفته اگه اگر خالی نشود حداکثر تسریع همان [tex]k=11[/tex] است [tex]s_{\max}=\lim_{n\longrightarrow\infty}\: \: \: (\frac{nkT}{kT+(n-1)T})=k[/tex] ولی وقتی خالی بشه[tex]s_{\max}=\lim_{n\longrightarrow\infty}\: \: \: (\frac{nkT}{0.1n\times kT+(n-0.1n)T})=\frac{11}{2}=5.5[/tex] که [tex]0.1n[/tex] دستور پرش یا گروه داریم و تعداد طبفات خط لوله هم ۱۱ است که در رابطه ی بالا اگر قرار دهیم به ۵/۵ رسیدیم برای هر دو حالت اخرین دستور پرش بودن یا نبودن هم فرقی نداره چون در حد بی نهایت یکسان می شود. |