متن اصلی

 

مقدمه

کارت گرافیکی یا کارت گرافیک (عبارت صحیح “کارت گرافیکی” است، با این این حال در جاهای مختلف از هر دو واژه استفاده می کنیم. Graphics Card به معنای کارت گرافیکی می باشد) متشکل از یک برد مدار چاپی (Printed Circuit Board) است، که قطعات مختلفی بر روی آن مونتاژ می شود. این قطعات  شامل خازن ها، مقاوت ها، آی سی های مختلف، تراشه گرافیکی، حافظه گرافیکی و غیره هستند.

 

graphics cards 5

 

به طور کلی، کارت گرافیکی مسئول انجام پردازش های بصری است. این پردازش ها گاهی نمایش تصاویر، گاهی نمایش های فایل های ویدیویی و گاهی رندر بازی های ویدیویی می باشد. با توجه به اینکه پردازنده مرکزی سیستم وظایف بسیار زیادی بر عهده دارد، سپردن پردازش های گرافیکی بر دوش این واحد، محدودیت های زیادی را ایجاد می کند. این محدودیت ها را می توان در اندازه سطح پردازنده مرکزی، حرارت تولید شده، فضای بسیار کم برای قرار دادن هسته های پردازشی گرافیکی و غیره جست و جو کرد.

پردازش های گرافیکی را می توان سنگینترین نوع پردازش نامید. سنگینی این پردازش را می توان از طریق نرم افزارهای طراحی ویژه مانند 3DMax، Maya و غیره به خوبی متوجه شد. به همین سبب، وجود یک واحد پردازش گرافیکی به صورت کاملا اختصاصی، از اهمیت ویژه ای برخوردار است.

استفاده از کارت های گرافیکی، تمام محدودیت های نام برده را مرتفع ساخته، و به صورت شگفت انگیزی باعث تسریع فراتر از تصور در انجام عملیات های پردازشی ویدیوئی خواهد شد.

 

تاریخچه

اولین کارت گرافیکی در سال 1981 توسط شرکت IBM  ساخته شد. این کارت گرافیکی Monochrome Display Adaptor  نام داشت، که نمایش متون با کاراکترهای مختلف با رنگ های سفید و سبز در پس زمینه سیاه و در قالب 80 ستون و 25 خط قابلیت این کارت گرافیکی به شمار می رفت.

 

IBM MDA

 

IBM MDA دارای ریزپردازنده Hitachi HD6845 با فرکانس 8 مگاهرتز و 4 کیلوبایت حافظه گرافیکی بود. تصویری از کامپیوتر IBM 5150 که به IBM MDA  مجهز است:

 

IBM PC 5150

 

 

اجزای تشکیل دهنده کارت گرافیکی

از سال 1981 تا کنون، کارت های گرافیکی تحولات بسیار عظیمی را به خود دیده اند. در مدت زمان کمتر از 40 سال، قدرت کارت های گرافیکی هزاران برابر شده است. در تصویر زیر بورد یک کارت گرافیک پیشرفته امروزی را مشاهده می کنیم که در ادامه به توضیح قسمت های مختلف آن خواهیم پرداخت:

 

graphics card parts

 

PCB: مخفف کلمات Printed Circuit Board، به معنای برد مدار چاپی است. کیفیت این بورد، در کیفیت نهایی کارت گرافیک تاثیر گذار است. PCB معمولا از چند لایه تشکیل شده است و بعضی از سازندگان، هر لایه را به عبور جریان برای یک قسمت خاص از کارت گرافیک مانند تراشه گرافیکی اختصاص می دهند.

GPU: مخفف 3 کلمه Graphics Processing Unit و به معنای واحد پردازش گرافیکی است، که مغز متفکر یک کارت گرافیکی محسوب می شود. این واحد بر خلاف تصور اکثریت جامعه که حجم کارت گرافیکی را عامل قدرت آن می دانند، تعیین کننده قدرت پردازشی یک کارت گرافیکی به شمار می رود.

Video Memory: حافظه ویدیوئی یا گرافیکی، موظف به نگه داری داده های مورد نیاز جهت پردازشی گرافیکی است. ایده آل بودن میزان حافظه گرافیکی، به نوع پردازش انجام شده بستگی دارد. بعضی از پردازش ها به کمتر از 500 مگابایت و بعضی دیگر به بیش از 20 گیگابایت نیز علاقه نشان می دهند.

VRM: مخفف Voltage Regulator Module به معنای مدار تنظیم کننده ولتاژ است. VRM نقش بسیار حیاتی در تامین جریان مورد نیاز بخش های مختلف مثل GPU  و Memory دارد، که جلوتر به تشریح مفصل آن خواهیم پرداخت.

Bridge: کارت های گرافیکی می توانند در کنار یکدیگر نیز بکار گرفته شوند. این تکنولوژی که برای کمپانی NVIDIA با نام SLI  و برای کمپانی AMD با نام CrossfireX  شناخته می شود، اجازه استفاده از نهایتا 4 کارت گرافیکی Single GPU و یا دو کارت گرافیکی Dual GPU را برای کاربران میسر می سازد. Bridge  محل اتصال یک پل بین کارت های گرافیکی است:

 

nvidia sli 4 way

 

Display Connectors: کارت های گرافیکی برای ارتباط و نمایش نتیجه پردازش های انجام شده به کاربران، باید از یک کابل واسط استفاده کنند. این کابل ها مدل های مختلف با کارایی متفاوتی دارند و باید با توجه به وضوح تصویر و نرخ تازه سازی تصویر پشتیبانی شده توسط شده توسط مانیتور انتخاب شوند. برای مثال مانیتورهای رده بالایی که دارای وضوح تصویر 3840 پیکسل به صورت افقی و 2160 پیکسل به صورت عمودی و نرخ تازه سازی تصویر 60 هرتز هستند، باید حداقل از کابل، Display Port  نسخه 1.2 استفاده کنند. کابل مذکور از توانایی انتقال دیتا با پهنای باند 17.28 گیگابیت بر ثانیه برخوردار است.

در حال حاضر به جز پورت VGA، پورت های DVI و HDMI بیشترین کاربرد را دارند. تصویری از کابل ها و پورت های مذکور:

 

hdmi dvi vga ports

 

پورت DVI معمولا در نوع DVI-I و DVI-D بکار می رود که دارای تفاوت های کوچکی با یکدیگر هستند(به همین دلیل انتخاب این کابل باید با دقت انجام شود):

 

DVI I DVI D

 

 

Printed Circuit Board

قبل از مونتاژ قطعات مختلف کارت گرافیکی، ابتدا باید بورد مدار چاپی را طراحی نمود. نرم افزارهای گوناگونی برای طراحی بورد مدار چاپی وجود دارد که امکان طراحی همه نوع PCB را فراهم می سازند. Allegro PCB Designer یکی از این نرم افزارها است، که محیطی شبیه به نرم افزار Proteus، نرم افزارهای پرکاربرد رشته مهندسی برق دارد.

 

Allegro PCB Designer

 

در تصویر بالا، تمام مکان هایی که مختص مونتاژ قطعات مختلف می باشد، به خوبی مشخص شد است. نقاطی که به رنگ سبز در آمده اند، با آلیاژهایی مانند مس پوشیده خواهند شد. برای ساخت بورد مدار چاپی از فایبرگلس، فیبر مدار چاپی، تفلون و غیره استفاده می کنند. پس از طراحی مدار که یک پروسه بسیار پیچیده دارد، نحوه اتصالات قطعات مختلف با یکدیگر تعیین شده و مدار طی یک پروسه دیگر روی بورد چاپ می شود. به همین دلیل آن را بورد مدار چاپی می نامند. به دلیل اکسیداسیون سریع مس، نواحی پوشیده شده با مس توسط فلزات دیگر مانند نیکل پوشیده خواهد شد تا مانع اکسیداسیون مس شود.

 

