پادشاهي ATI چند سالي ادامه پيدا کرد تا اينکه
شرکت انويديا در سال 1993 از سانتاکلاراي کاليفورنيا پا به صنعت گذاشت و
به تدريج موفق شد خود را به عنوان رقيب اصلي ATI مطرح کند. جالب است
بدانيد که بنيانگذاران اين شرکت، قبلا تجربه کارکردن در شرکتهاي AMD و
سانميكروسيستمز را داشتهاند. از سال 2000 که خريدن شرکت کوچکتر توسط
بزرگترها رايج شد، انويديا و ATI شروع به خريدن کردند و به ابر شرکتهايي
تبديل شدند.
اين دو شرکت در دهه گذشته در تمام عرصهها با
يکديگر رقيب بودند و در هر زمينهاي که يکي پيشي ميگرفت و نوآوري ميکرد،
ديگري خود را ميرساند. اگر انويديا هسته گرافيکي کنسولهاي بازي PS3 و
اكسباكس را توليد کرد، در عوض ATI هسته گرافيکي گيمكيوب1 و Wii و
اكسباكس360 را توليد کرد. اگر ATI سري راديون را براي کامپيوترهاي خانگي
توليد ميکند، انويديا سري جيفورس را توليد ميکند. اگر انويديا تکنولوژي
SLI براي موازي کردن دو کارت گرافيک را دارد، ATI تکنولوژي كراسفاير2 را
پشتيباني ميکند و اگر ATI براي تحقق GPGPU خط توليد فايراستريم3 را آغاز
ميکند، انويديا تسلا4 را معرفي ميکند.

