در این تاپیک و تاپیک های بعدی به طور
مختصر و مفید نگاهی به این طراحی جدید به همراه جزئیات
چیپست
سری
900 که مدت نسبتا زیادی هم از عرضه اون گذشته خواهیم داشت.
همانطور که احتمالا مطلع هستید طبق آخرین اخبار در 3ماهه آخر سال 2011 شاهد ورود اولین پردازنده
مبتنی بر طراحی
Bulldozer برای کامپیوتر های
Desktop خواهیم بود که با اسم رمز
Zambezi شناخته خواهند شد.
Bulldozer در واقعنام معماری جدیدیست که مدت هاست وعده اون داده شده و به جرات می توان گفت که جدی ترین
تجدید نظر در طراحی معماری پردازنده از سال 2003 که این شرکت از معماری
K8 رونمایی کرد تا به الان می باشد.
همانطور که احتمالا در بسیاری از بنچمارک ها هم مشاهده کرده اید یکی از ضعف های اصلی پردازنده های AMD
بازده نسبتا پایین در برنامه های
Multi Thread (
چند رشته ای ) می باشد به طوریکه اکثرا یک پردازنده 6 هسته ای
AMD قابلیت رقابت با یک پردازنده 6 هسته ای هم رده Intel را ندارد و به ناچار با پردازنده های 4 هسته ای مقایسه میشود.
Bulldozer برای رفع این مشکل راهکاری رو ارائه داده که در ادامه اختصارا بررسی خواهیم کرد.
پیش از این ابتدا نگاهی مختصر به ساختار پردازنده می اندازیم :
برای مشاهده این لینک/عکس می بایست عضو شوید !برای عضویت اینجا کلیک کنید ]
اولین چیزی که در تصویر بالا جلب توجه میکند 4
ماژولی (
Module ) هستند که AMD برای اولین بار در این معماری از آن ها استفاده میکند.
اما هر ماژول چه قسمت هایی رو شامل میشه ؟
به طور مختصر میتوان گفت هر ماژول از
2 هسته ( که در ادامه بیشتر توضیح خواهیم داد) ،
16KB L1 Data Cache (به ازای هر هسته)
،
64KB L1 Instruction Cache و همچنین
2MB L2 Cache (که بین هسته ها در هر ماژول مشترک می باشد) تشکیل شده است.
در تصویر زیر یک ماژول متشکل از 2هسته را مشاهده میکنید که قسمت اصلی این ایده جدید در طراحی هسته ها نهفته است :
برای مشاهده این لینک/عکس می بایست عضو شوید !برای عضویت اینجا کلیک کنید ] برای مشاهده این لینک/عکس می بایست عضو شوید !برای عضویت اینجا کلیک کنید ]
هر هسته از یک واحد
IntegerCore (که خود از 2 واحد
ALU و 2 واحد
AGU به همراه
4 لوله پردازشی
(
Pipeline ) تشکیل شده) ، یک واحد
زمانبند (
scheduler ) برای
IntegerCore و یک عدد حافظه
L1 Data Cache
مجزا تشکیل شده است. البته در این طراحی هر هسته یک واحد
کاملا مجزا نیست و بعضی منابع
از جمله واحدهای
Fetch-Decode ،
FPU و
FPU scheduler بین 2 هسته در هر ماژول مشترک می باشند.
در ادامه باید خاطرنشان کرد که سیستم عامل هر کدام از ماژول ها را 2 واحد پردازشی کاملا
مجزا تصور میکند
( مانند
Hyper Threading در i7 ها ) پس ، از هر ماژول برای پردازش همزمان
2 رشته پردازشی ( Thread ) استفاده می شود.
بدین ترتیب می توان گفت با تکنولوژی ای مشابه
Hyper Threading شرکت اینتل در هر ماژول مواجه هستیم هرچند که در این
روش هر رشته پردازشی از منابع
اختصاصی تری از جمله
Integer Core و
زمانبند جداگانه استفاده میکند در حالی که در اینتل
، منابع یک هسته به صورت همزمان بین 2 رشته پردازشی
تقسیم می شود.
برای مشاهده این لینک/عکس می بایست عضو شوید !برای عضویت اینجا کلیک کنید ]
AMD در توجیه این مورد که چرا از یک واحد
FPU (
واحد پردازش اعدادی با ممیز شناور ) به طور مشترک بین 2 رشته پردازشی
استفاده کرده است این نکته رو متذکر شده که پردازش هایی حجیم شامل اعداد با ممیز شناور در حال حاضر عمدتا به عهده
GPU (
پردازنده گرافیکی) می باشد و 2 برابر کردن واحد FPU تاثیر بهینه ای بر کارایی پردازنده نخواهد داشت.
بولدوزر طراحی جدید خودش رو به کمک پشتیبانی از آخرین دستورالعمل های اجرایی (
Instruction Set ) معماری X86
شامل (
SSE 4.1 SSE 4.2 AES CLMUL AVX XOP FMA4 ) کامل خواهد کرد.