VGA PCB front

 

VGA PCB back

 

برق رسانی اولیه

کارت گرافیکی یک قطعه الکترونیکی است که برای فعالیت نیازمند جریان بالا و ولتاژ کاری کم است. کارت های گرافیکی از طریق اینترفیس خود که PCI-Express نام دارد، با مادربورد ارتباط برقرار می کنند. البته پیش از PCI-E، AGP جایگزین آن بود و سالهاست که تمام کارتهای گرافیکی تولید شده از رابط PCI-E به دلیل سرعت بالای انتقال اطلاعات استفاده می کنند. این رابط علاوه بر تبادل دیتا، قادر به فراهم سازی 75 وات (6.25 آمپر در شاخه 12 ولت منابع تغذیه) از جریان مورد نیاز کارت گرافیکی است. PCI-Express  شامل سه نسخه 1،2 و 3 است که در میزان پهنای باند اطلاعات اطلاعات با یکدیگر تفاوت دارند. پهنای باند نسخه 1.0 حداکثر به 4 گیگابایت بر ثانیه، نسخه 2.0 به 8 گیگابایت بر ثانیه و نسخه 3.0 به 16 گیگابایت بر ثانیه می رسد.

 

PCI Express

 

75 وات تنها برای کارت های گرافیکی کم مصرف کافی می باشد و کارتهایی که مصرف بیشتری دارند، باید از طریق دیگر به تامین جریان مورد نیاز خود بپردازند. تامین جریان بیشتر توسط کانکتور های 6 و 8 پین تعبیه شده بر روی کارت های گرافیک صورت می پذیرد. کانکتور 6 قادر به فراهم کردن 75 وات و کانکتور 8 پین قادر به فراهم سازی 150 وات بیشتر برای کارت گرافیکی است. البته این اعداد در دنیای حرفه ای سخت افزار فراتر از این مقادیر است.

 

PCI Express 6 8 pins

 

کارت گرافیکی که تصویر کانکتورهای آن در بالا مشخص است، نیاز به جریان بالایی دارد. با توجه به در نظرگرفتن توان فراهم شده توسط گذرگاه PCI-E، کارت مذکور قادر به تامین 450 وات برای فعالیت خود است. این مقدار با توجه به توجه اینکه توسط شاخه 12V+ منبع تغذیه تامین می شود و فرمول P=VxI برابر با 37.5 آمپر می باشد. استفاده از این کارت گرافیک نیازمند یک منبع تغذیه پرقدرت با توانایی فراهم سازی حداقل 700 وات (83.3آمپر) بر روی شاخه 12V+ است. البته خود کارت گرافیکی با جریان پایینتر از این مقادیر قادر به فعالیت است، اما سازنده این کانکتورها را برای مصارف کاملا حرفه ای در نظر گرفته است.

 

Voltage Regulator Module

برق رسانی اولیه، همان طور که در بالا اشاره شد، توسط کانکتورهای 6 و 8 پین PCI-E به همراه گذرگاه PCI-E انجام می شود. پس از این مرحله، جریان وارد شده به کارت گرافیکی باید مورد بازنگری های لازم قرار گیرد. وظیفه این بازنگیری بر عهده VRM است.

يکي از مهم‌ترين و حياتي‌ترين بخش‌ها در يک کارت گرافیکی، مدار رگولاتور يا VRM است که وظيفه تأمين جريان الکتریکی موردنياز بخش های مختلف مانندMemory  و GPU را بر عهده دارد. طي اين پروسه مي‌بايست ولتاژ 12 ولتی از طريق کانکتورهای 6 و 8 پين به ولتاژي با محدود مورد نياز بخش های ذکر شده با آمپراژ بالا به ‌منظور تغذيه صحيح آنها تبديل گردد.

کارکرد صحيح و اعمال ولتاژهاي به اندازه و به‌موقع، و همچنين، جلوگيري از اعمال ولتاژهاي ناخواسته و حذف نويزهاي اضافي (که اين نويز تأثير زيادي در کاهش کيفيت و راندمان دارد) ارتباط مستقيم به VRM دارد.کيفيت ولتاژهاي ارائه شده توسط VRM مي تواند در افزايش بازدهي کلي يک کارت گرافیکی تاثير گذاشته و همچنين باعث کاهش مصرف انرژي کارت گرافیکی خصوصا GPU گردد.

در حقيقت اين مدار رگولاتور است که تصميم مي‌گيرد برق‌رساني چگونه انجام شود. يا به عبارتي ساده تر کارت گرافیکی شما با کوچک‌ترين سهل‌انگاري بسوزاند يا در سخت‌ترين شرايط کاري از آن محافظت شود! اين مدار اگر از طراحي و کيفيت ساخت بالايي برخوردار باشد، قادر به اتخاد تصميمات بسيار هوشمندانه‌اي خواهد بود، تا خيال شما را از پايداري کارت گرافیکی راحت کند.

 

VRM

 

تصویر بالا، مدار تنظیم کننده بسیار پیشرفته یک کارت گرافیک رده بالا در سال  2013 را نشان می دهد (همان کارتی که تصویر بورد آنها را قسمت های قبل مشاهده کردیم) که هنوز هم جزء پیشرفته ترین مدار های تنظیم کننده ولتاژ به شمار می رود.

این مدار شامل دو قسمت برای GPU و Memory است که قسمت راست (شامل3 چوک) برای مموری و قسمت چپ که تعداد چوک های زیادی دارد، برای GPU در نظر گرفته شده است. ابتدا به تشریح VRM تراشه گرافیکی می پردازیم:

این قسمت شامل 12 فاز است. با توجه به اینکه GPU توان بسیار زیادی لازم دارد، جریان وارد GPU همچنان ثابت شده به GPU پس از مصرف توسط این واحد، با افت زیادی روبرو می شود. برای جلوگیری از این موضوع، تعداد فازهای GPU افزایش می یابد تا جریان بعد از مصرف توسط بماند. (هر فاز این قسمت از مدار شامل یک چوک، یک خازن خروجی، یک ماسفت به صورت تراشه مجتمع است و خازن های ورودی به صورت مشترک مورد استفاده بین فاز ها قرار می گیرند)

خازن های ورودی: خازن های ورودی VRM تراشه گرافیکی، خازن های استوانه ای شکل بالا هستند که تعداد آنها 8 عدد است. پس از عبور جریان وارد شده از کانکتورهای 6 و 8 پین، این جریان وارد خازن های ورودی می شود. خازن های ورودی وظیفه ذخیره جریان و ارسال به سایر به قسمت های مدار در مواقع لزوم را بر عهده دارند. البته این 8 عدد خازن بین 12 فاز مدار تنظیم کننده ولتاژ به صورت مشترک مورد استفاده قرار می گیرند. علاوه به نگهداری جریان، کاهش نویز این جریان تا حد پایینی صورت می گیرد. این خازن های جامد ساخت کشور ژاپن است و طول عمر مفید آنها 10000 ساعت تخمین زده می شود.

