از زمان «پنتیوم پرو»، پردازنده های x86 توانایی اجرای دستورالعمل ها، خارج از نوبت را پیدا کردند. با این حال به طور میانگین یک سوم دستورالعمل‌ها به سادگی قابلیت اجرای خارج از نوبت را ندارند، این دستورالعمل‌ها همگی از نوع «بارگذاری» هستند، جلو انداختن دستورالعمل‌های «بارگذاری» افزایش عملکرد چشم‌گیری نسبت به بارگذاری داده‌ها در زمانی که به آنها نیاز دارید خواهد داشت. با این کار تاخیرهای متعدد حافظه کاشه سطح 1 و سطح 2 از چشمان پردازنده پهنان خواهند ماند.

تصور این افزایش کارایی بسیار ساده است، فرض کنید یک دستورالعمل ALU در اختیار دارید که نیاز به بخش مشخصی از داده های ذخیره شده در حافظه را دارد اما این بخش داده در حافظه کاشه سطح 1 موجود نباشد، در این صورت پردازنده هنگام آغاز محاسبات باید در انتظار دریافت داده‌های مذکور بماند. اگر عملیات «بارگذاری» چندین سیکل قبل از زمانی که ALU به آن بخش داده نیاز دارد آغاز شود، تاخیر انتقال داده از حافظه کاشه سطح 2 به سطح 1 اهمیت اندکی پیدا خواهد کرد. البته «بارگذاری» خارج از نوبت داده‌ای که قبل از آن در عملیات «ذخیره‌سازی» شرکت کرده مطلوب نیست ، چرا که این عمل خارج از نوبت مقدار قدیمی و بی ارزش داده را بارگذاری می‌کند.


دسته ها : علوم فناوری
شنبه بیست و هشتم 10 1387
X