مايكروبلايز

يُعدّ MicroBlaze نواة معالج دقيق برمجية مصممة خصيصًا لمصفوفات البوابات المنطقية القابلة للبرمجة الميدانية (FPGA) من Xilinx . وباعتباره معالجًا برمجيًا، يتم تنفيذ MicroBlaze بالكامل ضمن ذاكرة الأغراض العامة وبنية المنطق الخاصة بمصفوفات البوابات المنطقية القابلة للبرمجة الميدانية من Xilinx.

تم طرح تقنية MicroBlaze في عام 2002. [ 1 ]

ملخص

من حيث بنية مجموعة التعليمات، يُشابه معالج MicroBlaze بنية DLX القائمة على معمارية RISC والموصوفة في كتاب شهير عن هندسة الحاسوب من تأليف باترسون وهينيسي . وباستثناءات قليلة، يستطيع معالج MicroBlaze إصدار تعليمة جديدة في كل دورة، محافظًا على إنتاجية دورة واحدة في معظم الظروف.

يتميز معالج MicroBlaze بنظام ربط متعدد الاستخدامات لدعم مجموعة متنوعة من التطبيقات المدمجة. ناقل الإدخال/الإخراج الرئيسي في MicroBlaze، وهو ناقل الربط AXI ، عبارة عن ناقل معاملات مُرتبط بذاكرة النظام مع إمكانية التحكم الرئيسي/التابع. كانت الإصدارات الأقدم من MicroBlaze تستخدم ناقل CoreConnect PLB. تتصل غالبية وحدات الملكية الفكرية (IP) المُقدمة من الموردين والجهات الخارجية بناقل AXI مباشرةً (أو عبر ناقل الربط AXI). للوصول إلى الذاكرة المحلية (ذاكرة الوصول العشوائي FPGA RAM )، يستخدم MicroBlaze ناقل LMB مخصصًا، مما يوفر تخزينًا سريعًا على الشريحة. يتم دعم المعالجات المساعدة المُعرّفة من قِبل المستخدم من خلال اتصالات AXI4-Stream مخصصة. يمكن لواجهة المعالج (المعالجات) المساعدة تسريع الخوارزميات كثيفة الحساب عن طريق تفريغ أجزاء من الحساب أو كله إلى وحدة أجهزة مصممة من قِبل المستخدم.

يمكن للمستخدم ضبط العديد من جوانب معالج MicroBlaze: حجم الذاكرة المؤقتة، وعمق خط الأنابيب (3 مراحل، أو 5 مراحل، أو 8 مراحل)، والأجهزة الطرفية المدمجة، ووحدة إدارة الذاكرة ، وواجهات ناقل البيانات. يُضحي الإصدار المُحسَّن من حيث المساحة من MicroBlaze، والذي يستخدم خط أنابيب من 3 مراحل، بتردد الساعة لتقليل مساحة المنطق. أما الإصدار المُحسَّن من حيث الأداء، فيُوسِّع خط أنابيب التنفيذ إلى 5 مراحل، مما يسمح بسرعات قصوى تتجاوز 700 ميجاهرتز (على عائلة Virtex UltraScale+ FPGA ). كما يُمكن إضافة/إزالة تعليمات المعالج الرئيسية ، التي نادراً ما تُستخدم ولكنها أكثر تكلفة في التنفيذ على مستوى الأجهزة، بشكل انتقائي (مثل الضرب والقسمة وعمليات الفاصلة العائمة). يُمكّن هذا التخصيص المطور من إجراء المفاضلات التصميمية المناسبة لمجموعة محددة من متطلبات أجهزة المضيف وبرامج التطبيقات.

بفضل وحدة إدارة الذاكرة، يستطيع معالج MicroBlaze استضافة أنظمة تشغيل تتطلب ترحيلًا وحمايةً للذاكرة على مستوى الأجهزة، مثل نواة لينكس . وإلا، فإنه يقتصر على أنظمة التشغيل ذات نموذج حماية وذاكرة افتراضية مبسط، مثل FreeRTOS أو لينكس بدون دعم وحدة إدارة الذاكرة . ويُعدّ معدل نقل البيانات الإجمالي لمعالج MicroBlaze أقل بكثير من معدل نقل البيانات لنواة معالج مركزية صلبة مماثلة (مثل ARM Cortex-A9 في Zynq ).

يعتمد معالج MicroBlaze V على بنية RISC-V .

وصلة الإرسال السريع أحادي الاتجاه (FSL) هي واجهة بعرض 32 بت على معالجات MicroBlaze . قنوات FSL هي واجهات أحادية الاتجاه لنقل البيانات من نقطة إلى نقطة. [ 2 ] يدعم معالج MicroBlaze ما يصل إلى ثماني قنوات FSL. [ 3 ] تتيح هذه الواجهة لمعالجات MicroBlaze التواصل مع الأجهزة الطرفية أو المعالجات الأخرى. [ 4 ] يمكن استخدام FSL لتوسيع وحدة تنفيذ المعالج باستخدام مسرعات أجهزة مخصصة بفضل واجهة مخصصة منخفضة زمن الوصول لخط أنابيب المعالج. بالإضافة إلى ذلك، يمكن استخدام قناة FSL نفسها لإرسال أو استقبال كلمات التحكم أو البيانات. الواجهة من نوع FIFO ، ويشير بت منفصل إلى ما إذا كانت الكلمة المرسلة أو المستلمة هي معلومات تحكم أو بيانات. [ 5 ] تتميز FSL بزمن وصول منخفض مقارنةً بناقل الأجهزة الطرفية المدمج في CoreConnect . [ 6 ]

فيفادو

