عند الحديث عن الحاسوب أو الكمبيوتر، يتبادر إلى ذهن الكثيرين أشكال مختلفة من الأجهزة، كل حسب ما يخزنه في ذاكرته من معلومات أو ذكريات يبني عليها إنطباعه عن هذا الجهاز. فالبعض مثلاً يتخيل الحاسوب المحمول، وذلك لأنه يستخدمه بكثرة في عمله ودراسته وما شابه من الأمور. البعض الأخر مباشرة يتخيل الحاسوب المكتبي PC بشموخه وأجزاءه المتعددة بدءاً من المعالج المركزي ومروراً بالذاكرة و البطاقة الرسومية وصندوق الحاسب وما إلى ذلك. لكن هناك القليلين حقاً الذين يتبادر إلى ذهنهم الحاسب بطبيعته المجردة، وهو مجموعة من الدوائر الإلكترونية واللوحات المطبوعة التي يمر فيها التيار الكهربي ليتحول بعد ذلك لبيانات ومعلومات وصور يتم عرضها على شاشة الحاسب بعد ذلك.

ولأن هذه الفئة من المتابعين يتوقون دائماً لمعرفة المزيد عن هذه الدوائر الإلكترونية العظيمة التي تم بناء حضارتنا الحالية عليها بشكل كامل تقريباً، كان لابد على أقل تقدير من توضيح بعض المصطلحات والمفاهيم الرئيسة الملازمة لها بشكل دائم. ولقد تحدثنا في مقالاتنا السابقة من سلسلة مصطلحات تقنية عن بعض هذه المطلحات والعتاد التي تُشير إليه. واليوم سنتوجه بنظرنا لأحد أرقى هذه العتاد وأشهر المصطلحات التقنية بين مختلف المستخدمين، ألا وهي البطاقة الرسومية ، فما هي وكيف تعمل ؟!.

مقدمة

في حال كنت متابعاً للتقنية والمقالات التقنية التي نحاول نشرها دائماً، ستعلم عزيزي القارئ أن الصور التي تراها على شاشتك ما هي إلا مجموعة من النقاط الصغيرة المتراصّة جنباً إلى جنب على شاشة الحاسب الخاصة بك، والتي يتم عرضها على هذه الشاشة من خلال إضاءة بعض النقاط الفسفورية الموجودة على تلك الشاشات والتي تسمى البكسل أو Pixel . ولأن الصور بطبيعة الحال تتكون من عدد كبير جداً من النقاط أو الألوان ، فإن كل شاشة تتكون بدورها بعدد كبير جداً من البيكسلات أو النقاط لكي تستطيع عرض الصورة ذات الألوان والنقاط الكبيرة، ومن هنا ظهر أماما مصطلح دقة العرض أو الـresolution.

مصطلحات تقنية : ما هي البطاقة الرسومية وكيف تعمل ؟ (الجزء الأول)

وفي معظم إعدادات الدقات الشائعة ، تعرض الشاشة أكثر من مليون بكسل (وهي محصلة عدد البيكسلات الطولية في العرضية كما هو مذكور في المقال الموجود في الرابط الذي في الأعلى).

وهنا دعني صديقي رجل الكهف أوضح لك أمراً بسيطاً. كما تعلم عزيزي القارئ فإن الحاسب بشكل عام يعمل على ارسال البيانات من وحدات الإدخال، ومن ثم معالجتها وبعد ذلك يخرج هذه البيانات التي تمت معالجتها من خلال وحدات الإخراج الخاصة بالحاسب، والأمر ذاته بالطبع يحدث عند الحديث عن الصور، فكيف يتم ذلك ؟!....

فلنقل أنك صديقي العزيز قمت بالضغط على صورة ما تم تخزينها على القرص الصلب الخاص بك ليقوم حاسوبك بعرضها على الشاشة، وهنا يتبادر إلى ذهن المتابع سؤال مهم للغاية، وهو كيف يمكن للحاسب معرفة أي النقاط على هذه الشاشة هي النقطة التي تتناسب مع تلك الموجودة في الصورة التي قمت للتو بفتحها ؟ كيف تفهم الشاشة ذلك أصلاً. وفي الحقيقة فالشاشة لا تقوم بذلك، ولكنه تحتاج إلى دليل أو مترجم لهذه العملية. لذا فالأمر هنا منوط بالكمبيوتر الذي يجب عليه أن يقرر ما الذي سيفعله بكل واحدة من هذه البيكسلات من أجل إنشاء الصورة كاملة الألوان التي تم فتحها منذ قليل.

