پنجره دستورالعمل

پنجره دستورالعمل(به انگلیسی instruction window) در معماری کامپیوتر به مجموعه دستورهایی گفته می‌شود که توانایی اجرا خارج از ترتیب را در یک پردازنده نظری دارند.

به طور دقیق تر، در یک طراحی مرسوم، پنجره دستورالعمل شامل تمام دستورالعمل هایی است که در بافر ترتیب مجدد (ROB) قرار دارند.  در چنین پردازنده ای،زمانی که عملوندهای آن آماده باشند. هر دستوری که در پنجره دستورالعمل وجود دارد قابل اجرا است علت نامگذاری پردازنده‌های خارج از ترتبیب آن است که ممکن است بدون ترتبیب رخ دهند (اگر عملوندهای یک دستورالعمل جدید قبل از دستورالعمل‌های قدیمی‌تر آماده باشند).

پنجره دستورالعمل اندازه محدود ومشخصی دارد و دستورالعمل‌های جدید تنها زمانی می‌توانند وارد پنجره شوند (معمولاً به این عمل ارسال یا تخصیص گفته میشود ) که دستورالعمل‌های دیگر از پنجره خارج شوند (معمولاً به این عمل بازنشستگی گفته میشود ). دستورالعمل‌ها به ترتیب برنامه وارد یا از پنجره دستورالعمل خارج  می‌شوند و دروافع یک دستورالعمل تنها زمانی می‌تواند از پنجره خارج شود که قدیمی‌ترین دستورالعمل در پنجره شده باشد و همچنین این دستورالعمل باید کامل شده باشد. از این رو، پنجره دستورالعمل را می توان به عنوان یک پنجره کشویی در نظر گرفت که در آن دستورالعمل ها می توانند در آن بدون ترتبیب شوند. همه اجراها در این پنجره تا زمانی که در راستای رسیدگی و پشتیبانی از مدیریت استثناهای نامتقارن مانند وقفه ها باشد،نظری هستند (درواقع اثرات جانبی آن در خارج از CPU تاثیری ندارد)

این الگو به عنوان جریان داده محدود  نیز شناخته می شود زیرا ترتیب اجرای دستورالعمل های درون پنجره به ترتیب جریان داده میباشد (که این ترتیب لزوماً با ترتیب برنامه یکسان نیست) اما پنجره ای که در این موضوع در آن رخ می دهد محدود شده است (اندازه محدود).

پنجره دستورالعمل با خط لوله(به انگلیسی pipeline) متفاوت است: دستورالعمل ها در یک خط لوله دارای ترتبیب در یک پنجره دستورالعمل از آنجایی که  نمی توانند خارج از ترتبیب نسبت به یکدیگر اجرا شوند به معنای مرسوم خود قابل درک نیستند،. پردازنده های خارج از ترتبیب معمولاً در اطراف خط لوله(به انگلیسی pipeline) ساخته می شوند، اما بسیاری از مراحل خط لوله به عنوان بخشی از پنجره دستورالعمل در نظر گرفته نمی شوند (به عنوان مثال، مراحل واکشی و رمزگشایی دستورالعمل های جلویی).

همچنین ببینید 

 پردازنده فوق اسکالر

منابع 
 
پردازش دستورها
معماری رایانه