19 آذر 1393, 01:11 ب.ظ
برای حل مشکل برانچ در کامپیوترهایی که از روش خط لوله ای با چهار قطعه استفاده میکنند، روش جا به جا نمودن دستورالعملها توسط کامپایلر یکی از روشهاست. اگر کد زیر مفروض باشد کدام یک از دنباله دستورات زیر توسط چنین کامپایلری تولید میشود؟
در بین چهار گزینه داده شده گزینه مد نظر شامل کد زیر است و توضیح انتخاب این گزینه این است که باید بعد از دستور 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
...
دوستان ممنون میشم راهنمایی کنید.
پ.ن: سوال ۲۷- فصل ششم پوران