شاید این سوال هم برای شما پیش آمده باشد که چطور میشود نسل های جدید پردازنده ها میتوانند با همان سرعت ساعت (کلاک) پردازنده های قدیمی سریعتر کار کنند. آیا این موضوع فقط نتیجه تغییراتی در ساختار فیزیکی پردازنده است یا چیزی بیشتر است؟
بررسی علت سریعتر بودن پردازنده با با همان سرعت ساعت
به عنوان مثال چرا یک پردازنده دو هستهای 66/2 گیگاهرتزی Core i5 از یک پردازنده 6/2 گیگاهرتزی Core 2 Duo که آن هم دو هستهای است، سریعتر است؟ آیا به دلیل دستورالعملهای جدیدتر است که میتواند اطلاعات را در چرخه ساعت کمتری پردازش کند؟ چه تغییرات ساختاری دیگری وجود دارد؟
معمولا در این نوع پردازنده ها، زمان پردازش کمتر به دلیل دستورالعملهای جدیدتر نیست. فقط به این دلیل است که پردازنده برای اجرای همان دستورالعملها به چرخههای دستورالعمل کمتری نیاز دارد. این موضوع میتواند دلایل زیادی داشته باشد از جمله:
- استفاده از حافظه نهان (Cache) بزرگ به معنای اتلاف وقت کمتر نسبت به هنگامی که پردازنده برای دریافت اطلاعات از حافظه (Ram) استفاده میکند.
- واحدهای اجرای بیشتر به معنای زمان کمتر برای انتظار، جهت شروع کار یک دستورالعمل است.
- پیش بینی بهتر شاخه، به معنای اتلاف وقت کمتر برای اجرای دستورالعملهای بی حاصل است که در واقع هرگز به اجرا نیاز ندارند.
- پیشرفت های واحد اجرا به معنای زمان کمتر جهت انتظار برای تکمیل دستورالعملها است.
- خطوط کوتاهتر به معنی پر شدن سریعتر خطوط است و غیره
اما مرجع نهایی مطلق کتابچه راهنمای توسعهدهنده نرمافزار Intel 64 و IA-32 Architectures است. آنها جزئیات تغییرات ساختارها را بیان میکنند و منبع خوبی برای درک معماری x86 هستند.
برخی از تفاوت های کلی ذکر شده از هسته به میکروساختارهای Nehalem/Sandy Bridge وجود دارد که عبارتند از:
- پیشبینی رشته بهبود یافته، بهبود سریعتر پیش بینی نادرست
- فناوری چند رشتهای (Hyper-Threading)
- کنترل کننده حافظه یکپارچه، سلسله مراتب در حافظه نهان جدید
- دست یافتن به سرعت بیشتر در حالت شناور (فقط پل شنی(Sandy Bridge))
- بهبود پهنای باند LEA (فقط پل شنی(Sandy Bridge))
- توسعه دستورالعمل AVX (فقط پل شنی(Sandy Bridge))
مطالبی که شاید برای شما مفید باشد
BIOS پس از بوت شدن چه کاری انجام میدهد
آنچه درباره NVIDIA بهینه باید بدانید