۰
subtitle
ارسال: #۱
  
خط لوله - IT 83
برای حل مشکل برانچ در کامپیوترهایی که از روش خط لوله ای با چهار قطعه استفاده میکنند، روش جا به جا نمودن دستورالعملها توسط کامپایلر یکی از روشهاست. اگر کد زیر مفروض باشد کدام یک از دنباله دستورات زیر توسط چنین کامپایلری تولید میشود؟
در بین چهار گزینه داده شده گزینه مد نظر شامل کد زیر است و توضیح انتخاب این گزینه این است که باید بعد از دستور branch یک یا چند دستور وارد پایپ لاین شوند. و این گزینه ای است که بعد از branch دستور دیگری وارد پایپ کرده.
اشکال من اینجاست که اصلا اینکه بعد از برنچ دستور دیگه ای باید وارد پایپ شه چه توجیهی داره؟ در صورتی هم که برنچ دیگه ای بعد از برنچ بیاد باز هم دستورات مشخصی واکشی میشن و ...
دوستان ممنون میشم راهنمایی کنید.
پ.ن: سوال ۲۷- فصل ششم پوران
کد:
add r1,r2
sub r3,r4
branch to p1
P3: mul r5, r6
branch to P2
P1: add r3, r2
branch to P3
P2: dec r6
کد:
branch to P1
Nop
branch to P3
...
دوستان ممنون میشم راهنمایی کنید.
پ.ن: سوال ۲۷- فصل ششم پوران
۱
ارسال: #۲
  
RE: خط لوله - IT 83
به نظرم منظورش اینه که باید بعد از برنچ یه دستور دیگه به جز برنچ(یعنی یه دستور ساده)وارد کنیم تا فرصت بدیم دستور انشعاب اجرا بشه و آدرس مقصدش تعیین بشه، بهترین حالت اینه که از دستورات خودش استفاده کنیم اگه نبود nop میذاریم
توی گزینه های دیگه برنچ ا پشت سر هم ند و فرصتی که گفتم بهشون داده نمیشه فقط این گزینه س که بعد از هر برنچ یه دستور دیگه آورده تا در فاصله ی اجرای آن دستور، تکلیف اون برنچ مشخص بشه
توی ص ۱۷۴ مثال آخرم به این قضیه اشاره شده
توی گزینه های دیگه برنچ ا پشت سر هم ند و فرصتی که گفتم بهشون داده نمیشه فقط این گزینه س که بعد از هر برنچ یه دستور دیگه آورده تا در فاصله ی اجرای آن دستور، تکلیف اون برنچ مشخص بشه
توی ص ۱۷۴ مثال آخرم به این قضیه اشاره شده
۰
ارسال: #۳
  
RE: خط لوله - IT 83
دوست عزیز من یه توضیح کوتاهی میدم امیدوارم مفید باشه
اینجا ما مخاطره کنترلی داریم,مخاطره کنترلی چه موقعی پیش میاد؟موقعی که دستورات انشعاب داشته باشیم ,خوب حالا باید راه حلی رو برای رفع این مخاطره پیدا کنیم
یکی از راه حل های رفع مخاطره کنترلی delayed branchهست,خوب delayed branch چی هست؟یعنی دستورات رو طوری به جابه جا کنیم که منطق برنامه به هم نریزه و در واقع دستورا مفیدی که حتما اجرا میشوند و ربطی به انشعاب ندارند(یعنی توی این مثال ما باید بعد branchدستوری رو بیاریم که حتما اجرا میشه,خوب دقت کن که فقط گزینه یک اینطور هست)
نکته:اگه دستوری دیگه نداشتیم no-opمیگذاریم بعد branch
امیدورام خوب توضیح داده باشم
اینجا ما مخاطره کنترلی داریم,مخاطره کنترلی چه موقعی پیش میاد؟موقعی که دستورات انشعاب داشته باشیم ,خوب حالا باید راه حلی رو برای رفع این مخاطره پیدا کنیم
یکی از راه حل های رفع مخاطره کنترلی delayed branchهست,خوب delayed branch چی هست؟یعنی دستورات رو طوری به جابه جا کنیم که منطق برنامه به هم نریزه و در واقع دستورا مفیدی که حتما اجرا میشوند و ربطی به انشعاب ندارند(یعنی توی این مثال ما باید بعد branchدستوری رو بیاریم که حتما اجرا میشه,خوب دقت کن که فقط گزینه یک اینطور هست)
نکته:اگه دستوری دیگه نداشتیم no-opمیگذاریم بعد branch
امیدورام خوب توضیح داده باشم
موضوعهای مرتبط با این موضوع... |
|||||
موضوع: | نویسنده | پاسخ: | بازدید: | آخرین ارسال | |
چندین سوال از خط لوله | Sanazzz | ۳ | ۲,۸۵۰ |
۱۲ دى ۱۳۹۷ ۰۲:۳۹ ق.ظ آخرین ارسال: Sanazzz |
|
۸۳۸ نرم افزار- محل قبولی؟ | عشقم هوش مصنوعی | ۰ | ۱,۸۵۳ |
۱۰ خرداد ۱۳۹۷ ۱۱:۱۵ ق.ظ آخرین ارسال: عشقم هوش مصنوعی |
|
دانشگه های مجاز با رتبه ۸۳۸۴ هوش و رتبه ۸۷۳۲ ای تی(شبکه) | roshi65 | ۲ | ۳,۰۴۹ |
۱۶ خرداد ۱۳۹۶ ۰۱:۵۸ ب.ظ آخرین ارسال: roshi65 |
|
جواب سوال ۵ درباره خط لوله؟؟؟؟؟؟ | zizi1362 | ۲ | ۱,۸۵۰ |
۱۸ دى ۱۳۹۴ ۰۸:۵۱ ق.ظ آخرین ارسال: zizi1362 |
|
۸۳۶ شبکه ۹۸۰ تجارت | betty_m | ۰ | ۱,۱۶۹ |
۲۳ اردیبهشت ۱۳۹۴ ۱۱:۴۲ ق.ظ آخرین ارسال: betty_m |
|
سوالی سخت از خط لوله! | mostafa2012 | ۱۰ | ۵,۰۶۵ |
۲۹ دى ۱۳۹۳ ۱۲:۱۴ ق.ظ آخرین ارسال: mostafa2012 |
|
اجرای قطعه کد در یک خط لوله | alifarokhi | ۶ | ۲,۴۶۰ |
۰۲ آذر ۱۳۹۳ ۱۲:۵۷ ب.ظ آخرین ارسال: alifarokhi |
|
خط لوله همزمان و غیر همزمان | mobin89 | ۲ | ۱,۹۶۱ |
۰۷ آبان ۱۳۹۳ ۰۸:۱۲ ب.ظ آخرین ارسال: mobin89 |
|
۸۳۰ معماری | majid11877 | ۰ | ۱,۲۲۳ |
۲۹ اردیبهشت ۱۳۹۳ ۰۶:۲۰ ب.ظ آخرین ارسال: majid11877 |
|
۸۳۳ گرایش ۱و۴- ۸۶۴ گرایش ۲و۳ | Good! | ۹ | ۶,۳۰۴ |
۲۷ اردیبهشت ۱۳۹۳ ۰۲:۱۲ ب.ظ آخرین ارسال: maryam368 |
Can I see some ID?
Feeling left out?
نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. رمزت رو فراموش کردی؟ اینجا به یادت میاریم! close