ماسفت: ماسفت ها در حقیقت مانند یک پل عمل می کنند. جریان ذخیره شده در خازن های ورودی، برای طی کردن مسیر به سمت GPU، باید از ماسفت ها عبور کند. در مدار VRM از 2 ماسفت Low-Side و High-Side به همراه یک Mosfet Driver استفاده می شود. اما ماسفتی که در مدار رگولاتور GPU مشخص شده است، به صورت تراشه مجتمع می باشد که شامل هر 3 ماسفت است. این مدار شامل 12 ماسفت مجتمع (با ظرفیت 60 آمپر) به ازای هر فاز است. کنترل ماسفت های Low و High توسط ماسفت درایور انجام می شود و کنترل خود ماسفت درایور نیز، توسط یک تراشه PWM صورت می پذرید.

زمانی که جریان اجازه ورود به سایر قسمت های مدار را پیدا می کند، از ماسفت High عبورکرده و زمانی که GPU به جریان اضافی نیاز ندارد، جریان در ماسفت Low ذخیره می شود. با توجه به اینکه کارت گرافیکی در بیشتر اوقات در حالت بیکاری است و هیچ گونه بارگزاری روی آن انجام نمی شود، اهمیت ماسفت Low-Side از High-Side بیشتر است.

استفاده از ماسفت ها به صورت تراشه مجتمع دو مزیت دارد: 1) حرارت تولید شده بسیار کمتر نسبت به بکارگیری 3 ماسفت به صورت جداگانه است. 2) جریان  در حالت بیکاری GPU، فضای بیشتری برای ذخیره و گردش خواهد داشت.

چوک: یکی از مهمترین وظایف در VRM مربوط به چوک ها است. چوک ها یک قطعه الکترونیکی هستند که وظیفه کاهش نویز جریان تا جای ممکن را دارند. GPU برای کارکرد صحیح نیاز به جریان صاف و پایداری دارد که نیازمند حذف نویز است. شکل زیر وضعیت یک جریان ناسالم برای GPU را نمایش می دهد:

 

GPU Current

 

این جریان همانطور که مشخص است در لبه های بالا و پایین قرار دارد و با نویز زیادی همراه است. جریان ناسالم فوق مناسب یک کارت گرافیکی حرفه ای نیست و عملکرد درستی به همراه ندارد.

 

GPU Current 2

 

جریان مشخص شده در تصویر بالا، بسیار بهتر از حالت اول می باشد. این جریان کارکرد صحیح یک GPU را به همراه دارد. وظیفه ایجاد جریانی که تا حد ممکن نویز عاری از هر گونه نویز باشد، بر عهده چوک ها است. چوک های رده بالای امروزی، درون خود دارای یک سیم پیچ سلفی هستند که به دور یک هسته فریت پیچیده شده اند. کمپانی های بزرگ برای رقابت با یکدیگر، آلیاژ مخصوص خود را برای سیم پیچ سلف و فریت بکار می گیرند. فریت یک ماده مغناطیسی است که اکسید آهن یکی از عناصر اصلی تشکیل دهنده آن است و پارامترهای مغناطیسی مطلوبی دارد. تصویری از برش های مختلف فریت:

 

ferrite choke

 

خازن های خروجی: پس از تصفیه جریان توسط چوک ها، جریان مورد نیاز GPU آماده بهره برداری است! البته پیش از این مرحله، خازن های دیگری در نظر گرفته می شود که خازن های خروجی نام دارند، خازن هایی که جریان را از مدار خارج می کنند. وظیفه این خازن ها، ذخیره جریان سالم و ارسال به GPU در مواقع لازم و تصحیح نویز جریان تا آخرین حد است.

خازن های خروجی GPU در تصویر VRM، سمت چپ قرار دارند که دارای ظاهری تخت هستند. این خازن ها که 12 عدد به ازای هر فاز می باشند، Hi-c Cap یا Highly-Conductive Polymerized Capacitor نام دارند که دارای خاصیت رسانایی بسیار بالایی هستند. این خازن ها که از عنصر کمیاب تنتلوم (Tantalum) با روکشی اکسید دی الکتریک پوشانده شده اند، نسبت به خازن های جامد رایج که از آلومینیوم ساخته می شوند، دارای ابعاد کوچکتر، جریان نشتی کمتر و عمر بسیار طولانی هستند که برتری آنها محسوب می شود. این خازن ها قیمت بالایی دارند و در محصولات خاص به کار گرفته می شوند. اکنون به مدار تنظیم کننده ولتاژ مموری ها می پردازیم:

مدار رگولاتور مموری ها متشکل از 3 فاز است. 3 چوک، 2 خازن خروجی جامد به صورت مشترک برای هر 3 فاز، 3 ماسفت Low-Side + High-Side + Mosfet Driver و دو خازن خروجی Hi-c Cap به مدار تنظیم کننده ولتاژ مموری اختصاص یافته است. جریانی که این مدار قادر به تامین است، در مقایسه با مدار رگولاتور GPU بسیار کمتر است که دلیل این موضوع به مصرف بسیار پایینتر مموری ها برمی گردد. در این مدار خبری از ماسفت ها به صورت تراشه مجتمع نیست که بکار گیری آنها برای مموری ها با توجه به حساس نبودن موضوع، اهمیت چندانی ندارد.

پایین این قسمت دو تراشه میکرو کنترلر وجود دارد که با نقطه ای زرد رنگ در گوشه آنها مانند تصویر زیر مشخص شده است:

 

pwm controller

 

این تراشه ها در حقیقت وظیفه نظارت بر ولتاژ تراشه و حافظه گرافیکی را بر عهده دارد. آی‌سی‌های یاد شده که در حقیقت PWM Controller هستنند، با ارسال یک سیگنال به ماسفت درایور (ماسفت درایور جدا یا ماسفت درایور موجود در تراشه های مجتمع)، زمان باز بودن ماسفت Low-Side یا High-Side را مشخص می کنند. این زمان باعث می شود مقدار مشخصی از جریان وارد مموری یا GPU شود.

تصویر زیر به خوبی چرخه VRM را بیان می  کند(خازن های ورودی در این تصویر در نظر گرفته نشده اند):

 

VRM cycle

 

 

مقایسه مدار رگلاتور با مراحل پالایش و تصفیه آب

مدار رگولاتور یا مدار تنظیم کننده ولتاژ، از نظر سیکل کاری دارای مراحل کاملا مشابه هستند. برای فهم و درک صحیح مدار رگلاتور ولتاژ ساختار شیر آب را در نظر بگیرید    ( البته مقایسه VRM با شیر آب کاملاً صحیح نمی‌باشد، اما در خیلی از موارد معتبر است). آبی که از شیر آب خارج می‌شود باید تمیز باشد، از فشار مناسبی برخوردار بوده و در هراندازه‌ای که موردنیاز شخص است در دسترس قرار گیرد.

 

VRM 2

 

برای تولید آب موجود در لوله آب، نخست آب باید توسط یک منبع بزرگ تحت کنترل قرار گیرد، تصفیه و پاکیزه شده و سپس در لوله‌ها جاری‌ شود و تحت‌فشار قرار گیرد تا به منزل شما برسد. همان‌گونه که ما به آب احتیاج داریم، تراشه و مموری گرافیکی نیز به برق احتیاج دارد. منبع موردنیاز آب برای انسان ممکن است آب جمع شده پشت یک سد بزرگ، سفره آب زیرزمینی و … باشد، اما منبع تأمین‌کننده انرژی مورد نیاز پردازنده مرکزی منبع تغذیه یا همان PSU کامپیوتر است.