پس از اينکه AMD موفق شد که ATI را زيرمجموعه خود
کند و درون شرکت آن را با نام گروه توليدات گرافيکي5 بنامد، رايانههايي
توليد شد که کارت گرافيک، چيپست و پردازنده آن متعلق به يک شرکت بود و به
همين دليل اميد کارايي بالايي از اين رايانه ميرفت. در اين ميان، انويديا
زياد متضرر نميشد چون همچنان ميتوانست کارتهاي گرافيکي خود را براي
سيستمهايي با پردازندههاي AMD يا اينتل توليد کند. در اين ميان، اين
اينتل است که از رقيب خود AMD عقب افتادهاست و براي اين شرکت، نداشتن
کارت گرافيکي ضرر است. بهنظر نميرسد که اينتل بتواند شرکت انويديا را
بخرد و شرکت بزرگ ديگري نيز وجود ندارد که توان رقابت با AMD/ATI را داشته
باشد و اينجاست که اينتل بايد روي پاي خودش بايستند و کارت گرافيک توليد
کند؛ بله، اينتل تصميم گرفته کارت گرافيک توليد کند.
اين کارتهاي گرافيکي که مژده رسيدن آن اوايل بهمن
ماه امسال به گوش خواهد رسيد، لارابي6 نام دارند. لارابي معماري جديدي از
اينتل است که براي اولين بار در در کنفرانس SIGGRAPH2008 توسط اينتل معرفي
شد. (SIGGRAPH کنفرانس سالانهاي در زمينه گرافيک رايانهاي است که معمولا
در ماه اگوست برگزار ميشود.) در رابطه با تاريچه گرافيکي اينتل بايد گفت
که اين شركت چيپهاي گرافيکي توليد ميکند که با مادربورد توليد ميشوند،
مجزا فروخته نميشوند و GMA نام دارند. ولي اين چيپها به هيچوجه توان
رقابت با کارتهاي گرافيکي انويديا يا AMD/ATI را ندارند و مخصوص سرور يا
رايانههايي هستند که نيازي به انجام عمليات پيچيده گرافيکي ندارند و تنها
يک خروجي تصوير ميخواهند. معماري لارابي نسل بعدي GMA نيست و کاملا
متفاوت است. لارابي براي دو بازار توليد ميشود که اول کارت گرافيکهاي
رايانههاي شخصي، که در اين بازار رقباي سر سختي مثل جيفورس و راديون را
پيشرو خواهد داشت و دوم GPGPU که در اين بازار نيز بايد با فايراستريم و
تسلا رقابت کند. در ادامه به بررسي برخي خصوصيات اين معماري و کارايي
حدودي آن و نيز برنامهنويسي گرافيكي در آن ميپردازيم.
خصوصيات معماري
طراحان معماري لارابي، همان تيم طراح معماري موفق
نهالم7 هستند(معماري نهالم ويژه افزايش کارايي بدون افزايش اندازه طراحي
شد و در توليد پردازنده بيرقيب Corei7 مورد استفاده قرار گرفت). لارابي
در واقع نام معماري چندين هستهاي است که هستههاي باهم مشابه هستند و
قابليت محاسبات برداري آنها تقويت شدهاست. هستهها از نوع in-order
هستند؛ به اين معني که ترتيب دستورالعملها در خطلوله8 آنها عوض نميشود.
اغلب پردازندههاي اينتل، Out-of-order هستند يعني چند دستور غيروابسته
بهطور همزمان ميتوانند اجرا شوند. پيشبيني اينکه کدام دستورها
ميتوانند موازي اجرا شوند به عهده سختافزاري است که بخش اعظمي از
پردازنده را اشغال ميکند. اين معماري ويژه محاسبات سنگين موازي طراحي
شدهاست. هستهها از پنتيوم مشتق شدهاند و برخي دستورات ويژه گرافيک، به
مجموعه دستورالعملهاي آنها اضافه شدهاست. در تصوير، معماري يکي از
هستههاي لارابي را مشاهده کنيد که اين هسته از طريق شبکه حلقوي با باقي
هستهها در ارتباط خواهد بود.
مقدار حافظه نهان سطح اول9 32كيلوبايت پيشبيني
شده که دوبرابر مقدار حافظه نهان سطح اول در کارتهاي گرافيکي انويدياست.
حافظه سطح اول اين هستهها بسيار سريع است و زمان دسترسي به آن با زمان
دسترسي به ثباتها برابر است. حافظه نهان سطح دوم در کارتهاي گرافيکي
انويديا وجود ندارد ولي براي هستههاي لارابي تعبيه شدهاست و اندازه آن
256كيلوبايت است. هستههاي لارابي و کودا10 هرکدام توانايي اجراي 4 نخ را
به طور همزمان دارند. دستورالعمل پس از ديکود شدن، براي مرحله اجرا به يکي
از دو واحد VU11 و SU12 که ثباتهاي مجزا و مخصوص بهخود را دارند، ارسال
ميشود. VU توانايي اجراي دستوري يکسان، روي 16 داده مختلف را دارد.
لارابي براي اجراي موازي چندين نخ آنها را به دستههاي 16تايي تقسيم
ميکند و اجراي هر دسته را به VU ميسپارد(اين تقسيمبندي در معماري کودا
متفاوت است و بدين صورت است که نخها به دستههاي 32تايي تقسيم ميشوند و
اجراي هر دسته به يک SM13 سپرده ميشود که خود پردازندهاي هشت هسته است).
VU تواناي اجراي هردو عمليات مميز شناور و صحيح را دارد.
در لارابي خلاف معماري کودا، زمانبندي نخها توسط
نرمافزار صورت ميگيرد. عملياتي مانند Rasterization و Interpolation و
Post-shader alpha blending نيز توسط نرمافزار پيادهسازي و کنترل ميشود
که انعطافپذيري بالايي نسبت به حالتي که سختافزاري پيادهسازي شود، پديد
ميآورد. البته کنترل نرمافزاري گاهي سربار زيادي توليد کند که از سرعت
سيستم ميکاهد به همين منظور در مورد عمليات Texture و Scatter-gather
پيادهسازي سختافزاري ترجيح داده شدهاست.
نحوه برنامهنويسي
براي نوشتن برنامهاي که روي کارت گرافيکهاي
لارابي اجرا شود، Larrabee Native طراحي ميشود که کامپايلر مخصوص نيز
خواهد داشت. بسياري از کدهاي نوشته شده به زبان C/C++ استاندارد بدون
تغيير و با کامپايل کردن دوباره روي لارابي اجرا خواهند شد. براي
برنامهنويسي موازي، لارابينيتيو چندين کتابخانه مديريت نخ را پشتيباني
خواهد کرد که Thread Building Blocks و POSIX Threading و OpenMP از آن
جملهاند.
کارايي حدودي
برگ برنده لارابي در مقابل کارتهاي گرافيکي
ديگر، معماري x86 آن است که ميتواند سيستم عاملها و برنامههاي بسياري
را اجرا كند. همانطور که گفته شد، لارابي در زمينههاي سلسله مراتب
حافظه، تقسيم بار موازي و پشتيباني عمليات گرافيکي (سختافزاري يا
نرمافزاري) تفاوتهاي عمدهاي با ديگر کارتهاي گرافيکي دارد و نميتوان
درباره کارايي دقيق آن اظهارنظر کرد، ولي مقالات و گفتههاي زيادي وجود
دارد که اعلام ميکند کارت گرافيک لارابي براي رايانههاي شخصي، قدرتي
نزديک به GeForce GTX 285 دارد. اما با سابقه و نبوغي که از اينتل سراغ
داريم، انتظار ميرود در زمان عرضه محصول قويتري را شاهد باشيم.
براي تجربه کردن کارت گرافيکهاي لارابي،دستكم
بايد تا بهمن ماه صبر کنيم. اگر اينتل بتواند لارابي را با پردازندههاي
خود هماهنگ کند، برگ جديدي از رقابتهاي اينتل و AMD ورق خواهد خورد. در
اين ميان، بهنظر ميرسد که انويديا عقب ضربه خواهد خورد. انويديا که بدون
شک بيکار نخواهد نشست، شايد تا چند سال ديگر شروع به توليد پردازنده کند
تا مثل رقبايش، هم پردازنده مرکزي و هم پردازنده گرافيک يک سيستم، متعلق
به خودش باشد.