مصطلحات تقنية : ما هي البطاقة الرسومية وكيف تعمل ؟ (الجزء الأول)

وللقيام بذلك كما أشرنا، فالحاسوب يحتاج إلى مترجم - شيء ما يقوم بأخذ البيانات الثنائية (التي تتكون من مجموعة من الآحاد والأصفار) من وحدة المعالجة المركزية (والتي بدورها أخذتها من قرص التخزين) وتحويلها إلى صورة يمكنك رؤيتها. هذا المترجم -ما لم يكن لدى الكمبيوتر إمكانية معالجة رسومية مدمجة في اللوحة الأم- سيكون بكل تأكيد هو البطاقة الرسومية.

البطاقة الرسومية هي القسم الفني في حاسوبك

وفي الحقيقة، تُعتبر وظيفة البطاقة الرسومية وتكوينها معقداً للغاية ، ولكن من السهل فهم مبادئها ومكوناتها الأساسية بدون التعمق كثيراً في التفاصيل. لذا سأحاول في هذه المقالة التي سأقوم بتقسيمها على جزئين، بإلقاء نظرة على الأجزاء الأساسية للبطاقة الرسومية ومعرفة ماذا تفعل بالضبط. وسنقوم أيضًا بفحص العوامل أو الأجزاء التي تعمل على المساهمة في جعل هذه البطاقة الرسومية سريعة وفعالة.  وأخيراً (في المقال التالي) سنتعرف بشكل موجز على المعمارية الرسومية، أو التقسيم المعماري للبطاقة الرسومية حيث نوضح وظيفة كل جزء وكيف تتواصل هذه الأجزاء مع بعضها. فهلّا بدأنا ؟!.

فكر في الكمبيوتر الخاص بك كشركة لها قسم فني خاص بها. بحيث أنه عندما يريد الأشخاص العاملون في الشركة قطعة من العمل الفني ، فإنهم يرسلون طلبًا إلى القسم الفني لتنفيذها. وبعد ذلك، يُقرر القسم الفني كيفية إنشاء الصورة ثم يقوم بوضعها على الورق. والنتيجة النهائية هي أن تصبح فكرة شخص ما صورة حقيقية قابلة للعرض.

وهذا تقريباً هو نفس المبدأ الذي تعمل به البطاقة الرسومية في الحاسب بالضبط. ففي البداية تقوم وحدة المعالجة المركزية ، التي تعمل جنبًا إلى جنب مع تطبيقات البرامج ، بإرسال المعلومات اللازمة حول الصورة التي سيتم رسمها إلى البطاقة الرسومية. بعد ذلك تُقرر البطاقة الرسومية كيف سيتم استخدام وحدات البكسل الموجودة على الشاشة لإنشاء الصورة. ومن ثم يتم إرسال هذه المعلومات إلى الشاشة عبر الكابل الموصل بها وليكن مثلاً كيبل HDMI .

تُعد عملية إنشاء الصورة من البيانات الثنائية (المتكونة من الصفر والواحد) عملية متطلبة. حيث أنه ولعمل صورة ثلاثية الأبعاد مثلاً، تقوم البطاقة الرسومية أولاً بإنشاء إطار سلكي من الخطوط مستقيمة. ثم تقوم بعد ذلك بعملية تنقيط الصورة (هذه العملية تُسمّى الرسم بالتنقيطrasterization ) (حيث يتم ملأ وحدات البكسل المتبقية) . كما أنها تُضيف الإضاءة والملمس أو الإكساء texture واللون الخاصة بهذه الصورة (سنتحدث عن كيف يقوم الحاسوب برسم الصور بشكل أكثر تفصيلاً في مجموعة مقالات لاحقة) .

