PDA

توجه ! این یک نسخه آرشیو شده می باشد و در این حالت شما عکسی را مشاهده نمی کنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : Cpu مهمتر است یا gpu ؟



TAHA
04-16-2010, 01:10 PM
در رایانه های ابتدایی ، یک پردازنده به نام CPU مسئولیت انجام کلیه محاسبات و پردازشهای اجرایی را انجام می داد . پس از مدتی کارشناسان یک پردازنده دیگر به نام GPU را طراحی نمودند تا وظیفه انجام پردازشهای گرافیکی را به آن بسپارند و CPU برای انجام سایر دستورات آزاد شود . بدین ترتیب ، کارتهای گرافیکی (که GPU یا پردازنده گرافیکی بر روی آن نصب است ) ، با دارا بودن مقداری حافظه ، عملیات گرافیکی یک سیستم رایانه ای را انجام می دهند . اینکه قدرت گرافیکی سیستم شما در چه حدی است ، به کارت گرافیکی این سیستم مرتبط است . حال این سوال پیش می آید که راندمان کلی یک سیستم به چه عاملی بیشتر مرتبط است و اینکه برای تهیه یک سیستم قوی ، برای کدام قطعه باید پول را خرج نمود ؟
از آنجایی که سرعت پردازنده های کنونی به اندازه کافی بالاست ، و افزایش فرکانس (چیزی که معمولا در نسخه های جدید تر پردازنده های اینتل مشاهده می شود) ، کمک چشمگیری به افزایش راندمان کلی سیستم نمی کند ، انجام هزینه برای خرید پردازنده های بالاتر خیلی منطقی به نظر نمی رسد . از طرفی دیگر ، اگر شما یک کاربر گرافیکی ، بازی ، انیمیشن و نرم افزارهای سه بعدی می باشید ، برای شما کارت گرافیکی بسیار مهم تر از پردازنده می باشد .
ولی جدیدا بحث جالبتری مطرح شده است : GPU ها که به منظور انجام محاسبات گرافیکی و کمک به CPU طراحی شده بودند ، اکنون توانایی کار بر روی همه انواع عملیات محاسباتی را دارند و نکته جالبتر اینکه به دلیل معماری مناسب GPU ، و عدم نیاز به کاشه های بزرگ (حافظه هایی که در پردازنده تعبیه می شوند ) ، GPU ها بسیار سریعتر از CPU ها پردازش می نمایند ! این امر هم در مورد پردازشهای گرافیکی و هم در مورد کلیه نرم افزارهای روزمره و نیز حرفه ای صادق است . نتایج یک نمونه تست و مقایسه زمان مورد نیاز برای پردازش ، توسط GPU در مقابل CPU در زیر آورده شده است :


سیستم تست :یک نوت بوک با پردازنده Core 2 Duo T5450 ، کارت گرافیکی 8600M GT ، و سیستم عامل ویستا . نتایج در رزولوشن 2048X2048 : (نتایج از سایت تخصصی Tomshardware)


_CPU 1 thread: 1419 ms

_CPU 2 threads: 749 ms

_CPU 4 threads: 593 ms

_GPU (8600M GT) blocks of 256 pixels: 109 ms

_GPU (8600M GT) blocks of 128 pixels: 94 ms

_GPU (8800 GTX) blocks of 128 pixels / 256 pixels: 31 ms

