۰
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