وبالنسبة للألعاب سريعة الوتيرة ، يجب أن يمر الكمبيوتر بهذه العملية حوالي ستين مرة في الثانية، حتى يستطيع عرض ستون إطاراً في الثانية الواحدة أو أكثر حتى مع الشاشات الحديثة. لذلك، فبدون بطاقة رسومية منفصلة لإجراء العمليات الحسابية اللازمة ، سيكون عبء العمل أكثر من اللازم على الكمبيوتر للتعامل معه (وهنا أقصد المعالج المركزي) . والذي يمكنه بالمناسبة عمل ذلك، ولكن مع الوظائف المطلوبة منه من الأساس، فقد كان لابد من إيجاد معالج مخصص للرسوم ثُلاثية الأبعاد، ومن هنا أتت فكرة وجود معالج منفصل متخصص فقط لهذا النوع من المعالجة، ألا وهو معالجة الصور.

ما هي ، وكيف تعمل مكونات البطاقة الرسومية ؟!

تنجز البطاقة الرسومية هذه المهمة التي ذكرناها للتو، باستخدام أربعة مكونات رئيسية : اتصال خاص باللوحة الأم لنقل البيانات والطاقة. ثانياً : معالج يقرر ما يجب فعله بكل بكسل على الشاشة بسرعة كبيرة. ثالثاً : ذاكرة لحفظ المعلومات حول كل بكسل وللتخزين المؤقت للصور المكتملة التي تم رسمها بالفعل. وأخيراً : وسيلة اتصال سريعة بالشاشة حتى تتمكن من رؤية النتيجة النهائية بعد ذلك .

البطاقة الرسومية

وقد تحدثنا من قبل عزيزي القارئ عن وسيلة التوصيل الخاصة بالمعالج الرسومي واللوحة الأم وهي شقوق التوسعة أو نواقل PCI و PCIe بالتفصيل في مقالات سابقة من سلسلتنا يمكنك الرجوع إليها. لذا فسنلقي نظرة هذه المرة على المعالج والذاكرة بمزيد من التفصيل.

كما هو الحال مع اللوحة الأم ، فالبطاقة الرسومية تتكون من لوحة مطبوعة PCB ، يتواجد عليها معالج خاص بمعالجة البيانات بجانب ذاكرة أو رام خاصة بتخزين البيانات. بل إن لديها شريحة نظام الإدخال / الإخراج (BIOS)  الخاصة بها، والتي تخزن إعدادات البطاقة وتقوم بإجراء الفحص اللازم على الذاكرة وعناصر الإدخال والإخراج الخاصة بالبطاقة للتأكد من أن كل شئ على ما يُرام عند بدء التشغيل للحاسب.

أولاً : المعالج الرسومي

معالج البطاقة الرسومية ، والذي يُسمى أيضاً بوحدة المعالجة الرسومية (GPU) ، يشبه إلى حد ما وحدة المعالجة المركزية للكمبيوتر. ومع ذلك ، يتم تصميم وحدة المعالجة الرسومية (GPU) خصيصًا لإجراء العمليات الحسابية الرياضية والهندسية المعقدة اللازمة لعرض الرسومات على الشاشة... وفي وقتنا الحالي، تحتوي وحدات المعالجة الرسومية على أعداد مهولة من الترانزستورات بأعداد أكثر حتى من تلك الموجودة في أعتى وحدات المعالجة المركزية. ولكن في المقابل، تُنتج وحدة المعالجة الرسومية (GPU) الكثير من الحرارة ، وهو ما يجعلها تأتي عادةً أسفل مشتت حراري أو مروحة خاصة بها.

 بالإضافة إلى قدرتها على المعالجة ، تستخدم وحدة المعالجة الرسومية (GPU) برمجة خاصة لمساعدتها على تحليل البيانات واستخدامها. وكما تعلم عزيزي القارئ، تُنتج شركتي AMD (أو ATI سابقاً) و nVidia الغالبية العظمى من وحدات المعالجة الرسومية الموجودة في السوق (مع دخول شركة Intel القريب) ، وقد طورت كلتا الشركتين تحسينات خاصة بهما لزيادة أداء وحدات المعالجة الرسومية عبر الأجيال المتعاقبة والمعماريات المُحدّثة والتي قد نتحدث عنها في مقال منفصل (مقال خاص بالمعماريات الرسومية نفسها والفوارق بينها) .