تُعدّ مجموعة أدوات تصميم Vivado من Xilinx بيئة التطوير اللازمة لبناء أنظمة المعالجات المدمجة الحالية من نوع MicroBlaze (أو ARM - انظر Zynq) في دوائر FPGA من Xilinx. أما الإصدارات الأقدم فكانت تستخدم حزمة تطوير EDK (مجموعة أدوات التطوير المدمجة) من Xilinx.

يستخدم المصممون برنامج Vivado IP Integrator لتكوين وبناء مواصفات الأجهزة لنظامهم المدمج (معالج النواة، وحدة تحكم الذاكرة، وحدات الإدخال/الإخراج الطرفية، إلخ). يقوم برنامج IP Integrator بتحويل تصميم الكتلة الخاص بالمصمم إلى وصف RTL قابل للتصنيع ( Verilog أو VHDL )، ويقوم بأتمتة تنفيذ النظام المدمج (من RTL إلى ملف البتات). بالنسبة لنواة MicroBlaze، يقوم Vivado بإنشاء قائمة توصيلات مشفرة (غير قابلة للقراءة البشرية).

تتولى حزمة تطوير البرمجيات (SDK) إدارة البرامج التي ستُنفذ على النظام المُدمج. وبفضل استخدام مجموعة أدوات GNU ( مجموعة مُترجمات GNU ، ومُصحح أخطاء GNU )، تُمكّن حزمة تطوير البرمجيات المبرمجين من كتابة تطبيقات C/C++ وتجميعها وتصحيح أخطائها لأنظمتهم المُدمجة. وتُتيح أدوات Xilinx إمكانية تشغيل البرامج في بيئة محاكاة، أو استخدام لوحة FPGA مُناسبة لتنزيلها وتنفيذها على النظام الفعلي.

يحصل مشتري برنامج Vivado على ترخيص دائم لاستخدام MicroBlaze في معالجات Xilinx FPGA دون أي رسوم متكررة. ولا يمنح هذا الترخيص الحق في استخدام MicroBlaze خارج أجهزة Xilinx.

تم توفير برامج تجميع بديلة وأدوات تطوير من شركة Altium، ولكن لا يزال يلزم تثبيت EDK والحصول على ترخيص.

المصادر المفتوحة

في يونيو 2009، أصبحت MicroBlaze أول بنية معالج برمجي يتم دمجها في شجرة مصدر نواة لينكس الرئيسية. وقد أنجز هذا العمل ميخال سيميك بدعم من شركتي بيتا لوجيكس وزيلينكس.

في عام 2009، أُضيفت أدوات MicroBlaze GNU إلى مستودعات البرمجيات الحرة الرئيسية. ويُضمّن دعم MicroBlaze في إصدارات GCC بدءًا من الإصدار 4.6 [ 7 ].

تمت إضافة الدعم إلى LLVM في أبريل 2010، [ 8 ] ولكن تمت إزالته لاحقًا في يوليو 2013 [ 9 ] بسبب عدم وجود مسؤول صيانة.

المستنسخون

معالجات برمجية أخرى

انظر أيضاً

مراجع

  1. Xilinx (21 أغسطس 2002). "ورقة بيانات معالج MicroBlaze RISC 32-Bit Soft Processor" (PDF) .
  2. سبوث، برنارد إتش سي؛ فاوست، أوليفر؛ ألين، ألاستير آر. (2006). تصميم قائم على CSP محمول لأنظمة متعددة النوى مضمنة . هندسة العمليات المتصلة. أمستردام: دار نشر IOS. ص 127. ISBN  9781586036713.
  3. شومونت، باتريك ر. (27 نوفمبر 2012). مقدمة عملية لتصميم الأجهزة/البرمجيات . سبرينغر ساينس آند بيزنس ميديا. ص 330. ISBN  978-1-4614-3737-6تم الاطلاع عليه بتاريخ 2 أكتوبر 2025 .
  4. كريتز، موريتز؛ كوجل، أندرياس (2012). "لينكس على منصات FPGA: برمجيات تحكم لتوصيل الأجهزة الطرفية المخصصة" . مجلة ACM SIGBED Review . 9 (2): 12-16 . doi : 10.1145/2318836.2318838 . ISSN 1551-3688 . تاريخ الاسترجاع: 2 أكتوبر 2025 . 
  5. لازاني، ج. (2005). توسيع مجموعة التعليمات باستخدام معالج مايكروبليز . المؤتمر الدولي حول المنطق القابل للبرمجة الميدانية وتطبيقاته. معهد مهندسي الكهرباء والإلكترونيات. الصفحات 729-730 . doi : 10.1109/FPL.2005.1515829 . ISBN  978-0-7803-9362-2.
  6. وو، ليمينغ؛ ليو، جونشيو؛ لو، يولينغ (2009). تطبيق وتقييم أسلوب التصميم المشترك للأجهزة والبرمجيات لمعالجة الصور السريعة عبر FPGA . المؤتمر الدولي حول الذكاء الحسابي وهندسة البرمجيات. ص 1-4. doi : 10.1109/CISE.2009.5365959 . 
  7. "تغييرات سلسلة إصدارات GCC 4.6، والميزات الجديدة، والإصلاحات" . 15-03-2011 . تم الاطلاع عليه بتاريخ 15-03-2011 . تمت إضافة دعم لمعالج Xilinx MicroBlaze ذي النواة البرمجية (microblaze-elf) كهدف مضمن.
  8. "ملاحظات إصدار LLVM 2.7" . releases.llvm.org . تم الاطلاع عليه بتاريخ 7 أبريل 2019 .
  9. كريستوفر، إريك (24 يوليو 2013). " [ LLVMdev ] إيقاف وإزالة الواجهة الخلفية لـ MBlaze" . تم الاسترجاع في 7 أبريل 2019 .