A Reconfigurable Multiplier Architecture for Error-Resilient Applications in RISC-V Core
تقدم هذه الورقة بنية مضاعف قابل لإعادة التشكيل أثناء وقت التشغيل مدمجة في نواة RISC-V تتيح مقايضات دقيقة بين الطاقة والدقة لاستنتاج الشبكات العصبية، مما يحقق تخفيضات كبيرة في القدرة والطاقة في كل من الأنماط الدقيقة والتقريبية مع الحفاظ على أداء حوسبي عالٍ.
المؤلفون الأصليون:Pragun Jaswal, L. Hemanth Krishna, B. Srinivasu
تخيل أنك تدير مطبخاً مزدحماً (معالج كمبيوتر) يحتاج إلى إعداد آلاف الوصفات المعقدة (الشبكات العصبية) كل ثانية. الجزء الأكثر استهلاكاً للوقت والطاقة في الطهي هو القيام بالعمليات الحسابية—وتحديداً ضرب الأرقام ببعضها البعض.
المشكلة: في المطبخ التقليدي، يكون الطاهي دقيقاً للغاية. فهو يقيس كل مكون بدقة حتى الملغرام ويحسب كل خطوة بدقة مطلقة. وبينما يضمن ذلك أن الطبق سيكون مثالياً، إلا أن ذلك يستغرق الكثير من الوقت ويحرق كمية هائلة من الوقود (الطاقة).
الحل: "المضاعف الذكي" قام الفريق ببناء أداة جديدة للمطبخ تسمى المضاعف القابل لإعادة التشكيل (Reconfigurable Multiplier). فكر في هذا كـ "مساعد طباخ ذكي" يمكنه تغيير شخصيته فوراً بناءً على المهمة المطلوبة.
وضعان في أداة واحدة:
وضع المثالية (الدقيق): عندما تتطلب الوصفة دقة مطلقة، تعمل الأداة مثل الطاهي التقليدي، حيث تحسب كل شيء بشكل مثالي.
وضع "جيد بما يكفي" (التقريبي): عندما يمكن للوصفة أن تتحمل خطأً طفيفاً (مثل تقدير كمية الملح)، تنتقل الأداة إلى وضع آخر أسرع وأكثر استرخاءً. فهي تتخطى بعض الخطوات المملة والمستهلكة للطاقة لتوفير الوقود.
جهاز التحكم عن بعد (الـ mulcsr): يكمن السحر في هذا التصميم في أنه ليس عالقاً في وضع واحد. فالكمبيوتر لديه "جهاز تحكم عن بعد" خاص (سجل يسمى mulcsr) يمكن للبرمجيات استخدامه لضبط المستوى الدقيق المطلوب.
تخيل مفتاح تعتيم للضوء. يمكنك رفع الدقة إلى أقصى حد (100% مثالية) أو خفضها إلى 255 مستوى مختلفاً من "جيد بما يكفي".
يمكن للكمبيوتر التبديل بين هذه الإعدادات فوراً أثناء تشغيل البرنامج، دون إيقاف خط المعالجة أو تغيير الأجهزة.
كيف يعمل من الداخل: لجعل هذا التحول ممكناً، صمم المهندسون هذه الأداة من كتل أصغر ونمطية (تسمى الضواغط - compressors).
صمموا نوعين من هذه الكتل: إحداهما حذرة جداً ولكنها أكثر تعقيداً قليلاً، والأخرى أبسط وأسرع ولكنها تتخذ بعض "الاختصارات".
من خلال المزج والتبديل بين هذه الكتل بناءً على إشارة جهاز التحكم عن بعد، صنعوا مضاعفاً بـ 32 بت يمكنه التعامل مع كل شيء، بدءاً من الرياضيات الثقيلة وصولاً إلى التقديرات السريعة والموفرة للطاقة.
النتائج: توفير الطاقة دون فقدان السرعة عندما اختبروا هذه الأداة الجديدة في معالج قياسي (نواة RISC-V، وهي تشبه محرك مفتوح المصدر شائع للأجهزة الصغيرة):
توفير الطاقة: عند العمل في وضع "جيد بما يكفي"، استهلكت الأداة طاقة أقل بنسبة 62% إلى 68% مقارنة بالأداة المثالية التقليدية. وحتى في "الوضع المثالي"، كانت أكثر كفاءة بنسبة 44% إلى 52% لأن التصميم نفسه كان انسيابياً.
السرعة: لم يؤدِ ذلك إلى إبطاء العمل. فقد استمر المعالج في العمل بنفس السرعة (1.89 DMIPS/MHz).
اختبارات العالم الحقيقي: اختبروا الأداة على مهام مثل "ضرب المصفوفات" (الرياضيات وراء الذكاء الاصطناعي) و"التفاف 2D" (الرياضيات وراء معالجة الصور). في هذه الاختبارات، وفرت الأداة الجديدة ما يصل إلى 63% من إجمالي الطاقة اللازمة لتشغيل البرنامج.
الخلاصة تقدم هذه الورقة البحثية ترقية للأجهزة (Hardware) للأجهزة الصغيرة التي تعمل بالبطارية (مثل الكاميرات الذكية أو المستشعرات). فهي تستبدل الحاسبة القديمة والجامدة ذات "الرياضيات المثالية" بحاسبة مرنة وموفرة للطاقة تعرف متى تكون دقيقة ومتى تأخذ طريقاً مختصراً. والنتيجة هي معالج يمكنه تنفيذ مهام الذكاء الاصطناعي المعقدة لفترة أطول بكثير على شحنة بطارية واحدة، دون أن يلاحظ المستخدم أبداً أي انخفاض في الجودة.
ملخص تقني: بنية مضاعف قابلة لإعادة التشكيل للتطبيقات المقاومة للأخطاء في نواة RISC-V
بيان المشكلة تعد الشبكات العصبية (NNs) بالغة الأهمية للرؤية الحاسوبية والتعلم العميق، لكنها تواجه تحديات كبيرة في النشر على الأجهزة المدمجة ذات الطاقة المحدودة بسبب تعقيدها الحسابي العالي. وبينما تظهر الشبكات العصبية قدرة متأصلة على تحمل الخطأ — حيث لا تؤدي الأخطاء الحسابية الطفيفة غالبًا إلى تدهور جودة المخرجات — فإن تصميمات الأجهزة التقليدية تعطي الأولوية للدقة المطلقة، مما يؤدي إلى استهلاك غير ضروري للطاقة. كما أن حلول الحوسبة التقريبية الحالية تعتمد غالبًا على تصميمات ثابتة ذات دقة محددة تفتقر إلى المرونة أثناء وقت التشغيل، مما يجعلها غير فعالة لأعباء العمل الديناميكية حيث تختلف الحساسية للخطأ عبر الطبقات أو التطبيقات المختلفة. علاوة على ذلك، يظل دمج التقريب في خطوط معالجة المعالجات القياسية دون التضحية بالأداء أو اشتراط تعديلات هيكلية يمثل تحديًا.
المنهجية يقترح المؤلفون بنية مضاعف قابلة لإعادة التشكيل في وقت التشغيل مدمجة في نواة phoeniX مفتوحة المصدر من نوع (RV32I(E)M). يعتمد التصميم على سجلات التحكم والحالة (CSRs) الموجودة في النواة لتمكين التبديل الديناميكي بين أوضاع الحساب الدقيق والتقريبي دون توقف خط المعالجة (pipeline stalls).
البنية: يستبدل التصميم المقترح وحدات المضاعف المنفصلة (الدقيقة والتقريبية) في النواة بوحدة مضاعف واحدة بقدرة 32 بت قابلة لإعادة التشكيل في وقت التشغيل. يتم التحكم في هذه الوحدة عبر سجل CSR مخصص (mulcsr عند العنوان 0x801)، والذي يسمح بـ 255 مستوى مختلفًا من التقريب.
تصميم الدائرة: يكمن جوهر قابلية إعادة التشكيل في تصميمين مبتكرين لضاغط 4:2:
الضاغط القائم على الجمع المزدوج (DFC): مبني من جامع كامل قابل لإعادة التشكيل (RFA)، ويوفر 13 تركيبة مخرجات خاطئة من أصل 32 حالة بمسافات خطأ تبلغ ±1 و -2.
الضاغط القائم على التكديس الفردي (SSC): مُنفذ باستخدام منطق التكديس أحادي المرحلة، ويظهر 8 حالات خاطئة فقط بحد أقصى لمسافة الخطأ قدره +1.
تنفيذ المضاعف: تُستخدم هذه الضواغط لإنشاء متغيرين للمضاعف بقدر 8 بت: وهما DFM (المضاعف القائم على الجمع المزدوج) و SSM (المضاعف القائم على التكديس الفردي). يتم تحقيق مضاعف 32 بت بشكل هرمي عن طريق تكرار وحدات 16 بت، والتي تتكون بدورها من كتل 8 بت. يسمح هذا الهيكل بتكوين مستويات التقريب بشكل مستقل لمختلف أجزاء النواتج الجزئية (مثل AL×BL و AH×BH) عبر حقول سجل mulcsr.
آلية التحكم: يتضمن سجل mulcsr علامة تمكين (enable flag) وإشارات تحكم في الخطأ بقدر 8 بت (البتات 3–26) لضبط مستوى التقريب ديناميكيًا. توضح قطعة برمجية بلغة التجميع (assembly) عينة لكتابة السجل لتكوين المضاعف قبل التنفيذ.
المساهمات الرئيسية
التكامل مع الأجهزة: تنفيذ معالج RV32I(E)M ثلاثي المراحل ومحسن بقدر 32 بت باستخدام سجلات RISC-V CSR القياسية للتحكم في التقريب في وقت التشغيل.
تصميم مضاعف قابل لإعادة التشكيل: تطوير وتنفيذ وحدة مضاعف واحدة تدعم 255 مستوى من التقريب، مما يلغي الزيادة في مساحة الهيكل الناتجة عن الوحدات المزدوجة الثابتة.
التقييم على مستوى النظام: تحليل شامل للتقريب في وقت التشغيل على مستوى النواة للتطبيقات المقاومة للأخطاء، مما يوضح المقايضات بين كفاءة الطاقة والدقة.
مقاييس الأداء: تحقيق تحسينات كبيرة في الطاقة، وتحديدًا 1.21 بيكوجول لكل تعليمة لعملية ضرب المصفوفات في الوضع التقريبي، مما يمثل تحسنًا بنسبة 67% مقارنة بالتنفيذات الدقيقة.
النتائج تم تصنيع التصميم باستخدام Cadence Genus بتقنية UMC 90nm عند درجة حرارة 25 مئوية.
على مستوى المكونات: حقق ضاغط SSC تحسنًا في الطاقة بنسبة 8.6% مع معدل خطأ أقل (8/32) مقارنة بـ DFC (معدل خطأ 13/32، وتحسن طاقة بنسبة 10%).
على مستوى المضاعف: في الوضع التقريبي، حقق DFM توفيرًا في الطاقة بنسبة 28%، بينما حقق SSM توفيرًا بنسبة 23% مقارنة بمضاعفات Dadda الدقيقة.
على مستوى النواة: أدى استبدال وحدتي المضاعف بوحدة واحدة قابلة لإعادة التشكيل إلى تقليل المساحة بنسبة 13% و تقليل استهلاك الطاقة بنسبة 11% للنواة بأكملها، مع الحفاظ على أداء حسابي يبلغ 1.89 DMIPS/MHz.
اختبارات الأداء (Benchmarks): أظهرت التقييمات على أعباء العمل المتحملة للخطأ (الالتفاف ثنائي الأبعاد 2D convolution، ضرب المصفوفات، العاملية Factorial، ومرشحات FIR/IIR) ما يلي:
تقليل القدرة: انخفاض بنسبة 44%–52% في الوضع الدقيق و 62%–68% في الوضع التقريبي مقارنة بالتصميم الأصلي الدقيق فقط.
كفاءة الطاقة: تقليل في استهلاك الطاقة يصل إلى 63% لمهام ضرب المصفوفات.
وقت التنفيذ: حافظ الوضع التقريبي على أوقات تنفيذ مماثلة للوضع الدقيق، مع عدم ملاحظة أي عقوبة زمنية (latency penalty) كبيرة في الاختبارات.
الأهمية يزعم البحث أن هذه البنية توفر حلاً قابلًا للتوسع وفعالًا لنشر الذكاء الاصطنا edge AI حيث تكون الطاقة قيدًا أساسيًا. من خلال تمكين التحكم الدقيق في وقت التشغيل على الدقة العددية عبر سجلات المعالج القياسية، يسمح التصميم للأنظمة المدمجة بالتكيف مع توفير الطاقة مقابل الدقة بناءً على متطلبات عبء العمل المحدد. إن دمج الأجهزة الدقيقة والتقريبية في وحدة واحدة يعالج مشكلات مساحة الهيكل واستهلاك الطاقة الناتجة عن نهج الوحدات المزدوجة السابقة، مما يؤكد فعالية التقريب العتادي التكيفي للتطبيقات المتحملة للخطأ مثل استدلال الشبكات العصبية.