software-and-computer-engineering
دور السجلات في تنفيذ معجلات برامجيات المعدات الحاسوبية
Table of Contents
وقد أصبحت عوامل تسارع البرمجيات الصلبة لا غنى عنها في أعباء العمل الحديثة للاستخبارات الاصطناعية، من تدريب الشبكات العصبية الضخمة على إجراء عملية استطلاعية في الوقت الحقيقي على أجهزة الحافة، وهذه الشرائح المتخصصة تحقق تحسينات في الأداء وكفاءة الطاقة على وحدات الاستهلاك المكلورة للأغراض العامة، وذلك بتصميم متعاطفيها مع البيانات، وضبط المنطق الذي يكتنف الأنماط الرياضية المشتركة في مصفوفة رئيسية، والتكافلات، والكذبات.
والسجلات هي أصغر وأسرع عناصر الذاكرة في إطار مجهز أو معجل، وهي تعمل مباشرة داخل وحدات التجهيز، وتوفر إمكانية الوصول الفوري إلى البيانات التي يجري التلاعب بها بفعالية، وبدون ترتيب هرمي للسجلات يتسم بالكفاءة، فإن أكثر المعجلات تطورا ستتعرض للاختناق من خلال تصميم الذاكرة، ولا يمكنها تغذية وحداتها المحوسبة بالمعدل المطلوب.
(ب) سجلات التفاهم في النظم الرقمية
وقبل التخلّص من الاستخدامات الخاصة بمؤشرات الذكاء، من المفيد وضع السجلات وكيفية اختلافها عن تكنولوجيات الذاكرة الأخرى، والسجل هو عنصر تخزين ثنائي، يجري تنفيذه عادة بمسدسات أو مطاطية، ويمكن أن يحمل جزءاً أو أكثر من البيانات، وقد تُجمع السجلات في ملفات السجلات التي يمكن قراءتها من السجلات أو كتابتها على نحو متوازي.() وفي المحاليل الحديثة، قد تحتوي السجلات على رقم (26).
وما يُعدّ السجلات إلى جانب الشواهد أو الذاكرة الرئيسية هو سرعة وصولها، لأن السجلات تُدمج مادياً في نفس الرقاقة التي تُدمج بها الوحدات المنطقية الخبيثة، وتُبنى عادة بمنطق ثابت تماماً للدائرة، ويمكن قراءتها في دورة واحدة من ساعات العمل، وكثيراً ما تكون هذه السرعة في الثانية، إذ إن السجلات تتطلب قدراً كبيراً من المساحة الغذائية، وبالتالي فإن المحركات يجب أن تُصنِّع بعناية.
وتخدم السجلات عدة مهام أساسية في أي مجهز أو معجل:
- Operand storage:] They hold the source values that feed into arithmetic units during an instruction.
- Result buffering:] They temporarily capture the output of a computation before it is written back to memory or forwarded to another unit.
- Control state:] They store formation bits, mode settings, and pipeline control signals that determine the behavior of the datapath.
- Architectural state:] In a general-purpose core, programmer-visible registers define the machine state (e.g., program counter, stack pointer).
وفي سياق المعجلات في مجال التنفيذ، كثيرا ما تكون النقطة الأخيرة أقل أهمية لأن المعجلات لا يمكن برمجتها بصورة مباشرة من قبل مطور تطبيقات، بل إن ملف السجل يُعدّ خصيصاً بدرجة كبيرة لأنماط تدفق البيانات المحددة في حوسبات الشبكة العصبية.
دور السجلات في مسرعات برامجيات AI
أما المعجلات العاملة في مجال التنفيذ - سواء كانت وحدات تجهيز الرسوم البيانية، ووحدات تجهيز المستأجرين، والصفائف المجهزة في الميدان، أو الدوائر المتكاملة ذات التطبيقات المحددة، فهي شرط مشترك: يجب أن تجهز كميات ضخمة من البيانات بأقل قدر من الكفاءة، وهي اللبنات التي تجعل هذه الإمكانية ثلاثية.
"الدبابة الجميلة"
وتطبق المعجلات الحديثة للمبادرة البنيانات المتطورة التي يتم فيها فرز واحد )مثل التراكم المتعدد( في مراحل متعددة: عمليات التجميل، والتكتل، والتراكم، والنسخ، والسجلات بين كل مرحلة من مراحل الفرز المتوسط، وهذه التقنية، التي تسمى " السباكة " ، تسمح للمعجلات ببدء عملية جديدة كل دورة، حتى وإن كان كل منها مكتملا.
التغذية العالية النطاق للبيانات
وتمارس طبقات الشبكة العصبية عملياتها على المحاور: صفائف متعددة الأبعاد من الأرقام، مثلاً، يمكن أن تقرأ طبقة التطويع 3x3 مرشحاً، وجزءاً من خريطة سمية للمدخلات، ثم تقارن كمية المنتجات، وعدد العمليات التي تُقدم من البيانات المجهزة منخفض المستوى، مما يعني أن على المعجل أن يقدم بيانات في إطار أوسع من النطاقات لإبقاء أهدافه المضاعفة.
التداول والمراقبة المرنة
ويجب أن تدعم المعجلات العديد من هياكل الشبكات العصبية المختلفة: أحجام مختلفة من الطبقات، وأنواع البيانات، ووظائف الحفز، واستراتيجيات التمرين، بدلا من أن تُثبت هذه البارامترات، يخزنها المصممون في سجلات التحكم، ويمكن أن يحدد سجل التكوين أبعاد جهاز التصالح، أو التصلب، أو طريقة الرصيف، أو عدد المحركات التي تُحدث في ثغرة.
ملفات سجلات المحفوظات لمعجلات التنفيذ
وينطوي تصميم ملف سجل لمعجلات التنفيذ على مجموعة من المقايضة، خلافا لملف سجل وحدة تحليل البرامجيات، الذي يجب أن يدعم مجموعة محددة من السجلات العامة الغرض التي تُظهر في الوكالة الدولية للطاقة الذرية، يمكن تصميم ملف سجل المعجل وفقا لنمط تدفق البيانات من عبء العمل المستهدف.
ملفات سجل الناخبين
ويعتمد العديد من المعجلات نموذجاً للمبادرة أو نظام SIMD (التدمير المغنطيسي، البيانات المتعددة) حيث يعمل توجيه واحد على عناصر متعددة للبيانات في موازاة، وتستخدم هذه التصميمات ملفات سجلات ناقلات، صفائف متعددة المصارف تحمل ناقلات كاملة (مثل 128، 256، أو 512 عنصراً) ويمكن قراءة كل مصرف على حدة، مما يتيح زيادة عدد الموصلات في نفس الوقت.
Scratchpad Memories vs. Register Files
وهناك بديل مشترك لملف سجل مجهز بالمعدات هو ذاكرة خدش مجهزة بالبرمجيات، وفي بعض المعجلات - لا سيما تلك التي تستهدف أجهزة توليد الطاقة المنخفضة - ينتقل البرنامج صراحة إلى بيانات بين الذاكرة الرئيسية وملف للذاكرة المحلية، ويستخدم السجل فقط لتحقيق نتائج مؤقتة، غير أن الخط الفاصل بين ملف سجل كبير وسجل صغير للخدش هو غير واضح.
دعم السجلات والأخطار
وفي محركات الإعدام خارج نطاق النظام (العمل في وحدات التجهيز العام وبعض المعجلات في مجال التنفيذ) تستخدم إعادة التسميات في تسجيلات العزلة لإزالة المعالين الزائفين، ويحتوي ملف السجل المادي على سجلات أكثر من مجموعة السجل المعماري، مما يتيح للمعدات أن ترسم سجلات منطقية لسجلات مادية مختلفة لتجنب حدوث كوارث، وفي حين أن إعادة تسمية الإضافات المعقدة، فإنه يمكن أن يحسن استخدام وحدات التدريب الموحدة.
اعتبارات التصميم: السرعة، المنطقة، السلطة
ويقيد تصميم ملفات السجلات بفؤر VLSI الثلاث الكلاسيكية: السرعة، المنطقة، القوة، وبالنسبة لمعجلات التشغيل، فإن الأهداف تكون شديدة، ويجب أن يكون ملف السجل سريعاً بما يكفي لإطعام مجموعة مضاعفات قد تستخدم عشرات الآلاف من المضاعفات، وجميعها تعمل في أجهزة توليد الطاقة الكهربائية متعددة الوقت، وقد يستهلك سجلاً نموذجياً للقروض الصغيرة يُنفذ في عملية سحب حديثة تبلغ مساحتها 7 أمتار(2).
وللتخفيف من هذا، يستخدم المهندسون المعماريون عدة تقنيات:
- Banking and port reduction:] instead of building a single monolithic register file with many read/write ports, designers divide the file into multiple banks, each with fewer ports. The scheduler ensures that concur accesses fall into different banks, avoiding bank conflicts.
- Hierarchical register files:] Some designs use a small, ultra-fast register file (like a register cache) for frequently reused values, backed by a larger, slower register file. This exploits the temporal locality often found in neural network cycles.
- Power gating:] Unused register banks are turned off to save leakage power, which is especially important in mobile or edge accelerators.
- Datapath integration:] In extreme performance designs, registers are merged directly into the multiplier accumulator (MAC) cells. The MAC cell itself includes a pipeline register and a feedback register for accumulating partial sums. This eliminates the need for a separate, centralized register file and reduces wire delay.
السجلات في مصانع معينة للتعجيل
GPUs (NVIDIA, AMD)
وتُعد وحدات الشرطة العالمية مسرعات متوازية للغاية تعتمد على ملفات السجل الضخمة لدعم آلاف الخيوط المتزامنة، ويُحدِّد كل جهاز من أجهزة التتبع المتعددة في وحدة الخدمات العامة التابعة للمؤسسة العامة للنظم العالمية، ملفاً يحتوي على عشرات الآلاف من سجلات الاختباء ال32، وتُقسم هذه السجلات بين الخيوط (أو أجهزة الإنذار) في إطار نظام لضغط الاختباء يسمح بسحب صفري.
وحدات تجهيز المواضع (وحدة النقل المتعدد الوسائط في غوغل)
ويتبع وحدة تحليل البيانات في غوغل نهجا مختلفا: فهو يستخدم هيكلا هرميا من مستويين، وسجلا كبيرا من أجهزة التخزين ذات السعة 8 ميغابايت (أو أكبر) يسمى " مستودعات الرؤوس " التي ترشيح وتضع سجلات متراكمة للبيانات، وتضع حدا لملفات التخزين التراكمية التي تُستخدم في مواقع البوليستول.
RISC-V Vector extensions (e.g., SiFive Intelligence, Esperanto)
ويوفر تمديد نظام " RISC-V " (V) فترة مرنة ومحددة بالبرمجيات (VLEN) وتختلف عمليات التنفيذ في كيفية وضع سجلات للمحركات المعمارية في سجلات الملفات المادية، ويستخدم بعضها ملفاً واحداً ومتغيراً لسجلات التعبئة (VLEN) لكل سجل؛ بينما يقسم بعضها الآخر إلى مسارات متعددة.
معجلات مجهزة بقاعدة FPGA
وتوفِّر هذه المعايير معدات قابلة لإعادة التشكيل، وتُعد السجلات مورداً أساسياً، إذ يقترن كل حجرة منطقية تابعة للمؤسسة بنقطة انقلاب (سجلات لربط السجلات والسجلات الخاصة بسجلات الترددات العالية جداً) في إطار جهاز تسارع للثبات، حيث يُجمع ملف السجل من هذه المطوِّرات، ولأن النسيج قابل للبرمجة، يمكن تكييف نطاق الربط بين السجلات والمواصفات على وجه التحديد الدقيق.
الاتجاهات المستقبلية: حوزة وتصوير في الذاكرة القريبة من الشهر
ومع تزايد حجم وتعقيد نماذج نظام المعلومات الإدارية المتكامل، فإن تكلفة نقل البيانات من الذاكرة إلى المعجل قد تصبح الاختناقات السائدة، إذ أن أحد الاتجاهات الواعدة هو حوسبة شبه عسكرية، حيث يتم وضع التخزين المشابه للسجلات بالقرب من مصارف الذاكرة، وكثيرا ما تكون هذه البيانات جزءا من تصميمات الذاكرة المكدسة (مثلا، HBM).
وثمة اتجاه آخر يتمثل في استخدام ذاكرة مجهزة بالسجلات [(FLT:0)] في مسرعين مقترنين بشدة، وفي هذا المخطط، يمكن لوحدة منع الحمل أو مجهز المفاعل أن تقرأ وتكتب ملف سجل المعجل كما لو كانت منطقة مدمجة بالذاكرة، مما يتيح الاتصال السريع دون انقطاع، وهذا أمر مهم بصفة خاصة بالنسبة لسجلات التحكم والوضع التي يجب اقتراعها.
خاتمة
وتشكل السجلات لبنة أساسية من أدوات تسريع معدات الأجهزة التابعة للمبادرة، وهي توفر تخزين البيانات بسرعة وبيئة، مما يتيح خطوط الأنابيب العميقة، وتغذية البيانات ذات التردد العالي، والتحكم المرن اللازم لتحقيق الأداء الذي تتطلبه الشبكات العصبية الحديثة، ومن سجلات المتراكمات الصغيرة داخل كل خلية من خلايا الميكروفونات، التي تقدم ملفات ضخمة لسجلات التسارع في وحدات التوزيع العالمية، تمثل كل سجل ابتكارات متطورة
وبالنسبة للقراء الذين يسعون إلى فهم تقني أعمق، توفر الموارد الخارجية التالية سياقا إضافيا: