وحدة معالجة الرسوميات
إن وحدات معالجة الرسوميات من أنواع المعالج الصغري المكرس للتصيير في أجهزة الحاسوب الشخصي والحاسوب الإداري وأنظمة ألعاب الفيديو. وإن وحدات معالجة الرسوميات الحديثة فعالة جدا في معالجة وعرض رسوميات الحاسوب. وإن نظام التحليل المتوازي يجعلها أكثر فعالية من وحدات المعالجة المركزية في مجموعة من الخوارزميات المعقدة. ويمكن وضعها على بطاقة العرض المرئي أو متكاملة مباشرة في اللوحة الأم.
إن رقاقات إيه أن تي أي سي (ANTIC) وسي تي أيه إي (CTIA) أمنت أجهزة التحكم بالرسوميات المدموجة وصياغة النصوص, وغير ذلك من التأثيرات على الكمبيوتر أتاري بنظام 8 بتات. وكانت رقاقة إيه أن تي أي سي معالجة رسم بينات النصوص والرسوميات على شكل إشارة فيديو. وإن مصمم هذة الرقاقة, جاي ماينور Jay Miner, قام بتصميم رقاقة معالجة الرسوميات لجهاز كومودور (Commodore) من شركة أميجا (Amiga).
كان جهاز كومودور أميجا أول جهاز صنع بكثافة يحتوي جهازه الفديو على نظام بليتر (Blitter), وكان نظام أي بي أم 8514 الرسومي من أول أنظمة العرض المرئي باستطاعتها تنفيذ رسوميات بدائية ثنائية الأبعاد. كانت أجهزة أميجا مميزة, في ذاك الوقت, لاحتوائها على ميزة مهمة وهي ما يعرف الآن بنظام تسريع الرسوميات متكامل, الذي أمكن تحويل معالج الرسوميات إلى المعدات الصلبة, من ذلك الرسم الخطوطي, تعبئة مناطق, نقل قطع الصور, ومعالج الرسوميات المساعد (Graphics Coprocessors) بمجموعة التعليمات مخصّصة لها. وكانت عملية رسم وعرض الرسوميات تعالج كلها بوسطة وحدة المعالجة المركزية من قبل.
في أوائل التسعينات وعندما بدأ مايكروسوفت ويندوز بالبزوخ زاد الاهتمام بالأداء العالي لدى, دقة رسوميات الرستر. وإن هيمنة ويندوز أدت إلى زيادة الاهتمام بتطوير برنامج مواجهة لوحدة معالجة الرسوميات, وهو واجهة جهاز الرسوميات جرافيكس ديفايس إنترفيس (Graphics Device Interface GDI).
في عام 1991, قامت شركة أس ثري جارفيكس (S3 Graphics) بإنتاج أول رقاقة أحادية مسرعة ثنائية الأبعاد, وهي رقاقة S3 86C911 (رقمت برقم 911 إشارة إلى سيارة بورش 911 علامة على قدرة البطاقة العالية). وإن هذه الرقاقة أنتجة الكثير من المقلدين, فأصبح أغلب وحدات العرض المرئي في نهاية عام 1995 تحتوي على مسرع ثنائي الأبعاد. وبحلول هذا الوقت, تجاوز البرامج المسرعة للويندوز قدرة معالج الرسوميات المساعد مما أدى إلى تلاشيها من أنظمة الحسوب الشخصية.
و في خلال التسعينات استمرت واجهة مستخدم رسومية ثنائية الأبعاد بالتطور. وبتحسن قدرات التصنيع, تحسن أيضن مستوى دمج رقاقات الرسوميات. وظهر العديد من واجهات البرمجة التطبيقية للعديد من المهمات مثل مكتبة رسوميات مايكروسوفت وين جي (WinG) لوندوز 3.x, ولاحقا واجهة دايركت درو (DirectDraw) لتسريع الألعاب ثنائية الأبعاد داخل ويندوز 95 وما بعده.
في أوائل ومنتصف التسعينات, بدأت الرسوميات ثلاثية الأبعاد بالظهور بمساعدة وحدة المعالجة المركزية في أجهزة الحاسوب وأنظمة ألعاب الفيديو, مما أدى إلى ازدياد الطلب على جهاز متخصص مسرع للرسوميات ثلالثية الأبعاد. ومن أوائل هذه الأنظمة التي تم تسويقها بشكل كبير موجودة في الجيل الخامس من أنظمة ألعاب الفيديو مثل بلايستايشن ونينتندو 64. ومن بعض الرقاقات المسرعة ثلاثية الأبعاد الرخيصة لأجهزة الحاسوب التي فشلت: أس ثري فيرجي (S3 ViRGE), إيه تي أي رايج, وماتروكس مستيك (Matrox Mystique). فكانت هذه الرقاقات من الجيل السابق من المعالجات ثنائية الأبعاد مرفقا بها ميزات ثلاثية الأبعاد. وفي البداية, لم تكن الرسوميات ثلاثية الأبعاد ممكنة إلى عن طريق لوحات منفصلة مخصصة لتسريع وظائف ثلاثية الأبعاد (ولاكن كان ينقصها معالج ثنائي الأبعاد) مثل بطاقة فودو من شركة ثري دي أف أكس (3dfx). وكما تقدمت تكنولوجيا التصنيع, أصبحت المعالجات ثنئية الأبعاد والمعالجات ثلاثية الأبعاد مندمجة في رقاقة واحدة. ومن أول رقاقة التي قامت بذلك رقاقة فيرايت (Verite) من شركة رنديشون (Rendition).
وظهرت في أوائل التسعينات واجهة برمجة التطبيقات محترفة وهي أوبن جي أل (OpenGL), وأصبحة القوة المهيمنة في مجال الحاسوب الشخصي, وقوة دافعة لتطوير معدات العرض المرئي. وكانت البرمجات التنفيذ لواجهة أوبن جيل واسعة في ذلك الوقت, وكن تأثير أوبن جي أل قويا مما أدى في نهاية المطاف إلى دعم هذه الواجهة في أجهزة العرض المرئي على نطاق واسع. ومع مرور الوقت أصبحة الميزات الموجودة داخل بطاقات العرض متساوية مع تلك التي في واجهة أوبن جي أل. وفي أواخر التسعينات, أصبح دايركت إكس (DirectX) محبوبا بين مصممي الألعاب لنظام الويندوز. وخلافا لنظام فاير جي أل, فإن مايكروسوفت أجبرت على دعم نظام دايركت إكس في معدات العرض المرئي. وهذه الخطوة جعلت دايركت إكس أقل مرغوبة كواجهة برمجة تطبيقات لأن أغلب الميزات الموجودة فيها موجودة في الأصل في وحدات معالجة الرسوميات, والتي كان باستطاعة واجهة أوبن جي أل الاستفادة منها ومما جعل واجهة دايركت إكس متأخرة عن أوبن جي أل.
مع مرور الوقت أصبحة مايكرسوفت تعمل إلى جانب مصمِّمي وحدات معالجة الرسوميات, وبدأت تستهدف إطلاق نظام دايركت إكس مع أجهزة العرض المرئي الداعمة لها. وكان دايركت ثري دي 5.0 (Direct3D 5.0) أول واجهة برمجة تطبيقية حصلت على اعتماد واسع النطاق في سوق الألعاب, وتنافست بشكل مباشر مع العديد من مواصفات معدات العرض المرئي, ولكن حافظة أوبن جي أل على ملحقات قوية. وقدمت دايركت ثري دي 7.0 الدعم لتسريع نظام التحويل والإضائة (Transform and Lighting T&L) بواسطة المعدات. وتخطت المسرعات ثلاثية الأبعاد عملها الرئيسي لتتضمن مصيير لأنابيب رسوميات ثلاثية الأبعاد. فإن بطاقة NVIDIA GeForce 256 (المعروف أيضا باسم NV10) أول بطاقة أطلقت في الأسواق مع هذه القدرة.
بعد ظهور واجهة البرمجة التطبيقية أوبن جي أل والوظائف المماثلة لها في دايركت إكس, أضيف إلى وحدا معالجة الرسوميات قدرة البرمجة التظليلية. وأصبح بالاستطاعة تحليل العنصورات ببرامج قصيرة يمكن أن تتضمن إكساءات, وكذالك كل النقاط الهندسة يمكن يمكن تحليلها ببرنامج قصير قبل عرضها على الشاشة. وكانت أنفيديا أول شركة أنتجت رقاقات باستطاعتها برمجة الأظلة وهي GeForce 3 (المعروفة باسم NV20). وبحلول تشرين الثاني عام 2002, أطلقة شركة إيه تي أي بطاقة Radeon 9700 (المعروفة باسم R300), وهي أول بطاقة احتوت على مسرع دايركت ثري دي 9.0, ومظلل العنصورات والنقالت الهندسية بأستطاعتها تنفيذ عمليات حسابية على أعداد الفاصلة العائمة متكررة وطويلة.وسرعان ما أصبحت وحدات معاجة الرسوميات مرنة مقارنة مع وحدات المعالجة المركزية. وغالبا ما كان مظلل العنصورات يستعمل في رسم نتوء, التي تضيف إكساءات لتجعل الأحجام تبدو براقة ،باهتة، خشنة، أو حتى مبرومة أو مبثوقة.
ومع ازدياد قدرة وحدات معالجة الرسوميات على التحليل، إزداد طلبها للطاقة الكهربائية. وإن وحدات معالجة الرسوميات عالية الأداء غالبأ ما تستهلك طاقة أكثر من وحدات المعالجة المركزية الحالية.
وحاليا أصبحت وحدالت معالجة الرسوميات المتوازية (Parallel GPUs) تبدء بالدخول على قدرات وحدات المعالجة المركزية, بواسطة التحليل لأغراض عامة على وحدة معالجة الرسوميات ("General Purpose Computing on GPU "GPGPU). وقد وجدت طريقها إلى مجالات متنوعة مثل التنقيب عن النفط ومعالجة العلمية للصور والجبر الخطي وإعادة البناء ثلاثية الأبعاد وحتى تحديد تسعير خيارات الأسهم. وهاذا ما يزيد الضغط على تطوير قدرة وحدات معالجة الرسوميات عن طريق إضافة المزيد من المرونة لنماذج البرمجة.
إن الشركات الرئيسية التي تصنع وحدات معالجة الرسوميات تحت أسماء تجارية مختلفة, وأهمها إنتل وأنفيديا وإيه أم دي/إيه تي أي وإن نصيب هذه الشركات من السوق هو 49.4 ٪ و 27.8 ٪ و 20.6 ٪ على التوالي. بيد أن هذه الأرقام تشمل وحدات إنتل منخفضة التكاليف للغاية ومنخفضة الأداء. فإذا طُرحة تلك الوحدت نجد أن أنفيديا وإيه أم دي تهيمن على كل أسواق هذه الوحدات. وبالإضافة إلى هذه الشركات, فإن فيا تكنولوجيز/أس ثري جرافيكس وماتروكس تصنع أيضا وحدات معالجة الرسوميات..
إن وحدات معالجة الرسوميات الحالية تستعمل معظم مقحلاتها لعمليات حسابية تتعلق بالرسوميات ثلاثية الأبعاد. وكانت سابقا تُستخدم لتسريع العمل المكثف لذاكرة إكساء الرسوميات وتسريع تصيير المضالع. ولاحقا أضيف إليها وحدات لتسريع العمليات الحسابية الهندسية مثل الدوران وانزلاق النقطة الهندسية إلى نظام إحداثيات جديدة. والتطوير الحديث لوحدات معاجة الرسوميات ضم نظام تظليل قابل للبرمجة الذي يمكنه التلاعب بالنقاط الهندسية وبالإكساءات بواسطة العديد من العمليات التحليلية المطابقة لتلك التي في وحدات المعالجة الرأيسية, وبالإضافة إلى ذلك, الإفرط (Oversampling) والاستيفاء لتخفيض التعرجات ومساحات ألوان عالية الدقة. ولأن هذه العمليات تضمن عمليات حسابية للمصفوفة وللأشعة, بدأ العلماء والباحثون بدراسة استعمال وحدات معالجة الرسوميات لعمليات حسابية لا تتعلق بالرسوميات.
وبالإضافة إلى معدات الرسوميات ثلاثية الأبعاد, تحوي وحدات معالجة الرسوميات على مسرع للرسوميات ثنائية الأبعاد وقدرة فرايم بافر (Framebuffer). وبالإضافة إلى ذلك, كل وحدة معالجة الرسوميات منذ سنة 1995 تحتوي على نظام واي يو في (YUV) للألوان. والكثير من هذه الوحدات بدأت منذ عام 2000 دعم أنظمة إم بي إي جي بدائية مثل تعويض الحركة (Motion compensation) وتحويل جيب التمام المتقطع. وتحتوي بعض بطاقات العرض الجديدة على فاكك شفرات الفيديوهات فائقة الجودة (High-definition Video) التي تخفف الضغط عن وحدة المعالجة المركزية.
وهي أقوى صيغة لوحدة معالجة الرسوميات وتتصل مع اللوحة الأم عن طريق شقوق التوسيع (Expansion Slot) مثل منفذ الملحقات الإضافية السريع (PCI Express) ومنفذ الرسوميات السريع (AGP) ويمكن تغير البطاقات بطريقة سهلة جدا. وبعض هذه البطاقات ما زال تستعمل منفذ الملحقات الإضافية ولكن حجم تدفق بياناته بطيء ولا يستعمل إلا عند عدم وجود منفذ الملحقات الإضافية السريع أو منفذ الرسوميات السريع. وإن وحدات العرض المرئي المكرسة لا تعني أنه يمكن فصلها عن الوحة الأم, بل أنها تحتوي على ذاكرة الوصول العشوائي خاصة بها. لأن وحدات معالجة الرسوميات المكرسة لحاسوب المحمول في العادة تكون مندمجة مع لوحة الأم.
وهناك تكنلوجيات جديدة نسبياً, وهي أس أل أي (SLI) من شركة إنفيديا وكروس فاير (CrossFire) من شركة إيه تي أي, التي تمكن من دمج قدرة تحليل عدة وحدات معالجة الرسوميات لترسم صورة واحدة, مما يقوي قدرة تحلل بينات الرسوميات.
وهي تتقاسم ذاكرة الوصول العشوائي بينها وبين وحدات المعالجة المركزية عوضا عن استعمالها لذاكرة الوصول العشوائي خاصة بها. وإن الحواسيب التي تتضمن وحدات معالجة الرسوميات مندمج تكون 90% من مبيعات الحواسيب, لأن كلفتها أرخص من وحدات معالجة الرسوميات المكرسة, ولكنها إقل قدرة منها. وهي تعيبر تاريخيا غير صالحة لعرض رسوميات الألعاب ثلاثية الأبعاد أو تشيغيل برامج تحتاج إلى تحليل رسوميات مكثف. ولكن بعض هذه الوحدات مثل وحدات جي أم إيه إكس 3000 (GMA X3000) من شركة إنتل (في مجموعة شرائح إنتل جي 965 G965) ووحدات ريدون أتش دي 3200 (Radeon HD 3200) من شركة إيه أم دي (في مجموعة شرائح إيه أم دي 780 جي AMD 780G) ووحدات جي فورس 8200 سلسلة شرائح جي فورس 8 من شركة إنفيديا (في مجموعة شرائح إنفيديا أن فورس 730 إيه nForce 730a) تحتوي على قدر ضئيلة نسبيأ ولكن أكبر من غيرها من وحدات وحدات معالجة الرسوميات المندمجة في التحليل ثنائي وثلاثي الأبعاد لبعض البرامج, ولكنها تنازع مع الألعاب ثلاثية المتقدمة. وإن معظم لوحات الأم التي تحتوي على وحدات معالجة الرسوميات المندمجة تحتوي أيضا على شقوق التوسيع لضم بطاقات عرض الرسوميات مكرسة إذا أراد المستهلك.
ولأن وحدات معالجة الرسوميات تتكل بشكل كثيف على ذاكرة الوصول العشوائي, فإن وحدات معالجة الرسوميات المندمجة تتنافس مع وحدة المعالجة المركزية على سرعة تضفق بيانات ذاكرة الوصول العشوائي البطيأة نسبيا لأن سرعة تضفق بيانات ذاكرة المنظومة تقع بين 2 Gb/s و 12.8 Gb/s أم سرعة تضفق بيانات ذاكرة وحدات معالجة الرسوميات المكرسة تقع بين 10 Gb/s إلى أكثر من 100 Gb/s. وإن وحدات معالجة الرسوميات المندمجة القديمة ينقصها نظام التحويل والإضائة, ولكن الوحدات الجديدة تتضمن ذلك.
وهي فئة جديدة تتنافس مع وحدات معالجة الرسوميات المندمجة في الحاسوب الشخصي والمحمول. وأكبر مثال على ذالك نظامي تيربو كاتش (TurboCache) من شركة إنفيديا وهايبر ماموري (HyperMemory) من شركة إيه تي أي. فإن وحدات العرض المرئي الهجينة أغلى من وحدات معالجة الرسوميات المندمجة ولكنها في نفس الوقت أقل قدرة من وحدات العرض المرئي المكرسة. فهي مثل وحدات معالجة الرسوميات المندمجة تشارك منظومة الحاسوب ذاكرتها, ولكن تحوي في نفس الوقت على ذاكرة خاصة بها أصغر من ذاكرة وحدات العرض المرئي المكرسة, للتعويض عن ارتفاع كمون ذاكرة نظام الحاسوب, وإن تكنولوجية منفذ الملحقات الإضافية السريع (PCI Express) تمكنها من ذلك. وفي حين أن هذه الحلول تشير إلى حجم ذاكرة يصل إلى 768ميقابايت لكنها تعني كمية الذاكرة التي تشاركها مع منظومة الحاسوب, وليست التي تحويها في البطاقة.
وهي مفهوم جديد يستخدم نظام معدل من نظام التحليل المتدفق (Stream processing) ليمكّن من التحليل لأغراض عامة على وحدة معالجة الرسوميات. وإن هذه المنظومة تحوّل قدرة العمليات الحسابية على أعداد الفاصلة العائمة في مسرع الرسوميات الحديثة إلى قوة تحليل عامة, بدلا من تكريسها لعمليات حساب الرسوميات. في بعض التطبيقات التي تتطلب عمليات حساب نقات هندسية ضخمة, يمكن من الوصول إلى أداء أعل من أداء وحدات المعالجة المركزية التقليدية. وبدأت الشركات التي تصنع وحدات العرض المرئي المكرسة ,إنفيديا وإيه تي أي, التسابق في التوسع في هذا السوق مع سلسلة من التطبيقات. وإن شركتي إنفيديا وإيه تي أي تعملان مع جامعة ستنفرد لتصنع برنامج يستخدم وحدات معالجة الرسومت ليساهم في مشروع الحوسبة الموزعة فولدنغ@هوم. وفي ظروف معينة, تقوم وحدت معالجة الرسوميات بعمليات حسابية أسرع بأربعين مرة من وحدة المعالجة المركزية المخصصة لهذه العمليات.
وفي الآونة الأخيرة بدأت شركة إنفيدي تعرض بطاقات العرض المرئي التي تدعم ملحقات واجهة البرمجة التطبيقات (API) للغة البرمجة سي مسمات كودا (Compute Unified Device Architecture), التي تمكن بعض وظائف الخاصة لبرامج السي لتعمل على محلل التدفق في وحدة معالجة الرسوميات. وهذا يمكّن برامج السي الإتستفادة من وحدات معالجة الرسوميات لمعالجة مصفوفات كبيرة بشكل متوازي, مع استعمال وحدات المعالجة المركزية عندما يقتضي الأمر. وإن برنامج كودا هو أول واجهة برمجة تطبيقات تمكن من عمل برامج مخصصة لوحدات المعالجة المركزية على وحدات معالجة الرسوميات للتحليل لأغراض عامة من دون التقيد باستخدام واجهة برمجة تطبيقات للرسوميات.
ومنذ عام 2005 أصبح هنك اهتمام في استعمال الأداء الذي تقدمه وحدة معالجة الرسوميات للحساب التطوري بشكل عام ولتسريع تقييم اللياقة البدنية في برمجة الجينات بشكل خاص. وإن معظم النهج تستخدم Linear genetic programming أو Tree-based genetic programming على الحاسوب المضيف ثم تنقل التننفيذ إلى وحدات معالجة الرسوميات.