پردازنده گرافیکی RSX در کنسول PS3
پردازش گر صوتی ps3 :
صدادر PS3 کیفیتی فوق العاده بالا دارد در PS3 صدا ها توسط SPE ها کدگذاری می شوند و به 3 صورت دالبی DST ، 5/1 کاناله معمولی و قابل تبدیلبه 7/1 کاناله و همچنین سیستم کد گذاری جدید و بسیار با کیفیتی به نام LPCM که فقط مختص پردازنده Cell می باشد (از این سیستم در بازی God Of War 3 هم استفاده خواهد شد و ما شاهد موسیقی های فوق العاده با کیفیت دراین بازی خواهیم بود) صدا در PS3 به صورت 32Bit کد گذاری شده و حداکثر کیفیت ان 30KBPS است و توسط پورت Digital Out در پشت PS3 قابلانتقال به سیستم های صوتی می باشد. PS3 از 256 کانال صوتی بهره می برد ومی تواند هر فایل صوتی به راحتی MP3 و WMA را بخواند.
اما این پردازنده از صدای دالبی دیجیتال پشتیبانی میکنه و تا جایی که من شنیدم و اطلاع دارم نمیتونه از سیستم 7/1 کاناله پشتیبانی کنه . و همین طور از صدای سوراند ( فراگیر ) هم پشتیبانی نمیکنه .
اما مایکروسافت : XBOX 360
پردازنده مرکزی :
نام رسمی این پردازنده XNON است که IBM به ان waternoose میگوید .
این پردازنده سه هسته دارد که بر اساس ساختاریا همون ابر کامپیوتر ها با فناوری ساخت 90 نانومتر ( در ابتدا ) و در حالحاضر ( 65 و حتی 45 نانونمتر ) هم تولید شده که از 165 میلیون ترانزیستوربهره میبرد .این پردازنده به صورت موازی و با فرکانس 3.2 گیگا هرتز کارمیکند که قدرت بالایی را در پردازش محاسبات پیچیده به ان میدهد .
CPU مخصوص X360 دارای 165 میلیون ترانزیستور (در مقابل 9 میلیون Xbox که با نام Xbox Pentium 3 شناخته میشود)1MB Cash سطح دومبه صورتShare بین سه هسته منطقی و دو عدد Hardware Threads برای هرهسته میباشد و در کل 6 عدد Hardware Threads وجود دارد.Cash سطح اول نیز 64KB برای هر هسته است که در نوع خود بسیار عالی میباشد(برای چنینپردازنده ایی) و همچنین 3KB برای دستورات و 3KB برای پردازش اطلاعات.
Xenon در هر ثانیه 512MB حافظه Share Ram و حافظه گرافیکی 6/21 GB/S تبادلاطلاعاتی دارد که FSB و PHY ان با فرکانس بسیار عالی و باور نکردنی 4/5 GHZ کار میکند!!(این مورد واقعا عالی هست و میتوان ان را همانند CPU هایبسیار قوی و اورکلاک شده یاد کرد دلیل عرضه بازی های مثل Crysis و Alan Wake روی X360 به خاطر همین فرکانس و پردازنده میباشد).
توان عملیاتیXenon برابر1TFLOPS است (درXBOX تنها2/9 GFLOPS میباشد) که به گفته کلیفی بلزنسکی (کارگردانبازی Geow 2 ) ،در حال اجرای بازی فوق العاده سنگینGears Of War 2 تنها 70 الی 75 درصد قدرت محاسباتی Xenon مورد استفاده قرار میگیرد. هر چنداین عدد در مقایسه با Cell خیلی کمتر هست اما در عمل Xenon قدرت بیشتریدارد.درXenon برای هر هسته یک VMX با ثبات 128 وجود دارد. در ضمن 384بیت رجیستر درXenon وجود دارد. هر دو CPU در هنگام بی کار بودن خط لولههای PIP LINE رو خاموش میکنند تا در مصرف برق صرف جویی شود. هر دو CPU تاپایان سال 2006 به صورت 90NM ساخته می شدند اما از اغاز سال 2007 ،Xenon با فناوری 65NM ساخته شد که گرمای کمتری دارند و فشار بسیار کمی رویسیستم خنک کننده ابی وارد میکند. در مقابل Cell نیز از اواسط سال 2007 بافناوری 65NM به عنوان قلب تپنده درPS3 قرار گرفته است.
هر چندXBOX 360 بیشتر روی MULTI THREADING (انجام چند کار به صورت هم زمان) تاکید دارد که البته قدرتانجام چنین کاری را نیز دارد. البته نباید فراموش کرد که Xenon از بین 6 THREAD تنها میتواند 4 عدد THREAD سنگین و حجیم را با حد اکثر قدرت انجامدهد و سه عدد دیگر باید عملیات نه چندان سنگین (مثلا غیر گرافیکی) باشد تاانجام عملیات دچار مشکل نگردد.
همان طور که می دانیم هر CPU ، دو دستهعملیات انجام می دهد. یک مورد مسایل کم اهمیت تر مانند :AI ، کنترل شخصیتو ... یک مورد دیگر پردازش و طبقه بندی اطلاعات بازی و اطلاعات گرافیکی وفرستادن ان به GPU برای پردازش. در اینجا باز همXenon برتری دارد و بهلطف Cash دوم بزرگتر هسته های اصلی، میتواند تعداد بیشتری از عملیاتمانند فیزیک، هوش مصنوعی, و کنترل شخصیت ها در مقایسه با Cell ذخیره و ... انجام دهد و این به این معنی است که بازی ها روی X360 دارای فیزیک،هوش مصنوعی، کنترل شخصیت بهتری هستند.
Test Debug : این واحد تنها در Xenon وجود دارد و از هسته های مرکزی جداهست و هنگامی که هسته ها اعمال گوناگونی را انجام می دهند وظیفه ان کنترلو از بین بردن خطاهای احتمالی است که ممکن است هنگام اجرا کردن عملی بهوجود اید. این قسمت برای بالا بردن سرعت رفع خطاها کاربرد دارد و اصلاهسته های مرکزی را در گیر نمیکند. و سرعت ان برابر هسته های مرکزی است (3/2 GHZ )
واحد پردازش گرافیکی : GPU :
XENOSنام اختصاصی واحد پردازشی کنسول XBOX 360 است و شرکت ATI انرا طراحی و ت ولید کرده . این پردازنده در شرکت ATI ، R 500 نامیده میشود و در واقع از سری 500 ATI است .سرعت ساعت ان 500MHZ (این مقدار در XBOX برابر 233MHZ و درPS3 550MHZ می باشد) می باشد.
چیپ ست این کارت دارای 2 ساختارجداگانه هست . قسمت اول مربوط به واحد پردازش گرافیکی که بیشترین فظا رااشغال کرده و قسمت دوم هم حافظه سریعی است به نام EDRAM که به نوعی مثل برگ برنه برای XBOX 360 به حساب میاید.
چیپ XENOS در مجموع دارای 315 میلیون ترانزیستور است که از این مقدار 50 میلیون ان مربوط به حافظه EDRAM است . واحد پردازش گرافیک XBOX 360 در فرکانس 500 مگاهرتز کار میکند .
حافظه GDDR3 با سرعت 700MHZ (400MHZ در هنگام DDR Rate) که مقدار حافظهگرافیکی با حافظه سیستم 512MB و به صورتShare می باشد.Xenon دارای سرعتانتقال اطلاعات از رم برابر 32GB/S است. Xenon از 232 میلیونترانزیستور ساخته شده است (در مقابل 60 میلیون XBOX ) که هسته ان از 48عدد Shader Pipline تشکیل شده که هر Pipline عملکردی 2OPS دارد که درمجموع توانایی به 96SOPS می رسد. ممیز شناور Xenon برابر 6/1TFLOPS است.(در XBOX تنها 4 عدد Pixe Pipline وجود دارد.) این GPU در هر ثانیهمجموع 21.6GB/S با CPU تبادل اطلاعاتی دارد و با Sought Bridge برابربا 1S/GB و EDRAM که مقدار ان 1MB است 26S/GB تبادل اطلاعاتی دارد.
XBOX360 از دو گروه زیر مجموعه DirectX به نام هایUnifeid Shader وGeometry Shader پشتیبانی کامل میکند همین امر باعث شده تا بازی های اختصاصی این کنسول مانند Alan Wake ازروشنایی و نور پردازی پیچیده ایی استفاده کنند و بازی ها رویXBOX360 دارای روشنایی بیشتری (دقت کنید روشنایی بیشتر نه گرافیک) باشند
پردازنده گرافیکی XBOX 360
حافظه EDRAM :
در کنار واحد پردازش گرافیکی ، حافظه 10 مگابایتی EDRAM هست که با سرعت 30 مگاهرتز کار میکند .
این حافظه از 2 بخش اساس ساخته شده است :
حافظه :
1- در این قسمت اطلاعات کلی مورد نیاز برای پردازنده گرافیکی ذخیره میشود . علاوه بر این قسمت اطلاعات که در بخش LOGIC ذخیره میشود هم در این قسمت نگه داری میشود .
واحد منطقی :
2-این واحد پردازشی توسط شرکت NEC در ساختارطراحی شده و وظیفه ان ، پردازش قابلیت هایی همچون رنگ تصاویر ، امیختنپرتوهای نوری برای افزایش کیفیت و دقت تصاویر و تصحیح سطوح ناصاف به صورتسخت افزاری است . هدف از طراحی این واحد پردازشی اجرای روانتر تصاویر سهبعدی در بالاترین کیفیت و بیشترین میزان فریم است .
حافظه فوق العاده پر سرعت EDRAM
سایر مشخصات اصلی این پردازنده گرافیکی :
48 مسیر پیشرفته موازی برای محاسبات پیشرفته گرافیکی ( که به دلیل ساختار موازی بودن پردازنده هست )
2- معماری سایه زنیمشترک که امکان پردازش دستور العمل های سایه زنی پیکسلی و راسی را در هریک از لوله ها میسر میسازد . ( در این حالت هر یک از 3- لوله های پردازشی، قابلیت انواع سایه زنی پیکسلی و راسی را پیدا میکنند ).
4- پشتیبانی کامل از سایه زن نسخه 3 ( یا SHEDER MODEL 3 )
5- قابلیت پردازش 48 میلیارد دستور العمل سایه زنی در ثانیه .
6- امکان پردازش 500 میلیون مثلث در ثانیه ( برای تصاویر سه یعدی و پیچیده ).
7- داشتن TEXEL FILLRATE در حدود 8 گیگاتکسل در ثانیه .
8- میزان PIXEL FILLRATE شانزده گیگاتکسل در ثانیه برای پردازش بازی های پیچیده .
و.............
حافظه :
این کنسول مجهز به 512 مگابایت حافظه از نوع GDDR3 با فرکانس کاری 700 است . این حافظه هارو شرکت سامسونگ ساختهاست .
پهنای باند :
پهنای باند حافظه موجود در EDRAM و واحد LOGIC ( منطقی ) وجود دارد ، در حدود 256 گیگابایت در ثانیه است که ارتباط سریعمیان این 2 را بر قرار میکند. از طرفی واحئ پردازش گرافیکی با پهنای باند 32 گیگابایت در ثانیه با واحد منقط در ارتباط است .
هم چنین پهنای باند بین حافظه گرافیکی و پردازنده در این کنسول 22/4 گیگابایت در ثانیه است.
واحد پردازش گرافیکی و پردازنده مرکزی در این کنسول ، با پهنای باند 21/6 است و با هم در ارتباطند.
CPU کنسول XBOX 360
واحد پردازش صوتی :
این واحددر XBOX 360 از دقت 48 کیلوهرتز و شانزده بیت در هنگام بخش فایل های صوتی پشتیبانیمیکند که نوع ان 32 بیتی است و در هر ثانیه میتواند 256 وع صدای مختلف راپخش کند . این پردازنده از صدای دالبی دیجیتال و 5/1 کاناله پشتیبانی میکند و همین طور پشتیبانی از صدای فراگیر ( سوراند ).
صدادرXBOX360 در خود هسته های اصلی با تکنیک Compression XMA به صورت Real-Time کدگذاری می شود. مثلا افکت دالپر (شدت صدا با توجه به فاصله) را در نظر بگیرید. اگر دو شخصیت بازی در کنار یکدیگر تیر اندازی کنند،بچرخند و تیر اندازی کنند با بخرند، میزان شدت صدا و این که کدام کانالصدا باید به کدام بلند گو فرستاده شود، دقیقا محاسبه می شود. صدای خارجشده از Xenon ، 5/1 کانال دالبی دیجیتال بوده، به صورت 32Bit کدگذاری میشود و کیفیتی برابر 30KBPS دارد که در بازی هایی که تکنیک صدا گذاری XMA را پشتیبانی می کنند(تکنیک فرمت استاندارد همه بازی ها DirectX 9-10) اینکیفیت به 16 بیت و 4KHZ تغییرمی کند. در این کنسول در هنگام چت در بازیصدا در CPU کد گذاری می شود نه از طریق موتور بازی. در XBOX360 بر خلاف PS3 هیچ پورت خروجی صدایی از قبیل Audio-HD و DVI وجود ندارد.(اینواقعا یک ضعف برای XBOX360 به شمار می رود.)
در عوض Xenon ازفشرده سازی 6/1 برای صدا های با کیفیت پایین 14/1 برای صدا های با کیفیتبالا استفاده می کند که در بین کارت های صدا های با کیفیت نیز کم نظر است
و حالا مقایسه کامل این دو کنسول از لحاظ گرافیک:
هر دوGPU از حالت 4X ***** Multisampling Anti Aliasing استفاده می کنند و Vertex Shader انها 8عدد می باشد. (وظیفه این ***** این است که بازی را شفاف تر لبه های دندانهدار را نرم تر و پوست و لباس های شخصیت های بازی را طبیعی تر جلوه دهد.) هر دو دارای فناوری 90nm هستند (البته شرکت های سونی و مایکرو سافتبرنامه هایی برای 65nm کردن این کنسول ارایه کرده اند که ما شاهد کنسولهایی با فناوری 65nm هستیم که کمتر داغ می کنند و برق کمتری مصرف میکنند.) هر چند که طبق گذارش مایکرو سافت تمامی بازی های رو کنسول X360 تنها از 60 الی 65 درصد قدرت این کنسول استفاده می کنند!
حتما شمامی دانید که وضوح تصویر، شفافیت، روشنایی، میزان نور و ... همه به خاطرپیکسل هاست هرچه تعداد پیکسل ها بیشتر باشد شفافیت بیشتر است GPU دروناین دو کنسول تصاویر را خلق می کند و در هر هزارم ثانیه میلیارد هاعملیات محاسباتی ریاضی را انجام می دهد تا شما بر روی صفحه نمایش شاهدتصاویر دلخواه باشید GPU های این دو کنسول از بزرگترین GPU های نسل قبلهستندGPU های این دو کنسول توانایی اجرای پیکسل های شش ضلعی با کیفیت رادارند ما در اینجا سه نوع از مهم ترین پیکسل ها را برای شما توضیح میدهیم البته قبل از اینکه وارد بحث بشویم و به معرفی این نوع پیکسل هابپردازیم اجازه دهید کمی توضیح در باره ساخت پیکسل در کنسول ها به شمابدهم (البته توضیح کامل در قسمت ساخت تصاویر داده شده است.) : تصاویر درکنسول PS1 به صورت مربع مربع ساخته می شدند و به خاطر همین در هنگام بازیکردن با کنسول PS1 ما بعضی وقت ها شاهد این بودیم که تصاویر مربعی میشدند و کیفیت تصاویر خیلی پایین بود همچنین در کنسول PS2 تصاویر به صورتمثلث ساخته می شدند و بسیار ریز تر بودند و همین امر باعث بالا رفتن کیفیتتصاویر درPS2 شده بود اما در این دو کنسول نسل جدید تصاویر به صورت ششضلعی ساخته می شوند ساختن تکه تکه تصاویر به صورت شش ضلعی کاری است فوقالعاده پیچیده که به مدد قدرت گرافیکی بالای این دو کنسول نسل جدید امکانپذیر شده است ساخت تکه های شش ضلعی همگی درGPU انجام می شوند و کیفیتتصاویر شش ضلعی فوق العاده بالا هست حال به معرفی دو نوع از پیکسل هایی کهدر این دو کنسول یعنی X360 و PS3 پردازش می شوند می پردازیم:
Verticle که هر GPU میتواندبسازد در RSX برابر 940 میلیون و درXenon برابر 900 میلیون هست. (ایننوع پیکسل در مقدار روشنایی و وضوح تصویر تاثیر می گذارد.) Pixel fill rate در هرGPU به ترتیب 8.88 میلیارد (RSX) و 800 میلیارد (Xenon) در هرثانیه است که این عدد از فرمول CLOCK ضربدر ROP به دست می اید.( این نوعاز پیکسل در کیفیت یک بازی بسیار مهم است و بازی سازان از این فرمول برایتشکیل نور پردازی یک بازی استفاده می کنند که کار فوق العاده پیچیده وطاغت فرسا یی هست.) می رسیم به اخرین نوع یعنی Texture fill rate در هرثانیه بر حسب میلیارد که از رابطه Pixel Pipline + Clock به دست می ایدبه ترتیب 2/13 (PS3) و 00/24 (XBOX360) هست. (علت این اختلاف تفاوت در Pixel Pipline هست در ضمن همین مقدار در X360 باعث می شود بیشتر بازیهای مولتی پلتفرم بر روی X360 دارای مقدار فریم و چند ضلعی بیشتری باشندهمچنین این مقدار روی شفافیت تصاویر تاثیر می گذارد.) تصویر زیر اخل RSX را نشان می دهد RSX از سنسور های بسیار زیادی استفاده می کند این کارتگرافیک بسیار پر قدرت و سریع می باشد:
Xenon و RSX توانایی ساختن تصویردر رزولشن های مختلف را دارند. یعنی هر دو کنسول قابل استفاده بر رویتلوزیون های 21 اینچ معمولی (SDTV) تا 70 اینچ پلاسما (HDTV) هستند. هردو کنسول تمامی حالت های تصویری اعم از480P ، 720P ، 1080i و1080P راساپورت می کنند.
هردو GPU وظایف انجام عملیاتی گرافیکی را بین خودشان و CPU تقسیم می کنند. در این کنسول ها وظیفه Pixel Shading بر عهده CPU هست. در حالی که تکمیلتصویر نهایی، محاسبه شش ضلعی ها و مثلث های ریاضی، قرار دادن افکت ها و ... بر عهده GPU هست. در بیشتر بازی ها (95 درصد) شروع تصویر سازی و لوداز مقیاس Z (عمق) صورت می گیرد. موتور های فیزیکی که قبلا به توصیف ان هاپرداختیم از این روش استفاده می کنند این روش درCPU (درCell درSPE ها) انجام می شود. موتور بازی در موقع لود کردن فقط محیط اصلی را لود می کندیعنی CPU و GPU در این دو کنسول موقع لود بازی فقط تکسچر کل بازی (محیطکل بازی و نقشه) را لود می کنند لود اشیا، صداها و ... همه بعد از لود شدنو در موقع بازی کردن اتفاق می افتد.
چگونگی کارکرد پردازنده RISC در این دو کنسول؟
یکی از مشخصه های پردازنده RISK توانایی ان در به کار گیری یک خط لولهدستورالعمل است. به دلیل اینکه دستورات این گونه پردازنده ها ساده استتعداد دستورات کمتری در یک سیکل ساعت اجرا می شوند (که سرعت انجام اینکاربرابر با سرعت یک دستوردر هر پالس ساعت است) و دستورات انتقال داده (کهالبته تنها بهLoad و Store محدودند) به سه یا چهار مرحله برای بارگذاری در خط لوله نیار مند هستند. البته این طور نیست که دستورات در یکپالس ساعت از حافظه بر داشت و یا اجرا شوند. بلکه اغاز هر دستور با یکپالس بوده و هدف خط لوله برای انجام این کار حرکت به سوی اجرای دستورات درهر پالس ساعت است. یک خط لوله (خط لوله Cell ) پردازنده PPE همانندپردازنده P4 بیشتر وقتش را صرف این میکند که دستورات را به هسته اجرایی (محل اجرای دستورات) برساند. اما بر خلاف P4 که یک و نیم چرخه ساعت تاخیریا Latancy داشت این خط لوله دو چرخه ساعت تاخییر دارد. این زمان زیادنیست اما افزایش زمان تاخیر باعث خالی ماندن PIP LINE و اجرای دوبارهدستورات می شود. در ضمن این اتفاق زمانی می افتد که زمان تاخیر بیش از 4مرحله زمانی گردد.
برنامه نویسان چگونه از قدرت سخت افزاری این دو کنسول استفاده می کنند؟
شباهتهای این دو پردازنده در بعضی قسمت ها اتفاق عجیبی نیست. پردازنده Xenon نیز مانند Cell یک RISK است. منتهی با این تفاوت که برنامه نویسان برایبرنامه ها و کامپایلرهایی که میخواهند روی Xenon اجرا شوند باید وقتبیشتری بگذارند. چون اولا باید برنامه ها را به صورت موازی بین سه هستهپخش کنند و دوم اینکه از هر سه هسته حد اکثر استفاده را ببرند و طوریوظایف هسته ها را مشخص کنند که تداخلی به وجود نیاید. مثلا میتوانندپردازش AI (هوش مصنوعی) را بین سه هسته تقسیم کنند و خود این سه هسته ازطریق پیغام فرستادن به Cash و مطلع شدن از وضع یکدیگر کار را پیش ببرند.
در حالی که در Cell یکSPE میتواندروی فیزیک کار کند و دیگری بر روی صدا و دیگری بر روی هوش مصنوعی و درحقیقت هیچ توازنی بین ان ها وجود ندارد و این بستگی به سلیقه برنامه نویسدارد که از هرSPE چه استفاده ایی ببرد. البته زیاد خوشحال نشوید! چونCel l تنها دوThread را میتواند انجام دهد و برنامه نویسان باید زحمت بیشتریبکشند و فیزیک و AI را بسیار فشرده تر کنند و این خود به معنی پایین امدنکیفیت کار میشود (در ضمن به خاطر همین است که بازی ها روی X360 براق ترهستند) تا Cell بتواند انها را همزمان با کار های دیگر انجام دهد. در ضمنهر دو CPU با کمبود فضای Cash رو به رو هستند و برنامه نویسان بایداز1MB حافظه Cash برای فیزیک، کنترل ، هوش مصنوعی ،کنترل شخصیت ، موتوربازی ، و کد های گرافیکی بیشترین استفاده را ببرند و خود این کار یعنی جنگدرست حسابی با سخت افزار! البته این مشکل در مورد هسته اصلی Cell حاد ترنیز هست.
نکته :
هردوGPU از حالت 4X ***** Multisampling Anti Aliasing استفاده می کنند و Vertex Shader انها 8 عدد می باشد. (وظیفه این ***** این است که بازی راشفاف تر لبه های دندانه دار را نرم تر و پوست و لباس های شخصیت های بازیرا طبیعی تر جلوه دهد.
نکته 1 :
-3 ROP (Raster Operations Pipeline) : این واحد اخرین قسمت برای رندر یکمحصول 3D (سه بعدی) هست. Pixel Pipline اطلاعات مربوط به Pixel و Texel را دریافت کرده و با عملیات ماتریس انها را به پیکسلی که قرار استروی مانیتور نمایش داده شود تبدیل می کند.هرROP مانند یک کارگر عمل میکندکه بافر ذخیره شده در رم را گرفته و عملیاتی روی ان انجام می دهد. توجهداشته باشید که تعداد ROP ها و Pixel Shader و Texture Unti شاید دربعضی GPU ها با هم برابر نباشند اما انها طوری عمل می کنند که انگارتعداد شان با هم برابر است برای مثال این اعداد در PS3 برابر:
ROP :16 - Vertex Shader :8 - Pixel Shader : 24
و این اعداد در xbox360 برابر :
ROP :16 - Vertex Shader :8 - Pixel Shader : 48
( به خاطر همین اختلاف هست که بازی ها روی x360 دارای چند ضلعی ها و روشنایی بهتری هستند).
نکته 1 :
Pipeline :خط لوله گرافیکی است که در طی چندین مرحله با انجام محاسبات مختلف (مانند انواع انتقال ها، مقیاس ها، نور پردازی ها، بافت زنی ها و ...) ازیک مختصات سه بعدی و یک دور بین مجازی مسقر، تصویری دو بعدی از دید اندوربین برای رسم در صفحه نمایش تولید می کند.
نکته 3 :
چگونگی ساخته شدن تصاویر در این دو کنسول :
قبلااز اینکه به ساخته شدن تصاویر بر روی XBOX360 و PS3 بپردازیم بهتر استابتدا به ساخته شدن تصاویر بر روی کامپیوتر ها را بررسی کنیم:
دریک بازی 3D (سه بعدی) هنرمندان از برنامه های 3D Rendering برای ساختکاراکتر ها و Object ها بهره می برند. هر شیئ ساخته شده در کامپیوتر به Polygon تبدیل می شود و در رم کامپیوتر به صورت اطلاعات Vertices تبدیلو ذخیره می گردد. هنگام نمایش تصاویر این اطلاعات از رم کامپیوتر به صورت Vertex زیر نظر CPU که موتور رندر بازی را اجرا می کند به GPU منتقل میشوند. تصویر رندر شده به مانیتور فرستاده می شود. این کار چند مشکل عمدهدارد. اول اینکه هر شیئ باید در رم ذخیره شده و سپس برای نمایش به صفحهبرود که این خود مقدار زیادیرم و برای انتقال اطلاعات به GPU هم پهنایباند بسیار زیادی نیاز دارد.
این مشکل در کنسول ها نیز حاد تر هستچون رم 2GB کاپیوتر را نمی توان با 26MB رم PS3 مقایسه کرد! هنرمندانهم برای اینکه از سد این مشکل بگذرند اقدام به کپی کردن شیئ در محیط کردهو باعث به وجود امدن محیط های تکراری و یکنواخت می شوند.مثلا یک درخت یایک کاراکتر را به وجود اورده و بقیه را هم کپی می کنند. ایجاد تنوع درطراحی ها ضمن اینکه بودجه بازی را سرسام اور افزایش می دهد تازه مقدارمورد نیاز رم و هارد دیسک را نیز بالا می برد.(بودجه ساخته شدن ساده ترینبازی برای دو کنسولxbox360 وps3 بیش از 20 میلیون دلار می باشد!!)
راه حل کنسول های نسل جدید این است:
اطلاعات در رم وجود دارد اما قبل ازGPU بهCPU فرستاده می شود و در انجاCPU کارپردازش تصویر (البته نه به صورت کامل) را انجام می دهد. به طور مثالاطلاعاتVertex را مورد پردازش قرار می دهد.RAM تمامی اطلاعات از قبیلسایز یک درخت، میزان شاخه ها و زاویه های ان را در خود ذخیره میکند و CPU (یک یا حد اکثر دوThread خود) انها را مورد پردازش قرار می دهد.خود همین Thread ها یکسری اطلاعات پردازش شده را به GPU می فرستد و در ان جا GPU عملیات رندر و ***** و... را انجام خواهد داد. توجه داشته باشید کهاطلاعات از طریق L2Cash به GPU فرستاده می شوند که بسیار سریع تر ازپهنای باند حتی با فرکانس 5/4GHZ کار میکند!! مزیت این روش ذخیره کمتراطلاعات در RAM برای ارسال به GPU است. البته این اطلاعات توسط CPU نیزفشرده شده و در GPU باز می شود و این امکان را به بازی سازان می دهد تاتا از RAM محدود کنسول ها نهایت استفاده را ببرند. البته این طور نیست که Cash توسط Vertex پر شود. بلکه هنگامی که اطلاعات جدید وارد می شودهمان مقدار اطلاعات پردازش شده سریعا به GPU فرستاده می شود و این چرخههمین طور ادامه می یابد و CPU همیشه اطلاعات بیشتری در مقایسه با مقداردر خواستی وارد GPU می کند.
توضیح 1 :
(( نکته های زیر رو دوست خوبمون (8030 ) اضافه کردنکه ازشون ممنون هستیم . ))
1- بدست اوردن مقدار محاسبات شناور cpuکامپیوتر خودتون :
برنامه رو از لینک زیر دانلود کنید .
برنامه رو اجرا کنید به هیچ گزینه ایی دست نزنید فقط روی استارت کلیک کنید نتایج یکی یکی پدیدار میشن هرنتیجه گویای مقدار محاسبه شناور تو یک ثایه هست که تو بازه های معینی حساب شده.
لینک دانلود برنامه :
http://downloads.guru3d.com/IntelBur....html#download
2- بدست اوردن مقدار محاسبات شناور cellوxenon :
این مقدار برای cell هست 230 gflop برای xenon هست 96 gflop .
مثلا : برای خودم که cpu چهار هسته ایی amdمدل phenom2 945 دارم این نرم افزار عدد 32.1000 نشون میده یعنی 32 gflopتعجب کردید نه!!!
معنای risk بودن پردازنده :
تعجب نکنید cpuکامپیوترهای شخصی اولن riskنیستن یعنی اصلا برای این موضوع بهینه سازی نشدن شما فکر کنید برای یه ماشین حساب مهندسی که نمیان از cpu کامپیوتر استفاده کنن از پردازنده بهینه سازی شده برای این منظور استفاده میکنن یعنی cpuکنسول باcpuکامپیوترهای شخصی از پایه وریشه تفاوتهای اساسی دارن.
این که میبینید cpuکنسولها پردازش شناورشون بالاست چون برای گیم طراحی شدن نه اجرای ویندوز یا نرم افزارهای اونها cpuکامپیوتر از معماری x86وx64پشتیبانی میکنن ولی cpuکنسولها ریسک هستند یعنی فقط وفقط محاسبه برداری!!!
چرا بردار ؟
چون مبنای پردازش بازی ها در کنسولها برای کنترل اجسام وابجکتها به صورت برداری هست البته برنامه نویسی برای هوش مصنوعی و موارد دیگه بصورت کد هست که بر عهده مرکز وقلب cpuیعنی ppeیا قلب powerpcهست ولی در کامپیوتر چه از لحاظ کنترل اجسام چه از لحاظ برنامه نویسی هوش مصنوعی به صورت کدهست.
حسن cpu کامپیوتر به سرعت محاسبه هست معماریx86وx64سرعت برق اسایی در محاسبات دارن برای همینه که اکثر بازی هایی که با کنسولها مشترک هستن از فریم بالاتری برخوردارن البته مسئله ایی که مطرح میشه اینه که قدرت کامپیوترهای شخصی بالاتر هست البته این موضوع بر میگرده به قطعات استفاده شده در کامپیوتر ولی در شرایط یکسان در واقع قدرتها یکی هست ولی سرعتها فرق میکنه .
در مورد سرعت در کنسولها این بر میگرده به یک بحث بسیار پیچیده که هم مربوط میشه به ظرفیت حافظه سیستم و هم محاسبات شناور که اگر بخوام درباره اش تو ضیح بدم باید تا صبح مطلب بنویسم ولی به همین اکتفا میکنم که علت اینکه حافظه سیستم یاramکنسولها اینقدر از نظر ما کم هست در واقع اینطور نیست از نظر ما اینطوری بر داشت میشه همین مقدار حافظه معادل 2گیگ یا 3گیگ رم در کامپیوترهایشخصی میشه.
چون اطلاعات در رم کنسولها به صورت مختصات نقطه هایی روی بردارهای xوyذخیره میشه که میره تو بحث لگاریتم ومشتق و انتگرال که یک پردازشگر با محاسبات بسیار بالا میخواد برای باز کردن این اطلاعات از رم کنسول حالا این یکی از دلایل اینکه چرا قدرت محاسبات اینcpuها چقدر بالاست.
برای اینکه تقریبا بفهمیم قدرتPS3 و XBOX 360 تو چه حدودی هست به این مثال ها توجه کنید :
مقدار محاسباتی که کنسول ps3میتواند در یک ثانیه انجام بدهد 630 gflopهست که اگر بخوایم مقایسه کنیم با کارت گرافیکهایی که تو این رده هستن میشه :
9800 gtxبا محاسبات 648 gflop
250 gts...704 gflops
260 gtx....715 gflop
450 gts...601 gflops
460 gtx...748 gflops
8800 ultra...576 gflops
خوب همینطور که میبینید قدرت پردازش کل محاسبات ps3از 8800ultraبالاتر واندازه 9800gtxو از 460 gtxکمتر هست.
یادم میاد سال 2007قیمت 8800ultraیه چیزی بین 599تا699دلار بود حالا شما قضاوت کنید کدوم برای بازی به صرفه تر هستن.
اما ایکس باکس 360 ببینیم تو چه حدودی هست :
کل محاسبات شناور این کنسول 336gflopهست علت اینکه مقدار این عدد از مقدار کنسول رقیب کمتر هست بیشتر بخاطر cpuاین کنسول هست چون cpuکنسول رقیب 230gflopهست ولی این96gflop.
اما مقایسه کارتهای گرافیک با XBOX 360
8800gts{g80}...346
9600gt....312
240gts....385
440gt...311
خوب همونطور که مشاهده میکنید 360حدود قدرتش مشخص شد یعنی بیشتر از و240gts9600ومعادل 8800نمونه مدل96شیدریش وقیمتشم در 2007 حدود 299دلار بود وکمتر از 240gts.
خوب همین طور که دیدید حدود قدرت 2کنسول مشخص شد.
منبع برای مقایسه با کارت گرافیکهای pc:
http://en.wikipedia.org/wiki/Compari...ocessing_units
این مقدار اعدادی که من بدست اوردم دقیقا همون مقدار واقعیه که این کنسولها میتونن پردازش کنن ( مقدار محاسبه شناور کارتهای amdرو بزارید کنار و فقط روی انویدیا تمرکز کنید ) .
با دیدن بازی GOD OF WAE 3 پلی استیشن3 دوباره مجبور شدم تحقیقاتتمو از نو شروع کنم
گرافیک این بازی من رو تکون داد و جدا از فن بازی چیزی که دیدم هر کارت گرافیکی نمیتونست این اشکال عجیب غریب محیطهای بشدت با کیفیت بالا نور پردازی عجیب با 60فریم رندر کنه اینو دارم جدی میگم چیزی که من تو کنسولها متوجه شدم برای بدست اوردن محاسبات شناورشون تقریبا همون سادگی کارت گرافیکهای انویدیا رو داره وزیاد پیچیده نیستن ولی در مورد AMD اینطور نیست.
در مورد اینکه بازیهایی مثل کرایسیز2 چرا رو 30فریم اجرا میشن علت های خودش رو داره یکی از بزرگترین علتهاش نو برنامه نویسی ونوع هضم کردن اطلاعات داخل کنسوله چون محاسبات برای باز کردن فایلها سنگینه نرخ فریم زیاد نمیتونه بیاد بالا این عامل نباید با کارت گرافیکهای پی سی مقایسه بشه حالا چون 30فریم میده یه 9500هم30فریم میده پس این دو برابرند نه این اشتباه هست.
ببینید روند ذخیره و خوندن اطلاعات در رم کنسول دائما با دی کمپرس کردن و کمپرسینگ انجام میشه و cpuزیر بار هست واگر بخواد بازی روی 60اجرا بشه اولن فشار وحشتناکی به cpuمیاد که که بدلیل فضای کم تهویه باعث مشکلات سخت افزاری میشه دوما فریم دائما کم وزیاد میشه که به قول خودمون دستگاه شروع میکنه به دک زدن وباعث فشار اومدن به پاور دستگاه وقطعات سخت افزاری دیگه میشه وعمر کنسول کم میشه انهایی که گفتم شایع ترین عواملشه.
(( از دوست خوبمون اقای 8030 بابت اطلاعات تکمیلی باز هم تشکر میکنیم . ))
توضیح 2 :
توضیحات زیر هم توسط DieDie و mehdihoo اضافه شده که ازشون تشکر میکنیم .
mehdihoo :
نکته ای که هست اینه که توانائی محاسبات شناور به تنهائی مشخصه و معیار مناسبی برای مقایسه پردازنده ها نیست ( حالا میخواد CPU باشه یا GPU).
سعی میکنم خیلی وارد جزئیات نشم (گرچه خیلی سخته)
نوع Instruction ها یا همون دستورالعملها هم تاثیر فوق العاده ای روی راندمان پردازنده داره.صرفا بالاتر بودن فرکانس کاری و محاسبات بیشتر ملاک نیست گرچه تاثیر به سزائی داره.
فرض کنید یه عملیات خاصی رو یک پردازنده تو 10 سیکل ساعت (Clock Pulse) انجام میده ولی پردازنده ای دیگه با یک دستور بهینه و اختصاصی ای که برای این عملیات داره میتونه اون رو تو مثلا 2 سیکل ساعت انجام بده.
منظور اینه که با تعریف دستورالعملهای اختصاصی برای عملیات خاص و با استفاده از منابع انحصاری میشه یه کار مشخص رو سریعتر انجام داد در حالی که هر دو پردازنده مثلا یک فرکانس کاری و قدرت محاسباتی یکسان دارن.
به این روش و تکنیک به صورت عام میگن RISC یا Reduced instruction set Computing. مثلا عملیات سایه زنی تو یه پردازنده با معماری و دستورات بهینه و اختصاصی برای این کار میتونه سریعتر از یه پردازنده ی دیگه با همون فرکانس ولی معماری و دستورات ضعیفتر انجام بشه.
این فقط یه اشاره بود به اینکه به نوعی معماری از توان محاسباتِ شناور مهمتره.(البته تعریف معماری وسیع تر و جامع تره ولی به صورت خلاصه اینطور گفتم تا خیلی وارد جزئیات نشیم)
یه GPU از نظر توان محاسباتی میتونه از یه CPU بهتر باشه ولی چون دستورالعمهای اون برای انجام کار های گرافیکی بهینه و طراحی شده نمیتونه کار یه CPU رو انجام بده. همین مسئله بین دو تا GPU هم میتونه اتفاق بیفته.
مثال دیگه از بین کارت های گرافیک میتونه این باشه که :
احتمالا دوستانی که بیشتر سررشته دارن میدونن که اصولا 2 نوع کارت گرافیک داریم. اونهائی که اصطلاحا برای ما و برای اجرای بهتر بازیهای کامپیوتری ساخته میشن ( مثلا سری GForce nVidia) و اونهائی که برای برنامه های محاسباتی مثل AutoCAD و برای رندرینگ ساخته شدن (سری Quadro از nVidia) خوب توانائی محاسبات اعشاری و شناور تو نوع دوم خیلی بالاتره ولی به سختی میتونن برای اجرای بازی ها استفاده بشن و بازده لازم برای این کار رو ندارن چون برای اینکار طراحی نشدن.
خب فکر کنم حالا بشه به این فکر کرد که فقط اعداد و ارقام و ضرب و جمع اونها ملاک مقایسه نیستند.
یه مثال دیگه اینکه 360 یه چیپ اختصاصی از کمپانی NEC داره (همون چیپ کوچیکتره روی چیپ GPU) که برای اِعمال یه سری از ***** ها ( عموما BLUR effect) استفاده میشه و خیلی سریع و تمیز خروجی لازم رو در اختیار پردازنده اصلیه گرافیک میزاره. برای همین هم هست که تو بازی های 360 شما حالتBLUR بیشتری دورادور آبجکتها میبینید و خیلی از بازی سازها از این تکنیک به نوعی برای پوشوندن ضعف های AA تو 360 استفاده میکنن و نتیجه خوبی هم داره در حالی که روی PS3 با برنامه نویسی مناسب برای هسته های جانبی میتونن AA تقریبا معادلِ 16X بوجود بیارن (MLAA).
نهایتا میبینیم که هر کدوم از اینها تکنیک های متفاوتی رو برای گرفتن خروجی مناسب بکار میبرن و به هیچ عنوان نمیشه فقط با ضرب و تقسیم به مقایسه پرداخت.
DieDie :
قدرت پردازنده 360 تو دستور العملهای جاسازی شده درون CPU این کنسول نهفته که میتونه خیلی از محاسبات پیچیده گرافیکی رو تقریبا Free (از نظر نیاز به پردازش) محاسبه کنه راجع به این دستور العملها و تحقیقاتی که در حدود 5 سال مایکروسافت بر روی بازیهای ویدئوی و نیاز اونها انجام داده توی این کتاب میتونید بخونید چون خیلی از کدهایی که بر روی PS3 نیاز به پردازش از راههای متعارف داره در 360 به صورت یک دستور العمل داخلی جاسازی شده چیزی مثل دستور العملهای جاسازی شده در پردازنده های 3D Now شرکت AMD در حالیکه پردازنده های اینتل قویتر بودن (روی کاغذ) ولی AMD یک سری دستور العمل عمومی مورد نیاز برای اجرای برنامه های 3D رو درون CPU جاسازی کرده بود در نتیجه روی گیم بهتر عمل میکرد در حالیکه سرعت کلاک و کچه خیلی کمتری داشت !!
از اینها گذشته ترفندهای دیگه هم از این دست در GPU ایکس باکس به کار گرفته شده به علاوه موتور سایه زنی با Level بالاتر که خیلی از افکتهارو سخت افزاری اجرا میکنه و ....
یا استفاده از Unified Shader که باعث میشه GPU اطلاعات مربوط به Vertex و Pixel رو در یک سیکل محاسبه کنه.
در مجموع اگر شما بخواین از این دو کنسول برای محاسبه هایی مثل حسابداری و یا آفیس استفاده کنید شاید PS3 قویتر باشه ولی وقتی صحبت از یک ماشین بازی میشه اونوقت 360 خیلی حرفا واسه گفتن داره که نمونشو دارین میبینین.
راجع به تکنیکهای AA تو 360 از تکنیکهای مختلف زیادی استفاده شده مثل AAA که یک تکنیک ضد دندونه روی CPU هست که در بازی Metro 2033 روی این کنسول به کار رفته یا تکنیک DLAA که شبیه MLAA هست که در بازی Star Wars TFU2 روی این کنسول استفاده شده.
نتیجه :
خوب دوستان عزیز همونطور که خودتون مقاله رو خوندین و مشاهده کردین ، دیدین که PS3 فقط و فقط حدود 8 تا 10 % از XBOX 360 قویتره که مقدار بسیار زیادیش به خاطر قدرت زیاد CELL هست و همین CELL هم یکی از بزرگترین نقطه ضعف هاشه ، چون که باید برنامه نویس روی هر SPE به طور مجزا برنامه نویسی کنه و اونها رو مدیریت کنه ، که خیلی سخته و خودتون هم دیدین که بازی های زیادی ( مخصوصا MILTI ) پلتفرم ها در XBOX 360 قویتر از PS3 ظاهر میشن . الیته بزرگترین مذیت و برگ برنده XBOX 360 هم ، همون حافظه فوق العاده پرسرعت EDRAM هست که باعث شده تو بازی های سنگین ، بسیار به این کنسول کمک کنه و همچنین برنامه نویسی روی پردازشگر این کنسول خیلی راحت تر از PS3 هست . اما 8 تا 10% قدرت بیشتر PS3 فقط در صورت زیر قابل مشاهده و درک هست :
1- تلویزیون ( یا مانیتور به خاطر موتور اسکن تصاویر بسیار قویترو پیشرفته تر ) 43 اینچ به بالا .
2- کابل HDMI 24 پین ( یا همون نوع A که بالاترین میزان پهنای باند و تفکیک پذیری رو پشتیبانی میکنه ).
3- بازی های انحصاری 1080P , واقعی ( نه 1080I )
4- برنامه نویس بسیار حرفه ای و یک تیم بسیار قدرتمند با بودجه ای عظیم برای ساخت بازی .
مثل بازی های ( که همین بازی ها هم از حداکثر قدرت حال حاضر PS3 استفاده نمیکنن )
ودر اخر این نکته رو در نظر داشته باشین که علی رغم قدرت بالای PS3 ، XBOX 360 برنده هست .
چون توی 98 % بازی های MULTI پلتفرم بازی های روی XBOX 360 بهتر هستن و کیفیت بالاتری دارن . و درضمن بدون شرایط بالا نمیتونید تفاوت 10 % رو بفهمید و خوب هیچ ادمی هم به خاطر 10 ، 12 تا بازی انحصاری PS3 HAVY RYNE – GOD OF WAR – MATAL GEAR SOLID نمیره این کنسول رو بگیره ( در صورتی که شرایط بالا رو نداشته باشه ) . چون هیچ تفاوتی رو احساس نمیکنه .
علاقه مندی ها (بوک مارک ها)