كيف و لماذا و ما معنى ؟؟؟مفاهيم تقنيةمقالات

ما معنى الـ Hardware Acceleration ؟و علاقته بال CPU

في كثير من الاحيان نرى جملة Hardware Acceleration و بالاخص فى برامج ادارة المعالج الرسومي (GPU) الموجود في الحواسيب (كروت الشاشة) او الهواتف او اجهزة الاستقبال الفضائي و بعض اجهزة ا الميديا المختلفة الاخرى و لكن ماذا يعني الـ Hardware Acceleration ؟ , و ما فائدتها ؟
و للاجابة عن ذلك دعونا نتطرق اولا الى بعض النقاط الواجب معرفتها عن المعالج الرئيسي (CPU) .

ما هو المعالج الرئيسي (CPU) باختصار و ما علاقته بالـ Hardware Acceleration ؟
مصطلح الـ CPU هو اختصار لـ Central Processing Unit و هي تعني وحدة المعالجة المركزية و هو في الاساس اهم جزء في اي نظام , من السهل ان تقول انه العقل الرئيسي لقطع الهاردوير الاخرى و داخليا يحتوي على ملايين من الترانزستورات لتشكل دوائر منطقية . حيث يتم تحويل الاكواد البرمجية التي يكتبها المطورون الى لغة الـ Binary (0,1) لتستطيع تلك الدوائر المنطقية/الالكترونية ان تتعامل معها ثم بعد انتهاء تلك العملية يعود بالنتائج الى كود برمجي يستطيع الانسان ان يفهمه ( يسمعه, يراه او يتعامل معه بشكل اخر) .
فهو مصنع لكي يتعامل مع اي كود برمجي و هناك العديد من العوامل التي تحدد سرعته منها ( التردد , عدد الانوية , سعة ذاكرة الكاش) .

و لنأخذ مثال بسيط سيقودنا الى العلاقة بين الـ Hardware Acceleration و الـ CPU :-

الحاسب لديك يحتوي على الاتي:-

  • المعالج الرئيسي و ليكن Intel Core i3 3220 و هو معالج قديم , تم اصدارة عام 2012 (CPU).
  • المعالج الرسومي المدمج من انتل هو Intel® HD Graphics 2500.
  • نظام التشغيل Windows 10 (كود برمجي كبير جدا).
  • برنامج لتشغيل ملفات الميديا و ليكن VLC (كود برمجي).
  • ملفين فيديو الاول بتشفير H264 , و الثاني HEVC/H265 (كود برمجي صعب).
Old_PC_Specs
المواصفات الفنية للحاسب المستخدم.

تخيل معي عندما تقوم بتشغيل ملف الفيديو اذا كان بدقة 4k , ماذا سيكون العبئ على المعالج الرئيسى؟ مع الاخذ فى الاعتبار ان هناك برامج اخرى و خدمات خاصة بنظام التشغيل تعمل فى نفس الوقت و بشكل دائم !

نوع التشفير H264 و بدقة عرض (4K)2160p


لاحظ جيدا الصورة بالاعلى ستجد ان الـ CPU مستخدم بنسبة من 80% الى 100% و عند النظر الى الفيديو ستجده يعمل بشكل سيئ و هناك العديد من التقطعات و لن تكون هناك فائدة من مشاهدة الفيديو ,و سيكون التاثير سلبي على باقي نظام التشغيل.

و هنا ياتى دور الـ Hardware Acceleration و يعني التسارع العتادي , و المعنى التقنى هنا ان يكون جزء هاردوير مسئول عن كود برمجي من نوع واحد.
و للتوضيح اكثر , يعني ان هناك دائرة الكترونية مدمجة (IC) تعمل بجانب المعالج الرئيسي عند الحاجة اليها و بالتالي عند تشغيل ذلك الكود البرمجي لن يتحمل المعالج الرئيسي عبئ تشغيله و لكن تلك الدائرة الالكترونية المدمجة هي من سيتعامل معه.

و اذا عدنا للمثال السابق سنفترض ان المعالج الرسومي يحتوي على دائرة الكترونية مسئولة عن تشغيل(Decode) تشفير الفيديو من النوع المذكور اعلاه
H264 كـ Hardware Acceleration

نوع التشفير H264 و بدقة عرض (4K)2160p


و بالتالي عند تشغيل نفس الملف السابق ستجد ان الـ CPU مستخدم بنسبة تصل الى 2% و تزيد و تقل قليلا عند استخدام ابعاد فيديو مختلفه لنفس نوع التشفير و على الرغم من ان الدقة المستخدمة في المثال هي 4K ! .

و عند البحث عن انواع التشفير التي يدعمها المعالج الرسومي المدمج لم يكن هناك Hardware Acceleration للنوع HEVC/H265 و بالتالي عند تشغيل الملف الثاني ارتفعت نسبة استخدام المعالج الرئيسي بشكل ملحوظ و كما اسلفنا ان النسبة تزيد عند استخدام ابعاد فيديو اكبر .

نوع التشفير H265/HEVC و بدقة عرض 1080p
نوع التشفير H265/HEVC و بدقة عرض 1440p
نوع التشفير H265/HEVC و بدقة عرض (4K)2160p

بشكل افتراضي معظم مشغلات الميديا ستقوم بالعمل اعتمادا على دعم الـ Hardware Acceleration و الذي يسمى فى بعض الاحيان Hardware Decode و ان لم يكن هناك دعم لهذا النوع من ملفات الميديا ستعمل بطريقة الـ Software Decode و التي تعني ان المعالج الرئيسي هو من سيتحمل عبئ تشغيل تللك الملفات بشكل كامل و عندها ستجد نسبة استخدام المعالج ارتفعت بشكل ملحوظ جدا بحيث يعمل الملف بشكل جيد اذا كان المعالج قوي او سيكون هناك تقطعات و تشنج للنظام بالكامل اذا كان المعالج ضعيف.

هل الـ Hardware Acceleration يكون لملفات الفيديو فقط ؟

بالطبع لا ,
يوجد الكثير من البرمجيات التي يمكنها ان تعتمد على الـ Hardware Acceleration بدلا من رمي عبئ تشغيلها على المعالج الرئيسي كملفات الصوت مثلا , فقد يكون هناك بطاقة موجودة فى اللوحة الام او دائرة الكترونية مدمجة فى المعالج الرسومي لتعمل حين استدعاء ملفات صوتية و بانواع تشفير مختلفة.
من ضمن التطبييقات التى تستفيد من الـ Hardware Acceleration هي متصفحات الانترنت و التي يختلف اداءها للافضل فى كثير من الاحيان عند اعتمادها على الـ Hardware Acceleration.

هل يجب عليك استخدام الـ Hardware Acceleration في نظامك ؟

نعم يجب عليك استخدام الـ Hardware Acceleration للكثير من الاسباب و اهمها هي :-
– سلاسة النظام نتيجة لازالة عبئ كبير عن المعالج الرئيسي.
– توفير في استهلاك الطاقة التي يستخدمها المعالج الرئيسي.
– اتاحة استخدام برمجيات اكثر فى نفس الوقت نتيجة لقلة نسبة استخدام المعالج الرئيسي.

Mohamed Farahat

عاشق للتكنولوجيا , اعمل كمهندس صيانة في مجال الالكترونيات, و حاليا مهتم جدا بالدراسة فى مجال الذكاء الاصطناعي.

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

error: Alert: Content is protected !!