بررسی معماری NVIDIA GF100
سلام خدمت دوستان عزیز
چند هفته ی پیش مقاله ای رو در سایت AnandTech در
برای مشاهده این لینک/عکس می بایست عضو شوید !برای عضویت اینجا کلیک کنید ] دیدم و خوندم، لازم دیدم ترجمه (هر چند مختصر و اجمالی) از اون مقاله رو برای دوستان بذارم. اگر بتونم از منابع دیگه ای هم به مطالب اضافه می کنم تا جامع تر بشه. دوستان لطف کنند بحث های خودشون در
برای مشاهده این لینک/عکس می بایست عضو شوید !برای عضویت اینجا کلیک کنید ] انجام بدند.
توصیف کوتاه GF100 از زبان سایت رسمی NVIDIA :
نقل قول:
Packing in 3 billion transistors, double the CUDA cores of previous generation GPUs¹, a high speed GDDR5 memory interface, and full DirectX 11 support, GF100 is designed for groundbreaking graphics performance. With a revolutionary new scalable geometry pipeline and enhanced anti-aliasing capabilities, GF100 delivers both unrivalled performance and breathtaking image quality.
===================================
مقدمه (Article Index ):
امسال، کمپانی NVIDIA چندین دستاورد خود را به همگان معرفی کرد که از بین آن ها می توان به 3D Vision Surround و فناوری Tegra 2 اشاره کرد. اما چیز جالبی که بیش ترین توجه را به خود جلب کرد و هنوز هم درباره آن بحث می شود، GF100 است. معماری Fermi بر پایه پردازنده های گرافیکی GF100 است که اکنون در حال اتمام مراحل تولید خود می باشد. پیغامی که NVIDIA دارد این است که GF100 به زودی می آید و بسیار سریع عمل خواهد کرد.
برای مشاهده این لینک/عکس می بایست عضو شوید !برای عضویت اینجا کلیک کنید ]
NVIDIA’s Fermi - GF100 Block
در طول نمایشگاه CES کمپانی NVIDIA بر روی سه چیز تمرکز کرد : بحث کردن درباره معماری GF100 و مناسب بودن آن برای Gaming و مصرف کننده، بحث کردن درباره برنامه هایش جهت افزایش روابط خود (شامل رسوایی اش در بازیBatman: Arkham Asylum در مورد Anti-Aliasing )، و در نهایت نشان دادن قدرت GF100 در چندین بازی و نرم افزار تولیدی.
شاید شما درباره GF100 تعدادی Demo یا Videoرا در سایت های اشتراک گذاری دیده باشید، اما چیزی که شما نمی دانید و می خواهیم در این جا به آن بپردازیم، مربوط به نحوه عملکرد GF100 و قابلیت های آن به عنوان یک پردازنده گرافیکی در مصارف Gaming می باشد.
مواردی که در این جا مطرح می گردد، بر پایه اطلاعاتی است که NVIDIA تا الان درباره ی GF100 اعلام کرده است و راجع به مواردی که تنها در محصولات نهایی مشخص خواهند شد، ما چیزی را نمی دانیم و اظهار نظر نمی کنیم. موارد زیر نیز از جمله مباحثی هستند که هنوز در مورد آن ها اطلاعاتی در دسترس نیست :
1-Die Size
2-چه کارت هایی بر پایه GF100 خواهند بود.
3-سرعت کلاک ها
4-مصرف انرژی (تنها چیزی که می دانیم مصرف بیش تر آن نسبت به GT200 می باشد.)
5- قیمت
6-عملکرد
قیمت محصولات تولیدی، بستگی شدیدی به چیپ GF100 نهایی دارد. سرعت کلاک ها نیز می تواند در عملکرد، مصرف انرژی و در مواردی قیمت کارت ها تاثیر گذار باشد. NVIDIA رسما اعلام کرده است که سرعت کارت های نهایی بیش تر از Radeon HD 5870 خواهند بود. بنابراین می توانید قبل از عرضه، انتظاراتی را در مورد این کارت ها داشته باشید.
هم چنین طی Benchmark انجام گرفته در بازی FarCry 2 [در Demoیک مزرعه کوچک]، کارت بدون نام GF100 و GTX285 مورد تست قرار گرفتند که GF100 با 84fps قوی تر از GTX285 با 50fps عمل کرد.
ادامه دارد ...
پاسخ: تاپیک اختصاصی nVidia GF100
NVIDIA GF100 : طراحی شده برای بازی
پردازنده گرافیکی GF100 از 512 Stream Processors تشکیل شده است. [امروزه NVIDIA آن ها را CUDA Cores می نامد]. 32 عدد CUDA Core درون یک بلوک قرار می گیرد که به آن Streaming Multiprocessorمی گویند. چهار عدد SM در واحد هایی به نام Graphics Processing Cluster قرار دارند و با توجه به این که هر چیپ GF100 دارای چهار GPC می باشد :
زمانی که NVIDIA برای اولین بار GF100 را معرفی کرد، اطلاعاتی درباره ی ROPs، واحد های Texture و دیگر ویژگی های اساسی آن در دسترس نبود، اما اکنون می توانید در جدول بالا برخی از اطلاعات مربوط به این چیپ را مشاهده کنید.
بزرگ ترین تفاوت این چیپ با GT200 را در معماری و ویژگی های سخت افزاری آن می توان یافت. در شکل زیر Block Diagram چیپ GF100 را مشاهده می کنید. همان طور که پیش تر گفتیم هر StreamProcessor در واحد هایی به نام SM و هر SM نیز درون واحدی بزرگ تر به نام GPC قرار دارد. هر چیپ GF100 نیز دارای چهار GPC می باشد :
از عملگرهای ثابت سخت افزاری این معماری می توان به GigaThread Engine اشاره کرد که NVIDIA آن را زمان بند (scheduler ) می نامد. برای آشنایی با دیگر عملگرهای اساسی این معماری، باید با جدیدترین واحد های اجرایی با نام PolyMorph Engine وRaster Engine آشنا شوید :
موضوع را با Raster Engine شروع می کنیم. یک Raster Engine تمام اموری که قبلا Pipeline ها انجام می دادند، را بر عهده دارد. کارهایی مانند Edge Setup )تنظیم لبه ها(، rasterization (بازتاب تصویر) و z-culling وظایفی بودند که یک Pipeline انجام می داد. همان طور که از Block Diagram مشخص است هر GPC دارای Raster Engine مخصوص خودش می باشد. NVIDIA اطلاعات کمی را درباره ی Raster Engine بروز داده است، اما این واحد تغییرات کمی را از زمان GT200 داشته است و فقط تنها تفاوت این است که الان در هر Die چهار عدد از آن ها (هر کدام از آن ها در یک GPC) وجود دارد. یک Rasterizer در یک کلاک می تواند 8 پیکسل را پردازش کند و بنابراین هر چیپ GF100 در مجموع در یک کلاک می تواند 32 پیکسل را پردازش نماید.
مهم تر از واحد اجرایی Raster Engine ، واحد جدیدی به نام PolyMorph Engine است که درمعماری GF100 وظیفه ی رسیدگی به کارهای هندسی (Geometry) را بر عهده دارد. اگر دقیق تر شویم، این واحد وظیفه ی رسیدگی به Vertex Fetch، Tessellation (موزاییک کاری)، Viewport Transform، Attribute Setup و Stream Output را بر عهده دارد. (شکل بالا) این واحد محل قرار گیری Tessellator است که یکی از بزرگ ترین تغییراتی است که در DirectX11 انجام گرفته و اکنون آن را در معماری GPU می بینیم. برخلاف Raster Engine در این جا هر SMدارای یک PolyMorph Engine است که سبب می شود در مجموع یک چیپ GF100 دارای 16 PolyMorph Engine باشد. چیزی که در این جا باعث تعجب می شود این است که این وظایف را قبلا واحدی که درpipeline وجود داشت، انجام می داد و اکنون چه دلیلی وجود دارد که NVIDIA یک واحد جداگانه برای آن در نظر گرفته و در هر چیپ 16 عدد از آن ها را جای داده است ؟
ادامه دارد ...
پاسخ: تاپیک اختصاصی nVidia GF100
چرا NVIDIA بر روی هندسه تمرکز کرده است ؟
تا الان ما درباره عملکرد فوق العاده GF100 سخنی را به میان نیاورده ایم و در حقیقت در این باره نمی توانیم نظری بدهیم. زیرا هنوز سرعت کلاک (Clock Speed) کارت های نهایی مشخص نشده است و دقیقا معلوم نیست که کارت نهایی قرار است به چه شکلی باشد. اما می توانیم درباره این تصمیم NVIDIA و رفتن به سراغ PolyMorph Engine و Raster Engine و دلایل آن صحبت کنیم.
DirectX11 کمپانی NVIDIA را با هزاران ایده و نوآوری جهت استفاده در کارت هایش تنها نگذاشته است. NVIDIA نیز نمی تواند هر قابلیتی که می خواهد را به کار برد و در پایان به راحتی از آن ها چشم پوشی کند زیرا این خطر وجود دارد که این قابلیت ها بیهوده باشند و فقط بر اندازه Die بیفزاید. DirectX11 دقیقا می گوید که چه خصوصیاتی برای یک کارت گرافیک استاندارد می تواند مناسب باشد و این گونه فضای کمی را برای منحرف شدن باقی می گذارد.
در این جا قابلیت سخت افزاری ویژه ای را نمی توان دید که به تنهایی عامل برتری این معماری نسبت به سخت افزارهای ATI باشد. به طور مثال NVIDIA قابلیت های سه بعدی سازی، مثل 3D Vison و قابلیت های محاسباتی نظیر PhysX را عرضه کرده است، اما در هنگام رندرینگ آن ها تنها کاری که سخت افزارهای AMD می توانند انجام دهند، را به نمایش می گذارند.
اگر بخواهیم نگاهی وسیع تر داشته باشیم، بین NV30 (کارت GeForce FX 5800 ) و GT200 (کارت GeForce GTX 280 )، عملکرد هندسی سخت افزارهای NVIDIA تقریبا سه برابر شده است. ضمنا عملکرد Shader در کارت هایش تا 150 برابر افزایش داشته است.
اما کارایی هندسی در چیپ های GF100 و GF200 نسبت به GT200 تا 8 برابر افزایش یافته است و NVIDIA این پارامتر را در آزمایشگاه هایش اندازه گیری کرده است !
اما چرا NVIDIA کارایی هندسی بیش تری را می خواهد ؟ زیرا با Tessellation کارت های NVIDIA می تواند شی و موجودی را در یک بازی نسبت به کارت های ATI بهتر خلق و رندر کنند. با داشتن قدرت هندسی بیش تر، NVIDIA می تواند با استفاده از Tessellation و Displacement mapping کاراکترها و اشیای پیچیده تری را خلق کند و صحنه سازی ها نسبت به ATI با سرعت بیش تری انجام گیرد. و این همان دلیلی است که باعث شده که 16 PolyMorph Engine و 4 Raster Engine در یک چیپ به کار رود و سخت افزار بیش تری جهت کارهای هندسی و خلق اشیای مختلف مهیا شود.
NVIDIA متعقد است استراتژی که در پیش گرفته است، عمل خواهد کرد و اگر کارایی هندسی به همان شکلی که اعلام شده، بالا باشد، معلوم می شود که انتخاب این استراتژی از سوی NVIDIA بیهوده نبوده است.
ادامه دارد ...