آب مصرفی موردنیاز انسان پس از خروج از سد به مرکز تصفیه آب ورود پیدا می‌کند، جریان مصرفی پردازنده نیز توسط رگلاتور ولتاژ تصفیه می‌شود. آب تصفیه‌شده سپس باید تحت‌فشار قرارگرفته و پاکیزه شود، این عمل در مدار نامبرده توسط فازها انجام می‌پذیرد. ماسفت‌ها همانند پمپ عمل کرده و درایورهایی نیز حاضر می‌باشند که وظیفه کنترل پمپ‌ها را برعهده دارند. سپس سلف‌ها آب را ذخیره کرده و همانند یک مخزن صافی به تصفیه و پاک‌سازی آن می‌پردازند، پس‌ازآن تمامی مخازن تصفیه (سلف‌ها) آب را به مخازن نگه‌داری (خازن‌ها) یا مستقیماً به سمت شهر و منازل مردم (تراشه گرافیکی و …) می‌فرستند. کنترل‌گر اصلی سیگنال‌های PWM بوده و درایورها نیز توسط سیگنال‌های مذکور کنترل می‌شوند.

 

Video Memory

پیش تر توضیح مختصری راجع به حافظه های ویدیوئی یا گرافیکی ارائه شد. این حافظه ها محلی برای ذخیره داده های مورد نیاز GPU هستند که در صورت درخواست از سوی GPU، در کمترین زمان باید در دسترس قرار گیرند. حافظه های گرافیکی برای ارتباط با GPU به یک باس نیاز دارند که عریض بودن آن رابطه کاملا مستقیم با پهنای باند ایجاد شده دارد. این باس ها نهایت در ظرفیت های 512 بیتی برای کارتهای گرافیکی تک GPU بکار گرفته می شوند.

 

video memory

 

حافظه های گرافیکی بر خلاف حافظه های اصلی که با نام DDRx نام گذاری می شوند، دارای یک پیشوند G هستند که مخفف کلمه Graphics به معنای گرافیکی است. GDDR مخفف کلمات Graphics Double Data Rate Memory (حافظه گرافیکی با نرخ انتقال اطلاعات دو برابر) است که چندین نوع دارند. اما چرا Double Data Rate ؟

حافظه های گرافیکی یا حافظه های اصلی دارای دو فرکانس یا کلاک هستند:

فرکانس موثر، فرکانس اصلی حافظه است که معمولا برای اشاره به سرعت یا کلاک حافظه ها از آن استفاده می کنند. اما به دلیل نرخ دو برابر داده های این حافظه ها، یک فرکانس کاری نیز به آنها تعلق می گیرد. برای مثال اگر یک حافظه گرافیکی یا حتی اصلی، دارای فرکانس موثر 500 مگاهرتز باشد، فرکانس کاری آن برابر با 1000 مگاهرتز است. دلیل این موضوع به انتقال اطلاعات در زمان رفت و برگشت و تنها در یک سیکل کاری بر می گردد. پس این حافظه در واقع با سرعت 1000 مگاهرتز در حال کارکرد می باشد، اما فرکانس واقعی یا موثر آن برابر با 500 مگاهرتز است. البته این نام گذاری از لحاظ حرفه ای تنها تا حافظه های گرافیکی GDDR3 صدق می کند (این موضوع به حافظه های اصلی مربوط نمی شود). حافظه هایی که بعدها تولید شدند، در یک سیکل کاری قادر به تبادل دیتا در 4 و حتی 8 مسیر یا کانال برای رفت و برگشت هستند. در جدول زیر به انواع حافظه های GDDRx پرکاربرد همراه با برخی از خصوصیات آنها اشاره می کنیم:

 

GDDR memory

 

در جدول بالا لیست حافظه هایی که بیشترین کاربرد را دارند ذکر شده است. GDDR2 حافظه ای بود که عمر زیادی نکرد و GDDR3 جایگزین آن شد. GDDR2 به دلیل ولتاژ کاری بالا، حرارت بالایی نیز تولید می کرد و فرکانس محدودی برای آن قابل اعمال بود. حافظه های GDDR3 به لطف کاهش ولتاژ کاری تا حدود 70 درصد، قادر کارکرد در فرکانس به مراتب بالایی را داشتند. بیشترین سرعتی که این حافظه ها به خود دیدند، حدود 1300 مگاهرتز به صورت موثر بود.

البته در سال 2007 حافظه های GDDR4 نیز تولید شدند که عمر بسیار کوتاهی داشتند. این حافظه گرافیکی تنها در کارت گرافیک ATI Radeon HD 3870 بکار گرفته شد.

سال 2008 حافظه گرافیکی GDDR5  به همراه یکی کارت گرافیک آن زمان معرفی شد که در حقیقت Graphics Quad Data Rate Memory بود! اما با همان GDDR5 نام گذاری شد و تا امروز به همین صورت شناخته می شود. فرکانس اولیه این حافظه 900 مگاهرتز بود و تا چند سال اخیر به 1750 مگاهرتز به صورت کارخانه ای عرضه شده است.

حافظه های گرافیکی GDDR5 تا سال 2015 به حداکثر بهره وری خود رسیدند. اما افزایش فرکانس حافظه های GDDR5 به منظور دست یابی به پهنای باند بیشتر، به معنای از دست دادن راندمان انرژی است و توسعه این حافظه با رابط های بزرگتر به افزایش قیمت تمام شده و مصرف انرژی بیشتر منتهی می شود.

سال 2015 حافظه گرافیکی جدیدی با نام HBM (High Bandwidth Memory) در دو کارت گرافیک کمپانی AMD، یکی از کمپانی های مادر، بکار گرفته شد که در بسیاری از موارد توانست بر رقبای GDDR5 خود پیروز شود.

 

AMD HBM 2

 

سال 2016 کمپانی NVIDIA برای تولید کارت های گرافیک جدید خود به یک حافظه گرافیکی بسیار قویتر از GDDR5 نیاز داشت. با توجه به محدودیت نسل اول حافظه های پیشرفته HBM در حجم نهایی و همچنین عدم تولید انبوه نسل دوم این حافظه ها همراه با قیمت تمام شده زیاد، انویدیا تمایلی به استفاده از حافظه های HBM2 در محصولات رده گیمینگ (مهمترین بازار سازندگان) خود نداشته و ترجیح داده است تا با همکاری کمپانی Micron حافظه های مرسوم GDDR5 را به حداکثر توان و بهره وری برساند. GDDR5X حاصل تلاش و همکاری مهندسان انویدیا با میکرون می‌باشد که در بخش پهنای باند کلی و نرخ تبادل داده به پیشرفت های چشمگیری رسیده است.

 

GDDR5X

 

در تصویر بالا (عکس وسط) کانال های انتقال اطلاعات حافظه های GDDR5X مشخص شده است. این حافظه علاوه بر آنکه در ولتاژ کاری پایینتر که در جدول به آن اشاره شده است، به فعالیت می پردازند، دارای 8 کانال برای تبادل اطلاعات تنها در یک سیکل هستند. پس وجود نام Double Data Rate برای این حافظه ها صحیح نیست. با توجه به این موضوع، فرکانس موثر این حافظه ها با ضرب فرکانس کاری در عدد 8 به دست می آید! به همین دلیل اگر حافظه GDDR5 با فرکانس کاری 500 مگاهرتز (با باس 128 بیتی) قادر به تولید پهنای باند 32 گیگابایت در ثانیه باشد، حافظه GDDR5X می تواند پهنای باند 64 گیگابایت در ثانیه را تولید کند.

 

Graphics Processing Unit