مشاهده می شود که در ضعیفترین GPU ، سرعت نسبت به بهترین حالت CPU ، حدودا شش بار بیشتر است ! این توانایی پردازش در همه کارتهای گرافیکی وجود دارد . تنها نکته ، چگونگی کمپایل نرم افزارها است . در واقع برنامه نویس باید بتواند کدها را به زبان GPU بنویسد . ولیNvidia با معرفی CUDA ، به هر برنامه نویسی که توانایی نوشتن کد به زبانهای معمول C/C++ را دارد ، امکان کار با GPU و استفاده از قدرت بالای آن را می دهد .
جدیدا ، به منظور استفاده بهتر از Nvidia ، CUDA تراشه های گرافیکی سری Geforce GTX 200را نیز به بازار عرضه نموده است . این تراشه ها همچنان از DirectX 10 پشتیبانی می نمایند ولی دارای معماری جدیدی نسبت به سریهای 8 و 9 می باشند . مزیت اصلی این GPU همانطور که ذکر شد ، امکان اجرای نرم افزارهای رایج است (General Purpose Graphic Processing Unit یا GPGPU ). البته این کار در چند کار تحقیقاتی (و با عرضه سیستم Tesla) با کارتهای گرافیکی قبلی نیز انجام شد ولی برای چند نرم افزار خاص ، نه برای همه نرم افزارهای رایج .
تراشه های Nvidia Geforce GTX 200 در دو نسخه متفاوت به بازار عرضه شده اند و همانطور که گفته شده ، دارای معماری متفاوتی نسبت به سریهای 8 و 9 می باشند و به نظر می رسد دارای راندمان بسیار بالایی می باشند . در زیر مقایسه ای از این کارتها را مشاهده می نمایید :




10



32



22.4 GB/s



128-bit



1.4 GHz



540 MHz / 1.18 GHz



GeForce 8600 GT ***



10



32



32 GB/s



128-bit



2 GHz



675 MHz / 1.45 GHz



GeForce 8600 GTS ***



10



96



38.4 GB/s



192-bit



1.6 GHz



550 MHz / 1,375 MHz



GeForce 8800 GS *** ^



10



112



57.6 GB/s



256-bit



1.8 GHz



600 MHz / 1.5 GHz



GeForce 8800 GT *** ^



10



96



64 GB/s



320-bit



1.6 GHz



500 MHz / 1.2 GHz



GeForce 8800 GTS ***



10



128



86.4 GB/s



384-bit



1.8 GHz



575 MHz / 1.35 GHz



GeForce 8800 GTX ***



10



128



103.6 GB/s



384-bit



2.16 GHz



612 MHz / 1.5 GHz



GeForce 8800 ***** ***



10



64



57.6 GB/s



256-bit



1.8 GHz



650 MHz / 1,625 MHz



GeForce 9600 GT *** ^



10



128



70.4 GB/s



256-bit



2.2 GHz



675 MHz / 1,688 MHz



GeForce 9800 GTX *** ^



10



128



64 GB/s



256-bit



2 GHz



600 MHz / 1.5 GHz



GeForce 9800 GX2 ** *** ^



10



192



112 GB/s



448-bit



2 GHz



576 MHz / 1,242 MHz



GeForce GTX 260 *** ^



10



240



141.7 GB/s



512-bit



2.21 GHz



602 MHz / 1,296 MHz



GeForce GTX 280 *** ^





در نهایت باید به این نکته توجه کرد که صنعت رایانه ، به سمت پردازشهای موازی پیش می رود . عملی که در حال حاضر پردازنده های گرافیکی (GPU) ها بسیار بهتر از CPU ها انجام می دهند و Nvidia با دانش کافی از معماری GPU های تولیدی خود ، در این راه گام برداشته است . Intel و AMD نیز اعلام داشته اند که در این راه بیکار ننشسته اند و در حال ارائه تکنولوژی های جدیدی در این زمینه می باشند . و قطب دیگر ، Microsoft ، نیز اعلام داشته است در حال ارائه سیستم عامل و کمپایلری است که تمامی این پردازنده ها را پشتیبانی نماید . حال کدام یک از این غولهای رایانه در آینده موفقند ( البته در حال حاضر ، کمپانی موفق Nvidia بوده است که گفته های خود را عملی نیز نموده است ) مشخص نیست ، ولی چیزی که مشخص است ، قدرت GPU و برتری آن به CPU است . تراشه ای که برای کمک آمده بود ، در حال خارج کردن استاد خود از رده است !