چگونه کنسول های یکپارچهسازی با سیستمعامل، گرافیک ها را قبل از GPU های مدرن مدیریت می کردند؟
تراشههای گرافیکی میتوانستند ترسیم کنند، اما نمیتوانستند محاسبه کنند، تا زمانی که ایکسباکس آمد.
تراشههای گرافیکی میتوانستند ترسیم کنند، اما نمیتوانستند محاسبه کنند، تا زمانی که ایکسباکس آمد.
گرافیک کنسول از تراشههای سفارشی و با عملکرد ثابت برای بیش از دو دهه ساخته شده بود، تا زمانی که Xbox اصلی در سال 2001 با یک پردازنده گرافیکی رایانه شخصی وارد صحنه شد. کسانی از ما که در کنسولهای اولیه مانند NES بازی میکردیم، با این تراشههای کارکرد ثابت با ویژگیهای عجیب و غریب آشنا مواجه شدهایم: برای مثال، وقتی تعداد زیادی Goombas در یک ردیف در Super Mario Bros قرار میگرفتند، برخی از آنها شروع به سوسو زدن میکردند. این همان تراشه گرافیکی NES است که به حد سختی خود یعنی هشت اسپرایت در هر اسکن رسیده است. تراشه هر چیزی که از هشت گذشته است را رها می کند و بازی کدام یک را جایگزین می کند.
در NES، واحد پردازش تصویر Ricoh 2C02 بود که گرافیک بازی را ارائه می کرد. یک تراشه بسیار ابتدایی، نمی تواند هیچ کدی را اجرا کند. در عوض، آثار هنری کاشی را از کارتریج و چند جدول جستجو از حافظه برداشت و آنها را به سیگنال تلویزیون تبدیل کرد، یک اسکن در یک زمان. این ترتیب - یک تولید کننده تصویر اختصاصی که توسط CPU تغذیه می شود - این گونه است که اکثر کنسول ها گرافیک خود را از اواخر دهه 1970 تا دهه 2000 ارائه کردند.
وقتی اولین ایکس باکس مایکروسافت در نوامبر 2001 عرضه شد، چندان شبیه هیچ کنسولی قبل از خود نبود. در عوض، این پردازنده بر پایه Intel Pentium III و یک تراشه گرافیکی NVIDIA ساخته شده بود که مخصوص آن بر اساس GeForce 3 ساخته شده بود. GeForce 3 تنها در فوریه معرفی شد و این اولین پردازنده گرافیکی بود که به توسعه دهندگان اجازه می داد سایه زن های پیکسل و راس خود را برنامه ریزی کنند.
Ricoh 2C02 NES از حدود 10 کیلوبایت حافظه کار می کرد. تقریبا به 8 کیلوبایت اشکال کاشی ذخیره شده روی کارتریج و 2 کیلوبایت رم در کنسول که یک یا دو نقشه پسزمینه را نگه میدارد، تقسیم میشود. حافظه های کوچک مجزا در داخل تراشه مواردی مانند موقعیت، شکل و جهت حداکثر 64 اسپرایت را ردیابی می کردند. خروجی آن 256x240 پیکسل بود که از کاشی های 8x8 ساخته شده بود.
همانطور که پرتو الکترونی تلویزیون CRT در سراسر هر خط از صفحه نمایش می چرخید، 2C02 مشخص کرد که کدام کاشی 8x8 در هر نقطه تعلق دارد. سپس به این ارجاع متقابل میداد که اسپرایتها روی آن خط قرار میگرفتند و تصمیم میگرفت کدام پیکسل را نشان دهد. این اتفاق همگام با پرتو بود، بنابراین CPU نمیتوانست با خیال راحت تصویر را در حین ترسیم بازنویسی کند.
برخلاف NES، آتاری 2600 قبلی باعث شد که پردازنده گرافیکی نیز مدیریت کند. از آنجایی که آداپتور رابط تلویزیونی آن فاقد بافر فریم بود، پردازنده مجبور بود مقادیر جدیدی را به تراشه برای هر خط اسکن کشیده شده توسط پرتو وارد کند. فقط پنج سال قبل از آن در سال 1972، Magnavox Odyssey هیچ پردازنده یا حافظه، نقطه ای نداشت و نقاط و خطوط خود را با منطق دیود-ترانزیستور گسسته ترسیم می کرد. همه این ماشین ها حول یک CRT طراحی شده اند، به همین دلیل است که بازی های یکپارچهسازی با سیستمعامل در تلویزیون های قدیمی CRT بهتر به نظر می رسند.
سونی تراشههای PS2 را در مارس 1999 به نمایش گذاشت. CPU موتور Emotion، یک طراحی 128 بیتی بود که سونی با توشیبا ساخته بود، و گرافیک به یک تراشه جداگانه به نام Graphics Synthesizer رفت. در کنسول های نهایی، این دو در حدود 295 مگاهرتز و 147 مگاهرتز کار می کردند.
گرچه Graphics Synthesizer هیچ کار هندسی انجام نداد. زمانی که یک مثلث به آن رسید، قبلا درون قاب قرار گرفته بود و تنها کاری که تراشه باید انجام می داد این بود که آن را با رنگ و بافت پر می کرد. کار هندسه بر روی Emotion Engine، در دو واحد برداری انجام شد. CPU میتوانست به VU0 کارهای عجیب و غریب بدهد، در حالی که VU1 عمدتا تبدیلهای سه بعدی را اجرا میکرد که مدلهای بازی را به مثلثهای روی صفحه تبدیل میکرد. مهندسان سونی و توشیبا گفتند که یک واحد بردار می تواند 85 میلیون از این تبدیل ها را در ثانیه مدیریت کند.
در حالی که هیچ دو کنسولی یکسان نبودند، بسیاری از کنسول های سه بعدی اولیه به طور مشابه بار گرافیکی را در چندین تراشه به اشتراک می گذاشتند.
جالب اینجاست که سونی از عبارت GPU برای تراشه گرافیکی طراحی شده توسط توشیبا در سال 1994 پلی استیشن استفاده کرده بود. این پنج سال قبل از آن است که NVIDIA GeForce 256 را به عنوان اولین GPU جهان به بازار عرضه کند. اما تعریف کاری یک GPU مدرن، تراشه ای که برنامه های کوچک نوشته شده توسط بازی را اجرا می کند، تنها در اوایل سال 2001 با GeForce 3 ارائه شد.
انویدیا و مایکروسافت قرارداد Xbox خود را در مارس 2000 امضا کردند و پنج روز بعد، بیل گیتس روی صحنه رفت و کنسول را معرفی کرد. این پردازنده از یک پردازنده کلاس Intel Pentium III، یک پردازنده گرافیکی سفارشی NVIDIA، 64 مگابایت حافظه مشترک و یک هارد دیسک 8 گیگابایتی استفاده می کند. جعبه تمام شده در CES 2001 رونمایی شد و سپس در نوامبر همان سال به فروش رسید.
اما کنسولها به یکباره به سختافزارهای سبک رایانه شخصی تغییر نکردند. Nintendo GameCube در همان ماه با یک پردازنده PowerPC از IBM راه اندازی شد و تمام کنسول های اصلی برای دهه بعد از آن استفاده کردند: Xbox 360 اینتل را برای سه هسته PowerPC از IBM در سال 2005 کنار گذاشت، تراشه Cell PS3 توسط سونی، توشیبا و IBM ساخته شد و هر دو نسخه PowerPC و Wii را به روز کردند. تراشه IBM GameCube.
بخش گرافیکی قبلا به سبک رایانه شخصی با تراشه ATI 360 و NVIDIA PS3 رفته بود، اما پردازنده ها اینطور نبودند. این در سال 2013 تغییر کرد، زمانی که PS4 به هشت هسته پردازنده AMD و طراحی گرافیکی برگرفته از کارتهای رایانه شخصی Radeon AMD منتقل شد. PS5 و Xbox Series X امروزی هر کدام هشت هسته AMD Zen 2 را در کنار گرافیک AMD RDNA 2 بر روی همان تراشه CPU دارند. در نهایت، طراحی تراشههای گرافیکی از ابتدا برای کنسولها، زمانی که معماریهای گرافیکی عرضهشده با بودجه کنسول مطابقت داشتند، دیگر منطقی نبود.
متن اصلی (انگلیسی)
How did retro consoles handle graphics before modern GPUs?
Graphics chips could draw but not compute, until the Xbox arrived.