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 است . تراشه ای که برای کمک آمده بود ، در حال خارج کردن استاد خود از رده است !
از آنجایی که سرعت پردازنده های کنونی به اندازه کافی بالاست ، و افزایش فرکانس (چیزی که معمولا در نسخه های جدید تر پردازنده های اینتل مشاهده می شود) ، کمک چشمگیری به افزایش راندمان کلی سیستم نمی کند ، انجام هزینه برای خرید پردازنده های بالاتر خیلی منطقی به نظر نمی رسد . از طرفی دیگر ، اگر شما یک کاربر گرافیکی ، بازی ، انیمیشن و نرم افزارهای سه بعدی می باشید ، برای شما کارت گرافیکی بسیار مهم تر از پردازنده می باشد .
ولی جدیدا بحث جالبتری مطرح شده است : 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 است . تراشه ای که برای کمک آمده بود ، در حال خارج کردن استاد خود از رده است !