تسريع الأجهزة

التسريع باستخدام الأجهزة هو استخدام مكونات الحاسوب المادية ، المعروفة باسم مُسرِّع الأجهزة ، لأداء وظائف محددة بسرعة أكبر من سرعة البرامج التي تعمل على وحدة المعالجة المركزية (CPU). أي عملية تحويل للبيانات يمكن حسابها بواسطة برنامج يعمل على وحدة المعالجة المركزية ، يمكن حسابها أيضًا بواسطة مُسرِّع أجهزة مناسب، أو باستخدام كليهما معًا.
لتحسين كفاءة أداء المهام الحاسوبية، يمكن استثمار الوقت والمال في تطوير البرمجيات أو الأجهزة أو كليهما. وتوجد طرق متنوعة ذات مزايا وعيوب فيما يتعلق بتقليل زمن الاستجابة ، وزيادة الإنتاجية ، وخفض استهلاك الطاقة .
قد تشمل المزايا النموذجية للتركيز على البرمجيات تنوعًا أكبر، وتطويرًا أسرع، وتكاليف هندسية أقل غير متكررة ، وقابلية نقل أعلى ، وسهولة تحديث الميزات أو إصلاح الأخطاء ، على حساب النفقات العامة لحساب العمليات العامة.
قد تشمل مزايا التركيز على الأجهزة زيادة السرعة ، وتقليل استهلاك الطاقة ، [ 1 ] وتقليل زمن الوصول، وزيادة التوازي [ 2 ] وعرض النطاق الترددي ، وتحسين استخدام المساحة والمكونات الوظيفية المتاحة على الدائرة المتكاملة ؛ على حساب انخفاض القدرة على تحديث التصميمات بمجرد حفرها على السيليكون وارتفاع تكاليف التحقق الوظيفي ، وأوقات الوصول إلى السوق، والحاجة إلى المزيد من الأجزاء.
في التسلسل الهرمي لأنظمة الحوسبة الرقمية، بدءًا من المعالجات العامة وصولًا إلى الأجهزة المُخصصة بالكامل ، توجد مفاضلة بين المرونة والكفاءة، حيث تزداد الكفاءة بشكل كبير عند تنفيذ أي تطبيق في مستويات أعلى من هذا التسلسل الهرمي (أي باتجاه الطرف الأكثر تخصيصًا). [ 3 ] يشمل هذا التسلسل الهرمي المعالجات العامة مثل وحدات المعالجة المركزية (CPU)، [ 4 ] والمعالجات الأكثر تخصصًا مثل وحدات التظليل القابلة للبرمجة في وحدة معالجة الرسومات (GPU ) ، [ 5 ] والتطبيقات المُنفذة على مصفوفات البوابات المنطقية القابلة للبرمجة (FPGAs)، [ 6 ] والوظائف الثابتة المُنفذة على الدوائر المتكاملة الخاصة بالتطبيقات (ASICs). [ 7 ]
يُعدّ تسريع الأجهزة مفيدًا للأداء ، وعمليًا عندما تكون الوظائف ثابتة، فلا تكون التحديثات ضرورية كما هو الحال في الحلول البرمجية. مع ظهور أجهزة المنطق القابلة لإعادة البرمجة مثل FPGAs، خفّت القيود المفروضة على تسريع الأجهزة للخوارزميات الثابتة تمامًا منذ عام 2010، مما سمح بتطبيق تسريع الأجهزة على مجالات المشاكل التي تتطلب تعديل الخوارزميات وتدفق التحكم في المعالجة . [ 8 ] [ 9 ] ومع ذلك، فإن العيب هو أنه في العديد من مشاريع المصادر المفتوحة، يتطلب الأمر مكتبات احتكارية لا يرغب جميع الموردين في توزيعها أو إتاحتها، مما يجعل دمجها في مثل هذه المشاريع أمرًا صعبًا.
ملخص
صُممت الدوائر المتكاملة للتعامل مع عمليات متنوعة على الإشارات التناظرية والرقمية. في مجال الحوسبة، تُعد الإشارات الرقمية الأكثر شيوعًا، وعادةً ما تُمثل بأرقام ثنائية. تستخدم أجهزة وبرامج الحاسوب هذا التمثيل الثنائي لإجراء العمليات الحسابية. ويتم ذلك من خلال معالجة الدوال المنطقية على المدخلات الثنائية، ثم إخراج النتائج لتخزينها أو معالجتها لاحقًا بواسطة أجهزة أخرى.
التكافؤ الحسابي بين الأجهزة والبرامج
بما أن جميع آلات تورينج قادرة على تشغيل أي دالة حسابية ، فمن الممكن دائمًا تصميم أجهزة مخصصة تؤدي نفس وظيفة برنامج معين. في المقابل، يمكن دائمًا استخدام البرامج لمحاكاة وظيفة جهاز معين. قد توفر الأجهزة المخصصة أداءً أعلى لكل واط لنفس الوظائف التي يمكن تحديدها في البرامج. تستطيع لغات وصف الأجهزة (HDLs) مثل Verilog و VHDL نمذجة نفس دلالات البرامج وتوليف التصميم في قائمة توصيلات يمكن برمجتها على FPGA أو دمجها في البوابات المنطقية لـ ASIC.
أجهزة الكمبيوتر ذات البرامج المخزنة
تُجرى الغالبية العظمى من عمليات الحوسبة البرمجية على أجهزة تُطبّق بنية فون نيومان ، والمعروفة مجتمعةً باسم حواسيب البرامج المخزنة . تُخزّن برامج الحاسوب كبيانات وتُنفّذ بواسطة المعالجات . يجب على هذه المعالجات جلب التعليمات وفك تشفيرها، بالإضافة إلى تحميل معاملات البيانات من الذاكرة (كجزء من دورة التعليمات )، لتنفيذ التعليمات التي تُشكّل البرنامج. يؤدي الاعتماد على ذاكرة تخزين مؤقتة مشتركة للتعليمات والبيانات إلى ما يُعرف بـ "عنق زجاجة فون نيومان"، وهو قيد أساسي على إنتاجية البرامج على المعالجات التي تُطبّق بنية فون نيومان. حتى في بنية هارفارد المُعدّلة ، حيث يكون للتعليمات والبيانات ذاكرات تخزين مؤقتة منفصلة في التسلسل الهرمي للذاكرة ، توجد تكلفة إضافية لفك تشفير رموز عمليات التعليمات وتعدد إرسال وحدات التنفيذ المتاحة على المعالج الدقيق أو وحدة التحكم الدقيقة ، مما يؤدي إلى انخفاض استخدام الدوائر. تستغل المعالجات الحديثة التي توفر تعدد الخيوط المتزامن عدم الاستخدام الأمثل لوحدات المعالجة الوظيفية المتاحة والتوازي على مستوى التعليمات بين خيوط الأجهزة المختلفة.
وحدات تنفيذ الأجهزة
لا تعتمد وحدات تنفيذ الأجهزة عمومًا على بنية فون نيومان أو بنية هارفارد المعدلة، ولا تحتاج إلى تنفيذ خطوات جلب التعليمات وفك تشفيرها في دورة التعليمات ، وبالتالي لا تتحمل تكاليف هذه المراحل. إذا تم تحديد العمليات الحسابية المطلوبة في تصميم الأجهزة على مستوى نقل السجلات (RTL)، فيمكن استعادة الوقت ومساحة الدائرة التي كانت ستُستهلك في مراحل جلب التعليمات وفك تشفيرها، وتوجيهها إلى استخدامات أخرى.
يُساهم هذا الاستغلال الأمثل للموارد في توفير الوقت والطاقة ومساحة الدوائر في العمليات الحسابية. ويمكن استخدام هذه الموارد المُستعادة لزيادة القدرة على الحوسبة المتوازية، أو وظائف أخرى، أو الاتصالات، أو الذاكرة، بالإضافة إلى تحسين إمكانيات الإدخال والإخراج . ويأتي ذلك على حساب الأداء العام.
بنى الأجهزة الناشئة
تتيح زيادة تخصيص تصميمات الأجهزة RTL للهياكل الناشئة مثل الحوسبة في الذاكرة ، والهياكل التي يتم تشغيلها بواسطة النقل (TTA) والشبكات على الشريحة (NoC) الاستفادة بشكل أكبر من زيادة موضع البيانات لسياق التنفيذ، مما يقلل من زمن انتقال الحوسبة والاتصال بين الوحدات النمطية والوحدات الوظيفية.
تقتصر قدرة المعالجة المتوازية للأجهزة المخصصة على المساحة ووحدات المنطق المتاحة على رقاقة الدائرة المتكاملة فقط . [ 10 ] لذلك، تتمتع الأجهزة بحرية أكبر بكثير في توفير معالجة متوازية هائلة مقارنة بالبرامج على المعالجات العامة، مما يتيح إمكانية تطبيق نموذج آلة الوصول العشوائي المتوازية (PRAM).
من الشائع بناء وحدات معالجة متعددة النوى ووحدات معالجة ذات عدد كبير من النوى باستخدام مخططات نواة الملكية الفكرية للمعالج الدقيق على شريحة FPGA أو ASIC واحدة. [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ] وبالمثل، يمكن تجميع وحدات وظيفية متخصصة بالتوازي، كما هو الحال في معالجة الإشارات الرقمية ، دون تضمينها في نواة الملكية الفكرية للمعالج . لذلك، غالبًا ما يُستخدم تسريع الأجهزة للمهام المتكررة والثابتة التي تتضمن تفرعات شرطية قليلة ، خاصةً عند التعامل مع كميات كبيرة من البيانات. هذه هي الطريقة التي تُنفذ بها سلسلة CUDA من وحدات معالجة الرسومات من Nvidia .
مقاييس التنفيذ
مع ازدياد سهولة نقل الأجهزة، تم تطوير مقاييس جديدة لقياس الأداء النسبي لبروتوكولات تسريع محددة، مع مراعاة خصائص مثل أبعاد الأجهزة المادية، واستهلاك الطاقة، وإنتاجية العمليات. ويمكن تلخيص هذه المقاييس في ثلاث فئات: كفاءة المهام، وكفاءة التنفيذ، والمرونة. وتأخذ المقاييس المناسبة في الاعتبار مساحة الأجهزة بالإضافة إلى كل من إنتاجية العمليات والطاقة المستهلكة. [ 16 ]
التطبيقات
تشمل أمثلة تسريع الأجهزة وظيفة تسريع نقل البتات في وحدات معالجة الرسومات (GPUs)، واستخدام المقاومات المتغيرة لتسريع الشبكات العصبية ، وتسريع الأجهزة باستخدام التعابير النمطية للتحكم في البريد العشوائي في صناعة الخوادم ، بهدف منع هجمات حجب الخدمة باستخدام التعابير النمطية (ReDoS). [ 17 ] قد يكون الجهاز الذي يُجري التسريع جزءًا من وحدة المعالجة المركزية للأغراض العامة، أو وحدة منفصلة تُسمى مُسرِّع الأجهزة، على الرغم من أنه يُشار إليها عادةً بمصطلح أكثر تحديدًا، مثل مُسرِّع ثلاثي الأبعاد، أو مُسرِّع التشفير .
تقليديًا، كانت المعالجات تعمل بنظام تسلسلي (حيث تُنفذ التعليمات واحدة تلو الأخرى)، وقد صُممت لتشغيل خوارزميات عامة الأغراض يتم التحكم فيها عن طريق جلب التعليمات (على سبيل المثال، نقل النتائج المؤقتة من وإلى ملف السجلات ) . تعمل مُسرّعات الأجهزة على تحسين تنفيذ خوارزمية معينة من خلال السماح بتزامن أكبر، وتوفير مسارات بيانات محددة لمتغيراتها المؤقتة ، وتقليل الحمل الزائد للتحكم في التعليمات في دورة الجلب والفك والتنفيذ.
تتميز المعالجات الحديثة بتعدد النوى ، وغالبًا ما تتضمن وحدات SIMD (تعليمات مفردة؛ بيانات متعددة ) متوازية. يمكن دمج هذه الوحدات داخل وحدة المعالجة المركزية أو توفيرها من خلال مكونات إضافية مثل محركات الذكاء الاصطناعي من AMD . [ 18 ] ومع ذلك، لا يزال تسريع الأجهزة مفيدًا. يُعد تسريع الأجهزة مناسبًا لأي خوارزمية كثيفة الحساب تُنفذ بشكل متكرر في مهمة أو برنامج. وبحسب مستوى التفصيل، يمكن أن يتراوح تسريع الأجهزة من وحدة وظيفية صغيرة إلى كتلة وظيفية كبيرة (مثل تقدير الحركة في MPEG-2 ).
وحدات تسريع الأجهزة حسب التطبيق
| طلب | مسرع الأجهزة | اختصار |
|---|---|---|
رسومات الحاسوب
| وحدة معالجة الرسومات
| وحدة معالجة الرسومات
|
| معالجة الإشارات الرقمية | معالج الإشارات الرقمية | معالجة الإشارات الرقمية |
| معالجة الإشارات التناظرية | مصفوفة تناظرية قابلة للبرمجة ميدانيًا | FPAA
|
| معالجة الصور | كاميرا ويب أو معالج صور | وحدة معالجة المعلومات |
| معالجة الصوت | بطاقة الصوت وخلاط بطاقة الصوت | غير متوفر |
شبكات الحاسوب
| معالج الشبكة ووحدة تحكم واجهة الشبكة | وحدة معالجة البيانات الوطنية ووحدة المعلومات الوطنية
|
| علم التشفير | مُسرِّع التشفير ومعالج التشفير الآمن | غير متوفر |
| الذكاء الاصطناعي | مسرع الذكاء الاصطناعي | غير متوفر
|
| الجبر متعدد الخطوط | وحدة معالجة الموترات | مادة TPU |
| محاكاة فيزيائية | وحدة معالجة الفيزياء | وحدة معالجة الرسومات |
| التعبيرات النمطية [ 17 ] | معالج مساعد للتعبيرات النمطية | غير متوفر |
| ضغط البيانات [ 20 ] | مُسرِّع ضغط البيانات | غير متوفر |
| المعالجة في الذاكرة | شبكة على شريحة ومصفوفة انقباضية | NoC؛ غير متوفر |
| معالجة البيانات | وحدة معالجة البيانات | وحدة معالجة البيانات |
| أي مهمة حاسوبية | أجهزة الكمبيوتر
| الواجب المنزلي (أحيانًا)
|
انظر أيضاً
- CGRA
- حاسوب للعمليات ذات الوظائف
- المعالج المساعد
- تسريع الفيديو DirectX (DXVA)
- الوصول المباشر إلى الذاكرة (DMA)
- تصنيف فلين لبنى الحواسيب المتوازية
- تعليمات واحدة، بيانات متعددة (SIMD)
- تعليمات واحدة، خيوط متعددة (SIMT)
- تعليمات متعددة، بيانات متعددة (MIMD)
- توليف عالي المستوى
- المعالج الدقيق البرمجي
- الجدول الزمني لأجهزة رسومات الحاسوب ثلاثية الأبعاد المبكرة
مراجع
- ↑ "مايكروسوفت تُعزز محرك بحث بينغ برقائق قابلة للبرمجة" . مجلة وايرد . 16 يونيو 2014.
- ↑ "مضمن" . مؤرشف من الأصل بتاريخ 2007-10-08 . تم الاطلاع عليه بتاريخ 2012-08-18 ."معماريات FPGA من الألف إلى الياء" بقلم كلايف ماكسفيلد 2006
- ↑ سنان، كوفي أوغلو؛ محمود، أوزكوران (2019). "الشكل 5. الحد الأدنى لاستهلاك الطاقة لوحدة المعالجة المركزية، ووحدة معالجة الرسومات، ووحدة FPGA، ووحدة ASIC بين إعادة حساب الصعوبة." استهلاك الطاقة في تعدين البيتكوين . doi : 10.17863/CAM.41230 .
- ↑ كيم، يونغمين؛ كونغ، جون هو؛ منير، أرسلان (2020). "الجدولة المشتركة بين وحدة المعالجة المركزية ومسرّع المعالجة لتسريع الشبكات العصبية التلافيفية على الحافة" . IEEE Access . 8 : 211422–211433 . Bibcode : 2020IEEEA...8u1422K . doi : 10.1109/ACCESS.2020.3039278 . ISSN 2169-3536 .
- ↑ لين، ييبو؛ جيانغ، زيكسوان؛ غو، جياكي؛ لي، ووشي؛ دار، شوناك؛ رين، هاوكسينغ؛ خيلاني، بروسيك؛ بان، ديفيد ز. (أبريل 2021). "DREAMPlace: تسريع وحدة معالجة الرسومات باستخدام مجموعة أدوات التعلم العميق لوضع VLSI الحديث". معاملات IEEE في التصميم بمساعدة الحاسوب للدوائر والأنظمة المتكاملة . 40 (4): 748-761 . Bibcode : 2021ITCAD..40..748L . doi : 10.1109/TCAD.2020.3003843 . ISSN 1937-4151 . S2CID 225744481 .
- ↑ لياخوف، بافيل؛ فالويفا، ماريا؛ فالويف، جورجي؛ ناغورنوف، نيكولاي (18-12-2020). "طريقة لزيادة أداء المرشح الرقمي باستخدام وحدات الضرب والتجميع المقتطعة" . العلوم التطبيقية . 10 (24): 9052. doi : 10.3390/app10249052 . ISSN 2076-3417 .
أدت محاكاة الأجهزة على FPGA إلى زيادة أداء المرشح الرقمي.
- ↑ موهان، براشانث؛ وانغ، وين؛ جونغك، برنارد؛ نيدرهاغن، روبن؛ سزيفير، جاكوب؛ ماي، كين (أكتوبر 2020). "مُسرِّع ASIC بتقنية 28 نانومتر لنظام التوقيع الرقمي ما بعد الكمي XMSS". المؤتمر الدولي الثامن والثلاثون لتصميم الحاسوب (ICCD) لعام 2020، معهد مهندسي الكهرباء والإلكترونيات (IEEE) . هارتفورد، كونيتيكت، الولايات المتحدة الأمريكية: معهد مهندسي الكهرباء والإلكترونيات. الصفحات 656-662 . doi : 10.1109/ICCD50377.2020.00112 . ISBN 978-1-7281-9710-4. S2CID 229330964 .
- ↑ مورغان، تيموثي بريكيت (2014-09-03). "كيف تستخدم مايكروسوفت معالجات FPGA لتسريع بحث بينغ" . تكنولوجيا المؤسسات . تم الاسترجاع في 2018-09-18 .
- ↑ "مشروع كاتابولت" . أبحاث مايكروسوفت .
- ↑ معالج MicroBlaze البرمجي: الأسئلة الشائعة ( مؤرشف بتاريخ ٢٧ أكتوبر ٢٠١١ في أرشيف الإنترنت)
- ↑ فاساني، إستفان (1998). "تنفيذ مصفوفات المعالجات على مصفوفات البوابات المنطقية القابلة للبرمجة الميدانية" . المنطق القابل للبرمجة الميدانية وتطبيقاته من مصفوفات البوابات المنطقية القابلة للبرمجة الميدانية إلى نموذج الحوسبة . سلسلة محاضرات في علوم الحاسوب. المجلد 1482. الصفحات 446-450 . doi : 10.1007/BFb0055278 . ISBN 978-3-540-64948-9.
- ↑ تشوكون وانغ وعمر حمامي. "تصميم نظام على شريحة FPGA مكون من 24 معالجًا مع شبكة على الشريحة".
- ↑ "جون كينت. "مصفوفة Micro16 - مصفوفة وحدة معالجة مركزية بسيطة"تمت أرشفة هذا النص من المصدر الأصلي بتاريخ 2020-08-01 . تم الاطلاع عليه بتاريخ 2018-10-07 .
- ↑ كيت إيتون. "تم تحقيق معالج بـ 1000 نواة: سيكون جهاز الكمبيوتر المكتبي الخاص بك في المستقبل حاسوبًا فائقًا". 2011.
- ↑ "علماء يضغطون أكثر من 1000 نواة على شريحة واحدة". 2011.أُرشف بتاريخ 5 مارس 2012 في أرشيف الإنترنت (Wayback Machine) .
- ↑ كينلي، فرانك؛ وين، نوربرت؛ ماير، هاينريش (ديسمبر 2011). "حول تعقيد وكفاءة الطاقة والتنفيذ لأجهزة فك تشفير القنوات". معاملات IEEE في الاتصالات . 59 (12): 3301-3310 . arXiv : 1003.3792 . Bibcode : 2011ITCom..59.3301K . doi : 10.1109/tcomm.2011.092011.100157 . ISSN 0090-6778 . S2CID 13863870 .
- 1 2 "التعبيرات النمطية في الأجهزة" . تم الاطلاع عليه بتاريخ 17 يوليو 2014 .
- ↑ ريكو، أليخاندرو؛ باريك، ساتيابراكاش؛ كابيزاس، خافيير؛ كلارك، ديفيد؛ أوزغول، باريس؛ بارات، فرانسيسكو؛ فو، ياو؛ مونز، ستيفان؛ ستيوارت، ديلان؛ شلانجن، باتريك؛ دوارتي، بيدرو؛ ديت، سنيها؛ بول، إندراني؛ وينغ، جيان؛ سانتان، سونال (10 يوليو 2024). "وحدة معالجة الشبكات العصبية AMD XDNA في معالجات Ryzen AI". IEEE Micro . 44 (6): 73–82 . Bibcode : 2024IMicr..44f..73R . doi : 10.1109/MM.2024.3423692 . ISSN 1937-4143 .
- ↑ "ورقة بيانات محول سطح المكتب Intel® PRO/100 S" (ملف PDF) . Intel . 2005. تم الاطلاع عليه بتاريخ 15 أغسطس 2025 .
- ↑ "مسرعات الضغط" . أبحاث مايكروسوفت . 16 يونيو 2014. تم الاطلاع عليه بتاريخ 15 أغسطس 2025 .
- 1 2 فارابيه، كليمنت؛ وآخرون (2010). الشبكات العصبية الالتفافية المُسرّعة بالأجهزة لأنظمة الرؤية الاصطناعية . وقائع ندوة IEEE الدولية للدوائر والأنظمة لعام 2010. باريس: IEEE . الصفحات 257-260 . doi : 10.1109/ISCAS.2010.5537908 . ISSN 2158-1525 . تم الاطلاع عليه بتاريخ 15 أغسطس 2025 - عبر Academia.edu.
روابط خارجية
الوسائط المتعلقة بتسريع الأجهزة على ويكيميديا كومنز
- تسريع الأجهزة
- الدوائر المتكاملة الخاصة بالتطبيقات
- وحدات المعالجة المركزية
- تحسين الحاسوب
- مصفوفات البوابات
- أجهزة الرسومات