وبعيداً عن الجانب العتادي الذي سنتناوله فيما بعد بتفصيل أكثر، تقوم البطاقة الرسومية بتحسين جودة الصورة من خلال بعض الخدع البرمجية مثل:  تنعيم  الحوافكامل المشهد (FSAA) ، وهي التقنية التيتقوم بتنعيم حواف الكائنات ثلاثية الأبعاد الموجودة على الشاشة. وأيضاً تقنية الترشيح المتباين الخواص أو  Anisotropic filtering (AF) ، والذي يجعل الصور تبدو أكثر وضوحا. وغيرها من التقنيات الحديثة الخاصة بالإضاءة مثلاً مثل الإضاءة الشمولية ambient occlusion وغيرها من التقنيات التي تحدثنا عنها في مواضيع سابقة هنا . كما وطورت كل شركة أيضًا تقنيات محددة لمساعدة وحدة المعالجة الرسومية في تطبيق الألوان والتظليل والأنسجة والأنماط وغيرها...

الذاكرة الرسومية

نظرًا لأن وحدة المعالجة الرسومية تُنشئ صورًا متتالية، فإنها بالتأكيد تحتاج إلى مكان ما للاحتفاظ بالمعلومات والصور المكتملة. ولذلك تستخدم البطاقات الرسومية ذاكرة وصول عشوائي خاصة بها لهذا الغرض ، حيث تقوم هذه الذاكرة بتخزين البيانات الخاصة بكل بكسل (أو كل نقطة من الصورة التي يتم معالجتها) ولونها وموقعها على الشاشة. كما يُمكن أن يعمل جزء من ذاكرة الوصول العشوائي أيضًا كمخزن مؤقت للإطارات أو (frame buffer) ، مما يعني أنها تحتفظ بالصور المكتملة حتى يحين وقت عرضها على الشاشة بشكل متتالي على هيئة مشهد كامل مثلاً حتى لا يتم عرض صور قبل صور أُخرى من ناحية الترتيب.

في العادة تعمل ذاكرة الوصول العشوائي للفيديو أو الذاكرة الرسومية VRAM بسرعات عالية جدًا وتأتي مزدوجة المنافذ ، مما يعني أن النظام (وأقصد هنا الحاسب) يمكنه القراءة والكتابة عليها في نفس الوقت.

ولكي تتم نقل المعلومات من وإلى الذاكرة باللغة التي يفهمها الحاسب، تتصل الذاكرة الرسومية مباشرة بما يُسمّى المحول الرقمي إلى التناظري أو (digital-to-analog converter) ، والمعروف أيضاً بإسم  DAC. ويقوم هذا المحول ، المسمى أيضًا RAMDAC ، بترجمة الصورة بشكلها إلى إشارة تمثيلية أو تناظرية Analog Signal يمكن للشاشة استخدامها، حيث أنها لا تفهم لغة الصفر والواحد مباشرة (قد نتحدث عن الفارق بين الإشارات الرقمية والتناظرية في مقال أخر) . والجدير بالذكر هنا أن بعض البطاقات الرسومية تحتوي بدورها على عدة وحدات RAMDAC ، والتي يمكنها تحسين الأداء ودعم أكثر من شاشة واحدة في نفس الوقت.

وأخيراً، بعد أن يتم  تحويل الإشارة وتجهيزها للإرسال للشاشة، يُرسل بعد ذلك محول RAMDAC الصورة النهائية إلى الشاشة عبر كابل الشاشة، من خلال منفذ الشاشة الذي يكون موضوعاً في الجزء الخلفي من البطاقة الرسومية مثل منفذ HDMI أو DVI وغيرها من المنافذ...

واجهة اتصال البطاقة الرسومية PCI

كما ذكرنا في المقالات السابقة من سلسلتنا، فإن البطاقة الرسومية أو كرت الشاشة كما يُطلق عليها البعض تتصل بالكمبيوتر من خلال اللوحة الأم. حيث توفر اللوحة الأم جزء من الطاقة التي تحتاجها البطاقة (تستطيع اللوحات الأم الحالية من خلال منفذ PCIe توفير ما يصل إلى 75 واط من الطاقة، ولكنه ليس كافياً مع البطاقات الرسومية المتوسطة والقوية في أغلب الأحيان) وتتيح لها الاتصال بوحدة المعالجة المركزية. وكما ذكرت للتو، فغالبًا ما تتطلب البطاقات الرسومية الأحدث من الفئات الأعلى طاقة أكبر مما يمكن أن توفره اللوحة الأم ، لذلك ستجد لديها أيضًا وصلات أو منافذ اتصال مباشر بمصدر طاقة الكمبيوتر، مثل منافذ 6-pin أو 8-pin حسب مقدار الطاقة التي تحتاجه البطاقة.

البطاقة الرسومية

أما بالنسبة لكيفية الإتصال بين اللوحة الأم والبطاقة الرسومية. ففي العادة ما تتم هذه  الاتصالات من خلال واحدة من الواجهات الثلاث التالية:

واجهة ربط المكونات الطرفية أو (PCI)

 منفذ الرسوميات المتقدم  (AGP) Advanced graphics port

واجهة(PCIe) PCI Express  وهي الأحدث من بين الثلاثة وتوفر أسرع معدلات النقل بين البطاقات الرسومية واللوحة الأم. وقد تحدثنا عن هذه المنافذ الثلاثة بالتفصيل في المقالين الخاصّين بنواقل التوسعة من هنا و هنا. الجدير بالذكر هنا أن منفذPCIe  يدعم أيضًا القدرة على استخدام أكثر من بطاقة رسومية في نفس الكمبيوتر.

منافذ التوصيل بالشاشات

تحتوي معظم البطاقات الرسومية في الوقت الحالي على العديد من الوصلات المختلفة الخاصة بالشاشات، والتي تتناسب في أغلب الأحيان مع أنواع متعددة من الشاشات وفي بعض الأحيان تعتمد على دقة الشاشة نفسها. وقبل أن تسأل عزيزي القارئ عن العلاقة بين دقة الشاشة ونوع الوصلة التي تنقل البيانات إليها، فالإجابة ببساطة هي أن هذه الوصلات المختلفة -حالها كحال غيرها من النواقل في الحاسب- تستطيع نقل البيانات بكمية معينة أو عرض نطاق معين أو معدل نقل مُعين، وهو ما يعني أنه مع الشاشات ذات الدقّات الأكبر والتي تحتاج لمعدلات نقل بيانات أعلى فستحتاج لوصلات أكثر سرعة. وعلى كل حال وبما أن ذلك ليس محور حديثنا اليوم، فسنترك ذلك لمقال أخر (ولم لا ؟!).

هذه الوصلات المختلفة غالبًا ما يكون أحدها موصل DVI والذي يدعم شاشات LCD ، والآخر قد يكون HDMI أو displayport أو حتى موصل VGA كما في البطاقات الأكثر قدما، والذي يدعم شاشات CRT(في حال كان أحدهم مازال يعيش في العصر الحجري مثلاً). في البطاقات الأحدث على الرغم من ذلك، قد تحتوي بعض البطاقات على موصلين  DVIأو Displayport أو حتى HDMI بدلاً من ذلك، وهو ما ستجد فيه تنوعاً كبيراً حسب الجيل والفئة الخاصة بالبطاقة الرسومية.

كل هذا جميل، ولكن كيف تقوم البطاقة الرسومية بالمعالجة الفعلية للبيانات، وكيف تعمل الرسوم الثلاثية الأبعاد أصلاً ؟

قد تتسائل عزيزي القارئ الآن عن كيفية معالجة البطاقة الرسومية للبيانات، أليس كذلك ؟!. ففي الحقيقة ما ناقشناه اليوم مع بعضنا البعض لا يكاد يكون هو الأساس المعرفي البسيط للغاية عن الفكرة العامة لعمل البطاقة الرسومية. ولأن الأمر لا يمكن شرحه في مقال واحد أو حتى مقالين فحسب، فسنحاول جاهدين تقسيم هذا الامر على عدة مقالات مختلفة كما أشرت في البداية. ولكنك الآن على أقل تقدير تعرف الفكرة الأساسية لعمل البطاقة الرسومية.

وعلى كل حال صديقي المستكشف الصغير، فسواء كنت تتوق لمعرفة المزيد من المعلومات عن البطاقة الرسومية بالتفصيل أو حتى عن كيفية معالجتها الرسومات، أو كيف يتم رسم الأجسام ثُلاثية الأبعاد، أو حتى كنت تُريد الإكتفاء بهذا الكم من المعلومات عن البطاقة الرسومية. فأنا أعدك أن القادم أجمل، بل يمكنني القول The Best is yet to come ...!!