در اجزای تشکیل دهنده کارت گرافیک، اشاره ای کوتاه به GPU شد. Graphics Processing Unit، GPU یا همان واحد پردازش گرافیکی، مغز متفکر یک کارت گرافیک است و وظیفه پردازش های ویدیویی را بر عهده دارد. این واحد با نام شتاب دهنده گرافیکی نیز یاد می شود. کمپانی های مختلفی به طراحی و ساخت شتاب دهنده های گرافیکی می پردازند، اما در رده دسکتاپ، سرور و حتی ابررایانه ها، معمولا از تراشه های گرافیکی دو کمپانی معروف آمریکایی با نام AMD و NVIDIA استفاده می شود. کمپانی هایی که پیشرفته ترین تراشه های گرافیکی را تا به امروز ساخته اند.

 

AMD nvidia

 

البته کارت های گرافیکی که امروز تحت نام Radeon می شناسیم، در گذشته توسط کمپانی ATI تولید و عرضه می شد. پس از تملک کمپانی Advanced Micro Devices بر کمپانی ATI، در سال 2006، نام گذاری ها کمی تغییر کرد. در سال 2010  کمپانی AMD به کلی نام ATI را از معادلات نام گذاری حذف کرد و این روزها کارتهای گرافیک رادئون تنها با کمپانی AMD شناخته می شود.

 

بلاک دیاگرام GPU

GPU در مقایسه با CPU از اندازه سطح بسیار بزرگتری (چند برابر) برخوردار است. دلیل این موضوع به واحدهای بسیار زیادی پردازشی که با ALU شناخته می شوند، مرتبط است. البته ALU در مورد پردازنده مرکزی بکار می رود، و تراشه های گرافیکی سالهای اخیر از واحد های پردازشی بسیار پیشرفته ای تحت نام پردازنده جریانی برخوردار هستند که واحد ALU تنها بخشی از آن است.

 

CPU GPU

 

برای مثالی دیگر، اندازه سطح GPU زیر برابر با 601 میلی متر مربع است:

 

GM200

 

اما داخل یک GPU به چه شکل است؟ تصویر زیر مربوط به بلاک دیاگرام یک کارت گرافیک در سال 2014 مربوط می شود (NVIDIA Geforce GTX980):

 

GPU Diagram

 

اگر کمی دقیقتر به این دیاگرام نگاه کنیم، به شکل زیر خواهد بود:

 

GPU inside

 

قسمت بالای تصویر فوق، PCI Express 3.0 Host Intefrace نام دارد که کارت گرافیک را قادر می سازد تا به خوبی از اسلات PCI-Express 3.0 مادربورد ها پشتیبانی کرده و از پهنای باند بالای آنها بهره مند شود.

در 4 طرف این دیاگرام 4 عدد  Memory Controller وجود دارد که ظرفیت هر کدام 64 بیت است و در مجموع 256 بیت باس مموری تراشه فوق را تشکیل می دهند.  با توجه به اینکه کارت گرافیک GTX980 از 4 گیگابایت حافظه GDDR5 با فرکانس موثر 1753 مگاهرتز برخوردار است، در کنار باس 256 بیتی قادر به تولید پهنای باند 224GB/s است.

دیاگرام بالا از 4 بخش تشکیل شده است که کمپانی انویدیا آنها را GPC نامیده است. GPC مخفف کلمات Graphics Processing Cluster به معنای خوشه پردازش گرافیکی است. یک GPC دیاگرام فوق به شکل زیر است:

 

nvidia gpc

 

هر GPC تراشه فوق از 4 واحد SMM تشکیل شده است. SM یا Streaming Multiprocessor به معنای پردازنده جریانی چندهسته ای است که کمپانی سازنده با نام های مختلفی آنها را در نسل های مختلف کارتهای گرافیک خود نام گذاری می کند و اینبار یک پسوند M دیگر به آن افزوده است. هر SM این تراشه از 4 بخش تشکیل شده است که هر بخش دارای 32 خانه سبز رنگ است. این خانه ها پردازنده های جریانی هستند که در کارت های گرافیک انویدیا، مانند تصویر فوق، با پردازنده های CUDA شناخته می شوند و همانطور که گفتیم، واحد ALU یا Arithmetic & Logic Unit (به معنای واحد محاسبه و منطق) تنها یکی از اجزا هسته های CUDA می باشد. هر SM این تراشه دارای 128 واحد CUDA است که با درنظر گرفتن اینکه تراشه فوق دارای 4 واحد GPC و در مجموع 16 واحد SM است، در مجموع این تراشه که با کد GM204  شناخته می شود، دارای 2048 هسته CUDA است. واحدهایی که در کنار یکدیگر قدرت پردازشی عظیمی را ایجاد می کنند و قادر به پردازش سنگینترین محاسبات هستند. البته این واحد ها به تنهایی قدرتی ندارند!

البته تنها بیشتر بودن این اعداد و ارقام کافی نیست. بهرحال افزایش این واحد تا یک جایی امکان پذیر است. کمپانی های NVIDIA و AMD مرتبا سعی در بهینه سازی معماری تراشه های گرافکی خود هستند. بهینه سازی یک معماری می تواند باعث شود با کاهش ترانزیستورها و کاهش واحد های مخلتف GPU که به کاهش مصرف یک کارت گرافیک و خنک سازی بیشتر آن منجر می شود،  کارت گرافیک قویتری را ساخت!

 

برخی از اصطلاحات

پیش از این با برخی از اصطلاحات کلی و پرکاربرد راجع به کارت گرافیک آشنا شدیم. اما اصطلاحات دیگری در دنیای کارت های گرافیک وجود دارد. GPU-Z یک ابزار بسیار ساده، کم حجم است که تمامی اطلاعات راجع به کارت گرافیک را نشان می دهد:

 

GTX 980 ti gpu z

 

NAME: این قسمت واضح بوده و نام کارت گرافیک را نشان می دهد. برای مثال در تصویر بالا، نام کارت گرافیک NVIDIA GeForce GTX980Ti می باشد. کارت گرافیکی ارائه شده از سوی کمپانی انویدیا، در رده کارت های گرافیک GeForce، و از سری 900 با نام GTX980Ti.

GPU: هر GPU یک کد دارد که بیان کننده آن است. GM200 کد تراشه گرافیکی کارت GTX980Ti است که G به GPU و M به Maxwell، معماری این کارت گرافیک این اشاره دارد. کمپانی انویدیا از اسم دانشمدان برای نام گذاری استفاده می کند. James Clerk Maxwell فرمولهای فوق العاده ای راجع به الکترومغناطیس ارائه کرده است.

Technology: کارت های گرافیک از تعداد بیشماری از ترانزیستورها بهره مند هستند. این ترانزیستورها بر اساس معماری های خاصی ساخته می شوند. ترانزیستورهای تراشه GM200 توسط معماری ساخت یا تکنولوژی ساخت 28 نانومتری طراحی و ساخته شده اند.

Die Size: به معنای اندازه سطح است. برای مثال اندازه سطح تراشه GM200 برابر 601 میلیمتر مربع می باشد. اگر با باز کردن یک کارت گرافیک، محافظ فلزی روی GPU آن مشاهده کردید، برای اندازه گیری Die Size باید محافظ فلزی را خارج کنید.

Transistors: به تعداد ترانزیستورهای بکار رفته در GPU اشاره می کند. GM200 دارای 8000 میلیون برابر با 8 میلیارد ترانزیستور است!! بخش قابل توجهی از توان یک کارت گرافیک را ترانزیستورهای آن تولید می کنند. به صورت خیلی خلاصه وظیفه این ترانزیستورها تولید اعداد 0 و 1 است.

Subvendor: کارت های گرافیک کمپانی ها AMD و NVIDIA مستقیما توسط خود آنها وارد بازار نمی شوند. این دو کمپانی شرکای تجاری دارند که کارت های گرافیک کمپانی های مادر را عرضه می کنند. برای مثال کارت گرافیک GTX980Ti که مشخصات آن در GPU-Z مشخص است، توسط کمپانی گیگابایت با کد 1458 عرضه شده است.

