Design and Implementation of SHA-256 Accelerator on FPGA for Edge Devices
تقدم هذه الورقة مسرع أجهزة SHA-256 محسّن الموارد ومنخفض الطاقة مصمم للأجهزة الطرفية، والذي يستخدم فك لف الحلقات بمقدار مرتين (2X loop unrolling) وبوابة الساعة (clock gating) لتحقيق معدل إنتاجية يبلغ 1.47 ميجا عملية في الثانية وكفاءة طاقة تبلغ 13.37 ميجا عملية في الثانية/واط على منصة FPGA.
البحث الأصلي مرخَّص بموجب CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). هذا شرح مولَّده بالذكاء الاصطناعي للبحث أدناه. لم يكتبه المؤلفون ولم يصادقوا عليه. وللتحقق من الدقة التقنية، يرجى الرجوع إلى البحث الأصلي. اقرأ إخلاء المسؤولية الكامل
تخيل الإنترنت كمدينة ضخمة صاخبة حيث تتواصل مليارات الأجهزة باستمرار، وتتبادل الأسرار وتنقل الأموال. وللحفاظ على أمن هذه المدينة من اللصوص والكاذبين، يستخدم السكان نوعًا خاصًا من الأختام الرقمية يسمى "الهاش" (hash). فكر في الهاش كبصمة فريدة لقطعة من البيانات: إذا كتبت حرفًا واحدًا بشكل مختلف، تتغير البصمة تمامًا، مما يثبت أن الرسالة قد تم التلاعب بها. أحد أكثر الأختام موثوقية في هذه المدينة يسمى SHA-256. إنه لغز رياضي معقد يحول أي رسالة إلى سلسلة ثابتة من الأرقام. وبينما تجيد الحواسيب حل هذه الألغاز، إلا أنها قد تكون بطيئة ونهمة للكهرباء، خاصة عندما تكون أجهزة صغيرة مثل المستشعرات الذكية أو أدوات إنترنت الأشياء (IoT) التي تعمل بالبطاريات. فإذا أهدرت هذه الأجهزة الصغيرة الكثير من الطاقة في محاولة قفل بياناتها، ستنفد بطارياتها بسرعة وتظلم شبكة الأمن في المدينة.
هنا تأتي قصة غونجان ثاكور وفريقه. لقد طرحوا سؤالًا بسيطًا: هل يمكننا بناء آلة صغيرة فائقة الكفاءة لحل ألغاز SHA-256 هذه دون استنزاف البطارية؟ لم يكتفوا بكتابة برنامج حاسوبي للقيام بالرياضيات فحسب؛ بل صمموا مسرعًا للأجهزة مخصصًا (hardware accelerator) يعمل تحديدًا على مصفوفات البوابات المنطقية القابلة للبرمجة ميدانيًا (FPGAs)، وهي تشبه لوحات "ليجو" للإلكترونيات التي يمكن إعادة تشكيلها لتناسب أي مهمة. كان هدفهم هو إنشاء تصميم سريع بما يكفي لمواكبة ضجيج المدينة، ولكن لطيف بما يكفي على استهلاك الطاقة ليسمح للأجهزة بالاستمرار لفترة طويلة.
الاكتشاف الرئيسي للفريق هو طريقة جديدة وذكية لتنظيم الرياضيات داخل هذه الآلة. تخيل أنك خباز تصنع نوعًا معينًا من الكعك يتطلب 64 خطوة. عادةً، ستقوم بخطوة واحدة، ثم تنتظر، ثم تقوم بالخطوة التالية، وهكذا. قرر الباحثون استخدام تقنية تسمى "فك حلقة التكرار بمقدار ضعفين" (2X loop unrolling). في تصميمهم، لا تقوم الآلة بخطوة واحدة في كل مرة؛ بل تأخذ خطوتين وتقوم بهما في وقت واحد في نبضة قلب واحدة. الأمر يشبه امتلاك خباز لديه مجموعتان من الأيدي يمكنهما خلط دفعتين من العجين في نفس الوقت تمامًا. وللتأكد من أن هذه السرعة لا تهدر الطاقة، أضافوا أيضًا "بوابة الساعة" (clock gating). فكر في هذا كـمفتاح ضوء ذكي يقوم تلقائيًا بإيقاف تشغيل الطاقة لأي جزء من الآلة لا يعمل حاليًا، حتى لا تضيع أي طاقة على التروس الخاملة.
عندما اختبروا هذا التصميم الجديد على لوحة دوائر محددة تسمى Nexys A7، كانت النتائج واعدة. عملت الآلة بسرعة 50 ميجاهرتز وتمكنت من معالجة 1.47 مليون هاش في الثانية (1.47 Mhps). ولعل الأهم من ذلك، أنها فعلت كل هذا باستخدام 0.11 واط فقط من الطاقة. وعندما قارنت بين مقدار العمل الذي قامت به والطاقة التي استهلكتها، حقق التصميم كفاءة طاقة بلغت 13.37 Mhps/W. قارن الباحثون عملهم بتصاميم أخرى ووجدوا أنه بينما كانت بعض الآلات الأخرى أسرع، إلا أنها كانت تستهلك الطاقة مثل سيارة رياضية، وأخرى كانت مقتصدة ولكنها بطيئة للغاية. ومع ذلك، وجد تصميمهم "نقطة مثالية"، حيث قدم توازنًا متوازنًا يجعله مناسبًا لعالم الأجهزة الطرفية (edge devices) محدودة الموارد.
من المهم ملاحظة أن هذه النتائج تحققت من خلال عمليات المحاكاة والاختبارات على لوحة FPGA المذكورة تحديدًا، وليس عن طريق تشغيل الجهاز في مدينة حقيقية مليئة بالمتغيرات غير المتوقعة. لقد تحقق الفريق من أن آلتهم أنتجت بصمات رقمية صحيحة لـ 100 رسالة اختبار مختلفة، مطابقة للنتائج المتوقعة تمامًا. كما أظهروا أن تصميمهم استخدم كمية صغيرة نسبيًا من موارد اللوحة، حيث استهلك حوالي 3.92% فقط من كتل المنطق المتاحة. لم يدّعوا أن هذا هو التصميم الأسرع أو الأقوى على الإطلاق، لكنهم أثبتوا أنه حل عالي الكفاءة للبيئات منخفضة الطاقة. ومن خلال الجمع بين المعالجة "بمعدل اثنين في كل مرة" ومفاتيح توفير الطاقة الذكية، أثبتوا أنه من الممكن الحفاظ على أمن الأجهزة الطرفية دون التضحية بعمر بطاريتها.
غارق في أبحاث مجالك؟
تصلك نشرة يومية بأحدث الأبحاث المطابقة لكلماتك البحثية المفتاحية — مع ملخصات تقنية، بلغتك.