مايكرو بليز
تحتاج هذه المقالة إلى مصادر إضافية للتحقق . ( أغسطس 2018 ) |
| مصمم | زيلينكس |
|---|---|
| أجزاء | 32 بت / 64 بت (32 → 64) |
| إصدار | 11.0 |
| تصميم | ريسك |
| الترميز | مُثَبَّت |
| الانديانية | صغير (كبير) |
| يفتح | لا |
| السجلات | |
| 32 × 32 بت | |
MicroBlaze عبارة عن نواة معالج دقيقة ناعمة مصممة لمصفوفات البوابات القابلة للبرمجة ميدانيًا (FPGA) من Xilinx . وباعتبارها معالجًا نواة ناعمة، يتم تنفيذ MicroBlaze بالكامل في بنية الذاكرة والمنطق العامة للأغراض الخاصة بوحدات FPGA من 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 قادرًا على استضافة أنظمة التشغيل التي تتطلب ترقيمًا وحمايةً قائمين على الأجهزة، مثل نواة Linux . بخلاف ذلك، يقتصر الأمر على أنظمة التشغيل ذات الحماية المبسطة ونموذج الذاكرة الافتراضية، مثل FreeRTOS أو Linux بدون دعم MMU . إن الإنتاجية الإجمالية لـ MicroBlaze أقل بشكل كبير من نواة وحدة المعالجة المركزية الصلبة المماثلة (مثل ARM Cortex-A9 في Zynq ).
يعتمد MicroBlaze V على بنية RISC-V .
فيفادو
مجموعة Vivado Design Suite من Xilinx هي بيئة التطوير لبناء أنظمة المعالجات المضمنة الحالية MicroBlaze (أو ARM - انظر Zynq) في وحدات FPGA من Xilinx. استخدمت الإصدارات الأقدم حزمة التطوير EDK (مجموعة التطوير المضمنة) من Xilinx.
يستخدم المصممون Vivado IP Integrator لتكوين وبناء مواصفات الأجهزة لنظامهم المضمن (جوهر المعالج، وحدة تحكم الذاكرة، الأجهزة الطرفية I/O، إلخ.) يحول IP Integrator تصميم كتلة المصمم إلى وصف RTL قابل للتركيب ( Verilog أو VHDL )، ويقوم بأتمتة تنفيذ النظام المضمن (من RTL إلى ملف bitstream). بالنسبة لنواة MicroBlaze، يقوم Vivado بإنشاء قائمة شبكة مشفرة (غير قابلة للقراءة بواسطة الإنسان).
تتولى مجموعة أدوات التطوير البرمجية التعامل مع البرامج التي سيتم تنفيذها على النظام المضمن. وبفضل سلسلة أدوات GNU ( GNU Compiler Collection و GNU Debugger )، تمكن مجموعة أدوات التطوير البرمجية المبرمجين من كتابة وتجميع وتصحيح أخطاء تطبيقات C/C++ لنظامهم المضمن. توفر أدوات Xilinx إمكانية تشغيل البرامج في المحاكاة، أو استخدام لوحة FPGA مناسبة للتنزيل والتنفيذ على النظام الفعلي.
يُمنح مشتري Vivado ترخيصًا دائمًا لاستخدام MicroBlaze في وحدات FPGA من Xilinx دون أي إتاوات متكررة. لا يمنح الترخيص الحق في استخدام MicroBlaze خارج أجهزة Xilinx.
تم توفير المترجمات البديلة وأدوات التطوير من Altium ولكن لا يزال تثبيت EDK والترخيص مطلوبين.
المصدر المفتوح
في يونيو 2009، أصبح MicroBlaze أول بنية وحدة معالجة مركزية ناعمة يتم دمجها في شجرة مصدر نواة Linux الرئيسية. تم تنفيذ هذا العمل بواسطة Michal Simek وبدعم من PetaLogix وXilinx.
اعتبارًا من سبتمبر 2009، تم أيضًا تقديم الدعم لأدوات MicroBlaze GNU إلى مستودعات الخط الرئيسي لمؤسسة البرمجيات الحرة. تم تضمين دعم MicroBlaze في إصدارات GCC بدءًا من الإصدار 4.6 [2]
تمت إضافة الدعم إلى LLVM في أبريل 2010، [3] ولكن تمت إزالته لاحقًا في يوليو 2013 [4] بسبب عدم وجود صيانته.
استنساخ
- aeMB، تم تنفيذه في Verilog، ترخيص LGPL
- مجموعة فرعية من OpenFire، تم تنفيذها في Verilog، ترخيص MIT
- MB-Lite، تم تنفيذه في VHDL، ترخيص LGPL
- MB-Lite+، تم تنفيذه في VHDL، ترخيص LGPL
- myBlaze، تم تنفيذه في MyHDL ، ترخيص LGPL
- SecretBlaze، تم تنفيذه في VHDL، ترخيص GPL
معالجات أخرى ناعمة
- نيوس الثاني
- تي إس كيه 3000
- إكستينسا
- شبكة ميكو 32
- قوس
- RISC-V (يتوفر عدد من النوى البرمجية مفتوحة المصدر. يتم توفير واحد على الأقل لـ Vivado.)
- ARM Cortex-M (تتوفر نوى Cortex-M1 وCortex-M3 الناعمة في Vivado)
انظر أيضا
- OpenCores - موطن للعديد من مشاريع المعالجات البرمجية مفتوحة المصدر
- بيكو بليز
- هندسة ناقل المتحكم الدقيق المتقدم § واجهة قابلة للتوسيع المتقدمة (AXI)
مراجع
- ^ Xilinx (21 أغسطس 2002). "ورقة بيانات المعالج الناعم MicroBlaze RISC 32-Bit" (PDF) .
- ^ "GCC 4.6 Release Series Changes, New Features, and Fixes". 2011-03-15 . تم الاسترجاع 2011-03-15 .
تمت إضافة الدعم لهدف Xilinx MicroBlaze softcore processing (microblaze-elf) المضمّن.
- ^ "ملاحظات إصدار LLVM 2.7". releases.llvm.org . تم الاسترجاع في 2019-04-07 .
- ^ كريستوفر، إيريك (2013-07-24). "[LLVMdev] إلغاء وإزالة الواجهة الخلفية لـ MBlaze" . تم الاسترجاع في 2019-04-07 .
روابط خارجية
- MicroBlaze على موقع Xilinx