DirectX Support: دایرکت ایکس یک رابط کاربردی برنامه نویسی (Application Programming Interface) است که توسط شرکت مایکروسافت معرفی شده است. این API مجموعه ای از ابزارهای برنامه نویسی برای ساخت بازی ها است که پشتیبانی کارت گرافیک از آخرین نسخه های آن، سرعت و کیفیت اجرای بازی و نرم افزارهای مربوطه را افزایش می دهد. برای مثال تعداد منابع نوری که بازی سازان با استفاده از رابطه برنامه نویسی 1DirectX 1 می توانستند بکار گیرند تنها 8 عدد است، درحالیکه تعداد منابع نور در DX12 به چندین هزار عدد می رسد. DirectX بحث بسیار مفصلی است اما نسخه های جدیدتر به بازی سازان امکانات بیشتری برای خلق جلوه بصری بهتر و حتی اجرای روان تر (کدنویسی بهینه شده) بازی ها را ارائه می دهد.

بعضی از بازی ها از نسخه های مختلف نیز پشتیبانی می کنند، اما استفاده از یک کارت گرافیک با قابلیت پشتیبانی از آخرین نسخه DirectX تجربه جلوه های زیبا تر و بعضا روانتری را رقم می زند.

Shaders: واحد های سایه زن که همان پردازنده جریانی هستند (همان طور که گفتیم، در تراشه های گرافیکی انویدیا با هسته های CUDA نیز شناخته می شوند) ابتدا بسیار ساده و به شکل واحد های سایه زن راس و سایه زن پیکسل بودند:

سایه زن راس یا Vertex Shader: در پردازنده های گرافیکی قدیمی واحدی وجود داشت که وظیفه ی ساخت پیکره بندی و اسکلت اجسام را بر عهده می گرفت، این واحد سایه زن راس نام داشت. هر چه تعداد این واحد ها بیشتر باشد پردازنده ی گرافیکی قدرتمند تر عمل میکند.

سایه زن پیکسل یا Pixel Shader: پردازنده های گرافیکی قدیمی برای آنکه بتوانند به اجسام ساخته شده توسط سایه زن راس روح ببخشند و ان ها را به دنیای راقعی نزدیکتر کنند، به واحدی به اسم سایه زن پیکسل نیاز داشتند. در حقیقیت سایه زن پیکسل، رنگ و میزان نور هر یک از پیکسل های اجسام ساخته شده توسط سایه زن راس را تعیین می کند. این سایه زن موجب ایجاد اثرات سایه ها، روشنایی، ماتی و دیگر پدیده های یک تصویر می شود. به دلیل نقش مهمی که این سایه زن در یک پردازنده ی گرافیکی داشت، عموما تعداد انها نسبت به تعداد سایه زن راس بیشتر بود. به عنوان مثال کارت گرافیک GeForce 7800GTX دارای 84 عدد سایه زن پیکسل و هشت سایه زن راس بود.

پردازنده ی جریانی (Stream Processor):

پردازنده های گرافیکی مبتنی بر DirectX نسخه ی 10 شامل تغییرات عمده ای در معماری شدند. در این پردازند های گرافیکی، سایه زن راس و پیکسل حذف شدند و پردازنده ی جریانی جایگزین انها شدند. پردازنده های جریانی در کارت های گرافیک انویدیا با نام واحد های سایه زن یا Shaders شناخته می شوند. هر پردازنده ی جریانی تقریبا مشابه با یک پردازنده ی بسیار کوچک است و به تنهایی وظایف مربوط به سایه زن های راس و پیکسل را انجام می دهد. به عنوان مثال کارت گرافیک AMD Radeon R9 FuryX دارای 4096 پردازنده جریانی و کارت گرافیک GTX980Ti دارای 2816 واحد سایه زن یا پردازنده جریانی (همان هسته های کودا)  است.

ROPs/TMUs: این دو واحد نقش های مهمی در یک GPU را ایفا می کنند. ROP به Raster Operation Unit اشاره دارد که به صورت خلاصه به انجام وظایفی مانند تست رنگ ها، اعمال فیلترها و تکنیک تصحیح خطوط ناصاف (Anti-Aliasing) می پردازد.

واحد نقشه گذاری بافت TMU یا (Texture Mapping Unit) وظیفه ی اعمال عملیات بافت روی پیکسل ها را دارد . TMU ها با سایه زن ها ی راس و پیکسل در پردازنده ای گرافیکی قدیمی و پردازنده های جریانی در پردازند های جدید در ارتباط هستند. آن ها همچنین از دو بخش به نام های واحد ادرس دهی بافت و واحد فیلتر گذاری بافت تشکیل شده اند. برای مثال GTX980Ti از 176 واحد TMU برخوردار است.

واحد فیلتر گذاری بافت: واحد سایه زن پیکسل , رنگ های مربوط به هر پیکسل و واحد فیلتر گذاری بافت رنگ های مربوط به هر بافت را تعیین میکند. هر بافت شامل مجموعه ای از پیکسل هاست که واحد فیلتر گذاری بافت با بررسی پیکسل های مجاور یکدیگر رنگ های مربوط به هر بافت را تعیین میکند .

واحد ادرس دهی بافت: این واحد ادرس های مربوط به هر بافت را تعیین می کند. کارت گرافیک GTX285 دارای هشتاد واحد فیلتر گذاری بافت است. واحد فیلتر گذاری و ادرس دهی بافت در فیلتر های Anistropic نقش بسیار مهمی ایفا میکند.

Pixel Fillrate: به تعداد پیکسل هایی که می تواند در یک ثانیه روی صفحه نمایش نشان داده شوند اشاره دارد.   1GPixel = 1Billion Pixels    (بیلیون = میلیارد)

Texture Fillrate: به تعداد تکسل هایی که می تواند در یک ثانیه روی صفحه نمایش نشان داده شوند اشاره دارد.   1GTexel = 1Billion Texels    (بیلیون = میلیارد)

 

نسخه مرجع / نسخه کاستوم (سفارشی)

همان طور که گفتیم، کارت های گرافیک توسط کمپانی های سازنده به بازار عرضه نمی شود و این وظیفه بر عهده شرکای تجاری آنهاست. کارت هایی که توسط شرکای تجاری مانند کمپانی های ASUS،GIGABYTE ، MSI، EVGA، Sapphire، ZOTAC و غیره ارائه می شوند به دو دسته تقسیم می شوند: کارت های نسخه مرجع و کارت های نسخه کاستوم.

نسخه مرجع: کارت های نسخه مرجع بدون هیچ گونه تغییری از سوی شرکای تجاری کمپانی مادر به بازار عرضه می شود. این کارت های گرافیک دارای همان PCB، همان مدار VRM، همان میزان حافظه گرافیکی، همان سیستم سیستم خنک کننده و هیچ گونه تغییری در کلاک ها هستند.

نسخه کاستوم: کارت های گرافیک کاستوم توسط شرکای تجاری با بهینه سازی های جزئی تا کلی عرضه می شوند. بعضی از کارت های گرافیک نسخه کاستوم، فقط در تراشه گرافیکی با نسخه مرجع دارای نقطه اشتراک هستند! این بهینه سازی ها بیشتر در مدار تنظیم کننده ولتاژ به منظورم بهره وری بهتر و بیشتر از انرژی، بازنگری کلی در مورد سیستم خنک کننده به منظور ایجاد نویز کمتر و خنک کنندگی بیشتر و افزایش کلاک GPU و  مموری کارت گرافیک به منظور افزایش کارایی صورت می گیرد.

