در این چند تاپیک قصد داریم تا به صورت مختصر و مفید جزئیات بیشتری از معماری کارت های گرافیکی Radeon HD 7000 و ویژگی هایی از آن ها را که در پست اول اشاره اشاره شد به صورت سرفصل وار، بررسی کنیم.
معماری GCN :
این حروف مخفف عبارت Graphics Core Next بوده و به نوعی نسل جدیدی از پردازنده ی گرافیکی را مژده می دهد. در واقع این عبارت نام معماری جدیدی است که AMD در نسل جدید کارت های گرافیکی خود استفاده می کند. اما حال یک سوال ایجاد می شود که چرا AMD بعد از گذشت چندین سال استفاده از معماری های قدیمی تری چون VLIW تصمیم به ایجاد تغییرات اساسی در آن کرده و نهایتا GCN را پدید آورده است ؟
این سوال تنها یک جواب دارد و آن فراگیر شدن روزافزون مبحث GPU Computing می باشد. تا چندین سال قبل ، از یک GPU ( پردازنده گرافیکی ) تنها برای شتاب دادن به پردازش های گرافیکی استفاده می شد و بدین ترتیب پردازنده اصلی CPU)) فرصت رسیدگی به سایر پردازش های جاری سیستم را پیدا می کرد. به همین ترتیب معماری GPU ها روز به روز پیشرفت کردند تا جایی که در حال حاضر قادر به انجام پردازش های گرافیکی بسیار پیچیده ای هستند که هیچ CPU ای از عهده آن ها برنمی آید، که این مورد هم به ساختار Parallel (موازی) GPU در مقابل ساختار Serial ( ترتیبی ) CPU بر می گردد . به همین دلیل یک GPU ، محاسباتی را که می توان آن ها را به قطعاتی کوچکی تقسیم کرد ( مانند پردازش های گرافیکی و وابسته به پیکسل ها ) را به طور همزمان توسط چندصد پردازنده جریانی (Stream Processor ) خود در مدت زمان به مراتب کمتری نسبت به یک CPU اجرا می کند. در واقع CPU بیشتر تمایل به اجرای دستورالعمل ها و محاسبات به صورت ترتیبی و پشت سر هم دارد که البته هرکدام با سرعت بالا پردازش می شوند و در مقابل آن GPU تمایل به انجام پردازش همزمان روی چندین داده که هرکدام با سرعت پایینی اجرا می شود را دارد.
در حال حاضر یک CPU نهایتا از 10 هسته پردازشی ( که هرکدام به تنهایی سرعت و قدرت محاسبتی بالایی دارند ) بهره می برد در حالی که یک GPU ( به طور مثال HD 7970 ) از 2048 واحد محاسباتی جریانی !! ( که البته هرکدام به تنهایی سرعت و قدرت محاسباتی بسیار پایینی دارد ) بهره می برد و در این جاست که می توان تفاوت CPU و GPU را به زبان ساده درک کرد.
حال در مبحث GPU Computing توسع دهندگان می خواهند از ساختار موازی GPU برای انجام محاسبات غیر گرافیکی که عموما به عهده CPU می باشد نیز بهره ببرند مثلا از GPU برای تبدیل فرمت های ویدئویی به یکدیگر استفاده کنیم یا از آن در رندر انیمیشن ها و کشف رمزها و پسورد هایی که نمی دانیم استفاده کنیم و ... . همچنین با مجتمع شدن پردازنده های گرافیکی با پردازنده اصلی ( مانند APU های شرکت AMD ) مبحث GPU Computing برای سازندگان روز به روز مهم تر و تایین کننده تر می شود.
معماری های بر پایه VLIW که تا قبل از سری 7000 در کارت های شرکت AMD استفاده می شد در قسمت Gaming عملکرد بسیار خوبی داشتد اما در مبحث Computing نسبتا ناکارآمد و ضعیف عمل می کردند که از پرداختن به دلایل آن صرفه نظر می کنیم . به همین دلیل AMD شروع به کار بر روی معماری GCN کرد که با هدف اصلی بهبود کارایی در مبحث Computing و افزایش نسبی کارایی در مبحث Gaming طرح ریزی شده بود .
HD 7970 از یک نمونه کامل این معماری جدید بهره می برد که با اسم رمز Tahiti نامگذاری شده است.
در تصویر زیر دیاگرامی کامل از معماری GCN و رابطه منطقی اجزای آن قرار داده شده است:
در این طراحی یک GPU از 32 واحد محاسباتی ( CU ) بهره می برد. هر CU از قسمت های مختلفی تشکیل شده که از مهم ترین آن ها می توان به موارد زیر اشاره کرد:
- مقدار 16KB حافظه کش سطح 1 که با سرعتی نزدیک به 2TB/s قادر به انتقال داده می باشد. همچنین میزان 768KB حافظه کش سطح 2 با سرعت 700GB/s هم تعبیه شده که بین تمام CU ها مشترک می باشد. این حافظه ها تا 50% نسبت به سری HD 6000 سریع تر شده اند.
- تعداد 4 عدد Texture Unit . بدین ترتیب تعداد کل این واحدها برابر با 32x4=128 خواهد بود.
- تعداد 4 عدد Vector Unit که AMD برای آن ها از واژه SIMD که مخفف عبارت ( Single Instruction Multiple Data ) نیز استفاده کرده است . در واقع همانطور که از نام آن مشخص می باشد هر واحد یک دستورالعمل ثابت را بر روی داده های مختلف اجرا می کند. هر کدام از این واحدها نیز خود از 16 پردازنده جریانی تشکیل شده که در واقع کوچکترین واحدهای محاسباتی این معماری هستند. بدین ترتیب یک GPU کامل از مجموعا 32x4x16=2048 پردازنده جریانی بهره می برد. در تصویر زیر یک واحد SIMD به همراه 16 واحد محاسباتی آن را مشاهده می کنید:
از CU ها خارج می شویم و قسمت های دیگری را هم که در آن ها تغییراتی صورت گرفته بررسی می کنیم.
در این معماری AMD با بهره گیری از Tessellator Gen9.0 و اصلاحاتی که در آن به عمل آورده یکی دیگر از ایرادات اساسی کارت های سری HD 5000 و 6000 HD را که در مبحث Tessellation (به معنای ترسیم اشکال پیچیده هندسی به کمک ترسیم چندضلعی های ساده و کوچکی که کنارهم و بدون فاصله قرار می گیرند ) بسیار ضعیف ظاهر می شدند را مرتفع ساخته است. این مقدار به گفته AMD بین 1.4 الی 4 برابر نسبت به نسل قبل می باشد. به همین منظور از چندین گیم مختلف از جمله HAWX2 ، Batman:Arkham City و نرم افزار Unigine’s Heaven Benchmark برای تست استفاده شده است که میانگین نتایج حاصل از آن ها به صورت درصدی مرتب شده اند که گویای پیشرفت AMD در این قسمت ( به طور مثال نسبت به HD 6970 ) می باشند:
در قسمت حافظه هم تغییراتی ایجاد شده است از جمله به کارگیری 6 عدد کنترلر حافظه هر یک با پهنای باند 64 بیت که مجموعا مسیری با پهنای معادل 384 بیت را برای اتصال GPU و حافظه گرافیکی را تامین می کند. در نهایت به کمک استفاده ازحافظه های GDDR5 با سرعت 5500MHz در HD 7970 این مسیر ارتباطی ، سرعتی تئوری برابر با 264GB/s را بین GPU و حافظه برقرار کرده است.
در آخر ، قسمت های فوق همگی به کمک تکنولوژی ساخت 28nm در کمپانی تایوانی TSMC بر روی یک تراشه مجتمع شده اند که نهایتا شمار ترانزیستورهای به کار رفته در هر چیپ به رقم فوق العاده 4.5 میلیارد رسیده است.
Bookmarks