بررسی جامع استانداردهای حافظه GDDR و HBM؛ تفاوتها و ویژگیها
در این مقاله با حافظههای گرافیکی مدرن GDDR و HBM آشنا میشویم و ويژگیها و خصوصیتهای هر یک را بررسی و با یکدیگر مقایسه میکنیم.
9xj1npi
تاریخچهی کارتهای گرافیک انویدیا
• قسمت اول
• قسمت دوم
• قسمت سوم
این روزها با عرضهی کارتهای گرافیک قدرتمندی از سوی دو رقیب دیرین یعنی انویدیا و AMD، جدال بر سر فناوریهای گرافیکی از همیشه داغتر شده است. یکی از آوردگاههای این رقابت نفسگیر، موضوع حافظههای گرافیکی است. رقابتی که در آن، میزان حافظهی گرافیکی همراهبا پردازندهی گرافیکی تنها پارامتر دارای اهمیت نیست؛ بلکه پارامتری به نام پهنای باند حافظه نقش تعیینکنندهای دارد و این دو رقیب تراشهساز تمام تلاش خود را میکنند تا اعداد و ارقام مربوطبه این پارامتر را ارتقاء دهند.
انویدیا درکنار معرفی و عرضهی معماری گرافیکی جدید خود با نام تورینگ و ارائهی قابلیتهایی مانند رهگیری پرتو (Ray Tracing) و آنتیآلیاسینگ مبتنی بر هوش مصنوعی (DLSS)، حافظههای گرافیکی نوظهور GDDR6 را وارد کارتهای گرافیک خود کرده است تا از حداکثر سرعت دسترسی به دادهها و پهنای باند ارائهشده در حافظه های GDDR تا به امروز نهایت بهرهبرداری را کرده باشد. این شرکت در کارت پرچمدار خود Geforce RTX 2080 با بهکارگیری ۸ گیگابایت از این نوع حافظهی سریع گرافیکی، حداکثر پهنای باند را به ۴۴۸ گیگابایت بر ثانیه رسانده است.
تاریخچهی کارتهای گرافیک AMD/ATI
• قسمت اول
• قسمت دوم
در سوی دیگر این آوردگاه AMD قرار دارد که با بهکارگیری ۱۶ گیگابایت حافظهی بسیار سریع و پهنباند HBM2 در کارت گرافیک پرچمدار خود Radeon VII، رقابت تنگاتنگی را با شرکت انویدیا در پیش گرفته و این بار پهنای باند حافظهی گرافیکی را به بیش از یک ترابایت بر ثانیه افزایش داده است.
در ادامهی این مقاله، ابتدا نگاهی خواهیم داشت به مفهوم پهنای باند حافظهی گرافیکی و اصطلاحات فنی مربوطه و سپس بهسراغ بررسی موشکافانهی دو نوع حافظهی گرافیکی GDDR6 و HBM میرویم و ویژگیهای آنها را با یکدیگر مقایسه خواهیم کرد.
پهنای باند حافظه چیست؟
سرعت تبادل دادهها میان حافظه و پردازندهی گرافیکی یا بهعبارت دیگر سرعت خواندن داده از حافظهی گرافیکی یا نوشتن روی آن توسط پردازندهی گرافیکی، پهنای باند حافظهی گرافیکی خوانده میشود. پس پهنای باند حافظه حاکی از سرعت ذخیرهی اطلاعات روی حافظه یا بازخوانی اطلاعات از حافظه توسط تراشهی گرافیکی اصلی یا همان GPU است. پارامتر پهنای باند حافظه با واحد بایت بر ثانیه (Byte/s) یا واحدهای بزرگتر از آن (در این مقاله با واحد GB/s) بیان میشود. معمولاً پهنای باند حافظه که برای یک تراشهی حافظهی خاص اطلاعرسانی و تبلیغ میشود، حداکثر پهنای باند نظری آن تراشه است و پهنای باند واقعی اندازهگیریشده زیر بار پردازش گرافیکی نظیر بازیها کمتر از این عدد است.
پهنای باند حافظهی گرافیکی تابعی از پارامترهای مختلف به شرح زیر است:
• n = تعداد تراشههای حافظهی گرافیکی (تعداد کانال)
• b = پهنای باس هر تراشه (در حافظههای GDDR6 پهنای باس به ازای هر تراشه یا تعداد کانکشنهای تبادل داده بین تراشه و پردازنده، بهصورت استاندارد ۳۲ بیت است و در حافظهی HBM هر تراشهی حافظه دو کانال با پهنای باند ۱۲۸ بیت (در مجموع ۲۵۶ بیت) دارد
• s = سرعت حافظه (نرخ انتقال دادهی داخلی تراشهی حافظه که عموما بر حسب گیگابیت بر ثانیه و گاهی اوقات برحسب گیگاترنسفر بر ثانیه (GT/s) بیان میشود، این سرعت درواقع پهنای باند به ازای هر پین فعال تراشه است)
پهنای باند با دراختیار داشتن مقادیر فوق ازطریق رابطهی زیر محاسبه میشود:
n*b*s)/8)
رقابت اصلی در زمینه حافظههای گرافیکی نه بر سر حجم، بلکه بر سر مجموع پهنای باند تراشههای حافظه است
در رابطهی فوق، برای رسیدن به واحد استاندارد پهنای باند حافظه (گیگابایت بر ثانیه) حاصلضرب سه پارامتر n و b و s تقسیم بر عدد ۸ شده است. همانطور که از این رابطه پیدا است، پهنای باند حافظه در یک کارت گرافیکِ بهخصوص، از تعداد تراشههای گرافیکی موجود، سرعت هر تراشهی حافظه (که بستگی به نوع آن حافظه اعم از GDDR5، GDDR5X، GDDR6 و ... دارد) و پهنای باس هر تراشه تأثیر میپذیرد.
برای مثال، شکل زیر تصویر برد اصلی Geforce RTX 2080، کارت گرافیک پرچمدار انویدیا با معماری تورینگ را نشان میدهد. همانطور که دیده میشود، ۸ تراشهی حافظه از نوع GDDR6 (هریک با چگالی 1GB)، پردازندهی گرافیکی TU104 را احاطه کردهاند که پهنای باس هر تراشه ۳۲ بیت و سرعت انتقال دادهی هر یک 14Gbps است.
rtx 2080
برد اصلی کارت گرافیک Geforce RTX 2080 پرچمدار فعلی انویدیا
بنابر رابطهی فوق، پهنای باند حافظهی گرافیکی در این کارت برابر است با ۴۴۸Gbps یا بهعبارتی:
گیگابایت بر ثانیه ۴۴۸=۸/(۳۲×۱۴×۸)
حال برای مقایسه میخواهیم پهنای باند حافظهی کارت گرافیک GTX 1080 را محاسبه کنیم. در تصویر زیر برد اصلی این کارت که پرچمدار معماری پاسکال است را مشاهده میکنید. دیده میشود که ۸ تراشهی گرافیکی از نوع GDDR5X با پهنای باس ۳۲ بیتی (هر تراشه ازطریق ۳۲ مسیر داده با پردازنده در ارتباط است) و سرعت 10Gbps پردازندهی گرافیکی GP104 را در این برد احاطه کرده است.
gtx 1080
برد اصلی کارت گرافیک Geforce GTX 1080 پرچمدار معماری پاسکال
بنابراین مجموع پهنای باند بنا به رابطهی فوق عبارت است از:
گیگابایت بر ثانیه ۳۲۰=۸/(۱۰×۳۲×۸)
همانطور که مشخص است، پهنای باند حافظه در کارت گرافیک پرچمدار با معماری پاسکال بسیار کمتر از کارت پرچمدار تورینگ است.
حافظههای GDDR
در حافظههای GDDR تراشههای حافظه و پردازندهی گرافیکی هر دو به یک PCB (برد مدار چاپی یا Substrate) متصل شده است و مسیرهای ارتباطی نازکی با تعداد مشخص (کانکشنها) از هر تراشه به GPU رفته و باعث ایجاد ارتباط میان پردازنده و حافظهی گرافیکی میشود. عموما ۳۲ مسیر ارتباطی میان هر تراشهی GDDR و پردازندهی گرافیکی تعبیه شده است که از آن به پهنای باس ۳۲ بیتی تعبیر میشود.
gddr
قبل از آنکه به بررسی دقیق حافظهی GDDR6 و ویژگیهای آن بپردازیم، خوب است نگاهی کوتاه به مهمترین نسلهای حافظهی GDDR که تا به امروز در کارتهای گرافیک مختلف به کار رفته، داشته باشیم. معروفترین انواع حافظههای GDDR عبارتاند از:
GDDR5
مقالات مرتبط:
میکرون تولید انبوه حافظه GDDR6 را آغاز کرد
سامسونگ تولید انبوه تراشه حافظه GDDR6 را در دستور کار دارد
حافظههای GDDR5 پرکاربردترین حافظههای پرسرعتی است که در نسل کنونی کارتهای گرافیک دیده میشود. GDDR5 حافظهی گرافیکی با پهنای باند وسیعتر و توان مصرفی کمتر نسبت به پیشینیان خود است. سرعت انتقال داده (سرعت حافظه) در این حافظهها به 8Gbps میرسد. از این نوع حافظه در کارتهای گرافیک مشهوری نظیر GTX 1060، GTX 1070 و Radeon RX 480 استفاده شده است. هاینکیس، ELPIDA، مایکرون و سامسونگ از مهمترین سازندگان تراشههای GDDR5 هستند. چگالی حافظه در هر تراشهی GDDR5 معمولا ۴ یا ۸ گیگابایت و محدودهی ولتاژ کاری این تراشهها از ۱/۳۵ تا ۱/۵ ولت متغیر است.
gddr5
GDDR5X
GDDR5X درواقع نسخهی بهبود یافتهی حافظههای GDDR5 است. GDDR5X نسبت به برادر بزرگتر خود دو برابر سرعت بیشتری دارد و میتواند به نرخ انتقال دادهای از ۱۰ تا حداکثر 14Gbps در سطح هر پین تراشه دستپیداکند. انویدیا سرعت تراشههای GDDR5X را در کارتهای گرافیک خود روی عدد 11/4Gbps تنظیم کرده است. در حال حاضر تراشههای GDDR5X تنها توسط شرکت میکرون تولید میشود.
GDDR5X با ولتاژ کاری ۱/۳۵ ولت، توان مصرفی کمتری نسبت به GDDR5 داشته و در ظرفیتهای ۴، ۶، ۸، و ۱۶ گیگابیتی به ازای هر تراشه در دسترس است. باید توجه کرد که روی یک PCB امکان جایگزین کردن حافظههای GDDR5 با GDDR5X وجود ندارد؛ چرا که این دو نوع حافظه از تعداد پینهای متفاوتی استفاده میکنند. درحالیکه تراشهی GDDR5 از ۱۷۰ پین برای اتصال به زیرلایه استفاده میکند، تعداد پینها در GDDR5X برای هر تراشه ۱۹۰ پین است. کارت گرافیک پرچمدار و قدرتمند GTX 1080 انویدیا پذیرای ۸ گیگابایت از این حافظههای سریع است. کارتهای گرافیک دیگری نظیر Nvidia TITAN X و شتابدهندههای گرافیکی ورکاستیشن نظیر Nvidia Quadro P5000 از این حافظهی گرافیکی بهرهمند است.
gddr5
مروری بر حافظهی گرافیکی GDDR6
پهنای باند حافظه همیشه چالشی برای کارتهای گرافیک بوده است؛ چالشی که با گذر زمان، سختتر و سختتر میشود. بهلطف قانون مور نسل به نسل بر تعداد ترانزیستورهای پردازندههای گرافیکی (و البته تعداد هستههای مختلف در آن) افزوده میشود. این درحالی است که حافظههای DRAM که پهنای باند آن تابع این قانون نیست، روند پیشرفت بسیار کندتری را تجربه میکند.
برآیند خالص چنین روالی این است که رقم پهنای باند حافظهی در دسترس به ازای توان محاسباتی پردازندهی گرافیکی (برحسب فلاپس)، به ازای حجم و کیفیت بافتهای گرافیکی و به ازای آمیزهی پیکسلها بهتدریج افت میکند. در چنین شرایطی برای حفظ سطح عملکرد پردازندهی گرافیکی و ممانعت از ایجاد گلویی (Bottleneck)، سازندگان تراشههای گرافیکی و انواع حافظه هر دو باید به فکر راهی برای افزایش پهنای باند حافظه در مسیر آینده باشند و در عین حال از میزان پهنای باند مورد استفادهی اپلیکیشنهای گرافیکی با روشهایی نظیر فشردهسازی دادهها در حافظه بکاهند. با اینکه هیچکدام از این دو راهحل بهآسانی به نتیجه نمیرسد، انویدیا، غول تراشههای گرافیکی توانسته است در یک دههی گذشته در هر دو زمینه موفق عمل کند. در جدول زیر افزایش نسل به نسل پهنای باند حافظه در کارتهای گرافیکی این شرکت و میزان پهنای باند به ازای هر فلاپ توان محاسباتی پردازندهی گرافیکی (برحسب بیت) ارائه شده است.
پردازنده گرافیکی
توان محاسباتی (ترافلاپس)
نوع حافظهی گرافیکی
پهنای باند به ازای هر واحد فلاپ (بیت)
پهنای باند کلی حافظه گرافیکی
RTX 2080
10.06
GDDR6
0.36
448GB/sec
GTX 1080
8.87
GDDR5X
0.29
320GB/sec
GTX 980
4.98
GDDR5
0.36
224GB/sec
GTX 680
3.25
GDDR5
0.47
192GB/sec
GTX 580
1.58
GDDR5
0.97
192GB/sec
انویدیا با ارائهی معماری تورینگ و تمرکز بسیار بر رهگیری پرتو و پردازش شبکهی عصبی، جهشی سریع در پهنای باند حافظه رقم زده است. اگر پهنای باند را صرفا برحسب سطح عملکرد هستههای CUDA مورد بررسی قرار دهیم، مقدار این پارامتر به ازای هر فلاپ در معماری تورینگ در مقایسه با پاسکال واقعا افزایش یافته است؛ چرا که توان عملیاتی هستههای کودا در پردازندهی گرافیکی RTX 2080 نسبت به GTX 1080 افزایش چشمگیری نداشته است. اما پردازندهی گرافیکی RTX 2080 هستههای انحصاری و متعددی برای اجرای رهگیری پرتو و آنتی آلیاسینگ مبتنی بر هوش مصنوعی (DLSS) دارد که هر یک به روش خود پهنای باند حافظهی بالایی را اشغال میکند. در مجموع، مشاهده میشود که در بحث محاسبات اعشاری FP32 میزان پهنای باند در دسترس برای هر هسته قدری افزایش یافته است. اما اگر از جنبهی ساختار کلی پردازندهی گرافیکی به موضوع نگاه کنیم، میزان نزاع انواع هستههای گرافیکی نیز برای داشتن پهنای باند بیشتر، فراتر از گذشته است.