برای مثال کارت گرافیک GTX1080 در سال 2016 از سوی کمپانی انویدیا معرفی شد. این کارت گرافیک نسبت به کارت های گرافیک مرجع نسل های قبلی از بهبود های بیشتری در سیستم خنک کننده و مدار تنظیم کننده ولتاژ برخوردار است. تصویر زیر نمای کلی شامل خنک کننده و بورد این کارت در نسخه مرجع را نشان می دهد:

 

gtx 1080 refrence

 

تصویر زیر به نمونه تغییر یافته به صورت کلی توسط کمپانی ایسوس مربوط می شود:

 

gtx 1080 asus

 

همان طور که مشخص است، تعداد کانکتورهای ورودی برق افزایش یافته و یک کانکتور 6 پین در کنار کانکتور 8 پین اضافه شده است. PCB این بورد حدود 2 سانت با افزایش ارتفاع به جهت قراری گیری قطعات بیشتر روبرو بوده است و طراحی آن کاملا دگرگون شده است. این کارت از مدار تنظیم کننده پیشرفته با تغییر فاز ها از 6 به 10 عدد برخوردار است. این طراحی برای VRM، قابلیت فرکانس پذیری بیشتری به کارت گرافیک می دهد.

 مقایسه خنک کننده ها (تصویر اول نسخه مرجع):

 

gtx 1080 ref cooling

 

gtx 1080 asus cooling

نسخه مرجع دارای خنک کننده با یک فن است که سرعت چرخش بالایی دارد. نسخه تغییر یافته توسط کمپانی ایسوس دارای 3 فن 90 میلیمتری است که ضمن کنترل سرعت چرخش، کارایی بالاتری در خنک سازی دارد. این خنک کننده از هیت سینک خنک کننده گسترده ای برخوردار است.

البته این کارت گرافیک از نورپردازی فوق الاده ای، به ویژه رقص نور به صورت هماهنگ با موزیک، فیلم و یا بازی برخوردار است!

نسخه های سفارشی یا کاستوم طبیعا در کنار قابلیت های بسیار خوبی که دارند، از افزایش قیمت بیشتری برخوردار هستند اما سازندگان این کارت ها سعی می کنند این افزایش قیمت خیلی زیاد نباشد!

 

شباهت CPU و GPU

اما شباهت CPU و GPU در چیست؟ تصویر زیر می تواند این شباهت ها را به زبان ساده بیان کند:

 

cpu gpu 2

 

واحد های ALU در این تصویر برای CPU با Core1/Core2، و برای GPU با FP مشخص شده اند. FP مخفف Floating Point به معنای ممیز شناور و نوعی روش ریاضی پیشرفته برای نمایش محدوده وسیعی از اعداد حقیقی با پذیرش محدوده زیادی از اعداد است و با واحد اندازه گیری فلاپس یا Flops شناخته می شود. برای مثال کارت گرافیک GTX980 دارای قدرت پردازشی 4.61 ترافلاپس یا 4610 گیگافلاپس است که نشان می دهد تراشه این کارت گرافیک قدرت بسیار بالایی در محاسبات ریاضی دارد.

Registers یا ثبات ها که اکثر ما در پردازنده های مرکزی با انواع آن ها آشنایی داریم، داریم انواع مختلف با کاربردهای مختلف و در ظرفیت های گوناگونانی هستند (مثلا 8 بیتی یا 16 بیتی). ثبات ها که حافظه های نیمه هادی و بسیار گران قیمت هستند، در تراشه های گرافیکی نیز حضور دارند.

حافظه های کش در سطوح مختلف مانند سطح 1 و سطح 2 در CPU و GPU قرار دارند و وظیفه ذخیره اطلاعاتی که پردازشگر مرتبا به آن نیاز پیدا می کند را بر عهده دارند. اگر سرعت خواندن و نوشتن حافظه اصلی DDR4 با فرکانس کاری 3400 مگاهرتز حدود 50 گیگابایت در ثانیه باشد، سرعت حافظه کش به 2000 گیگابایت یا 2 ترابایت در ثانیه نیز می رسد!

قسمت بعدی حافظه DDRx است که هم CPU و GPU در اختیار دارند. البته این حافظ در کارت گرافیک با GDDRx شناخته می شود و بر خلاف CPU که بر روی مادربورد نصب می شود و ظرفیت آن قابل افزایش است، در کارت گرافیک در ظرفیت ثابت و بدون امکان تغییر قرار دارند.

همانطور که در تصویر اشاره شده است، پردازنده مرکزی یا CPU دارای پهنای باند پایین است که برای پردازش های سنگین و عظیم مناسب نیست. در حالیکه کارتهای گرافیک می توانند حتی پهنای باند 1000 گیگابایت در ثانیه ای را ایجاد کنند.

 

تفاوت CPU و GPU

واحد پردازش گرافیکی و واحد پردازش مرکزی قطعا تفاوت های زیادی با هم دارند. یکی از عمده ترین تفاوت این دو تراشه، تعداد واحد های پردازشی به طرز باور نکردنی است. CPU هایی که آنها 2، 4، 6، 8 هسته ای و حتی بالاتر می نامیم، در واقع این اعداد بیانگر واحد های ALU آنها است. این واحد های ALU پردازش ها را بصورت سریالی و بسیار سریعی انجام می دهند. اما زمانیکه بحث پردازش های بسیار سنگین و بسیار پیچیده به میان می آید، GPU بهترین گزینه است. این واحد بر خلاف  CPU می تواند هزاران واحد پردازنده جریانی داشته باشد:

 

cpu gpu 3

 

تصویر بالا تنها یک نمونه است و همانطور که در بلاک دیاگرام تراشه GM204 دیدیم، دارای 2048 واحد پردازشی است.

 

cpu gpu 4

 

واحد های ALU سی پی یو یا همان هسته های سی پی یو، طوری بهینه سازی شده اند که از زمان تاخیر بسیار پایینی برخوردار باشند و پردازش ها را سریع انجام دهند. این واحد سرعت بسیار بالایی دارند. برای مثال یک پردازنده 4 هسته ای رده دسکتاپ i7 امروزی دارای فرکانس یا کلاک حداقل 4000 مگاهرتز است، درحالیکه سرعت واحد های پردازشی یا پردازنده های جریانی یک GPU امروزی، چیزی بین 1000 الی 1500 مگاهرتز است. البته بعضی کارتهای گرافیک سرعت GPU بالاتر از 1500 مگاهرتز و بعضی دیگر کمتر از 1000 مگاهرتز دارند.

 

cpu gpu 5

 

پردازنده های جریانی تراشه های گرافیکی برای مثال در کارتهای گرافیک NVIDIA، از پردازش موازی بهره مند هستند، برای مثال زمانیکه یک پردازش گرافیکی سنگینی صورت پذیرد، تمام این پردازنده های جریانی کارت گرافیک به صورت همزمان این پردازش را انجام داده تا پردازش در کمترین زمان ممکن به اتمام رسد.

البته قدرت پردازش واحد های پردازشی سی پی یو و GPU یکسان نیست و واحد های ALU پردازنده مرکزی قدرت بسیار زیادی دارند که در قسمت های بعدی به آن اشاره می کنیم.

 

نحوه پردازش

پردازش اطلاعات گرافیکی همان طور که در ابتدا اشاره شد، پیچیده ترین نوع پردازش است. برای خلق یک صحنه 3 بعدی همراه با بافت های زیبا و عمیق به همراه سایه ها، قرار گرفتن اجسام روی یکدیگر و غیره مجموعه ای از پردازش ها به ترتیب صورت میگیرد تا صحنه های زیبایی پدید آیند.

برای مثال کارت های گرافیکی NVIDIA از روش خاصی برای پردازش اطلاعات به صورت موازی استفاده می کنند:

 

proccess on cuda

 

کمپانی انویدیا هسته های پردازشی خود را CUDA نامیده است. CUDA در حقیقت یک پلتفرم پردازش موازی و مدل رابط کاربردی برنامه نویسی (Application Programming Interface) به زبان C  است که توسط کمپانی NVIDIA ساخته شده است. این API به توسعه دهندگان نرم افزار و مهندسین نرم افزار اجازه می دهد تا از واحد پردازش گرافیکی که قابلیت کودا در واحد های ALU آن فعال شده است، از محاسبات همه منظوره در واحد پردازش گرافیکی (General-Purpose computing on Graphics Processing Units ) استفاده کنند، رویکردی که با GPGPU شناخته می شود. به همین به واحد های ALU کارت های گرافیک انویدیا، هسته های کودا یا CUDA Cores می گویند. این روش 4 مرحله دارد:

1.دیتاهای مورد نیاز براش پردازش، از حافظه ذخیره ساز یا جانبی سیستم (هارد دیسک یا درایو جامد) به حافظه اصلی سیستم (رم) منتقل شده،  پس از آن در حافظه ویدیویی کارت گرافیک کپی شده و در نهایت از حافظه گرافیکی به واحد های ALU تراشه گرافیکی منتقل می شود.

2.دستور عمل پردازش دیتاها از حافظه جانبی سیستم به حافظه اصلی، پس از آن به پردازنده مرکزی سیستم و در آخر به واحد پردازش گرافیکی منتقل خواهد شد.

3.پردازش اطلاعات به صورت موازی در تک تک هسته های CUDA یا همان پردازنده های جریانی صورت می پذیرد.

4.نتیجه پردازش از GPU به حافظه ویدیویی کارت گرافیک منتقل شده، و پس از آن در حافظه اصلی سیستم ذخیره خواهد شد.

 

مقایسه قدرت CPU  و GPU

تا اینجا به این نتیجه رسیدیم که قدرت واحد پردازش گرافیکی نسبت به واحد پردازش مرکزی بسیار زیاد است. اما به چه میزان؟ البته همانطور که گفتیم، این موضوع زمانی صدق می کند که دیتاهای پردازش از حجمی بالایی برخوردار باشند. نمودار زیر قدرت انواع CPU های اینتل و کارت های گرافیک انویدیا را از سال 2000 الی 2014 نشان می دهد:

 

cpu gpu 6

 

پردازنده اینتل مبتنی بر معماری Haswell که در سال 2013 معرفی شد، با کارت گرافیک Geforce GTX TITAN کمپانی انویدیا که در همین سال معرفی شد، از لحاظ قدرت پردازش ریاضی عملا قابل قیاس نیستند. 4.5 ترافلاپس در برابر 0.5 ترافلاپس!! پردازنده یاد شده کمپانی اینتل تنها 4 هسته دارد در حالیکه کارت گرافیک مذکور مجهز به بیش از 2000 هسته با قابلیت CUDA است. البته هر هسته پردازنده 4 هسته ایHaswell  حدود 125 گیگافلاپس قدرت دارد، در حالیکه این عدد برای هسته های کودا کارت گرافیک تایتان، به کمتر از 2.5 گیگافلاپس می رسد!

نتایج تست زیر نیز با استفاده از نرم افزار AIDA 64 EXTREME و بنچمارک GPGPU این نرم افزار بدست آمده است:

 

980ti vs 6700k vs 5960x vs 6950x

 

اعداد مورد نظر به خوبی مشخص شده است. مقایسه یه GPU با 2816 هسته و پردازنده های 4، 8 و 10 هسته ای اینتل بسیار جالب به نظر می رسد. ضرب المثل یک دست صدا ندارد در مورد پردازنده های جریانی کارت گرافیک GTX980Ti و مثل فلفل نبین چه ریزه در مورد ALU های پردازنده مرکزی مورد نظر صدق می کند! به همین دلیل است که می گوییم استفاده از CPU برای پردازش های سبک، و استفاده از GPU در پردازش های سنگین بهترین گزینه ها هستند. جدا از نرم افزارهای گرافیکی، تبدیل انواع فرمت های ویدیویی به یکدیگر یکی از کارهایی است که خیلی ها با آن سر و کار دارند. بعضی از نرم افزارهای تبدیل فرمت دارای گزینه ای به نام CUDA هستند که اگر کارت گرافیک شما از آن پشتیبانی کند، می توانید آن را فعال کنید. در این حالت تبدیل فرمت توسط GPU انجام شده و در مدت زمان بسیار پایینی نسبت به CPU پایان می یابد.

در تست بعد به سراغ مقایسه محاسبه عدد P بین CPU و GPU می پردازیم. شاید 3.14 برای محاسبات ریاضی ساده، تخمین مناسبی از عدد پی باشد ولی ریاضی دانان همواره به دنبال محسابه دقیق تر این عدد خاص بوده اند. در ابتدا نرم افزار Super Pi و آن هم تنها برای CPU معرفی شد. Super PI برای نخستین بار در سال 1995 توسط Yasumasa Kanada در دانشگاه توکیو نوشته شد و توانایی محاسبه 232 رقم عدد پی با استفاده از الگوریتم گاوس-لژاندر را داشت. این نرم افزار تنها می تواند از یک رشته پردازشی استفاده نموده و ملاک مناسبی برای مقایسه پردازنده هایی با تعداد هسته های نابرابر نیست. نرم افزار GPUPI که اخیرا معرفی شده است، می تواند محاسبه عدد P برای CPU و GPU را انجام دهد. نتایج این تست با استفاده از کارت گرافیک GTX 980 با 2048 واحد پردازشی و پردازنده Core i7 4960X با 6 هسته و در حالت محاسبه 1 میلیارد عدد P بدست آمده است:

 

gpupi cpu

 

gpupi gpu

محاسبه 1 میلیارد عدد پی برای پردازنده 6 هسته ای اینتل در مدت زمان 6 دقیقه و 41 ثانیه، و برای کارت گرافیک 2048 هسته ای انویدیا در 34 ثانیه به پایان رسیده است! با این حساب کارت گرافیک GTX980 حدود 11.8 برابر سریعتر از یک پردازنده 6 هسته ای عمل کرده است! در این تست فرکانس پردازنده i7-4960X به 4000 مگاهرتز و فرکانس GPU (فرکانس واحد های ALU) کارت گرافیک GTX980 به حدود 1700 مگاهرتز (بوست واقعی) می رسد.

 

نتیجه گیری

کارت های گرافیکی از قدرت بسیار بالایی نسبت به پردازنده های مرکزی برخوردار هستند و در پردازش های سنگین با قابلیت GPGPU می توان از قدرت پردازشی آنها به خوبی استفاده نمود. در حال حاضر 3 ابر کامپیوتر از 10 ابر کامپیوتر برتر از پردازش گرافیکی و GPGPU استفاده می کنند. قدرت پردازشی یک کارت گرافیک به واحد پردازش گرافیکی یا GPU آن و آن هم به تمام واحد ها بستگی دارد و حافظه گرافیکی بر خلاف تصور بسیار از افراد، تنها وظیفه ذخیره داده ها را بر عهده دارد. استفاده از نسخه های کاستوم قطعا بهتر بوده که هزینه بیشتری را می طلبد.

 

gpu 2

 

منبع: Sakhtafzar.com

کپی برداری از این مقاله مجاز نیست